Showing preview only (7,713K chars total). Download the full file or copy to clipboard to get everything.
Repository: modstart-lib/ueditor-plus
Branch: master
Commit: 189c08b30f02
Files: 505
Total size: 7.1 MB
Directory structure:
gitextract_jbuiie7d/
├── .babelrc
├── .editorconfig
├── .gitee/
│ └── ISSUE_TEMPLATE/
│ ├── bug.yml
│ ├── config.yml
│ └── feature.yml
├── .gitignore
├── .nvmrc
├── Gruntfile.js
├── LICENSE
├── Makefile
├── README.md
├── _demo_server/
│ └── handle.php
├── _examples/
│ ├── addCustomizeButton.js
│ ├── addCustomizeCombox.js
│ ├── addCustomizeDialog.js
│ ├── bugTest.html
│ ├── completeDemo.html
│ ├── customPluginDemo.html
│ ├── customToolbarDemo.html
│ ├── customizeDialogPage.html
│ ├── customizeToolbarUIDemo.html
│ ├── editor_api.js
│ ├── example.js
│ ├── filterRuleDemo.html
│ ├── highlightDemo.html
│ ├── index.html
│ ├── jqueryCompleteDemo.html
│ ├── jqueryValidation.html
│ ├── multiDemo.html
│ ├── multiEditorWithOneInstance.html
│ ├── renderInTable.html
│ ├── resetDemo.html
│ ├── sectionDemo.html
│ ├── setWidthHeightDemo.html
│ ├── simpleDemo.html
│ ├── sortableDemo.html
│ ├── style.css
│ ├── submitFormDemo.html
│ ├── textareaDemo.html
│ └── uparsedemo.html
├── _examples-integrate/
│ ├── reactx/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ ├── robots.txt
│ │ │ └── static/
│ │ │ └── UEditorPlus/
│ │ │ ├── dialogs/
│ │ │ │ ├── anchor/
│ │ │ │ │ └── anchor.html
│ │ │ │ ├── attachment/
│ │ │ │ │ ├── attachment.css
│ │ │ │ │ ├── attachment.html
│ │ │ │ │ └── attachment.js
│ │ │ │ ├── audio/
│ │ │ │ │ ├── audio.css
│ │ │ │ │ ├── audio.html
│ │ │ │ │ └── audio.js
│ │ │ │ ├── background/
│ │ │ │ │ ├── background.css
│ │ │ │ │ ├── background.html
│ │ │ │ │ └── background.js
│ │ │ │ ├── contentimport/
│ │ │ │ │ ├── contentimport.html
│ │ │ │ │ └── contentimport.js
│ │ │ │ ├── emotion/
│ │ │ │ │ ├── emotion.css
│ │ │ │ │ ├── emotion.html
│ │ │ │ │ └── emotion.js
│ │ │ │ ├── formula/
│ │ │ │ │ ├── formula.html
│ │ │ │ │ └── formula.js
│ │ │ │ ├── help/
│ │ │ │ │ ├── help.css
│ │ │ │ │ ├── help.html
│ │ │ │ │ └── help.js
│ │ │ │ ├── image/
│ │ │ │ │ ├── image.css
│ │ │ │ │ ├── image.html
│ │ │ │ │ └── image.js
│ │ │ │ ├── insertframe/
│ │ │ │ │ └── insertframe.html
│ │ │ │ ├── internal.js
│ │ │ │ ├── link/
│ │ │ │ │ └── link.html
│ │ │ │ ├── preview/
│ │ │ │ │ └── preview.html
│ │ │ │ ├── scrawl/
│ │ │ │ │ ├── scrawl.css
│ │ │ │ │ ├── scrawl.html
│ │ │ │ │ └── scrawl.js
│ │ │ │ ├── searchreplace/
│ │ │ │ │ ├── searchreplace.html
│ │ │ │ │ └── searchreplace.js
│ │ │ │ ├── spechars/
│ │ │ │ │ ├── spechars.html
│ │ │ │ │ └── spechars.js
│ │ │ │ ├── table/
│ │ │ │ │ ├── edittable.css
│ │ │ │ │ ├── edittable.html
│ │ │ │ │ ├── edittable.js
│ │ │ │ │ ├── edittd.html
│ │ │ │ │ └── edittip.html
│ │ │ │ ├── template/
│ │ │ │ │ ├── config.js
│ │ │ │ │ ├── template.css
│ │ │ │ │ ├── template.html
│ │ │ │ │ └── template.js
│ │ │ │ ├── video/
│ │ │ │ │ ├── video.css
│ │ │ │ │ ├── video.html
│ │ │ │ │ └── video.js
│ │ │ │ └── wordimage/
│ │ │ │ ├── wordimage.html
│ │ │ │ └── wordimage.js
│ │ │ ├── index.html
│ │ │ ├── lang/
│ │ │ │ ├── en/
│ │ │ │ │ └── en.js
│ │ │ │ └── zh-cn/
│ │ │ │ └── zh-cn.js
│ │ │ ├── plugins/
│ │ │ │ └── demo/
│ │ │ │ └── demo.js
│ │ │ ├── themes/
│ │ │ │ ├── default/
│ │ │ │ │ ├── css/
│ │ │ │ │ │ └── ueditor.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ └── dialogbase.css
│ │ │ │ └── iframe.css
│ │ │ ├── third-party/
│ │ │ │ ├── SyntaxHighlighter/
│ │ │ │ │ ├── shCore.js
│ │ │ │ │ └── shCoreDefault.css
│ │ │ │ ├── clipboard/
│ │ │ │ │ ├── clipboard.js
│ │ │ │ │ └── clipboard.swf
│ │ │ │ ├── codemirror/
│ │ │ │ │ ├── codemirror.css
│ │ │ │ │ └── codemirror.js
│ │ │ │ ├── jquery-1.10.2.js
│ │ │ │ ├── webuploader/
│ │ │ │ │ ├── webuploader.css
│ │ │ │ │ └── webuploader.js
│ │ │ │ └── zeroclipboard/
│ │ │ │ ├── ZeroClipboard.js
│ │ │ │ └── ZeroClipboard.swf
│ │ │ ├── ueditor.all.js
│ │ │ ├── ueditor.config.js
│ │ │ └── ueditor.parse.js
│ │ └── src/
│ │ ├── App.css
│ │ ├── App.js
│ │ ├── App.test.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── vue2/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── babel.config.js
│ │ ├── jsconfig.json
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ └── static/
│ │ │ └── UEditorPlus/
│ │ │ ├── dialogs/
│ │ │ │ ├── anchor/
│ │ │ │ │ └── anchor.html
│ │ │ │ ├── attachment/
│ │ │ │ │ ├── attachment.css
│ │ │ │ │ ├── attachment.html
│ │ │ │ │ └── attachment.js
│ │ │ │ ├── audio/
│ │ │ │ │ ├── audio.css
│ │ │ │ │ ├── audio.html
│ │ │ │ │ └── audio.js
│ │ │ │ ├── background/
│ │ │ │ │ ├── background.css
│ │ │ │ │ ├── background.html
│ │ │ │ │ └── background.js
│ │ │ │ ├── contentimport/
│ │ │ │ │ ├── contentimport.html
│ │ │ │ │ └── contentimport.js
│ │ │ │ ├── emotion/
│ │ │ │ │ ├── emotion.css
│ │ │ │ │ ├── emotion.html
│ │ │ │ │ └── emotion.js
│ │ │ │ ├── formula/
│ │ │ │ │ ├── formula.html
│ │ │ │ │ └── formula.js
│ │ │ │ ├── help/
│ │ │ │ │ ├── help.css
│ │ │ │ │ ├── help.html
│ │ │ │ │ └── help.js
│ │ │ │ ├── image/
│ │ │ │ │ ├── image.css
│ │ │ │ │ ├── image.html
│ │ │ │ │ └── image.js
│ │ │ │ ├── insertframe/
│ │ │ │ │ └── insertframe.html
│ │ │ │ ├── internal.js
│ │ │ │ ├── link/
│ │ │ │ │ └── link.html
│ │ │ │ ├── preview/
│ │ │ │ │ └── preview.html
│ │ │ │ ├── scrawl/
│ │ │ │ │ ├── scrawl.css
│ │ │ │ │ ├── scrawl.html
│ │ │ │ │ └── scrawl.js
│ │ │ │ ├── searchreplace/
│ │ │ │ │ ├── searchreplace.html
│ │ │ │ │ └── searchreplace.js
│ │ │ │ ├── spechars/
│ │ │ │ │ ├── spechars.html
│ │ │ │ │ └── spechars.js
│ │ │ │ ├── table/
│ │ │ │ │ ├── edittable.css
│ │ │ │ │ ├── edittable.html
│ │ │ │ │ ├── edittable.js
│ │ │ │ │ ├── edittd.html
│ │ │ │ │ └── edittip.html
│ │ │ │ ├── template/
│ │ │ │ │ ├── config.js
│ │ │ │ │ ├── template.css
│ │ │ │ │ ├── template.html
│ │ │ │ │ └── template.js
│ │ │ │ ├── video/
│ │ │ │ │ ├── video.css
│ │ │ │ │ ├── video.html
│ │ │ │ │ └── video.js
│ │ │ │ └── wordimage/
│ │ │ │ ├── wordimage.html
│ │ │ │ └── wordimage.js
│ │ │ ├── index.html
│ │ │ ├── lang/
│ │ │ │ ├── en/
│ │ │ │ │ └── en.js
│ │ │ │ └── zh-cn/
│ │ │ │ └── zh-cn.js
│ │ │ ├── plugins/
│ │ │ │ └── demo/
│ │ │ │ └── demo.js
│ │ │ ├── themes/
│ │ │ │ ├── default/
│ │ │ │ │ ├── css/
│ │ │ │ │ │ └── ueditor.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ └── dialogbase.css
│ │ │ │ └── iframe.css
│ │ │ ├── third-party/
│ │ │ │ ├── SyntaxHighlighter/
│ │ │ │ │ ├── shCore.js
│ │ │ │ │ └── shCoreDefault.css
│ │ │ │ ├── clipboard/
│ │ │ │ │ └── clipboard.js
│ │ │ │ ├── codemirror/
│ │ │ │ │ ├── codemirror.css
│ │ │ │ │ └── codemirror.js
│ │ │ │ ├── jquery-1.10.2.js
│ │ │ │ ├── webuploader/
│ │ │ │ │ ├── webuploader.css
│ │ │ │ │ └── webuploader.js
│ │ │ │ └── zeroclipboard/
│ │ │ │ └── ZeroClipboard.js
│ │ │ ├── ueditor.all.js
│ │ │ ├── ueditor.config.js
│ │ │ └── ueditor.parse.js
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ └── main.js
│ │ └── vue.config.js
│ └── vue3/
│ ├── .gitignore
│ ├── README.md
│ ├── babel.config.js
│ ├── jsconfig.json
│ ├── package.json
│ ├── public/
│ │ ├── index.html
│ │ └── static/
│ │ └── UEditorPlus/
│ │ ├── dialogs/
│ │ │ ├── anchor/
│ │ │ │ └── anchor.html
│ │ │ ├── attachment/
│ │ │ │ ├── attachment.css
│ │ │ │ ├── attachment.html
│ │ │ │ └── attachment.js
│ │ │ ├── audio/
│ │ │ │ ├── audio.css
│ │ │ │ ├── audio.html
│ │ │ │ └── audio.js
│ │ │ ├── background/
│ │ │ │ ├── background.css
│ │ │ │ ├── background.html
│ │ │ │ └── background.js
│ │ │ ├── contentimport/
│ │ │ │ ├── contentimport.html
│ │ │ │ └── contentimport.js
│ │ │ ├── emotion/
│ │ │ │ ├── emotion.css
│ │ │ │ ├── emotion.html
│ │ │ │ └── emotion.js
│ │ │ ├── formula/
│ │ │ │ ├── formula.html
│ │ │ │ └── formula.js
│ │ │ ├── help/
│ │ │ │ ├── help.css
│ │ │ │ ├── help.html
│ │ │ │ └── help.js
│ │ │ ├── image/
│ │ │ │ ├── image.css
│ │ │ │ ├── image.html
│ │ │ │ └── image.js
│ │ │ ├── insertframe/
│ │ │ │ └── insertframe.html
│ │ │ ├── internal.js
│ │ │ ├── link/
│ │ │ │ └── link.html
│ │ │ ├── preview/
│ │ │ │ └── preview.html
│ │ │ ├── scrawl/
│ │ │ │ ├── scrawl.css
│ │ │ │ ├── scrawl.html
│ │ │ │ └── scrawl.js
│ │ │ ├── searchreplace/
│ │ │ │ ├── searchreplace.html
│ │ │ │ └── searchreplace.js
│ │ │ ├── spechars/
│ │ │ │ ├── spechars.html
│ │ │ │ └── spechars.js
│ │ │ ├── table/
│ │ │ │ ├── edittable.css
│ │ │ │ ├── edittable.html
│ │ │ │ ├── edittable.js
│ │ │ │ ├── edittd.html
│ │ │ │ └── edittip.html
│ │ │ ├── template/
│ │ │ │ ├── config.js
│ │ │ │ ├── template.css
│ │ │ │ ├── template.html
│ │ │ │ └── template.js
│ │ │ ├── video/
│ │ │ │ ├── video.css
│ │ │ │ ├── video.html
│ │ │ │ └── video.js
│ │ │ └── wordimage/
│ │ │ ├── wordimage.html
│ │ │ └── wordimage.js
│ │ ├── index.html
│ │ ├── lang/
│ │ │ ├── en/
│ │ │ │ └── en.js
│ │ │ └── zh-cn/
│ │ │ └── zh-cn.js
│ │ ├── plugins/
│ │ │ └── demo/
│ │ │ └── demo.js
│ │ ├── themes/
│ │ │ ├── default/
│ │ │ │ ├── css/
│ │ │ │ │ └── ueditor.css
│ │ │ │ ├── dialog.css
│ │ │ │ └── dialogbase.css
│ │ │ └── iframe.css
│ │ ├── third-party/
│ │ │ ├── SyntaxHighlighter/
│ │ │ │ ├── shCore.js
│ │ │ │ └── shCoreDefault.css
│ │ │ ├── clipboard/
│ │ │ │ └── clipboard.js
│ │ │ ├── codemirror/
│ │ │ │ ├── codemirror.css
│ │ │ │ └── codemirror.js
│ │ │ ├── jquery-1.10.2.js
│ │ │ ├── webuploader/
│ │ │ │ ├── webuploader.css
│ │ │ │ └── webuploader.js
│ │ │ └── zeroclipboard/
│ │ │ └── ZeroClipboard.js
│ │ ├── ueditor.all.js
│ │ ├── ueditor.config.js
│ │ └── ueditor.parse.js
│ ├── src/
│ │ ├── App.vue
│ │ └── main.js
│ └── vue.config.js
├── _parse/
│ ├── background.js
│ ├── insertcode.js
│ ├── list.js
│ ├── parse.js
│ └── table.js
├── _src/
│ ├── adapter/
│ │ ├── editor.js
│ │ ├── editorui.js
│ │ └── message.js
│ ├── api.js
│ ├── core/
│ │ ├── Editor.defaultoptions.js
│ │ ├── Editor.js
│ │ ├── EventBase.js
│ │ ├── Range.js
│ │ ├── Selection.js
│ │ ├── ajax.js
│ │ ├── api.js
│ │ ├── browser.js
│ │ ├── dialog.js
│ │ ├── domUtils.js
│ │ ├── dtd.js
│ │ ├── filternode.js
│ │ ├── filterword.js
│ │ ├── htmlparser.js
│ │ ├── image.js
│ │ ├── keymap.js
│ │ ├── loadconfig.js
│ │ ├── localstorage.js
│ │ ├── node.js
│ │ ├── plugin.js
│ │ └── utils.js
│ ├── editor.js
│ ├── plugins/
│ │ ├── anchor.js
│ │ ├── audio.js
│ │ ├── autofloat.js
│ │ ├── autoheight.js
│ │ ├── autolink.js
│ │ ├── autosave.js
│ │ ├── autosubmit.js
│ │ ├── autotypeset.js
│ │ ├── autoupload.js
│ │ ├── background.js
│ │ ├── basestyle.js
│ │ ├── blockquote.js
│ │ ├── catchremoteimage.js
│ │ ├── cleardoc.js
│ │ ├── contextmenu.js
│ │ ├── convertcase.js
│ │ ├── copy.js
│ │ ├── customstyle.js
│ │ ├── defaultfilter.js
│ │ ├── directionality.js
│ │ ├── dragdrop.js
│ │ ├── elementpath.js
│ │ ├── enterkey.js
│ │ ├── fiximgclick.js
│ │ ├── font.js
│ │ ├── formatmatch.js
│ │ ├── formula.js
│ │ ├── horizontal.js
│ │ ├── iframe.js
│ │ ├── image.js
│ │ ├── indent.js
│ │ ├── insertcode.js
│ │ ├── insertfile.js
│ │ ├── inserthtml.js
│ │ ├── insertparagraph.js
│ │ ├── justify.js
│ │ ├── keystrokes.js
│ │ ├── letterspacing.js
│ │ ├── lineheight.js
│ │ ├── link.js
│ │ ├── list.js
│ │ ├── markdown-shortcut.js
│ │ ├── pagebreak.js
│ │ ├── paragraph.js
│ │ ├── paste.js
│ │ ├── preview.js
│ │ ├── print.js
│ │ ├── puretxtpaste.js
│ │ ├── quick-operate.js
│ │ ├── removeformat.js
│ │ ├── rowspacing.js
│ │ ├── scrawl.js
│ │ ├── searchreplace.js
│ │ ├── section.js
│ │ ├── selectall.js
│ │ ├── serverparam.js
│ │ ├── shortcutmenu.js
│ │ ├── simpleupload.js
│ │ ├── source.js
│ │ ├── table.action.js
│ │ ├── table.cmds.js
│ │ ├── table.core.js
│ │ ├── table.sort.js
│ │ ├── template.js
│ │ ├── time.js
│ │ ├── undo.js
│ │ ├── video.js
│ │ ├── wordcount.js
│ │ └── wordimage.js
│ └── ui/
│ ├── autotypesetbutton.js
│ ├── autotypesetpicker.js
│ ├── breakline.js
│ ├── button.js
│ ├── cellalignpicker.js
│ ├── colorbutton.js
│ ├── colorpicker.js
│ ├── combox.js
│ ├── dialog.js
│ ├── mask.js
│ ├── menu.js
│ ├── menubutton.js
│ ├── message.js
│ ├── multiMenu.js
│ ├── pastepicker.js
│ ├── popup.js
│ ├── quick-operate.js
│ ├── separator.js
│ ├── shortcutmenu.js
│ ├── splitbutton.js
│ ├── stateful.js
│ ├── tablebutton.js
│ ├── tablepicker.js
│ ├── toolbar.js
│ ├── ui.js
│ ├── uibase.js
│ └── uiutils.js
├── dialogs/
│ ├── ai/
│ │ ├── ai.html
│ │ └── ai.js
│ ├── anchor/
│ │ └── anchor.html
│ ├── attachment/
│ │ ├── attachment.css
│ │ ├── attachment.html
│ │ └── attachment.js
│ ├── audio/
│ │ ├── audio.css
│ │ ├── audio.html
│ │ └── audio.js
│ ├── background/
│ │ ├── background.css
│ │ ├── background.html
│ │ └── background.js
│ ├── contentimport/
│ │ ├── contentimport.html
│ │ └── contentimport.js
│ ├── emotion/
│ │ ├── emotion.css
│ │ ├── emotion.html
│ │ └── emotion.js
│ ├── formula/
│ │ ├── formula.html
│ │ └── formula.js
│ ├── help/
│ │ ├── help.css
│ │ ├── help.html
│ │ └── help.js
│ ├── image/
│ │ ├── image.css
│ │ ├── image.html
│ │ └── image.js
│ ├── insertframe/
│ │ └── insertframe.html
│ ├── internal.js
│ ├── link/
│ │ └── link.html
│ ├── preview/
│ │ └── preview.html
│ ├── scrawl/
│ │ ├── scrawl.css
│ │ ├── scrawl.html
│ │ └── scrawl.js
│ ├── searchreplace/
│ │ ├── searchreplace.html
│ │ └── searchreplace.js
│ ├── spechars/
│ │ ├── spechars.html
│ │ └── spechars.js
│ ├── table/
│ │ ├── edittable.css
│ │ ├── edittable.html
│ │ ├── edittable.js
│ │ ├── edittd.html
│ │ └── edittip.html
│ ├── template/
│ │ ├── config.js
│ │ ├── template.css
│ │ ├── template.html
│ │ └── template.js
│ ├── video/
│ │ ├── video.css
│ │ ├── video.html
│ │ └── video.js
│ └── wordimage/
│ ├── wordimage.html
│ └── wordimage.js
├── lang/
│ ├── en/
│ │ └── en.js
│ └── zh-cn/
│ └── zh-cn.js
├── package.json
├── plugins/
│ └── demo/
│ └── demo.js
├── scripts/
│ └── postBuild.js
├── themes/
│ ├── default/
│ │ ├── _css/
│ │ │ ├── autotypesetpicker.css
│ │ │ ├── button.css
│ │ │ ├── buttonicon.css
│ │ │ ├── cellalignpicker.css
│ │ │ ├── colorbutton.css
│ │ │ ├── colorpicker.css
│ │ │ ├── combox.css
│ │ │ ├── contextmenu.css
│ │ │ ├── dialog.css
│ │ │ ├── editor.css
│ │ │ ├── menu.css
│ │ │ ├── menubutton.css
│ │ │ ├── message.css
│ │ │ ├── multiMenu.css
│ │ │ ├── paragraphpicker.css
│ │ │ ├── pastepicker.css
│ │ │ ├── popup.css
│ │ │ ├── quick-operate.css
│ │ │ ├── separtor.css
│ │ │ ├── shortcutmenu.css
│ │ │ ├── splitbutton.css
│ │ │ ├── tablepicker.css
│ │ │ ├── toolbar.css
│ │ │ ├── ueditor.css
│ │ │ ├── uibase.css
│ │ │ └── uibase.less
│ │ ├── dialog.css
│ │ ├── dialog.less
│ │ ├── dialogbase.css
│ │ └── font/
│ │ └── iconfont.less
│ └── iframe.css
├── third-party/
│ ├── SyntaxHighlighter/
│ │ ├── shCore.js
│ │ └── shCoreDefault.css
│ ├── clipboard/
│ │ ├── clipboard.js
│ │ └── clipboard.swf
│ ├── codemirror/
│ │ ├── codemirror.css
│ │ └── codemirror.js
│ ├── jquery-1.10.2.js
│ ├── showdown.js
│ ├── vue.js
│ ├── webuploader/
│ │ ├── webuploader.css
│ │ └── webuploader.js
│ └── zeroclipboard/
│ ├── ZeroClipboard.js
│ └── ZeroClipboard.swf
├── ueditor.config.js
└── ueditor.parse.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .babelrc
================================================
{
"presets": ["@babel/preset-env"]
}
================================================
FILE: .editorconfig
================================================
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
[*.{html, js, css, less, scss, xml}]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
[*.yml]
indent_style = space
indent_size = 4
================================================
FILE: .gitee/ISSUE_TEMPLATE/bug.yml
================================================
name: Bug 反馈
description: 当你在代码中发现了一个 Bug,导致应用崩溃或抛出异常,或者有一个组件存在问题,或者某些地方看起来不对劲。
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
感谢对项目的支持与关注。在提出问题之前,请确保你已查看相关开发或使用文档:
- https://open.modstart.com/ueditor-plus
- type: textarea
attributes:
label: 如何复现
description: 请搭建一个最小可复现的 Demo 压缩为 zip 发送到 modstart@163.com ,否则我们提交的问题可能会被关闭。
placeholder: 请搭建一个最小可复现的 Demo 压缩为 zip 发送到 modstart@163.com ,否则我们提交的问题可能会被关闭。
validations:
required: true
================================================
FILE: .gitee/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
- name: UEditorPlus 文档中心
url: https://open.modstart.com/ueditor-plus
about: 提供基本功能使用、介绍和常见问题解答
================================================
FILE: .gitee/ISSUE_TEMPLATE/feature.yml
================================================
name: 功能建议
description: 对本项目提出一个功能建议
title: "[功能建议]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
感谢提出功能建议,我们将仔细考虑!
- type: textarea
id: related-problem
attributes:
label: 你的功能建议是否和某个问题相关?
description: 清晰并简洁地描述问题是什么,例如,当我...时,我总是感到困扰。
validations:
required: false
- type: textarea
id: desired-solution
attributes:
label: 你希望看到什么解决方案?
description: 清晰并简洁地描述你希望发生的事情。
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 你考虑过哪些替代方案?
description: 清晰并简洁地描述你考虑过的任何替代解决方案或功能。
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: 你有其他上下文或截图吗?
description: 在此处添加有关功能请求的任何其他上下文或截图。
validations:
required: false
- type: checkboxes
attributes:
label: 意向参与贡献
options:
- label: 我有意向参与具体功能的开发实现并将代码贡献回到上游社区
required: false
================================================
FILE: .gitignore
================================================
###############
# folder #
###############
.idea
log
jsp/upload
php/upload
net/upload
asp/upload
node/upload
ref/
_deleted/
###############
# fixed file #
###############
*.pptx
*.doc
*.docx
*.xml
/doc/
/dist/
/dist-min/
#################
## Eclipse
#################
*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath
#################
## Visual Studio
#################
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
# Build results
[Dd]ebug/
[Rr]elease/
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.vspscc
.builds
*.dotCover
## TODO: If you have NuGet Package Restore enabled, uncomment this
#packages/
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
# Visual Studio profiler
*.psess
*.vsp
# ReSharper is a .NET coding add-in
_ReSharper*
# Installshield output folder
[Ee]xpress
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish
# Others
[Bb]in
[Oo]bj
sql
TestResults
*.Cache
ClientBin
stylecop.*
~$*
*.dbmdl
Generated_Code #added for RIA/Silverlight projects
# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
############
## Windows
############
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini
#############
## Python
#############
*.py[co]
# Packages
*.egg
*.egg-info
eggs
parts
# bin
var
sdist
develop-eggs
.installed.cfg
# Installer logs
pip-log.txt
# Unit test / coverage reports
.coverage
.tox
#Translations
*.mo
#Mr Developer
.mr.developer.cfg
# Mac crap
.DS_Store
/node_modules
/.github/
/AGENTS.md
/openspec/
================================================
FILE: .nvmrc
================================================
14
================================================
FILE: Gruntfile.js
================================================
"use strict";
module.exports = function (grunt) {
var fs = require("fs"),
Util = {
jsBasePath: "_src/",
parseBasePath: "_parse/",
cssBasePath: "themes/default/_css/",
fetchScripts: function (readFile, basePath) {
var sources = fs.readFileSync(readFile);
sources = /\[([^\]]+\.js'[^\]]+)\]/.exec(sources);
sources = sources[1]
.replace(/\/\/.*\n/g, "\n")
.replace(/'|"|\n|\t|\s/g, "");
sources = sources.split(",").filter(o => o);
sources.forEach(function (filepath, index) {
sources[index] = basePath + filepath;
});
return sources;
},
fetchStyles: function () {
var sources = fs.readFileSync(this.cssBasePath + "ueditor.css"),
filepath = null,
pattern = /@import\s+([^;]+)*;/g,
src = [];
while ((filepath = pattern.exec(sources))) {
src.push(this.cssBasePath + filepath[1].replace(/'|"/g, ""));
}
return src;
}
},
packageJson = grunt.file.readJSON("package.json"),
distDir = "dist/",
distMinDir = "dist-min/",
banner = "/*! " + packageJson.title + " v" + packageJson.version + "*/\n";
//init
(function () {
distDir = "dist/";
})();
var dateHash = (new Date()).getTime();
grunt.initConfig({
pkg: packageJson,
concat: {
js: {
options: {
banner: "/*!\n * " +
packageJson.title +
"\n * version: " +
packageJson.version +
"\n*/\n(function(){\n\n",
footer: "\n\n})();\n",
process: function (src, s) {
var filename = s.substr(s.indexOf("/") + 1);
return (
"// " + filename + "\n" + src.replace("/_css/", "/css/") + "\n"
);
}
},
src: Util.fetchScripts("_examples/editor_api.js", Util.jsBasePath),
dest: distDir + "ueditor.all.js"
},
parse: {
options: {
banner: "/*!\n * " +
packageJson.title +
" parse\n * version: " +
packageJson.version +
"\n*/\n(function(){\n\n",
footer: "\n\n})();\n"
},
src: Util.fetchScripts("ueditor.parse.js", Util.parseBasePath),
dest: distDir + "ueditor.parse.js"
},
css: {
src: Util.fetchStyles(),
dest: distDir + "themes/default/css/ueditor.css"
}
},
cssmin: {
options: {
banner: banner
},
files: {
cwd: distDir,
src: [
'**/*.css',
],
dest: distMinDir,
expand: true
}
},
uglify: {
options: {
banner: banner
},
files: {
cwd: distDir,
src: [
'**/*.js',
'!third-party/zeroclipboard/ZeroClipboard.js',
'!dialogs/ai/ai.js',
'!ueditor.all.js',
],
dest: distMinDir,
expand: true
},
},
copy: {
base: {
files: [
{
src: [
"*.html",
"themes/iframe.css",
"themes/default/dialog.css",
"themes/default/dialogbase.css",
"themes/default/images/**",
"themes/default/exts/**",
// "themes/default/font/**",
"dialogs/**",
"lang/**",
"third-party/**",
"plugins/**",
],
dest: distDir
}
]
},
dist: {
files: [
{
cwd: distDir,
src: '**/*',
dest: distMinDir,
expand: true
}
]
},
demo: {
files: [
{
src: "_examples/completeDemo.html",
dest: distDir + "index.html"
}
]
},
},
transcoding: {
options: {
charset: 'utf-8'
},
src: [
distDir + "**/*.html",
distDir + "**/*.js",
distDir + "**/*.css",
distDir + "**/*.json",
]
},
replace: {
demo: {
src: distDir + "index.html",
overwrite: true,
replacements: [
{
from: /\.\.\//gi,
to: ""
},
{
from: "editor_api.js",
to: "ueditor.all.js"
}
]
},
},
clean: {
build: {
src: [
distDir + ".DS_Store",
distDir + "**/.DS_Store",
distDir + ".git",
distDir + "**/.git"
]
}
}
});
grunt.loadNpmTasks("grunt-text-replace");
grunt.loadNpmTasks("grunt-contrib-concat");
grunt.loadNpmTasks("grunt-contrib-cssmin");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.loadNpmTasks("grunt-transcoding");
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.registerTask("default", "UEditor build", function () {
var tasks = [
"concat",
"copy:base",
"copy:demo",
"replace:demo",
"copy:dist",
"uglify:files",
"cssmin:files",
"clean"
];
tasks.push("transcoding");
//config修改
updateConfigFile();
grunt.task.run(tasks);
});
function updateConfigFile() {
var filename = "ueditor.config.js",
file = grunt.file.read(filename);
//写入到dist
if (grunt.file.write(distDir + filename, file)) {
grunt.log.writeln("config file update success");
} else {
grunt.log.warn("config file update error");
}
}
};
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, "control" means (i) the power, direct or
indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.
"Object" form shall mean any form resulting from mechanical transformation or
translation of a Source form, including but not limited to compiled object code,
generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made
available under the License, as indicated by a copyright notice that is included
in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that
is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative Works
shall not include works that remain separable from, or merely link (or bind by
name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative Works
thereof, that is intentionally submitted to Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity authorized to submit
on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor for
the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such
Derivative Works in Source or Object form.
3. Grant of Patent License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable (except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
such license applies only to those patent claims licensable by such Contributor
that are necessarily infringed by their Contribution(s) alone or by combination
of their Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
Contribution incorporated within the Work constitutes direct or contributory
patent infringement, then any patent licenses granted to You under this License
for that Work shall terminate as of the date such litigation is filed.
4. Redistribution.
You may reproduce and distribute copies of the Work or Derivative Works thereof
in any medium, with or without modifications, and in Source or Object form,
provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of
this License; and
You must cause any modified files to carry prominent notices stating that You
changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source form
of the Work, excluding those notices that do not pertain to any part of the
Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any
Derivative Works that You distribute must include a readable copy of the
attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the
following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of
the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work,
provided that such additional attribution notices cannot be construed as
modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted
for inclusion in the Work by You to the Licensor shall be under the terms and
conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of
any separate license agreement you may have executed with Licensor regarding
such Contributions.
6. Trademarks.
This License does not grant permission to use the trade names, trademarks,
service marks, or product names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty.
Unless required by applicable law or agreed to in writing, Licensor provides the
Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
including, without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
solely responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.
8. Limitation of Liability.
In no event and under no legal theory, whether in tort (including negligence),
contract, or otherwise, unless required by applicable law (such as deliberate
and grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special, incidental,
or consequential damages of any character arising as a result of this License or
out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
other liability obligations and/or rights consistent with this License. However,
in accepting such obligations, You may act only on Your own behalf and on Your
sole responsibility, not on behalf of any other Contributor, and only if You
agree to indemnify, defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your
accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "{}" replaced with your own
identifying information. (Don't include the brackets!) The text should be
enclosed in the appropriate comment syntax for the file format. We also
recommend that a file or class name and description of purpose be included on
the same "printed page" as the copyright notice for easier identification within
third-party archives.
Copyright 2017 Karson
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: Makefile
================================================
prepare:
npm install
build:
rm -rfv ./dist/; \
rm -rfv ./dist-min/; \
grunt default --force; \
node ./scripts/postBuild.js; \
uglifyjs -o dist-min/ueditor.all.js dist/ueditor.all.js; \
npx babel dist/dialogs/ai/ai.js -o dist/dialogs/ai/ai.js; \
uglifyjs -o dist-min/dialogs/ai/ai.js dist/dialogs/ai/ai.js;
================================================
FILE: README.md
================================================
# UEditor Plus
基于 UEditor 二次开发的富文本编辑器,让UEditor重新焕发活力

[](https://github.com/modstart-lib/ueditor-plus)
[](https://gitee.com/modstart-lib/ueditor-plus)
[](https://gitcode.com/modstart-lib/ueditor-plus)
> `/dist/` 和 `/dist-min/` 目录分别为构建的非压缩和压缩版代码,可直接使用
## 功能亮点
- 支持文档一键导入,支持Word文档(docx)、Markdown文档(md)文档
- 全新的UI外观,使用字体图标替换原有图片图标
- 移除过时、无用的插件支持,不断完善使用体验
- 图片、文件、视频上传配置化定制增强
- 演示界面重构,右上角可直接查看当前演示界面代码
- 兼容现有UEditor,实现无缝切换
## 相关链接
- 在线演示:[https://open.modstart.com/ueditor-plus/_examples/](https://open.modstart.com/ueditor-plus/_examples/)
- 使用文档: [https://open.modstart.com/ueditor-plus](https://open.modstart.com/ueditor-plus)
## 使用遇到问题
自开源以来,UEditor Plus 已经被大家广泛关注,也收到了很多反馈。
为提高问题解决的效率,在提交问题时,请大家自行搭建一个最小可复现的环境代码(`zip` 压缩包 或 `git` 仓库地址),不提供的问题或者 `issue` 将不予解决和解答。
## 使用教程
### 原生使用
```html
<script id="editor" type="text/plain" style="height:300px;"></script>
<script type="text/javascript" src="/path/to/UEditorPlus/ueditor.config.js"></script>
<script type="text/javascript" src="/path/to/UEditorPlus/ueditor.all.js"></script>
<script>
var ue = UE.getEditor('editor', {
// ... 更多配置
});
</script>
```
### vue2 使用
① 安装插件支持
```shell
npm i --save vue-ueditor-wrap@2.x
# 或
yarn add --save vue-ueditor-wrap@2.x
```
② 解压 UEditorPlus 到静态资源目录
复制 `dist-min` 到项目 `public/static/UEditorPlus/` 目录
③ 引入组件并使用
```html
<template>
<div>
<vue-ueditor-wrap v-model="content"
editor-id="editor"
:config="editorConfig"
:editorDependencies="['ueditor.config.js','ueditor.all.js']"
style="height:500px;"/>
</div>
</template>
<script>
import VueUeditorWrap from 'vue-ueditor-wrap'
export default {
components: {
VueUeditorWrap
},
data() {
return {
content: '<p>Hello UEditorPlus</p>',
editorConfig: {
// 后端服务地址,后端处理参考
// https://open.modstart.com/ueditor-plus/backend.html
serverUrl: '/api/path/to/server',
UEDITOR_HOME_URL: '/static/UEditorPlus/',
UEDITOR_CORS_URL: '/static/UEditorPlus/',
}
}
}
}
</script>
```
### vue3 使用
① 安装插件支持
```shell
npm i --save vue-ueditor-wrap@3.x
# 或
yarn add --save vue-ueditor-wrap@3.x
```
② 解压 UEditorPlus 到静态资源目录
复制 `dist-min` 到项目 `public/static/UEditorPlus/` 目录
③ 引入组件并使用
**main.js**
```javascript
import {createApp} from 'vue'
import App from './App.vue'
import VueUeditorWrap from 'vue-ueditor-wrap';
createApp(App).use(VueUeditorWrap).mount('#app')
```
**App.vue**
```html
<template>
<div>
<vue-ueditor-wrap v-model="content"
editor-id="editor"
:config="editorConfig"
:editorDependencies="['ueditor.config.js','ueditor.all.js']"
style="height:500px;"/>
</div>
</template>
<script setup>
import {ref} from 'vue';
const content = ref('<p>Hello UEditorPlus</p>');
const editorConfig = {
// 后端服务地址,后端处理参考
// https://open.modstart.com/ueditor-plus/backend.html
serverUrl: '/api/path/to/server',
UEDITOR_HOME_URL: '/static/UEditorPlus/',
UEDITOR_CORS_URL: '/static/UEditorPlus/',
}
</script>
```
### react 使用
① 安装插件支持
```shell
npm i --save react-ueditor-wrap
# 或
yarn add --save react-ueditor-wrap
```
② 解压 UEditorPlus 到静态资源目录
复制 `dist-min` 到项目 `public/static/UEditorPlus/` 目录
③ 引入组件并使用
```jsx
import RcUeditor from 'react-ueditor-wrap';
function App() {
const hanldeChage = (value) => {
console.log('RcUeditor', value);
}
return (
<div className="App">
<div style={{margin: '0 auto', maxWidth: '800px'}}>
<RcUeditor
value={'<p>Hello UEditorPlus</p>'}
ueditorUrl={'/static/UEditorPlus/ueditor.all.js'}
ueditorConfigUrl={'/static/UEditorPlus/ueditor.config.js'}
editorConfig={{
// 后端服务地址,后端处理参考
// https://open.modstart.com/ueditor-plus/backend.html
initialFrameWidth: '100%',
serverUrl: '/api/path/to/server',
UEDITOR_HOME_URL: '/static/UEditorPlus/',
UEDITOR_CORS_URL: '/static/UEditorPlus/',
}}
onChange={hanldeChage}/>
</div>
</div>
);
}
export default App;
```
## 关于Bug反馈与维护
- 众所周知 UEditor 使用的人数多,目前已经累积了N个Bug,开源不易需要大家共同维护
- 对于在实际使用中遇到的问题,如果急需解决推荐使用 [悬赏Issue](https://gitee.com/modstart-lib/ueditor-plus/reward_issues/new),这样让更多有能力的开发者有共同维护的动力
## ✉️ 使用交流
> 添加好友请备注 UEditorPlus
<table width="100%">
<thead>
<tr>
<th width="50%">微信交流群</th>
<th>QQ交流群</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<img style="width:100%;"
src="https://modstart.com/contact/ContactWechatGroup" />
</td>
<td>
<img style="width:100%;"
src="https://modstart.com/contact/ContactQQGroup" />
</td>
</tr>
</tbody>
</table>
## 二次开发
### 第一步,clone代码到本地
```shell
git clone https://gitee.com/modstart-lib/ueditor-plus.git
```
### 第二步,开始功能开发
使用浏览器打开 `_examples/index.html` 页面相关内容,完成功能开发
### 第三步,打包
```shell
npm install
grunt default
```
## UEditor相关链接
- UEditor 官网:[http://ueditor.baidu.com](http://ueditor.baidu.com)
- UEditor API 文档:[http://ueditor.baidu.com/doc](http://ueditor.baidu.com/doc)
- UEditor 文档:[http://fex.baidu.com/ueditor/](http://fex.baidu.com/ueditor/)
- UEditor API 文档:[http://ueditor.baidu.com/doc](http://ueditor.baidu.com/doc)
## 更新日志
- [https://open.modstart.com/ueditor-plus/change-log.html](https://open.modstart.com/ueditor-plus/change-log.html)
## 好项目推荐
- 开源数字人系统 [AigcPanel](https://aigcpanel.com)
- 智能桌面助理 [FocusAny](https://focusany.com)
- 安卓连接助手 [LinkAndroid](https://linkandroid.com)
- 快速开发框架 [ModStart](https://modstart.com)
- 企业内容建站系统 [ModStartCMS](https://modstart.com)
- 现代化个人博客系统 [ModStartBlog](https://modstart.com)
## 开源协议
- Apache 2.0
================================================
FILE: _demo_server/handle.php
================================================
<?php
date_default_timezone_set('Asia/Shanghai');
$config = [
// 上传图片配置项
"imageActionName" => "image",
"imageFieldName" => "file",
"imageMaxSize" => 1024 * 1024 * 10,
"imageAllowFiles" => ['.jpg', '.png', '.jpeg', '.gif'],
"imageCompressEnable" => true,
"imageCompressBorder" => 5000,
"imageInsertAlign" => "none",
"imageUrlPrefix" => "",
// 涂鸦图片上传配置项
"scrawlActionName" => "crawl",
"scrawlFieldName" => "file",
"scrawlMaxSize" => 1024 * 1024 * 10,
"scrawlUrlPrefix" => "",
"scrawlInsertAlign" => "none",
// 截图工具上传
"snapscreenActionName" => "snap",
"snapscreenUrlPrefix" => "",
"snapscreenInsertAlign" => "none",
// 抓取
"catcherLocalDomain" => [
"127.0.0.1",
"localhost",
],
"catcherActionName" => "catch",
"catcherFieldName" => "source",
"catcherUrlPrefix" => "",
"catcherMaxSize" => 1024 * 1024 * 10,
"catcherAllowFiles" => ['.jpg', '.png', '.jpeg'],
// 上传视频配置
"videoActionName" => "video",
"videoFieldName" => "file",
"videoUrlPrefix" => "",
"videoMaxSize" => 1024 * 1024 * 100,
"videoAllowFiles" => ['.mp4'],
// 上传音频配置
"audioActionName" => "audio",
"audioFieldName" => "file",
"audioUrlPrefix" => "",
"audioMaxSize" => 1024 * 1024 * 100,
"audioAllowFiles" => ['.mp3'],
// 上传文件配置
"fileActionName" => "file",
"fileFieldName" => "file",
"fileUrlPrefix" => "",
"fileMaxSize" => 1024 * 1024 * 100,
"fileAllowFiles" => ['.zip', '.pdf', '.doc'],
// 列出图片
"imageManagerActionName" => "listImage",
"imageManagerListSize" => 20,
"imageManagerUrlPrefix" => "",
"imageManagerInsertAlign" => "none",
"imageManagerAllowFiles" => ['.jpg', '.png', '.jpeg'],
// 列出指定目录下的文件
"fileManagerActionName" => "listFile",
"fileManagerUrlPrefix" => "",
"fileManagerListSize" => 20,
"fileManagerAllowFiles" => ['.zip', '.pdf', '.doc'],
//
"toolbarShows" => [
"ai" => true,
],
"shortcutMenuShows" => [
"ai" => true,
],
];
function output($data)
{
$callback = isset($_GET['callback']) ? $_GET['callback'] : null;
$data['_all'] = [
'POST' => $_POST,
'FILES' => $_FILES,
'GET' => $_GET,
];
if($callback){
header('Content-Type: application/javascript');
echo $callback . '(' . json_encode($data) . ');';
}else{
header('Content-Type: application/json');
echo json_encode($data);
}
exit();
}
$action = @$_GET['action'];
// var_dump($action);exit();
switch ($action) {
case 'showPost':
output($_POST);
break;
case 'image':
// 图片文件上传
// print_r($_FILES);
// output(['state' => '上传错误信息']);
// move uploaded file
//$file = @$_FILES['file'];
//if (empty($file)) {
// output(['state' => '上传错误信息']);
//}
//$ext = strtolower(strrchr($file['name'], '.'));
//if (!in_array($ext, $config['imageAllowFiles'])) {
// output(['state' => '上传文件类型不允许']);
//}
//$name = date('YmdHis') . $ext;
//move_uploaded_file($file['tmp_name'], $name);
sleep(1);
$name = isset($_POST['name']) ? $_POST['name'] : '';
output([
'state' => 'SUCCESS',
'url' => 'https://ms-assets.modstart.com/demo/modstart.jpg?name=' . urlencode($name),
]);
case 'listImage':
// 图片列表
$list = [];
for ($i = 0; $i < 20; $i++) {
$list[] = [
'url' => 'https://ms-assets.modstart.com/demo/modstart.jpg',
'mtime' => time(),
];
}
$result = [
"state" => "SUCCESS",
"list" => $list,
"start" => intval(@$_GET['start']),
"total" => 100
];
output($result);
case 'video':
// 上传视频
// print_r($_FILES);
// output(['state' => '上传错误信息']);
output(['state' => 'SUCCESS', 'url' => 'https://ms-assets.modstart.com/demo/modstart.mp4']);
case 'audio':
// 上传音频
// print_r($_FILES);
// output(['state' => '上传错误信息']);
output(['state' => 'SUCCESS', 'url' => 'https://ms-assets.modstart.com/demo/music.mp3']);
case 'file':
// 上传文件
// print_r($_FILES);
// output(['state' => '上传错误信息']);
output(['state' => 'SUCCESS', 'url' => 'https://ms-assets.modstart.com/demo/modstart.jpg']);
case 'listFile':
// 文件列表
$list = [];
for ($i = 0; $i < 20; $i++) {
$list[] = [
'url' => 'https://ms-assets.modstart.com/demo/modstart.jpg',
'mtime' => time(),
];
}
$result = [
"state" => "SUCCESS",
"list" => $list,
"start" => intval(@$_GET['start']),
"total" => 100
];
output($result);
case 'crawl':
// 涂鸦上传
// output(['state' => '上传错误信息']);
output(['state' => 'SUCCESS', 'url' => 'https://ms-assets.modstart.com/demo/modstart.jpg']);
case 'catch':
// 图片抓取
// output(['state' => '上传错误信息']);
$list = [];
$source = @$_POST['source'];
if (!is_array($source) || empty($source)) {
$source = [];
}
foreach ($source as $imgUrl) {
$list[] = [
'state' => 'SUCCESS',
'url' => 'https://ms-assets.modstart.com/demo/modstart.jpg',
'size' => 100,
'title' => 'title',
'original' => '',
'source' => htmlspecialchars($imgUrl),
];
}
output(['state' => 'SUCCESS', 'list' => $list]);
default:
output($config);
}
================================================
FILE: _examples/addCustomizeButton.js
================================================
UE.registerUI('button', function (editor, uiName) {
//注册按钮执行时的command命令,使用命令默认就会带有回退操作
editor.registerCommand(uiName, {
execCommand: function () {
alert('execCommand:' + uiName)
}
});
//创建一个button
var btn = new UE.ui.Button({
//按钮的名字
name: uiName,
//提示
title: uiName,
//需要添加的额外样式,指定icon图标,这里默认使用一个重复的icon
cssRules: 'background-position: -500px 0;',
//点击时执行的命令
onclick: function () {
//这里可以不用执行命令,做你自己的操作也可
editor.execCommand(uiName);
}
});
//当点到编辑内容上时,按钮要做的状态反射
editor.addListener('selectionchange', function () {
var state = editor.queryCommandState(uiName);
if (state == -1) {
btn.setDisabled(true);
btn.setChecked(false);
} else {
btn.setDisabled(false);
btn.setChecked(state);
}
});
//因为你是添加button,所以需要返回这个button
return btn;
}/*index 指定添加到工具栏上的那个位置,默认时追加到最后,editorId 指定这个UI是那个编辑器实例上的,默认是页面上所有的编辑器都会添加这个按钮*/);
//自定义引用样式例子
UE.registerUI('myblockquote', function (editor, uiName) {
editor.registerCommand(uiName, {
execCommand: function () {
this.execCommand('blockquote', {
"style": "border-left: 3px solid #E5E6E1; margin-left: 0px; padding-left: 5px; line-height:36px;"
});
}
});
var btn = new UE.ui.Button({
name: uiName,
title: '自定义引用',
cssRules: "background-position: -220px 0;",
onclick: function () {
editor.execCommand(uiName);
}
});
editor.addListener('selectionchange', function () {
console.log(this);
var state = editor.queryCommandState('blockquote');
if (state == -1) {
btn.setDisabled(true);
btn.setChecked(false);
} else {
btn.setDisabled(false);
btn.setChecked(state);
}
});
return btn;
});
================================================
FILE: _examples/addCustomizeCombox.js
================================================
UE.registerUI('combox', function (editor, uiName) {
//注册按钮执行时的command命令,用uiName作为command名字,使用命令默认就会带有回退操作
editor.registerCommand(uiName, {
execCommand: function (cmdName, value) {
//这里借用fontsize的命令
this.execCommand('fontsize', value + 'px')
},
queryCommandValue: function () {
//这里借用fontsize的查询命令
return this.queryCommandValue('fontsize')
}
});
//创建下拉菜单中的键值对,这里我用字体大小作为例子
var items = [];
for (var i = 0, ci; ci = [10, 11, 12, 14, 16, 18, 20, 24, 36][i++];) {
items.push({
//显示的条目
label: '字体:' + ci + 'px',
//选中条目后的返回值
value: ci,
//针对每个条目进行特殊的渲染
renderLabelHtml: function () {
//这个是希望每个条目的字体是不同的
return '<div class="edui-label %%-label" style="line-height:2;font-size:' +
this.value + 'px;">' + (this.label || '') + '</div>';
}
});
}
//创建下来框
var combox = new UE.ui.Combox({
//需要指定当前的编辑器实例
editor: editor,
//添加条目
items: items,
//当选中时要做的事情
onselect: function (t, index) {
//拿到选中条目的值
editor.execCommand(uiName, this.items[index].value);
},
//提示
title: uiName,
//当编辑器没有焦点时,combox默认显示的内容
initValue: uiName
});
editor.addListener('selectionchange', function (type, causeByUi, uiReady) {
if (!uiReady) {
var state = editor.queryCommandState(uiName);
if (state == -1) {
combox.setDisabled(true);
} else {
combox.setDisabled(false);
var value = editor.queryCommandValue(uiName);
if (!value) {
combox.setValue(uiName);
return;
}
//ie下从源码模式切换回来时,字体会带单引号,而且会有逗号
value && (value = value.replace(/['"]/g, '').split(',')[0]);
combox.setValue(value);
}
}
});
return combox;
}, 2/*index 指定添加到工具栏上的那个位置,默认时追加到最后,editorId 指定这个UI是那个编辑器实例上的,默认是页面上所有的编辑器都会添加这个按钮*/);
================================================
FILE: _examples/addCustomizeDialog.js
================================================
UE.registerUI('dialog', function (editor, uiName) {
//创建dialog
var dialog = new UE.ui.Dialog({
//指定弹出层中页面的路径,这里只能支持页面,因为跟addCustomizeDialog.js相同目录,所以无需加路径
iframeUrl: 'customizeDialogPage.html',
//需要指定当前的编辑器实例
editor: editor,
//指定dialog的名字
name: uiName,
//dialog的标题
title: "这是个测试浮层",
//指定dialog的外围样式
cssRules: "width:600px;height:300px;",
//如果给出了buttons就代表dialog有确定和取消
buttons: [
{
className: 'edui-okbutton',
label: '确定',
onclick: function () {
dialog.close(true);
}
},
{
className: 'edui-cancelbutton',
label: '取消',
onclick: function () {
dialog.close(false);
}
}
]
});
//参考addCustomizeButton.js
var btn = new UE.ui.Button({
name: 'dialogbutton' + uiName,
title: 'dialogbutton' + uiName,
//需要添加的额外样式,指定icon图标,这里默认使用一个重复的icon
cssRules: 'background-position: -500px 0;',
onclick: function () {
//渲染dialog
dialog.render();
dialog.open();
}
});
return btn;
}/*index 指定添加到工具栏上的那个位置,默认时追加到最后,editorId 指定这个UI是那个编辑器实例上的,默认是页面上所有的编辑器都会添加这个按钮*/);
================================================
FILE: _examples/bugTest.html
================================================
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="./example.js"></script>
<title></title>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
</head>
<body>
<input type="file" name="file"/>
<div id="container" style="margin:10px;padding:10px;border:1px solid; text-align:left; min-height:500px;"></div>
<script src="./../docx2html.min.js"></script>
<script>
const docx2html = require("docx2html");
document.querySelector('input[type=file]').addEventListener('change', function (e) {
docx2html(e.target.files[0], {container: document.querySelector("#container")})
.then(function (html) {
console.log(html);
});
});
</script>
</body>
</html>
================================================
FILE: _examples/completeDemo.html
================================================
<!doctype html>
<html>
<head>
<title>UEditorPlus 完整演示</title>
<meta name="viewport" content="width=device-width, minimum-scale=0.5, maximum-scale=5, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script type="text/javascript" charset="utf-8" src="../lang/zh-cn/zh-cn.js?{timestamp}"></script>
<script src="./../plugins/demo/demo.js"></script>
<script>
// window.UEDITOR_CONFIG.toolbars[0].push('undo');
</script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<style>
:root {
/*--ueditor-top-offset: 20px;*/
}
</style>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>完整示例</h1>
<div>
<script id="editor" type="text/plain" style="height:300px;">
<h1>
你好 UEditorPlus
</h1>
<p>
UEditorPlus 是基于 UEditor 二次开发的富文本编辑器,让 UEditor <span style="color: #E36C09;">焕<span style="color: #0070C0;">然</span><span style="color: #31859B;"><span style="color: #00B050;">一</span><span style="color: #FF0000;">新</span></span></span>
</p>
<table data-sort="sortDisabled">
<tbody>
<tr class="firstRow">
<td valign="top" style="word-break: break-all;" rowspan="1" colspan="3">
我是表格
</td>
</tr>
<tr>
<td width="273" valign="top" style="word-break: break-all;">
如果
</td>
<td width="273" valign="top" style="word-break: break-all;">
有一天
</td>
<td width="273" valign="top" style="word-break: break-all;">
我离开了
</td>
</tr>
<tr>
<td valign="top" colspan="1" rowspan="1" style="word-break: break-all;">
怎么才能
</td>
<td valign="top" colspan="1" rowspan="1" style="word-break: break-all;">
证明我
</td>
<td valign="top" colspan="1" rowspan="1" style="word-break: break-all;">
曾经来过
</td>
</tr>
</tbody>
</table>
<pre class="brush:html;toolbar:false"><div>
<span>这里是HTML标签</span>
</div></pre>
<h2>
公式支持
</h2>
<p>
<img src="https://r.latexeasy.com/image.svg?%5Cint%20%5Cfrac%7B1%7D%7Bx%7D%20dx%20%3D%20%5Cln%20%5Cleft%7C%20x%20%5Cright%7C%20%2B%20C"
data-formula-image="%5Cint%20%5Cfrac%7B1%7D%7Bx%7D%20dx%20%3D%20%5Cln%20%5Cleft%7C%20x%20%5Cright%7C%20%2B%20C"/>
</p>
<p>
<br/>
</p>
</script>
</div>
<div id="btns" style="margin-top:20px;height:2000px;">
<div>
<button onclick="alert(UE.getEditor('editor').getAllHtml())">获得整个html的内容</button>
<button onclick="alert(UE.getEditor('editor').getContent())">获得内容</button>
<button onclick="UE.getEditor('editor').setContent('<p>欢迎使用 UEditorPlus</p>', false)">写入内容</button>
<button onclick="UE.getEditor('editor').setContent('<p>欢迎使用 UEditorPlus</p>', true)">追加内容</button>
<button onclick="alert(UE.getEditor('editor').getContentTxt())">获得纯文本</button>
<button onclick="alert(UE.getEditor('editor').getPlainTxt())">获得带格式的纯文本</button>
<button onclick="alert(UE.getEditor('editor').hasContents())">判断是否有内容</button>
<button onclick="UE.getEditor('editor').focus()">使编辑器获得焦点</button>
<button onmousedown="isFocus()">编辑器是否获得焦点</button>
<button onmousedown="setBlur()">编辑器失去焦点</button>
<button onclick="getSelectText()">获得当前选中的文本</button>
<button onclick="UE.getEditor('editor').execCommand('insertHtml', '插入的内容')">插入内容</button>
<button onclick="UE.getEditor('editor').setEnabled()">设定可编辑</button>
<button onclick="UE.getEditor('editor').setDisabled('fullscreen')">设定不可编辑</button>
<button onclick="UE.getEditor('editor').setHide()">隐藏编辑器</button>
<button onclick="UE.getEditor('editor').setShow()">显示编辑器</button>
<button onclick="UE.getEditor('editor').setHeight(300)">设置固定高度</button>
<button onclick="UE.getEditor('editor')">创建编辑器</button>
<button onclick="UE.getEditor('editor').destroy()">销毁编辑器</button>
<button onclick="alert( UE.getEditor('editor').execCommand('get_auto_save_content') )">草稿箱-获取</button>
<button onclick="UE.getEditor('editor').execCommand('clear_auto_save_content'); alert('已清空草稿箱')">草稿箱-清空
</button>
<button onclick="UE.getEditor('editor').execCommand('set_auto_save_content'); alert('已保存')">草稿箱-立即保存
</button>
<button onclick="UE.getEditor('editor').execCommand('auto_save_restore')">草稿箱-恢复到编辑器</button>
</div>
</div>
<script type="text/javascript">
var ue = UE.getEditor('editor',{
// autoHeightEnabled: false,
// retainOnlyLabelPasted: true,
ai:{
// 自定义接入
driverRequest: function (option) {
console.log('模拟 AI 请求,参数如下:', option);
var texts = []
var i = 0;
var mock = function () {
var text = '测试' + (i++)
texts.push(text)
if (texts.length >= 10) {
// 调用 onFinish 方法表示结束
option.onFinish({code: 0, msg: 'ok', data: {text: texts.join("")}})
return
}
// 调用 onStream 方法模拟流式返回
option.onStream({code: 0, msg: 'ok', data: {text: text}})
setTimeout(mock, 50);
};
mock();
},
}
});
ue.on('contentchange', function () {
// console.log('contentchange', ue.getContent());
});
function isFocus(e) {
alert(UE.getEditor('editor').isFocus());
UE.dom.domUtils.preventDefault(e)
}
function setBlur(e) {
UE.getEditor('editor').blur();
UE.dom.domUtils.preventDefault(e)
}
function getSelectText() {
var range = UE.getEditor('editor').selection.getRange();
range.select();
var txt = UE.getEditor('editor').selection.getText();
alert(txt)
}
</script>
</div>
</body>
</html>
================================================
FILE: _examples/customPluginDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>UEditor自定义插件</h1>
<!--style给定宽度可以影响编辑器的最终宽度-->
<script type="text/plain" id="myEditor">
<p><img src="http://ueditor.baidu.com/website/images/banner-dl.png" alt=""></p>
<p>插件描述:选中图片,在其上单击,会改变图片的边框!</p>
</script>
<script type="text/javascript">
//创建一个在选中的图片单击时添加边框的插件,其实质就是在baidu.editor.plugins塞进一个闭包
UE.plugins["addborder"] = function () {
var me = this;
//创建一个改变图片边框的命令
me.commands["addborder"] = {
execCommand: function () {
//获取当前选区
var range = me.selection.getRange();
//选区没闭合的情况下操作
if (!range.collapsed) {
//图片判断
var img = range.getClosedNode();
if (img && img.tagName == "IMG") {
//点击切换图片边框
img.style.border = img.style.borderWidth == "5px" ? "1px" : "5px solid red";
}
}
}
};
//注册一个触发命令的事件,同学们可以在任意地放绑定触发此命令的事件
me.addListener('click', function () {
setTimeout(function () {
me.execCommand("addborder");
})
});
};
var editor_a = UE.getEditor('myEditor');
</script>
</div>
</body>
</html>
================================================
FILE: _examples/customToolbarDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<style type="text/css">
#editor_toolbar_box {
background: #F0F0EE;
padding: 2px;
}
#editor_iframe_holder {
border-top: 1px solid #CCC;
border-bottom: 1px solid #CCC;
}
</style>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>UEditorPlus自定义toolbar</h1>
<div id="editor">
<div id="editor_toolbar_box">
<div id="editor_toolbar">
<input id="bold" type="button" value="加粗" onclick="myeditor.execCommand('bold')"
style="height:24px;line-height:20px"/>
<input id="italic" type="button" value="加斜" onclick="myeditor.execCommand('italic')"
style="height:24px;line-height:20px"/>
<select id="fontfamily" onchange="myeditor.execCommand('fontfamily',this.value)">
<option value="宋体,simsun">宋体</option>
<option value="楷体,楷体_gb2312,simkai">楷体</option>
<option value="隶书,simli">隶书</option>
<option value="黑体,simhei">黑体</option>
<option value="andale mono,times">andale mono</option>
<option value="arial,helvetica,sans-serif">arial</option>
<option value="arial black,avant garde">arial black</option>
<option value="comic sans ms,sans-serif">comic sans ms</option>
</select>
<select id="fontsize" onchange="myeditor.execCommand('fontsize',this.value)">
<option value="10pt">10pt</option>
<option value="11pt">11pt</option>
<option value="12pt">12pt</option>
<option value="14pt">14pt</option>
<option value="16pt">16pt</option>
<option value="18pt">18pt</option>
<option value="20pt">20pt</option>
<option value="22pt">22pt</option>
<option value="24pt">24pt</option>
<option value="36pt">36pt</option>
</select>
<input type="button" value="插入html" onclick="insert()" style="height:24px;line-height:20px"/>
<input type="button" value="清除格式" onclick="myeditor.execCommand('removeformat')"
style="height:24px;line-height:20px"/>
<input type="button" value="获得编辑器内容" onclick="alert(myeditor.getContent())"
style="height:24px;line-height:20px"/>
<input type="button" value="获得编辑器纯文本内容" onclick="alert(myeditor.getContentTxt())"
style="height:24px;line-height:20px"/>
</div>
</div>
<div id="editor_iframe_holder"></div>
</div>
<script type="text/javascript" charset="utf-8">
function $G(id) {
return document.getElementById(id);
}
//实例化一个不带ui的编辑器,注意此处的实例化对象是baidu.editor下的Editor,而非baidu.editor.ui下的Editor
var myeditor = UE.getEditor('editor_iframe_holder', {
toolbars: [[]],
initialContent: '初始化内容',//初始化编辑器的内容
initialFrameHeight: 200
});
//给编辑器增加一个选中改变的事件,用来判断所选内容以及状态
myeditor.addListener('selectionchange', function () {
var cmdName = ['bold', 'italic'],//命令列表
fontName = ['fontfamily', 'fontsize'];//字体设置下拉框列表,此处选择其中两个
//查询每个命令当前的状态,并设置对应状态样式
var i = -1;
while (i++ < cmdName.length - 1) {
var state = myeditor.queryCommandState(cmdName[i]);
$G(cmdName[i]).style.color = state == 1 ? "red" : "";
}
//依据当前光标所在的字体改变下拉列表的选中值
i = -1;
while (i++ < fontName.length - 1) {
var fstate = myeditor.queryCommandValue(fontName[i]).toLowerCase();
var fselect = $G(fontName[i]);
for (var j = 0; j < fselect.options.length; j++) {
if (fselect.options[j].value.toLowerCase().indexOf(fstate.split(",")[0]) != -1) {
fselect.options[j].selected = "true";
}
}
}
});
//插入文本
function insert() {
var insertTxt = "插入的文本";
insertTxt = prompt("插入的内容", insertTxt);
insertTxt && myeditor.execCommand("inserthtml", insertTxt);
}
function execUnderline(cmd) {
myeditor.execCommand(cmd);
}
</script>
</div>
</body>
</html>
================================================
FILE: _examples/customizeDialogPage.html
================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<script src="./example.js"></script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<div class="content">
<h1>测试页面</h1>
</div>
<!--页面中一定要引入internal.js为了能直接使用当前打开dialog的实例变量-->
<!--internal.js默认是放到dialogs目录下的-->
<script type="text/javascript" src="../dialogs/internal.js"></script>
<script>
//可以直接使用以下全局变量
//当前打开dialog的实例变量
alert('editor: ' + editor);
//一些常用工具
alert('domUtils: ' + domUtils);
alert('utils: ' + utils);
alert('browser: ' + browser);
</script>
</div>
</body>
</html>
================================================
FILE: _examples/customizeToolbarUIDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<title>完整demo</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="utf-8" src="../lang/zh-cn/zh-cn.js?{timestamp}"></script>
<!--添加按钮-->
<script type="text/javascript" charset="utf-8" src="addCustomizeButton.js"></script>
<!--添加下拉菜单-->
<script type="text/javascript" charset="utf-8" src="addCustomizeCombox.js"></script>
<!--添加弹出层-->
<script type="text/javascript" charset="utf-8" src="addCustomizeDialog.js"></script>
<style type="text/css">
.clear {
clear: both;
}
div {
width: 100%;
}
</style>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>二次开发demo</h1>
<script id="editor" type="text/plain" style="height:300px;"></script>
</div>
</body>
<script type="text/javascript">
//实例化编辑器
//建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例
UE.getEditor('editor', {
//清空了工具栏
toolbars: [['combox', 'bold', 'button', 'dialog']]
});
</script>
</html>
================================================
FILE: _examples/editor_api.js
================================================
/**
* 开发版本的文件导入
*/
(function () {
var paths = [
'editor.js',
'core/browser.js',
'core/utils.js',
'core/EventBase.js',
'core/dtd.js',
'core/domUtils.js',
'core/Range.js',
'core/Selection.js',
'core/Editor.js',
'core/Editor.defaultoptions.js',
'core/loadconfig.js',
'core/ajax.js',
'core/api.js',
'core/image.js',
'core/dialog.js',
'core/filterword.js',
'core/node.js',
'core/htmlparser.js',
'core/filternode.js',
'core/plugin.js',
'core/keymap.js',
'core/localstorage.js',
'plugins/defaultfilter.js',
'plugins/inserthtml.js',
'plugins/autotypeset.js',
'plugins/autosubmit.js',
'plugins/background.js',
'plugins/image.js',
'plugins/justify.js',
'plugins/font.js',
'plugins/link.js',
'plugins/iframe.js',
'plugins/scrawl.js',
'plugins/removeformat.js',
'plugins/blockquote.js',
'plugins/convertcase.js',
'plugins/indent.js',
'plugins/print.js',
'plugins/preview.js',
'plugins/selectall.js',
'plugins/paragraph.js',
'plugins/directionality.js',
'plugins/horizontal.js',
'plugins/time.js',
'plugins/rowspacing.js',
'plugins/lineheight.js',
'plugins/insertcode.js',
'plugins/cleardoc.js',
'plugins/anchor.js',
'plugins/wordcount.js',
'plugins/pagebreak.js',
'plugins/wordimage.js',
'plugins/autosave.js',
'plugins/formula.js',
'plugins/dragdrop.js',
'plugins/undo.js',
'plugins/copy.js',
'plugins/paste.js',
'plugins/puretxtpaste.js',
'plugins/list.js',
'plugins/source.js',
'plugins/enterkey.js',
'plugins/keystrokes.js',
'plugins/fiximgclick.js',
'plugins/autolink.js',
'plugins/autoheight.js',
'plugins/autofloat.js',
'plugins/video.js',
'plugins/audio.js',
'plugins/table.core.js',
'plugins/table.cmds.js',
'plugins/table.action.js',
'plugins/table.sort.js',
'plugins/contextmenu.js',
'plugins/shortcutmenu.js',
'plugins/basestyle.js',
'plugins/elementpath.js',
'plugins/formatmatch.js',
'plugins/searchreplace.js',
'plugins/customstyle.js',
'plugins/catchremoteimage.js',
'plugins/insertparagraph.js',
'plugins/template.js',
'plugins/autoupload.js',
'plugins/section.js',
'plugins/simpleupload.js',
'plugins/serverparam.js',
'plugins/insertfile.js',
'plugins/markdown-shortcut.js',
'plugins/quick-operate.js',
'plugins/letterspacing.js',
'ui/ui.js',
'ui/uiutils.js',
'ui/uibase.js',
'ui/separator.js',
'ui/mask.js',
'ui/popup.js',
'ui/colorpicker.js',
'ui/tablepicker.js',
'ui/stateful.js',
'ui/button.js',
'ui/splitbutton.js',
'ui/colorbutton.js',
'ui/tablebutton.js',
'ui/autotypesetpicker.js',
'ui/autotypesetbutton.js',
'ui/cellalignpicker.js',
'ui/pastepicker.js',
'ui/toolbar.js',
'ui/quick-operate.js',
'ui/menu.js',
'ui/combox.js',
'ui/dialog.js',
'ui/menubutton.js',
'ui/multiMenu.js',
'ui/shortcutmenu.js',
'ui/breakline.js',
'ui/message.js',
'adapter/editorui.js',
'adapter/editor.js',
'adapter/message.js',
],
baseURL = '../_src/';
if (window.UEDITOR_HOME_URL) {
baseURL = window.UEDITOR_HOME_URL + '_src/';
}
for (var i = 0, pi; pi = paths[i++];) {
document.write('<script src="' + baseURL + pi + '?v20250415"></script>');
}
})();
================================================
FILE: _examples/example.js
================================================
if('open.modstart.com'===window.location.host){
window.UEDITOR_HOME_URL = 'https://open-cdn.modstart.com/ueditor-plus/'
window.UEDITOR_CORS_URL = 'https://open.modstart.com/ueditor-plus/'
}
================================================
FILE: _examples/filterRuleDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<title>过滤规则定制化</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<style type="text/css">
.clear {
clear: both;
}
</style>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<p>尝试粘贴内容近来,这里边不能粘贴任何inline的样式,不能有iframe,style,script,embed等标签,表格不能嵌套</p>
<div>
<script id="editor" type="text/plain" style="width:500px;height:500px"></script>
</div>
</div>
</body>
<script type="text/javascript">
UE.getEditor('editor', {
filterRules: function () {
return {
span: function (node) {
if (/Wingdings|Symbol/.test(node.getStyle('font-family'))) {
return true;
} else {
node.parentNode.removeChild(node, true)
}
},
p: function (node) {
var listTag;
if (node.getAttr('class') == 'MsoListParagraph') {
listTag = 'MsoListParagraph'
}
node.setAttr();
if (listTag) {
node.setAttr('class', 'MsoListParagraph')
}
if (!node.firstChild()) {
node.innerHTML(UE.browser.ie ? ' ' : '<br>')
}
},
div: function (node) {
var tmpNode, p = UE.uNode.createElement('p');
while (tmpNode = node.firstChild()) {
if (tmpNode.type == 'text' || !UE.dom.dtd.$block[tmpNode.tagName]) {
p.appendChild(tmpNode);
} else {
if (p.firstChild()) {
node.parentNode.insertBefore(p, node);
p = UE.uNode.createElement('p');
} else {
node.parentNode.insertBefore(tmpNode, node);
}
}
}
if (p.firstChild()) {
node.parentNode.insertBefore(p, node);
}
node.parentNode.removeChild(node);
},
//$:{}表示不保留任何属性
br: {$: {}},
// a: function (node) {
// if(!node.firstChild()){
// node.parentNode.removeChild(node);
// return;
// }
// node.setAttr();
// node.setAttr('href', '#')
// },
// strong: {$: {}},
// b:function(node){
// node.tagName = 'strong'
// },
// i:function(node){
// node.tagName = 'em'
// },
// em: {$: {}},
// img: function (node) {
// var src = node.getAttr('src');
// node.setAttr();
// node.setAttr({'src':src})
// },
ol: {$: {}},
ul: {$: {}},
dl: function (node) {
node.tagName = 'ul';
node.setAttr()
},
dt: function (node) {
node.tagName = 'li';
node.setAttr()
},
dd: function (node) {
node.tagName = 'li';
node.setAttr()
},
li: function (node) {
var className = node.getAttr('class');
if (!className || !/list\-/.test(className)) {
node.setAttr()
}
var tmpNodes = node.getNodesByTagName('ol ul');
UE.utils.each(tmpNodes, function (n) {
node.parentNode.insertAfter(n, node);
})
},
table: function (node) {
UE.utils.each(node.getNodesByTagName('table'), function (t) {
UE.utils.each(t.getNodesByTagName('tr'), function (tr) {
var p = UE.uNode.createElement('p'), child, html = [];
while (child = tr.firstChild()) {
html.push(child.innerHTML());
tr.removeChild(child);
}
p.innerHTML(html.join(' '));
t.parentNode.insertBefore(p, t);
})
t.parentNode.removeChild(t)
});
var val = node.getAttr('width');
node.setAttr();
if (val) {
node.setAttr('width', val);
}
},
tbody: {$: {}},
caption: {$: {}},
th: {$: {}},
td: {$: {valign: 1, align: 1, rowspan: 1, colspan: 1, width: 1, height: 1}},
tr: {$: {}},
h3: {$: {}},
h2: {$: {}},
//黑名单,以下标签及其子节点都会被过滤掉
'-': 'script style meta iframe embed object'
}
}()
});
</script>
</html>
================================================
FILE: _examples/highlightDemo.html
================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<!--加入高亮的js和css文件,如果你的编辑器和展示也是一个页面那么高亮的js可以不加载-->
<script type="text/javascript" charset="utf-8" src="../third-party/SyntaxHighlighter/shCore.js"></script>
<link rel="stylesheet" type="text/css" href="../third-party/SyntaxHighlighter/shCoreDefault.css"/>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>代码高亮演示</h1>
<h2>获得编辑器实例</h2>
<div style="width:200px">
<pre class="brush:js;toolbar:false;">
UE.getEditor('myEditor');
</pre>
</div>
</div>
<!--style给定宽度可以影响编辑器的最终宽度-->
<script type="text/plain" id="myEditor" style="width:500px">
<h3>实例化编辑器</h3>
<pre class="brush:js;toolbar:false;">
UE.getEditor('myEditor');
</pre>
</script>
<script type="text/javascript">
//为了在编辑器之外能展示高亮代码
SyntaxHighlighter.highlight();
UE.getEditor('myEditor');
</script>
</body>
</html>
================================================
FILE: _examples/index.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>UEditor Plus演示</title>
<script src="./example.js"></script>
<link rel="stylesheet" href="./style.css"/>
<script src="./../third-party/jquery-1.10.2.js"></script>
<script>
$(function () {
$(document).on('click', '[target="editor_iframe"]', function () {
$('[data-github-source]').attr('href', 'https://github.com/modstart-lib/ueditor-plus/blob/master/_examples/' + $(this).attr('href'));
$('[data-gitee-source]').attr('href', 'https://gitee.com/modstart-lib/ueditor-plus/blob/master/_examples/' + $(this).attr('href'));
});
});
</script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
</head>
<body>
<div class="demo-header">
<div class="link">
<a data-github-source
href="https://github.com/modstart-lib/ueditor-plus/blob/master/_examples/completeDemo.html" target="_blank">Github源码</a>
<a data-gitee-source href="https://gitee.com/modstart-lib/ueditor-plus/blob/master/_examples/completeDemo.html"
target="_blank">Gitee源码</a>
</div>
<h1>UEditor Plus 功能演示</h1>
</div>
<div class="demo-menu">
<h3>基础示例</h3>
<ul>
<li>
<a href="completeDemo.html" target="editor_iframe">完整示例</a><br/>
编辑器的完整功能
</li>
<li>
<a href="simpleDemo.html" target="editor_iframe">简单示例</a><br/>
使用基础的按钮实现简单的功能
</li>
</ul>
<h3>应用展示</h3>
<ul>
<li>
<a href="submitFormDemo.html" target="editor_iframe">表单应用</a><br/>
编辑器的内容通过表单提交到后台
</li>
<li>
<a href="resetDemo.html" target="editor_iframe">重置编辑器</a><br/>
将编辑器的内部变量清空,重置。
</li>
<li>
<a href="textareaDemo.html" target="editor_iframe">文本域渲染编辑器</a><br/>
将编辑器渲染到文本域,并且将文本域的内容放到编辑器的初始化内容里
</li>
</ul>
<h3>二次开发</h3>
<ul>
<li>
<a style="color:red;" href="customizeToolbarUIDemo.html" target="editor_iframe">二次开发例子</a><br/>
添加自定义的普通按钮、下拉菜单按钮、对话框按钮
</li>
<li>
<a href="customToolbarDemo.html" target="editor_iframe">自定义Toolbar</a><br/>
用自己的皮肤,设计自己的编辑器
</li>
<li>
<a href="customPluginDemo.html" target="editor_iframe">自定义插件</a><br/>
在编辑器的基础上开发自己的插件
</li>
</ul>
<h3>高级案例</h3>
<ul>
<li>
<a href="sortableDemo.html" target="editor_iframe">表格排序示例</a><br/>
编辑表格,并设置排序后可在展示区域点击排序
</li>
<li>
<a href="sectionDemo.html" target="editor_iframe">目录大纲示例</a><br/>
获取编辑内容的目录大纲,并通过操作目录,更新编辑器内容
</li>
<li>
<a href="multiDemo.html" target="editor_iframe">多编辑器实例</a><br/>
一个页面实例化多个编辑器,互不影响
</li>
<li>
<a href="renderInTable.html" target="editor_iframe">在表格中渲染编辑器</a><br/>
表格中渲染编辑器
</li>
<li>
<a href="jqueryCompleteDemo.html" target="editor_iframe">jquery</a><br/>
jquery中使用编辑器
</li>
<li>
<a href="jqueryValidation.html" target="editor_iframe">jqueryValidation</a><br/>
编辑器在jqueryValidation中验证
</li>
<li>
<a href="uparsedemo.html" target="editor_iframe">展示页面uparse.js解析</a><br/>
通过调用uparse.js在展示页面中自动解析编辑内容
</li>
<li>
<a href="filterRuleDemo.html" target="editor_iframe">过滤规则定制化</a><br/>
通过配置filterRules可以定制黑白名单,过滤和转换你要的标签和属性
</li>
<li>
<a href="setWidthHeightDemo.html" target="editor_iframe">设置宽高</a><br/>
设置宽高的demo页面
</li>
<li>
<a href="multiEditorWithOneInstance.html" target="editor_iframe">多编辑共用实例</a><br/>
多个编辑区使用同一个编辑器实例
</li>
</ul>
</div>
<div class="demo-iframe">
<div class="demo-iframe-container">
<iframe name="editor_iframe" src="./completeDemo.html"></iframe>
</div>
</div>
</body>
</html>
================================================
FILE: _examples/jqueryCompleteDemo.html
================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>使用jquery的完整demo</title>
<script src="./example.js"></script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js" charset=""></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script>
$(function () {
var ue = UE.getEditor('myEditor');
$('#btn').click(function () {
//手动提交需要手动同步编辑器数据
ue.sync();
$('#form')[0].submit();
});
//--自动切换提交地址----
var version = ue.options.serverUrl || ue.options.imageUrl || "php",
form = $('#form')[0];
if (version.match(/php/)) {
form.action = "./server/getContent.php";
} else if (version.match(/net/)) {
form.action = "./server/getContent.ashx";
} else if (version.match(/jsp/)) {
form.action = "./server/getContent.jsp";
} else if (version.match(/asp/)) {
form.action = "./server/getContent.asp";
}
})
</script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<form id="form" method="post" target="_blank">
<script type="text/plain" id="myEditor" name="myEditor">
<p>欢迎使用UEditor!</p>
</script>
<input type="button" id="btn" value="提交数据">
</form>
</div>
</body>
</html>
================================================
FILE: _examples/jqueryValidation.html
================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Ueditor在jquery validation下的验证</title>
<script src="./example.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js"></script>
<script type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script>
$(function () {
UE.getEditor('content');
var validator = $("#myform").submit(function () {
UE.getEditor('content').sync();
}).validate({
ignore: "",
rules: {
title: "required",
content: "required"
},
errorPlacement: function (label, element) {
label.insertAfter(element.is("textarea") ? element.next() : element);
}
});
validator.focusInvalid = function () {
if (this.settings.focusInvalid) {
try {
var toFocus = $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []);
if (toFocus.is("textarea")) {
UE.getEditor('content').focus()
} else {
toFocus.filter(":visible").focus();
}
} catch (e) {
}
}
}
})
</script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<form id="myform" action="">
<h3>Ueditor在jquery validation下的验证</h3>
<label>其他内容</label>
<input name="title"/>
<br/>
<label>编辑器</label>
<textarea id="content" name="content" rows="15" cols="80" style="width: 80%"></textarea>
<br/>
<input type="submit" name="save" value="Submit"/>
</form>
</div>
</body>
</html>
================================================
FILE: _examples/multiDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>UEditor多实例</h1>
<!--style给定宽度可以影响编辑器的最终宽度-->
<script type="text/plain" id="myEditor1" style="margin-bottom:100px;">
<p>这里是初始化内容1</p>
</script>
<script type="text/plain" id="myEditor2" style="margin-bottom:100px;">
<p>这里我可以写一些输入提示2</p>
</script>
<script type="text/plain" id="myEditor3" style="margin-bottom:100px;">
<p>这里是初始化内容3</p>
</script>
<script type="text/javascript">
UE.getEditor('myEditor1', {
theme: "default", //皮肤
lang: 'zh-cn' //语言
});
UE.getEditor('myEditor2', {
autoClearinitialContent: true, //focus时自动清空初始化时的内容
wordCount: false, //关闭字数统计
elementPathEnabled: false//关闭elementPath
});
UE.getEditor('myEditor3', {
//toolbars:[['FullScreen', 'Source', 'Undo', 'Redo','Bold']],//这里可以选择自己需要的工具按钮名称,此处仅选择如下五个
lang: "en"
//更多其他参数,请参考ueditor.config.js中的配置项
});
</script>
</div>
</body>
</html>
================================================
FILE: _examples/multiEditorWithOneInstance.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js"></script>
<style>
table {
margin-bottom: 10px;
border-collapse: collapse;
display: table;
border: 1px dashed #ddd
}
#test td {
padding: 5px;
border: 1px solid #DDD;
}
</style>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page wide">
<div>
<h1>UEditor多编辑区域一个编辑器实例</h1>
<table id="test">
<tr>
<td width="100">
编辑区域一
</td>
<td class="content" id="content1">
<script id="editor1" type="text/plain" style="width:1024px;height:200px;">内容1</script>
</td>
</tr>
<tr>
<td>
编辑区域二
</td>
<td class="content" id="content2">内容2</td>
</tr>
<tr>
<td>
编辑区域三
</td>
<td class="content" id="content3">内容3</td>
</tr>
</table>
<script type="text/javascript">
var ue = UE.getEditor('editor1');
ue.ready(function () {
//阻止工具栏的点击向上冒泡
$(this.container).click(function (e) {
e.stopPropagation()
})
});
$('.content').click(function (e) {
var $target = $(this);
var content = $target.html();
var currentParnet = ue.container.parentNode.parentNode;
var currentContent = ue.getContent();
$target.html('');
$target.append(ue.container.parentNode);
ue.reset();
setTimeout(function () {
ue.setContent(content);
}, 200)
$(currentParnet).html(currentContent);
})
</script>
</div>
</body>
</html>
================================================
FILE: _examples/renderInTable.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<title>表格内实例化编辑器实例</title>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<div style="height: 100px"></div>
<div id="div" style="border: 1px solid #fff">
<table border="1">
<caption>表格标题</caption>
<tr>
<th>标题</th>
<th>内容</th>
</tr>
<!--编辑器实例化到表格内部时,请在对应的单元格上明确标注宽度值(百分数或者直接数均可),否则有可能在工具栏浮动等功能状态下出现移位-->
<tr>
<td>中国</td>
<td width="100%"><textarea id="editor"></textarea></td>
</tr>
</table>
</div>
<script type="text/javascript">
UE.getEditor('editor');
</script>
</div>
</body>
</html>
================================================
FILE: _examples/resetDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="./example.js"></script>
<title>重置编辑器</title>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h2>重置编辑器和销毁编辑器示例</h2>
<div class="content" id="simple"></div>
<p><input type="button" onclick="doSimple()" value="重置编辑器内部参数"><span id="txt"></span></p>
<p><input id="destroy" type="button" onclick="doDestroy()" value="销毁编辑器"></p>
<script type="text/javascript" charset="utf-8">
var editor = UE.getEditor('simple');
function doSimple() {
if (editor) {
editor.setContent("编辑器内部变量已经被重置!");
editor.reset();
}
}
function doDestroy() {
editor.destroy();
editor = null;
clearInterval(timer);
var button = document.getElementById("destroy");
button.value = "重新渲染";
button.onclick = function () {
editor = UE.getEditor('simple');
this.value = "销毁编辑器";
this.onclick = doDestroy;
timer = setInterval(setMsg, 100);
}
}
function setMsg() {
if (editor && editor.undoManger) {
document.getElementById("txt").innerHTML = "编辑器当前保存了 <span style='color: red'> " + editor.undoManger.list.length + " </span>次操作";
}
}
var timer = setInterval(setMsg, 100);
</script>
</div>
</body>
</html>
================================================
FILE: _examples/sectionDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<title>目录大纲demo</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script type="text/javascript" charset="utf-8" src="../lang/zh-cn/zh-cn.js?{timestamp}"></script>
<script type="text/javascript" charset="utf-8" src="../third-party/jquery-1.10.2.js"></script>
<style>
#directionContainer ul {
margin: 0px;
padding: 0px 0px 0px 20px;
}
.main {
width: 1024px;
}
.left {
width: 250px;
height: 50px;
float: left;
margin-right: 4px;
}
.right {
width: 730px;
float: left;
}
#directionWrapper {
padding: 15px 7px;
width: 234px;
border: 1px solid #CCC;
}
.directionTitle {
font-weight: bold;
font-size: 14px;
padding-bottom: 3px;
border-bottom: 1px dashed #ccc;
}
.sectionItem {
height: 20px;
padding: 4px;
}
.sectionItem span {
*zoom: 1;
display: inline-block;
}
.itemTitle {
_float: left;
}
.selectIcon, .deleteIcon, .moveUp, .moveDown {
float: right;
color: red;
font-size: 0px;
line-height: 20px;
height: 20px;
text-align: center;
cursor: pointer;
}
.selectIcon, .moveUp, .moveDown {
width: 14px;
font-size: 10px;
}
.selectIcon:hover, .moveUp:hover, .moveDown:hover {
text-decoration: underline;
}
.deleteIcon {
width: 20px;
margin-left: 3px;
background: url(../themes/default/images/icons-all.gif) 0 -89px;
}
.fixTop {
position: fixed;
top: -1px;
}
</style>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div style="max-width:1024px;">
<div class="main">
<h1>目录大纲demo</h1>
<div class="left">
<div id="directionWrapper">
<div class="directionTitle">目录:</div>
<div id="directionContainer"></div>
</div>
</div>
<div class="right">
<script id="editor" type="text/plain" style="width:730px;height:500px;">
<p style="text-indent: 2em;"><strong>UEditor</strong>是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量、可定制、用户体验优秀等特点。开源基于BSD协议,所有源代码在协议允许范围内可自由修改和使用。百度UEditor的推出,可以帮助不少网站开者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间,有效降低了企业的开发成本。</p><h2>特点 </h2><p>UEditor在设计上采用了经典的分层架构设计理念,尽量做到功能层次之间的轻度耦合。具体来讲,整个系统分为了核心层、命令插件层和UI层这样三个低耦合的层次。</p><h2 index="3"> 应用领域 </h2> <h3 index="3_1"> 百度产品线 </h3><p>百度百科、百度空间、百度经验、百度旅游、百度知道、百度贴吧、百度新知</p><h3 index="3_2"> 其他公司产品 </h3><p>麦库记事、网易lofter</p><h2 index="4"> 更新记录 </h2> <h3 index="4_3"> 1.2.6.1版本 </h3> <h4> 新增功能 </h4> <ul class=" list-paddingleft-2" style="list-style-type: disc;"> <li> <p>查找替换支持正则表达式</p></li><li><p>增加类似word中的快捷菜单,默认关闭</p></li><li><p>针对默认过滤回转换div为p标签,提供了配置开关allowDivTransToP,默认为true</p></li><li><p>工具栏支持指定位置折行,'|'表示分割符,'||'表示折行</p></li> </ul> <h4> 优化修复 </h4> <ul class=" list-paddingleft-2" style="list-style-type: disc;"> <li> <p>修复了ie67下初始化宽高给定百分比</p></li><li><p>修复了在ie下删除分割线后光标定位的问题</p></li><li><p>提供了手动加载语言文件,避免ie下有时会因语言文件加载失败导致编辑器加载失败,提示"not import language file"的错误</p></li><li><p>优化了编辑器初始化时获得contentWindow可能不存在的情况</p></li><li><p>优化了编辑器加载自定义样式的问题,默认initialStyle传入的css样式优先级最高,其次是指定的外部css文件</p></li><li><p>表格操作功能升级,优化了对表格的拖拉及双击操作,并且支持IE6+浏览器</p></li><li><p>修复编辑器在禁用状态下仍然可以拖动表格边框的bug</p></li><li><p>修复了分割线不能删除的问题</p></li><li><p>修复了初始化内容过多时,编辑器不自动长高,要点击编辑器才会长高的问题</p></li><li><p>优化了添加字符边框的展示效果,避免出现重叠的问题</p></li><li><p>修复下拉菜单超出屏幕的bug</p></li><li><p>修复table属性初始化时table布局错误的bug</p></li><li><p>优化了选择工具栏上下拉菜单类型的操作命令时,选区会有闪动的问题</p></li><li><p>优化了关于swfupload的一个xss漏洞</p></li><li><p>优化了对于ie9,10的支持</p></li> </ul> <h3 index="4_5"> 1.2.5版本 </h3> <h4> 新增功能 </h4> <ul class=" list-paddingleft-2" style="list-style-type: disc;"> <li><p>table整体重构</p></li><li><p> table支持插入表头和标题</p></li><li><p> table支持拷贝</p></li><li><p> table支持任意调整宽高</p></li><li><p> ...</p></li> </ul> <h3 index="4_6"> 1.2.4版本 </h3> <h4> 新增功能 </h4> <ul class=" list-paddingleft-2" style="list-style-type: disc;"> <li><p>官网新增API文档</p></li><li><p> CSS按照UI结构进行了模块化拆分</p></li><li><p> 新增皮肤切换功能,并提供一套新皮肤(可通过配置项theme来设置)</p></li><li><p> ...</p></li> </ul> <h2 index="5"> 正式版 </h2> <h3 index="5_11"> 新增功能 </h3> <ul class=" list-paddingleft-2" style="list-style-type: disc;"> <li> <p>新增了编辑器路径的设置,可以不用手动设置路径,自动识别相关路径,解决路径设置繁琐的问题</p></li><li><p>重写了过滤粘贴机制,采用黑白名单,可以书写符合自己需求的过滤规则,可以完全定义标签的属性,甚至是style上的某个属性及其数值</p></li><li><p>数据同步改为失去焦点就执行,可以不再使用sync方法手动同步数据</p></li><li><p>改使用closure的压缩工具</p></li><li><p>表格支持排序和隔行显示</p></li><li><p>优化了undo/redo操作</p></li><li><p>优化了ui界面</p></li><li><p>添加了字体边框</p></li> </ul> <h3 index="5_12"> 优化修复 </h3> <ul class=" list-paddingleft-2" style="list-style-type: disc;"> <li> <p>优化了拖拽机制,处理浮动图片拖拽不能跟指定的某行对齐</p></li><li><p>优化了backspace/del键的操作</p></li><li><p>重写了插入代码功能,插入代码编写支持tab和回车键</p></li><li><p>列表粘贴优化,模仿word的列表粘贴</p></li><li><p>修复jsp后台8080端口,截屏插件返回错误的问题</p></li><li><p>修复firefox下编辑状态切换的问题</p></li><li><p>修复查找替换报错</p></li><li><p>修复表格新增行后宽度丢失问题</p></li><li><p>修复表格底纹和表格排序多语言配置遗漏</p></li><li><p>解决右键,粘贴,对话框内容报错</p></li><li><p>修复设置单元格颜色问题</p></li><li><p>优化大字号下的显示问题</p></li><li><p>解决IE下表格粘贴失效问题</p></li><li><p>修复选中内容设置成代码,出现多余字符的问题</p></li><li><p>修复从word粘贴内容到编辑器,过滤失效的问题</p></li><li><p>修复光标闭合,多次点击字符边框按钮,会出现多余的字符“font”的问题</p></li><li><p>修复字符边框效果错误的问题</p></li> <li><p>以及其他的一些问题.</p></li> </ul><p><br/></p>
</script>
</div>
</div>
</div>
</body>
<script type="text/javascript">
//实例化编辑器
var ue = UE.getEditor('editor', {
autoHeightEnabled: false
});
ue.ready(function () {
ue.addListener('updateSections', resetHandler);
});
var resetHandler = function () {
var dirmap = {}, dir = ue.execCommand('getsections');
// 更新目录树
$('#directionContainer').html(traversal(dir) || null);
// 删除章节按钮
$('.deleteIcon').click(function (e) {
var $target = $(this),
address = $target.parent().attr('data-address');
ue.execCommand('deletesection', dirmap[address]);
});
// 选中章节按钮
$('.selectIcon').click(function (e) {
var $target = $(this),
address = $target.parent().attr('data-address');
ue.execCommand('selectsection', dirmap[address], true);
});
// 章节上移
$('.moveUp,.moveDown').click(function (e) {
var $target = $(this),
address = $target.parent().attr('data-address'),
moveUp = $target.hasClass('moveUp') ? true : false;
if ($target.hasClass('moveUp')) {
ue.execCommand('movesection', dirmap[address], dirmap[address].previousSection);
} else {
ue.execCommand('movesection', dirmap[address], dirmap[address].nextSection, true);
}
});
// 页面网上滚动时,让目录固定在顶部
$(window).scroll(function (e) {
if ($('.left').offset().top < (document.body.scrollTop || document.documentElement.scrollTop)) {
$('#directionWrapper').addClass('fixTop');
} else {
$('#directionWrapper').removeClass('fixTop');
}
});
function traversal(section) {
var $list, $item, $itemContent, child, childList;
if (section.children.length) {
$list = $('<ul>');
for (var i = 0; i < section.children.length; i++) {
child = section.children[i];
//设置目录节点内容标签
var title = getSubStr(child['title'], 18);
$itemContent = $('<div class="sectionItem"></div>').html($('<span class="itemTitle">' + title + '</span>'));
$itemContent.attr('data-address', child['startAddress'].join(','));
$itemContent.append($('<span class="deleteIcon">删</span>' +
'<span class="selectIcon">选</span>' +
'<span class="moveUp">↑</span>' +
'<span class="moveDown">↓</span>'));
dirmap[child['startAddress'].join(',')] = child;
//设置目录节点容器标签
$item = $('<li>');
$item.append($itemContent);
//继续遍历子节点
if ($item.children.length) {
childList = traversal(child);
childList && $item.append(childList);
}
$list.append($item);
}
}
return $list;
}
}
function getSubStr(s, l) {
var i = 0, len = 0;
for (i; i < s.length; i++) {
if (s.charAt(i).match(/[^\x00-\xff]/g) != null) {
len += 2;
} else {
len++;
}
if (len > l) {
break;
}
}
return s.substr(0, i);
};
</script>
</html>
================================================
FILE: _examples/setWidthHeightDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js?{timestamp}"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js?{timestamp}"></script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<script type="text/javascript" charset="utf-8" src="../lang/zh-cn/zh-cn.js?{timestamp}"></script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>UEditor设置宽高demo</h1>
<h2><span style="color:red">这里的宽高都只是编辑区域的宽高,不包括工具栏的高度和状态栏的高度</span></h2>
<h2>容器给定编辑器的宽高</h2>
<script type="text/plain" id="myEditor" style="width:500px;height:500px"></script>
<div style="clear:both"></div>
<h2>初始化时给定编辑器的宽高</h2>
<script type="text/plain" id="myEditor1"></script>
<h2>没有工具栏的编辑器</h2>
<div id="myEditor2" style="width:700px;height:300px;border:1px solid #ccc"></div>
<script type="text/javascript">
//根据容器的宽高
//容器给定高度
UE.getEditor('myEditor');
UE.getEditor('myEditor1', {
initialFrameWidth: 600,
initialFrameHeight: 600
});
var noToolbar = new UE.Editor();
noToolbar.render('myEditor2', {
autoFloatEnabled: false
})
</script>
</div>
</body>
</html>
================================================
FILE: _examples/simpleDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script src="./example.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>UEditorPlus简单功能</h1>
<!--style给定宽度可以影响编辑器的最终宽度-->
<script type="text/plain" id="myEditor">
<p>这里我可以写一些输入提示</p>
</script>
<script type="text/javascript">
UE.getEditor('myEditor', {
//这里可以选择自己需要的工具按钮名称,此处仅选择如下五个
toolbars: [['fullscreen', 'source', 'undo', 'redo', 'bold']],
//focus时自动清空初始化时的内容
autoClearinitialContent: true,
//关闭字数统计
wordCount: false,
//关闭elementPath
elementPathEnabled: false,
//默认的编辑区域高度
initialFrameHeight: 300
//更多其他参数,请参考ueditor.config.js中的配置项
})
</script>
</div>
</body>
</html>
================================================
FILE: _examples/sortableDemo.html
================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="./example.js"></script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="../ueditor.parse.js" type="text/javascript"></script>
<title></title>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>表格排序演示</h1>
<p>
<p>
<strong>默认排序方法有五种:</strong><br/>
reversecurrent : 逆序当前<br/>
orderbyasc : 按ASCII字符升序<br/>
reversebyasc : 按ASCII字符降序<br/>
orderbynum : 按数值大小升序<br/>
reversebynum : 按数值大小降序
</p>
<p>
<span style="font-size: 14px; color: rgb(127, 127, 127);">表格data-sort-type属性值为reversebynum,<span
style="color:#ff511a; font-weight: bold;">按照数值大小降序排序</span>,点击第一行的单元格进行排序。</span>
</p>
<div id="content1" class="content">
<table data-sort="sortEnabled" width="992" class="sortEnabled" data-sort-type="reversebynum">
<tbody>
<tr class="firstRow">
<td width="165">343</td>
<td width="165">352</td>
<td width="165">323</td>
<td width="165">234</td>
<td width="165">379</td>
<td width="166">782</td>
</tr>
<tr>
<td width="165">341</td>
<td width="165">163</td>
<td width="165">422</td>
<td width="165">234</td>
<td width="165">725</td>
<td width="166">833</td>
</tr>
<tr>
<td width="165">221</td>
<td width="165">456</td>
<td width="165">335</td>
<td width="165">423</td>
<td width="165">445</td>
<td width="166">793</td>
</tr>
<tr>
<td width="165">112</td>
<td width="165">277</td>
<td width="165">563</td>
<td width="165">423</td>
<td width="165">932</td>
<td width="166">425</td>
</tr>
<tr>
<td width="165">587</td>
<td width="165">175</td>
<td width="165">159</td>
<td width="165">734</td>
<td width="165">582</td>
<td width="166">458</td>
</tr>
</tbody>
</table>
</div>
<p>
<br/>
</p>
<p>
<span style="font-size: 14px; color: rgb(127, 127, 127);">自定义排序,<span style="color:#ff511a; font-weight: bold;">按照个位数排序</span>,点击第一行的单元格进行排序。</span>
</p>
<div id="content2" class="content">
<table data-sort="sortEnabled" width="992" class="sortEnabled">
<tbody>
<tr class="firstRow">
<td width="165">343</td>
<td width="165">352</td>
<td width="165">323</td>
<td width="165">234</td>
<td width="165">379</td>
<td width="166">782</td>
</tr>
<tr>
<td width="165">341</td>
<td width="165">163</td>
<td width="165">422</td>
<td width="165">234</td>
<td width="165">725</td>
<td width="166">833</td>
</tr>
<tr>
<td width="165">221</td>
<td width="165">456</td>
<td width="165">335</td>
<td width="165">423</td>
<td width="165">445</td>
<td width="166">793</td>
</tr>
<tr>
<td width="165">112</td>
<td width="165">277</td>
<td width="165">563</td>
<td width="165">423</td>
<td width="165">932</td>
<td width="166">425</td>
</tr>
<tr>
<td width="165">587</td>
<td width="165">175</td>
<td width="165">159</td>
<td width="165">734</td>
<td width="165">582</td>
<td width="166">458</td>
</tr>
</tbody>
</table>
</div>
<script>
// 语法
// uParse(selector,[option])
/*
selector支持
id,class,tagName
*/
/*
目前支持的参数
option:
highlightJsUrl 代码高亮相关js的路径 如果展示有代码高亮,必须给定该属性
highlightCssUrl 代码高亮相关css的路径 如果展示有代码高亮,必须给定该属性
liiconpath 自定义列表样式的图标路径,可以不给定,默认'http://bs.baidu.com/listicon/',
listDefaultPaddingLeft : 自定义列表样式的左边宽度 默认'20',
customRule 可以传入你自己的处理规则函数,函数第一个参数是容器节点
*/
uParse('#content1', {
rootPath: '../'
})
uParse('#content2', {
rootPath: '../',
tableSortCompareFn: function (td1, td2) {
var value1 = td1.innerText || td1.textContent,
value2 = td2.innerText || td2.textContent;
return parseInt(value1) % 10 > parseInt(value2) % 10;
}
})
</script>
</div>
</body>
</html>
================================================
FILE: _examples/style.css
================================================
body, html, * {
padding: 0;
margin: 0;
}
body {
-ms-overflow-style: auto;
-webkit-tap-highlight-color: transparent;
font-family: "Segoe UI", "Lucida Grande", Helvetica, Arial, "Microsoft YaHei", FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", FontAwesome, sans-serif;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
background: #F4F6F8;
color: #34495e;
}
.demo-header {
background: #5248FE;
color: #FFF;
height: 50px;
padding: 0 10px;
}
.demo-header .link {
float: right;
}
.demo-header .link a {
color: #FFF;
display: inline-block;
line-height: 50px;
text-decoration: none;
font-size: 14px;
}
.demo-header h1 {
font-size: 20px;
line-height: 50px;
}
.demo-iframe {
border: 2px solid #EEE;
position: fixed;
left: 200px;
top: 50px;
width: calc(100vw - 200px);
height: calc(100vh - 52px);
overflow: auto;
background: #FFF;
}
.demo-iframe-container {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
overflow: hidden;
}
.demo-iframe .demo-iframe-container iframe {
width: 100%;
height: 100%;
border: none;
}
.demo-menu {
border: 2px solid #EEE;
position: fixed;
left: 0;
bottom: 0px;
top: 50px;
width: 200px;
height: calc(100vh - 52px);
overflow: auto;
padding: 10px;
background: #FFF;
box-sizing: border-box;
}
.demo-menu * {
padding: 0;
margin: 0;
list-style: none;
}
.demo-menu h3 {
font-size: 16px;
}
.demo-menu ul {
margin-left: 10px;
margin-bottom: 10px;
}
.demo-menu ul li {
font-size: 12px;
color: #999;
padding: 5px 5px 5px 0;
white-space: normal;
word-break: break-all;
}
.demo-menu ul li a {
color: #34495e;
text-decoration: none;
font-size: 14px;
}
.demo-editor-page {
background: #FFF;
padding: 0;
}
.demo-editor-page > div {
max-width: 800px;
margin: 20px auto;
}
.demo-editor-page.wide > div {
max-width: inherit;
}
.demo-editor-page h1 {
font-size: 30px;
line-height: 30px;
margin-bottom: 10px;
}
button, input[type="submit"], input[type="button"] {
display: inline-block;
font-weight: 400;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: none;
padding: 5px 10px;
font-size: 13px;
line-height: 1.5;
border-radius: 4rem;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-webkit-appearance: none;
cursor: pointer;
margin-bottom: 5px;
color: #34495e;
background-color: #EEE;
}
button:hover, input[type="submit"]:hover, input[type="button"]:hover {
background-color: #DDD;
box-shadow: 0 0 5px #999;
}
================================================
FILE: _examples/submitFormDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<script src="./example.js"></script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<style type="text/css">
body {
font-size: 14px;
}
</style>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h2>UEditorPlus提交示例</h2>
<form id="form" method="post" target="_blank">
<script type="text/plain" id="myEditor" name="myEditor">
<p>欢迎使用UEditorPlus!</p>
</script>
<input type="submit" value="通过input的submit提交">
</form>
<p>
<button onclick="document.getElementById('form').submit()">通过js调用submit提交</button>
</p>
<script type="text/javascript">
var editor_a = UE.getEditor('myEditor', {initialFrameHeight: 500});
editor_a.addListener("contentchange", function () {
console.log('编辑器内容发生改变', editor_a.getContent());
})
//--自动切换提交地址----
var doc = document,
version = editor_a.options.serverUrl || editor_a.options.imageUrl || "php",
form = doc.getElementById("form");
form.action = "../_demo_server/handle.php?action=showPost";
</script>
</div>
</body>
</html>
================================================
FILE: _examples/textareaDemo.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<script src="./example.js"></script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
<style type="text/css">
#myEditor {
height: 300px;
}
</style>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>文本域渲染编辑器</h1>
<form action="">
<!--style给定宽度可以影响编辑器的最终宽度-->
<textarea id="myEditor" name="myEditor">这里是原始的textarea中的内容,可以从数据中读取</textarea>
<br/>
<input type="button" onclick="render()" value="渲染编辑器">
</form>
<script type="text/javascript">
//渲染编辑器
var ue = null;
function render() {
ue = UE.getEditor('myEditor')
}
</script>
</div>
</body>
</html>
================================================
FILE: _examples/uparsedemo.html
================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="./example.js"></script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="../ueditor.parse.js"></script>
<title></title>
<script>var __grow = __grow || [];
(function() {
var g = document.createElement("script");
g.src = "https://g.tecmz.com/grow/page.js?open";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(g, s);
})();
</script>
<link rel="stylesheet" href="./style.css"/>
</head>
<body class="demo-editor-page">
<div>
<h1>解析编辑的内容</h1>
<div class="content" style="width:200px">
<ol class="custom_cn2 list-paddingleft-1">
<li class="list-cn-3-1 list-cn2-paddingleft-1"><p>这里可以书写,编辑器的初始内容</p></li>
</ol>
<ul class="custom_dash list-paddingleft-1">
<li class="list-dash list-dash-paddingleft"><p>sdfas</p></li>
</ul>
<ol class="custom_cn2 list-paddingleft-1">
<ol style="list-style-type: decimal; " class=" list-paddingleft-3">
<li><p>dfas</p></li>
</ol>
<li class="list-cn-3-1 list-cn2-paddingleft-1"><p>dfa</p></li>
<ol style="list-style-type: decimal; " class=" list-paddingleft-3">
<li><p>sdfadf</p></li>
</ol>
</ol>
<p>
这里可以书写,编辑器的初始内容
</p>
<p>
<video class="video-js vjs-default-skin" data-setup="{}" controls preload="none" width="640" height="264"
src="http://video-js.zencoder.com/oceans-clip.mp4"
poster="http://video-js.zencoder.com/oceans-clip.png">
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4'/>
</video>
</p>
<pre class="brush:js;toolbar:false;">
moveToBookmark:function (bookmark) {
var start = bookmark.id ? this.document.getElementById(bookmark.start) : bookmark.start,
end = bookmark.end && bookmark.id ? this.document.getElementById(bookmark.end) : bookmark.end;
this.setStartBefore(start);
domUtils.remove(start);
if (end) {
this.setEndBefore(end);
domUtils.remove(end);
} else {
this.collapse(true);
}
return this;
},
</pre>
<ol class="custom_cn2 list-paddingleft-1">
<li class="list-cn-3-1 list-cn2-paddingleft-1">
<p>
dfasdf
</p>
</li>
<li class="list-cn-3-2 list-cn2-paddingleft-1">
<p>
asd
</p>
</li>
<li class="list-cn-3-3 list-cn2-paddingleft-1">
<p>
fa
</p>
</li>
<li class="list-cn-3-4 list-cn2-paddingleft-1">
<p>
sdfa
</p>
</li>
<li class="list-cn-3-5 list-cn2-paddingleft-1">
<p>
sdfa
</p>
</li>
</ol>
</div>
<div id="content" class="content">
<table width="960">
<caption>
sdf<br/>
</caption>
<tbody>
<tr>
<th valign="null">
sdf<br/>
</th>
<th valign="null">
sdf<br/>
</th>
<th valign="null">
<br/>
</th>
<th valign="null">
<br/>
</th>
<th valign="null">
<br/>
</th>
<th valign="null">
<br/>
</th>
<th valign="null">
<br/>
</th>
</tr>
<tr>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
</tr>
<tr>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
<td width="116" valign="top">
<br/>
</td>
</tr>
</tbody>
</table>
</div>
<div class="content_background">
<h1>
UEditor
</h1>
<h2>
简介
</h2>
<p>
UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量、可定制、用户体验优秀等特点。开源基于BSD协议,所有源代码在协议允许范围内可自由修改和使用。百度UEditor的推出,可以帮助不少网站开者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间,有效降低了企业的开发成本。
</p>
<h2>
特点<br/>
</h2>
<p>
1、核心层提供了编辑器底层的一些方法和概念,如DOM树操作、Selection、Range等。
</p>
<p>
2、在核心层之上覆盖的是命令插件层。之所以叫命令插件层,是因为UEditor中所有的功能型实现都是通过这一层中的命令和插件来完成的,并且各个命令和插件之间基本互不耦合——使用者需要使用哪个功能就导入哪个功能对应的命令或者插件文件,完全不用考虑另外那些杂七杂八的JS文件(极少数插件除外,关于这些插件下文会整理出一个依赖列表来供同学们参考)。
</p>
<p>
理论上来讲,所有的命令都是可以用插件来代替的,但是依然将两者分开的主要原因是命令都是一些静态的方法,无需随editor实例初始化,从而优化了编辑器的性能。而插件随编辑器的初始化而初始化,性能上会有少许的影响,但相比命令而言,插件能够完成更加复杂的功能。其中最主要的一个特点是在插件内部既可以为编辑器注册命令,也可以为编辑器绑定监听事件。这个特点使得为编辑器添加任何功能都可以在插件中独立完成。
</p>
<p>
3、在命令插件层之上则是UI层。UEditor的UI设计与核心层和命令插件层几乎完全解耦,简单的几个配置就可以为编辑器在界面上添加额外的UI元素和功能,具体的配置下面将会深入阐述。
</p>
<p>
<br/>
</p>
<p style="display:none;"
data-background="background-repeat:no-repeat;background-position:center center;background-color:#C3D69B;background-image:url(http://www.baidu.com/img/bdlogo.gif);">
<br/>
</p>
</div>
<script>
// 语法
// uParse(selector,[option])
/*
selector支持
id,class,tagName
*/
/*
目前支持的参数
option:
highlightJsUrl 代码高亮相关js的路径 如果展示有代码高亮,必须给定该属性
highlightCssUrl 代码高亮相关css的路径 如果展示有代码高亮,必须给定该属性
liiconpath 自定义列表样式的图标路径,可以不给定,默认'http://bs.baidu.com/listicon/',
listDefaultPaddingLeft : 自定义列表样式的左边宽度 默认'20',
customRule 可以传入你自己的处理规则函数,函数第一个参数是容器节点
*/
uParse('.content', {
rootPath: '../'
})
uParse('.content_background', {
rootPath: '../'
})
</script>
</div>
</body>
</html>
================================================
FILE: _examples-integrate/reactx/.gitignore
================================================
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
================================================
FILE: _examples-integrate/reactx/README.md
================================================
# Getting Started with Create React App
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
## Available Scripts
In the project directory, you can run:
### `npm start`
Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in your browser.
The page will reload when you make changes.\
You may also see any lint errors in the console.
### `npm test`
Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
### `npm run build`
Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
### `npm run eject`
**Note: this is a one-way operation. Once you `eject`, you can't go back!**
If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
## Learn More
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
To learn React, check out the [React documentation](https://reactjs.org/).
### Code Splitting
This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
### Analyzing the Bundle Size
This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
### Making a Progressive Web App
This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
### Advanced Configuration
This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
### Deployment
This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
### `npm run build` fails to minify
This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
================================================
FILE: _examples-integrate/reactx/package.json
================================================
{
"name": "reactx",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-scripts": "5.0.1",
"react-ueditor-wrap": "^1.0.8",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
================================================
FILE: _examples-integrate/reactx/public/index.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>React App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
================================================
FILE: _examples-integrate/reactx/public/manifest.json
================================================
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
================================================
FILE: _examples-integrate/reactx/public/robots.txt
================================================
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/anchor/anchor.html
================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
* {
color: #838383;
margin: 0;
padding: 0
}
html, body {
font-size: 12px;
overflow: hidden;
}
.content {
padding: 5px 0 0 15px;
}
input {
margin-left: 4px;
box-sizing: border-box;
width: 210px;
height: 30px;
line-height: 30px;
border: 1px solid #d7d7d7;
border-radius: 3px;
padding: 0 5px;
outline: none;
}
</style>
</head>
<body>
<div class="content">
<span><var id="lang_input_anchorName"></var></span><input id="anchorName" value=""/>
</div>
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
<script type="text/javascript">
var anchorInput = $G('anchorName'),
node = editor.selection.getRange().getClosedNode();
if (node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))) {
anchorInput.value = node;
}
anchorInput.onkeydown = function (evt) {
evt = evt || window.event;
if (evt.keyCode == 13) {
editor.execCommand('anchor', anchorInput.value);
dialog.close();
domUtils.preventDefault(evt)
}
};
dialog.onok = function () {
editor.execCommand('anchor', anchorInput.value);
dialog.close();
};
$focus(anchorInput);
</script>
</body>
</html>
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/attachment/attachment.css
================================================
/*! UEditorPlus v2.0.0*/
@charset "utf-8";.wrapper{zoom:1;width:630px;*width:626px;height:380px;margin:0 auto;padding:10px;position:relative;font-family:sans-serif}.tabhead{float:left}.tabbody{width:100%;height:346px;position:relative;clear:both}.tabbody .panel{position:absolute;width:0;height:0;background:#fff;overflow:hidden;display:none}.tabbody .panel.focus{width:100%;height:346px;display:block}.tabbody #upload.panel{width:0;height:0;overflow:hidden;position:absolute!important;clip:rect(1px,1px,1px,1px);background:#fff;display:block}.tabbody #upload.panel.focus{width:100%;height:346px;display:block;clip:auto}#upload .queueList{margin:0;width:100%;height:100%;position:absolute;overflow:hidden}#upload p{margin:0}.element-invisible{width:0!important;height:0!important;border:0;padding:0;margin:0;overflow:hidden;position:absolute!important;clip:rect(1px,1px,1px,1px)}#upload .placeholder{margin:10px;border:2px dashed #e6e6e6;*border:0 dashed #e6e6e6;height:172px;padding-top:150px;text-align:center;background:url(./images/image.png) center 70px no-repeat;color:#ccc;font-size:18px;position:relative;top:0;*top:10px}#upload .placeholder .webuploader-pick{font-size:18px;background:#00b7ee;border-radius:3px;line-height:44px;padding:0 30px;*width:120px;color:#fff;display:inline-block;margin:0 auto 20px;cursor:pointer;box-shadow:0 1px 1px rgba(0,0,0,.1)}#upload .placeholder .webuploader-pick-hover{background:#00a2d4}#filePickerContainer{text-align:center}#upload .placeholder .flashTip{color:#666;font-size:12px;position:absolute;width:100%;text-align:center;bottom:20px}#upload .placeholder .flashTip a{color:#0785d1;text-decoration:none}#upload .placeholder .flashTip a:hover{text-decoration:underline}#upload .placeholder.webuploader-dnd-over{border-color:#999}#upload .filelist{list-style:none;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;position:relative;height:300px}#upload .filelist:after{content:'';display:block;width:0;height:0;overflow:hidden;clear:both}#upload .filelist li{width:113px;height:113px;background:url(./images/bg.png);text-align:center;margin:9px 0 0 9px;*margin:6px 0 0 6px;position:relative;display:block;float:left;overflow:hidden;font-size:12px}#upload .filelist li p.log{position:relative;top:-45px}#upload .filelist li p.title{position:absolute;top:0;left:0;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;top:5px;text-indent:5px;text-align:left}#upload .filelist li p.progress{position:absolute;width:100%;bottom:0;left:0;height:8px;overflow:hidden;z-index:50;margin:0;border-radius:0;background:0 0;-webkit-box-shadow:0 0 0}#upload .filelist li p.progress span{display:none;overflow:hidden;width:0;height:100%;background:#1483d8 url(./images/progress.png) repeat-x;-webit-transition:width 200ms linear;-moz-transition:width 200ms linear;-o-transition:width 200ms linear;-ms-transition:width 200ms linear;transition:width 200ms linear;-webkit-animation:progressmove 2s linear infinite;-moz-animation:progressmove 2s linear infinite;-o-animation:progressmove 2s linear infinite;-ms-animation:progressmove 2s linear infinite;animation:progressmove 2s linear infinite;-webkit-transform:translateZ(0)}@-webkit-keyframes progressmove{0%{background-position:0 0}100%{background-position:17px 0}}@-moz-keyframes progressmove{0%{background-position:0 0}100%{background-position:17px 0}}@keyframes progressmove{0%{background-position:0 0}100%{background-position:17px 0}}#upload .filelist li p.imgWrap{position:relative;z-index:2;line-height:113px;vertical-align:middle;overflow:hidden;width:113px;height:113px;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-o-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-webit-transition:200ms ease-out;-moz-transition:200ms ease-out;-o-transition:200ms ease-out;-ms-transition:200ms ease-out;transition:200ms ease-out}#upload .filelist li p.imgWrap.notimage{margin-top:0;width:111px;height:111px;border:1px #eee solid}#upload .filelist li p.imgWrap.notimage i.file-preview{margin-top:15px}#upload .filelist li img{width:100%}#upload .filelist li p.error{background:#f43838;color:#fff;position:absolute;bottom:0;left:0;height:28px;line-height:28px;width:100%;z-index:100;display:none}#upload .filelist li .success{display:block;position:absolute;left:0;bottom:0;height:40px;width:100%;z-index:200;background:url(./images/success.png) no-repeat right bottom;background-image:url(./images/success.gif) \9}#upload .filelist li.filePickerBlock{width:113px;height:113px;background:url(./images/image.png) no-repeat center 12px;border:1px solid #eee;border-radius:0}#upload .filelist li.filePickerBlock div.webuploader-pick{width:100%;height:100%;margin:0;padding:0;opacity:0;background:0 0;font-size:0}#upload .filelist div.file-panel{position:absolute;height:0;filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#80000000', endColorstr='#80000000') \0;background:rgba(0,0,0,.5);width:100%;top:0;left:0;overflow:hidden;z-index:300}#upload .filelist div.file-panel span{width:24px;height:24px;display:inline;float:right;text-indent:-9999px;overflow:hidden;background:url(./images/icons.png) no-repeat;background:url(./images/icons.gif) no-repeat \9;margin:5px 1px 1px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#upload .filelist div.file-panel span.rotateLeft{display:none;background-position:0 -24px}#upload .filelist div.file-panel span.rotateLeft:hover{background-position:0 0}#upload .filelist div.file-panel span.rotateRight{display:none;background-position:-24px -24px}#upload .filelist div.file-panel span.rotateRight:hover{background-position:-24px 0}#upload .filelist div.file-panel span.cancel{background-position:-48px -24px}#upload .filelist div.file-panel span.cancel:hover{background-position:-48px 0}#upload .statusBar{height:45px;border-bottom:1px solid #dadada;margin:0 10px;padding:0;line-height:45px;vertical-align:middle;position:relative}#upload .statusBar .progress{border:1px solid #1483d8;width:198px;background:#fff;height:18px;position:absolute;top:12px;display:none;text-align:center;line-height:18px;color:#6dbfff;margin:0 10px 0 0}#upload .statusBar .progress span.percentage{width:0;height:100%;left:0;top:0;background:#1483d8;position:absolute}#upload .statusBar .progress span.text{position:relative;z-index:10}#upload .statusBar .info{display:inline-block;font-size:14px;color:#666}#upload .statusBar .btns{position:absolute;top:7px;right:0;line-height:30px}#filePickerBtn{display:inline-block;float:left}#upload .statusBar .btns .webuploader-pick,#upload .statusBar .btns .uploadBtn,#upload .statusBar .btns .uploadBtn.state-uploading,#upload .statusBar .btns .uploadBtn.state-paused{background:#fff;border:1px solid #cfcfcf;color:#565656;padding:0 18px;display:inline-block;border-radius:3px;margin-left:10px;cursor:pointer;font-size:14px;float:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#upload .statusBar .btns .webuploader-pick-hover,#upload .statusBar .btns .uploadBtn:hover,#upload .statusBar .btns .uploadBtn.state-uploading:hover,#upload .statusBar .btns .uploadBtn.state-paused:hover{background:#f0f0f0}#upload .statusBar .btns .uploadBtn,#upload .statusBar .btns .uploadBtn.state-paused{background:#00b7ee;color:#fff;border-color:transparent}#upload .statusBar .btns .uploadBtn:hover,#upload .statusBar .btns .uploadBtn.state-paused:hover{background:#00a2d4}#upload .statusBar .btns .uploadBtn.disabled{pointer-events:none;filter:alpha(opacity=60);-moz-opacity:.6;-khtml-opacity:.6;opacity:.6}#online{width:100%;height:336px;padding:10px 0 0}#online #fileList{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;position:relative}#online ul{display:block;list-style:none;margin:0;padding:0}#online li{float:left;display:block;list-style:none;padding:0;width:113px;height:113px;margin:0 0 9px 9px;*margin:0 0 6px 6px;background-color:#eee;overflow:hidden;cursor:pointer;position:relative}#online li.clearFloat{float:none;clear:both;display:block;width:0;height:0;margin:0;padding:0}#online li img{cursor:pointer}#online li div.file-wrapper{cursor:pointer;position:absolute;display:block;width:111px;height:111px;border:1px solid #eee;background:url(./images/bg.png) repeat}#online li div span.file-title{display:block;padding:0 3px;margin:3px 0 0;font-size:12px;height:15px;color:#555;text-align:center;width:107px;white-space:nowrap;word-break:break-all;overflow:hidden;text-overflow:ellipsis}#online li .icon{cursor:pointer;width:113px;height:113px;position:absolute;top:0;left:0;z-index:2;border:0;background-repeat:no-repeat}#online li .icon:hover{width:107px;height:107px;border:3px solid #1094fa}#online li.selected .icon{background-image:url(images/success.png);background-image:url(images/success.gif) \9;background-position:75px 75px}#online li.selected .icon:hover{width:107px;height:107px;border:3px solid #1094fa;background-position:72px 72px}i.file-preview{display:block;margin:10px auto;width:70px;height:70px;background-image:url(./images/file-icons.png);background-image:url(./images/file-icons.gif) \9;background-position:-140px center;background-repeat:no-repeat}i.file-preview.file-type-dir{background-position:0 center}i.file-preview.file-type-file{background-position:-140px center}i.file-preview.file-type-filelist{background-position:-210px center}i.file-preview.file-type-zip,i.file-preview.file-type-rar,i.file-preview.file-type-7z,i.file-preview.file-type-tar,i.file-preview.file-type-gz,i.file-preview.file-type-bz2{background-position:-280px center}i.file-preview.file-type-xls,i.file-preview.file-type-xlsx{background-position:-350px center}i.file-preview.file-type-doc,i.file-preview.file-type-docx{background-position:-420px center}i.file-preview.file-type-ppt,i.file-preview.file-type-pptx{background-position:-490px center}i.file-preview.file-type-vsd{background-position:-560px center}i.file-preview.file-type-pdf{background-position:-630px center}i.file-preview.file-type-txt,i.file-preview.file-type-md,i.file-preview.file-type-json,i.file-preview.file-type-htm,i.file-preview.file-type-xml,i.file-preview.file-type-html,i.file-preview.file-type-js,i.file-preview.file-type-css,i.file-preview.file-type-php,i.file-preview.file-type-jsp,i.file-preview.file-type-asp{background-position:-700px center}i.file-preview.file-type-apk{background-position:-770px center}i.file-preview.file-type-exe{background-position:-840px center}i.file-preview.file-type-ipa{background-position:-910px center}i.file-preview.file-type-mp4,i.file-preview.file-type-swf,i.file-preview.file-type-mkv,i.file-preview.file-type-avi,i.file-preview.file-type-flv,i.file-preview.file-type-mov,i.file-preview.file-type-mpg,i.file-preview.file-type-mpeg,i.file-preview.file-type-ogv,i.file-preview.file-type-webm,i.file-preview.file-type-rm,i.file-preview.file-type-rmvb{background-position:-980px center}i.file-preview.file-type-ogg,i.file-preview.file-type-wav,i.file-preview.file-type-wmv,i.file-preview.file-type-mid,i.file-preview.file-type-mp3{background-position:-1050px center}i.file-preview.file-type-jpg,i.file-preview.file-type-jpeg,i.file-preview.file-type-gif,i.file-preview.file-type-bmp,i.file-preview.file-type-png,i.file-preview.file-type-psd{background-position:-140px center}
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/attachment/attachment.html
================================================
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>ueditor图片对话框</title>
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
<!-- jquery -->
<script type="text/javascript" src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
<!-- webuploader -->
<script src="../../third-party/webuploader/webuploader.js?2e7e9092"></script>
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css?b8f06036">
<!-- attachment dialog -->
<link rel="stylesheet" href="attachment.css?32c6a90a" type="text/css"/>
</head>
<body>
<div class="wrapper">
<div id="tabhead" class="tabhead">
<span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span>
<span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
</div>
<div id="tabbody" class="tabbody">
<!-- 上传图片 -->
<div id="upload" class="panel focus">
<div id="queueList" class="queueList">
<div class="statusBar element-invisible">
<div class="progress">
<span class="text">0%</span>
<span class="percentage"></span>
</div>
<div class="info"></div>
<div class="btns">
<div id="filePickerBtn"></div>
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
</div>
</div>
<div id="dndArea" class="placeholder">
<div class="filePickerContainer">
<div id="filePickerReady"></div>
</div>
</div>
<ul class="filelist element-invisible">
<li id="filePickerBlock" class="filePickerBlock"></li>
</ul>
</div>
</div>
<!-- 在线图片 -->
<div id="online" class="panel">
<div id="fileList"><var id="lang_imgLoading"></var></div>
</div>
</div>
</div>
<script type="text/javascript" src="attachment.js?1598cea7"></script>
</body>
</html>
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/attachment/attachment.js
================================================
/*! UEditorPlus v2.0.0*/
!function(){function initTabs(){for(var a=$G("tabhead").children,b=0;b<a.length;b++)domUtils.on(a[b],"click",function(a){var b=a.target||a.srcElement;setTabFocus(b.getAttribute("data-content-id"))});setTabFocus("upload")}function setTabFocus(a){if(a){var b,c,d=$G("tabhead").children;for(b=0;b<d.length;b++)c=d[b].getAttribute("data-content-id"),c==a?(domUtils.addClass(d[b],"focus"),domUtils.addClass($G(c),"focus")):(domUtils.removeClasses(d[b],"focus"),domUtils.removeClasses($G(c),"focus"));switch(a){case"upload":uploadFile=uploadFile||new UploadFile("queueList");break;case"online":onlineFile=onlineFile||new OnlineFile("fileList")}}}function initButtons(){dialog.onok=function(){for(var a,b=[],c=$G("tabhead").children,d=0;d<c.length;d++)if(domUtils.hasClass(c[d],"focus")){a=c[d].getAttribute("data-content-id");break}switch(a){case"upload":b=uploadFile.getInsertList();var e=uploadFile.getQueueCount();if(e)return $(".info","#queueList").html('<span style="color:red;">'+"还有2个未上传文件".replace(/[\d]/,e)+"</span>"),!1;break;case"online":b=onlineFile.getInsertList()}editor.execCommand("insertfile",b)}}function UploadFile(a){this.$wrap=a.constructor==String?$("#"+a):$(a),this.init()}function OnlineFile(a){this.container=utils.isString(a)?document.getElementById(a):a,this.init()}var uploadFile,onlineFile;window.onload=function(){initTabs(),initButtons()},UploadFile.prototype={init:function(){this.fileList=[],this.initContainer(),this.initUploader()},initContainer:function(){this.$queue=this.$wrap.find(".filelist")},initUploader:function(){function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p><p class="imgWrap"></p><p class="progress"><span></span></p></li>'),c=h('<div class="file-panel"><span class="cancel">'+lang.uploadDelete+'</span><span class="rotateRight">'+lang.uploadTurnRight+'</span><span class="rotateLeft">'+lang.uploadTurnLeft+"</span></div>").appendTo(b),d=b.find("p.progress span"),e=b.find("p.imgWrap"),g=h('<p class="error"></p>').hide().appendTo(b),i=function(a){switch(a){case"exceed_size":text=lang.errorExceedSize;break;case"interrupt":text=lang.errorInterrupt;break;case"http":text=lang.errorHttp;break;case"not_allow_type":text=lang.errorFileType;break;default:text=lang.errorUploadRetry}g.text(text).show()};"invalid"===a.getStatus()?i(a.statusText):(e.text(lang.uploadPreview),"|png|jpg|jpeg|bmp|gif|".indexOf("|"+a.ext.toLowerCase()+"|")==-1?e.empty().addClass("notimage").append('<i class="file-preview file-type-'+a.ext.toLowerCase()+'"></i><span class="file-title" title="'+a.name+'">'+a.name+"</span>"):browser.ie&&browser.version<=7?e.text(lang.uploadNoPreview):f.makeThumb(a,function(a,b){if(a||!b)e.text(lang.uploadNoPreview);else{var c=h('<img src="'+b+'">');e.empty().append(c),c.on("error",function(){e.text(lang.uploadNoPreview)})}},t,u),w[a.id]=[a.size,0],a.rotation=0,a.ext&&A.indexOf(a.ext.toLowerCase())!=-1||(i("not_allow_type"),f.removeFile(a))),a.on("statuschange",function(e,f){"progress"===f?d.hide().width(0):"queued"===f&&(b.off("mouseenter mouseleave"),c.remove()),"error"===e||"invalid"===e?(i(a.statusText),w[a.id][1]=1):"interrupt"===e?i("interrupt"):"queued"===e?w[a.id][1]=0:"progress"===e&&(g.hide(),d.css("display","block")),b.removeClass("state-"+f).addClass("state-"+e)}),b.on("mouseenter",function(){c.stop().animate({height:30})}),b.on("mouseleave",function(){c.stop().animate({height:0})}),c.on("click","span",function(){var b,c=h(this).index();switch(c){case 0:return void f.removeFile(a);case 1:a.rotation+=90;break;case 2:a.rotation-=90}x?(b="rotate("+a.rotation+"deg)",e.css({"-webkit-transform":b,"-mos-transform":b,"-o-transform":b,transform:b})):e.css("filter","progid:DXImageTransform.Microsoft.BasicImage(rotation="+~~(a.rotation/90%4+4)%4+")")}),b.insertBefore(n)}function b(a){var b=h("#"+a.id);delete w[a.id],c(),b.off().find(".file-panel").off().end().remove()}function c(){var a,b=0,c=0,d=p.children();h.each(w,function(a,d){c+=d[0],b+=d[0]*d[1]}),a=c?b/c:0,d.eq(0).text(Math.round(100*a)+"%"),d.eq(1).css("width",Math.round(100*a)+"%"),e()}function d(a,b){if(a!=v){var c=f.getStats();switch(m.removeClass("state-"+v),m.addClass("state-"+a),a){case"pedding":j.addClass("element-invisible"),k.addClass("element-invisible"),o.removeClass("element-invisible"),p.hide(),l.hide(),f.refresh();break;case"ready":o.addClass("element-invisible"),j.removeClass("element-invisible"),k.removeClass("element-invisible"),p.hide(),l.show(),m.text(lang.uploadStart),f.refresh();break;case"uploading":p.show(),l.hide(),m.text(lang.uploadPause);break;case"paused":p.show(),l.hide(),m.text(lang.uploadContinue);break;case"confirm":if(p.show(),l.hide(),m.text(lang.uploadStart),c=f.getStats(),c.successNum&&!c.uploadFailNum)return void d("finish");break;case"finish":p.hide(),l.show(),c.uploadFailNum?m.text(lang.uploadRetry):m.text(lang.uploadStart)}v=a,e()}g.getQueueCount()?m.removeClass("disabled"):m.addClass("disabled")}function e(){var a,b="";"ready"===v?b=lang.updateStatusReady.replace("_",q).replace("_KB",WebUploader.formatSize(r)):"confirm"===v?(a=f.getStats(),a.uploadFailNum&&(b=lang.updateStatusConfirm.replace("_",a.successNum).replace("_",a.successNum))):(a=f.getStats(),b=lang.updateStatusFinish.replace("_",q).replace("_KB",WebUploader.formatSize(r)).replace("_",a.successNum),a.uploadFailNum&&(b+=lang.updateStatusError.replace("_",a.uploadFailNum))),l.html(b)}var f,g=this,h=jQuery,i=g.$wrap,j=i.find(".filelist"),k=i.find(".statusBar"),l=k.find(".info"),m=i.find(".uploadBtn"),n=(i.find(".filePickerBtn"),i.find(".filePickerBlock")),o=i.find(".placeholder"),p=k.find(".progress").hide(),q=0,r=0,s=window.devicePixelRatio||1,t=113*s,u=113*s,v="",w={},x=function(){var a=document.createElement("p").style,b="transition"in a||"WebkitTransition"in a||"MozTransition"in a||"msTransition"in a||"OTransition"in a;return a=null,b}(),y=editor.getActionUrl(editor.getOpt("fileActionName")),z=editor.getOpt("fileMaxSize"),A=(editor.getOpt("fileAllowFiles")||[]).join("").replace(/\./g,",").replace(/^[,]/,"");return WebUploader.Uploader.support()?editor.getOpt("fileActionName")?(f=g.uploader=WebUploader.create({pick:{id:"#filePickerReady",label:lang.uploadSelectFile},swf:"../../third-party/webuploader/Uploader.swf",server:y,fileVal:editor.getOpt("fileFieldName"),duplicate:!0,fileSingleSizeLimit:z,headers:editor.getOpt("serverHeaders")||{},compress:!1}),f.addButton({id:"#filePickerBlock"}),f.addButton({id:"#filePickerBtn",label:lang.uploadAddFile}),d("pedding"),f.on("fileQueued",function(b){b.ext&&A.indexOf(b.ext.toLowerCase())!=-1&&b.size<=z&&(q++,r+=b.size),1===q&&(o.addClass("element-invisible"),k.show()),a(b)}),f.on("fileDequeued",function(a){a.ext&&A.indexOf(a.ext.toLowerCase())!=-1&&a.size<=z&&(q--,r-=a.size),b(a),c()}),f.on("filesQueued",function(a){f.isInProgress()||"pedding"!=v&&"finish"!=v&&"confirm"!=v&&"ready"!=v||d("ready"),c()}),f.on("all",function(a,b){switch(a){case"uploadFinished":d("confirm",b);break;case"startUpload":var c=utils.serializeParam(editor.queryCommandValue("serverparam"))||"",e=utils.formatUrl(y+(y.indexOf("?")==-1?"?":"&")+"encode=utf-8&"+c);f.option("server",e),d("uploading",b);break;case"stopUpload":d("paused",b)}}),f.on("uploadBeforeSend",function(a,b,c){y.toLowerCase().indexOf("jsp")!=-1&&(c.X_Requested_With="XMLHttpRequest")}),f.on("uploadProgress",function(a,b){var d=h("#"+a.id),e=d.find(".progress span");e.css("width",100*b+"%"),w[a.id][1]=b,c()}),f.on("uploadSuccess",function(a,b){var c=h("#"+a.id);try{var d=b._raw||b,e=utils.str2json(d);"SUCCESS"==e.state?(g.fileList.push(e),c.append('<span class="success"></span>'),editor.fireEvent("uploadsuccess",{res:e,type:"file"})):c.find(".error").text(e.state).show()}catch(f){c.find(".error").text(lang.errorServerUpload).show()}}),f.on("uploadError",function(a,b){}),f.on("error",function(b,c){"Q_TYPE_DENIED"!=b&&"F_EXCEED_SIZE"!=b||a(c)}),f.on("uploadComplete",function(a,b){}),m.on("click",function(){return!h(this).hasClass("disabled")&&void("ready"===v?f.upload():"paused"===v?f.upload():"uploading"===v&&f.stop())}),m.addClass("state-"+v),void c()):void h("#filePickerReady").after(h("<div>").html(lang.errorLoadConfig)).hide():void h("#filePickerReady").after(h("<div>").html(lang.errorNotSupport)).hide()},getQueueCount:function(){var a,b,c,d=0,e=this.uploader.getFiles();for(b=0;a=e[b++];)c=a.getStatus(),"queued"!=c&&"uploading"!=c&&"progress"!=c||d++;return d},getInsertList:function(){var a,b,c,d=[],e=editor.getOpt("fileUrlPrefix");for(a=0;a<this.fileList.length;a++)c=this.fileList[a],b=c.url,d.push({title:c.original||b.substr(b.lastIndexOf("/")+1),url:e+b});return d}},OnlineFile.prototype={init:function(){this.initContainer(),this.initEvents(),this.initData()},initContainer:function(){this.container.innerHTML="",this.list=document.createElement("ul"),this.clearFloat=document.createElement("li"),domUtils.addClass(this.list,"list"),domUtils.addClass(this.clearFloat,"clearFloat"),this.list.appendChild(this.clearFloat),this.container.appendChild(this.list)},initEvents:function(){var a=this;domUtils.on($G("fileList"),"scroll",function(b){var c=this;c.scrollHeight-(c.offsetHeight+c.scrollTop)<10&&a.getFileData()}),domUtils.on(this.list,"click",function(a){var b=a.target||a.srcElement,c=b.parentNode;"li"==c.tagName.toLowerCase()&&(domUtils.hasClass(c,"selected")?domUtils.removeClasses(c,"selected"):domUtils.addClass(c,"selected"))})},initData:function(){this.state=0,this.listSize=editor.getOpt("fileManagerListSize"),this.listIndex=0,this.listEnd=!1,this.getFileData()},getFileData:function(){var _this=this;_this.listEnd||this.isLoadingData||(this.isLoadingData=!0,ajax.request(editor.getActionUrl(editor.getOpt("fileManagerActionName")),{timeout:1e5,data:utils.extend({start:this.listIndex,size:this.listSize},editor.queryCommandValue("serverparam")),headers:editor.options.serverHeaders||{},method:"get",onsuccess:function(r){try{var json=eval("("+r.responseText+")");"SUCCESS"==json.state&&(_this.pushData(json.list),_this.listIndex=parseInt(json.start)+parseInt(json.list.length),_this.listIndex>=json.total&&(_this.listEnd=!0),_this.isLoadingData=!1)}catch(e){if(r.responseText.indexOf("ue_separate_ue")!=-1){var list=r.responseText.split(r.responseText);_this.pushData(list),_this.listIndex=parseInt(list.length),_this.listEnd=!0,_this.isLoadingData=!1}}},onerror:function(){_this.isLoadingData=!1}}))},pushData:function(a){var b,c,d,e,f,g=this,h=editor.getOpt("fileManagerUrlPrefix");for(b=0;b<a.length;b++)if(a[b]&&a[b].url){if(c=document.createElement("li"),f=document.createElement("span"),d=a[b].url.substr(a[b].url.lastIndexOf(".")+1),"png|jpg|jpeg|gif|bmp".indexOf(d)!=-1)e=document.createElement("img"),domUtils.on(e,"load",function(a){return function(){g.scale(a,a.parentNode.offsetWidth,a.parentNode.offsetHeight)}}(e)),e.width=113,e.setAttribute("src",h+a[b].url+(a[b].url.indexOf("?")==-1?"?noCache=":"&noCache=")+(+new Date).toString(36));else{var i=document.createElement("i"),j=document.createElement("span");j.innerHTML=a[b].original||a[b].url.substr(a[b].url.lastIndexOf("/")+1),e=document.createElement("div"),e.appendChild(i),e.appendChild(j),domUtils.addClass(e,"file-wrapper"),domUtils.addClass(j,"file-title"),domUtils.addClass(i,"file-type-"+d),domUtils.addClass(i,"file-preview")}domUtils.addClass(f,"icon"),c.setAttribute("data-url",h+a[b].url),a[b].original&&c.setAttribute("data-title",a[b].original),c.appendChild(e),c.appendChild(f),this.list.insertBefore(c,this.clearFloat)}},scale:function(a,b,c,d){var e=a.width,f=a.height;"justify"==d?e>=f?(a.width=b,a.height=c*f/e,a.style.marginLeft="-"+parseInt((a.width-b)/2)+"px"):(a.width=b*e/f,a.height=c,a.style.marginTop="-"+parseInt((a.height-c)/2)+"px"):e>=f?(a.width=b*e/f,a.height=c,a.style.marginLeft="-"+parseInt((a.width-b)/2)+"px"):(a.width=b,a.height=c*f/e,a.style.marginTop="-"+parseInt((a.height-c)/2)+"px")},getInsertList:function(){var a,b=this.list.children,c=[];for(a=0;a<b.length;a++)if(domUtils.hasClass(b[a],"selected")){var d=b[a].getAttribute("data-url"),e=b[a].getAttribute("data-title")||d.substr(d.lastIndexOf("/")+1);c.push({title:e,url:d})}return c}}}();
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/audio/audio.css
================================================
/*! UEditorPlus v2.0.0*/
@charset "utf-8";.wrapper{width:570px;_width:575px;margin:10px auto;zoom:1;position:relative}.tabbody{height:355px}.tabbody .panel{position:absolute;width:0;height:0;background:#fff;overflow:hidden;display:none}.tabbody .panel.focus{width:100%;height:355px;display:block}.tabbody .panel table td{vertical-align:middle}#audioUrl{width:380px;height:26px;line-height:26px;margin:8px 5px;background:#FFF;border:1px solid #d7d7d7;outline:0;border-radius:3px;padding:0 5px}#audioSelect{width:100px;display:inline-block;background:#FFF;border:1px solid #EEE;line-height:26px;text-align:center;color:#333;text-decoration:none;border-radius:3px;vertical-align:middle}#audioSearchTxt{margin-left:15px;background:#FFF;width:200px;height:21px;line-height:21px;border:1px solid #d7d7d7}#searchList{width:570px;overflow:auto;zoom:1;height:270px}#searchList div{float:left;width:120px;height:135px;margin:5px 15px}#searchList img{margin:2px 8px;cursor:pointer;border:2px solid #fff}#searchList p{margin-left:10px}#audioType{width:65px;height:23px;line-height:22px;border:1px solid #d7d7d7}#audioSearchBtn,#audioSearchReset{height:25px;line-height:25px;background:#eee;border:1px solid #d7d7d7;cursor:pointer;padding:0 5px}#preview{position:relative;width:420px;padding:0;overflow:hidden;margin-left:10px;_margin-left:5px;height:280px;background-color:#ddd;float:left}#preview .previewMsg{position:absolute;top:0;margin:0;padding:0;height:280px;width:100%;background-color:#666}#preview .previewMsg span{display:block;margin:125px auto 0;text-align:center;font-size:18px;color:#fff}#preview .previewaudio{position:absolute;top:0;margin:0;padding:0;height:280px;width:100%}.edui-audio-wrapper fieldset{border:1px solid #ddd;padding-left:5px;margin-bottom:20px;padding-bottom:5px;width:115px}#audioInfo{width:120px;float:left;margin-left:10px;_margin-left:7px}fieldset{border:1px solid #ddd;padding-left:5px;margin-bottom:20px;padding-bottom:5px;width:115px}fieldset legend{font-weight:700}fieldset p{line-height:30px}fieldset input.txt{width:65px;height:21px;line-height:21px;margin:8px 5px;background:#FFF;border:1px solid #d7d7d7}label.url{font-weight:700;margin-left:5px}#audioFloat div{cursor:pointer;opacity:.5;filter:alpha(opacity=50);margin:9px;_margin:5px;width:38px;height:36px;float:left}#audioFloat .focus{opacity:1;filter:alpha(opacity=100)}span.view{display:inline-block;width:30px;float:right;cursor:pointer;color:#00f}.tabbody #upload.panel{width:0;height:0;overflow:hidden;position:absolute!important;clip:rect(1px,1px,1px,1px);background:#fff;display:block}.tabbody #upload.panel.focus{width:100%;height:335px;display:block;clip:auto}#upload_alignment div{cursor:pointer;opacity:.5;filter:alpha(opacity=50);margin:9px;_margin:5px;width:38px;height:36px;float:left}#upload_alignment .focus{opacity:1;filter:alpha(opacity=100)}#upload_left{width:427px;float:left}#upload_left .controller{height:30px;clear:both}#uploadaudioInfo{margin-top:10px;float:right;padding-right:8px}#upload .queueList{margin:0}#upload p{margin:0}.element-invisible{width:0!important;height:0!important;border:0;padding:0;margin:0;overflow:hidden;position:absolute!important;clip:rect(1px,1px,1px,1px)}#upload .placeholder{margin:10px;margin-right:0;border:2px dashed #e6e6e6;*border:0 dashed #e6e6e6;height:161px;padding-top:150px;text-align:center;width:97%;float:left;background:url(./images/image.png) center 70px no-repeat;color:#ccc;font-size:18px;position:relative;top:0;*margin-left:0;*left:10px}#upload .placeholder .webuploader-pick{font-size:18px;background:#00b7ee;border-radius:3px;line-height:44px;padding:0 30px;*width:120px;color:#fff;display:inline-block;margin:0 auto 20px;cursor:pointer;box-shadow:0 1px 1px rgba(0,0,0,.1)}#upload .placeholder .webuploader-pick-hover{background:#00a2d4}#filePickerContainer{text-align:center}#upload .placeholder .flashTip{color:#666;font-size:12px;position:absolute;width:100%;text-align:center;bottom:20px}#upload .placeholder .flashTip a{color:#0785d1;text-decoration:none}#upload .placeholder .flashTip a:hover{text-decoration:underline}#upload .placeholder.webuploader-dnd-over{border-color:#999}#upload .filelist{list-style:none;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;position:relative;height:285px}#upload .filelist:after{content:'';display:block;width:0;height:0;overflow:hidden;clear:both}#upload .filelist li{width:113px;height:113px;background:url(./images/bg.png);text-align:center;margin:15px 0 0 20px;*margin:15px 0 0 15px;position:relative;display:block;float:left;overflow:hidden;font-size:12px}#upload .filelist li p.log{position:relative;top:-45px}#upload .filelist li p.title{position:absolute;top:0;left:0;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;top:5px;text-indent:5px;text-align:left}#upload .filelist li p.progress{position:absolute;width:100%;bottom:0;left:0;height:8px;overflow:hidden;z-index:50;margin:0;border-radius:0;background:0 0;-webkit-box-shadow:0 0 0}#upload .filelist li p.progress span{display:none;overflow:hidden;width:0;height:100%;background:#1483d8 url(./images/progress.png) repeat-x;-webit-transition:width 200ms linear;-moz-transition:width 200ms linear;-o-transition:width 200ms linear;-ms-transition:width 200ms linear;transition:width 200ms linear;-webkit-animation:progressmove 2s linear infinite;-moz-animation:progressmove 2s linear infinite;-o-animation:progressmove 2s linear infinite;-ms-animation:progressmove 2s linear infinite;animation:progressmove 2s linear infinite;-webkit-transform:translateZ(0)}@-webkit-keyframes progressmove{0%{background-position:0 0}100%{background-position:17px 0}}@-moz-keyframes progressmove{0%{background-position:0 0}100%{background-position:17px 0}}@keyframes progressmove{0%{background-position:0 0}100%{background-position:17px 0}}#upload .filelist li p.imgWrap{position:relative;z-index:2;line-height:113px;vertical-align:middle;overflow:hidden;width:113px;height:113px;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-o-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-webit-transition:200ms ease-out;-moz-transition:200ms ease-out;-o-transition:200ms ease-out;-ms-transition:200ms ease-out;transition:200ms ease-out}#upload .filelist li p.imgWrap.notimage{margin-top:0;width:111px;height:111px;border:1px #eee solid}#upload .filelist li p.imgWrap.notimage i.file-preview{margin-top:15px}#upload .filelist li img{width:100%}#upload .filelist li p.error{background:#f43838;color:#fff;position:absolute;bottom:0;left:0;height:28px;line-height:28px;width:100%;z-index:100;display:none}#upload .filelist li .success{display:block;position:absolute;left:0;bottom:0;height:40px;width:100%;z-index:200;background:url(./images/success.png) no-repeat right bottom;background-image:url(./images/success.gif) \9}#upload .filelist li.filePickerBlock{width:113px;height:113px;background:url(./images/image.png) no-repeat center 12px;border:1px solid #eee;border-radius:0}#upload .filelist li.filePickerBlock div.webuploader-pick{width:100%;height:100%;margin:0;padding:0;opacity:0;background:0 0;font-size:0}#upload .filelist div.file-panel{position:absolute;height:0;filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#80000000', endColorstr='#80000000') \0;background:rgba(0,0,0,.5);width:100%;top:0;left:0;overflow:hidden;z-index:300}#upload .filelist div.file-panel span{width:24px;height:24px;display:inline;float:right;text-indent:-9999px;overflow:hidden;background:url(./images/icons.png) no-repeat;background:url(./images/icons.gif) no-repeat \9;margin:5px 1px 1px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#upload .filelist div.file-panel span.rotateLeft{display:none;background-position:0 -24px}#upload .filelist div.file-panel span.rotateLeft:hover{background-position:0 0}#upload .filelist div.file-panel span.rotateRight{display:none;background-position:-24px -24px}#upload .filelist div.file-panel span.rotateRight:hover{background-position:-24px 0}#upload .filelist div.file-panel span.cancel{background-position:-48px -24px}#upload .filelist div.file-panel span.cancel:hover{background-position:-48px 0}#upload .statusBar{height:45px;border-bottom:1px solid #dadada;margin:0 10px;padding:0;line-height:45px;vertical-align:middle;position:relative}#upload .statusBar .progress{border:1px solid #1483d8;width:198px;background:#fff;height:18px;position:absolute;top:12px;display:none;text-align:center;line-height:18px;color:#6dbfff;margin:0 10px 0 0}#upload .statusBar .progress span.percentage{width:0;height:100%;left:0;top:0;background:#1483d8;position:absolute}#upload .statusBar .progress span.text{position:relative;z-index:10}#upload .statusBar .info{display:inline-block;font-size:14px;color:#666}#upload .statusBar .btns{position:absolute;top:7px;right:0;line-height:30px}#filePickerBtn{display:inline-block;float:left}#upload .statusBar .btns .webuploader-pick,#upload .statusBar .btns .uploadBtn,#upload .statusBar .btns .uploadBtn.state-uploading,#upload .statusBar .btns .uploadBtn.state-paused{background:#fff;border:1px solid #cfcfcf;color:#565656;padding:0 18px;display:inline-block;border-radius:3px;margin-left:10px;cursor:pointer;font-size:14px;float:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#upload .statusBar .btns .webuploader-pick-hover,#upload .statusBar .btns .uploadBtn:hover,#upload .statusBar .btns .uploadBtn.state-uploading:hover,#upload .statusBar .btns .uploadBtn.state-paused:hover{background:#f0f0f0}#upload .statusBar .btns .uploadBtn,#upload .statusBar .btns .uploadBtn.state-paused{background:#00b7ee;color:#fff;border-color:transparent}#upload .statusBar .btns .uploadBtn:hover,#upload .statusBar .btns .uploadBtn.state-paused:hover{background:#00a2d4}#upload .statusBar .btns .uploadBtn.disabled{pointer-events:none;filter:alpha(opacity=60);-moz-opacity:.6;-khtml-opacity:.6;opacity:.6}i.file-preview{display:block;margin:10px auto;width:70px;height:70px;background-image:url(./images/file-icons.png);background-image:url(./images/file-icons.gif) \9;background-position:-140px center;background-repeat:no-repeat}i.file-preview.file-type-dir{background-position:0 center}i.file-preview.file-type-file{background-position:-140px center}i.file-preview.file-type-filelist{background-position:-210px center}i.file-preview.file-type-zip,i.file-preview.file-type-rar,i.file-preview.file-type-7z,i.file-preview.file-type-tar,i.file-preview.file-type-gz,i.file-preview.file-type-bz2{background-position:-280px center}i.file-preview.file-type-xls,i.file-preview.file-type-xlsx{background-position:-350px center}i.file-preview.file-type-doc,i.file-preview.file-type-docx{background-position:-420px center}i.file-preview.file-type-ppt,i.file-preview.file-type-pptx{background-position:-490px center}i.file-preview.file-type-vsd{background-position:-560px center}i.file-preview.file-type-pdf{background-position:-630px center}i.file-preview.file-type-txt,i.file-preview.file-type-md,i.file-preview.file-type-json,i.file-preview.file-type-htm,i.file-preview.file-type-xml,i.file-preview.file-type-html,i.file-preview.file-type-js,i.file-preview.file-type-css,i.file-preview.file-type-php,i.file-preview.file-type-jsp,i.file-preview.file-type-asp{background-position:-700px center}i.file-preview.file-type-apk{background-position:-770px center}i.file-preview.file-type-exe{background-position:-840px center}i.file-preview.file-type-ipa{background-position:-910px center}i.file-preview.file-type-mp4,i.file-preview.file-type-swf,i.file-preview.file-type-mkv,i.file-preview.file-type-avi,i.file-preview.file-type-flv,i.file-preview.file-type-mov,i.file-preview.file-type-mpg,i.file-preview.file-type-mpeg,i.file-preview.file-type-ogv,i.file-preview.file-type-webm,i.file-preview.file-type-rm,i.file-preview.file-type-rmvb{background-position:-980px center}i.file-preview.file-type-ogg,i.file-preview.file-type-wav,i.file-preview.file-type-wmv,i.file-preview.file-type-mid,i.file-preview.file-type-mp3{background-position:-1050px center}i.file-preview.file-type-jpg,i.file-preview.file-type-jpeg,i.file-preview.file-type-gif,i.file-preview.file-type-bmp,i.file-preview.file-type-png,i.file-preview.file-type-psd{background-position:-140px center}
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/audio/audio.html
================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
<link rel="stylesheet" type="text/css" href="audio.css?622512f6"/>
</head>
<body>
<div class="wrapper">
<div id="audioTab">
<div id="tabHeads" class="tabhead">
<span tabSrc="audio" class="focus" data-content-id="audio"><var id="lang_tab_insertV"></var></span>
<span tabSrc="upload" style="display:none;" data-content-id="upload"><var
id="lang_tab_uploadV"></var></span>
</div>
<div id="tabBodys" class="tabbody">
<div id="audio" class="panel focus">
<table>
<tr>
<td><label for="audioUrl" class="url"><var id="lang_audio_url"></var></label></td>
<td><input id="audioUrl" type="text"><a href="javascript:;" id="audioSelect"
style="display:none;">选择音频</a></td>
</tr>
</table>
<div style="padding:0 5px 5px 5px;color:#999;">
外链音频支持MP3格式
</div>
<div id="preview"></div>
<div id="audioInfo">
<fieldset>
<legend><var id="lang_alignment"></var></legend>
<div id="audioFloat"></div>
</fieldset>
</div>
</div>
<div id="upload" class="panel">
<div id="upload_left">
<div id="queueList" class="queueList">
<div class="statusBar element-invisible">
<div class="progress">
<span class="text">0%</span>
<span class="percentage"></span>
</div>
<div class="info"></div>
<div class="btns">
<div id="filePickerBtn"></div>
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
</div>
</div>
<div id="dndArea" class="placeholder">
<div class="filePickerContainer">
<div id="filePickerReady"></div>
</div>
</div>
<ul class="filelist element-invisible">
<li id="filePickerBlock" class="filePickerBlock"></li>
</ul>
</div>
</div>
<div id="uploadaudioInfo">
<fieldset>
<legend><var id="lang_upload_alignment"></var></legend>
<div id="upload_alignment"></div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<!-- jquery -->
<script type="text/javascript" src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
<!-- webuploader -->
<script type="text/javascript" src="../../third-party/webuploader/webuploader.js?2e7e9092"></script>
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css?b8f06036">
<!-- audio -->
<script type="text/javascript" src="audio.js?d76559eb"></script>
</body>
</html>
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/audio/audio.js
================================================
/*! UEditorPlus v2.0.0*/
!function(){function a(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++)domUtils.on(a[b],"click",function(b){var c,d,e=b.target||b.srcElement;for(c=0;c<a.length;c++)d=a[c].getAttribute("data-content-id"),a[c]==e?(domUtils.addClass(a[c],"focus"),domUtils.addClass($G(d),"focus")):(domUtils.removeClasses(a[c],"focus"),domUtils.removeClasses($G(d),"focus"))});r.disableUpload||($G("tabHeads").querySelector('[data-content-id="upload"]').style.display="inline-block"),r.selectCallback&&($G("audioSelect").style.display="inline-block",domUtils.on($G("audioSelect"),"click",function(a){r.selectCallback(editor,function(a){a&&($G("audioUrl").value=a.path,k(a.path))})}))}function b(){g(["audioFloat","upload_alignment"]),i($G("audioUrl")),c(),function(){var a,b=editor.selection.getRange().getClosedNode();if(b&&b.className){var c="edui-faked-audio"==b.className,e=b.className.indexOf("edui-upload-audio")!=-1;if(c||e){$G("audioUrl").value=a=b.getAttribute("_url");var f=domUtils.getComputedStyle(b,"float"),g=domUtils.getComputedStyle(b.parentNode,"text-align");d("center"===g?"center":f)}e&&(q=!0)}k(a)}()}function c(){dialog.onok=function(){$G("preview").innerHTML="";var a=f("tabHeads","tabSrc");switch(a){case"audio":return e();case"upload":return l()}},dialog.oncancel=function(){$G("preview").innerHTML=""}}function d(a){for(var b,c=$G("audioFloat").children,d=0;b=c[d++];)b.getAttribute("name")==a?"focus"!=b.className&&(b.className="focus"):"focus"==b.className&&(b.className="")}function e(){var a=$G("audioUrl").value;f("audioFloat","name");return!!a&&void editor.execCommand("insertaudio",{url:a},q?"upload":null)}function f(a,b){for(var c,d,e=$G(a).children,f=0;d=e[f++];)if("focus"==d.className){c=d.getAttribute(b);break}return c}function g(a){for(var b,c=0;b=a[c++];){var d=$G(b),e={none:lang["default"],left:lang.floatLeft,right:lang.floatRight,center:lang.block};for(var f in e){var g=document.createElement("div");g.setAttribute("name",f),"none"==f&&(g.className="focus"),g.style.cssText="background:url(images/"+f+"_focus.jpg);",g.setAttribute("title",e[f]),d.appendChild(g)}h(b)}}function h(a){for(var b,c=$G(a).children,d=0;b=c[d++];)domUtils.on(b,"click",function(){for(var a,b=0;a=c[b++];)a.className="",a.removeAttribute&&a.removeAttribute("class");this.className="focus"})}function i(a){browser.ie?a.onpropertychange=function(){k(this.value)}:a.addEventListener("input",function(){k(this.value)},!1)}function j(a,b){b=b||{};var c=["<audio",b.id?' id="'+b.id+'"':"",b.cls?' class="'+b.cls+'"':""," controls >",'<source src="'+a+'" type="audio/mpeg" />',"</audio>"];return c.join("")}function k(a){a&&($G("preview").innerHTML='<div class="previewMsg"><span>'+lang.urlError+'</span></div><div style="position: absolute; inset: 0; background: #FFF; text-align: center; display: flex; justify-items: center; align-items: center;"><div style="text-align:center;flex-grow:1;">'+j(a)+"</div></div>")}function l(){var a=[],b=editor.getOpt("audioUrlPrefix"),c=f("upload_alignment","name")||"none";for(var d in p){var e=p[d];a.push({url:b+e.url,align:c})}var g=o.getQueueCount();return g?($(".info","#queueList").html('<span style="color:red;">'+"还有2个未上传文件".replace(/[\d]/,g)+"</span>"),!1):void editor.execCommand("insertaudio",a,"upload")}function m(){o=new n("queueList")}function n(a){this.$wrap=a.constructor==String?$("#"+a):$(a),this.init()}var o,p=[],q=!1,r={};window.onload=function(){r=editor.getOpt("audioConfig"),$focus($G("audioUrl")),a(),b(),m()},n.prototype={init:function(){this.fileList=[],this.initContainer(),this.initUploader()},initContainer:function(){this.$queue=this.$wrap.find(".filelist")},initUploader:function(){function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p><p class="imgWrap"></p><p class="progress"><span></span></p></li>'),c=h('<div class="file-panel"><span class="cancel">'+lang.uploadDelete+'</span><span class="rotateRight">'+lang.uploadTurnRight+'</span><span class="rotateLeft">'+lang.uploadTurnLeft+"</span></div>").appendTo(b),d=b.find("p.progress span"),e=b.find("p.imgWrap"),g=h('<p class="error"></p>').hide().appendTo(b),i=function(a){switch(a){case"exceed_size":text=lang.errorExceedSize;break;case"interrupt":text=lang.errorInterrupt;break;case"http":text=lang.errorHttp;break;case"not_allow_type":text=lang.errorFileType;break;default:text=lang.errorUploadRetry}g.text(text).show()};"invalid"===a.getStatus()?i(a.statusText):(e.text(lang.uploadPreview),"|png|jpg|jpeg|bmp|gif|".indexOf("|"+a.ext.toLowerCase()+"|")==-1?e.empty().addClass("notimage").append('<i class="file-preview file-type-'+a.ext.toLowerCase()+'"></i><span class="file-title">'+a.name+"</span>"):browser.ie&&browser.version<=7?e.text(lang.uploadNoPreview):f.makeThumb(a,function(a,b){if(a||!b||/^data:/.test(b)&&browser.ie&&browser.version<=7)e.text(lang.uploadNoPreview);else{var c=h('<img src="'+b+'">');e.empty().append(c),c.on("error",function(){e.text(lang.uploadNoPreview)})}},u,v),x[a.id]=[a.size,0],a.rotation=0,a.ext&&B.indexOf(a.ext.toLowerCase())!=-1||(i("not_allow_type"),f.removeFile(a))),a.on("statuschange",function(e,f){"progress"===f?d.hide().width(0):"queued"===f&&(b.off("mouseenter mouseleave"),c.remove()),"error"===e||"invalid"===e?(i(a.statusText),x[a.id][1]=1):"interrupt"===e?i("interrupt"):"queued"===e?x[a.id][1]=0:"progress"===e&&(g.hide(),d.css("display","block")),b.removeClass("state-"+f).addClass("state-"+e)}),b.on("mouseenter",function(){c.stop().animate({height:30})}),b.on("mouseleave",function(){c.stop().animate({height:0})}),c.on("click","span",function(){var b,c=h(this).index();switch(c){case 0:return void f.removeFile(a);case 1:a.rotation+=90;break;case 2:a.rotation-=90}y?(b="rotate("+a.rotation+"deg)",e.css({"-webkit-transform":b,"-mos-transform":b,"-o-transform":b,transform:b})):e.css("filter","progid:DXImageTransform.Microsoft.BasicImage(rotation="+~~(a.rotation/90%4+4)%4+")")}),b.insertBefore(n)}function b(a){var b=h("#"+a.id);delete x[a.id],c(),b.off().find(".file-panel").off().end().remove()}function c(){var a,b=0,c=0,d=q.children();h.each(x,function(a,d){c+=d[0],b+=d[0]*d[1]}),a=c?b/c:0,d.eq(0).text(Math.round(100*a)+"%"),d.eq(1).css("width",Math.round(100*a)+"%"),e()}function d(a,b){if(a!=w){var c=f.getStats();switch(m.removeClass("state-"+w),m.addClass("state-"+a),a){case"pedding":j.addClass("element-invisible"),k.addClass("element-invisible"),o.removeClass("element-invisible"),q.hide(),l.hide(),f.refresh();break;case"ready":o.addClass("element-invisible"),j.removeClass("element-invisible"),k.removeClass("element-invisible"),q.hide(),l.show(),m.text(lang.uploadStart),f.refresh();break;case"uploading":q.show(),l.hide(),m.text(lang.uploadPause);break;case"paused":q.show(),l.hide(),m.text(lang.uploadContinue);break;case"confirm":if(q.show(),l.hide(),m.text(lang.uploadStart),c=f.getStats(),c.successNum&&!c.uploadFailNum)return void d("finish");break;case"finish":q.hide(),l.show(),c.uploadFailNum?m.text(lang.uploadRetry):m.text(lang.uploadStart)}w=a,e()}g.getQueueCount()?m.removeClass("disabled"):m.addClass("disabled")}function e(){var a,b="";"ready"===w?b=lang.updateStatusReady.replace("_",r).replace("_KB",WebUploader.formatSize(s)):"confirm"===w?(a=f.getStats(),a.uploadFailNum&&(b=lang.updateStatusConfirm.replace("_",a.successNum).replace("_",a.successNum))):(a=f.getStats(),b=lang.updateStatusFinish.replace("_",r).replace("_KB",WebUploader.formatSize(s)).replace("_",a.successNum),a.uploadFailNum&&(b+=lang.updateStatusError.replace("_",a.uploadFailNum))),l.html(b)}var f,g=this,h=jQuery,i=g.$wrap,j=i.find(".filelist"),k=i.find(".statusBar"),l=k.find(".info"),m=i.find(".uploadBtn"),n=(i.find(".filePickerBtn"),i.find(".filePickerBlock")),o=i.find(".placeholder"),q=k.find(".progress").hide(),r=0,s=0,t=window.devicePixelRatio||1,u=113*t,v=113*t,w="",x={},y=function(){var a=document.createElement("p").style,b="transition"in a||"WebkitTransition"in a||"MozTransition"in a||"msTransition"in a||"OTransition"in a;return a=null,b}(),z=editor.getActionUrl(editor.getOpt("audioActionName")),A=editor.getOpt("audioMaxSize"),B=(editor.getOpt("audioAllowFiles")||[]).join("").replace(/\./g,",").replace(/^[,]/,"");return WebUploader.Uploader.support()?editor.getOpt("audioActionName")?(f=g.uploader=WebUploader.create({pick:{id:"#filePickerReady",label:lang.uploadSelectFile},swf:"../../third-party/webuploader/Uploader.swf",server:z,fileVal:editor.getOpt("audioFieldName"),duplicate:!0,fileSingleSizeLimit:A,headers:editor.getOpt("serverHeaders")||{},compress:!1}),f.addButton({id:"#filePickerBlock"}),f.addButton({id:"#filePickerBtn",label:lang.uploadAddFile}),d("pedding"),f.on("fileQueued",function(b){r++,s+=b.size,1===r&&(o.addClass("element-invisible"),k.show()),a(b)}),f.on("fileDequeued",function(a){r--,s-=a.size,b(a),c()}),f.on("filesQueued",function(a){f.isInProgress()||"pedding"!=w&&"finish"!=w&&"confirm"!=w&&"ready"!=w||d("ready"),c()}),f.on("all",function(a,b){switch(a){case"uploadFinished":d("confirm",b);break;case"startUpload":var c=utils.serializeParam(editor.queryCommandValue("serverparam"))||"",e=utils.formatUrl(z+(z.indexOf("?")==-1?"?":"&")+"encode=utf-8&"+c);f.option("server",e),d("uploading",b);break;case"stopUpload":d("paused",b)}}),f.on("uploadBeforeSend",function(a,b,c){z.toLowerCase().indexOf("jsp")!=-1&&(c.X_Requested_With="XMLHttpRequest")}),f.on("uploadProgress",function(a,b){var d=h("#"+a.id),e=d.find(".progress span");e.css("width",100*b+"%"),x[a.id][1]=b,c()}),f.on("uploadSuccess",function(a,b){var c=h("#"+a.id);try{var d=b._raw||b,e=utils.str2json(d);"SUCCESS"==e.state?(p.push({url:e.url,type:e.type,original:e.original}),c.append('<span class="success"></span>')):c.find(".error").text(e.state).show()}catch(f){c.find(".error").text(lang.errorServerUpload).show()}}),f.on("uploadError",function(a,b){}),f.on("error",function(b,c){"Q_TYPE_DENIED"!=b&&"F_EXCEED_SIZE"!=b||a(c)}),f.on("uploadComplete",function(a,b){}),m.on("click",function(){return!h(this).hasClass("disabled")&&void("ready"===w?f.upload():"paused"===w?f.upload():"uploading"===w&&f.stop())}),m.addClass("state-"+w),void c()):void h("#filePickerReady").after(h("<div>").html(lang.errorLoadConfig)).hide():void h("#filePickerReady").after(h("<div>").html(lang.errorNotSupport)).hide()},getQueueCount:function(){var a,b,c,d=0,e=this.uploader.getFiles();for(b=0;a=e[b++];)c=a.getStatus(),"queued"!=c&&"uploading"!=c&&"progress"!=c||d++;return d},refresh:function(){this.uploader.refresh()}}}();
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/background/background.css
================================================
/*! UEditorPlus v2.0.0*/
.wrapper{width:424px;margin:10px auto;zoom:1;position:relative}.tabbody{height:225px}.tabbody .panel{position:absolute;width:100%;height:100%;background:#fff;display:none}.tabbody .focus{display:block}body{font-size:12px;color:#888;overflow:hidden}input,label{vertical-align:middle}.clear{clear:both}.pl{padding-left:18px;padding-left:23px \9}#imageList{width:420px;height:215px;margin-top:10px;overflow:hidden;overflow-y:auto}#imageList div{float:left;width:100px;height:95px;margin:5px 10px}#imageList img{cursor:pointer;border:2px solid #fff}.bgarea{margin:10px;padding:5px;height:84%;border:1px solid #A8A297}.content div{margin:10px 0 10px 5px}.content .iptradio{margin:0 5px 5px 0}.txt{width:280px}.wrapcolor{height:19px}div.color{float:left;margin:0}#colorPicker{width:17px;height:17px;border:1px solid #CCC;display:inline-block;border-radius:3px;box-shadow:2px 2px 5px #D3D6DA;margin:0;float:left}div.alignment,#custom{margin-left:23px;margin-left:28px \9}#custom input{height:15px;min-height:15px;width:20px}#repeatType{width:100px}#imgManager{width:100%;height:225px}#imgManager #imageList{width:100%;overflow-x:hidden;overflow-y:auto}#imgManager ul{display:block;list-style:none;margin:0;padding:0}#imgManager li{float:left;display:block;list-style:none;padding:0;width:113px;height:113px;margin:9px 0 0 19px;background-color:#eee;overflow:hidden;cursor:pointer;position:relative}#imgManager li.clearFloat{float:none;clear:both;display:block;width:0;height:0;margin:0;padding:0}#imgManager li img{cursor:pointer}#imgManager li .icon{cursor:pointer;width:113px;height:113px;position:absolute;top:0;left:0;z-index:2;border:0;background-repeat:no-repeat}#imgManager li .icon:hover{width:107px;height:107px;border:3px solid #1094fa}#imgManager li.selected .icon{background-image:url(images/success.png);background-position:75px 75px}#imgManager li.selected .icon:hover{width:107px;height:107px;border:3px solid #1094fa;background-position:72px 72px}
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/background/background.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
<link rel="stylesheet" type="text/css" href="background.css?982ee6c2">
</head>
<body>
<div id="bg_container" class="wrapper">
<div id="tabHeads" class="tabhead">
<span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span>
</div>
<div id="tabBodys" class="tabbody">
<div id="normal" class="panel focus">
<fieldset class="bgarea">
<legend><var id="lang_background_set"></var></legend>
<div class="content">
<div>
<label><input id="nocolorRadio" class="iptradio" type="radio" name="t" value="none"
checked="checked"><var id="lang_background_none"></var></label>
<label><input id="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var
id="lang_background_colored"></var></label>
</div>
<div class="wrapcolor pl">
<div class="color">
<var id="lang_background_color"></var>:
</div>
<div id="colorPicker"></div>
<div class="clear"></div>
</div>
<div class="wrapcolor pl">
<label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url">
</div>
<div id="alignment" class="alignment">
<var id="lang_background_align"></var>:<select id="repeatType">
<option value="center"></option>
<option value="repeat-x"></option>
<option value="repeat-y"></option>
<option value="repeat"></option>
<option value="self"></option>
</select>
</div>
<div id="custom">
<var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4"
value="0">px y:<input type="text"
size="1"
id="y"
maxlength="4"
value="0">px
</div>
</div>
</fieldset>
</div>
</div>
</div>
<script type="text/javascript" src="background.js?e67eb657"></script>
</body>
</html>
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/background/background.js
================================================
/*! UEditorPlus v2.0.0*/
!function(){function initTabs(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++)domUtils.on(a[b],"click",function(b){for(var c=b.target||b.srcElement,d=0;d<a.length;d++)if(a[d]==c){a[d].className="focus";var e=a[d].getAttribute("data-content-id");$G(e).style.display="block"}else a[d].className="",$G(a[d].getAttribute("data-content-id")).style.display="none"})}function initColorSelector(){var a=editor.queryCommandValue("background");if(a){var b=a["background-color"],c=a["background-repeat"]||"repeat",d=a["background-image"]||"",e=a["background-position"]||"center center",f=e.split(" "),g=parseInt(f[0])||0,h=parseInt(f[1])||0;"no-repeat"==c&&(g||h)&&(c="self"),d=d.match(/url[\s]*\(([^\)]*)\)/),d=d?d[1]:"",updateFormState("colored",b,d,c,g,h)}else updateFormState();var i=function(){updateFormState(),updateBackground()};domUtils.on($G("nocolorRadio"),"click",updateBackground),domUtils.on($G("coloredRadio"),"click",i),domUtils.on($G("url"),"keyup",function(){$G("url").value&&"none"==$G("alignment").style.display&&utils.each($G("repeatType").children,function(a){a.selected="repeat"==a.getAttribute("value")&&"selected"}),i()}),domUtils.on($G("repeatType"),"change",i),domUtils.on($G("x"),"keyup",updateBackground),domUtils.on($G("y"),"keyup",updateBackground),initColorPicker()}function initColorPicker(){var a=editor,b=$G("colorPicker"),c=new UE.ui.Popup({content:new UE.ui.ColorPicker({noColorText:a.getLang("clearColor"),editor:a,onpickcolor:function(a,b){updateFormState("colored",b),updateBackground(),UE.ui.Popup.postHide()},onpicknocolor:function(a,b){updateFormState("colored","transparent"),updateBackground(),UE.ui.Popup.postHide()}}),editor:a,onhide:function(){}});domUtils.on(b,"click",function(){c.showAnchor(this)}),domUtils.on(document,"mousedown",function(a){var b=a.target||a.srcElement;UE.ui.Popup.postHide(b)}),domUtils.on(window,"scroll",function(){UE.ui.Popup.postHide()})}function updateFormState(a,b,c,d,e,f){var g=$G("nocolorRadio"),h=$G("coloredRadio");if(a&&(g.checked="colored"!=a&&"checked",h.checked="colored"==a&&"checked"),b&&domUtils.setStyle($G("colorPicker"),"background-color",b),c&&/^\//.test(c)){var i=document.createElement("a");i.href=c,browser.ie&&(i.href=i.href),c=browser.ie?i.href:i.protocol+"//"+i.host+i.pathname+i.search+i.hash}(c||""===c)&&($G("url").value=c),d&&utils.each($G("repeatType").children,function(a){a.selected=d==a.getAttribute("value")&&"selected"}),(e||f)&&($G("x").value=parseInt(e)||0,$G("y").value=parseInt(f)||0),$G("alignment").style.display=h.checked&&$G("url").value?"":"none",$G("custom").style.display=h.checked&&$G("url").value&&"self"==$G("repeatType").value?"":"none"}function updateBackground(){if($G("coloredRadio").checked){var a=domUtils.getStyle($G("colorPicker"),"background-color"),b=$G("url").value,c=$G("repeatType").value,d={"background-repeat":"no-repeat","background-position":"center center"};a&&(d["background-color"]=a),b&&(d["background-image"]="url("+b+")"),"self"==c?d["background-position"]=$G("x").value+"px "+$G("y").value+"px":"repeat-x"!=c&&"repeat-y"!=c&&"repeat"!=c||(d["background-repeat"]=c),editor.execCommand("background",d)}else editor.execCommand("background",null)}function OnlineImage(a){this.container=utils.isString(a)?document.getElementById(a):a,this.init()}var onlineImage,backupStyle=editor.queryCommandValue("background");window.onload=function(){initTabs(),initColorSelector()},OnlineImage.prototype={init:function(){this.reset(),this.initEvents()},initContainer:function(){this.container.innerHTML="",this.list=document.createElement("ul"),this.clearFloat=document.createElement("li"),domUtils.addClass(this.list,"list"),domUtils.addClass(this.clearFloat,"clearFloat"),this.list.id="imageListUl",this.list.appendChild(this.clearFloat),this.container.appendChild(this.list)},initEvents:function(){var a=this;domUtils.on($G("imageList"),"scroll",function(b){var c=this;c.scrollHeight-(c.offsetHeight+c.scrollTop)<10&&a.getImageData()}),domUtils.on(this.container,"click",function(a){var b=a.target||a.srcElement,c=b.parentNode,d=$G("imageListUl").childNodes;if("li"==c.tagName.toLowerCase()){updateFormState("nocolor",null,"");for(var e,f=0;e=d[f++];)e!=c||domUtils.hasClass(e,"selected")?domUtils.removeClasses(e,"selected"):(domUtils.addClass(e,"selected"),updateFormState("colored",null,c.firstChild.getAttribute("_src"),"repeat"));updateBackground()}})},initData:function(){this.state=0,this.listSize=editor.getOpt("imageManagerListSize"),this.listIndex=0,this.listEnd=!1,this.getImageData()},reset:function(){this.initContainer(),this.initData()},getImageData:function(){var _this=this;if(!_this.listEnd&&!this.isLoadingData){this.isLoadingData=!0;var url=editor.getActionUrl(editor.getOpt("imageManagerActionName")),isJsonp=utils.isCrossDomainUrl(url);ajax.request(url,{timeout:1e5,dataType:isJsonp?"jsonp":"",data:utils.extend({start:this.listIndex,size:this.listSize},editor.queryCommandValue("serverparam")),headers:editor.options.serverHeaders||{},method:"get",onsuccess:function(r){try{var json=isJsonp?r:eval("("+r.responseText+")");"SUCCESS"==json.state&&(_this.pushData(json.list),_this.listIndex=parseInt(json.start)+parseInt(json.list.length),_this.listIndex>=json.total&&(_this.listEnd=!0),_this.isLoadingData=!1)}catch(e){if(r.responseText.indexOf("ue_separate_ue")!=-1){var list=r.responseText.split(r.responseText);_this.pushData(list),_this.listIndex=parseInt(list.length),_this.listEnd=!0,_this.isLoadingData=!1}}},onerror:function(){_this.isLoadingData=!1}})}},pushData:function(a){var b,c,d,e,f=this,g=editor.getOpt("imageManagerUrlPrefix");for(b=0;b<a.length;b++)a[b]&&a[b].url&&(c=document.createElement("li"),d=document.createElement("img"),e=document.createElement("span"),domUtils.on(d,"load",function(a){return function(){f.scale(a,a.parentNode.offsetWidth,a.parentNode.offsetHeight)}}(d)),d.width=113,d.setAttribute("src",g+a[b].url+(a[b].url.indexOf("?")==-1?"?noCache=":"&noCache=")+(+new Date).toString(36)),d.setAttribute("_src",g+a[b].url),domUtils.addClass(e,"icon"),c.appendChild(d),c.appendChild(e),this.list.insertBefore(c,this.clearFloat))},scale:function(a,b,c,d){var e=a.width,f=a.height;"justify"==d?e>=f?(a.width=b,a.height=c*f/e,a.style.marginLeft="-"+parseInt((a.width-b)/2)+"px"):(a.width=b*e/f,a.height=c,a.style.marginTop="-"+parseInt((a.height-c)/2)+"px"):e>=f?(a.width=b*e/f,a.height=c,a.style.marginLeft="-"+parseInt((a.width-b)/2)+"px"):(a.width=b,a.height=c*f/e,a.style.marginTop="-"+parseInt((a.height-c)/2)+"px")},getInsertList:function(){var a,b=this.list.children,c=[],d=getAlign();for(a=0;a<b.length;a++)if(domUtils.hasClass(b[a],"selected")){var e=b[a].firstChild,f=e.getAttribute("_src");c.push({src:f,_src:f,floatStyle:d})}return c}},dialog.onok=function(){updateBackground(),editor.fireEvent("saveScene")},dialog.oncancel=function(){editor.execCommand("background",backupStyle)}}();
================================================
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/contentimport/contentimport.html
================================================
<!DOCTYPE html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
<style type="text/css">
.wrapper {
width: 600px;
padding: 10px;
height: 352px;
overflow: hidden;
position: relative;
border-bottom: 1px solid #d7d7d7;
}
.wrapper .file-upload {
display: flex;
align-items: center;
}
.wrapper .file-upload .file-tip {
color: #999;
font-size: 12px;
padding-left: 10px;
flex-grow: 1;
}
.wrapper .file-manual {
background
gitextract_jbuiie7d/ ├── .babelrc ├── .editorconfig ├── .gitee/ │ └── ISSUE_TEMPLATE/ │ ├── bug.yml │ ├── config.yml │ └── feature.yml ├── .gitignore ├── .nvmrc ├── Gruntfile.js ├── LICENSE ├── Makefile ├── README.md ├── _demo_server/ │ └── handle.php ├── _examples/ │ ├── addCustomizeButton.js │ ├── addCustomizeCombox.js │ ├── addCustomizeDialog.js │ ├── bugTest.html │ ├── completeDemo.html │ ├── customPluginDemo.html │ ├── customToolbarDemo.html │ ├── customizeDialogPage.html │ ├── customizeToolbarUIDemo.html │ ├── editor_api.js │ ├── example.js │ ├── filterRuleDemo.html │ ├── highlightDemo.html │ ├── index.html │ ├── jqueryCompleteDemo.html │ ├── jqueryValidation.html │ ├── multiDemo.html │ ├── multiEditorWithOneInstance.html │ ├── renderInTable.html │ ├── resetDemo.html │ ├── sectionDemo.html │ ├── setWidthHeightDemo.html │ ├── simpleDemo.html │ ├── sortableDemo.html │ ├── style.css │ ├── submitFormDemo.html │ ├── textareaDemo.html │ └── uparsedemo.html ├── _examples-integrate/ │ ├── reactx/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package.json │ │ ├── public/ │ │ │ ├── index.html │ │ │ ├── manifest.json │ │ │ ├── robots.txt │ │ │ └── static/ │ │ │ └── UEditorPlus/ │ │ │ ├── dialogs/ │ │ │ │ ├── anchor/ │ │ │ │ │ └── anchor.html │ │ │ │ ├── attachment/ │ │ │ │ │ ├── attachment.css │ │ │ │ │ ├── attachment.html │ │ │ │ │ └── attachment.js │ │ │ │ ├── audio/ │ │ │ │ │ ├── audio.css │ │ │ │ │ ├── audio.html │ │ │ │ │ └── audio.js │ │ │ │ ├── background/ │ │ │ │ │ ├── background.css │ │ │ │ │ ├── background.html │ │ │ │ │ └── background.js │ │ │ │ ├── contentimport/ │ │ │ │ │ ├── contentimport.html │ │ │ │ │ └── contentimport.js │ │ │ │ ├── emotion/ │ │ │ │ │ ├── emotion.css │ │ │ │ │ ├── emotion.html │ │ │ │ │ └── emotion.js │ │ │ │ ├── formula/ │ │ │ │ │ ├── formula.html │ │ │ │ │ └── formula.js │ │ │ │ ├── help/ │ │ │ │ │ ├── help.css │ │ │ │ │ ├── help.html │ │ │ │ │ └── help.js │ │ │ │ ├── image/ │ │ │ │ │ ├── image.css │ │ │ │ │ ├── image.html │ │ │ │ │ └── image.js │ │ │ │ ├── insertframe/ │ │ │ │ │ └── insertframe.html │ │ │ │ ├── internal.js │ │ │ │ ├── link/ │ │ │ │ │ └── link.html │ │ │ │ ├── preview/ │ │ │ │ │ └── preview.html │ │ │ │ ├── scrawl/ │ │ │ │ │ ├── scrawl.css │ │ │ │ │ ├── scrawl.html │ │ │ │ │ └── scrawl.js │ │ │ │ ├── searchreplace/ │ │ │ │ │ ├── searchreplace.html │ │ │ │ │ └── searchreplace.js │ │ │ │ ├── spechars/ │ │ │ │ │ ├── spechars.html │ │ │ │ │ └── spechars.js │ │ │ │ ├── table/ │ │ │ │ │ ├── edittable.css │ │ │ │ │ ├── edittable.html │ │ │ │ │ ├── edittable.js │ │ │ │ │ ├── edittd.html │ │ │ │ │ └── edittip.html │ │ │ │ ├── template/ │ │ │ │ │ ├── config.js │ │ │ │ │ ├── template.css │ │ │ │ │ ├── template.html │ │ │ │ │ └── template.js │ │ │ │ ├── video/ │ │ │ │ │ ├── video.css │ │ │ │ │ ├── video.html │ │ │ │ │ └── video.js │ │ │ │ └── wordimage/ │ │ │ │ ├── wordimage.html │ │ │ │ └── wordimage.js │ │ │ ├── index.html │ │ │ ├── lang/ │ │ │ │ ├── en/ │ │ │ │ │ └── en.js │ │ │ │ └── zh-cn/ │ │ │ │ └── zh-cn.js │ │ │ ├── plugins/ │ │ │ │ └── demo/ │ │ │ │ └── demo.js │ │ │ ├── themes/ │ │ │ │ ├── default/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── ueditor.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ └── dialogbase.css │ │ │ │ └── iframe.css │ │ │ ├── third-party/ │ │ │ │ ├── SyntaxHighlighter/ │ │ │ │ │ ├── shCore.js │ │ │ │ │ └── shCoreDefault.css │ │ │ │ ├── clipboard/ │ │ │ │ │ ├── clipboard.js │ │ │ │ │ └── clipboard.swf │ │ │ │ ├── codemirror/ │ │ │ │ │ ├── codemirror.css │ │ │ │ │ └── codemirror.js │ │ │ │ ├── jquery-1.10.2.js │ │ │ │ ├── webuploader/ │ │ │ │ │ ├── webuploader.css │ │ │ │ │ └── webuploader.js │ │ │ │ └── zeroclipboard/ │ │ │ │ ├── ZeroClipboard.js │ │ │ │ └── ZeroClipboard.swf │ │ │ ├── ueditor.all.js │ │ │ ├── ueditor.config.js │ │ │ └── ueditor.parse.js │ │ └── src/ │ │ ├── App.css │ │ ├── App.js │ │ ├── App.test.js │ │ ├── index.css │ │ ├── index.js │ │ ├── reportWebVitals.js │ │ └── setupTests.js │ ├── vue2/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── babel.config.js │ │ ├── jsconfig.json │ │ ├── package.json │ │ ├── public/ │ │ │ ├── index.html │ │ │ └── static/ │ │ │ └── UEditorPlus/ │ │ │ ├── dialogs/ │ │ │ │ ├── anchor/ │ │ │ │ │ └── anchor.html │ │ │ │ ├── attachment/ │ │ │ │ │ ├── attachment.css │ │ │ │ │ ├── attachment.html │ │ │ │ │ └── attachment.js │ │ │ │ ├── audio/ │ │ │ │ │ ├── audio.css │ │ │ │ │ ├── audio.html │ │ │ │ │ └── audio.js │ │ │ │ ├── background/ │ │ │ │ │ ├── background.css │ │ │ │ │ ├── background.html │ │ │ │ │ └── background.js │ │ │ │ ├── contentimport/ │ │ │ │ │ ├── contentimport.html │ │ │ │ │ └── contentimport.js │ │ │ │ ├── emotion/ │ │ │ │ │ ├── emotion.css │ │ │ │ │ ├── emotion.html │ │ │ │ │ └── emotion.js │ │ │ │ ├── formula/ │ │ │ │ │ ├── formula.html │ │ │ │ │ └── formula.js │ │ │ │ ├── help/ │ │ │ │ │ ├── help.css │ │ │ │ │ ├── help.html │ │ │ │ │ └── help.js │ │ │ │ ├── image/ │ │ │ │ │ ├── image.css │ │ │ │ │ ├── image.html │ │ │ │ │ └── image.js │ │ │ │ ├── insertframe/ │ │ │ │ │ └── insertframe.html │ │ │ │ ├── internal.js │ │ │ │ ├── link/ │ │ │ │ │ └── link.html │ │ │ │ ├── preview/ │ │ │ │ │ └── preview.html │ │ │ │ ├── scrawl/ │ │ │ │ │ ├── scrawl.css │ │ │ │ │ ├── scrawl.html │ │ │ │ │ └── scrawl.js │ │ │ │ ├── searchreplace/ │ │ │ │ │ ├── searchreplace.html │ │ │ │ │ └── searchreplace.js │ │ │ │ ├── spechars/ │ │ │ │ │ ├── spechars.html │ │ │ │ │ └── spechars.js │ │ │ │ ├── table/ │ │ │ │ │ ├── edittable.css │ │ │ │ │ ├── edittable.html │ │ │ │ │ ├── edittable.js │ │ │ │ │ ├── edittd.html │ │ │ │ │ └── edittip.html │ │ │ │ ├── template/ │ │ │ │ │ ├── config.js │ │ │ │ │ ├── template.css │ │ │ │ │ ├── template.html │ │ │ │ │ └── template.js │ │ │ │ ├── video/ │ │ │ │ │ ├── video.css │ │ │ │ │ ├── video.html │ │ │ │ │ └── video.js │ │ │ │ └── wordimage/ │ │ │ │ ├── wordimage.html │ │ │ │ └── wordimage.js │ │ │ ├── index.html │ │ │ ├── lang/ │ │ │ │ ├── en/ │ │ │ │ │ └── en.js │ │ │ │ └── zh-cn/ │ │ │ │ └── zh-cn.js │ │ │ ├── plugins/ │ │ │ │ └── demo/ │ │ │ │ └── demo.js │ │ │ ├── themes/ │ │ │ │ ├── default/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── ueditor.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ └── dialogbase.css │ │ │ │ └── iframe.css │ │ │ ├── third-party/ │ │ │ │ ├── SyntaxHighlighter/ │ │ │ │ │ ├── shCore.js │ │ │ │ │ └── shCoreDefault.css │ │ │ │ ├── clipboard/ │ │ │ │ │ └── clipboard.js │ │ │ │ ├── codemirror/ │ │ │ │ │ ├── codemirror.css │ │ │ │ │ └── codemirror.js │ │ │ │ ├── jquery-1.10.2.js │ │ │ │ ├── webuploader/ │ │ │ │ │ ├── webuploader.css │ │ │ │ │ └── webuploader.js │ │ │ │ └── zeroclipboard/ │ │ │ │ └── ZeroClipboard.js │ │ │ ├── ueditor.all.js │ │ │ ├── ueditor.config.js │ │ │ └── ueditor.parse.js │ │ ├── src/ │ │ │ ├── App.vue │ │ │ └── main.js │ │ └── vue.config.js │ └── vue3/ │ ├── .gitignore │ ├── README.md │ ├── babel.config.js │ ├── jsconfig.json │ ├── package.json │ ├── public/ │ │ ├── index.html │ │ └── static/ │ │ └── UEditorPlus/ │ │ ├── dialogs/ │ │ │ ├── anchor/ │ │ │ │ └── anchor.html │ │ │ ├── attachment/ │ │ │ │ ├── attachment.css │ │ │ │ ├── attachment.html │ │ │ │ └── attachment.js │ │ │ ├── audio/ │ │ │ │ ├── audio.css │ │ │ │ ├── audio.html │ │ │ │ └── audio.js │ │ │ ├── background/ │ │ │ │ ├── background.css │ │ │ │ ├── background.html │ │ │ │ └── background.js │ │ │ ├── contentimport/ │ │ │ │ ├── contentimport.html │ │ │ │ └── contentimport.js │ │ │ ├── emotion/ │ │ │ │ ├── emotion.css │ │ │ │ ├── emotion.html │ │ │ │ └── emotion.js │ │ │ ├── formula/ │ │ │ │ ├── formula.html │ │ │ │ └── formula.js │ │ │ ├── help/ │ │ │ │ ├── help.css │ │ │ │ ├── help.html │ │ │ │ └── help.js │ │ │ ├── image/ │ │ │ │ ├── image.css │ │ │ │ ├── image.html │ │ │ │ └── image.js │ │ │ ├── insertframe/ │ │ │ │ └── insertframe.html │ │ │ ├── internal.js │ │ │ ├── link/ │ │ │ │ └── link.html │ │ │ ├── preview/ │ │ │ │ └── preview.html │ │ │ ├── scrawl/ │ │ │ │ ├── scrawl.css │ │ │ │ ├── scrawl.html │ │ │ │ └── scrawl.js │ │ │ ├── searchreplace/ │ │ │ │ ├── searchreplace.html │ │ │ │ └── searchreplace.js │ │ │ ├── spechars/ │ │ │ │ ├── spechars.html │ │ │ │ └── spechars.js │ │ │ ├── table/ │ │ │ │ ├── edittable.css │ │ │ │ ├── edittable.html │ │ │ │ ├── edittable.js │ │ │ │ ├── edittd.html │ │ │ │ └── edittip.html │ │ │ ├── template/ │ │ │ │ ├── config.js │ │ │ │ ├── template.css │ │ │ │ ├── template.html │ │ │ │ └── template.js │ │ │ ├── video/ │ │ │ │ ├── video.css │ │ │ │ ├── video.html │ │ │ │ └── video.js │ │ │ └── wordimage/ │ │ │ ├── wordimage.html │ │ │ └── wordimage.js │ │ ├── index.html │ │ ├── lang/ │ │ │ ├── en/ │ │ │ │ └── en.js │ │ │ └── zh-cn/ │ │ │ └── zh-cn.js │ │ ├── plugins/ │ │ │ └── demo/ │ │ │ └── demo.js │ │ ├── themes/ │ │ │ ├── default/ │ │ │ │ ├── css/ │ │ │ │ │ └── ueditor.css │ │ │ │ ├── dialog.css │ │ │ │ └── dialogbase.css │ │ │ └── iframe.css │ │ ├── third-party/ │ │ │ ├── SyntaxHighlighter/ │ │ │ │ ├── shCore.js │ │ │ │ └── shCoreDefault.css │ │ │ ├── clipboard/ │ │ │ │ └── clipboard.js │ │ │ ├── codemirror/ │ │ │ │ ├── codemirror.css │ │ │ │ └── codemirror.js │ │ │ ├── jquery-1.10.2.js │ │ │ ├── webuploader/ │ │ │ │ ├── webuploader.css │ │ │ │ └── webuploader.js │ │ │ └── zeroclipboard/ │ │ │ └── ZeroClipboard.js │ │ ├── ueditor.all.js │ │ ├── ueditor.config.js │ │ └── ueditor.parse.js │ ├── src/ │ │ ├── App.vue │ │ └── main.js │ └── vue.config.js ├── _parse/ │ ├── background.js │ ├── insertcode.js │ ├── list.js │ ├── parse.js │ └── table.js ├── _src/ │ ├── adapter/ │ │ ├── editor.js │ │ ├── editorui.js │ │ └── message.js │ ├── api.js │ ├── core/ │ │ ├── Editor.defaultoptions.js │ │ ├── Editor.js │ │ ├── EventBase.js │ │ ├── Range.js │ │ ├── Selection.js │ │ ├── ajax.js │ │ ├── api.js │ │ ├── browser.js │ │ ├── dialog.js │ │ ├── domUtils.js │ │ ├── dtd.js │ │ ├── filternode.js │ │ ├── filterword.js │ │ ├── htmlparser.js │ │ ├── image.js │ │ ├── keymap.js │ │ ├── loadconfig.js │ │ ├── localstorage.js │ │ ├── node.js │ │ ├── plugin.js │ │ └── utils.js │ ├── editor.js │ ├── plugins/ │ │ ├── anchor.js │ │ ├── audio.js │ │ ├── autofloat.js │ │ ├── autoheight.js │ │ ├── autolink.js │ │ ├── autosave.js │ │ ├── autosubmit.js │ │ ├── autotypeset.js │ │ ├── autoupload.js │ │ ├── background.js │ │ ├── basestyle.js │ │ ├── blockquote.js │ │ ├── catchremoteimage.js │ │ ├── cleardoc.js │ │ ├── contextmenu.js │ │ ├── convertcase.js │ │ ├── copy.js │ │ ├── customstyle.js │ │ ├── defaultfilter.js │ │ ├── directionality.js │ │ ├── dragdrop.js │ │ ├── elementpath.js │ │ ├── enterkey.js │ │ ├── fiximgclick.js │ │ ├── font.js │ │ ├── formatmatch.js │ │ ├── formula.js │ │ ├── horizontal.js │ │ ├── iframe.js │ │ ├── image.js │ │ ├── indent.js │ │ ├── insertcode.js │ │ ├── insertfile.js │ │ ├── inserthtml.js │ │ ├── insertparagraph.js │ │ ├── justify.js │ │ ├── keystrokes.js │ │ ├── letterspacing.js │ │ ├── lineheight.js │ │ ├── link.js │ │ ├── list.js │ │ ├── markdown-shortcut.js │ │ ├── pagebreak.js │ │ ├── paragraph.js │ │ ├── paste.js │ │ ├── preview.js │ │ ├── print.js │ │ ├── puretxtpaste.js │ │ ├── quick-operate.js │ │ ├── removeformat.js │ │ ├── rowspacing.js │ │ ├── scrawl.js │ │ ├── searchreplace.js │ │ ├── section.js │ │ ├── selectall.js │ │ ├── serverparam.js │ │ ├── shortcutmenu.js │ │ ├── simpleupload.js │ │ ├── source.js │ │ ├── table.action.js │ │ ├── table.cmds.js │ │ ├── table.core.js │ │ ├── table.sort.js │ │ ├── template.js │ │ ├── time.js │ │ ├── undo.js │ │ ├── video.js │ │ ├── wordcount.js │ │ └── wordimage.js │ └── ui/ │ ├── autotypesetbutton.js │ ├── autotypesetpicker.js │ ├── breakline.js │ ├── button.js │ ├── cellalignpicker.js │ ├── colorbutton.js │ ├── colorpicker.js │ ├── combox.js │ ├── dialog.js │ ├── mask.js │ ├── menu.js │ ├── menubutton.js │ ├── message.js │ ├── multiMenu.js │ ├── pastepicker.js │ ├── popup.js │ ├── quick-operate.js │ ├── separator.js │ ├── shortcutmenu.js │ ├── splitbutton.js │ ├── stateful.js │ ├── tablebutton.js │ ├── tablepicker.js │ ├── toolbar.js │ ├── ui.js │ ├── uibase.js │ └── uiutils.js ├── dialogs/ │ ├── ai/ │ │ ├── ai.html │ │ └── ai.js │ ├── anchor/ │ │ └── anchor.html │ ├── attachment/ │ │ ├── attachment.css │ │ ├── attachment.html │ │ └── attachment.js │ ├── audio/ │ │ ├── audio.css │ │ ├── audio.html │ │ └── audio.js │ ├── background/ │ │ ├── background.css │ │ ├── background.html │ │ └── background.js │ ├── contentimport/ │ │ ├── contentimport.html │ │ └── contentimport.js │ ├── emotion/ │ │ ├── emotion.css │ │ ├── emotion.html │ │ └── emotion.js │ ├── formula/ │ │ ├── formula.html │ │ └── formula.js │ ├── help/ │ │ ├── help.css │ │ ├── help.html │ │ └── help.js │ ├── image/ │ │ ├── image.css │ │ ├── image.html │ │ └── image.js │ ├── insertframe/ │ │ └── insertframe.html │ ├── internal.js │ ├── link/ │ │ └── link.html │ ├── preview/ │ │ └── preview.html │ ├── scrawl/ │ │ ├── scrawl.css │ │ ├── scrawl.html │ │ └── scrawl.js │ ├── searchreplace/ │ │ ├── searchreplace.html │ │ └── searchreplace.js │ ├── spechars/ │ │ ├── spechars.html │ │ └── spechars.js │ ├── table/ │ │ ├── edittable.css │ │ ├── edittable.html │ │ ├── edittable.js │ │ ├── edittd.html │ │ └── edittip.html │ ├── template/ │ │ ├── config.js │ │ ├── template.css │ │ ├── template.html │ │ └── template.js │ ├── video/ │ │ ├── video.css │ │ ├── video.html │ │ └── video.js │ └── wordimage/ │ ├── wordimage.html │ └── wordimage.js ├── lang/ │ ├── en/ │ │ └── en.js │ └── zh-cn/ │ └── zh-cn.js ├── package.json ├── plugins/ │ └── demo/ │ └── demo.js ├── scripts/ │ └── postBuild.js ├── themes/ │ ├── default/ │ │ ├── _css/ │ │ │ ├── autotypesetpicker.css │ │ │ ├── button.css │ │ │ ├── buttonicon.css │ │ │ ├── cellalignpicker.css │ │ │ ├── colorbutton.css │ │ │ ├── colorpicker.css │ │ │ ├── combox.css │ │ │ ├── contextmenu.css │ │ │ ├── dialog.css │ │ │ ├── editor.css │ │ │ ├── menu.css │ │ │ ├── menubutton.css │ │ │ ├── message.css │ │ │ ├── multiMenu.css │ │ │ ├── paragraphpicker.css │ │ │ ├── pastepicker.css │ │ │ ├── popup.css │ │ │ ├── quick-operate.css │ │ │ ├── separtor.css │ │ │ ├── shortcutmenu.css │ │ │ ├── splitbutton.css │ │ │ ├── tablepicker.css │ │ │ ├── toolbar.css │ │ │ ├── ueditor.css │ │ │ ├── uibase.css │ │ │ └── uibase.less │ │ ├── dialog.css │ │ ├── dialog.less │ │ ├── dialogbase.css │ │ └── font/ │ │ └── iconfont.less │ └── iframe.css ├── third-party/ │ ├── SyntaxHighlighter/ │ │ ├── shCore.js │ │ └── shCoreDefault.css │ ├── clipboard/ │ │ ├── clipboard.js │ │ └── clipboard.swf │ ├── codemirror/ │ │ ├── codemirror.css │ │ └── codemirror.js │ ├── jquery-1.10.2.js │ ├── showdown.js │ ├── vue.js │ ├── webuploader/ │ │ ├── webuploader.css │ │ └── webuploader.js │ └── zeroclipboard/ │ ├── ZeroClipboard.js │ └── ZeroClipboard.swf ├── ueditor.config.js └── ueditor.parse.js
Showing preview only (319K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3367 symbols across 153 files)
FILE: Gruntfile.js
function updateConfigFile (line 222) | function updateConfigFile() {
FILE: _demo_server/handle.php
function output (line 82) | function output($data)
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/attachment/attachment.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabhead").children,b=0;b<a.length;b++)...
function setTabFocus (line 2) | function setTabFocus(a){if(a){var b,c,d=$G("tabhead").children;for(b=0;b...
function initButtons (line 2) | function initButtons(){dialog.onok=function(){for(var a,b=[],c=$G("tabhe...
function UploadFile (line 2) | function UploadFile(a){this.$wrap=a.constructor==String?$("#"+a):$(a),th...
function OnlineFile (line 2) | function OnlineFile(a){this.container=utils.isString(a)?document.getElem...
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete w[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(w,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=v){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===v?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/audio/audio.js
function a (line 2) | function a(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++)domUti...
function b (line 2) | function b(){g(["audioFloat","upload_alignment"]),i($G("audioUrl")),c(),...
function c (line 2) | function c(){dialog.onok=function(){$G("preview").innerHTML="";var a=f("...
function d (line 2) | function d(a){for(var b,c=$G("audioFloat").children,d=0;b=c[d++];)b.getA...
function e (line 2) | function e(){var a=$G("audioUrl").value;f("audioFloat","name");return!!a...
function f (line 2) | function f(a,b){for(var c,d,e=$G(a).children,f=0;d=e[f++];)if("focus"==d...
function g (line 2) | function g(a){for(var b,c=0;b=a[c++];){var d=$G(b),e={none:lang["default...
function h (line 2) | function h(a){for(var b,c=$G(a).children,d=0;b=c[d++];)domUtils.on(b,"cl...
function i (line 2) | function i(a){browser.ie?a.onpropertychange=function(){k(this.value)}:a....
function j (line 2) | function j(a,b){b=b||{};var c=["<audio",b.id?' id="'+b.id+'"':"",b.cls?'...
function k (line 2) | function k(a){a&&($G("preview").innerHTML='<div class="previewMsg"><span...
function l (line 2) | function l(){var a=[],b=editor.getOpt("audioUrlPrefix"),c=f("upload_alig...
function m (line 2) | function m(){o=new n("queueList")}
function n (line 2) | function n(a){this.$wrap=a.constructor==String?$("#"+a):$(a),this.init()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete x[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=q.children();h.each(x,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=w){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===w?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/background/background.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++...
function initColorSelector (line 2) | function initColorSelector(){var a=editor.queryCommandValue("background"...
function initColorPicker (line 2) | function initColorPicker(){var a=editor,b=$G("colorPicker"),c=new UE.ui....
function updateFormState (line 2) | function updateFormState(a,b,c,d,e,f){var g=$G("nocolorRadio"),h=$G("col...
function updateBackground (line 2) | function updateBackground(){if($G("coloredRadio").checked){var a=domUtil...
function OnlineImage (line 2) | function OnlineImage(a){this.container=utils.isString(a)?document.getEle...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/contentimport/contentimport.js
function processWord (line 2) | function processWord(a){$(".file-tip").html("正在转换Word文件,请稍后..."),$(".fil...
function processMarkdown (line 2) | function processMarkdown(a){var b=new showdown.Converter,c=b.makeHtml(a)...
function processMarkdownFile (line 2) | function processMarkdownFile(a){$(".file-tip").html("正在转换Markdown文件,请稍后....
function addUploadButtonListener (line 2) | function addUploadButtonListener(){g("contentImport").addEventListener("...
function addOkListener (line 2) | function addOkListener(){dialog.onok=function(){return contentImport.dat...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/emotion/emotion.js
function initImgName (line 2) | function initImgName(){for(var a in emotion.SmilmgName){var b=emotion.Sm...
function initEvtHandler (line 2) | function initEvtHandler(a){for(var b=$G(a),c=0,d=0;c<b.childNodes.length...
function InsertSmiley (line 2) | function InsertSmiley(a,b){var c={src:editor.options.emotionLocalization...
function switchTab (line 2) | function switchTab(a){autoHeight(a),0==emotion.tabExist[a]&&(emotion.tab...
function autoHeight (line 2) | function autoHeight(a){var b=dialog.getDom("iframe"),c=b.parentNode.pare...
function createTab (line 2) | function createTab(a){for(var b,c,d,e,f,g,h="?v=1.1",i=$G(a),j=emotion.S...
function over (line 2) | function over(a,b,c){a.style.backgroundColor="#ACCD3C",$G("faceReview")....
function out (line 2) | function out(a){a.style.backgroundColor="transparent";var b=$G("tabIconR...
function createTabList (line 2) | function createTabList(a){for(var b={},c=0;c<a;c++)b["tab"+c]=[];return b}
function createArr (line 2) | function createArr(a){for(var b=[],c=0;c<a;c++)b[c]=0;return b}
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/formula/formula.js
function preg_quote (line 2) | function preg_quote(a,b){return(a+"").replace(new RegExp("[.\\\\+*?\\[\\...
function loadScript (line 2) | function loadScript(a,b){var c;c=document.createElement("script"),c.src=...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/help/help.js
function clickHandler (line 2) | function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].classNa...
function switchTab (line 2) | function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].ch...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/image/image.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabhead").children,b=0;b<a.length;b++)...
function setTabFocus (line 2) | function setTabFocus(a){if(a){var b,c,d=$G("tabhead").children;for(b=0;b...
function initButtons (line 2) | function initButtons(){dialog.onok=function(){for(var a,b=!1,c=[],d=$G("...
function initAlign (line 2) | function initAlign(){domUtils.on($G("alignIcon"),"click",function(a){var...
function setAlign (line 2) | function setAlign(a){a=a||"none";var b=$G("alignIcon").children;for(i=0;...
function getAlign (line 2) | function getAlign(){var a=$G("align").value||"none";return"none"==a?"":a}
function RemoteImage (line 2) | function RemoteImage(a){this.container=utils.isString(a)?document.getEle...
function UploadImage (line 2) | function UploadImage(a){this.$wrap=a.constructor==String?$("#"+a):$(a),t...
function OnlineImage (line 2) | function OnlineImage(a){this.container=utils.isString(a)?document.getEle...
function a (line 2) | function a(){b.setPreview()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete w[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(w,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!==v){var c=f.getStats();switch(m.removeClass("state...
function e (line 2) | function e(){var a,b="";"ready"===v?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/scrawl/scrawl.js
function ue_callback (line 2) | function ue_callback(a,b){function c(a,b,c,d){var e,f=0,g=0,h=a.width||c...
function removeMaskLayer (line 2) | function removeMaskLayer(){var a=$G("J_maskLayer");a.className="maskLaye...
function addMaskLayer (line 2) | function addMaskLayer(a){var b=$G("J_maskLayer");dialog.buttons[0].setDi...
function exec (line 2) | function exec(scrawlObj){if(scrawlObj.isScrawl){addMaskLayer(lang.scrawl...
function a (line 2) | function a(){var a=document,b=a.getElementsByTagName("head")[0],c=a.crea...
function b (line 2) | function b(){var a=document,b=[],c=a.createElement("div");c.id="J_scaleC...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/searchreplace/searchreplace.js
function clickHandler (line 2) | function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].classNa...
function switchTab (line 2) | function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].ch...
function getMatchCase (line 2) | function getMatchCase(a){return!!$G(a).checked}
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/spechars/spechars.js
function toArray (line 2) | function toArray(a){return a.split(",")}
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/video/video.js
function a (line 2) | function a(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++)domUti...
function b (line 2) | function b(){k(["videoFloat","upload_alignment"]),m($G("videoUrl")),c(),...
function c (line 2) | function c(){dialog.onok=function(){$G("preview").innerHTML="";var a=g("...
function d (line 2) | function d(a){for(var b,c=$G("videoFloat").children,d=0;b=c[d++];)b.getA...
function e (line 2) | function e(){var a=$G("videoWidth"),b=$G("videoHeight"),c=$G("videoUrl")...
function f (line 2) | function f(a){for(var b,c=domUtils.getElementsByTagName($G(a),"img"),d=[...
function g (line 2) | function g(a,b){for(var c,d,e=$G(a).children,f=0;d=e[f++];)if("focus"==d...
function h (line 2) | function h(a){return a?a=utils.trim(a).replace(/v\.youku\.com\/v_show\/i...
function i (line 2) | function i(a){for(var b,c=0;b=a[c++];){var d=b.value;if(!j(d)&&d)return ...
function j (line 2) | function j(a){return/(0|^[1-9]\d*$)/.test(a)}
function k (line 2) | function k(a){for(var b,c=0;b=a[c++];){var d=$G(b),e={none:lang["default...
function l (line 2) | function l(a){for(var b,c=$G(a).children,d=0;b=c[d++];)domUtils.on(b,"cl...
function m (line 2) | function m(a){browser.ie?a.onpropertychange=function(){n(this.value)}:a....
function n (line 2) | function n(a){if(a){var b=h(a);b=utils.unhtml(b),$G("preview").innerHTML...
function o (line 2) | function o(){var a=[],b=editor.getOpt("videoUrlPrefix"),c=$G("upload_wid...
function p (line 2) | function p(){r=new q("queueList")}
function q (line 2) | function q(a){this.$wrap=a.constructor==String?$("#"+a):$(a),this.init()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete x[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(x,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=w){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===w?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/dialogs/wordimage/wordimage.js
function addUploadButtonListener (line 2) | function addUploadButtonListener(){g("saveFile").addEventListener("chang...
function addOkListener (line 2) | function addOkListener(){dialog.onok=function(){if(imageUrls.length){var...
function showLocalPath (line 2) | function showLocalPath(a){var b=editor.selection.getRange().getClosedNod...
function createCopyButton (line 2) | function createCopyButton(a,b){var c=g(b).value;c.startsWith("file:////"...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/third-party/SyntaxHighlighter/shCore.js
function b (line 2) | function b(a,b){if(!XRegExp.isRegExp(a))throw TypeError("type RegExp exp...
function c (line 2) | function c(a){return(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline...
function d (line 2) | function d(a,b,c,d){var e,f,g,h=j.length;i=!0;try{for(;h--;)if(g=j[h],c&...
function e (line 2) | function e(a,b,c){if(Array.prototype.indexOf)return a.indexOf(b,c);for(v...
function a (line 2) | function a(a,b){return a.className.indexOf(b)!=-1}
function b (line 2) | function b(b,c){a(b,c)||(b.className+=" "+c)}
function c (line 2) | function c(a,b){a.className=a.className.replace(b,"")}
function d (line 2) | function d(a){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);return b}
function e (line 2) | function e(a){return a.split(/\r?\n/)}
function f (line 2) | function f(a){var b="highlighter_";return 0==a.indexOf(b)?a:b+a}
function g (line 2) | function g(a){return J.vars.highlighters[f(a)]}
function h (line 2) | function h(a){return document.getElementById(f(a))}
function i (line 2) | function i(a){J.vars.highlighters[f(a.id)]=a}
function j (line 2) | function j(a,b,c){if(null==a)return null;var d,e,f=1!=c?a.childNodes:[a....
function k (line 2) | function k(a,b){return j(a,b,!0)}
function l (line 2) | function l(a,b,c){c=Math.max(c||0,0);for(var d=c;d<a.length;d++)if(a[d]=...
function m (line 2) | function m(a){return(a||"")+Math.round(1e6*Math.random()).toString()}
function n (line 2) | function n(a,b){var c,d={};for(c in a)d[c]=a[c];for(c in b)d[c]=b[c];ret...
function o (line 2) | function o(a){var b={"true":!0,"false":!1}[a];return null==b?a:b}
function p (line 2) | function p(a,b,c,d,e){var f=(screen.width-c)/2,g=(screen.height-d)/2;e+=...
function q (line 2) | function q(a,b,c,d){function e(a){a=a||window.event,a.target||(a.target=...
function r (line 2) | function r(a){window.alert(J.config.strings.alert+a)}
function s (line 2) | function s(a,b){var c=J.vars.discoveredBrushes,d=null;if(null==c){c={};f...
function t (line 2) | function t(a,b){for(var c=e(a),d=0;d<c.length;d++)c[d]=b(c[d],d);return ...
function u (line 2) | function u(a){return a.replace(/^[ ]*[\n]+|[\n]*[ ]*$/g,"")}
function v (line 2) | function v(a){for(var b,c={},d=new XRegExp("^\\[(?<values>(.*?))\\]$"),e...
function w (line 2) | function w(a,b){return null==a||0==a.length||"\n"==a?a:(a=a.replace(/</g...
function x (line 2) | function x(a,b){for(var c=a.toString();c.length<b;)c="0"+c;return c}
function y (line 2) | function y(a,b){for(var c="",d=0;d<b;d++)c+=" ";return a.replace(/\t/g,c)}
function z (line 2) | function z(a,b){function c(a,b,c){return a.substr(0,b)+f.substr(0,c)+a.s...
function A (line 2) | function A(a){var b=/<br\s*\/?>|<br\s*\/?>/gi;return 1==J.config.b...
function B (line 2) | function B(a){return a.replace(/^\s+|\s+$/g,"")}
function C (line 2) | function C(a){for(var b=e(A(a)),c=(new Array,/^\s*/),d=1e3,f=0;f<b.lengt...
function D (line 2) | function D(a,b){return a.index<b.index?-1:a.index>b.index?1:a.length<b.l...
function E (line 2) | function E(a,b){function c(a,b){return a[0]}for(var d=null,e=[],f=b.func...
function F (line 2) | function F(a){var b=/(.*)((>|<).*)/;return a.replace(J.regexLib.ur...
function G (line 2) | function G(){for(var a=document.getElementsByTagName("script"),b=[],c=0;...
function H (line 2) | function H(a){var b="<![CDATA[",c="]]>",d=B(a),e=!1,f=b.length,g=c.lengt...
function I (line 2) | function I(a){var d,e=a.target,f=k(e,".syntaxhighlighter"),h=k(e,".conta...
function b (line 2) | function b(a,b){return J.toolbar.getButtonHtml(a,b,J.config.strings[b])}
function b (line 2) | function b(a){var b=new RegExp(a+"_(\\w+)"),c=b.exec(d);return c?c[1]:null}
function b (line 2) | function b(a,b){for(var c=0;c<a.length;c++)a[c].index+=b}
function c (line 2) | function c(a,c){for(var f,g=a.code,h=[],i=d.regexList,j=a.index+a.left.l...
function c (line 2) | function c(a){var b=a?a.brushName||f:f;return b?b+" ":""}
function a (line 2) | function a(){var a="class interface function package",b="-Infinity ...re...
function a (line 2) | function a(){var a="after before beginning continue copy each end every ...
function a (line 2) | function a(){var a="if fi then elif else for do done until while break c...
function a (line 2) | function a(){var a="Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader ...
function a (line 3) | function a(){var a="ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG...
function a (line 3) | function a(){function a(a,b){var c=0==a[0].indexOf("///")?"color1":"comm...
function a (line 3) | function a(){function a(a){return"\\b([a-z_]|)"+a.replace(/ /g,"(?=:)\\b...
function a (line 3) | function a(){var a="abs addr and ansichar ansistring array as asm begin ...
function a (line 3) | function a(){this.regexList=[{regex:/^\+\+\+ .*$/gm,css:"color2"},{regex...
function a (line 3) | function a(){var a="after and andalso band begin bnot bor bsl bsr bxor c...
function a (line 3) | function a(){var a="as assert break case catch class continue def defaul...
function a (line 3) | function a(){var a="abstract assert boolean break byte case catch char c...
function a (line 3) | function a(){var a="Boolean Byte Character Double Duration Float Integer...
function a (line 3) | function a(){var a="break case catch continue default delete do else fal...
function a (line 3) | function a(){var a="abs accept alarm atan2 bind binmode chdir chmod chom...
function a (line 3) | function a(){var a="abs acos acosh addcslashes addslashes array_change_k...
function a (line 3) | function a(){}
function a (line 3) | function a(){var a="while validateset validaterange validatepattern vali...
function a (line 3) | function a(){var a="and assert break class continue def del elif else ex...
function a (line 3) | function a(){var a="alias and BEGIN begin break case class def define_me...
function a (line 4) | function a(){function a(a){return"\\b([a-z_]|)"+a.replace(/ /g,"(?=:)\\b...
function a (line 4) | function a(){var a="val sealed case def true trait implicit forSome impo...
function a (line 4) | function a(){var a="abs avg case cast coalesce convert count current_tim...
function a (line 4) | function a(){var a="AddHandler AddressOf AndAlso Alias And Ansi As Assem...
function a (line 4) | function a(){function a(a,b){var c=SyntaxHighlighter.Match,d=a[0],e=new ...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/third-party/clipboard/clipboard.js
function e (line 2) | function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&re...
function d (line 2) | function d(a,b){for(;a&&a!==document;){if(a.matches(b))return a;a=a.pare...
function d (line 2) | function d(a,b,c,d,f){var g=e.apply(this,arguments);return a.addEventLis...
function e (line 2) | function e(a,b,c,d){return function(c){c.delegateTarget=f(c.target,b),c....
function d (line 2) | function d(a,b,c){if(!a&&!b&&!c)throw new Error("Missing required argume...
function e (line 2) | function e(a,b,c){return a.addEventListener(b,c),{destroy:function(){a.r...
function f (line 2) | function f(a,b,c){return Array.prototype.forEach.call(a,function(a){a.ad...
function g (line 2) | function g(a,b,c){return i(document.body,a,b,c)}
function d (line 2) | function d(a){var b;if("SELECT"===a.nodeName)a.focus(),b=a.value;else if...
function d (line 2) | function d(){}
function d (line 2) | function d(){e.off(a,d),b.apply(c,arguments)}
function c (line 2) | function c(a){return a&&a.__esModule?a:{"default":a}}
function d (line 2) | function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a ...
function a (line 2) | function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.en...
function a (line 2) | function a(b){d(this,a),this.resolveOptions(b),this.initSelection()}
function e (line 2) | function e(a){return a&&a.__esModule?a:{"default":a}}
function f (line 2) | function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a ...
function g (line 2) | function g(a,b){if(!a)throw new ReferenceError("this hasn't been initial...
function h (line 2) | function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("S...
function i (line 2) | function i(a,b){var c="data-clipboard-"+a;if(b.hasAttribute(c))return b....
function a (line 2) | function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.en...
function b (line 2) | function b(a,c){f(this,b);var d=g(this,(b.__proto__||Object.getPrototype...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/third-party/codemirror/codemirror.js
function a (line 2) | function a(f,j){function r(a){return a>=0&&a<Yb.size}function u(a){retur...
function b (line 2) | function b(a,b,c){function d(a,b,c){var e=b[a];if(null!=e)return e;if(nu...
function c (line 2) | function c(a){var b=Z[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||...
function d (line 2) | function d(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);...
function e (line 2) | function e(a,b,c){return!a.startState||a.startState(b,c)}
function f (line 2) | function f(a,b){this.pos=this.start=0,this.string=a,this.tabSize=b||8}
function g (line 2) | function g(a,b,c,d){this.from=a,this.to=b,this.style=c,this.set=d}
function h (line 2) | function h(a){this.from=a,this.to=a,this.line=null}
function i (line 2) | function i(a,b){this.styles=b||[a,null],this.text=a,this.height=1,this.m...
function j (line 2) | function j(a,b,c,d){for(var e=0,f=0,g=0;f<b;e+=2){var h=c[e],i=f+h.lengt...
function k (line 2) | function k(a){this.lines=a,this.parent=null;for(var b=0,c=a.length,d=0;b...
function l (line 2) | function l(a){this.children=a;for(var b=0,c=0,d=0,e=a.length;d<e;++d){va...
function m (line 2) | function m(a,b){for(;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d...
function n (line 2) | function n(a){if(null==a.parent)return null;for(var b=a.parent,c=J(b.lin...
function o (line 2) | function o(a,b){var c=0;a:do{for(var d=0,e=a.children.length;d<e;++d){va...
function p (line 2) | function p(a,b){var c=0;a:do{for(var d=0,e=a.children.length;d<e;++d){va...
function q (line 2) | function q(){this.time=0,this.done=[],this.undone=[]}
function r (line 2) | function r(){v(this)}
function s (line 2) | function s(a){return a.stop||(a.stop=r),a}
function t (line 2) | function t(a){a.preventDefault?a.preventDefault():a.returnValue=!1}
function u (line 2) | function u(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}
function v (line 2) | function v(a){t(a),u(a)}
function w (line 2) | function w(a){return a.target||a.srcElement}
function x (line 2) | function x(a){return a.which?a.which:1&a.button?1:2&a.button?3:4&a.butto...
function y (line 2) | function y(a,b,c,d){
function z (line 3) | function z(){this.id=null}
function A (line 3) | function A(a,b,c){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length...
function B (line 3) | function B(a){return a.currentStyle?a.currentStyle:window.getComputedSty...
function C (line 3) | function C(a,b){for(var c=a.ownerDocument.body,d=0,e=0,f=!1,g=a;g;g=g.of...
function D (line 3) | function D(a){return a.textContent||a.innerText||a.nodeValue||""}
function E (line 3) | function E(a,b){return a.line==b.line&&a.ch==b.ch}
function F (line 3) | function F(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}
function G (line 3) | function G(a){return{line:a.line,ch:a.ch}}
function H (line 3) | function H(a){return W.textContent=a,W.innerHTML}
function I (line 3) | function I(a,b){if(!b)return a?a.length:0;if(!a)return b.length;for(var ...
function J (line 3) | function J(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;...
function K (line 3) | function K(a){return/\w/.test(a)||a.toUpperCase()!=a.toLowerCase()}
function d (line 3) | function d(){b.value=h.getValue()}
function e (line 3) | function e(){d(),b.form.submit=g,b.form.submit(),b.form.submit=e}
function d (line 3) | function d(a){return c?a.toLowerCase():a}
function f (line 3) | function f(a,b){a&&(i&&T&&" "==a.charAt(0)&&(a=" "+a.slice(1)),i=!1,b?h....
function g (line 3) | function g(){l&&(r+=1,s=r<l.length?l[r]:null)}
function c (line 3) | function c(a,b){function c(c){return b.tokenize=c,c(a,b)}var e=a.next();...
function d (line 3) | function d(a,b){var d=a.next();return">"==d||"/"==d&&a.eat(">")?(b.token...
function e (line 3) | function e(a){return function(b,c){for(;!b.eol();)if(b.next()==a){c.toke...
function f (line 3) | function f(a,b){return function(d,e){for(;!d.eol();){if(d.match(b)){e.to...
function g (line 3) | function g(a){return function(b,d){for(var e;null!=(e=b.next());){if("<"...
function h (line 3) | function h(){for(var a=arguments.length-1;a>=0;a--)t.cc.push(arguments[a])}
function i (line 3) | function i(){return h.apply(null,arguments),!0}
function j (line 3) | function j(a,b){var c=w.doNotIndent.hasOwnProperty(a)||t.context&&t.cont...
function k (line 3) | function k(){t.context&&(t.context=t.context.prev)}
function l (line 3) | function l(a){if("openTag"==a)return t.tagName=r,i(o,m(t.startOfLine));i...
function m (line 3) | function m(a){return function(b){return"selfcloseTag"==b||"endTag"==b&&w...
function n (line 3) | function n(a){return function(b){return a&&(u="error"),"endTag"==b?(k(),...
function o (line 3) | function o(a){return"word"==a?(u="attribute",i(o)):"equals"==a?i(p,o):"s...
function p (line 3) | function p(a){return"word"==a&&w.allowUnquoted?(u="string",i()):"string"...
function q (line 3) | function q(a){return"string"==a?i(q):h()}
function c (line 3) | function c(a,b,c){return b.tokenize=c,c(a,b)}
function d (line 3) | function d(a,b){for(var c,d=!1;null!=(c=a.next());){if(c==b&&!d)return!1...
function e (line 3) | function e(a,b,c){return K=a,L=c,b}
function f (line 3) | function f(a,b){var f=a.next();if('"'==f||"'"==f)return c(a,b,g(f));if(/...
function g (line 3) | function g(a){return function(b,c){return d(b,a)||(c.tokenize=f),e("stri...
function h (line 3) | function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;b...
function i (line 3) | function i(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.p...
function j (line 3) | function j(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0}
function k (line 3) | function k(a,b,c,d,e){var f=a.cc;for(R.state=a,R.stream=e,R.marked=null,...
function l (line 3) | function l(){for(var a=arguments.length-1;a>=0;a--)R.cc.push(arguments[a])}
function m (line 3) | function m(){return l.apply(null,arguments),!0}
function n (line 3) | function n(a){var b=R.state;if(b.context){R.marked="def";for(var c=b.loc...
function o (line 3) | function o(){R.state.context||(R.state.localVars=S),R.state.context={pre...
function p (line 3) | function p(){R.state.localVars=R.state.context.vars,R.state.context=R.st...
function q (line 3) | function q(a,b){var c=function(){var c=R.state;c.lexical=new i(c.indente...
function r (line 3) | function r(){var a=R.state;a.lexical.prev&&(")"==a.lexical.type&&(a.inde...
function s (line 3) | function s(a){return function(b){return b==a?m():";"==a?l():m(arguments....
function t (line 3) | function t(a){return"var"==a?m(q("vardef"),C,s(";"),r):"keyword a"==a?m(...
function u (line 3) | function u(a){return Q.hasOwnProperty(a)?m(w):"function"==a?m(I):"keywor...
function v (line 3) | function v(a){return a.match(/[;\}\)\],]/)?l():l(u)}
function w (line 3) | function w(a,b){if("operator"==a&&/\+\+|--/.test(b))return m(w);if("oper...
function x (line 3) | function x(a){return":"==a?m(r,t):l(w,s(";"),r)}
function y (line 3) | function y(a){if("variable"==a)return R.marked="property",m()}
function z (line 3) | function z(a){if("variable"==a&&(R.marked="property"),Q.hasOwnProperty(a...
function A (line 3) | function A(a,b){function c(d){return","==d?m(a,c):d==b?m():m(s(b))}retur...
function B (line 3) | function B(a){return"}"==a?m():l(t,B)}
function C (line 3) | function C(a,b){return"variable"==a?(n(b),m(D)):m()}
function D (line 3) | function D(a,b){return"="==b?m(u,D):","==a?m(C):void 0}
function E (line 3) | function E(a){return"var"==a?m(C,G):";"==a?l(G):"variable"==a?m(F):l(G)}
function F (line 3) | function F(a,b){return"in"==b?m(u):m(w,G)}
function G (line 3) | function G(a,b){return";"==a?m(H):"in"==b?m(u):m(u,s(";"),H)}
function H (line 3) | function H(a){")"!=a&&m(u)}
function I (line 3) | function I(a,b){return"variable"==a?(n(b),m(I)):"("==a?m(q(")"),o,A(J,")...
function J (line 3) | function J(a,b){if("variable"==a)return n(b),m()}
function a (line 3) | function a(a){return{type:a,style:"keyword"}}
function b (line 3) | function b(a,b){return g=b,a}
function c (line 3) | function c(a,c){var g=a.next();return"@"==g?(a.eatWhile(/[\w\\\-]/),b("m...
function d (line 3) | function d(a,d){for(var e,f=!1;null!=(e=a.next());){if(f&&"/"==e){d.toke...
function e (line 3) | function e(a,d){for(var e,f=0;null!=(e=a.next());){if(f>=2&&">"==e){d.to...
function f (line 3) | function f(a){return function(d,e){for(var f,g=!1;null!=(f=d.next())&&(f...
function c (line 3) | function c(a,b){var c=g.token(a,b.htmlState);return"tag"==c&&">"==a.curr...
function d (line 3) | function d(a,b,c){var d=a.current(),e=d.search(b);return e>-1&&a.backUp(...
function e (line 3) | function e(a,b){return a.match(/^<\/\s*script\s*>/i,!1)?(b.token=c,b.cur...
function f (line 3) | function f(a,b){return a.match(/^<\/\s*style\s*>/i,!1)?(b.token=c,b.loca...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/third-party/jquery-1.10.2.js
function c (line 2) | function c(a){var b=a.length,c=ka.type(a);return!ka.isWindow(a)&&(!(1!==...
function d (line 2) | function d(a){var b=za[a]={};return ka.each(a.match(ma)||[],function(a,c...
function e (line 2) | function e(a,c,d,e){if(ka.acceptData(a)){var f,g,h=ka.expando,i=a.nodeTy...
function f (line 2) | function f(a,b,c){if(ka.acceptData(a)){var d,e,f=a.nodeType,g=f?ka.cache...
function g (line 2) | function g(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(Ba,"...
function h (line 2) | function h(a){var b;for(b in a)if(("data"!==b||!ka.isEmptyObject(a[b]))&...
function i (line 2) | function i(){return!0}
function j (line 2) | function j(){return!1}
function k (line 2) | function k(){try{return Y.activeElement}catch(a){}}
function l (line 2) | function l(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}
function m (line 2) | function m(a,b,c){if(ka.isFunction(b))return ka.grep(a,function(a,d){ret...
function n (line 2) | function n(a){var b=Ua.split("|"),c=a.createDocumentFragment();if(c.crea...
function o (line 2) | function o(a,b){return ka.nodeName(a,"table")&&ka.nodeName(1===b.nodeTyp...
function p (line 2) | function p(a){return a.type=(null!==ka.find.attr(a,"type"))+"/"+a.type,a}
function q (line 2) | function q(a){var b=eb.exec(a.type);return b?a.type=b[1]:a.removeAttribu...
function r (line 2) | function r(a,b){for(var c,d=0;null!=(c=a[d]);d++)ka._data(c,"globalEval"...
function s (line 2) | function s(a,b){if(1===b.nodeType&&ka.hasData(a)){var c,d,e,f=ka._data(a...
function t (line 2) | function t(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase...
function u (line 2) | function u(a,c){var d,e,f=0,g=typeof a.getElementsByTagName!==W?a.getEle...
function v (line 2) | function v(a){bb.test(a.type)&&(a.defaultChecked=a.checked)}
function w (line 2) | function w(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b...
function x (line 2) | function x(a,b){return a=b||a,"none"===ka.css(a,"display")||!ka.contains...
function y (line 2) | function y(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style...
function z (line 2) | function z(a,b,c){var d=rb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2...
function A (line 2) | function A(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b...
function B (line 2) | function B(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=...
function C (line 2) | function C(a){var b=Y,c=ub[a];return c||(c=D(a,b),"none"!==c&&c||(jb=(jb...
function D (line 2) | function D(a,b){var c=ka(b.createElement(a)).appendTo(b.body),d=ka.css(c...
function E (line 2) | function E(a,b,c,d){var e;if(ka.isArray(b))ka.each(b,function(b,e){c||Ab...
function F (line 2) | function F(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d...
function G (line 2) | function G(a,c,d,e){function f(i){var j;return g[i]=!0,ka.each(a[i]||[],...
function H (line 2) | function H(a,c){var d,e,f=ka.ajaxSettings.flatOptions||{};for(e in c)c[e...
function I (line 2) | function I(a,c,d){for(var e,f,g,h,i=a.contents,j=a.dataTypes;"*"===j[0];...
function J (line 2) | function J(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for...
function K (line 2) | function K(){try{return new a.XMLHttpRequest}catch(b){}}
function L (line 2) | function L(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b...
function M (line 2) | function M(){return setTimeout(function(){$b=b}),$b=ka.now()}
function N (line 2) | function N(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length...
function O (line 2) | function O(a,b,c){var d,e,f=0,g=dc.length,h=ka.Deferred().always(functio...
function P (line 2) | function P(a,b){var c,d,e,f,g;for(c in a)if(d=ka.camelCase(c),e=b[d],f=a...
function Q (line 2) | function Q(a,b,c){var d,e,f,g,h,i,j=this,k={},l=a.style,m=a.nodeType&&x(...
function R (line 2) | function R(a,b,c,d,e){return new R.prototype.init(a,b,c,d,e)}
function S (line 2) | function S(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=xb[e],d[...
function T (line 2) | function T(a){return ka.isWindow(a)?a:9===a.nodeType&&(a.defaultView||a....
function c (line 2) | function c(a,b,c,d){var e,f,g,h,i,j,k,l,o,p;if((b?b.ownerDocument||b:O)!...
function d (line 2) | function d(){function a(c,d){return b.push(c+=" ")>z.cacheLength&&delete...
function e (line 2) | function e(a){return a[N]=!0,a}
function f (line 2) | function f(a){var b=G.createElement("div");try{return!!a(b)}catch(c){ret...
function g (line 2) | function g(a,b){for(var c=a.split("|"),d=a.length;d--;)z.attrHandle[c[d]...
function h (line 2) | function h(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sour...
function i (line 2) | function i(a){return function(b){var c=b.nodeName.toLowerCase();return"i...
function j (line 2) | function j(a){return function(b){var c=b.nodeName.toLowerCase();return("...
function k (line 2) | function k(a){return e(function(b){return b=+b,e(function(c,d){for(var e...
function l (line 2) | function l(){}
function m (line 2) | function m(a,b){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return b?0:k.slice(0);...
function n (line 2) | function n(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}
function o (line 2) | function o(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first...
function p (line 2) | function p(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)...
function q (line 2) | function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f...
function r (line 2) | function r(a,b,c,d,f,g){return d&&!d[N]&&(d=r(d)),f&&!f[N]&&(f=r(f,g)),e...
function s (line 2) | function s(a){for(var b,c,d,e=a.length,f=z.relative[a[0].type],g=f||z.re...
function t (line 2) | function t(a,b){var d=0,f=b.length>0,g=a.length>0,h=function(e,h,i,j,k){...
function u (line 2) | function u(a,b,d){for(var e=0,f=b.length;f>e;e++)c(a,b[e],d);return d}
function v (line 2) | function v(a,b,c,d){var e,f,g,h,i,j=m(a);if(!d&&1===j.length){if(f=j[0]=...
function d (line 4) | function d(a,c,d,e){var f,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),k=b...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/third-party/webuploader/webuploader.js
function d (line 2) | function d(a){return function(){return h.apply(a,arguments)}}
function e (line 2) | function e(a,b){return function(){return a.apply(b,arguments)}}
function f (line 2) | function f(a){var b;return Object.create?Object.create(a):(b=function(){...
function b (line 2) | function b(a,b,c,d){return f.grep(a,function(a){return!(!a||b&&a.e!==b||...
function c (line 2) | function c(a,b,c){f.each((a||"").split(h),function(a,d){c(d,b)})}
function d (line 2) | function d(a,b){for(var c,d=!1,e=-1,f=a.length;++e<f;)if(c=a[e],c.cb.app...
function c (line 2) | function c(a){this.options=d.extend(!0,{},c.options,a),this._init(this.o...
function c (line 2) | function c(b){this.options=d.extend({container:document.body},b),this.ui...
function d (line 2) | function d(b,d){var f,g=a.Deferred();this.uid=a.guid("client_"),this.run...
function d (line 2) | function d(a){a=this.options=e.extend({},d.options,a),a.container=e(a.co...
function c (line 2) | function c(a){if(!a)return!1;var b=a.length,c=e.type(a);return!(1!==a.no...
function d (line 2) | function d(a){this.owner=a,this.options=a.options}
function d (line 2) | function d(a){a=this.options=e.extend({},a),a.container=e(a.container||d...
function c (line 2) | function c(a,c){var d=this;d.source=c,d.ruid=a,this.size=c.size||0,this....
function c (line 2) | function c(a,c){var f;this.name=c.name||"untitled"+d++,f=e.exec(c.name)?...
function e (line 2) | function e(a){if(a=this.options=f.extend({},e.options,a),a.container=f(a...
function d (line 2) | function d(a){this.options=e.extend({},d.options,a),b.call(this,"Image")...
function d (line 2) | function d(a,b){return b.forEach(function(b){b&&"string"!=typeof b&&!Arr...
function e (line 2) | function e(a,b){return new Promise(function(d,e){var f;return z(a).then(...
function f (line 2) | function f(a,b,d){return void 0===d&&(d=Date.now()),new Promise(function...
function g (line 2) | function g(a){return new Promise(function(b,c){var d=new L;d.onload=func...
function h (line 2) | function h(a){return new Promise(function(b,c){var d=new Image;d.onload=...
function i (line 2) | function i(){if(void 0!==i.cachedResult)return i.cachedResult;var a=F.ET...
function j (line 2) | function j(a,b){for(var c=i(),d=G[c],e=a,f=b,g=e*f,h=e>f?f/e:e/f;g>d*d;)...
function k (line 2) | function k(a,b){var c,d;try{if(c=new OffscreenCanvas(a,b),d=c.getContext...
function l (line 2) | function l(a,b){var c=j(a.width,a.height),d=c.width,e=c.height,f=k(d,e),...
function m (line 2) | function m(){return void 0!==m.cachedResult||(m.cachedResult=["iPad Simu...
function n (line 2) | function n(a,b){return void 0===b&&(b={}),new Promise(function(a,c){var ...
function o (line 2) | function o(a,b,d,e,g){return void 0===g&&(g=1),new Promise(function(h,i)...
function p (line 2) | function p(a){a.width=0,a.height=0}
function q (line 2) | function q(){return new Promise(function(a,b){var c,d,e,g,h;return void ...
function r (line 2) | function r(a){return new Promise(function(b,c){var d=new L;d.onload=func...
function s (line 2) | function s(a,b){var c,d,e=a.width,f=a.height,g=b.maxWidthOrHeight,h=a;re...
function t (line 2) | function t(a,b){var c=a.width,d=a.height,e=k(c,d),f=e[0],g=e[1];switch(b...
function u (line 2) | function u(a,b,c){return void 0===c&&(c=0),new Promise(function(d,e){fun...
function v (line 2) | function v(a,b){return new Promise(function(d,e){D||(D=function(a){var b...
function w (line 2) | function w(a,b){return new Promise(function(a,d){function f(){try{h.name...
function a (line 3) | function a(a,b,c){for(;0!=b--;)a.push(0,c)}
method exports (line 3) | get exports(){return A}
method exports (line 3) | set exports(a){A=a}
function a (line 3) | function a(a,b,c,e){var f=b*c,g=d(e),h=Math.ceil(b*g/8),j=new Uint8Array...
function b (line 3) | function b(a,b,f,g){var h=d(a),i=Math.ceil(f*h/8),k=new Uint8Array((i+1+...
function c (line 3) | function c(a,b){return j(new Uint8Array(a.buffer,2,a.length-6),b)}
function d (line 3) | function d(a){return[1,null,3,1,2,null,4][a.ctype]*a.depth}
function e (line 3) | function e(a,b,c,e,g){var h,i,j=d(b),k=Math.ceil(e*j/8);j=Math.ceil(j/8)...
function f (line 3) | function f(a,b,c){var d=a+b-c,e=d-a,f=d-b,g=d-c;return f*f>=e*e&&g*g>=e*...
function g (line 3) | function g(a,b,c){c.width=i.readUint(a,b),b+=4,c.height=i.readUint(a,b),...
function h (line 3) | function h(a,b,c,d,e,f,g,h,i){for(var j=Math.min(b,e),k=Math.min(c,f),l=...
function b (line 3) | function b(a,b,c){for(;0!=b--;)a.push(0,c)}
function a (line 3) | function a(a,b,c,d){b[c]+=a[0]*d>>4,b[c+1]+=a[1]*d>>4,b[c+2]+=a[2]*d>>4,...
function b (line 3) | function b(a){return Math.max(0,Math.min(255,a))}
function c (line 3) | function c(a,b){var c=a[0]-b[0],d=a[1]-b[1],e=a[2]-b[2],f=a[3]-b[3];retu...
function d (line 3) | function d(d,e,f,g,h,i,j){null==j&&(j=1);for(var k=g.length,l=[],m=0;k>m...
function e (line 3) | function e(a,b,c,d,e){null==e&&(e={});var f,g=w.crc,h=u.writeUint,i=u.wr...
function f (line 3) | function f(a,b,c){for(var d=0;d<a.frames.length;d++){var e=a.frames[d];e...
function g (line 3) | function g(a,b,c,e,f){for(var g=f[0],j=f[1],k=f[2],m=f[3],n=f[4],o=f[5],...
function h (line 3) | function h(a,b,c,d,e,f,g){for(var h=Uint8Array,j=Uint32Array,k=new h(a[e...
function i (line 3) | function i(a,b,c,d,e){t(a,b,c,d,e.width,e.height,-e.x,-e.y,2)}
function j (line 3) | function j(a,b,c,d,e,f,g){var h,i=[],j=[0,1,2,3,4];-1!=f?j=[f]:(b*d>5e5|...
function k (line 3) | function k(a,b,c,d,e,f){var g=c*d,h=g+c;if(a[h]=f,h++,0==f)if(500>d)for(...
function l (line 3) | function l(a,b){var c,d=new Uint8Array(a),e=d.slice(0),f=new Uint32Array...
function m (line 3) | function m(a,b,c){null==c&&(c=1e-4);var d=new Uint32Array(a.buffer),e={i...
function n (line 4) | function n(a,b,c,d,e){if(null==a.left)return a.tdst=function(a,b,c,d,e){...
function o (line 4) | function o(a,b,c,d,e){var f=a.e;return f[0]*b+f[1]*c+f[2]*d+f[3]*e-a.eMq}
function p (line 4) | function p(a,b,c,d,e,f){for(d-=4;d>c;){for(;q(a,c,e)<=f;)c+=4;for(;q(a,d...
function q (line 4) | function q(a,b,c){return a[b]*c[0]+a[b+1]*c[1]+a[b+2]*c[2]+a[b+3]*c[3]}
function r (line 4) | function r(a,b,c){for(var d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e=[0,0,0,0...
function s (line 4) | function s(a){var b=a.R,c=a.m,d=a.N,e=c[0],f=c[1],g=c[2],h=c[3],i=0==d?0...
function c (line 4) | function c(a){s.setUint16(w,a,!0),w+=2}
function d (line 4) | function d(a){s.setUint32(w,a,!0),w+=4}
function e (line 4) | function e(a){w+=a}
function c (line 4) | function c(){return f+g++}
function d (line 4) | function d(a){this.name=a.name||"Untitled",this.size=a.size||0,this.type...
function d (line 4) | function d(){this.stats={numOfQueue:0,numOfSuccess:0,numOfCancel:0,numOf...
function d (line 4) | function d(a){var c=this;a=c.options=e.extend(!0,{},d.options,a||{}),b.c...
function e (line 4) | function e(a,b){var c,d,e=[],f=a.source,g=f.size,h=b?Math.ceil(g/b):1,i=...
function a (line 4) | function a(a){for(var b,c=0,d=0,e=a.length;e>d;d++)b=a.charCodeAt(d),c=b...
function c (line 4) | function c(){a.call(this,"Md5")}
function a (line 4) | function a(a,b){this.owner=a,this.options=a.options,this.getRuntime=func...
function e (line 4) | function e(){var a={},d=this,e=this.destroy;c.apply(d,arguments),d.type=...
function a (line 5) | function a(a){function b(a){for(var b=[16,11,10,16,24,40,51,61,12,12,14,...
function b (line 5) | function b(a,b,c){var d,e,f,g=document.createElement("canvas"),h=g.getCo...
function c (line 5) | function c(a){var b,c,d=a.naturalWidth,e=a.naturalHeight;return d*e>1048...
function c (line 5) | function c(a){var b=e.extend({},d,a),c=f.replace(/^(.*)\?/,"$1"+e.param(...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/third-party/zeroclipboard/ZeroClipboard.js
function parseFlashVersion (line 521) | function parseFlashVersion(desc) {
function isPepperFlash (line 526) | function isPepperFlash(flashPlayerFileName) {
function inspectPlugin (line 529) | function inspectPlugin(plugin) {
FILE: _examples-integrate/reactx/public/static/UEditorPlus/ueditor.all.js
function getItem (line 1) | function getItem(doc,obj){try{for(var i=0,ci;ci=tmpList[i++];){if(ci.doc...
function opt (line 1) | function opt(obj,name){if(!obj){return""}var t=obj.top,b=obj.bottom,l=ob...
function doReady (line 1) | function doReady(doc){doc.isReady=true;for(var ci;ci=fnArr.pop();ci()){}}
function encodeString (line 1) | function encodeString(source){if(/["\\\x00-\x1f]/.test(source)){source=s...
function encodeArray (line 1) | function encodeArray(source){var result=["["],l=source.length,preComma,i...
function pad (line 1) | function pad(source){return source<10?"0"+source:source}
function encodeDate (line 1) | function encodeDate(source){return'"'+source.getFullYear()+"-"+pad(sourc...
function getListener (line 1) | function getListener(obj,type,force){var allListeners;type=type.toLowerC...
function _ (line 1) | function _(s){for(var k in s){s[k.toUpperCase()]=s[k]}return s}
function getDomNode (line 1) | function getDomNode(node,start,ltr,startFromChild,fn,guard){var tmpNode=...
function clear (line 1) | function clear(next,dir){var tmpNode;while(next&&!domUtils.isBookmarkNod...
function remove (line 1) | function remove(dir){var child;while((child=node[dir])&&child.nodeType==...
function merge (line 1) | function merge(rtl,start,node){var next;if((next=node[rtl])&&!domUtils.i...
function updateCollapse (line 1) | function updateCollapse(range){range.collapsed=range.startContainer&&ran...
function selectOneNode (line 1) | function selectOneNode(rng){return!rng.collapsed&&rng.startContainer.nod...
function setEndPoint (line 1) | function setEndPoint(toStart,node,offset,range){if(node.nodeType===1&&(d...
function execContentsAction (line 1) | function execContentsAction(range,action){var start=range.startContainer...
function removeFillData (line 1) | function removeFillData(doc,excludeNode){try{if(fillData&&domUtils.inDoc...
function mergeSibling (line 1) | function mergeSibling(node,dir){var tmpNode;node=node[dir];while(node&&d...
function check (line 1) | function check(node){return node.nodeType==1&&!domUtils.isBookmarkNode(n...
function adjust (line 1) | function adjust(r,c){var container=r[c+"Container"],offset=r[c+"Offset"]...
function checkOffset (line 1) | function checkOffset(rng){function check(node,offset,dir){if(node.nodeTy...
function getAddress (line 1) | function getAddress(isStart){var node=isStart?me.startContainer:me.endCo...
function getNode (line 1) | function getNode(address,isStart){var tmpNode=me.document.body,parentNod...
function getBoundaryInformation (line 1) | function getBoundaryInformation(range,start){var getIndex=domUtils.getNo...
function transformIERangeToRange (line 1) | function transformIERangeToRange(ieRange,range){if(ieRange.item){range.s...
function _getIERange (line 1) | function _getIERange(sel){var ieRange;try{ieRange=sel.getNative().create...
function optimze (line 1) | function optimze(range){var child=me.document.body.firstChild,collapsed=...
function setValue (line 1) | function setValue(form,editor){if(!editor.options.textarea){return}var t...
function loadPlugins (line 1) | function loadPlugins(me){for(var pi in UE.plugins){UE.plugins[pi].call(m...
function checkCurLang (line 1) | function checkCurLang(I18N){for(var lang in I18N){return lang}}
function langReadied (line 1) | function langReadied(me){me.langIsReady=true;me.fireEvent("langReady")}
function isCdataDiv (line 1) | function isCdataDiv(node){return node.tagName=="DIV"&&node.getAttribute(...
function clear (line 1) | function clear(){var me=this;if(me.document.getElementById("initContent"...
function showErrorMsg (line 1) | function showErrorMsg(msg){console&&console.error(msg)}
function json2str (line 1) | function json2str(json){var strArr=[];for(var i in json){if(i=="method"|...
function doAjax (line 1) | function doAjax(url,ajaxOptions){var xhr=creatAjaxRequest(),timeIsOut=fa...
function doJsonp (line 1) | function doJsonp(url,opts){var successhandler=opts.onsuccess||function()...
function e (line 1) | function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbo...
function t (line 1) | function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function n (line 1) | function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.en...
function r (line 1) | function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),Object.defineProp...
function o (line 1) | function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||fun...
function i (line 1) | function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Ar...
function a (line 1) | function a(e,t){return function(){return e.apply(t,arguments)}}
function T (line 1) | function T(t,n){var r,o,i=arguments.length>2&&void 0!==arguments[2]?argu...
function j (line 1) | function j(e,t){t=t.toLowerCase();for(var n,r=Object.keys(e),o=r.length;...
function M (line 1) | function M(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.cap...
function J (line 1) | function J(e){return q.isPlainObject(e)||q.isArray(e)}
function W (line 1) | function W(e){return q.endsWith(e,"[]")?e.slice(0,-2):e}
function K (line 1) | function K(e,t,n){return e?e.concat(t).map(function(e,t){return e=W(e),!...
function G (line 1) | function G(t,n,r){if(!q.isObject(t))throw new TypeError("target must be ...
function $ (line 1) | function $(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","...
function X (line 1) | function X(e,t){this._pairs=[],e&&G(e,this,t)}
function Z (line 1) | function Z(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(...
function Y (line 1) | function Y(e,t,n){if(!t)return e;var r,o=n&&n.encode||Z,i=n&&n.serialize...
function e (line 1) | function e(){t(this,e),this.handlers=[]}
function oe (line 1) | function oe(e){function t(e,n,r,o){var i=e[o++],a=Number.isFinite(+i),s=...
function fe (line 1) | function fe(e){return e&&String(e).trim().toLowerCase()}
function le (line 1) | function le(e){return!1===e||null==e?e:q.isArray(e)?e.map(le):String(e)}
function de (line 1) | function de(e,t,n,r,o){return q.isFunction(r)?r.call(this,t,n):(o&&(t=n)...
function i (line 1) | function i(e){t(this,i),e&&this.set(e)}
function o (line 1) | function o(e,t,n){var o=fe(t);if(!o)throw new Error("header name must be...
function o (line 1) | function o(e){if(e=fe(e)){var o=q.findKey(n,e);!o||t&&!de(0,n[o],o,t)||(...
function r (line 1) | function r(e){var r=fe(e);t[r]||(!function(e,t){var n=q.toCamelCase(" "+...
function me (line 1) | function me(e,t){var n=this||se,r=t||n,o=he.from(r.headers),i=r.data;ret...
function ye (line 1) | function ye(e){return!(!e||!e.__CANCEL__)}
function ve (line 1) | function ve(e,t,n){M.call(this,null==e?"canceled":e,M.ERR_CANCELED,t,n),...
function ge (line 1) | function ge(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?functi...
function r (line 1) | function r(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.se...
function Ee (line 1) | function Ee(e,t){var n=0,r=function(e,t){e=e||10;var n,r=new Array(e),o=...
function s (line 1) | function s(){e.cancelToken&&e.cancelToken.unsubscribe(r),e.signal&&e.sig...
function d (line 1) | function d(){if(u){var r=he.from("getAllResponseHeaders"in u&&u.getAllRe...
function Re (line 1) | function Re(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.sign...
function Ae (line 1) | function Ae(e){return Re(e),e.headers=he.from(e.headers),e.data=me.call(...
function je (line 1) | function je(e,t){t=t||{};var n={};function r(e,t,n){return q.isPlainObje...
function r (line 1) | function r(e,t){return"[Axios v1.4.0] Transitional option '"+e+"'"+t+(n?...
function e (line 1) | function e(n){t(this,e),this.defaults=n,this.interceptors={request:new t...
function t (line 1) | function t(t){return function(n,r,o){return this.request(je(o||{},{metho...
function e (line 1) | function e(n){if(t(this,e),"function"!=typeof n)throw new TypeError("exe...
function _mergeNamespaces (line 1) | function _mergeNamespaces(e,t){return t.forEach(function(t){t&&"string"!...
function copyExifWithoutOrientation (line 1) | function copyExifWithoutOrientation(e,t){return new Promise(function(r,i...
function pushV (line 1) | function pushV(e,t,r){for(;0!=t--;)e.push(0,r)}
method exports (line 1) | get exports(){return e}
method exports (line 1) | set exports(t){e=t}
method nextZero (line 1) | nextZero(e,t){for(;0!=e[t];)t++;return t}
method writeUshort (line 1) | writeUshort(e,t,r){e[t]=r>>8&255,e[t+1]=255&r}
method writeUint (line 1) | writeUint(e,t,r){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=...
method readASCII (line 1) | readASCII(e,t,r){let i="";for(let o=0;o<r;o++)i+=String.fromCharCode(e[t...
method writeASCII (line 1) | writeASCII(e,t,r){for(let i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)}
method readBytes (line 1) | readBytes(e,t,r){const i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i}
method readUTF8 (line 1) | readUTF8(t,r,i){let o,a="";for(let o=0;o<i;o++)a+=`%${e.pad(t[r+o].toStr...
function decodeImage (line 1) | function decodeImage(t,r,i,o){const a=r*i,s=_getBPP(o),f=Math.ceil(r*s/8...
function _decompress (line 1) | function _decompress(e,r,i,o){const a=_getBPP(e),s=Math.ceil(i*a/8),f=ne...
function _inflate (line 1) | function _inflate(e,r){return t(new Uint8Array(e.buffer,2,e.length-6),r)}
function n (line 1) | function n(e,t,r){for(;0!=t--;)e.push(0,r)}
function _getBPP (line 1) | function _getBPP(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth}
function _filterZero (line 1) | function _filterZero(e,t,r,i,o){let a=_getBPP(t);const s=Math.ceil(i*a/8...
function _paeth (line 1) | function _paeth(e,t,r){const i=e+t-r,o=i-e,a=i-t,s=i-r;return o*o<=a*a&&...
function _IHDR (line 1) | function _IHDR(t,r,i){i.width=e.readUint(t,r),r+=4,i.height=e.readUint(t...
function _copyTile (line 1) | function _copyTile(e,t,r,i,o,a,s,f,l){const c=Math.min(t,o),u=Math.min(r...
method update (line 1) | update(e,t,r,o){for(let a=0;a<o;a++)e=i.table[255&(e^t[r+a])]^e>>>8;retu...
function addErr (line 1) | function addErr(e,t,r,i){t[r]+=e[0]*i>>4,t[r+1]+=e[1]*i>>4,t[r+2]+=e[2]*...
function N (line 1) | function N(e){return Math.max(0,Math.min(255,e))}
function D (line 1) | function D(e,t){const r=e[0]-t[0],i=e[1]-t[1],o=e[2]-t[2],a=e[3]-t[3];re...
function dither (line 1) | function dither(e,t,r,i,o,a,s){null==s&&(s=1);const f=i.length,l=[];for(...
function _main (line 1) | function _main(e,r,o,a,s){null==s&&(s={});const{crc:f}=i,l=t.writeUint,c...
function compressPNG (line 1) | function compressPNG(e,t,r){for(let i=0;i<e.frames.length;i++){const o=e...
function compress (line 1) | function compress(t,r,i,o,a){const s=a[0],f=a[1],l=a[2],c=a[3],u=a[4],h=...
function _updateFrame (line 1) | function _updateFrame(t,r,i,o,a,s,f){const l=Uint8Array,c=Uint32Array,u=...
function _prepareDiff (line 1) | function _prepareDiff(t,r,i,o,a){e(t,r,i,o,a.width,a.height,-a.x,-a.y,2)}
function _filterZero (line 1) | function _filterZero(e,t,r,i,o,a,s){const f=[];let l,c=[0,1,2,3,4];-1!=a...
function _filterLine (line 1) | function _filterLine(e,t,i,o,a,s){const f=i*o;let l=f+i;if(e[l]=s,l++,0=...
function quantize (line 1) | function quantize(e,t){const r=new Uint8Array(e),i=r.slice(0),o=new Uint...
function getKDtree (line 1) | function getKDtree(e,t,r){null==r&&(r=1e-4);const i=new Uint32Array(e.bu...
function getNearest (line 1) | function getNearest(e,t,r,i,o){if(null==e.left)return e.tdst=function di...
function planeDst (line 1) | function planeDst(e,t,r,i,o){const{e:a}=e;return a[0]*t+a[1]*r+a[2]*i+a[...
function splitPixels (line 1) | function splitPixels(e,t,r,i,o,a){for(i-=4;r<i;){for(;vecDot(e,r,o)<=a;)...
function vecDot (line 1) | function vecDot(e,t,r){return e[t]*r[0]+e[t+1]*r[1]+e[t+2]*r[2]+e[t+3]*r...
function stats (line 1) | function stats(e,t,r){const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=[0,0,0...
function estats (line 1) | function estats(e){const{R:t}=e,{m:r}=e,{N:i}=e,a=r[0],s=r[1],f=r[2],l=r...
method toArrayBuffer (line 1) | toArrayBuffer(e,r){const i=e.width,o=e.height,a=i<<2,s=e.getContext("2d"...
method toBlob (line 1) | toBlob(e,t){this.toArrayBuffer(e,e=>{t(new Blob([e],{type:"image/bmp"}))})}
function getFilefromDataUrl (line 1) | function getFilefromDataUrl(e,t,r=Date.now()){return new Promise(i=>{con...
function getDataUrlFromFile (line 1) | function getDataUrlFromFile(e){return new Promise((t,r)=>{const i=new Cu...
function loadImage (line 1) | function loadImage(e){return new Promise((t,r)=>{const i=new Image;i.onl...
function getBrowserName (line 1) | function getBrowserName(){if(void 0!==getBrowserName.cachedResult)return...
function approximateBelowMaximumCanvasSizeOfBrowser (line 1) | function approximateBelowMaximumCanvasSizeOfBrowser(e,t){const r=getBrow...
function getNewCanvasAndCtx (line 1) | function getNewCanvasAndCtx(e,t){let r,i;try{if(r=new OffscreenCanvas(e,...
function drawImageInCanvas (line 1) | function drawImageInCanvas(e,t){const{width:r,height:i}=approximateBelow...
function isIOS (line 1) | function isIOS(){return void 0!==isIOS.cachedResult||(isIOS.cachedResult...
function drawFileInCanvas (line 1) | function drawFileInCanvas(e,t={}){return new Promise(function(i,o){let a...
function canvasToFile (line 1) | function canvasToFile(e,r,i,o,a=1){return new Promise(function(s,f){let ...
function cleanupCanvasMemory (line 1) | function cleanupCanvasMemory(e){e.width=0,e.height=0}
function isAutoOrientationInBrowser (line 1) | function isAutoOrientationInBrowser(){return new Promise(function(e,t){l...
function getExifOrientation (line 1) | function getExifOrientation(e){return new Promise((t,r)=>{const i=new Cu...
function handleMaxWidthOrHeight (line 1) | function handleMaxWidthOrHeight(e,t){const{width:r}=e,{height:i}=e,{maxW...
function followExifOrientation (line 1) | function followExifOrientation(e,t){const{width:r}=e,{height:i}=e,[o,a]=...
function compress (line 1) | function compress(e,t,r=0){return new Promise(function(i,o){let a,s,f,l,...
function compressOnWebWorker (line 1) | function compressOnWebWorker(e,t){return new Promise((r,i)=>{l||(l=funct...
function imageCompression (line 1) | function imageCompression(e,t){return new Promise(function(r,i){let o,a,...
function isWordDocument (line 1) | function isWordDocument(str){return/(class="?Mso|style="[^"]*\bmso\-|w:W...
function transUnit (line 1) | function transUnit(v){v=v.replace(/[\d.]+\w+/g,function(m){return utils....
function filterPasteWord (line 1) | function filterPasteWord(str){return str.replace(/[\t\r\n]+/g," ").repla...
function insertLine (line 1) | function insertLine(arr,current,begin){arr.push(breakChar);return curren...
function insertIndent (line 1) | function insertIndent(arr,current){for(var i=0;i<current;i++){arr.push(i...
function nodeToHtml (line 1) | function nodeToHtml(node,arr,formatter,current){switch(node.type){case"r...
function isText (line 1) | function isText(node,arr){if(node.parentNode.tagName=="pre"){arr.push(no...
function isElement (line 1) | function isElement(node,arr,formatter,current){var attrhtml="";if(node.a...
function isComment (line 1) | function isComment(node,arr){arr.push("\x3c!--"+node.data+"--\x3e")}
function getNodeById (line 1) | function getNodeById(root,id){var node;if(root.type=="element"&&root.get...
function getNodesByTagName (line 1) | function getNodesByTagName(node,tagName,arr){if(node.type=="element"&&no...
function nodeTraversal (line 1) | function nodeTraversal(root,fn){if(root.children&&root.children.length){...
function exec (line 1) | function exec(name,val){var reg=new RegExp("(^|;)\\s*"+name+":([^;]+;?)"...
function text (line 1) | function text(parent,data){if(needChild[parent.tagName]){var tmpNode=uNo...
function element (line 1) | function element(parent,tagName,htmlattr){var needParentTag;if(needParen...
function comment (line 1) | function comment(parent,data){parent.children.push(new uNode({type:"comm...
function filterNode (line 1) | function filterNode(node,rules){switch(node.type){case"text":break;case"...
function tdParent (line 1) | function tdParent(node){while(node&&node.type=="element"){if(node.tagNam...
function isLine (line 1) | function isLine(node,notEmpty){if(!node||node.nodeType==3)return 0;if(do...
function removeNotAttributeSpan (line 1) | function removeNotAttributeSpan(node){if(!node.style.cssText){domUtils.r...
function autotype (line 1) | function autotype(type,html){var me=this,cont;if(html){if(!opt.pasteFilt...
function DBC2SB (line 1) | function DBC2SB(str){var result="";for(var i=0;i<str.length;i++){var cod...
function ToDBC (line 1) | function ToDBC(txtstring){txtstring=utils.html(txtstring);var tmp="";var...
function readLocalOpts (line 1) | function readLocalOpts(){var cookieOpt=me.getPreferences("autotypeset");...
function stringToObj (line 1) | function stringToObj(str){var obj={},styles=str.split(";");utils.each(st...
function setBackground (line 1) | function setBackground(obj){if(obj){var styles=[];for(var name in obj){i...
function mergeWithParent (line 1) | function mergeWithParent(node){var parent;while(parent=node.parentNode){...
function mergeChild (line 1) | function mergeChild(rng,cmdName,value){if(needSetChild[cmdName]){rng.adj...
function mergesibling (line 1) | function mergesibling(rng,cmdName,value){var collapsed=rng.collapsed,bk=...
function optimize (line 1) | function optimize(range){var start=range.startContainer,end=range.endCon...
function doLink (line 1) | function doLink(range,opt,me){var rngClone=range.cloneRange(),link=me.qu...
function deleteIframe (line 1) | function deleteIframe(){me._iframe&&delete me._iframe}
function isRedundantSpan (line 1) | function isRedundantSpan(node){if(node.nodeType==3||node.tagName.toLower...
function doRemove (line 1) | function doRemove(range){var bookmark1=range.createBookmark();if(range.c...
function getObj (line 1) | function getObj(editor){return domUtils.filterNodeList(editor.selection....
function formatTime (line 1) | function formatTime(date,format){var hh=("0"+date.getHours()).slice(-2),...
function formatDate (line 1) | function formatDate(date,format){var yyyy=("000"+date.getFullYear()).sli...
function fillNode (line 1) | function fillNode(node){if(domUtils.isEmptyBlock(node)){var firstChild=n...
function isHr (line 1) | function isHr(node){return node&&node.nodeType==1&&node.tagName=="HR"&&n...
function save (line 1) | function save(editor){var saveData;if(!editor.hasContents()){saveKey&&me...
function compareAddr (line 1) | function compareAddr(indexA,indexB){if(indexA.length!=indexB.length)retu...
function compareRangeAddress (line 1) | function compareRangeAddress(rngAddrA,rngAddrB){if(rngAddrA.collapsed!=r...
function UndoManager (line 1) | function UndoManager(){this.list=[];this.index=0;this.hasUndo=false;this...
function saveScene (line 1) | function saveScene(){this.undoManger.save()}
function save (line 1) | function save(cont){cont.undoManger.save(false,true);cont.fireEvent("sel...
function initZeroClipboard (line 1) | function initZeroClipboard(){ZeroClipboard.config({debug:false,swfPath:m...
function getClipboardData (line 1) | function getClipboardData(callback){var doc=this.document;if(doc.getElem...
function getPureHtml (line 1) | function getPureHtml(html){return html.replace(/<(\/?)([\w\-]+)([^>]*)>/...
function filter (line 1) | function filter(div){var html;if(div.firstChild){var nodes=domUtils.getE...
function transP (line 1) | function transP(node){node.tagName="p";node.setStyle()}
function removeNode (line 1) | function removeNode(node){node.parentNode.removeChild(node,true)}
function listToArray (line 1) | function listToArray(list){var arr=[];for(var p in list){arr.push(p)}ret...
function getStyle (line 1) | function getStyle(node){var cls=node.className;if(domUtils.hasClass(node...
function checkListType (line 1) | function checkListType(content,container){var span=container.firstChild(...
function appendLi (line 1) | function appendLi(list,p,type){if(list.tagName==="ol"){if(browser.ie){va...
function adjustListStyle (line 1) | function adjustListStyle(doc,ignore){utils.each(domUtils.getElementsByTa...
function adjustList (line 1) | function adjustList(list,tag,style,ignoreEmpty){var nextList=list.nextSi...
function setListStyle (line 1) | function setListStyle(list,style){try{domUtils.setStyle(list,"list-style...
function clearEmptySibling (line 1) | function clearEmptySibling(node){var tmpNode=node.previousSibling;if(tmp...
function preventAndSave (line 1) | function preventAndSave(){evt.preventDefault?evt.preventDefault():evt.re...
function findList (line 1) | function findList(node,filterFn){while(node&&!domUtils.isBody(node)){if(...
function checkLevel (line 1) | function checkLevel(li){if(me.options.maxListLevel!=-1){var level=li.par...
function getLi (line 1) | function getLi(start){while(start&&!domUtils.isBody(start)){if(start.nod...
function createSourceEditor (line 1) | function createSourceEditor(holder){return sourceEditors[opt.sourceEdito...
function Scale (line 1) | function Scale(){this.editor=null;this.resizer=null;this.cover=null;this...
function checkIsCludeLink (line 1) | function checkIsCludeLink(node){if(node.nodeType==3){return null}if(node...
function adjustHeight (line 1) | function adjustHeight(){var me=this;clearTimeout(timer);if(isFullscreen)...
function fixedScrollTop (line 1) | function fixedScrollTop(){if(!me.window)return;if(lastScrollY===null){la...
function checkHasUI (line 1) | function checkHasUI(){if(!UE.ui){alert(lang.autofloatMsg);return 0}retur...
function fixIE6FixedPos (line 1) | function fixIE6FixedPos(){var docStyle=document.body.style;docStyle.back...
function setFloating (line 1) | function setFloating(){var toobarBoxPos=domUtils.getXY(toolbarBox),origa...
function unsetFloating (line 1) | function unsetFloating(){flag=true;if(placeHolder.parentNode){placeHolde...
function updateFloating (line 1) | function updateFloating(){var rect3=getPosition(me.container);var offset...
function creatInsertStr (line 1) | function creatInsertStr(url,width,height,id,align,classname,type){var st...
function switchImgAndVideo (line 1) | function switchImgAndVideo(root,img2video){utils.each(root.getNodesByTag...
function createAudioHtml (line 1) | function createAudioHtml(url,param){param=param||{};var str=["<audio",pa...
function switchImgAndAudio (line 1) | function switchImgAndAudio(root,img2audio){}
function checkRange (line 1) | function checkRange(beginRowIndex,beginColIndex,endRowIndex,endColIndex)...
function replaceTdToTh (line 1) | function replaceTdToTh(colIndex,cell,tableRow){if(colIndex==0){var tr=ta...
function replaceTdToTh (line 1) | function replaceTdToTh(rowIndex,cell,tableRow){if(rowIndex==0){var th=ce...
function showError (line 1) | function showError(e){}
function createTable (line 1) | function createTable(opt,tdWidth){var html=[],rowsNum=opt.numRows,colsNu...
function getAverageWidth (line 1) | function getAverageWidth(){var tb=ut.table,averageWidth,sumWidth=0,colsN...
function setAverageWidth (line 1) | function setAverageWidth(averageWidth){utils.each(domUtils.getElementsBy...
function getAverageHeight (line 1) | function getAverageHeight(){var averageHeight,rowNum,sumHeight=0,tb=ut.t...
function setAverageHeight (line 1) | function setAverageHeight(averageHeight){var cells=ut.isFullCol()?domUti...
function resetTdWidth (line 1) | function resetTdWidth(table,editor){var tds=domUtils.getElementsByTagNam...
function getTableWidth (line 1) | function getTableWidth(editor,needIEHack,defaultValue){var body=editor.b...
function getSelectedArr (line 1) | function getSelectedArr(editor){var cell=getTableItemsByRange(editor).ce...
function showError (line 1) | function showError(e){}
function removeStyleSize (line 1) | function removeStyleSize(obj,replaceToProperty){removeStyle(obj,"width",...
function removeStyle (line 1) | function removeStyle(obj,styleName,replaceToProperty){if(obj.style[style...
function getParentTdOrTh (line 1) | function getParentTdOrTh(ele){if(ele.tagName=="TD"||ele.tagName=="TH")re...
function isEmptyBlock (line 1) | function isEmptyBlock(node){var reg=new RegExp(domUtils.fillChar,"g");if...
function mouseCoords (line 1) | function mouseCoords(evt){if(evt.pageX||evt.pageY){return{x:evt.pageX,y:...
function mouseMoveEvent (line 1) | function mouseMoveEvent(evt){if(isEditorDisabled()){return}try{var targe...
function toggleDragButton (line 1) | function toggleDragButton(show,table,editor){if(!show){if(dragOver)retur...
function createDragButton (line 1) | function createDragButton(table,editor){var pos=domUtils.getXY(table),do...
function inTableSide (line 1) | function inTableSide(table,cell,evt,top){var pos=mouseCoords(evt),state=...
function getPermissionX (line 1) | function getPermissionX(dragTd,evt){var ut=getUETable(dragTd);if(ut){var...
function getPermissionY (line 1) | function getPermissionY(dragTd,evt){try{var top=domUtils.getXY(dragTd).y...
function toggleDraggableState (line 1) | function toggleDraggableState(editor,draggable,dir,mousePos,cell){try{ed...
function getResizeLineByUETable (line 1) | function getResizeLineByUETable(){var lineId="_UETableResizeLine",line=t...
function updateResizeLine (line 1) | function updateResizeLine(cell,uetable){var line=getResizeLineByUETable....
function showResizeLine (line 1) | function showResizeLine(cell){var uetable=getUETable(cell);updateResizeL...
function getRelation (line 1) | function getRelation(ele,mousePos){var elePos=domUtils.getXY(ele);if(!el...
function mouseDownEvent (line 1) | function mouseDownEvent(type,evt){if(isEditorDisabled()){return}userActi...
function clearTableTimer (line 1) | function clearTableTimer(){tabTimer&&clearTimeout(tabTimer);tabTimer=null}
function tableDbclickHandler (line 1) | function tableDbclickHandler(evt){singleClickState=0;evt=evt||me.window....
function tableClickHander (line 1) | function tableClickHander(evt){removeSelectedClass(domUtils.getElementsB...
function borderActionHandler (line 1) | function borderActionHandler(evt){if(browser.ie){evt=reconstruct(evt)}cl...
function extractArray (line 1) | function extractArray(originArr,key){var result=[],tmp=null;for(var i=0,...
function clearTableDragTimer (line 1) | function clearTableDragTimer(){tableDragTimer&&clearTimeout(tableDragTim...
function reconstruct (line 1) | function reconstruct(obj){var attrs=["pageX","pageY","clientX","clientY"...
function tableBorderDrag (line 1) | function tableBorderDrag(evt){isInResizeBuffer=false;startTd=evt.target|...
function mouseUpEvent (line 1) | function mouseUpEvent(type,evt){if(isEditorDisabled()){return}clearTable...
function mouseOverEvent (line 1) | function mouseOverEvent(type,evt){if(isEditorDisabled()){return}var me=t...
function setCellHeight (line 1) | function setCellHeight(cell,height,backHeight){var lineHight=parseInt(do...
function getWidth (line 1) | function getWidth(cell){if(!cell)return 0;return parseInt(domUtils.getCo...
function changeColWidth (line 1) | function changeColWidth(cell,changeValue){var ut=getUETable(cell);if(ut)...
function isEditorDisabled (line 1) | function isEditorDisabled(){return me.body.contentEditable==="false"}
function changeRowHeight (line 1) | function changeRowHeight(td,changeValue){if(Math.abs(changeValue)<10)ret...
function getCellsByMoveBorder (line 1) | function getCellsByMoveBorder(cell,table,isContainMergeCell){if(!table){...
function getMinWidthByTableCells (line 1) | function getMinWidthByTableCells(cells){var minWidth=Number.MAX_VALUE;fo...
function correctChangeValue (line 1) | function correctChangeValue(changeValue,relatedCell,cells){changeValue-=...
function getTableCellWidth (line 1) | function getTableCellWidth(cell){var width=0,offset=0,width=cell.offsetW...
function getTableCellOffset (line 1) | function getTableCellOffset(cell){tab=domUtils.findParentByTagName(cell,...
function getTabcellSpace (line 1) | function getTabcellSpace(){if(UT.tabcellSpace===undefined){var cell=null...
function getDragLine (line 1) | function getDragLine(editor,doc){if(mousedown)return;dragLine=editor.doc...
function hideDragLine (line 1) | function hideDragLine(editor){if(mousedown)return;var line;while(line=ed...
function showDragLineAt (line 1) | function showDragLineAt(state,cell){if(!cell)return;var table=domUtils.f...
function switchBorderColor (line 1) | function switchBorderColor(editor,flag){var tableArr=domUtils.getElement...
function getTableWidth (line 1) | function getTableWidth(editor,needIEHack,defaultValue){var body=editor.b...
function getTargetTd (line 1) | function getTargetTd(editor,evt){var target=domUtils.findParentByTagName...
function getLabel (line 1) | function getLabel(){switch(item.icon){case"table":return me.getLang("con...
function addList (line 1) | function addList(type,evt){if(browser.webkit){var target=evt.target.tagN...
function getText (line 1) | function getText(node){var text=node.nodeType==3?node.nodeValue:node[bro...
function findTextInString (line 1) | function findTextInString(textContent,opt,currentIndex){var str=opt.sear...
function findTextBlockElm (line 1) | function findTextBlockElm(node,currentIndex,opt){var textContent,index,m...
function findNTextInBlockElm (line 1) | function findNTextInBlockElm(node,index,str){var currentIndex=0,currentN...
function searchReplace (line 1) | function searchReplace(me,opt){var rng=lastRng||me.selection.getRange(),...
function replaceText (line 1) | function replaceText(rng,str){str=me.document.createTextNode(str);rng.de...
function sendApi (line 1) | function sendApi(imgs,callbacks){var params=utils.serializeParam(me.quer...
function catchElement (line 1) | function catchElement(type,ele,imageUrl){sendApi([imageUrl],{success:fun...
function catchRemoteImage (line 1) | function catchRemoteImage(){if(catchRemoteImageCatching){return}catchRem...
function sendAndInsertFile (line 1) | function sendAndInsertFile(file,editor){var me=editor;var fieldName,urlP...
function getPasteImage (line 1) | function getPasteImage(e){return e.clipboardData&&e.clipboardData.items&...
function getDropImage (line 1) | function getDropImage(e){return e.dataTransfer&&e.dataTransfer.files?e.d...
function Section (line 1) | function Section(option){this.tag="";this.level=-1,this.dom=null;this.ne...
function getSection (line 1) | function getSection(option){var section=new Section;return utils.extend(...
function getNodeFromAddress (line 1) | function getNodeFromAddress(startAddress,root){var current=root;for(var ...
function getSectionLevel (line 1) | function getSectionLevel(node){for(var i=0;i<levelFn.length;i++){if(leve...
function traversal (line 1) | function traversal(node,Directory){var level,tmpSection=null,parent,chil...
function isContainsAddress (line 1) | function isContainsAddress(startAddress,endAddress,addressTarget){var is...
function getNodeFromAddress (line 1) | function getNodeFromAddress(startAddress){var current=me.body;for(var i=...
function initUploadBtn (line 1) | function initUploadBtn(){var input=document.createElement("input");input...
function getFileIcon (line 1) | function getFileIcon(url){var ext=url.substr(url.lastIndexOf(".")+1).toL...
function handleMouseMove (line 1) | function handleMouseMove(evt){var x=evt.clientX-startX;var y=evt.clientY...
function handleMouseUp (line 1) | function handleMouseUp(evt){doc.removeEventListener("mousemove",handleMo...
function releaseCaptrue (line 1) | function releaseCaptrue(){elm.releaseCapture();elm.detachEvent("onmousem...
function updateFixedOffset (line 1) | function updateFixedOffset(){var layer=document.getElementById("edui_fix...
function bindFixedLayer (line 1) | function bindFixedLayer(adjOffset){domUtils.on(window,"scroll",updateFix...
function closeAllPopup (line 1) | function closeAllPopup(evt,el){for(var i=0;i<allPopups.length;i++){var p...
function genColorPicker (line 1) | function genColorPicker(noColorText,editor){var html='<div id="##" class...
function getPara (line 1) | function getPara(me){var opt={},cont=me.getDom(),editorId=me.editor.uid,...
function setPos (line 1) | function setPos(offset){if(offset.left<0){offset.left=0}if(offset.top<0)...
function setPosByCxtMenu (line 1) | function setPosByCxtMenu(menu){if(!menu.tagName){menu=menu.getDom()}offs...
function hideAllMenu (line 1) | function hideAllMenu(e){var tgt=e.target||e.srcElement,cur=domUtils.find...
function EditorUI (line 1) | function EditorUI(options){this.initOptions(options);this.initEditorUI()}
function countFn (line 1) | function countFn(){setCount(editor,me);domUtils.un(editor.document,"clic...
function setCount (line 1) | function setCount(editor,ui){editor.setOpt({wordCount:true,maximumWords:...
function down (line 1) | function down(){position=domUtils.getXY(editorHolder);if(!minEditorHeigh...
function move (line 1) | function move(event){clearSelection();var e=event||window.event;pageX=e....
function up (line 1) | function up(){if(isMouseMove){isMouseMove=false;editor.ui._actualFrameWi...
function clearSelection (line 1) | function clearSelection(){if(browser.ie)doc.selection.clear();else windo...
function renderUI (line 1) | function renderUI(){editor.setOpt({labelMap:editor.options.labelMap||edi...
function updateHolderPos (line 1) | function updateHolderPos(){if(!holder||!me.ui)return;var toolbarbox=me.u...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/ueditor.config.js
function a (line 2) | function a(a,d){return c(a||self.document.URL||self.location.href,d||b())}
function b (line 2) | function b(){var a=document.getElementsByTagName("script");return a[a.le...
function c (line 2) | function c(a,b){var c=b;return/^(\/|\\\\)/.test(b)?c=/^.+?\w(\/|\\\\)/.e...
function d (line 2) | function d(a){var b=/^[a-z]+:\/\//.exec(a)[0],c=null,d=[];for(a=a.replac...
FILE: _examples-integrate/reactx/public/static/UEditorPlus/ueditor.parse.js
function a (line 2) | function a(a,c){try{for(var d,e=0;d=b[e++];)if(d.doc===a&&d.url==(c.src|...
function b (line 2) | function b(b,c){var d,e=b;for(c=a.isArray(c)?c:[c];e;){for(d=0;d<c.lengt...
function c (line 2) | function c(b,c,e){for(var f=b.rows,g=[],h="TH"===f[0].cells[0].tagName,i...
function d (line 2) | function d(a,b){b=b||function(a,b){return a.localeCompare(b)};for(var c=...
function e (line 2) | function e(b){if(!a.hasClass(b.rows[0],"firstRow")){for(var c=1;c<b.rows...
function b (line 2) | function b(b){var e=this;a.each(b,function(b){if(b.className&&/custom_/i...
FILE: _examples-integrate/reactx/src/App.js
function App (line 5) | function App() {
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/attachment/attachment.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabhead").children,b=0;b<a.length;b++)...
function setTabFocus (line 2) | function setTabFocus(a){if(a){var b,c,d=$G("tabhead").children;for(b=0;b...
function initButtons (line 2) | function initButtons(){dialog.onok=function(){for(var a,b=[],c=$G("tabhe...
function UploadFile (line 2) | function UploadFile(a){this.$wrap=a.constructor==String?$("#"+a):$(a),th...
function OnlineFile (line 2) | function OnlineFile(a){this.container=utils.isString(a)?document.getElem...
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete w[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(w,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=v){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===v?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/audio/audio.js
function a (line 2) | function a(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++)domUti...
function b (line 2) | function b(){g(["audioFloat","upload_alignment"]),i($G("audioUrl")),c(),...
function c (line 2) | function c(){dialog.onok=function(){$G("preview").innerHTML="";var a=f("...
function d (line 2) | function d(a){for(var b,c=$G("audioFloat").children,d=0;b=c[d++];)b.getA...
function e (line 2) | function e(){var a=$G("audioUrl").value;f("audioFloat","name");return!!a...
function f (line 2) | function f(a,b){for(var c,d,e=$G(a).children,f=0;d=e[f++];)if("focus"==d...
function g (line 2) | function g(a){for(var b,c=0;b=a[c++];){var d=$G(b),e={none:lang["default...
function h (line 2) | function h(a){for(var b,c=$G(a).children,d=0;b=c[d++];)domUtils.on(b,"cl...
function i (line 2) | function i(a){browser.ie?a.onpropertychange=function(){k(this.value)}:a....
function j (line 2) | function j(a,b){b=b||{};var c=["<audio",b.id?' id="'+b.id+'"':"",b.cls?'...
function k (line 2) | function k(a){a&&($G("preview").innerHTML='<div class="previewMsg"><span...
function l (line 2) | function l(){var a=[],b=editor.getOpt("audioUrlPrefix"),c=f("upload_alig...
function m (line 2) | function m(){o=new n("queueList")}
function n (line 2) | function n(a){this.$wrap=a.constructor==String?$("#"+a):$(a),this.init()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete x[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=q.children();h.each(x,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=w){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===w?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/background/background.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++...
function initColorSelector (line 2) | function initColorSelector(){var a=editor.queryCommandValue("background"...
function initColorPicker (line 2) | function initColorPicker(){var a=editor,b=$G("colorPicker"),c=new UE.ui....
function updateFormState (line 2) | function updateFormState(a,b,c,d,e,f){var g=$G("nocolorRadio"),h=$G("col...
function updateBackground (line 2) | function updateBackground(){if($G("coloredRadio").checked){var a=domUtil...
function OnlineImage (line 2) | function OnlineImage(a){this.container=utils.isString(a)?document.getEle...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/contentimport/contentimport.js
function processWord (line 2) | function processWord(a){$(".file-tip").html("正在转换Word文件,请稍后..."),$(".fil...
function processMarkdown (line 2) | function processMarkdown(a){var b=new showdown.Converter,c=b.makeHtml(a)...
function processMarkdownFile (line 2) | function processMarkdownFile(a){$(".file-tip").html("正在转换Markdown文件,请稍后....
function addUploadButtonListener (line 2) | function addUploadButtonListener(){g("contentImport").addEventListener("...
function addOkListener (line 2) | function addOkListener(){dialog.onok=function(){return contentImport.dat...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/emotion/emotion.js
function initImgName (line 2) | function initImgName(){for(var a in emotion.SmilmgName){var b=emotion.Sm...
function initEvtHandler (line 2) | function initEvtHandler(a){for(var b=$G(a),c=0,d=0;c<b.childNodes.length...
function InsertSmiley (line 2) | function InsertSmiley(a,b){var c={src:editor.options.emotionLocalization...
function switchTab (line 2) | function switchTab(a){autoHeight(a),0==emotion.tabExist[a]&&(emotion.tab...
function autoHeight (line 2) | function autoHeight(a){var b=dialog.getDom("iframe"),c=b.parentNode.pare...
function createTab (line 2) | function createTab(a){for(var b,c,d,e,f,g,h="?v=1.1",i=$G(a),j=emotion.S...
function over (line 2) | function over(a,b,c){a.style.backgroundColor="#ACCD3C",$G("faceReview")....
function out (line 2) | function out(a){a.style.backgroundColor="transparent";var b=$G("tabIconR...
function createTabList (line 2) | function createTabList(a){for(var b={},c=0;c<a;c++)b["tab"+c]=[];return b}
function createArr (line 2) | function createArr(a){for(var b=[],c=0;c<a;c++)b[c]=0;return b}
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/formula/formula.js
function preg_quote (line 2) | function preg_quote(a,b){return(a+"").replace(new RegExp("[.\\\\+*?\\[\\...
function loadScript (line 2) | function loadScript(a,b){var c;c=document.createElement("script"),c.src=...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/help/help.js
function clickHandler (line 2) | function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].classNa...
function switchTab (line 2) | function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].ch...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/image/image.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabhead").children,b=0;b<a.length;b++)...
function setTabFocus (line 2) | function setTabFocus(a){if(a){var b,c,d=$G("tabhead").children;for(b=0;b...
function initButtons (line 2) | function initButtons(){dialog.onok=function(){for(var a,b=!1,c=[],d=$G("...
function initAlign (line 2) | function initAlign(){domUtils.on($G("alignIcon"),"click",function(a){var...
function setAlign (line 2) | function setAlign(a){a=a||"none";var b=$G("alignIcon").children;for(i=0;...
function getAlign (line 2) | function getAlign(){var a=$G("align").value||"none";return"none"==a?"":a}
function RemoteImage (line 2) | function RemoteImage(a){this.container=utils.isString(a)?document.getEle...
function UploadImage (line 2) | function UploadImage(a){this.$wrap=a.constructor==String?$("#"+a):$(a),t...
function OnlineImage (line 2) | function OnlineImage(a){this.container=utils.isString(a)?document.getEle...
function a (line 2) | function a(){b.setPreview()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete w[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(w,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!==v){var c=f.getStats();switch(m.removeClass("state...
function e (line 2) | function e(){var a,b="";"ready"===v?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/scrawl/scrawl.js
function ue_callback (line 2) | function ue_callback(a,b){function c(a,b,c,d){var e,f=0,g=0,h=a.width||c...
function removeMaskLayer (line 2) | function removeMaskLayer(){var a=$G("J_maskLayer");a.className="maskLaye...
function addMaskLayer (line 2) | function addMaskLayer(a){var b=$G("J_maskLayer");dialog.buttons[0].setDi...
function exec (line 2) | function exec(scrawlObj){if(scrawlObj.isScrawl){addMaskLayer(lang.scrawl...
function a (line 2) | function a(){var a=document,b=a.getElementsByTagName("head")[0],c=a.crea...
function b (line 2) | function b(){var a=document,b=[],c=a.createElement("div");c.id="J_scaleC...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/searchreplace/searchreplace.js
function clickHandler (line 2) | function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].classNa...
function switchTab (line 2) | function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].ch...
function getMatchCase (line 2) | function getMatchCase(a){return!!$G(a).checked}
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/spechars/spechars.js
function toArray (line 2) | function toArray(a){return a.split(",")}
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/video/video.js
function a (line 2) | function a(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++)domUti...
function b (line 2) | function b(){k(["videoFloat","upload_alignment"]),m($G("videoUrl")),c(),...
function c (line 2) | function c(){dialog.onok=function(){$G("preview").innerHTML="";var a=g("...
function d (line 2) | function d(a){for(var b,c=$G("videoFloat").children,d=0;b=c[d++];)b.getA...
function e (line 2) | function e(){var a=$G("videoWidth"),b=$G("videoHeight"),c=$G("videoUrl")...
function f (line 2) | function f(a){for(var b,c=domUtils.getElementsByTagName($G(a),"img"),d=[...
function g (line 2) | function g(a,b){for(var c,d,e=$G(a).children,f=0;d=e[f++];)if("focus"==d...
function h (line 2) | function h(a){return a?a=utils.trim(a).replace(/v\.youku\.com\/v_show\/i...
function i (line 2) | function i(a){for(var b,c=0;b=a[c++];){var d=b.value;if(!j(d)&&d)return ...
function j (line 2) | function j(a){return/(0|^[1-9]\d*$)/.test(a)}
function k (line 2) | function k(a){for(var b,c=0;b=a[c++];){var d=$G(b),e={none:lang["default...
function l (line 2) | function l(a){for(var b,c=$G(a).children,d=0;b=c[d++];)domUtils.on(b,"cl...
function m (line 2) | function m(a){browser.ie?a.onpropertychange=function(){n(this.value)}:a....
function n (line 2) | function n(a){if(a){var b=h(a);b=utils.unhtml(b),$G("preview").innerHTML...
function o (line 2) | function o(){var a=[],b=editor.getOpt("videoUrlPrefix"),c=$G("upload_wid...
function p (line 2) | function p(){r=new q("queueList")}
function q (line 2) | function q(a){this.$wrap=a.constructor==String?$("#"+a):$(a),this.init()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete x[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(x,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=w){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===w?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/dialogs/wordimage/wordimage.js
function addUploadButtonListener (line 2) | function addUploadButtonListener(){g("saveFile").addEventListener("chang...
function addOkListener (line 2) | function addOkListener(){dialog.onok=function(){if(imageUrls.length){var...
function showLocalPath (line 2) | function showLocalPath(a){var b=editor.selection.getRange().getClosedNod...
function createCopyButton (line 2) | function createCopyButton(a,b){var c=g(b).value;c.startsWith("file:////"...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/third-party/SyntaxHighlighter/shCore.js
function b (line 2) | function b(a,b){if(!XRegExp.isRegExp(a))throw TypeError("type RegExp exp...
function c (line 2) | function c(a){return(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline...
function d (line 2) | function d(a,b,c,d){var e,f,g,h=j.length;i=!0;try{for(;h--;)if(g=j[h],c&...
function e (line 2) | function e(a,b,c){if(Array.prototype.indexOf)return a.indexOf(b,c);for(v...
function a (line 2) | function a(a,b){return a.className.indexOf(b)!=-1}
function b (line 2) | function b(b,c){a(b,c)||(b.className+=" "+c)}
function c (line 2) | function c(a,b){a.className=a.className.replace(b,"")}
function d (line 2) | function d(a){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);return b}
function e (line 2) | function e(a){return a.split(/\r?\n/)}
function f (line 2) | function f(a){var b="highlighter_";return 0==a.indexOf(b)?a:b+a}
function g (line 2) | function g(a){return J.vars.highlighters[f(a)]}
function h (line 2) | function h(a){return document.getElementById(f(a))}
function i (line 2) | function i(a){J.vars.highlighters[f(a.id)]=a}
function j (line 2) | function j(a,b,c){if(null==a)return null;var d,e,f=1!=c?a.childNodes:[a....
function k (line 2) | function k(a,b){return j(a,b,!0)}
function l (line 2) | function l(a,b,c){c=Math.max(c||0,0);for(var d=c;d<a.length;d++)if(a[d]=...
function m (line 2) | function m(a){return(a||"")+Math.round(1e6*Math.random()).toString()}
function n (line 2) | function n(a,b){var c,d={};for(c in a)d[c]=a[c];for(c in b)d[c]=b[c];ret...
function o (line 2) | function o(a){var b={"true":!0,"false":!1}[a];return null==b?a:b}
function p (line 2) | function p(a,b,c,d,e){var f=(screen.width-c)/2,g=(screen.height-d)/2;e+=...
function q (line 2) | function q(a,b,c,d){function e(a){a=a||window.event,a.target||(a.target=...
function r (line 2) | function r(a){window.alert(J.config.strings.alert+a)}
function s (line 2) | function s(a,b){var c=J.vars.discoveredBrushes,d=null;if(null==c){c={};f...
function t (line 2) | function t(a,b){for(var c=e(a),d=0;d<c.length;d++)c[d]=b(c[d],d);return ...
function u (line 2) | function u(a){return a.replace(/^[ ]*[\n]+|[\n]*[ ]*$/g,"")}
function v (line 2) | function v(a){for(var b,c={},d=new XRegExp("^\\[(?<values>(.*?))\\]$"),e...
function w (line 2) | function w(a,b){return null==a||0==a.length||"\n"==a?a:(a=a.replace(/</g...
function x (line 2) | function x(a,b){for(var c=a.toString();c.length<b;)c="0"+c;return c}
function y (line 2) | function y(a,b){for(var c="",d=0;d<b;d++)c+=" ";return a.replace(/\t/g,c)}
function z (line 2) | function z(a,b){function c(a,b,c){return a.substr(0,b)+f.substr(0,c)+a.s...
function A (line 2) | function A(a){var b=/<br\s*\/?>|<br\s*\/?>/gi;return 1==J.config.b...
function B (line 2) | function B(a){return a.replace(/^\s+|\s+$/g,"")}
function C (line 2) | function C(a){for(var b=e(A(a)),c=(new Array,/^\s*/),d=1e3,f=0;f<b.lengt...
function D (line 2) | function D(a,b){return a.index<b.index?-1:a.index>b.index?1:a.length<b.l...
function E (line 2) | function E(a,b){function c(a,b){return a[0]}for(var d=null,e=[],f=b.func...
function F (line 2) | function F(a){var b=/(.*)((>|<).*)/;return a.replace(J.regexLib.ur...
function G (line 2) | function G(){for(var a=document.getElementsByTagName("script"),b=[],c=0;...
function H (line 2) | function H(a){var b="<![CDATA[",c="]]>",d=B(a),e=!1,f=b.length,g=c.lengt...
function I (line 2) | function I(a){var d,e=a.target,f=k(e,".syntaxhighlighter"),h=k(e,".conta...
function b (line 2) | function b(a,b){return J.toolbar.getButtonHtml(a,b,J.config.strings[b])}
function b (line 2) | function b(a){var b=new RegExp(a+"_(\\w+)"),c=b.exec(d);return c?c[1]:null}
function b (line 2) | function b(a,b){for(var c=0;c<a.length;c++)a[c].index+=b}
function c (line 2) | function c(a,c){for(var f,g=a.code,h=[],i=d.regexList,j=a.index+a.left.l...
function c (line 2) | function c(a){var b=a?a.brushName||f:f;return b?b+" ":""}
function a (line 2) | function a(){var a="class interface function package",b="-Infinity ...re...
function a (line 2) | function a(){var a="after before beginning continue copy each end every ...
function a (line 2) | function a(){var a="if fi then elif else for do done until while break c...
function a (line 2) | function a(){var a="Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader ...
function a (line 3) | function a(){var a="ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG...
function a (line 3) | function a(){function a(a,b){var c=0==a[0].indexOf("///")?"color1":"comm...
function a (line 3) | function a(){function a(a){return"\\b([a-z_]|)"+a.replace(/ /g,"(?=:)\\b...
function a (line 3) | function a(){var a="abs addr and ansichar ansistring array as asm begin ...
function a (line 3) | function a(){this.regexList=[{regex:/^\+\+\+ .*$/gm,css:"color2"},{regex...
function a (line 3) | function a(){var a="after and andalso band begin bnot bor bsl bsr bxor c...
function a (line 3) | function a(){var a="as assert break case catch class continue def defaul...
function a (line 3) | function a(){var a="abstract assert boolean break byte case catch char c...
function a (line 3) | function a(){var a="Boolean Byte Character Double Duration Float Integer...
function a (line 3) | function a(){var a="break case catch continue default delete do else fal...
function a (line 3) | function a(){var a="abs accept alarm atan2 bind binmode chdir chmod chom...
function a (line 3) | function a(){var a="abs acos acosh addcslashes addslashes array_change_k...
function a (line 3) | function a(){}
function a (line 3) | function a(){var a="while validateset validaterange validatepattern vali...
function a (line 3) | function a(){var a="and assert break class continue def del elif else ex...
function a (line 3) | function a(){var a="alias and BEGIN begin break case class def define_me...
function a (line 4) | function a(){function a(a){return"\\b([a-z_]|)"+a.replace(/ /g,"(?=:)\\b...
function a (line 4) | function a(){var a="val sealed case def true trait implicit forSome impo...
function a (line 4) | function a(){var a="abs avg case cast coalesce convert count current_tim...
function a (line 4) | function a(){var a="AddHandler AddressOf AndAlso Alias And Ansi As Assem...
function a (line 4) | function a(){function a(a,b){var c=SyntaxHighlighter.Match,d=a[0],e=new ...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/third-party/clipboard/clipboard.js
function e (line 2) | function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&re...
function d (line 2) | function d(a,b){for(;a&&a!==document;){if(a.matches(b))return a;a=a.pare...
function d (line 2) | function d(a,b,c,d,f){var g=e.apply(this,arguments);return a.addEventLis...
function e (line 2) | function e(a,b,c,d){return function(c){c.delegateTarget=f(c.target,b),c....
function d (line 2) | function d(a,b,c){if(!a&&!b&&!c)throw new Error("Missing required argume...
function e (line 2) | function e(a,b,c){return a.addEventListener(b,c),{destroy:function(){a.r...
function f (line 2) | function f(a,b,c){return Array.prototype.forEach.call(a,function(a){a.ad...
function g (line 2) | function g(a,b,c){return i(document.body,a,b,c)}
function d (line 2) | function d(a){var b;if("SELECT"===a.nodeName)a.focus(),b=a.value;else if...
function d (line 2) | function d(){}
function d (line 2) | function d(){e.off(a,d),b.apply(c,arguments)}
function c (line 2) | function c(a){return a&&a.__esModule?a:{"default":a}}
function d (line 2) | function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a ...
function a (line 2) | function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.en...
function a (line 2) | function a(b){d(this,a),this.resolveOptions(b),this.initSelection()}
function e (line 2) | function e(a){return a&&a.__esModule?a:{"default":a}}
function f (line 2) | function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a ...
function g (line 2) | function g(a,b){if(!a)throw new ReferenceError("this hasn't been initial...
function h (line 2) | function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("S...
function i (line 2) | function i(a,b){var c="data-clipboard-"+a;if(b.hasAttribute(c))return b....
function a (line 2) | function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.en...
function b (line 2) | function b(a,c){f(this,b);var d=g(this,(b.__proto__||Object.getPrototype...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/third-party/codemirror/codemirror.js
function a (line 2) | function a(f,j){function r(a){return a>=0&&a<Yb.size}function u(a){retur...
function b (line 2) | function b(a,b,c){function d(a,b,c){var e=b[a];if(null!=e)return e;if(nu...
function c (line 2) | function c(a){var b=Z[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||...
function d (line 2) | function d(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);...
function e (line 2) | function e(a,b,c){return!a.startState||a.startState(b,c)}
function f (line 2) | function f(a,b){this.pos=this.start=0,this.string=a,this.tabSize=b||8}
function g (line 2) | function g(a,b,c,d){this.from=a,this.to=b,this.style=c,this.set=d}
function h (line 2) | function h(a){this.from=a,this.to=a,this.line=null}
function i (line 2) | function i(a,b){this.styles=b||[a,null],this.text=a,this.height=1,this.m...
function j (line 2) | function j(a,b,c,d){for(var e=0,f=0,g=0;f<b;e+=2){var h=c[e],i=f+h.lengt...
function k (line 2) | function k(a){this.lines=a,this.parent=null;for(var b=0,c=a.length,d=0;b...
function l (line 2) | function l(a){this.children=a;for(var b=0,c=0,d=0,e=a.length;d<e;++d){va...
function m (line 2) | function m(a,b){for(;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d...
function n (line 2) | function n(a){if(null==a.parent)return null;for(var b=a.parent,c=J(b.lin...
function o (line 2) | function o(a,b){var c=0;a:do{for(var d=0,e=a.children.length;d<e;++d){va...
function p (line 2) | function p(a,b){var c=0;a:do{for(var d=0,e=a.children.length;d<e;++d){va...
function q (line 2) | function q(){this.time=0,this.done=[],this.undone=[]}
function r (line 2) | function r(){v(this)}
function s (line 2) | function s(a){return a.stop||(a.stop=r),a}
function t (line 2) | function t(a){a.preventDefault?a.preventDefault():a.returnValue=!1}
function u (line 2) | function u(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}
function v (line 2) | function v(a){t(a),u(a)}
function w (line 2) | function w(a){return a.target||a.srcElement}
function x (line 2) | function x(a){return a.which?a.which:1&a.button?1:2&a.button?3:4&a.butto...
function y (line 2) | function y(a,b,c,d){
function z (line 3) | function z(){this.id=null}
function A (line 3) | function A(a,b,c){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length...
function B (line 3) | function B(a){return a.currentStyle?a.currentStyle:window.getComputedSty...
function C (line 3) | function C(a,b){for(var c=a.ownerDocument.body,d=0,e=0,f=!1,g=a;g;g=g.of...
function D (line 3) | function D(a){return a.textContent||a.innerText||a.nodeValue||""}
function E (line 3) | function E(a,b){return a.line==b.line&&a.ch==b.ch}
function F (line 3) | function F(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}
function G (line 3) | function G(a){return{line:a.line,ch:a.ch}}
function H (line 3) | function H(a){return W.textContent=a,W.innerHTML}
function I (line 3) | function I(a,b){if(!b)return a?a.length:0;if(!a)return b.length;for(var ...
function J (line 3) | function J(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;...
function K (line 3) | function K(a){return/\w/.test(a)||a.toUpperCase()!=a.toLowerCase()}
function d (line 3) | function d(){b.value=h.getValue()}
function e (line 3) | function e(){d(),b.form.submit=g,b.form.submit(),b.form.submit=e}
function d (line 3) | function d(a){return c?a.toLowerCase():a}
function f (line 3) | function f(a,b){a&&(i&&T&&" "==a.charAt(0)&&(a=" "+a.slice(1)),i=!1,b?h....
function g (line 3) | function g(){l&&(r+=1,s=r<l.length?l[r]:null)}
function c (line 3) | function c(a,b){function c(c){return b.tokenize=c,c(a,b)}var e=a.next();...
function d (line 3) | function d(a,b){var d=a.next();return">"==d||"/"==d&&a.eat(">")?(b.token...
function e (line 3) | function e(a){return function(b,c){for(;!b.eol();)if(b.next()==a){c.toke...
function f (line 3) | function f(a,b){return function(d,e){for(;!d.eol();){if(d.match(b)){e.to...
function g (line 3) | function g(a){return function(b,d){for(var e;null!=(e=b.next());){if("<"...
function h (line 3) | function h(){for(var a=arguments.length-1;a>=0;a--)t.cc.push(arguments[a])}
function i (line 3) | function i(){return h.apply(null,arguments),!0}
function j (line 3) | function j(a,b){var c=w.doNotIndent.hasOwnProperty(a)||t.context&&t.cont...
function k (line 3) | function k(){t.context&&(t.context=t.context.prev)}
function l (line 3) | function l(a){if("openTag"==a)return t.tagName=r,i(o,m(t.startOfLine));i...
function m (line 3) | function m(a){return function(b){return"selfcloseTag"==b||"endTag"==b&&w...
function n (line 3) | function n(a){return function(b){return a&&(u="error"),"endTag"==b?(k(),...
function o (line 3) | function o(a){return"word"==a?(u="attribute",i(o)):"equals"==a?i(p,o):"s...
function p (line 3) | function p(a){return"word"==a&&w.allowUnquoted?(u="string",i()):"string"...
function q (line 3) | function q(a){return"string"==a?i(q):h()}
function c (line 3) | function c(a,b,c){return b.tokenize=c,c(a,b)}
function d (line 3) | function d(a,b){for(var c,d=!1;null!=(c=a.next());){if(c==b&&!d)return!1...
function e (line 3) | function e(a,b,c){return K=a,L=c,b}
function f (line 3) | function f(a,b){var f=a.next();if('"'==f||"'"==f)return c(a,b,g(f));if(/...
function g (line 3) | function g(a){return function(b,c){return d(b,a)||(c.tokenize=f),e("stri...
function h (line 3) | function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;b...
function i (line 3) | function i(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.p...
function j (line 3) | function j(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0}
function k (line 3) | function k(a,b,c,d,e){var f=a.cc;for(R.state=a,R.stream=e,R.marked=null,...
function l (line 3) | function l(){for(var a=arguments.length-1;a>=0;a--)R.cc.push(arguments[a])}
function m (line 3) | function m(){return l.apply(null,arguments),!0}
function n (line 3) | function n(a){var b=R.state;if(b.context){R.marked="def";for(var c=b.loc...
function o (line 3) | function o(){R.state.context||(R.state.localVars=S),R.state.context={pre...
function p (line 3) | function p(){R.state.localVars=R.state.context.vars,R.state.context=R.st...
function q (line 3) | function q(a,b){var c=function(){var c=R.state;c.lexical=new i(c.indente...
function r (line 3) | function r(){var a=R.state;a.lexical.prev&&(")"==a.lexical.type&&(a.inde...
function s (line 3) | function s(a){return function(b){return b==a?m():";"==a?l():m(arguments....
function t (line 3) | function t(a){return"var"==a?m(q("vardef"),C,s(";"),r):"keyword a"==a?m(...
function u (line 3) | function u(a){return Q.hasOwnProperty(a)?m(w):"function"==a?m(I):"keywor...
function v (line 3) | function v(a){return a.match(/[;\}\)\],]/)?l():l(u)}
function w (line 3) | function w(a,b){if("operator"==a&&/\+\+|--/.test(b))return m(w);if("oper...
function x (line 3) | function x(a){return":"==a?m(r,t):l(w,s(";"),r)}
function y (line 3) | function y(a){if("variable"==a)return R.marked="property",m()}
function z (line 3) | function z(a){if("variable"==a&&(R.marked="property"),Q.hasOwnProperty(a...
function A (line 3) | function A(a,b){function c(d){return","==d?m(a,c):d==b?m():m(s(b))}retur...
function B (line 3) | function B(a){return"}"==a?m():l(t,B)}
function C (line 3) | function C(a,b){return"variable"==a?(n(b),m(D)):m()}
function D (line 3) | function D(a,b){return"="==b?m(u,D):","==a?m(C):void 0}
function E (line 3) | function E(a){return"var"==a?m(C,G):";"==a?l(G):"variable"==a?m(F):l(G)}
function F (line 3) | function F(a,b){return"in"==b?m(u):m(w,G)}
function G (line 3) | function G(a,b){return";"==a?m(H):"in"==b?m(u):m(u,s(";"),H)}
function H (line 3) | function H(a){")"!=a&&m(u)}
function I (line 3) | function I(a,b){return"variable"==a?(n(b),m(I)):"("==a?m(q(")"),o,A(J,")...
function J (line 3) | function J(a,b){if("variable"==a)return n(b),m()}
function a (line 3) | function a(a){return{type:a,style:"keyword"}}
function b (line 3) | function b(a,b){return g=b,a}
function c (line 3) | function c(a,c){var g=a.next();return"@"==g?(a.eatWhile(/[\w\\\-]/),b("m...
function d (line 3) | function d(a,d){for(var e,f=!1;null!=(e=a.next());){if(f&&"/"==e){d.toke...
function e (line 3) | function e(a,d){for(var e,f=0;null!=(e=a.next());){if(f>=2&&">"==e){d.to...
function f (line 3) | function f(a){return function(d,e){for(var f,g=!1;null!=(f=d.next())&&(f...
function c (line 3) | function c(a,b){var c=g.token(a,b.htmlState);return"tag"==c&&">"==a.curr...
function d (line 3) | function d(a,b,c){var d=a.current(),e=d.search(b);return e>-1&&a.backUp(...
function e (line 3) | function e(a,b){return a.match(/^<\/\s*script\s*>/i,!1)?(b.token=c,b.cur...
function f (line 3) | function f(a,b){return a.match(/^<\/\s*style\s*>/i,!1)?(b.token=c,b.loca...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/third-party/jquery-1.10.2.js
function c (line 2) | function c(a){var b=a.length,c=ka.type(a);return!ka.isWindow(a)&&(!(1!==...
function d (line 2) | function d(a){var b=za[a]={};return ka.each(a.match(ma)||[],function(a,c...
function e (line 2) | function e(a,c,d,e){if(ka.acceptData(a)){var f,g,h=ka.expando,i=a.nodeTy...
function f (line 2) | function f(a,b,c){if(ka.acceptData(a)){var d,e,f=a.nodeType,g=f?ka.cache...
function g (line 2) | function g(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(Ba,"...
function h (line 2) | function h(a){var b;for(b in a)if(("data"!==b||!ka.isEmptyObject(a[b]))&...
function i (line 2) | function i(){return!0}
function j (line 2) | function j(){return!1}
function k (line 2) | function k(){try{return Y.activeElement}catch(a){}}
function l (line 2) | function l(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}
function m (line 2) | function m(a,b,c){if(ka.isFunction(b))return ka.grep(a,function(a,d){ret...
function n (line 2) | function n(a){var b=Ua.split("|"),c=a.createDocumentFragment();if(c.crea...
function o (line 2) | function o(a,b){return ka.nodeName(a,"table")&&ka.nodeName(1===b.nodeTyp...
function p (line 2) | function p(a){return a.type=(null!==ka.find.attr(a,"type"))+"/"+a.type,a}
function q (line 2) | function q(a){var b=eb.exec(a.type);return b?a.type=b[1]:a.removeAttribu...
function r (line 2) | function r(a,b){for(var c,d=0;null!=(c=a[d]);d++)ka._data(c,"globalEval"...
function s (line 2) | function s(a,b){if(1===b.nodeType&&ka.hasData(a)){var c,d,e,f=ka._data(a...
function t (line 2) | function t(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase...
function u (line 2) | function u(a,c){var d,e,f=0,g=typeof a.getElementsByTagName!==W?a.getEle...
function v (line 2) | function v(a){bb.test(a.type)&&(a.defaultChecked=a.checked)}
function w (line 2) | function w(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b...
function x (line 2) | function x(a,b){return a=b||a,"none"===ka.css(a,"display")||!ka.contains...
function y (line 2) | function y(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style...
function z (line 2) | function z(a,b,c){var d=rb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2...
function A (line 2) | function A(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b...
function B (line 2) | function B(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=...
function C (line 2) | function C(a){var b=Y,c=ub[a];return c||(c=D(a,b),"none"!==c&&c||(jb=(jb...
function D (line 2) | function D(a,b){var c=ka(b.createElement(a)).appendTo(b.body),d=ka.css(c...
function E (line 2) | function E(a,b,c,d){var e;if(ka.isArray(b))ka.each(b,function(b,e){c||Ab...
function F (line 2) | function F(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d...
function G (line 2) | function G(a,c,d,e){function f(i){var j;return g[i]=!0,ka.each(a[i]||[],...
function H (line 2) | function H(a,c){var d,e,f=ka.ajaxSettings.flatOptions||{};for(e in c)c[e...
function I (line 2) | function I(a,c,d){for(var e,f,g,h,i=a.contents,j=a.dataTypes;"*"===j[0];...
function J (line 2) | function J(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for...
function K (line 2) | function K(){try{return new a.XMLHttpRequest}catch(b){}}
function L (line 2) | function L(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b...
function M (line 2) | function M(){return setTimeout(function(){$b=b}),$b=ka.now()}
function N (line 2) | function N(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length...
function O (line 2) | function O(a,b,c){var d,e,f=0,g=dc.length,h=ka.Deferred().always(functio...
function P (line 2) | function P(a,b){var c,d,e,f,g;for(c in a)if(d=ka.camelCase(c),e=b[d],f=a...
function Q (line 2) | function Q(a,b,c){var d,e,f,g,h,i,j=this,k={},l=a.style,m=a.nodeType&&x(...
function R (line 2) | function R(a,b,c,d,e){return new R.prototype.init(a,b,c,d,e)}
function S (line 2) | function S(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=xb[e],d[...
function T (line 2) | function T(a){return ka.isWindow(a)?a:9===a.nodeType&&(a.defaultView||a....
function c (line 2) | function c(a,b,c,d){var e,f,g,h,i,j,k,l,o,p;if((b?b.ownerDocument||b:O)!...
function d (line 2) | function d(){function a(c,d){return b.push(c+=" ")>z.cacheLength&&delete...
function e (line 2) | function e(a){return a[N]=!0,a}
function f (line 2) | function f(a){var b=G.createElement("div");try{return!!a(b)}catch(c){ret...
function g (line 2) | function g(a,b){for(var c=a.split("|"),d=a.length;d--;)z.attrHandle[c[d]...
function h (line 2) | function h(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sour...
function i (line 2) | function i(a){return function(b){var c=b.nodeName.toLowerCase();return"i...
function j (line 2) | function j(a){return function(b){var c=b.nodeName.toLowerCase();return("...
function k (line 2) | function k(a){return e(function(b){return b=+b,e(function(c,d){for(var e...
function l (line 2) | function l(){}
function m (line 2) | function m(a,b){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return b?0:k.slice(0);...
function n (line 2) | function n(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}
function o (line 2) | function o(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first...
function p (line 2) | function p(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)...
function q (line 2) | function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f...
function r (line 2) | function r(a,b,c,d,f,g){return d&&!d[N]&&(d=r(d)),f&&!f[N]&&(f=r(f,g)),e...
function s (line 2) | function s(a){for(var b,c,d,e=a.length,f=z.relative[a[0].type],g=f||z.re...
function t (line 2) | function t(a,b){var d=0,f=b.length>0,g=a.length>0,h=function(e,h,i,j,k){...
function u (line 2) | function u(a,b,d){for(var e=0,f=b.length;f>e;e++)c(a,b[e],d);return d}
function v (line 2) | function v(a,b,c,d){var e,f,g,h,i,j=m(a);if(!d&&1===j.length){if(f=j[0]=...
function d (line 4) | function d(a,c,d,e){var f,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),k=b...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/third-party/webuploader/webuploader.js
function d (line 2) | function d(a){return function(){return h.apply(a,arguments)}}
function e (line 2) | function e(a,b){return function(){return a.apply(b,arguments)}}
function f (line 2) | function f(a){var b;return Object.create?Object.create(a):(b=function(){...
function b (line 2) | function b(a,b,c,d){return f.grep(a,function(a){return!(!a||b&&a.e!==b||...
function c (line 2) | function c(a,b,c){f.each((a||"").split(h),function(a,d){c(d,b)})}
function d (line 2) | function d(a,b){for(var c,d=!1,e=-1,f=a.length;++e<f;)if(c=a[e],c.cb.app...
function c (line 2) | function c(a){this.options=d.extend(!0,{},c.options,a),this._init(this.o...
function c (line 2) | function c(b){this.options=d.extend({container:document.body},b),this.ui...
function d (line 2) | function d(b,d){var f,g=a.Deferred();this.uid=a.guid("client_"),this.run...
function d (line 2) | function d(a){a=this.options=e.extend({},d.options,a),a.container=e(a.co...
function c (line 2) | function c(a){if(!a)return!1;var b=a.length,c=e.type(a);return!(1!==a.no...
function d (line 2) | function d(a){this.owner=a,this.options=a.options}
function d (line 2) | function d(a){a=this.options=e.extend({},a),a.container=e(a.container||d...
function c (line 2) | function c(a,c){var d=this;d.source=c,d.ruid=a,this.size=c.size||0,this....
function c (line 2) | function c(a,c){var f;this.name=c.name||"untitled"+d++,f=e.exec(c.name)?...
function e (line 2) | function e(a){if(a=this.options=f.extend({},e.options,a),a.container=f(a...
function d (line 2) | function d(a){this.options=e.extend({},d.options,a),b.call(this,"Image")...
function d (line 2) | function d(a,b){return b.forEach(function(b){b&&"string"!=typeof b&&!Arr...
function e (line 2) | function e(a,b){return new Promise(function(d,e){var f;return z(a).then(...
function f (line 2) | function f(a,b,d){return void 0===d&&(d=Date.now()),new Promise(function...
function g (line 2) | function g(a){return new Promise(function(b,c){var d=new L;d.onload=func...
function h (line 2) | function h(a){return new Promise(function(b,c){var d=new Image;d.onload=...
function i (line 2) | function i(){if(void 0!==i.cachedResult)return i.cachedResult;var a=F.ET...
function j (line 2) | function j(a,b){for(var c=i(),d=G[c],e=a,f=b,g=e*f,h=e>f?f/e:e/f;g>d*d;)...
function k (line 2) | function k(a,b){var c,d;try{if(c=new OffscreenCanvas(a,b),d=c.getContext...
function l (line 2) | function l(a,b){var c=j(a.width,a.height),d=c.width,e=c.height,f=k(d,e),...
function m (line 2) | function m(){return void 0!==m.cachedResult||(m.cachedResult=["iPad Simu...
function n (line 2) | function n(a,b){return void 0===b&&(b={}),new Promise(function(a,c){var ...
function o (line 2) | function o(a,b,d,e,g){return void 0===g&&(g=1),new Promise(function(h,i)...
function p (line 2) | function p(a){a.width=0,a.height=0}
function q (line 2) | function q(){return new Promise(function(a,b){var c,d,e,g,h;return void ...
function r (line 2) | function r(a){return new Promise(function(b,c){var d=new L;d.onload=func...
function s (line 2) | function s(a,b){var c,d,e=a.width,f=a.height,g=b.maxWidthOrHeight,h=a;re...
function t (line 2) | function t(a,b){var c=a.width,d=a.height,e=k(c,d),f=e[0],g=e[1];switch(b...
function u (line 2) | function u(a,b,c){return void 0===c&&(c=0),new Promise(function(d,e){fun...
function v (line 2) | function v(a,b){return new Promise(function(d,e){D||(D=function(a){var b...
function w (line 2) | function w(a,b){return new Promise(function(a,d){function f(){try{h.name...
function a (line 3) | function a(a,b,c){for(;0!=b--;)a.push(0,c)}
method exports (line 3) | get exports(){return A}
method exports (line 3) | set exports(a){A=a}
function a (line 3) | function a(a,b,c,e){var f=b*c,g=d(e),h=Math.ceil(b*g/8),j=new Uint8Array...
function b (line 3) | function b(a,b,f,g){var h=d(a),i=Math.ceil(f*h/8),k=new Uint8Array((i+1+...
function c (line 3) | function c(a,b){return j(new Uint8Array(a.buffer,2,a.length-6),b)}
function d (line 3) | function d(a){return[1,null,3,1,2,null,4][a.ctype]*a.depth}
function e (line 3) | function e(a,b,c,e,g){var h,i,j=d(b),k=Math.ceil(e*j/8);j=Math.ceil(j/8)...
function f (line 3) | function f(a,b,c){var d=a+b-c,e=d-a,f=d-b,g=d-c;return f*f>=e*e&&g*g>=e*...
function g (line 3) | function g(a,b,c){c.width=i.readUint(a,b),b+=4,c.height=i.readUint(a,b),...
function h (line 3) | function h(a,b,c,d,e,f,g,h,i){for(var j=Math.min(b,e),k=Math.min(c,f),l=...
function b (line 3) | function b(a,b,c){for(;0!=b--;)a.push(0,c)}
function a (line 3) | function a(a,b,c,d){b[c]+=a[0]*d>>4,b[c+1]+=a[1]*d>>4,b[c+2]+=a[2]*d>>4,...
function b (line 3) | function b(a){return Math.max(0,Math.min(255,a))}
function c (line 3) | function c(a,b){var c=a[0]-b[0],d=a[1]-b[1],e=a[2]-b[2],f=a[3]-b[3];retu...
function d (line 3) | function d(d,e,f,g,h,i,j){null==j&&(j=1);for(var k=g.length,l=[],m=0;k>m...
function e (line 3) | function e(a,b,c,d,e){null==e&&(e={});var f,g=w.crc,h=u.writeUint,i=u.wr...
function f (line 3) | function f(a,b,c){for(var d=0;d<a.frames.length;d++){var e=a.frames[d];e...
function g (line 3) | function g(a,b,c,e,f){for(var g=f[0],j=f[1],k=f[2],m=f[3],n=f[4],o=f[5],...
function h (line 3) | function h(a,b,c,d,e,f,g){for(var h=Uint8Array,j=Uint32Array,k=new h(a[e...
function i (line 3) | function i(a,b,c,d,e){t(a,b,c,d,e.width,e.height,-e.x,-e.y,2)}
function j (line 3) | function j(a,b,c,d,e,f,g){var h,i=[],j=[0,1,2,3,4];-1!=f?j=[f]:(b*d>5e5|...
function k (line 3) | function k(a,b,c,d,e,f){var g=c*d,h=g+c;if(a[h]=f,h++,0==f)if(500>d)for(...
function l (line 3) | function l(a,b){var c,d=new Uint8Array(a),e=d.slice(0),f=new Uint32Array...
function m (line 3) | function m(a,b,c){null==c&&(c=1e-4);var d=new Uint32Array(a.buffer),e={i...
function n (line 4) | function n(a,b,c,d,e){if(null==a.left)return a.tdst=function(a,b,c,d,e){...
function o (line 4) | function o(a,b,c,d,e){var f=a.e;return f[0]*b+f[1]*c+f[2]*d+f[3]*e-a.eMq}
function p (line 4) | function p(a,b,c,d,e,f){for(d-=4;d>c;){for(;q(a,c,e)<=f;)c+=4;for(;q(a,d...
function q (line 4) | function q(a,b,c){return a[b]*c[0]+a[b+1]*c[1]+a[b+2]*c[2]+a[b+3]*c[3]}
function r (line 4) | function r(a,b,c){for(var d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e=[0,0,0,0...
function s (line 4) | function s(a){var b=a.R,c=a.m,d=a.N,e=c[0],f=c[1],g=c[2],h=c[3],i=0==d?0...
function c (line 4) | function c(a){s.setUint16(w,a,!0),w+=2}
function d (line 4) | function d(a){s.setUint32(w,a,!0),w+=4}
function e (line 4) | function e(a){w+=a}
function c (line 4) | function c(){return f+g++}
function d (line 4) | function d(a){this.name=a.name||"Untitled",this.size=a.size||0,this.type...
function d (line 4) | function d(){this.stats={numOfQueue:0,numOfSuccess:0,numOfCancel:0,numOf...
function d (line 4) | function d(a){var c=this;a=c.options=e.extend(!0,{},d.options,a||{}),b.c...
function e (line 4) | function e(a,b){var c,d,e=[],f=a.source,g=f.size,h=b?Math.ceil(g/b):1,i=...
function a (line 4) | function a(a){for(var b,c=0,d=0,e=a.length;e>d;d++)b=a.charCodeAt(d),c=b...
function c (line 4) | function c(){a.call(this,"Md5")}
function a (line 4) | function a(a,b){this.owner=a,this.options=a.options,this.getRuntime=func...
function e (line 4) | function e(){var a={},d=this,e=this.destroy;c.apply(d,arguments),d.type=...
function a (line 5) | function a(a){function b(a){for(var b=[16,11,10,16,24,40,51,61,12,12,14,...
function b (line 5) | function b(a,b,c){var d,e,f,g=document.createElement("canvas"),h=g.getCo...
function c (line 5) | function c(a){var b,c,d=a.naturalWidth,e=a.naturalHeight;return d*e>1048...
function c (line 5) | function c(a){var b=e.extend({},d,a),c=f.replace(/^(.*)\?/,"$1"+e.param(...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/third-party/zeroclipboard/ZeroClipboard.js
function parseFlashVersion (line 521) | function parseFlashVersion(desc) {
function isPepperFlash (line 526) | function isPepperFlash(flashPlayerFileName) {
function inspectPlugin (line 529) | function inspectPlugin(plugin) {
FILE: _examples-integrate/vue2/public/static/UEditorPlus/ueditor.all.js
function getItem (line 1) | function getItem(doc,obj){try{for(var i=0,ci;ci=tmpList[i++];){if(ci.doc...
function opt (line 1) | function opt(obj,name){if(!obj){return""}var t=obj.top,b=obj.bottom,l=ob...
function doReady (line 1) | function doReady(doc){doc.isReady=true;for(var ci;ci=fnArr.pop();ci()){}}
function encodeString (line 1) | function encodeString(source){if(/["\\\x00-\x1f]/.test(source)){source=s...
function encodeArray (line 1) | function encodeArray(source){var result=["["],l=source.length,preComma,i...
function pad (line 1) | function pad(source){return source<10?"0"+source:source}
function encodeDate (line 1) | function encodeDate(source){return'"'+source.getFullYear()+"-"+pad(sourc...
function getListener (line 1) | function getListener(obj,type,force){var allListeners;type=type.toLowerC...
function _ (line 1) | function _(s){for(var k in s){s[k.toUpperCase()]=s[k]}return s}
function getDomNode (line 1) | function getDomNode(node,start,ltr,startFromChild,fn,guard){var tmpNode=...
function clear (line 1) | function clear(next,dir){var tmpNode;while(next&&!domUtils.isBookmarkNod...
function remove (line 1) | function remove(dir){var child;while((child=node[dir])&&child.nodeType==...
function merge (line 1) | function merge(rtl,start,node){var next;if((next=node[rtl])&&!domUtils.i...
function updateCollapse (line 1) | function updateCollapse(range){range.collapsed=range.startContainer&&ran...
function selectOneNode (line 1) | function selectOneNode(rng){return!rng.collapsed&&rng.startContainer.nod...
function setEndPoint (line 1) | function setEndPoint(toStart,node,offset,range){if(node.nodeType===1&&(d...
function execContentsAction (line 1) | function execContentsAction(range,action){var start=range.startContainer...
function removeFillData (line 1) | function removeFillData(doc,excludeNode){try{if(fillData&&domUtils.inDoc...
function mergeSibling (line 1) | function mergeSibling(node,dir){var tmpNode;node=node[dir];while(node&&d...
function check (line 1) | function check(node){return node.nodeType==1&&!domUtils.isBookmarkNode(n...
function adjust (line 1) | function adjust(r,c){var container=r[c+"Container"],offset=r[c+"Offset"]...
function checkOffset (line 1) | function checkOffset(rng){function check(node,offset,dir){if(node.nodeTy...
function getAddress (line 1) | function getAddress(isStart){var node=isStart?me.startContainer:me.endCo...
function getNode (line 1) | function getNode(address,isStart){var tmpNode=me.document.body,parentNod...
function getBoundaryInformation (line 1) | function getBoundaryInformation(range,start){var getIndex=domUtils.getNo...
function transformIERangeToRange (line 1) | function transformIERangeToRange(ieRange,range){if(ieRange.item){range.s...
function _getIERange (line 1) | function _getIERange(sel){var ieRange;try{ieRange=sel.getNative().create...
function optimze (line 1) | function optimze(range){var child=me.document.body.firstChild,collapsed=...
function setValue (line 1) | function setValue(form,editor){if(!editor.options.textarea){return}var t...
function loadPlugins (line 1) | function loadPlugins(me){for(var pi in UE.plugins){UE.plugins[pi].call(m...
function checkCurLang (line 1) | function checkCurLang(I18N){for(var lang in I18N){return lang}}
function langReadied (line 1) | function langReadied(me){me.langIsReady=true;me.fireEvent("langReady")}
function isCdataDiv (line 1) | function isCdataDiv(node){return node.tagName=="DIV"&&node.getAttribute(...
function clear (line 1) | function clear(){var me=this;if(me.document.getElementById("initContent"...
function showErrorMsg (line 1) | function showErrorMsg(msg){console&&console.error(msg)}
function json2str (line 1) | function json2str(json){var strArr=[];for(var i in json){if(i=="method"|...
function doAjax (line 1) | function doAjax(url,ajaxOptions){var xhr=creatAjaxRequest(),timeIsOut=fa...
function doJsonp (line 1) | function doJsonp(url,opts){var successhandler=opts.onsuccess||function()...
function e (line 1) | function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbo...
function t (line 1) | function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function n (line 1) | function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.en...
function r (line 1) | function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),Object.defineProp...
function o (line 1) | function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||fun...
function i (line 1) | function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Ar...
function a (line 1) | function a(e,t){return function(){return e.apply(t,arguments)}}
function T (line 1) | function T(t,n){var r,o,i=arguments.length>2&&void 0!==arguments[2]?argu...
function j (line 1) | function j(e,t){t=t.toLowerCase();for(var n,r=Object.keys(e),o=r.length;...
function M (line 1) | function M(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.cap...
function J (line 1) | function J(e){return q.isPlainObject(e)||q.isArray(e)}
function W (line 1) | function W(e){return q.endsWith(e,"[]")?e.slice(0,-2):e}
function K (line 1) | function K(e,t,n){return e?e.concat(t).map(function(e,t){return e=W(e),!...
function G (line 1) | function G(t,n,r){if(!q.isObject(t))throw new TypeError("target must be ...
function $ (line 1) | function $(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","...
function X (line 1) | function X(e,t){this._pairs=[],e&&G(e,this,t)}
function Z (line 1) | function Z(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(...
function Y (line 1) | function Y(e,t,n){if(!t)return e;var r,o=n&&n.encode||Z,i=n&&n.serialize...
function e (line 1) | function e(){t(this,e),this.handlers=[]}
function oe (line 1) | function oe(e){function t(e,n,r,o){var i=e[o++],a=Number.isFinite(+i),s=...
function fe (line 1) | function fe(e){return e&&String(e).trim().toLowerCase()}
function le (line 1) | function le(e){return!1===e||null==e?e:q.isArray(e)?e.map(le):String(e)}
function de (line 1) | function de(e,t,n,r,o){return q.isFunction(r)?r.call(this,t,n):(o&&(t=n)...
function i (line 1) | function i(e){t(this,i),e&&this.set(e)}
function o (line 1) | function o(e,t,n){var o=fe(t);if(!o)throw new Error("header name must be...
function o (line 1) | function o(e){if(e=fe(e)){var o=q.findKey(n,e);!o||t&&!de(0,n[o],o,t)||(...
function r (line 1) | function r(e){var r=fe(e);t[r]||(!function(e,t){var n=q.toCamelCase(" "+...
function me (line 1) | function me(e,t){var n=this||se,r=t||n,o=he.from(r.headers),i=r.data;ret...
function ye (line 1) | function ye(e){return!(!e||!e.__CANCEL__)}
function ve (line 1) | function ve(e,t,n){M.call(this,null==e?"canceled":e,M.ERR_CANCELED,t,n),...
function ge (line 1) | function ge(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?functi...
function r (line 1) | function r(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.se...
function Ee (line 1) | function Ee(e,t){var n=0,r=function(e,t){e=e||10;var n,r=new Array(e),o=...
function s (line 1) | function s(){e.cancelToken&&e.cancelToken.unsubscribe(r),e.signal&&e.sig...
function d (line 1) | function d(){if(u){var r=he.from("getAllResponseHeaders"in u&&u.getAllRe...
function Re (line 1) | function Re(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.sign...
function Ae (line 1) | function Ae(e){return Re(e),e.headers=he.from(e.headers),e.data=me.call(...
function je (line 1) | function je(e,t){t=t||{};var n={};function r(e,t,n){return q.isPlainObje...
function r (line 1) | function r(e,t){return"[Axios v1.4.0] Transitional option '"+e+"'"+t+(n?...
function e (line 1) | function e(n){t(this,e),this.defaults=n,this.interceptors={request:new t...
function t (line 1) | function t(t){return function(n,r,o){return this.request(je(o||{},{metho...
function e (line 1) | function e(n){if(t(this,e),"function"!=typeof n)throw new TypeError("exe...
function _mergeNamespaces (line 1) | function _mergeNamespaces(e,t){return t.forEach(function(t){t&&"string"!...
function copyExifWithoutOrientation (line 1) | function copyExifWithoutOrientation(e,t){return new Promise(function(r,i...
function pushV (line 1) | function pushV(e,t,r){for(;0!=t--;)e.push(0,r)}
method exports (line 1) | get exports(){return e}
method exports (line 1) | set exports(t){e=t}
method nextZero (line 1) | nextZero(e,t){for(;0!=e[t];)t++;return t}
method writeUshort (line 1) | writeUshort(e,t,r){e[t]=r>>8&255,e[t+1]=255&r}
method writeUint (line 1) | writeUint(e,t,r){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=...
method readASCII (line 1) | readASCII(e,t,r){let i="";for(let o=0;o<r;o++)i+=String.fromCharCode(e[t...
method writeASCII (line 1) | writeASCII(e,t,r){for(let i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)}
method readBytes (line 1) | readBytes(e,t,r){const i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i}
method readUTF8 (line 1) | readUTF8(t,r,i){let o,a="";for(let o=0;o<i;o++)a+=`%${e.pad(t[r+o].toStr...
function decodeImage (line 1) | function decodeImage(t,r,i,o){const a=r*i,s=_getBPP(o),f=Math.ceil(r*s/8...
function _decompress (line 1) | function _decompress(e,r,i,o){const a=_getBPP(e),s=Math.ceil(i*a/8),f=ne...
function _inflate (line 1) | function _inflate(e,r){return t(new Uint8Array(e.buffer,2,e.length-6),r)}
function n (line 1) | function n(e,t,r){for(;0!=t--;)e.push(0,r)}
function _getBPP (line 1) | function _getBPP(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth}
function _filterZero (line 1) | function _filterZero(e,t,r,i,o){let a=_getBPP(t);const s=Math.ceil(i*a/8...
function _paeth (line 1) | function _paeth(e,t,r){const i=e+t-r,o=i-e,a=i-t,s=i-r;return o*o<=a*a&&...
function _IHDR (line 1) | function _IHDR(t,r,i){i.width=e.readUint(t,r),r+=4,i.height=e.readUint(t...
function _copyTile (line 1) | function _copyTile(e,t,r,i,o,a,s,f,l){const c=Math.min(t,o),u=Math.min(r...
method update (line 1) | update(e,t,r,o){for(let a=0;a<o;a++)e=i.table[255&(e^t[r+a])]^e>>>8;retu...
function addErr (line 1) | function addErr(e,t,r,i){t[r]+=e[0]*i>>4,t[r+1]+=e[1]*i>>4,t[r+2]+=e[2]*...
function N (line 1) | function N(e){return Math.max(0,Math.min(255,e))}
function D (line 1) | function D(e,t){const r=e[0]-t[0],i=e[1]-t[1],o=e[2]-t[2],a=e[3]-t[3];re...
function dither (line 1) | function dither(e,t,r,i,o,a,s){null==s&&(s=1);const f=i.length,l=[];for(...
function _main (line 1) | function _main(e,r,o,a,s){null==s&&(s={});const{crc:f}=i,l=t.writeUint,c...
function compressPNG (line 1) | function compressPNG(e,t,r){for(let i=0;i<e.frames.length;i++){const o=e...
function compress (line 1) | function compress(t,r,i,o,a){const s=a[0],f=a[1],l=a[2],c=a[3],u=a[4],h=...
function _updateFrame (line 1) | function _updateFrame(t,r,i,o,a,s,f){const l=Uint8Array,c=Uint32Array,u=...
function _prepareDiff (line 1) | function _prepareDiff(t,r,i,o,a){e(t,r,i,o,a.width,a.height,-a.x,-a.y,2)}
function _filterZero (line 1) | function _filterZero(e,t,r,i,o,a,s){const f=[];let l,c=[0,1,2,3,4];-1!=a...
function _filterLine (line 1) | function _filterLine(e,t,i,o,a,s){const f=i*o;let l=f+i;if(e[l]=s,l++,0=...
function quantize (line 1) | function quantize(e,t){const r=new Uint8Array(e),i=r.slice(0),o=new Uint...
function getKDtree (line 1) | function getKDtree(e,t,r){null==r&&(r=1e-4);const i=new Uint32Array(e.bu...
function getNearest (line 1) | function getNearest(e,t,r,i,o){if(null==e.left)return e.tdst=function di...
function planeDst (line 1) | function planeDst(e,t,r,i,o){const{e:a}=e;return a[0]*t+a[1]*r+a[2]*i+a[...
function splitPixels (line 1) | function splitPixels(e,t,r,i,o,a){for(i-=4;r<i;){for(;vecDot(e,r,o)<=a;)...
function vecDot (line 1) | function vecDot(e,t,r){return e[t]*r[0]+e[t+1]*r[1]+e[t+2]*r[2]+e[t+3]*r...
function stats (line 1) | function stats(e,t,r){const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=[0,0,0...
function estats (line 1) | function estats(e){const{R:t}=e,{m:r}=e,{N:i}=e,a=r[0],s=r[1],f=r[2],l=r...
method toArrayBuffer (line 1) | toArrayBuffer(e,r){const i=e.width,o=e.height,a=i<<2,s=e.getContext("2d"...
method toBlob (line 1) | toBlob(e,t){this.toArrayBuffer(e,e=>{t(new Blob([e],{type:"image/bmp"}))})}
function getFilefromDataUrl (line 1) | function getFilefromDataUrl(e,t,r=Date.now()){return new Promise(i=>{con...
function getDataUrlFromFile (line 1) | function getDataUrlFromFile(e){return new Promise((t,r)=>{const i=new Cu...
function loadImage (line 1) | function loadImage(e){return new Promise((t,r)=>{const i=new Image;i.onl...
function getBrowserName (line 1) | function getBrowserName(){if(void 0!==getBrowserName.cachedResult)return...
function approximateBelowMaximumCanvasSizeOfBrowser (line 1) | function approximateBelowMaximumCanvasSizeOfBrowser(e,t){const r=getBrow...
function getNewCanvasAndCtx (line 1) | function getNewCanvasAndCtx(e,t){let r,i;try{if(r=new OffscreenCanvas(e,...
function drawImageInCanvas (line 1) | function drawImageInCanvas(e,t){const{width:r,height:i}=approximateBelow...
function isIOS (line 1) | function isIOS(){return void 0!==isIOS.cachedResult||(isIOS.cachedResult...
function drawFileInCanvas (line 1) | function drawFileInCanvas(e,t={}){return new Promise(function(i,o){let a...
function canvasToFile (line 1) | function canvasToFile(e,r,i,o,a=1){return new Promise(function(s,f){let ...
function cleanupCanvasMemory (line 1) | function cleanupCanvasMemory(e){e.width=0,e.height=0}
function isAutoOrientationInBrowser (line 1) | function isAutoOrientationInBrowser(){return new Promise(function(e,t){l...
function getExifOrientation (line 1) | function getExifOrientation(e){return new Promise((t,r)=>{const i=new Cu...
function handleMaxWidthOrHeight (line 1) | function handleMaxWidthOrHeight(e,t){const{width:r}=e,{height:i}=e,{maxW...
function followExifOrientation (line 1) | function followExifOrientation(e,t){const{width:r}=e,{height:i}=e,[o,a]=...
function compress (line 1) | function compress(e,t,r=0){return new Promise(function(i,o){let a,s,f,l,...
function compressOnWebWorker (line 1) | function compressOnWebWorker(e,t){return new Promise((r,i)=>{l||(l=funct...
function imageCompression (line 1) | function imageCompression(e,t){return new Promise(function(r,i){let o,a,...
function isWordDocument (line 1) | function isWordDocument(str){return/(class="?Mso|style="[^"]*\bmso\-|w:W...
function transUnit (line 1) | function transUnit(v){v=v.replace(/[\d.]+\w+/g,function(m){return utils....
function filterPasteWord (line 1) | function filterPasteWord(str){return str.replace(/[\t\r\n]+/g," ").repla...
function insertLine (line 1) | function insertLine(arr,current,begin){arr.push(breakChar);return curren...
function insertIndent (line 1) | function insertIndent(arr,current){for(var i=0;i<current;i++){arr.push(i...
function nodeToHtml (line 1) | function nodeToHtml(node,arr,formatter,current){switch(node.type){case"r...
function isText (line 1) | function isText(node,arr){if(node.parentNode.tagName=="pre"){arr.push(no...
function isElement (line 1) | function isElement(node,arr,formatter,current){var attrhtml="";if(node.a...
function isComment (line 1) | function isComment(node,arr){arr.push("\x3c!--"+node.data+"--\x3e")}
function getNodeById (line 1) | function getNodeById(root,id){var node;if(root.type=="element"&&root.get...
function getNodesByTagName (line 1) | function getNodesByTagName(node,tagName,arr){if(node.type=="element"&&no...
function nodeTraversal (line 1) | function nodeTraversal(root,fn){if(root.children&&root.children.length){...
function exec (line 1) | function exec(name,val){var reg=new RegExp("(^|;)\\s*"+name+":([^;]+;?)"...
function text (line 1) | function text(parent,data){if(needChild[parent.tagName]){var tmpNode=uNo...
function element (line 1) | function element(parent,tagName,htmlattr){var needParentTag;if(needParen...
function comment (line 1) | function comment(parent,data){parent.children.push(new uNode({type:"comm...
function filterNode (line 1) | function filterNode(node,rules){switch(node.type){case"text":break;case"...
function tdParent (line 1) | function tdParent(node){while(node&&node.type=="element"){if(node.tagNam...
function isLine (line 1) | function isLine(node,notEmpty){if(!node||node.nodeType==3)return 0;if(do...
function removeNotAttributeSpan (line 1) | function removeNotAttributeSpan(node){if(!node.style.cssText){domUtils.r...
function autotype (line 1) | function autotype(type,html){var me=this,cont;if(html){if(!opt.pasteFilt...
function DBC2SB (line 1) | function DBC2SB(str){var result="";for(var i=0;i<str.length;i++){var cod...
function ToDBC (line 1) | function ToDBC(txtstring){txtstring=utils.html(txtstring);var tmp="";var...
function readLocalOpts (line 1) | function readLocalOpts(){var cookieOpt=me.getPreferences("autotypeset");...
function stringToObj (line 1) | function stringToObj(str){var obj={},styles=str.split(";");utils.each(st...
function setBackground (line 1) | function setBackground(obj){if(obj){var styles=[];for(var name in obj){i...
function mergeWithParent (line 1) | function mergeWithParent(node){var parent;while(parent=node.parentNode){...
function mergeChild (line 1) | function mergeChild(rng,cmdName,value){if(needSetChild[cmdName]){rng.adj...
function mergesibling (line 1) | function mergesibling(rng,cmdName,value){var collapsed=rng.collapsed,bk=...
function optimize (line 1) | function optimize(range){var start=range.startContainer,end=range.endCon...
function doLink (line 1) | function doLink(range,opt,me){var rngClone=range.cloneRange(),link=me.qu...
function deleteIframe (line 1) | function deleteIframe(){me._iframe&&delete me._iframe}
function isRedundantSpan (line 1) | function isRedundantSpan(node){if(node.nodeType==3||node.tagName.toLower...
function doRemove (line 1) | function doRemove(range){var bookmark1=range.createBookmark();if(range.c...
function getObj (line 1) | function getObj(editor){return domUtils.filterNodeList(editor.selection....
function formatTime (line 1) | function formatTime(date,format){var hh=("0"+date.getHours()).slice(-2),...
function formatDate (line 1) | function formatDate(date,format){var yyyy=("000"+date.getFullYear()).sli...
function fillNode (line 1) | function fillNode(node){if(domUtils.isEmptyBlock(node)){var firstChild=n...
function isHr (line 1) | function isHr(node){return node&&node.nodeType==1&&node.tagName=="HR"&&n...
function save (line 1) | function save(editor){var saveData;if(!editor.hasContents()){saveKey&&me...
function compareAddr (line 1) | function compareAddr(indexA,indexB){if(indexA.length!=indexB.length)retu...
function compareRangeAddress (line 1) | function compareRangeAddress(rngAddrA,rngAddrB){if(rngAddrA.collapsed!=r...
function UndoManager (line 1) | function UndoManager(){this.list=[];this.index=0;this.hasUndo=false;this...
function saveScene (line 1) | function saveScene(){this.undoManger.save()}
function save (line 1) | function save(cont){cont.undoManger.save(false,true);cont.fireEvent("sel...
function initZeroClipboard (line 1) | function initZeroClipboard(){ZeroClipboard.config({debug:false,swfPath:m...
function getClipboardData (line 1) | function getClipboardData(callback){var doc=this.document;if(doc.getElem...
function getPureHtml (line 1) | function getPureHtml(html){return html.replace(/<(\/?)([\w\-]+)([^>]*)>/...
function filter (line 1) | function filter(div){var html;if(div.firstChild){var nodes=domUtils.getE...
function transP (line 1) | function transP(node){node.tagName="p";node.setStyle()}
function removeNode (line 1) | function removeNode(node){node.parentNode.removeChild(node,true)}
function listToArray (line 1) | function listToArray(list){var arr=[];for(var p in list){arr.push(p)}ret...
function getStyle (line 1) | function getStyle(node){var cls=node.className;if(domUtils.hasClass(node...
function checkListType (line 1) | function checkListType(content,container){var span=container.firstChild(...
function appendLi (line 1) | function appendLi(list,p,type){if(list.tagName==="ol"){if(browser.ie){va...
function adjustListStyle (line 1) | function adjustListStyle(doc,ignore){utils.each(domUtils.getElementsByTa...
function adjustList (line 1) | function adjustList(list,tag,style,ignoreEmpty){var nextList=list.nextSi...
function setListStyle (line 1) | function setListStyle(list,style){try{domUtils.setStyle(list,"list-style...
function clearEmptySibling (line 1) | function clearEmptySibling(node){var tmpNode=node.previousSibling;if(tmp...
function preventAndSave (line 1) | function preventAndSave(){evt.preventDefault?evt.preventDefault():evt.re...
function findList (line 1) | function findList(node,filterFn){while(node&&!domUtils.isBody(node)){if(...
function checkLevel (line 1) | function checkLevel(li){if(me.options.maxListLevel!=-1){var level=li.par...
function getLi (line 1) | function getLi(start){while(start&&!domUtils.isBody(start)){if(start.nod...
function createSourceEditor (line 1) | function createSourceEditor(holder){return sourceEditors[opt.sourceEdito...
function Scale (line 1) | function Scale(){this.editor=null;this.resizer=null;this.cover=null;this...
function checkIsCludeLink (line 1) | function checkIsCludeLink(node){if(node.nodeType==3){return null}if(node...
function adjustHeight (line 1) | function adjustHeight(){var me=this;clearTimeout(timer);if(isFullscreen)...
function fixedScrollTop (line 1) | function fixedScrollTop(){if(!me.window)return;if(lastScrollY===null){la...
function checkHasUI (line 1) | function checkHasUI(){if(!UE.ui){alert(lang.autofloatMsg);return 0}retur...
function fixIE6FixedPos (line 1) | function fixIE6FixedPos(){var docStyle=document.body.style;docStyle.back...
function setFloating (line 1) | function setFloating(){var toobarBoxPos=domUtils.getXY(toolbarBox),origa...
function unsetFloating (line 1) | function unsetFloating(){flag=true;if(placeHolder.parentNode){placeHolde...
function updateFloating (line 1) | function updateFloating(){var rect3=getPosition(me.container);var offset...
function creatInsertStr (line 1) | function creatInsertStr(url,width,height,id,align,classname,type){var st...
function switchImgAndVideo (line 1) | function switchImgAndVideo(root,img2video){utils.each(root.getNodesByTag...
function createAudioHtml (line 1) | function createAudioHtml(url,param){param=param||{};var str=["<audio",pa...
function switchImgAndAudio (line 1) | function switchImgAndAudio(root,img2audio){}
function checkRange (line 1) | function checkRange(beginRowIndex,beginColIndex,endRowIndex,endColIndex)...
function replaceTdToTh (line 1) | function replaceTdToTh(colIndex,cell,tableRow){if(colIndex==0){var tr=ta...
function replaceTdToTh (line 1) | function replaceTdToTh(rowIndex,cell,tableRow){if(rowIndex==0){var th=ce...
function showError (line 1) | function showError(e){}
function createTable (line 1) | function createTable(opt,tdWidth){var html=[],rowsNum=opt.numRows,colsNu...
function getAverageWidth (line 1) | function getAverageWidth(){var tb=ut.table,averageWidth,sumWidth=0,colsN...
function setAverageWidth (line 1) | function setAverageWidth(averageWidth){utils.each(domUtils.getElementsBy...
function getAverageHeight (line 1) | function getAverageHeight(){var averageHeight,rowNum,sumHeight=0,tb=ut.t...
function setAverageHeight (line 1) | function setAverageHeight(averageHeight){var cells=ut.isFullCol()?domUti...
function resetTdWidth (line 1) | function resetTdWidth(table,editor){var tds=domUtils.getElementsByTagNam...
function getTableWidth (line 1) | function getTableWidth(editor,needIEHack,defaultValue){var body=editor.b...
function getSelectedArr (line 1) | function getSelectedArr(editor){var cell=getTableItemsByRange(editor).ce...
function showError (line 1) | function showError(e){}
function removeStyleSize (line 1) | function removeStyleSize(obj,replaceToProperty){removeStyle(obj,"width",...
function removeStyle (line 1) | function removeStyle(obj,styleName,replaceToProperty){if(obj.style[style...
function getParentTdOrTh (line 1) | function getParentTdOrTh(ele){if(ele.tagName=="TD"||ele.tagName=="TH")re...
function isEmptyBlock (line 1) | function isEmptyBlock(node){var reg=new RegExp(domUtils.fillChar,"g");if...
function mouseCoords (line 1) | function mouseCoords(evt){if(evt.pageX||evt.pageY){return{x:evt.pageX,y:...
function mouseMoveEvent (line 1) | function mouseMoveEvent(evt){if(isEditorDisabled()){return}try{var targe...
function toggleDragButton (line 1) | function toggleDragButton(show,table,editor){if(!show){if(dragOver)retur...
function createDragButton (line 1) | function createDragButton(table,editor){var pos=domUtils.getXY(table),do...
function inTableSide (line 1) | function inTableSide(table,cell,evt,top){var pos=mouseCoords(evt),state=...
function getPermissionX (line 1) | function getPermissionX(dragTd,evt){var ut=getUETable(dragTd);if(ut){var...
function getPermissionY (line 1) | function getPermissionY(dragTd,evt){try{var top=domUtils.getXY(dragTd).y...
function toggleDraggableState (line 1) | function toggleDraggableState(editor,draggable,dir,mousePos,cell){try{ed...
function getResizeLineByUETable (line 1) | function getResizeLineByUETable(){var lineId="_UETableResizeLine",line=t...
function updateResizeLine (line 1) | function updateResizeLine(cell,uetable){var line=getResizeLineByUETable....
function showResizeLine (line 1) | function showResizeLine(cell){var uetable=getUETable(cell);updateResizeL...
function getRelation (line 1) | function getRelation(ele,mousePos){var elePos=domUtils.getXY(ele);if(!el...
function mouseDownEvent (line 1) | function mouseDownEvent(type,evt){if(isEditorDisabled()){return}userActi...
function clearTableTimer (line 1) | function clearTableTimer(){tabTimer&&clearTimeout(tabTimer);tabTimer=null}
function tableDbclickHandler (line 1) | function tableDbclickHandler(evt){singleClickState=0;evt=evt||me.window....
function tableClickHander (line 1) | function tableClickHander(evt){removeSelectedClass(domUtils.getElementsB...
function borderActionHandler (line 1) | function borderActionHandler(evt){if(browser.ie){evt=reconstruct(evt)}cl...
function extractArray (line 1) | function extractArray(originArr,key){var result=[],tmp=null;for(var i=0,...
function clearTableDragTimer (line 1) | function clearTableDragTimer(){tableDragTimer&&clearTimeout(tableDragTim...
function reconstruct (line 1) | function reconstruct(obj){var attrs=["pageX","pageY","clientX","clientY"...
function tableBorderDrag (line 1) | function tableBorderDrag(evt){isInResizeBuffer=false;startTd=evt.target|...
function mouseUpEvent (line 1) | function mouseUpEvent(type,evt){if(isEditorDisabled()){return}clearTable...
function mouseOverEvent (line 1) | function mouseOverEvent(type,evt){if(isEditorDisabled()){return}var me=t...
function setCellHeight (line 1) | function setCellHeight(cell,height,backHeight){var lineHight=parseInt(do...
function getWidth (line 1) | function getWidth(cell){if(!cell)return 0;return parseInt(domUtils.getCo...
function changeColWidth (line 1) | function changeColWidth(cell,changeValue){var ut=getUETable(cell);if(ut)...
function isEditorDisabled (line 1) | function isEditorDisabled(){return me.body.contentEditable==="false"}
function changeRowHeight (line 1) | function changeRowHeight(td,changeValue){if(Math.abs(changeValue)<10)ret...
function getCellsByMoveBorder (line 1) | function getCellsByMoveBorder(cell,table,isContainMergeCell){if(!table){...
function getMinWidthByTableCells (line 1) | function getMinWidthByTableCells(cells){var minWidth=Number.MAX_VALUE;fo...
function correctChangeValue (line 1) | function correctChangeValue(changeValue,relatedCell,cells){changeValue-=...
function getTableCellWidth (line 1) | function getTableCellWidth(cell){var width=0,offset=0,width=cell.offsetW...
function getTableCellOffset (line 1) | function getTableCellOffset(cell){tab=domUtils.findParentByTagName(cell,...
function getTabcellSpace (line 1) | function getTabcellSpace(){if(UT.tabcellSpace===undefined){var cell=null...
function getDragLine (line 1) | function getDragLine(editor,doc){if(mousedown)return;dragLine=editor.doc...
function hideDragLine (line 1) | function hideDragLine(editor){if(mousedown)return;var line;while(line=ed...
function showDragLineAt (line 1) | function showDragLineAt(state,cell){if(!cell)return;var table=domUtils.f...
function switchBorderColor (line 1) | function switchBorderColor(editor,flag){var tableArr=domUtils.getElement...
function getTableWidth (line 1) | function getTableWidth(editor,needIEHack,defaultValue){var body=editor.b...
function getTargetTd (line 1) | function getTargetTd(editor,evt){var target=domUtils.findParentByTagName...
function getLabel (line 1) | function getLabel(){switch(item.icon){case"table":return me.getLang("con...
function addList (line 1) | function addList(type,evt){if(browser.webkit){var target=evt.target.tagN...
function getText (line 1) | function getText(node){var text=node.nodeType==3?node.nodeValue:node[bro...
function findTextInString (line 1) | function findTextInString(textContent,opt,currentIndex){var str=opt.sear...
function findTextBlockElm (line 1) | function findTextBlockElm(node,currentIndex,opt){var textContent,index,m...
function findNTextInBlockElm (line 1) | function findNTextInBlockElm(node,index,str){var currentIndex=0,currentN...
function searchReplace (line 1) | function searchReplace(me,opt){var rng=lastRng||me.selection.getRange(),...
function replaceText (line 1) | function replaceText(rng,str){str=me.document.createTextNode(str);rng.de...
function sendApi (line 1) | function sendApi(imgs,callbacks){var params=utils.serializeParam(me.quer...
function catchElement (line 1) | function catchElement(type,ele,imageUrl){sendApi([imageUrl],{success:fun...
function catchRemoteImage (line 1) | function catchRemoteImage(){if(catchRemoteImageCatching){return}catchRem...
function sendAndInsertFile (line 1) | function sendAndInsertFile(file,editor){var me=editor;var fieldName,urlP...
function getPasteImage (line 1) | function getPasteImage(e){return e.clipboardData&&e.clipboardData.items&...
function getDropImage (line 1) | function getDropImage(e){return e.dataTransfer&&e.dataTransfer.files?e.d...
function Section (line 1) | function Section(option){this.tag="";this.level=-1,this.dom=null;this.ne...
function getSection (line 1) | function getSection(option){var section=new Section;return utils.extend(...
function getNodeFromAddress (line 1) | function getNodeFromAddress(startAddress,root){var current=root;for(var ...
function getSectionLevel (line 1) | function getSectionLevel(node){for(var i=0;i<levelFn.length;i++){if(leve...
function traversal (line 1) | function traversal(node,Directory){var level,tmpSection=null,parent,chil...
function isContainsAddress (line 1) | function isContainsAddress(startAddress,endAddress,addressTarget){var is...
function getNodeFromAddress (line 1) | function getNodeFromAddress(startAddress){var current=me.body;for(var i=...
function initUploadBtn (line 1) | function initUploadBtn(){var input=document.createElement("input");input...
function getFileIcon (line 1) | function getFileIcon(url){var ext=url.substr(url.lastIndexOf(".")+1).toL...
function handleMouseMove (line 1) | function handleMouseMove(evt){var x=evt.clientX-startX;var y=evt.clientY...
function handleMouseUp (line 1) | function handleMouseUp(evt){doc.removeEventListener("mousemove",handleMo...
function releaseCaptrue (line 1) | function releaseCaptrue(){elm.releaseCapture();elm.detachEvent("onmousem...
function updateFixedOffset (line 1) | function updateFixedOffset(){var layer=document.getElementById("edui_fix...
function bindFixedLayer (line 1) | function bindFixedLayer(adjOffset){domUtils.on(window,"scroll",updateFix...
function closeAllPopup (line 1) | function closeAllPopup(evt,el){for(var i=0;i<allPopups.length;i++){var p...
function genColorPicker (line 1) | function genColorPicker(noColorText,editor){var html='<div id="##" class...
function getPara (line 1) | function getPara(me){var opt={},cont=me.getDom(),editorId=me.editor.uid,...
function setPos (line 1) | function setPos(offset){if(offset.left<0){offset.left=0}if(offset.top<0)...
function setPosByCxtMenu (line 1) | function setPosByCxtMenu(menu){if(!menu.tagName){menu=menu.getDom()}offs...
function hideAllMenu (line 1) | function hideAllMenu(e){var tgt=e.target||e.srcElement,cur=domUtils.find...
function EditorUI (line 1) | function EditorUI(options){this.initOptions(options);this.initEditorUI()}
function countFn (line 1) | function countFn(){setCount(editor,me);domUtils.un(editor.document,"clic...
function setCount (line 1) | function setCount(editor,ui){editor.setOpt({wordCount:true,maximumWords:...
function down (line 1) | function down(){position=domUtils.getXY(editorHolder);if(!minEditorHeigh...
function move (line 1) | function move(event){clearSelection();var e=event||window.event;pageX=e....
function up (line 1) | function up(){if(isMouseMove){isMouseMove=false;editor.ui._actualFrameWi...
function clearSelection (line 1) | function clearSelection(){if(browser.ie)doc.selection.clear();else windo...
function renderUI (line 1) | function renderUI(){editor.setOpt({labelMap:editor.options.labelMap||edi...
function updateHolderPos (line 1) | function updateHolderPos(){if(!holder||!me.ui)return;var toolbarbox=me.u...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/ueditor.config.js
function a (line 2) | function a(a,d){return c(a||self.document.URL||self.location.href,d||b())}
function b (line 2) | function b(){var a=document.getElementsByTagName("script");return a[a.le...
function c (line 2) | function c(a,b){var c=b;return/^(\/|\\\\)/.test(b)?c=/^.+?\w(\/|\\\\)/.e...
function d (line 2) | function d(a){var b=/^[a-z]+:\/\//.exec(a)[0],c=null,d=[];for(a=a.replac...
FILE: _examples-integrate/vue2/public/static/UEditorPlus/ueditor.parse.js
function a (line 2) | function a(a,c){try{for(var d,e=0;d=b[e++];)if(d.doc===a&&d.url==(c.src|...
function b (line 2) | function b(b,c){var d,e=b;for(c=a.isArray(c)?c:[c];e;){for(d=0;d<c.lengt...
function c (line 2) | function c(b,c,e){for(var f=b.rows,g=[],h="TH"===f[0].cells[0].tagName,i...
function d (line 2) | function d(a,b){b=b||function(a,b){return a.localeCompare(b)};for(var c=...
function e (line 2) | function e(b){if(!a.hasClass(b.rows[0],"firstRow")){for(var c=1;c<b.rows...
function b (line 2) | function b(b){var e=this;a.each(b,function(b){if(b.className&&/custom_/i...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/attachment/attachment.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabhead").children,b=0;b<a.length;b++)...
function setTabFocus (line 2) | function setTabFocus(a){if(a){var b,c,d=$G("tabhead").children;for(b=0;b...
function initButtons (line 2) | function initButtons(){dialog.onok=function(){for(var a,b=[],c=$G("tabhe...
function UploadFile (line 2) | function UploadFile(a){this.$wrap=a.constructor==String?$("#"+a):$(a),th...
function OnlineFile (line 2) | function OnlineFile(a){this.container=utils.isString(a)?document.getElem...
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete w[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(w,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=v){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===v?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/audio/audio.js
function a (line 2) | function a(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++)domUti...
function b (line 2) | function b(){g(["audioFloat","upload_alignment"]),i($G("audioUrl")),c(),...
function c (line 2) | function c(){dialog.onok=function(){$G("preview").innerHTML="";var a=f("...
function d (line 2) | function d(a){for(var b,c=$G("audioFloat").children,d=0;b=c[d++];)b.getA...
function e (line 2) | function e(){var a=$G("audioUrl").value;f("audioFloat","name");return!!a...
function f (line 2) | function f(a,b){for(var c,d,e=$G(a).children,f=0;d=e[f++];)if("focus"==d...
function g (line 2) | function g(a){for(var b,c=0;b=a[c++];){var d=$G(b),e={none:lang["default...
function h (line 2) | function h(a){for(var b,c=$G(a).children,d=0;b=c[d++];)domUtils.on(b,"cl...
function i (line 2) | function i(a){browser.ie?a.onpropertychange=function(){k(this.value)}:a....
function j (line 2) | function j(a,b){b=b||{};var c=["<audio",b.id?' id="'+b.id+'"':"",b.cls?'...
function k (line 2) | function k(a){a&&($G("preview").innerHTML='<div class="previewMsg"><span...
function l (line 2) | function l(){var a=[],b=editor.getOpt("audioUrlPrefix"),c=f("upload_alig...
function m (line 2) | function m(){o=new n("queueList")}
function n (line 2) | function n(a){this.$wrap=a.constructor==String?$("#"+a):$(a),this.init()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete x[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=q.children();h.each(x,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=w){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===w?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/background/background.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++...
function initColorSelector (line 2) | function initColorSelector(){var a=editor.queryCommandValue("background"...
function initColorPicker (line 2) | function initColorPicker(){var a=editor,b=$G("colorPicker"),c=new UE.ui....
function updateFormState (line 2) | function updateFormState(a,b,c,d,e,f){var g=$G("nocolorRadio"),h=$G("col...
function updateBackground (line 2) | function updateBackground(){if($G("coloredRadio").checked){var a=domUtil...
function OnlineImage (line 2) | function OnlineImage(a){this.container=utils.isString(a)?document.getEle...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/contentimport/contentimport.js
function processWord (line 2) | function processWord(a){$(".file-tip").html("正在转换Word文件,请稍后..."),$(".fil...
function processMarkdown (line 2) | function processMarkdown(a){var b=new showdown.Converter,c=b.makeHtml(a)...
function processMarkdownFile (line 2) | function processMarkdownFile(a){$(".file-tip").html("正在转换Markdown文件,请稍后....
function addUploadButtonListener (line 2) | function addUploadButtonListener(){g("contentImport").addEventListener("...
function addOkListener (line 2) | function addOkListener(){dialog.onok=function(){return contentImport.dat...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/emotion/emotion.js
function initImgName (line 2) | function initImgName(){for(var a in emotion.SmilmgName){var b=emotion.Sm...
function initEvtHandler (line 2) | function initEvtHandler(a){for(var b=$G(a),c=0,d=0;c<b.childNodes.length...
function InsertSmiley (line 2) | function InsertSmiley(a,b){var c={src:editor.options.emotionLocalization...
function switchTab (line 2) | function switchTab(a){autoHeight(a),0==emotion.tabExist[a]&&(emotion.tab...
function autoHeight (line 2) | function autoHeight(a){var b=dialog.getDom("iframe"),c=b.parentNode.pare...
function createTab (line 2) | function createTab(a){for(var b,c,d,e,f,g,h="?v=1.1",i=$G(a),j=emotion.S...
function over (line 2) | function over(a,b,c){a.style.backgroundColor="#ACCD3C",$G("faceReview")....
function out (line 2) | function out(a){a.style.backgroundColor="transparent";var b=$G("tabIconR...
function createTabList (line 2) | function createTabList(a){for(var b={},c=0;c<a;c++)b["tab"+c]=[];return b}
function createArr (line 2) | function createArr(a){for(var b=[],c=0;c<a;c++)b[c]=0;return b}
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/formula/formula.js
function preg_quote (line 2) | function preg_quote(a,b){return(a+"").replace(new RegExp("[.\\\\+*?\\[\\...
function loadScript (line 2) | function loadScript(a,b){var c;c=document.createElement("script"),c.src=...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/help/help.js
function clickHandler (line 2) | function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].classNa...
function switchTab (line 2) | function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].ch...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/image/image.js
function initTabs (line 2) | function initTabs(){for(var a=$G("tabhead").children,b=0;b<a.length;b++)...
function setTabFocus (line 2) | function setTabFocus(a){if(a){var b,c,d=$G("tabhead").children;for(b=0;b...
function initButtons (line 2) | function initButtons(){dialog.onok=function(){for(var a,b=!1,c=[],d=$G("...
function initAlign (line 2) | function initAlign(){domUtils.on($G("alignIcon"),"click",function(a){var...
function setAlign (line 2) | function setAlign(a){a=a||"none";var b=$G("alignIcon").children;for(i=0;...
function getAlign (line 2) | function getAlign(){var a=$G("align").value||"none";return"none"==a?"":a}
function RemoteImage (line 2) | function RemoteImage(a){this.container=utils.isString(a)?document.getEle...
function UploadImage (line 2) | function UploadImage(a){this.$wrap=a.constructor==String?$("#"+a):$(a),t...
function OnlineImage (line 2) | function OnlineImage(a){this.container=utils.isString(a)?document.getEle...
function a (line 2) | function a(){b.setPreview()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete w[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(w,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!==v){var c=f.getStats();switch(m.removeClass("state...
function e (line 2) | function e(){var a,b="";"ready"===v?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/scrawl/scrawl.js
function ue_callback (line 2) | function ue_callback(a,b){function c(a,b,c,d){var e,f=0,g=0,h=a.width||c...
function removeMaskLayer (line 2) | function removeMaskLayer(){var a=$G("J_maskLayer");a.className="maskLaye...
function addMaskLayer (line 2) | function addMaskLayer(a){var b=$G("J_maskLayer");dialog.buttons[0].setDi...
function exec (line 2) | function exec(scrawlObj){if(scrawlObj.isScrawl){addMaskLayer(lang.scrawl...
function a (line 2) | function a(){var a=document,b=a.getElementsByTagName("head")[0],c=a.crea...
function b (line 2) | function b(){var a=document,b=[],c=a.createElement("div");c.id="J_scaleC...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/searchreplace/searchreplace.js
function clickHandler (line 2) | function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].classNa...
function switchTab (line 2) | function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].ch...
function getMatchCase (line 2) | function getMatchCase(a){return!!$G(a).checked}
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/spechars/spechars.js
function toArray (line 2) | function toArray(a){return a.split(",")}
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/video/video.js
function a (line 2) | function a(){for(var a=$G("tabHeads").children,b=0;b<a.length;b++)domUti...
function b (line 2) | function b(){k(["videoFloat","upload_alignment"]),m($G("videoUrl")),c(),...
function c (line 2) | function c(){dialog.onok=function(){$G("preview").innerHTML="";var a=g("...
function d (line 2) | function d(a){for(var b,c=$G("videoFloat").children,d=0;b=c[d++];)b.getA...
function e (line 2) | function e(){var a=$G("videoWidth"),b=$G("videoHeight"),c=$G("videoUrl")...
function f (line 2) | function f(a){for(var b,c=domUtils.getElementsByTagName($G(a),"img"),d=[...
function g (line 2) | function g(a,b){for(var c,d,e=$G(a).children,f=0;d=e[f++];)if("focus"==d...
function h (line 2) | function h(a){return a?a=utils.trim(a).replace(/v\.youku\.com\/v_show\/i...
function i (line 2) | function i(a){for(var b,c=0;b=a[c++];){var d=b.value;if(!j(d)&&d)return ...
function j (line 2) | function j(a){return/(0|^[1-9]\d*$)/.test(a)}
function k (line 2) | function k(a){for(var b,c=0;b=a[c++];){var d=$G(b),e={none:lang["default...
function l (line 2) | function l(a){for(var b,c=$G(a).children,d=0;b=c[d++];)domUtils.on(b,"cl...
function m (line 2) | function m(a){browser.ie?a.onpropertychange=function(){n(this.value)}:a....
function n (line 2) | function n(a){if(a){var b=h(a);b=utils.unhtml(b),$G("preview").innerHTML...
function o (line 2) | function o(){var a=[],b=editor.getOpt("videoUrlPrefix"),c=$G("upload_wid...
function p (line 2) | function p(){r=new q("queueList")}
function q (line 2) | function q(a){this.$wrap=a.constructor==String?$("#"+a):$(a),this.init()}
function a (line 2) | function a(a){var b=h('<li id="'+a.id+'"><p class="title">'+a.name+'</p>...
function b (line 2) | function b(a){var b=h("#"+a.id);delete x[a.id],c(),b.off().find(".file-p...
function c (line 2) | function c(){var a,b=0,c=0,d=p.children();h.each(x,function(a,d){c+=d[0]...
function d (line 2) | function d(a,b){if(a!=w){var c=f.getStats();switch(m.removeClass("state-...
function e (line 2) | function e(){var a,b="";"ready"===w?b=lang.updateStatusReady.replace("_"...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/dialogs/wordimage/wordimage.js
function addUploadButtonListener (line 2) | function addUploadButtonListener(){g("saveFile").addEventListener("chang...
function addOkListener (line 2) | function addOkListener(){dialog.onok=function(){if(imageUrls.length){var...
function showLocalPath (line 2) | function showLocalPath(a){var b=editor.selection.getRange().getClosedNod...
function createCopyButton (line 2) | function createCopyButton(a,b){var c=g(b).value;c.startsWith("file:////"...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/third-party/SyntaxHighlighter/shCore.js
function b (line 2) | function b(a,b){if(!XRegExp.isRegExp(a))throw TypeError("type RegExp exp...
function c (line 2) | function c(a){return(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline...
function d (line 2) | function d(a,b,c,d){var e,f,g,h=j.length;i=!0;try{for(;h--;)if(g=j[h],c&...
function e (line 2) | function e(a,b,c){if(Array.prototype.indexOf)return a.indexOf(b,c);for(v...
function a (line 2) | function a(a,b){return a.className.indexOf(b)!=-1}
function b (line 2) | function b(b,c){a(b,c)||(b.className+=" "+c)}
function c (line 2) | function c(a,b){a.className=a.className.replace(b,"")}
function d (line 2) | function d(a){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);return b}
function e (line 2) | function e(a){return a.split(/\r?\n/)}
function f (line 2) | function f(a){var b="highlighter_";return 0==a.indexOf(b)?a:b+a}
function g (line 2) | function g(a){return J.vars.highlighters[f(a)]}
function h (line 2) | function h(a){return document.getElementById(f(a))}
function i (line 2) | function i(a){J.vars.highlighters[f(a.id)]=a}
function j (line 2) | function j(a,b,c){if(null==a)return null;var d,e,f=1!=c?a.childNodes:[a....
function k (line 2) | function k(a,b){return j(a,b,!0)}
function l (line 2) | function l(a,b,c){c=Math.max(c||0,0);for(var d=c;d<a.length;d++)if(a[d]=...
function m (line 2) | function m(a){return(a||"")+Math.round(1e6*Math.random()).toString()}
function n (line 2) | function n(a,b){var c,d={};for(c in a)d[c]=a[c];for(c in b)d[c]=b[c];ret...
function o (line 2) | function o(a){var b={"true":!0,"false":!1}[a];return null==b?a:b}
function p (line 2) | function p(a,b,c,d,e){var f=(screen.width-c)/2,g=(screen.height-d)/2;e+=...
function q (line 2) | function q(a,b,c,d){function e(a){a=a||window.event,a.target||(a.target=...
function r (line 2) | function r(a){window.alert(J.config.strings.alert+a)}
function s (line 2) | function s(a,b){var c=J.vars.discoveredBrushes,d=null;if(null==c){c={};f...
function t (line 2) | function t(a,b){for(var c=e(a),d=0;d<c.length;d++)c[d]=b(c[d],d);return ...
function u (line 2) | function u(a){return a.replace(/^[ ]*[\n]+|[\n]*[ ]*$/g,"")}
function v (line 2) | function v(a){for(var b,c={},d=new XRegExp("^\\[(?<values>(.*?))\\]$"),e...
function w (line 2) | function w(a,b){return null==a||0==a.length||"\n"==a?a:(a=a.replace(/</g...
function x (line 2) | function x(a,b){for(var c=a.toString();c.length<b;)c="0"+c;return c}
function y (line 2) | function y(a,b){for(var c="",d=0;d<b;d++)c+=" ";return a.replace(/\t/g,c)}
function z (line 2) | function z(a,b){function c(a,b,c){return a.substr(0,b)+f.substr(0,c)+a.s...
function A (line 2) | function A(a){var b=/<br\s*\/?>|<br\s*\/?>/gi;return 1==J.config.b...
function B (line 2) | function B(a){return a.replace(/^\s+|\s+$/g,"")}
function C (line 2) | function C(a){for(var b=e(A(a)),c=(new Array,/^\s*/),d=1e3,f=0;f<b.lengt...
function D (line 2) | function D(a,b){return a.index<b.index?-1:a.index>b.index?1:a.length<b.l...
function E (line 2) | function E(a,b){function c(a,b){return a[0]}for(var d=null,e=[],f=b.func...
function F (line 2) | function F(a){var b=/(.*)((>|<).*)/;return a.replace(J.regexLib.ur...
function G (line 2) | function G(){for(var a=document.getElementsByTagName("script"),b=[],c=0;...
function H (line 2) | function H(a){var b="<![CDATA[",c="]]>",d=B(a),e=!1,f=b.length,g=c.lengt...
function I (line 2) | function I(a){var d,e=a.target,f=k(e,".syntaxhighlighter"),h=k(e,".conta...
function b (line 2) | function b(a,b){return J.toolbar.getButtonHtml(a,b,J.config.strings[b])}
function b (line 2) | function b(a){var b=new RegExp(a+"_(\\w+)"),c=b.exec(d);return c?c[1]:null}
function b (line 2) | function b(a,b){for(var c=0;c<a.length;c++)a[c].index+=b}
function c (line 2) | function c(a,c){for(var f,g=a.code,h=[],i=d.regexList,j=a.index+a.left.l...
function c (line 2) | function c(a){var b=a?a.brushName||f:f;return b?b+" ":""}
function a (line 2) | function a(){var a="class interface function package",b="-Infinity ...re...
function a (line 2) | function a(){var a="after before beginning continue copy each end every ...
function a (line 2) | function a(){var a="if fi then elif else for do done until while break c...
function a (line 2) | function a(){var a="Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader ...
function a (line 3) | function a(){var a="ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG...
function a (line 3) | function a(){function a(a,b){var c=0==a[0].indexOf("///")?"color1":"comm...
function a (line 3) | function a(){function a(a){return"\\b([a-z_]|)"+a.replace(/ /g,"(?=:)\\b...
function a (line 3) | function a(){var a="abs addr and ansichar ansistring array as asm begin ...
function a (line 3) | function a(){this.regexList=[{regex:/^\+\+\+ .*$/gm,css:"color2"},{regex...
function a (line 3) | function a(){var a="after and andalso band begin bnot bor bsl bsr bxor c...
function a (line 3) | function a(){var a="as assert break case catch class continue def defaul...
function a (line 3) | function a(){var a="abstract assert boolean break byte case catch char c...
function a (line 3) | function a(){var a="Boolean Byte Character Double Duration Float Integer...
function a (line 3) | function a(){var a="break case catch continue default delete do else fal...
function a (line 3) | function a(){var a="abs accept alarm atan2 bind binmode chdir chmod chom...
function a (line 3) | function a(){var a="abs acos acosh addcslashes addslashes array_change_k...
function a (line 3) | function a(){}
function a (line 3) | function a(){var a="while validateset validaterange validatepattern vali...
function a (line 3) | function a(){var a="and assert break class continue def del elif else ex...
function a (line 3) | function a(){var a="alias and BEGIN begin break case class def define_me...
function a (line 4) | function a(){function a(a){return"\\b([a-z_]|)"+a.replace(/ /g,"(?=:)\\b...
function a (line 4) | function a(){var a="val sealed case def true trait implicit forSome impo...
function a (line 4) | function a(){var a="abs avg case cast coalesce convert count current_tim...
function a (line 4) | function a(){var a="AddHandler AddressOf AndAlso Alias And Ansi As Assem...
function a (line 4) | function a(){function a(a,b){var c=SyntaxHighlighter.Match,d=a[0],e=new ...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/third-party/clipboard/clipboard.js
function e (line 2) | function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&re...
function d (line 2) | function d(a,b){for(;a&&a!==document;){if(a.matches(b))return a;a=a.pare...
function d (line 2) | function d(a,b,c,d,f){var g=e.apply(this,arguments);return a.addEventLis...
function e (line 2) | function e(a,b,c,d){return function(c){c.delegateTarget=f(c.target,b),c....
function d (line 2) | function d(a,b,c){if(!a&&!b&&!c)throw new Error("Missing required argume...
function e (line 2) | function e(a,b,c){return a.addEventListener(b,c),{destroy:function(){a.r...
function f (line 2) | function f(a,b,c){return Array.prototype.forEach.call(a,function(a){a.ad...
function g (line 2) | function g(a,b,c){return i(document.body,a,b,c)}
function d (line 2) | function d(a){var b;if("SELECT"===a.nodeName)a.focus(),b=a.value;else if...
function d (line 2) | function d(){}
function d (line 2) | function d(){e.off(a,d),b.apply(c,arguments)}
function c (line 2) | function c(a){return a&&a.__esModule?a:{"default":a}}
function d (line 2) | function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a ...
function a (line 2) | function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.en...
function a (line 2) | function a(b){d(this,a),this.resolveOptions(b),this.initSelection()}
function e (line 2) | function e(a){return a&&a.__esModule?a:{"default":a}}
function f (line 2) | function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a ...
function g (line 2) | function g(a,b){if(!a)throw new ReferenceError("this hasn't been initial...
function h (line 2) | function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("S...
function i (line 2) | function i(a,b){var c="data-clipboard-"+a;if(b.hasAttribute(c))return b....
function a (line 2) | function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.en...
function b (line 2) | function b(a,c){f(this,b);var d=g(this,(b.__proto__||Object.getPrototype...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/third-party/codemirror/codemirror.js
function a (line 2) | function a(f,j){function r(a){return a>=0&&a<Yb.size}function u(a){retur...
function b (line 2) | function b(a,b,c){function d(a,b,c){var e=b[a];if(null!=e)return e;if(nu...
function c (line 2) | function c(a){var b=Z[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||...
function d (line 2) | function d(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);...
function e (line 2) | function e(a,b,c){return!a.startState||a.startState(b,c)}
function f (line 2) | function f(a,b){this.pos=this.start=0,this.string=a,this.tabSize=b||8}
function g (line 2) | function g(a,b,c,d){this.from=a,this.to=b,this.style=c,this.set=d}
function h (line 2) | function h(a){this.from=a,this.to=a,this.line=null}
function i (line 2) | function i(a,b){this.styles=b||[a,null],this.text=a,this.height=1,this.m...
function j (line 2) | function j(a,b,c,d){for(var e=0,f=0,g=0;f<b;e+=2){var h=c[e],i=f+h.lengt...
function k (line 2) | function k(a){this.lines=a,this.parent=null;for(var b=0,c=a.length,d=0;b...
function l (line 2) | function l(a){this.children=a;for(var b=0,c=0,d=0,e=a.length;d<e;++d){va...
function m (line 2) | function m(a,b){for(;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d...
function n (line 2) | function n(a){if(null==a.parent)return null;for(var b=a.parent,c=J(b.lin...
function o (line 2) | function o(a,b){var c=0;a:do{for(var d=0,e=a.children.length;d<e;++d){va...
function p (line 2) | function p(a,b){var c=0;a:do{for(var d=0,e=a.children.length;d<e;++d){va...
function q (line 2) | function q(){this.time=0,this.done=[],this.undone=[]}
function r (line 2) | function r(){v(this)}
function s (line 2) | function s(a){return a.stop||(a.stop=r),a}
function t (line 2) | function t(a){a.preventDefault?a.preventDefault():a.returnValue=!1}
function u (line 2) | function u(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}
function v (line 2) | function v(a){t(a),u(a)}
function w (line 2) | function w(a){return a.target||a.srcElement}
function x (line 2) | function x(a){return a.which?a.which:1&a.button?1:2&a.button?3:4&a.butto...
function y (line 2) | function y(a,b,c,d){
function z (line 3) | function z(){this.id=null}
function A (line 3) | function A(a,b,c){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length...
function B (line 3) | function B(a){return a.currentStyle?a.currentStyle:window.getComputedSty...
function C (line 3) | function C(a,b){for(var c=a.ownerDocument.body,d=0,e=0,f=!1,g=a;g;g=g.of...
function D (line 3) | function D(a){return a.textContent||a.innerText||a.nodeValue||""}
function E (line 3) | function E(a,b){return a.line==b.line&&a.ch==b.ch}
function F (line 3) | function F(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}
function G (line 3) | function G(a){return{line:a.line,ch:a.ch}}
function H (line 3) | function H(a){return W.textContent=a,W.innerHTML}
function I (line 3) | function I(a,b){if(!b)return a?a.length:0;if(!a)return b.length;for(var ...
function J (line 3) | function J(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;...
function K (line 3) | function K(a){return/\w/.test(a)||a.toUpperCase()!=a.toLowerCase()}
function d (line 3) | function d(){b.value=h.getValue()}
function e (line 3) | function e(){d(),b.form.submit=g,b.form.submit(),b.form.submit=e}
function d (line 3) | function d(a){return c?a.toLowerCase():a}
function f (line 3) | function f(a,b){a&&(i&&T&&" "==a.charAt(0)&&(a=" "+a.slice(1)),i=!1,b?h....
function g (line 3) | function g(){l&&(r+=1,s=r<l.length?l[r]:null)}
function c (line 3) | function c(a,b){function c(c){return b.tokenize=c,c(a,b)}var e=a.next();...
function d (line 3) | function d(a,b){var d=a.next();return">"==d||"/"==d&&a.eat(">")?(b.token...
function e (line 3) | function e(a){return function(b,c){for(;!b.eol();)if(b.next()==a){c.toke...
function f (line 3) | function f(a,b){return function(d,e){for(;!d.eol();){if(d.match(b)){e.to...
function g (line 3) | function g(a){return function(b,d){for(var e;null!=(e=b.next());){if("<"...
function h (line 3) | function h(){for(var a=arguments.length-1;a>=0;a--)t.cc.push(arguments[a])}
function i (line 3) | function i(){return h.apply(null,arguments),!0}
function j (line 3) | function j(a,b){var c=w.doNotIndent.hasOwnProperty(a)||t.context&&t.cont...
function k (line 3) | function k(){t.context&&(t.context=t.context.prev)}
function l (line 3) | function l(a){if("openTag"==a)return t.tagName=r,i(o,m(t.startOfLine));i...
function m (line 3) | function m(a){return function(b){return"selfcloseTag"==b||"endTag"==b&&w...
function n (line 3) | function n(a){return function(b){return a&&(u="error"),"endTag"==b?(k(),...
function o (line 3) | function o(a){return"word"==a?(u="attribute",i(o)):"equals"==a?i(p,o):"s...
function p (line 3) | function p(a){return"word"==a&&w.allowUnquoted?(u="string",i()):"string"...
function q (line 3) | function q(a){return"string"==a?i(q):h()}
function c (line 3) | function c(a,b,c){return b.tokenize=c,c(a,b)}
function d (line 3) | function d(a,b){for(var c,d=!1;null!=(c=a.next());){if(c==b&&!d)return!1...
function e (line 3) | function e(a,b,c){return K=a,L=c,b}
function f (line 3) | function f(a,b){var f=a.next();if('"'==f||"'"==f)return c(a,b,g(f));if(/...
function g (line 3) | function g(a){return function(b,c){return d(b,a)||(c.tokenize=f),e("stri...
function h (line 3) | function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;b...
function i (line 3) | function i(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.p...
function j (line 3) | function j(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0}
function k (line 3) | function k(a,b,c,d,e){var f=a.cc;for(R.state=a,R.stream=e,R.marked=null,...
function l (line 3) | function l(){for(var a=arguments.length-1;a>=0;a--)R.cc.push(arguments[a])}
function m (line 3) | function m(){return l.apply(null,arguments),!0}
function n (line 3) | function n(a){var b=R.state;if(b.context){R.marked="def";for(var c=b.loc...
function o (line 3) | function o(){R.state.context||(R.state.localVars=S),R.state.context={pre...
function p (line 3) | function p(){R.state.localVars=R.state.context.vars,R.state.context=R.st...
function q (line 3) | function q(a,b){var c=function(){var c=R.state;c.lexical=new i(c.indente...
function r (line 3) | function r(){var a=R.state;a.lexical.prev&&(")"==a.lexical.type&&(a.inde...
function s (line 3) | function s(a){return function(b){return b==a?m():";"==a?l():m(arguments....
function t (line 3) | function t(a){return"var"==a?m(q("vardef"),C,s(";"),r):"keyword a"==a?m(...
function u (line 3) | function u(a){return Q.hasOwnProperty(a)?m(w):"function"==a?m(I):"keywor...
function v (line 3) | function v(a){return a.match(/[;\}\)\],]/)?l():l(u)}
function w (line 3) | function w(a,b){if("operator"==a&&/\+\+|--/.test(b))return m(w);if("oper...
function x (line 3) | function x(a){return":"==a?m(r,t):l(w,s(";"),r)}
function y (line 3) | function y(a){if("variable"==a)return R.marked="property",m()}
function z (line 3) | function z(a){if("variable"==a&&(R.marked="property"),Q.hasOwnProperty(a...
function A (line 3) | function A(a,b){function c(d){return","==d?m(a,c):d==b?m():m(s(b))}retur...
function B (line 3) | function B(a){return"}"==a?m():l(t,B)}
function C (line 3) | function C(a,b){return"variable"==a?(n(b),m(D)):m()}
function D (line 3) | function D(a,b){return"="==b?m(u,D):","==a?m(C):void 0}
function E (line 3) | function E(a){return"var"==a?m(C,G):";"==a?l(G):"variable"==a?m(F):l(G)}
function F (line 3) | function F(a,b){return"in"==b?m(u):m(w,G)}
function G (line 3) | function G(a,b){return";"==a?m(H):"in"==b?m(u):m(u,s(";"),H)}
function H (line 3) | function H(a){")"!=a&&m(u)}
function I (line 3) | function I(a,b){return"variable"==a?(n(b),m(I)):"("==a?m(q(")"),o,A(J,")...
function J (line 3) | function J(a,b){if("variable"==a)return n(b),m()}
function a (line 3) | function a(a){return{type:a,style:"keyword"}}
function b (line 3) | function b(a,b){return g=b,a}
function c (line 3) | function c(a,c){var g=a.next();return"@"==g?(a.eatWhile(/[\w\\\-]/),b("m...
function d (line 3) | function d(a,d){for(var e,f=!1;null!=(e=a.next());){if(f&&"/"==e){d.toke...
function e (line 3) | function e(a,d){for(var e,f=0;null!=(e=a.next());){if(f>=2&&">"==e){d.to...
function f (line 3) | function f(a){return function(d,e){for(var f,g=!1;null!=(f=d.next())&&(f...
function c (line 3) | function c(a,b){var c=g.token(a,b.htmlState);return"tag"==c&&">"==a.curr...
function d (line 3) | function d(a,b,c){var d=a.current(),e=d.search(b);return e>-1&&a.backUp(...
function e (line 3) | function e(a,b){return a.match(/^<\/\s*script\s*>/i,!1)?(b.token=c,b.cur...
function f (line 3) | function f(a,b){return a.match(/^<\/\s*style\s*>/i,!1)?(b.token=c,b.loca...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/third-party/jquery-1.10.2.js
function c (line 2) | function c(a){var b=a.length,c=ka.type(a);return!ka.isWindow(a)&&(!(1!==...
function d (line 2) | function d(a){var b=za[a]={};return ka.each(a.match(ma)||[],function(a,c...
function e (line 2) | function e(a,c,d,e){if(ka.acceptData(a)){var f,g,h=ka.expando,i=a.nodeTy...
function f (line 2) | function f(a,b,c){if(ka.acceptData(a)){var d,e,f=a.nodeType,g=f?ka.cache...
function g (line 2) | function g(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(Ba,"...
function h (line 2) | function h(a){var b;for(b in a)if(("data"!==b||!ka.isEmptyObject(a[b]))&...
function i (line 2) | function i(){return!0}
function j (line 2) | function j(){return!1}
function k (line 2) | function k(){try{return Y.activeElement}catch(a){}}
function l (line 2) | function l(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}
function m (line 2) | function m(a,b,c){if(ka.isFunction(b))return ka.grep(a,function(a,d){ret...
function n (line 2) | function n(a){var b=Ua.split("|"),c=a.createDocumentFragment();if(c.crea...
function o (line 2) | function o(a,b){return ka.nodeName(a,"table")&&ka.nodeName(1===b.nodeTyp...
function p (line 2) | function p(a){return a.type=(null!==ka.find.attr(a,"type"))+"/"+a.type,a}
function q (line 2) | function q(a){var b=eb.exec(a.type);return b?a.type=b[1]:a.removeAttribu...
function r (line 2) | function r(a,b){for(var c,d=0;null!=(c=a[d]);d++)ka._data(c,"globalEval"...
function s (line 2) | function s(a,b){if(1===b.nodeType&&ka.hasData(a)){var c,d,e,f=ka._data(a...
function t (line 2) | function t(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase...
function u (line 2) | function u(a,c){var d,e,f=0,g=typeof a.getElementsByTagName!==W?a.getEle...
function v (line 2) | function v(a){bb.test(a.type)&&(a.defaultChecked=a.checked)}
function w (line 2) | function w(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b...
function x (line 2) | function x(a,b){return a=b||a,"none"===ka.css(a,"display")||!ka.contains...
function y (line 2) | function y(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style...
function z (line 2) | function z(a,b,c){var d=rb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2...
function A (line 2) | function A(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b...
function B (line 2) | function B(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=...
function C (line 2) | function C(a){var b=Y,c=ub[a];return c||(c=D(a,b),"none"!==c&&c||(jb=(jb...
function D (line 2) | function D(a,b){var c=ka(b.createElement(a)).appendTo(b.body),d=ka.css(c...
function E (line 2) | function E(a,b,c,d){var e;if(ka.isArray(b))ka.each(b,function(b,e){c||Ab...
function F (line 2) | function F(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d...
function G (line 2) | function G(a,c,d,e){function f(i){var j;return g[i]=!0,ka.each(a[i]||[],...
function H (line 2) | function H(a,c){var d,e,f=ka.ajaxSettings.flatOptions||{};for(e in c)c[e...
function I (line 2) | function I(a,c,d){for(var e,f,g,h,i=a.contents,j=a.dataTypes;"*"===j[0];...
function J (line 2) | function J(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for...
function K (line 2) | function K(){try{return new a.XMLHttpRequest}catch(b){}}
function L (line 2) | function L(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b...
function M (line 2) | function M(){return setTimeout(function(){$b=b}),$b=ka.now()}
function N (line 2) | function N(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length...
function O (line 2) | function O(a,b,c){var d,e,f=0,g=dc.length,h=ka.Deferred().always(functio...
function P (line 2) | function P(a,b){var c,d,e,f,g;for(c in a)if(d=ka.camelCase(c),e=b[d],f=a...
function Q (line 2) | function Q(a,b,c){var d,e,f,g,h,i,j=this,k={},l=a.style,m=a.nodeType&&x(...
function R (line 2) | function R(a,b,c,d,e){return new R.prototype.init(a,b,c,d,e)}
function S (line 2) | function S(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=xb[e],d[...
function T (line 2) | function T(a){return ka.isWindow(a)?a:9===a.nodeType&&(a.defaultView||a....
function c (line 2) | function c(a,b,c,d){var e,f,g,h,i,j,k,l,o,p;if((b?b.ownerDocument||b:O)!...
function d (line 2) | function d(){function a(c,d){return b.push(c+=" ")>z.cacheLength&&delete...
function e (line 2) | function e(a){return a[N]=!0,a}
function f (line 2) | function f(a){var b=G.createElement("div");try{return!!a(b)}catch(c){ret...
function g (line 2) | function g(a,b){for(var c=a.split("|"),d=a.length;d--;)z.attrHandle[c[d]...
function h (line 2) | function h(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sour...
function i (line 2) | function i(a){return function(b){var c=b.nodeName.toLowerCase();return"i...
function j (line 2) | function j(a){return function(b){var c=b.nodeName.toLowerCase();return("...
function k (line 2) | function k(a){return e(function(b){return b=+b,e(function(c,d){for(var e...
function l (line 2) | function l(){}
function m (line 2) | function m(a,b){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return b?0:k.slice(0);...
function n (line 2) | function n(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}
function o (line 2) | function o(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first...
function p (line 2) | function p(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)...
function q (line 2) | function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f...
function r (line 2) | function r(a,b,c,d,f,g){return d&&!d[N]&&(d=r(d)),f&&!f[N]&&(f=r(f,g)),e...
function s (line 2) | function s(a){for(var b,c,d,e=a.length,f=z.relative[a[0].type],g=f||z.re...
function t (line 2) | function t(a,b){var d=0,f=b.length>0,g=a.length>0,h=function(e,h,i,j,k){...
function u (line 2) | function u(a,b,d){for(var e=0,f=b.length;f>e;e++)c(a,b[e],d);return d}
function v (line 2) | function v(a,b,c,d){var e,f,g,h,i,j=m(a);if(!d&&1===j.length){if(f=j[0]=...
function d (line 4) | function d(a,c,d,e){var f,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),k=b...
FILE: _examples-integrate/vue3/public/static/UEditorPlus/third-party/webuploader/webuploader.js
function d (line 2) | function d(a){return function(){return h.apply(a,arguments)}}
function e (line 2) | function e(a,b){return function(){return a.apply(b,arguments)}}
function f (line 2) | function f(a){var b;return Object.create?Object.create(a):(b=function(){...
function b (line 2) | function b(a,b,c,d){return f.grep(a,function(a){return!(!a||b&&a.e!==b||...
function c (line 2) | function c(a,b,c){f.each((a||"").split(h),function(a,d){c(d,b)})}
function d (line 2) | function d(a,b){for(var c,d=!1,e=-1,f=a.length;++e<f;)if(c=a[e],c.cb.app...
function c (line 2) | function c(a){this.options=d.extend(!0,{},c.options,a),this._init(this.o...
function c (line 2) | function c(b){this.options=d.extend({container:document.body},b),this.ui...
function d (line 2) | function d(b,d){var f,g=a.Deferred();this.uid=a.guid("client_"),this.run...
function d (line 2) | function d(a){a=this.options=e.extend({},d.options,a),a.container=e(a.co...
function c (line 2) | function c(a){if(!a)return!1;var b=a.length,c=e.type(a);return!(1!==a.no...
function d (line 2) | function d(a){this.owner=a,this.options=a.options}
function d (line 2) | function d(a){a=this.options=e.extend({},a),a.container=e(a.container||d...
function c (line 2) | function c(a,c){var d=this;d.source=c,d.ruid=a,this.size=c.size||0,this....
function c (line 2) | function c(a,c){var f;this.name=c.name||"untitled"+d++,f=e.exec(c.name)?...
function e (line 2) | function e(a){if(a=this.options=f.extend({},e.options,a),a.container=f(a...
function d (line 2) | function d(a){this.options=e.extend({},d.options,a),b.call(this,"Image")...
function d (line 2) | function d(a,b){return b.forEach(function(b){b&&"string"!=typeof b&&!Arr...
function e (line 2) | function e(a,b){return new Promise(function(d,e){var f;return z(a).then(...
function f (line 2) | function f(a,b,d){return void 0===d&&(d=Date.now()),new Promise(function...
function g (line 2) | function g(a){return new Promise(function(b,c){var d=new L;d.onload=func...
function h (line 2) | function h(a){return new Promise(function(b,c){var d=new Image;d.onload=...
function i (line 2) | function i(){if(void 0!==i.cachedResult)return i.cachedResult;var a=F.ET...
function j (line 2) | function j(a,b){for(var c=i(),d=G[c],e=a,f=b,g=e*f,h=e>f?f/e:e/f;g>d*d;)...
function k (line 2) | function k(a,b){var c,d;try{if(c=new OffscreenCanvas(a,b),d=c.getContext...
function l (line 2) | function l(a,b){var c=j(a.width,a.height),d=c.width,e=c.height,f=k(d,e),...
function m (line 2) | function m(){return void 0!==m.cachedResult||(m.cachedResult=["iPad Simu...
function n (line 2) | function n(a,b){return void 0===b&&(b={}),new Promise(function(a,c){var ...
function o (line 2) | function o(a,b,d,e,g){return void 0===g&&(g=1),new Promise(function(h,i)...
function p (line 2) | function p(a){a.width=0,a.height=0}
function q (line 2) | function q(){return new Promise(function(a,b){var c,d,e,g,h;return void ...
function r (line 2) | function r(a){return new Promise(function(b,c){var d=new L;d.onload=func...
function s (line 2) | function s(a,b){var c,d,e=a.width,f=a.height,g=b.maxWidthOrHeight,h=a;re...
function t (line 2) | function t(a,b){var c=a.width,d=a.height,e=k(c,d),f=e[0],g=e[1];switch(b...
function u (line 2) | function u(a,b,c){return void 0===c&&(c=0),new Promise(function(d,e){fun...
function v (line 2) | function v(a,b){return new Promise(function(d,e){D||(D=function(a){var b...
function w (line 2) | function w(a,b){return new Promise(function(a,d){function f(){try{h.name...
function a (line 3) | function a(a,b,c){for(;0!=b--;)a.push(0,c)}
method exports (line 3) | get exports(){return A}
method exports (line 3) | set exports(a){A=a}
function a (line 3) | function a(a,b,c,e){var f=b*c,g=d(e),h=Math.ceil(b*g/8),j=new Uint8Array...
function b (line 3) | function b(a,b,f,g){var h=d(a),i=Math.ceil(f*h/8),k=new Uint8Array((i+1+...
function c (line 3) | function c(a,b){return j(new Uint8Array(a.buffer,2,a.length-6),b)}
function d (line 3) | function d(a){return[1,null,3,1,2,null,4][a.ctype]*a.depth}
function e (line 3) | function e(a,b,c,e,g){var h,i,j=d(b),k=Math.ceil(e*j/8);j=Math.ceil(j/8)...
function f (line 3) | function f(a,b,c){var d=a+b-c,e=d-a,f=d-b,g=d-c;return f*f>=e*e&&g*g>=e*...
function g (line 3) | function g(a,b,c){c.width=i.readUint(a,b),b+=4,c.height=i.readUint(a,b),...
function h (line 3) | function h(a,b,c,d,e,f,g,h,i){for(var j=Math.min(b,e),k=Math.min(c,f),l=...
function b (line 3) | function b(a,b,c){for(;0!=b--;)a.push(0,c)}
function a (line 3) | function a(a,b,c,d){b[c]+=a[0]*d>>4,b[c+1]+=a[1]*d>>4,b[c+2]+=a[2]*d>>4,...
function b (line 3) | function b(a){return Math.max(0,Math.min(255,a))}
function c (line 3) | function c(a,b){var c=a[0]-b[0],d=a[1]-b[1],e=a[2]-b[2],f=a[3]-b[3];retu...
function d (line 3) | function d(d,e,f,g,h,i,j){null==j&&(j=1);for(
Condensed preview — 505 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,873K chars).
[
{
"path": ".babelrc",
"chars": 39,
"preview": "{\n \"presets\": [\"@babel/preset-env\"]\n}\n"
},
{
"path": ".editorconfig",
"chars": 286,
"preview": "root = true\n\n# Unix-style newlines with a newline ending every file\n[*]\nend_of_line = lf\ninsert_final_newline = true\ncha"
},
{
"path": ".gitee/ISSUE_TEMPLATE/bug.yml",
"chars": 563,
"preview": "name: Bug 反馈\ndescription: 当你在代码中发现了一个 Bug,导致应用崩溃或抛出异常,或者有一个组件存在问题,或者某些地方看起来不对劲。\ntitle: \"[Bug]: \"\nlabels: [\"bug\"]\nbody:\n "
},
{
"path": ".gitee/ISSUE_TEMPLATE/config.yml",
"chars": 154,
"preview": "blank_issues_enabled: false\ncontact_links:\n - name: UEditorPlus 文档中心\n url: https://open.modstart.com/ueditor-plu"
},
{
"path": ".gitee/ISSUE_TEMPLATE/feature.yml",
"chars": 1098,
"preview": "name: 功能建议\ndescription: 对本项目提出一个功能建议\ntitle: \"[功能建议]: \"\nlabels: [\"enhancement\"]\nbody:\n - type: markdown\n attribut"
},
{
"path": ".gitignore",
"chars": 2246,
"preview": "###############\n# folder #\n###############\n.idea\nlog\njsp/upload\nphp/upload\nnet/upload\nasp/upload\nnode/upload\nref/\n_"
},
{
"path": ".nvmrc",
"chars": 3,
"preview": "14\n"
},
{
"path": "Gruntfile.js",
"chars": 7196,
"preview": "\"use strict\";\n\nmodule.exports = function (grunt) {\n var fs = require(\"fs\"),\n Util = {\n jsBasePath: "
},
{
"path": "LICENSE",
"chars": 10252,
"preview": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AN"
},
{
"path": "Makefile",
"chars": 318,
"preview": "prepare:\n\tnpm install\n\nbuild:\n\trm -rfv ./dist/; \\\n\trm -rfv ./dist-min/; \\\n\tgrunt default --force; \\\n\tnode ./scripts/post"
},
{
"path": "README.md",
"chars": 6578,
"preview": "# UEditor Plus\n\n基于 UEditor 二次开发的富文本编辑器,让UEditor重新焕发活力\n\n;\n\n$config = [\n // 上传图片配置项\n \"imageActionName\" => \"image\",\n \"ima"
},
{
"path": "_examples/addCustomizeButton.js",
"chars": 1989,
"preview": "UE.registerUI('button', function (editor, uiName) {\n //注册按钮执行时的command命令,使用命令默认就会带有回退操作\n editor.registerCommand(ui"
},
{
"path": "_examples/addCustomizeCombox.js",
"chars": 2177,
"preview": "UE.registerUI('combox', function (editor, uiName) {\n //注册按钮执行时的command命令,用uiName作为command名字,使用命令默认就会带有回退操作\n editor"
},
{
"path": "_examples/addCustomizeDialog.js",
"chars": 1375,
"preview": "UE.registerUI('dialog', function (editor, uiName) {\n\n //创建dialog\n var dialog = new UE.ui.Dialog({\n //指定弹出层中"
},
{
"path": "_examples/bugTest.html",
"chars": 1055,
"preview": "<!DOCTYPE html>\n<head>\n <meta charset=\"UTF-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n <meta na"
},
{
"path": "_examples/completeDemo.html",
"chars": 6917,
"preview": "<!doctype html>\n<html>\n<head>\n <title>UEditorPlus 完整演示</title>\n <meta name=\"viewport\" content=\"width=device-width,"
},
{
"path": "_examples/customPluginDemo.html",
"chars": 2069,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <title></titl"
},
{
"path": "_examples/customToolbarDemo.html",
"chars": 5193,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <title></title"
},
{
"path": "_examples/customizeDialogPage.html",
"chars": 1091,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples/customizeToolbarUIDemo.html",
"chars": 1739,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <title>完整demo</title>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=u"
},
{
"path": "_examples/editor_api.js",
"chars": 4451,
"preview": "/**\n * 开发版本的文件导入\n */\n(function () {\n var paths = [\n 'editor.js',\n 'core/browser.js',\n "
},
{
"path": "_examples/example.js",
"chars": 198,
"preview": "if('open.modstart.com'===window.location.host){\n window.UEDITOR_HOME_URL = 'https://open-cdn.modstart.com/ueditor-plu"
},
{
"path": "_examples/filterRuleDemo.html",
"chars": 5976,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <title>过滤规则定制化</title>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset="
},
{
"path": "_examples/highlightDemo.html",
"chars": 1569,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples/index.html",
"chars": 4305,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <title>UEditor Plus演示</title>\n <script src=\"./"
},
{
"path": "_examples/jqueryCompleteDemo.html",
"chars": 1973,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples/jqueryValidation.html",
"chars": 2561,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples/multiDemo.html",
"chars": 1698,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <title></title"
},
{
"path": "_examples/multiEditorWithOneInstance.html",
"chars": 2451,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <title></title"
},
{
"path": "_examples/renderInTable.html",
"chars": 1284,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n <script src=\""
},
{
"path": "_examples/resetDemo.html",
"chars": 2044,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=8\">\n <meta http-equiv=\"Content-Type\""
},
{
"path": "_examples/sectionDemo.html",
"chars": 9778,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <title>目录大纲demo</title>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset"
},
{
"path": "_examples/setWidthHeightDemo.html",
"chars": 1690,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <title></titl"
},
{
"path": "_examples/simpleDemo.html",
"chars": 1366,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <title></title"
},
{
"path": "_examples/sortableDemo.html",
"chars": 5513,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples/style.css",
"chars": 2951,
"preview": "body, html, * {\n padding: 0;\n margin: 0;\n}\n\nbody {\n -ms-overflow-style: auto;\n -webkit-tap-highlight-color: "
},
{
"path": "_examples/submitFormDemo.html",
"chars": 1689,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <script src=\"./example.js\"></script>\n <meta http-equiv=\"Content-Type\" content=\"text"
},
{
"path": "_examples/textareaDemo.html",
"chars": 1227,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <script src=\"./example.js\"></script>\n <meta http-equiv=\"Content-Type\" content=\"text"
},
{
"path": "_examples/uparsedemo.html",
"chars": 7481,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/.gitignore",
"chars": 310,
"preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pn"
},
{
"path": "_examples-integrate/reactx/README.md",
"chars": 3359,
"preview": "# Getting Started with Create React App\n\nThis project was bootstrapped with [Create React App](https://github.com/facebo"
},
{
"path": "_examples-integrate/reactx/package.json",
"chars": 845,
"preview": "{\n \"name\": \"reactx\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"dependencies\": {\n \"@testing-library/jest-dom\": \"^5."
},
{
"path": "_examples-integrate/reactx/public/index.html",
"chars": 1721,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"%PUBLIC_URL%/favicon.i"
},
{
"path": "_examples-integrate/reactx/public/manifest.json",
"chars": 492,
"preview": "{\n \"short_name\": \"React App\",\n \"name\": \"Create React App Sample\",\n \"icons\": [\n {\n \"src\": \"favicon.ico\",\n "
},
{
"path": "_examples-integrate/reactx/public/robots.txt",
"chars": 67,
"preview": "# https://www.robotstxt.org/robotstxt.html\nUser-agent: *\nDisallow:\n"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/anchor/anchor.html",
"chars": 1701,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/attachment/attachment.css",
"chars": 11371,
"preview": "/*! UEditorPlus v2.0.0*/\n\n@charset \"utf-8\";.wrapper{zoom:1;width:630px;*width:626px;height:380px;margin:0 auto;padding:1"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/attachment/attachment.html",
"chars": 2208,
"preview": "<!doctype html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <title>ueditor图片对话框</title>\n <script type=\"text/javascri"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/attachment/attachment.js",
"chars": 12125,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function initTabs(){for(var a=$G(\"tabhead\").children,b=0;b<a.length;b++)domUtils.on"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/audio/audio.css",
"chars": 12381,
"preview": "/*! UEditorPlus v2.0.0*/\n\n@charset \"utf-8\";.wrapper{width:570px;_width:575px;margin:10px auto;zoom:1;position:relative}."
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/audio/audio.html",
"chars": 3634,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/audio/audio.js",
"chars": 10464,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function a(){for(var a=$G(\"tabHeads\").children,b=0;b<a.length;b++)domUtils.on(a[b],"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/background/background.css",
"chars": 1982,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.wrapper{width:424px;margin:10px auto;zoom:1;position:relative}.tabbody{height:225px}.tabbody "
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/background/background.html",
"chars": 3088,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <script type=\""
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/background/background.js",
"chars": 6901,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function initTabs(){for(var a=$G(\"tabHeads\").children,b=0;b<a.length;b++)domUtils.o"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/contentimport/contentimport.html",
"chars": 4714,
"preview": "<!DOCTYPE html>\n<head>\n <title></title>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/contentimport/contentimport.js",
"chars": 1744,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction processWord(a){$(\".file-tip\").html(\"正在转换Word文件,请稍后...\"),$(\".file-result\").html(\"\").hid"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/emotion/emotion.css",
"chars": 1691,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.jd img{background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top;cursor:"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/emotion/emotion.html",
"chars": 4514,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" >\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/emotion/emotion.js",
"chars": 3259,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction initImgName(){for(var a in emotion.SmilmgName){var b=emotion.SmilmgName[a],c=emotion.S"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/formula/formula.html",
"chars": 2577,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n "
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/formula/formula.js",
"chars": 2348,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction preg_quote(a,b){return(a+\"\").replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\"+(b||"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/help/help.css",
"chars": 387,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.wrapper{width:370px;margin:10px auto;zoom:1}.tabbody{height:360px}.tabbody .panel{width:100%;"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/help/help.html",
"chars": 2865,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/help/help.js",
"chars": 585,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].className=\"\";c.className=\"focu"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/image/image.css",
"chars": 11024,
"preview": "/*! UEditorPlus v2.0.0*/\n\n@charset \"utf-8\";.wrapper{zoom:1;width:630px;*width:626px;height:380px;margin:0 auto;padding:1"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/image/image.html",
"chars": 5449,
"preview": "<!doctype html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <title>ueditor图片对话框</title>\n <script type=\"text/javascri"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/image/image.js",
"chars": 16295,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function initTabs(){for(var a=$G(\"tabhead\").children,b=0;b<a.length;b++)domUtils.on"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/insertframe/insertframe.html",
"chars": 4891,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n <title></titl"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/internal.js",
"chars": 1202,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){var a=window.parent;dialog=a.$EDITORUI[window.frameElement.id.replace(/_iframe$/,\"\""
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/link/link.html",
"chars": 4871,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/preview/preview.html",
"chars": 1105,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/scrawl/scrawl.css",
"chars": 3533,
"preview": "/*! UEditorPlus v2.0.0*/\n\nbody{margin:0}table{width:100%}table td{padding:2px 4px;vertical-align:middle}a{text-decoratio"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/scrawl/scrawl.html",
"chars": 3917,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title></title>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\""
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/scrawl/scrawl.js",
"chars": 12481,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction ue_callback(a,b){function c(a,b,c,d){var e,f=0,g=0,h=a.width||c,i=a.height||d;(h>b||i>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/searchreplace/searchreplace.html",
"chars": 4703,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/searchreplace/searchreplace.js",
"chars": 2438,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].className=\"\";c.className=\"focu"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/spechars/spechars.html",
"chars": 1051,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/spechars/spechars.js",
"chars": 2714,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction toArray(a){return a.split(\",\")}var charsContent=[{name:\"tsfh\",title:lang.tsfh,content:"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/table/edittable.css",
"chars": 897,
"preview": "/*! UEditorPlus v2.0.0*/\n\nbody{overflow:hidden;width:540px}.wrapper{margin:10px auto 0;font-size:12px;overflow:hidden;wi"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/table/edittable.html",
"chars": 2541,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title></title>\n <script type=\"text/javascript\" src=\"../internal.js?04dbe7f0\"></scr"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/table/edittable.js",
"chars": 4507,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){var a,b=$G(\"J_title\"),c=$G(\"J_titleCol\"),d=$G(\"J_caption\"),e=$G(\"J_sorttable\"),f=$G"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/table/edittd.html",
"chars": 1554,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title></title>\n <script type=\"text/javascript\" src=\"../internal.js?04dbe7f0\"></scr"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/table/edittip.html",
"chars": 861,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title>表格删除提示</title>\n <script type=\"text/javascript\" src=\"../internal.js?04dbe7f0\""
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/template/config.js",
"chars": 9575,
"preview": "/*! UEditorPlus v2.0.0*/\nvar templates=[{pre:\"pre0.png\",title:lang.blank,preHtml:'<p class=\"ue_t\"> 欢迎使用UEditor!</p>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/template/template.css",
"chars": 981,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.wrap{padding:5px;font-size:14px}.left{width:425px;float:left}.right{width:160px;border:1px so"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/template/template.html",
"chars": 895,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <title></title>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/template/template.js",
"chars": 724,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){var a,b=editor,c=$G(\"preview\"),d=$G(\"preitem\"),e=templates,f=function(){for(var a,b"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/video/video.css",
"chars": 12381,
"preview": "/*! UEditorPlus v2.0.0*/\n\n@charset \"utf-8\";.wrapper{width:570px;_width:575px;margin:10px auto;zoom:1;position:relative}."
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/video/video.html",
"chars": 5069,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/video/video.js",
"chars": 11385,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function a(){for(var a=$G(\"tabHeads\").children,b=0;b<a.length;b++)domUtils.on(a[b],"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/wordimage/wordimage.html",
"chars": 7016,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/dialogs/wordimage/wordimage.js",
"chars": 1722,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction addUploadButtonListener(){g(\"saveFile\").addEventListener(\"change\",function(){$(\".image"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/index.html",
"chars": 5938,
"preview": "<!doctype html>\n<html>\n<head>\n <title>UEditorPlus 完整演示</title>\n <meta name=\"viewport\" content=\"width=device-width,"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/lang/en/en.js",
"chars": 19074,
"preview": "/*! UEditorPlus v2.0.0*/\nUE.I18N.en={labelMap:{anchor:\"Anchor\",undo:\"Undo\",redo:\"Redo\",bold:\"Bold\",indent:\"Indent\",itali"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/lang/zh-cn/zh-cn.js",
"chars": 15146,
"preview": "/*! UEditorPlus v2.0.0*/\nUE.I18N[\"zh-cn\"]={labelMap:{anchor:\"锚点\",undo:\"撤销\",redo:\"重做\",bold:\"加粗\",indent:\"首行缩进\",italic:\"斜体\""
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/plugins/demo/demo.js",
"chars": 25,
"preview": "/*! UEditorPlus v2.0.0*/\n"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/themes/default/css/ueditor.css",
"chars": 106200,
"preview": "/*! UEditorPlus v2.0.0*/\n\n:root{--edui-color-active-bg:rgba(200,200,200,.3);--edui-color-border:#EEE;--edui-bg-toolbar:#"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/themes/default/dialog.css",
"chars": 234,
"preview": "/*! UEditorPlus v2.0.0*/\n\ninput[type=text]{height:30px;border:1px solid #EEE;border-radius:3px;padding:0 5px;line-height"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/themes/default/dialogbase.css",
"chars": 1224,
"preview": "/*! UEditorPlus v2.0.0*/\n\nhtml,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addr"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/themes/iframe.css",
"chars": 760,
"preview": "/*! UEditorPlus v2.0.0*/\n\nbody{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'No"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/SyntaxHighlighter/shCore.js",
"chars": 79704,
"preview": "/*! UEditorPlus v2.0.0*/\nvar XRegExp;if(XRegExp)throw Error(\"can't load XRegExp twice in the same frame\");if(function(a)"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/SyntaxHighlighter/shCoreDefault.css",
"chars": 7084,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.syntaxhighlighter a,.syntaxhighlighter div,.syntaxhighlighter code,.syntaxhighlighter,.syntax"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/clipboard/clipboard.js",
"chars": 10167,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(a){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=a();else if"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/codemirror/codemirror.css",
"chars": 2376,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.CodeMirror{line-height:1.5;font-family:monospace}.CodeMirror-scroll{overflow:auto;height:300p"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/codemirror/codemirror.js",
"chars": 62884,
"preview": "/*! UEditorPlus v2.0.0*/\nvar CodeMirror=function(){function a(f,j){function r(a){return a>=0&&a<Yb.size}function u(a){re"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/jquery-1.10.2.js",
"chars": 93628,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(a,b){function c(a){var b=a.length,c=ka.type(a);return!ka.isWindow(a)&&(!(1!==a.nodeTy"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/webuploader/webuploader.css",
"chars": 1361,
"preview": "/*! UEditorPlus v2.0.0*/\n\n:root{--webuploader-color-primary:var(--color-primary,#00B7EE);--webuploader-color-content-bg:"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/webuploader/webuploader.js",
"chars": 121264,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(a,b){var c,d={},e=function(a,b){var c,d,e;if(\"string\"==typeof a)return h(a);for(c=[],"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/third-party/zeroclipboard/ZeroClipboard.js",
"chars": 43216,
"preview": "/*!\n* ZeroClipboard\n* The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Ad"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/ueditor.all.js",
"chars": 583501,
"preview": "(function(){UEDITOR_CONFIG=window.UEDITOR_CONFIG||{};var baidu=window.baidu||{};window.baidu=baidu;window.UE=baidu.edito"
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/ueditor.config.js",
"chars": 3368,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function a(a,d){return c(a||self.document.URL||self.location.href,d||b())}function "
},
{
"path": "_examples-integrate/reactx/public/static/UEditorPlus/ueditor.parse.js",
"chars": 11677,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){!function(){UE=window.UE||{};var a=!!window.ActiveXObject,b={removeLastbs:function("
},
{
"path": "_examples-integrate/reactx/src/App.css",
"chars": 564,
"preview": ".App {\n text-align: center;\n}\n\n.App-logo {\n height: 40vmin;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion:"
},
{
"path": "_examples-integrate/reactx/src/App.js",
"chars": 1248,
"preview": "import logo from './logo.svg';\nimport './App.css';\nimport RcUeditor from 'react-ueditor-wrap';\n\nfunction App() {\n con"
},
{
"path": "_examples-integrate/reactx/src/App.test.js",
"chars": 246,
"preview": "import { render, screen } from '@testing-library/react';\nimport App from './App';\n\ntest('renders learn react link', () ="
},
{
"path": "_examples-integrate/reactx/src/index.css",
"chars": 366,
"preview": "body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Can"
},
{
"path": "_examples-integrate/reactx/src/index.js",
"chars": 535,
"preview": "import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimpor"
},
{
"path": "_examples-integrate/reactx/src/reportWebVitals.js",
"chars": 362,
"preview": "const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals'"
},
{
"path": "_examples-integrate/reactx/src/setupTests.js",
"chars": 241,
"preview": "// jest-dom adds custom jest matchers for asserting on DOM nodes.\n// allows you to do things like:\n// expect(element).to"
},
{
"path": "_examples-integrate/vue2/.gitignore",
"chars": 231,
"preview": ".DS_Store\nnode_modules\n/dist\n\n\n# local env files\n.env.local\n.env.*.local\n\n# Log files\nnpm-debug.log*\nyarn-debug.log*\nyar"
},
{
"path": "_examples-integrate/vue2/README.md",
"chars": 316,
"preview": "# vue2\n\n## Project setup\n```\nnpm install\n```\n\n### Compiles and hot-reloads for development\n```\nnpm run serve\n```\n\n### Co"
},
{
"path": "_examples-integrate/vue2/babel.config.js",
"chars": 73,
"preview": "module.exports = {\n presets: [\n '@vue/cli-plugin-babel/preset'\n ]\n}\n"
},
{
"path": "_examples-integrate/vue2/jsconfig.json",
"chars": 279,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"module\": \"esnext\",\n \"baseUrl\": \"./\",\n \"moduleResolution\": \"node"
},
{
"path": "_examples-integrate/vue2/package.json",
"chars": 932,
"preview": "{\n \"name\": \"vue2\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"scripts\": {\n \"serve\": \"vue-cli-service serve\",\n \"b"
},
{
"path": "_examples-integrate/vue2/public/index.html",
"chars": 611,
"preview": "<!DOCTYPE html>\n<html lang=\"\">\n <head>\n <meta charset=\"utf-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=ed"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/anchor/anchor.html",
"chars": 1701,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/attachment/attachment.css",
"chars": 11371,
"preview": "/*! UEditorPlus v2.0.0*/\n\n@charset \"utf-8\";.wrapper{zoom:1;width:630px;*width:626px;height:380px;margin:0 auto;padding:1"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/attachment/attachment.html",
"chars": 2208,
"preview": "<!doctype html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <title>ueditor图片对话框</title>\n <script type=\"text/javascri"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/attachment/attachment.js",
"chars": 12125,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function initTabs(){for(var a=$G(\"tabhead\").children,b=0;b<a.length;b++)domUtils.on"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/audio/audio.css",
"chars": 12381,
"preview": "/*! UEditorPlus v2.0.0*/\n\n@charset \"utf-8\";.wrapper{width:570px;_width:575px;margin:10px auto;zoom:1;position:relative}."
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/audio/audio.html",
"chars": 3634,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/audio/audio.js",
"chars": 10464,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function a(){for(var a=$G(\"tabHeads\").children,b=0;b<a.length;b++)domUtils.on(a[b],"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/background/background.css",
"chars": 1982,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.wrapper{width:424px;margin:10px auto;zoom:1;position:relative}.tabbody{height:225px}.tabbody "
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/background/background.html",
"chars": 3088,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <script type=\""
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/background/background.js",
"chars": 6901,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function initTabs(){for(var a=$G(\"tabHeads\").children,b=0;b<a.length;b++)domUtils.o"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/contentimport/contentimport.html",
"chars": 4714,
"preview": "<!DOCTYPE html>\n<head>\n <title></title>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n <"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/contentimport/contentimport.js",
"chars": 1744,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction processWord(a){$(\".file-tip\").html(\"正在转换Word文件,请稍后...\"),$(\".file-result\").html(\"\").hid"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/emotion/emotion.css",
"chars": 1691,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.jd img{background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top;cursor:"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/emotion/emotion.html",
"chars": 4514,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" >\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/emotion/emotion.js",
"chars": 3259,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction initImgName(){for(var a in emotion.SmilmgName){var b=emotion.SmilmgName[a],c=emotion.S"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/formula/formula.html",
"chars": 2577,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n "
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/formula/formula.js",
"chars": 2348,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction preg_quote(a,b){return(a+\"\").replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\"+(b||"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/help/help.css",
"chars": 387,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.wrapper{width:370px;margin:10px auto;zoom:1}.tabbody{height:360px}.tabbody .panel{width:100%;"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/help/help.html",
"chars": 2865,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/help/help.js",
"chars": 585,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].className=\"\";c.className=\"focu"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/image/image.css",
"chars": 11024,
"preview": "/*! UEditorPlus v2.0.0*/\n\n@charset \"utf-8\";.wrapper{zoom:1;width:630px;*width:626px;height:380px;margin:0 auto;padding:1"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/image/image.html",
"chars": 5449,
"preview": "<!doctype html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <title>ueditor图片对话框</title>\n <script type=\"text/javascri"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/image/image.js",
"chars": 16295,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function initTabs(){for(var a=$G(\"tabhead\").children,b=0;b<a.length;b++)domUtils.on"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/insertframe/insertframe.html",
"chars": 4891,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n <title></titl"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/internal.js",
"chars": 1202,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){var a=window.parent;dialog=a.$EDITORUI[window.frameElement.id.replace(/_iframe$/,\"\""
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/link/link.html",
"chars": 4871,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/preview/preview.html",
"chars": 1105,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/scrawl/scrawl.css",
"chars": 3533,
"preview": "/*! UEditorPlus v2.0.0*/\n\nbody{margin:0}table{width:100%}table td{padding:2px 4px;vertical-align:middle}a{text-decoratio"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/scrawl/scrawl.html",
"chars": 3917,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title></title>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\""
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/scrawl/scrawl.js",
"chars": 12481,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction ue_callback(a,b){function c(a,b,c,d){var e,f=0,g=0,h=a.width||c,i=a.height||d;(h>b||i>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/searchreplace/searchreplace.html",
"chars": 4703,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/searchreplace/searchreplace.js",
"chars": 2438,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].className=\"\";c.className=\"focu"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/spechars/spechars.html",
"chars": 1051,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/spechars/spechars.js",
"chars": 2714,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction toArray(a){return a.split(\",\")}var charsContent=[{name:\"tsfh\",title:lang.tsfh,content:"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/table/edittable.css",
"chars": 897,
"preview": "/*! UEditorPlus v2.0.0*/\n\nbody{overflow:hidden;width:540px}.wrapper{margin:10px auto 0;font-size:12px;overflow:hidden;wi"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/table/edittable.html",
"chars": 2541,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title></title>\n <script type=\"text/javascript\" src=\"../internal.js?04dbe7f0\"></scr"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/table/edittable.js",
"chars": 4507,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){var a,b=$G(\"J_title\"),c=$G(\"J_titleCol\"),d=$G(\"J_caption\"),e=$G(\"J_sorttable\"),f=$G"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/table/edittd.html",
"chars": 1554,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title></title>\n <script type=\"text/javascript\" src=\"../internal.js?04dbe7f0\"></scr"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/table/edittip.html",
"chars": 861,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title>表格删除提示</title>\n <script type=\"text/javascript\" src=\"../internal.js?04dbe7f0\""
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/template/config.js",
"chars": 9575,
"preview": "/*! UEditorPlus v2.0.0*/\nvar templates=[{pre:\"pre0.png\",title:lang.blank,preHtml:'<p class=\"ue_t\"> 欢迎使用UEditor!</p>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/template/template.css",
"chars": 981,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.wrap{padding:5px;font-size:14px}.left{width:425px;float:left}.right{width:160px;border:1px so"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/template/template.html",
"chars": 895,
"preview": "<!DOCTYPE HTML>\n<html>\n<head>\n <title></title>\n <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/template/template.js",
"chars": 724,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){var a,b=editor,c=$G(\"preview\"),d=$G(\"preitem\"),e=templates,f=function(){for(var a,b"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/video/video.css",
"chars": 12381,
"preview": "/*! UEditorPlus v2.0.0*/\n\n@charset \"utf-8\";.wrapper{width:570px;_width:575px;margin:10px auto;zoom:1;position:relative}."
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/video/video.html",
"chars": 5069,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/video/video.js",
"chars": 11385,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function a(){for(var a=$G(\"tabHeads\").children,b=0;b<a.length;b++)domUtils.on(a[b],"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/wordimage/wordimage.html",
"chars": 7016,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/dialogs/wordimage/wordimage.js",
"chars": 1722,
"preview": "/*! UEditorPlus v2.0.0*/\nfunction addUploadButtonListener(){g(\"saveFile\").addEventListener(\"change\",function(){$(\".image"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/index.html",
"chars": 5938,
"preview": "<!doctype html>\n<html>\n<head>\n <title>UEditorPlus 完整演示</title>\n <meta name=\"viewport\" content=\"width=device-width,"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/lang/en/en.js",
"chars": 19074,
"preview": "/*! UEditorPlus v2.0.0*/\nUE.I18N.en={labelMap:{anchor:\"Anchor\",undo:\"Undo\",redo:\"Redo\",bold:\"Bold\",indent:\"Indent\",itali"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/lang/zh-cn/zh-cn.js",
"chars": 15146,
"preview": "/*! UEditorPlus v2.0.0*/\nUE.I18N[\"zh-cn\"]={labelMap:{anchor:\"锚点\",undo:\"撤销\",redo:\"重做\",bold:\"加粗\",indent:\"首行缩进\",italic:\"斜体\""
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/plugins/demo/demo.js",
"chars": 25,
"preview": "/*! UEditorPlus v2.0.0*/\n"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/themes/default/css/ueditor.css",
"chars": 106200,
"preview": "/*! UEditorPlus v2.0.0*/\n\n:root{--edui-color-active-bg:rgba(200,200,200,.3);--edui-color-border:#EEE;--edui-bg-toolbar:#"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/themes/default/dialog.css",
"chars": 234,
"preview": "/*! UEditorPlus v2.0.0*/\n\ninput[type=text]{height:30px;border:1px solid #EEE;border-radius:3px;padding:0 5px;line-height"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/themes/default/dialogbase.css",
"chars": 1224,
"preview": "/*! UEditorPlus v2.0.0*/\n\nhtml,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addr"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/themes/iframe.css",
"chars": 760,
"preview": "/*! UEditorPlus v2.0.0*/\n\nbody{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'No"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/SyntaxHighlighter/shCore.js",
"chars": 79704,
"preview": "/*! UEditorPlus v2.0.0*/\nvar XRegExp;if(XRegExp)throw Error(\"can't load XRegExp twice in the same frame\");if(function(a)"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/SyntaxHighlighter/shCoreDefault.css",
"chars": 7084,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.syntaxhighlighter a,.syntaxhighlighter div,.syntaxhighlighter code,.syntaxhighlighter,.syntax"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/clipboard/clipboard.js",
"chars": 10167,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(a){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=a();else if"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/codemirror/codemirror.css",
"chars": 2376,
"preview": "/*! UEditorPlus v2.0.0*/\n\n.CodeMirror{line-height:1.5;font-family:monospace}.CodeMirror-scroll{overflow:auto;height:300p"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/codemirror/codemirror.js",
"chars": 62884,
"preview": "/*! UEditorPlus v2.0.0*/\nvar CodeMirror=function(){function a(f,j){function r(a){return a>=0&&a<Yb.size}function u(a){re"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/jquery-1.10.2.js",
"chars": 93628,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(a,b){function c(a){var b=a.length,c=ka.type(a);return!ka.isWindow(a)&&(!(1!==a.nodeTy"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/webuploader/webuploader.css",
"chars": 1361,
"preview": "/*! UEditorPlus v2.0.0*/\n\n:root{--webuploader-color-primary:var(--color-primary,#00B7EE);--webuploader-color-content-bg:"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/webuploader/webuploader.js",
"chars": 121264,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(a,b){var c,d={},e=function(a,b){var c,d,e;if(\"string\"==typeof a)return h(a);for(c=[],"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/third-party/zeroclipboard/ZeroClipboard.js",
"chars": 43216,
"preview": "/*!\n* ZeroClipboard\n* The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Ad"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/ueditor.all.js",
"chars": 583501,
"preview": "(function(){UEDITOR_CONFIG=window.UEDITOR_CONFIG||{};var baidu=window.baidu||{};window.baidu=baidu;window.UE=baidu.edito"
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/ueditor.config.js",
"chars": 3368,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){function a(a,d){return c(a||self.document.URL||self.location.href,d||b())}function "
},
{
"path": "_examples-integrate/vue2/public/static/UEditorPlus/ueditor.parse.js",
"chars": 11677,
"preview": "/*! UEditorPlus v2.0.0*/\n!function(){!function(){UE=window.UE||{};var a=!!window.ActiveXObject,b={removeLastbs:function("
},
{
"path": "_examples-integrate/vue2/src/App.vue",
"chars": 1357,
"preview": "<template>\n <div id=\"app\">\n <img alt=\"Vue logo\" src=\"./assets/logo.png\">\n <div style=\"max-width:800px;m"
},
{
"path": "_examples-integrate/vue2/src/main.js",
"chars": 136,
"preview": "import Vue from 'vue'\nimport App from './App.vue'\n\nVue.config.productionTip = false\n\nnew Vue({\n render: h => h(App),\n})"
},
{
"path": "_examples-integrate/vue2/vue.config.js",
"chars": 118,
"preview": "const { defineConfig } = require('@vue/cli-service')\nmodule.exports = defineConfig({\n transpileDependencies: true\n})\n"
},
{
"path": "_examples-integrate/vue3/.gitignore",
"chars": 231,
"preview": ".DS_Store\nnode_modules\n/dist\n\n\n# local env files\n.env.local\n.env.*.local\n\n# Log files\nnpm-debug.log*\nyarn-debug.log*\nyar"
},
{
"path": "_examples-integrate/vue3/README.md",
"chars": 316,
"preview": "# vue3\n\n## Project setup\n```\nnpm install\n```\n\n### Compiles and hot-reloads for development\n```\nnpm run serve\n```\n\n### Co"
}
]
// ... and 305 more files (download for full content)
About this extraction
This page contains the full source code of the modstart-lib/ueditor-plus GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 505 files (7.1 MB), approximately 1.9M tokens, and a symbol index with 3367 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.