{"version":3,"sources":["webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_is-object.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/bm.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/nb.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_property-desc.js","webpack:///./node_modules/._wangeditor@2.1.23@wangeditor/dist/js/wangEditor.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ss.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_task.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/lv.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_redefine-all.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/en-au.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_meta.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_is-array.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/fn/object/assign.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_to-object.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_species-constructor.js","webpack:///./node_modules/._vue@2.5.16@vue/dist/vue.esm.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ja.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/en-il.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/sr-cyrl.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-create.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/fi.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_string-at.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/gl.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/vi.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/my.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/si.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/bs.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/es.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_export.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/hu.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/mi.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ta.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_for-of.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_an-instance.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/fn/symbol/index.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/pl.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_iter-step.js","webpack:///./node_modules/._babel-runtime@6.26.0@babel-runtime/helpers/extends.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_iter-call.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/tlh.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_classof.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/me.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/sr.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ug-cn.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ar-kw.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/uz.js","webpack:///./node_modules/._moment@2.22.2@moment/moment.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/mt.js","webpack:///./node_modules/._vue-loader@13.7.2@vue-loader/lib/component-normalizer.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_to-length.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ar-sa.js","webpack:///./node_modules/._process@0.11.10@process/browser.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/cs.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/fr-ch.js","webpack:///./node_modules/._vue-i18n@7.8.1@vue-i18n/dist/vue-i18n.esm.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/tg.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_fails.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ar-ly.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-gops.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/en-nz.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/de.js","webpack:///./node_modules/._babel-runtime@6.26.0@babel-runtime/core-js/promise.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es6.promise.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/bo.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/gom-latn.js","webpack:///./node_modules/._jquery@3.3.1@jquery/dist/jquery.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/bg.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/zh-tw.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/az.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/br.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/et.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/tzl.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/en-gb.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/be.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/tr.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/he.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ar.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_promise-resolve.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_iterators.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/en-ca.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_wks-ext.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/mn.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_wks-define.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/lt.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/gd.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/pt-br.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_to-iobject.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_iobject.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_array-includes.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/sv.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_iter-define.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/fn/object/define-property.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/zh-hk.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_iter-create.js","webpack:///./node_modules/._babel-runtime@6.26.0@babel-runtime/core-js/symbol.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/fr.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ky.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-dp.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/gu.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_iter-detect.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_core.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_uid.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ur.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/nn.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ml.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/km.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/se.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ms.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/af.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/fo.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ms-my.js","webpack:///./node_modules/._iview@2.14.3@iview/dist/locale/en-US.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_library.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/tzm-latn.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/es-us.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-keys.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/mk.js","webpack:///./node_modules/._util@0.10.4@util/util.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_descriptors.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_enum-keys.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/cv.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/de-at.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/uz-latn.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_microtask.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/tzm.js","webpack:///./node_modules/._vee-validate@2.0.9@vee-validate/dist/vee-validate.esm.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/pa-in.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/it.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_has.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/nl.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/en-ie.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ar-ma.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_an-object.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/fy.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/sq.js","webpack:///./node_modules/._vue-router@3.0.1@vue-router/dist/vue-router.esm.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ne.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_set-species.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/sk.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/yo.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/x-pseudo.js","webpack:///./node_modules/._vuex@3.0.1@vuex/dist/vuex.esm.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/el.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ru.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_shared-key.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/dv.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/pt.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_to-primitive.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ko.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-gpo.js","webpack:///./node_modules/._babel-runtime@6.26.0@babel-runtime/helpers/defineProperty.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_a-function.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-gopd.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es7.promise.try.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/eo.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/sd.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_redefine.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/es-do.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/fa.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-pie.js","webpack:///./node_modules/._util@0.10.4@util/support/isBufferBrowser.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/mr.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/hr.js","webpack:///./node_modules/._iview@2.14.3@iview/dist/iview.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/fn/promise.js","webpack:///./node_modules/._babel-runtime@6.26.0@babel-runtime/core-js/object/assign.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/nl-be.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/hy-am.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_global.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/de-ch.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ca.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_perform.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_ctx.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/hi.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/th.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ka.js","webpack:///./node_modules/._babel-runtime@6.26.0@babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/is.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/kk.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/jv.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_hide.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_shared.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/sw.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ro.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_defined.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/tet.js","webpack:///./node_modules/._jquery@2.2.4@jquery/dist/jquery.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/tl-ph.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-assign.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/bn.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/te.js","webpack:///./node_modules/._babel-runtime@6.26.0@babel-runtime/helpers/typeof.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-dps.js","webpack:///./node_modules/._babel-runtime@6.26.0@babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/lb.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ar-tn.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/kn.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_to-integer.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_user-agent.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/sl.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_wks.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-gopn.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/ar-dz.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/fr-ca.js","webpack:///./node_modules/._inherits@2.0.3@inherits/inherits_browser.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/da.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_invoke.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/lo.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/eu.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/es6.symbol.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/cy.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_html.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/zh-cn.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_cof.js","webpack:///./node_modules/._core-js@2.5.7@core-js/library/modules/_dom-create.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/id.js","webpack:///./node_modules/._moment@2.22.2@moment/locale/uk.js"],"names":["module","exports","it","moment","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","week","dow","doy","factory","__webpack_require__","$export","core","global","speciesConstructor","promiseResolve","P","R","finally","onFinally","C","this","Promise","isFunction","then","x","e","monthsParseExact","weekdaysParseExact","dayOfMonthOrdinalParse","ordinal","bitmap","value","enumerable","configurable","writable","$","fn","jquery","_e","E","window","wangEditor","alert","elem","$elem","length","nodeName","valueNodeName","toLowerCase","$valueContainer","$prev","prev","$parent","parent","init","prototype","$body","$document","document","$window","userAgent","navigator","getComputedStyle","w3cRange","createRange","hostname","location","isOnWebsite","websiteHost","indexOf","docsite","plugin","_plugins","push","initDefaultConfig","addEditorContainer","addTxt","addMenuContainer","menus","commandHooks","ready","readyFns","readyHeadler","fns","shift","call","updateValue","$txt","txt","html","val","getInitValue","currentValue","updateMenuStyle","each","k","menu","updateSelected","enableMenusExcept","menuIds","_disabled","disabled","disableMenusExcept","hideDropPanelAndModal","dropPanel","dropList","modal","hide","ieRange","emptyFn","currentRange","cr","_rangeData","collapseRange","range","opt","collapse","getRangeText","toString","getRangeElem","dom","commonAncestorContainer","nodeType","parentNode","isRangeEmpty","startContainer","endContainer","startOffset","endOffset","saveSelection","_parentElem","selection","get","getSelection","getRangeAt","rangeCount","contains","restoreSelection","removeAllRanges","addRange","ex","error","restoreSelectionByElem","setRangeByElem","initSelection","$firstChild","children","first","txtElem","firstTextNode","firstChild","lastTextNode","lastChild","setStart","setEnd","textContent","text","parentElement","setEndPoint","select","editor","insertHtml","targetElem","rangeElem","getLegalTags","after","command","commandName","commandValue","callback","hooks","customCommand","queryCommandSupported","execCommand","commandForElem","elemOpt","selector","check","getSelfOrParentByName","commandFn","undoRecord","insertEmptyP","wrapImgAndText","setTimeout","preventDefault","queryCommandValue","result","queryCommandState","matchesSelector","_matchesSelectorForIE","legalTags","config","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","_getRedoList","_redoList","_getUndoList","_undoList","_handle","data","type","redo","undo","onchange","undoList","redoList","unshift","pop","create","addMenus","renderMenus","renderMenuContainer","renderTxt","renderEditorContainer","eventMenus","eventMenuContainer","eventTxt","disable","removeAttr","enable","attr","destroy","$editorContainer","show","undestroy","$menuContainer","menuContainer","clear","find","MenuContainer","changeShadow","on","scrollTop","addClass","removeClass","render","append","height","appendMenu","groupIdx","_addGroup","_addOneMenu","$menuGroup","$currentGroup","currentGroupIdx","$menuNormal","$domNormal","$menuSelected","$domSelected","$item","Menu","id","title","commandNameSelected","commandValueSelected","initUI","uiConfig","UI","menuId","menuUI","warn","normal","test","selected","clone","slice","$menuItem","onRender","_renderTip","$tempDiv","timeoutId","self","$tip","tipWidth","titleWidth","outerWidth","currentWidth","currentMarginLeft","parseFloat","css","remove","width","margin-left","active","clearTimeout","bindEvent","clickEvent","dropObj","isShowing","clickEventSelected","click","updateSelectedEvent","changeSelectedState","state","_activeState","activeStyle","$dom","DropList","tpl","selectorForELemCommand","beforeEvent","afterEvent","initDOM","initHideEvent","itemContent","$list","replace","currentTarget","thisList","menuDom","trigger","target","scroll","_render","rendered","_position","$menuDom","menuPosition","offsetParent","position","menuTop","top","menuLeft","left","menuHeight","menuWidth","marginLeft","valWithTxt","_isMenufixed","offset","outerHeight","DropPanel","$content","$panel","$triangle","thisPanle","panelWidth","txtWidth","marginLeft2","focusFirstInput","$input","focus","placeholderForIE8","Modal","initDom","$modal","$close","zindex","marginTop","sTop","margin-top","Txt","contentEmptyHandle","bindEnterForDiv","bindEnterForText","bindTabEvent","bindPasteFilter","bindFormatText","bindHtml","$p","keyCode","trim","txtHtml","$keydownDivElem","divHandler","$pElem","$targetElem","handle","resultHtml","legalTagArr","removeAttrs","attrs","attributes","attrNames","exception","key","removeAttribute","childNodes","pasteFilter","currentNodeName","pasteHtml","docSplitHtml","clipboardData","originalEvent","ieData","pasteText","getData","childNodesClone","index","item","htmlForP","htmlForLi","tag","$li","getResult","match","link","RegExp","clearEmptyOrNestP","regArr","reg","formatText","$temp","matchStr","undefined","a","b","c","change","txtChangeEventNames","initHeight","valueContainerHeight","txtHeight","initMaxHeight","$wrap","maxHeight","parseInt","isNaN","fullscreen","useMaxHeight","max-height","overflow-y","min-height","wrap","saveSelectionEvent","dt","Date","now","save","saveSync","saveAync","off","updateValueEvent","oldValue","doOnchange","updateMenuStyleEvent","$children","last","i","childNode","$imgs","childrenLength","showHeightOnHover","isTipInTxt","$target","paddingTop","marginBottom","paddingBottom","addAndShowTip","Array","lastIndexOf","valueOf","console","info","printLog","random","Math","placeholder","createElement","$container","langs","bold","underline","italic","forecolor","bgcolor","strikethrough","eraser","source","quote","fontfamily","fontsize","head","orderlist","unorderlist","alignleft","aligncenter","alignright","submit","cancel","unlink","table","emotion","img","uploadImg","linkImg","video","loading","searchlocation","dynamicMap","clearLocation","langDynamicOneLocation","insertcode","openLink","en","menuFixed","jsFilter","lang","colors","#880000","#800080","#ff0000","#ff00ff","#000080","#0000ff","#00ffff","#008080","#008000","#808000","#00ff00","#ffcc00","#808080","#c0c0c0","#000000","#ffffff","familys","fontsizes","1","2","3","4","5","6","7","emotionsShow","emotions","weibo","icon","mapAk","uploadImgUrl","uploadTimeout","uploadImgFns","customUpload","uploadParams","uploadHeaders","withCredentials","hideLinkImg","codeDefaultLang","default","extend","createMenuFns","createMenu","createMenuFn","configColors","v","join","checkElemFn","cssText","style","$clearElem","pElem","quoteElem","$quoteElem","listElem","$listElem","isShowCode","txtOuterHeight","$codeTextarea","$code","$rangeElem","$quote","$lastChild","isPrevEnter","currentRangeElem","$currentRangeElem","configFamilys","configSize","isOrderedList","
' + title + '
');\n // 先添加到body,计算完再 remove\n E.$body.append($tempDiv);\n editor.ready(function () {\n var editor = this;\n var titleWidth = $tempDiv.outerWidth() + 5; // 多出 5px 的冗余\n var currentWidth = $tip.outerWidth();\n var currentMarginLeft = parseFloat($tip.css('margin-left'), 10);\n // 计算完,拿到数据,则弃用\n $tempDiv.remove();\n $tempDiv = null;\n\n // 重新设置样式\n $tip.css({\n width: titleWidth,\n 'margin-left': currentMarginLeft + (currentWidth - titleWidth)/2\n });\n\n // 存储\n self.tipWidth = titleWidth;\n });\n }\n\n // $tip.append($triangle);\n $tip.append(title);\n $menuItem.append($tip);\n\n function show() {\n $tip.show();\n }\n function hide() {\n $tip.hide();\n }\n\n var timeoutId;\n $menuItem.find('a').on('mouseenter', function (e) {\n if (!self.active() && !self.disabled()) {\n timeoutId = setTimeout(show, 200);\n }\n }).on('mouseleave', function (e) {\n timeoutId && clearTimeout(timeoutId);\n hide();\n }).on('click', hide);\n };\n\n // 绑定事件\n Menu.fn.bindEvent = function () {\n var self = this;\n\n var $domNormal = self.$domNormal;\n var $domSelected = self.$domSelected;\n\n // 试图获取该菜单定义的事件(未selected),没有则自己定义\n var clickEvent = self.clickEvent;\n if (!clickEvent) {\n clickEvent = function (e) {\n // -----------dropPanel dropList modal-----------\n var dropObj = self.dropPanel || self.dropList || self.modal;\n if (dropObj && dropObj.show) {\n if (dropObj.isShowing) {\n dropObj.hide();\n } else {\n dropObj.show();\n }\n return;\n }\n\n // -----------command-----------\n var editor = self.editor;\n var commandName;\n var commandValue;\n\n var selected = self.selected;\n if (selected) {\n commandName = self.commandNameSelected;\n commandValue = self.commandValueSelected;\n } else {\n commandName = self.commandName;\n commandValue = self.commandValue;\n }\n\n if (commandName) {\n // 执行命令\n editor.command(e, commandName, commandValue);\n } else {\n // 提示\n E.warn('菜单 \"' + self.id + '\" 未定义click事件');\n e.preventDefault();\n }\n };\n }\n // 获取菜单定义的selected情况下的点击事件\n var clickEventSelected = self.clickEventSelected || clickEvent;\n\n // 将事件绑定到菜单dom上\n $domNormal.click(function (e) {\n if (!self.disabled()) {\n clickEvent.call(self, e);\n self.updateSelected();\n }\n e.preventDefault();\n });\n $domSelected.click(function (e) {\n if (!self.disabled()) {\n clickEventSelected.call(self, e);\n self.updateSelected();\n }\n e.preventDefault();\n });\n };\n\n // 更新选中状态\n Menu.fn.updateSelected = function () {\n var self = this;\n var editor = self.editor;\n\n // 试图获取用户自定义的判断事件\n var updateSelectedEvent = self.updateSelectedEvent;\n if (!updateSelectedEvent) {\n // 用户未自定义,则设置默认值\n updateSelectedEvent = function () {\n var self = this;\n var editor = self.editor;\n var commandName = self.commandName;\n var commandValue = self.commandValue;\n\n if (commandValue) {\n if (editor.queryCommandValue(commandName).toLowerCase() === commandValue.toLowerCase()) {\n return true;\n }\n } else if (editor.queryCommandState(commandName)) {\n return true;\n }\n\n return false;\n };\n }\n\n // 获取结果\n var result = updateSelectedEvent.call(self);\n result = !!result;\n\n // 存储结果、显示效果\n self.changeSelectedState(result);\n };\n\n // 切换选中状态、显示效果\n Menu.fn.changeSelectedState = function (state) {\n var self = this;\n var selected = self.selected;\n\n if (state != null && typeof state === 'boolean') {\n if (selected === state) {\n // 计算结果和当前的状态一样\n return;\n }\n // 存储结果\n self.selected = state;\n\n // 切换菜单的显示\n if (state) {\n // 选中\n self.$domNormal.hide();\n self.$domSelected.show();\n } else {\n // 未选中\n self.$domNormal.show();\n self.$domSelected.hide();\n }\n } // if\n };\n\n // 点击菜单,显示了 dropPanel modal 时,菜单的状态 \n Menu.fn.active = function (active) {\n if (active == null) {\n return this._activeState;\n }\n this._activeState = active;\n };\n Menu.fn.activeStyle = function (active) {\n var selected = this.selected;\n var $dom = this.$domNormal;\n var $domSelected = this.$domSelected;\n\n if (active) {\n $dom.addClass('active');\n $domSelected.addClass('active');\n } else {\n $dom.removeClass('active');\n $domSelected.removeClass('active');\n }\n\n // 记录状态 ( menu hover 时会取状态用 )\n this.active(active);\n };\n\n // 菜单的启用和禁用\n Menu.fn.disabled = function (opt) {\n // 参数为空,取值\n if (opt == null) {\n return !!this._disabled;\n }\n\n if (this._disabled === opt) {\n // 要设置的参数值和当前参数只一样,无需再次设置\n return;\n }\n\n var $dom = this.$domNormal;\n var $domSelected = this.$domSelected;\n\n // 设置样式\n if (opt) {\n $dom.addClass('disable');\n $domSelected.addClass('disable');\n } else {\n $dom.removeClass('disable');\n $domSelected.removeClass('disable');\n }\n\n // 存储\n this._disabled = opt;\n };\n\n});\n// dropList 构造函数\n_e(function (E, $) {\n\n // 定义构造函数\n var DropList = function (editor, menu, opt) {\n this.editor = editor;\n this.menu = menu;\n\n // list 的数据源,格式 {'commandValue': 'title', ...}\n this.data = opt.data;\n // 要为每个item自定义的模板\n this.tpl = opt.tpl;\n // 为了执行 editor.commandForElem 而传入的elem查询方式\n this.selectorForELemCommand = opt.selectorForELemCommand;\n\n // 执行事件前后的钩子\n this.beforeEvent = opt.beforeEvent;\n this.afterEvent = opt.afterEvent;\n\n // 初始化\n this.init();\n };\n\n DropList.fn = DropList.prototype;\n\n // 暴露给 E 即 window.wangEditor\n E.DropList = DropList;\n});\n// dropList fn bind\n_e(function (E, $) {\n\n var DropList = E.DropList;\n\n // init\n DropList.fn.init = function () {\n var self = this;\n\n // 生成dom对象\n self.initDOM();\n\n // 绑定command事件\n self.bindEvent();\n\n // 声明隐藏的事件\n self.initHideEvent();\n };\n\n // 初始化dom结构\n DropList.fn.initDOM = function () {\n var self = this;\n var data = self.data;\n var tpl = self.tpl || '{#title}';\n var $list = $('');\n\n var itemContent;\n var $item;\n $.each(data, function (commandValue, title) {\n itemContent = tpl.replace(/{#commandValue}/ig, commandValue).replace(/{#title}/ig, title);\n $item = $('');\n $item.append(itemContent);\n $list.append($item);\n });\n\n self.$list = $list;\n };\n\n // 绑定事件\n DropList.fn.bindEvent = function () {\n var self = this;\n var editor = self.editor;\n var menu = self.menu;\n var commandName = menu.commandName;\n var selectorForELemCommand = self.selectorForELemCommand;\n var $list = self.$list;\n\n // 执行事件前后的钩子函数\n var beforeEvent = self.beforeEvent;\n var afterEvent = self.afterEvent;\n\n $list.on('click', 'a[commandValue]', function (e) {\n // 正式命令执行之前\n if (beforeEvent && typeof beforeEvent === 'function') {\n beforeEvent.call(e);\n }\n\n // 执行命令\n var commandValue = $(e.currentTarget).attr('commandValue');\n if (menu.selected && editor.isRangeEmpty() && selectorForELemCommand) {\n // 当前处于选中状态,并且选中内容为空\n editor.commandForElem(selectorForELemCommand, e, commandName, commandValue);\n } else {\n // 当前未处于选中状态,或者有选中内容。则执行默认命令\n editor.command(e, commandName, commandValue);\n }\n\n // 正式命令之后的钩子\n if (afterEvent && typeof afterEvent === 'function') {\n afterEvent.call(e);\n }\n });\n };\n\n // 点击其他地方,立即隐藏 droplist\n DropList.fn.initHideEvent = function () {\n var self = this;\n\n // 获取 list elem\n var thisList = self.$list.get(0);\n\n E.$body.on('click', function (e) {\n if (!self.isShowing) {\n return;\n }\n var trigger = e.target;\n\n // 获取菜单elem\n var menu = self.menu;\n var menuDom;\n if (menu.selected) {\n menuDom = menu.$domSelected.get(0);\n } else {\n menuDom = menu.$domNormal.get(0);\n }\n\n if (menuDom === trigger || $.contains(menuDom, trigger)) {\n // 说明由本菜单点击触发的\n return;\n }\n\n if (thisList === trigger || $.contains(thisList, trigger)) {\n // 说明由本list点击触发的\n return;\n }\n\n // 其他情况,隐藏 list\n self.hide();\n });\n\n E.$window.scroll(function () {\n self.hide();\n });\n\n E.$window.on('resize', function () {\n self.hide();\n });\n };\n\n});\n// dropListfn api\n_e(function (E, $) {\n \n var DropList = E.DropList;\n\n // 渲染\n DropList.fn._render = function () {\n var self = this;\n var editor = self.editor;\n var $list = self.$list;\n\n // 渲染到页面\n editor.$editorContainer.append($list);\n\n // 记录状态\n self.rendered = true;\n };\n\n // 定位\n DropList.fn._position = function () {\n var self = this;\n var $list = self.$list;\n var editor = self.editor;\n var menu = self.menu;\n var $menuContainer = editor.menuContainer.$menuContainer;\n var $menuDom = menu.selected ? menu.$domSelected : menu.$domNormal;\n // 注意这里的 offsetParent() 要返回 .menu-item 的 position\n // 因为 .menu-item 是 position:relative\n var menuPosition = $menuDom.offsetParent().position();\n\n // 取得 menu 的位置、尺寸属性\n var menuTop = menuPosition.top;\n var menuLeft = menuPosition.left;\n var menuHeight = $menuDom.offsetParent().height();\n var menuWidth = $menuDom.offsetParent().width();\n\n // 取得 list 的尺寸属性\n var listWidth = $list.outerWidth();\n // var listHeight = $list.outerHeight();\n\n // 取得 $txt 的尺寸\n var txtWidth = editor.txt.$txt.outerWidth();\n\n // ------------开始计算-------------\n\n // 初步计算 list 位置属性\n var top = menuTop + menuHeight;\n var left = menuLeft + menuWidth/2;\n var marginLeft = 0 - menuWidth/2;\n\n // 如果超出了有边界,则要左移(且和右侧有间隙)\n var valWithTxt = (left + listWidth) - txtWidth;\n if (valWithTxt > -10) {\n marginLeft = marginLeft - valWithTxt - 10;\n }\n // 设置样式\n $list.css({\n top: top,\n left: left,\n 'margin-left': marginLeft\n });\n\n // 如果因为向下滚动而导致菜单fixed,则再加一步处理\n if (editor._isMenufixed) {\n top = top + (($menuContainer.offset().top + $menuContainer.outerHeight()) - $list.offset().top);\n\n // 重新设置top\n $list.css({\n top: top\n });\n }\n };\n\n // 显示\n DropList.fn.show = function () {\n var self = this;\n var menu = self.menu;\n if (!self.rendered) {\n // 第一次show之前,先渲染\n self._render();\n }\n\n if (self.isShowing) {\n return;\n }\n\n var $list = self.$list;\n $list.show();\n\n // 定位\n self._position();\n\n // 记录状态\n self.isShowing = true;\n\n // 菜单状态\n menu.activeStyle(true);\n };\n\n // 隐藏\n DropList.fn.hide = function () {\n var self = this;\n var menu = self.menu;\n if (!self.isShowing) {\n return;\n }\n\n var $list = self.$list;\n $list.hide();\n\n // 记录状态\n self.isShowing = false;\n\n // 菜单状态\n menu.activeStyle(false);\n };\n});\n// dropPanel 构造函数\n_e(function (E, $) {\n\n // 定义构造函数\n var DropPanel = function (editor, menu, opt) {\n this.editor = editor;\n this.menu = menu;\n this.$content = opt.$content;\n this.width = opt.width || 200;\n this.height = opt.height;\n this.onRender = opt.onRender;\n\n // init\n this.init();\n };\n\n DropPanel.fn = DropPanel.prototype;\n\n // 暴露给 E 即 window.wangEditor\n E.DropPanel = DropPanel;\n});\n// dropPanel fn bind\n_e(function (E, $) {\n\n var DropPanel = E.DropPanel;\n\n // init\n DropPanel.fn.init = function () {\n var self = this;\n\n // 生成dom对象\n self.initDOM();\n\n // 声明隐藏的事件\n self.initHideEvent();\n };\n\n // init DOM\n DropPanel.fn.initDOM = function () {\n var self = this;\n var $content = self.$content;\n var width = self.width;\n var height = self.height;\n var $panel = $('');\n var $triangle = $('');\n\n $panel.css({\n width: width,\n height: height ? height : 'auto'\n });\n $panel.append($triangle);\n $panel.append($content);\n\n // 添加对象数据\n self.$panel = $panel;\n self.$triangle = $triangle;\n };\n\n // 点击其他地方,立即隐藏 dropPanel\n DropPanel.fn.initHideEvent = function () {\n var self = this;\n\n // 获取 panel elem\n var thisPanle = self.$panel.get(0);\n\n E.$body.on('click', function (e) {\n if (!self.isShowing) {\n return;\n }\n var trigger = e.target;\n\n // 获取菜单elem\n var menu = self.menu;\n var menuDom;\n if (menu.selected) {\n menuDom = menu.$domSelected.get(0);\n } else {\n menuDom = menu.$domNormal.get(0);\n }\n\n if (menuDom === trigger || $.contains(menuDom, trigger)) {\n // 说明由本菜单点击触发的\n return;\n }\n\n if (thisPanle === trigger || $.contains(thisPanle, trigger)) {\n // 说明由本panel点击触发的\n return;\n }\n\n // 其他情况,隐藏 panel\n self.hide();\n });\n\n E.$window.scroll(function (e) {\n self.hide();\n });\n\n E.$window.on('resize', function () {\n self.hide();\n });\n };\n\n});\n// dropPanel fn api\n_e(function (E, $) {\n \n var DropPanel = E.DropPanel;\n\n // 渲染\n DropPanel.fn._render = function () {\n var self = this;\n var onRender = self.onRender;\n var editor = self.editor;\n var $panel = self.$panel;\n\n // 渲染到页面\n editor.$editorContainer.append($panel);\n\n // 渲染后的回调事件\n onRender && onRender.call(self);\n\n // 记录状态\n self.rendered = true;\n };\n\n // 定位\n DropPanel.fn._position = function () {\n var self = this;\n var $panel = self.$panel;\n var $triangle = self.$triangle;\n var editor = self.editor;\n var $menuContainer = editor.menuContainer.$menuContainer;\n var menu = self.menu;\n var $menuDom = menu.selected ? menu.$domSelected : menu.$domNormal;\n // 注意这里的 offsetParent() 要返回 .menu-item 的 position\n // 因为 .menu-item 是 position:relative\n var menuPosition = $menuDom.offsetParent().position();\n\n // 取得 menu 的位置、尺寸属性\n var menuTop = menuPosition.top;\n var menuLeft = menuPosition.left;\n var menuHeight = $menuDom.offsetParent().height();\n var menuWidth = $menuDom.offsetParent().width();\n\n // 取得 panel 的尺寸属性\n var panelWidth = $panel.outerWidth();\n // var panelHeight = $panel.outerHeight();\n\n // 取得 $txt 的尺寸\n var txtWidth = editor.txt.$txt.outerWidth();\n\n // ------------开始计算-------------\n\n // 初步计算 panel 位置属性\n var top = menuTop + menuHeight;\n var left = menuLeft + menuWidth/2;\n var marginLeft = 0 - panelWidth/2;\n var marginLeft2 = marginLeft; // 下文用于和 marginLeft 比较,来设置三角形tip的位置\n\n // 如果超出了左边界,则移动回来(要和左侧有10px间隙)\n if ((0 - marginLeft) > (left - 10)) {\n marginLeft = 0 - (left - 10);\n }\n\n // 如果超出了有边界,则要左移(且和右侧有10px间隙)\n var valWithTxt = (left + panelWidth + marginLeft) - txtWidth;\n if (valWithTxt > -10) {\n marginLeft = marginLeft - valWithTxt - 10;\n }\n\n // 设置样式\n $panel.css({\n top: top,\n left: left,\n 'margin-left': marginLeft\n });\n\n // 如果因为向下滚动而导致菜单fixed,则再加一步处理\n if (editor._isMenufixed) {\n top = top + (($menuContainer.offset().top + $menuContainer.outerHeight()) - $panel.offset().top);\n\n // 重新设置top\n $panel.css({\n top: top\n });\n }\n\n // 设置三角形 tip 的位置\n $triangle.css({\n 'margin-left': marginLeft2 - marginLeft - 5\n });\n };\n\n // focus 第一个 input\n DropPanel.fn.focusFirstInput = function () {\n var self = this;\n var $panel = self.$panel;\n $panel.find('input[type=text],textarea').each(function () {\n var $input = $(this);\n if ($input.attr('disabled') == null) {\n $input.focus();\n return false;\n }\n });\n };\n\n // 显示\n DropPanel.fn.show = function () {\n var self = this;\n var menu = self.menu;\n if (!self.rendered) {\n // 第一次show之前,先渲染\n self._render();\n }\n\n if (self.isShowing) {\n return;\n }\n\n var $panel = self.$panel;\n $panel.show();\n\n // 定位\n self._position();\n\n // 记录状态\n self.isShowing = true;\n\n // 菜单状态\n menu.activeStyle(true);\n\n if (E.w3cRange) {\n // 高级浏览器\n self.focusFirstInput();\n } else {\n // 兼容 IE8 input placeholder\n E.placeholderForIE8($panel);\n }\n };\n\n // 隐藏\n DropPanel.fn.hide = function () {\n var self = this;\n var menu = self.menu;\n if (!self.isShowing) {\n return;\n }\n\n var $panel = self.$panel;\n $panel.hide();\n\n // 记录状态\n self.isShowing = false;\n\n // 菜单状态\n menu.activeStyle(false);\n };\n\n});\n// modal 构造函数\n_e(function (E, $) {\n\n // 定义构造函数\n var Modal = function (editor, menu, opt) {\n this.editor = editor;\n this.menu = menu;\n this.$content = opt.$content;\n\n this.init();\n };\n\n Modal.fn = Modal.prototype;\n\n // 暴露给 E 即 window.wangEditor\n E.Modal = Modal;\n});\n// modal fn bind\n_e(function (E, $) {\n\n var Modal = E.Modal;\n\n Modal.fn.init = function () {\n var self = this;\n\n // 初始化dom\n self.initDom();\n\n // 初始化隐藏事件\n self.initHideEvent();\n };\n\n // 初始化dom\n Modal.fn.initDom = function () {\n var self = this;\n var $content = self.$content;\n var $modal = $('');\n var $close = $('' + $keydownDivElem.html() + '
');\n $keydownDivElem.after($pElem);\n $keydownDivElem.remove();\n }\n\n $txt.on('keydown keyup', function (e) {\n if (e.keyCode !== 13) {\n return;\n }\n // 查找合法标签\n var rangeElem = editor.getRangeElem();\n var targetElem = editor.getLegalTags(rangeElem);\n var $targetElem;\n var $pElem;\n\n if (!targetElem) {\n // 没找到合法标签,就去查找 div\n targetElem = editor.getSelfOrParentByName(rangeElem, 'div');\n if (!targetElem) {\n return;\n }\n $targetElem = $(targetElem);\n\n if (e.type === 'keydown') {\n // 异步执行(同步执行会出现问题)\n $keydownDivElem = $targetElem;\n setTimeout(divHandler, 0);\n }\n\n if (e.type === 'keyup') {\n // 将 div 的内容移动到 p 里面,并移除 div\n $pElem = $('' + $targetElem.html() + '
');\n $targetElem.after($pElem);\n $targetElem.remove();\n\n // 如果是回车结束,将选区定位到行首\n editor.restoreSelectionByElem($pElem.get(0), 'start');\n }\n }\n });\n };\n\n // enter时,用 p 包裹 text\n Txt.fn.bindEnterForText = function () {\n var self = this;\n var $txt = self.$txt;\n var handle;\n $txt.on('keyup', function (e) {\n if (e.keyCode !== 13) {\n return;\n }\n if (!handle) {\n handle = function() {\n self.wrapImgAndText();\n };\n }\n setTimeout(handle);\n });\n };\n\n // tab 时,插入4个空格\n Txt.fn.bindTabEvent = function () {\n var self = this;\n var editor = self.editor;\n var $txt = self.$txt;\n\n $txt.on('keydown', function (e) {\n if (e.keyCode !== 9) {\n // 只监听 tab 按钮\n return;\n }\n // 如果浏览器支持 insertHtml 则插入4个空格。如果不支持,就不管了\n if (editor.queryCommandSupported('insertHtml')) {\n editor.command(e, 'insertHtml', ' ');\n }\n });\n };\n\n // 处理粘贴内容\n Txt.fn.bindPasteFilter = function () {\n var self = this;\n var editor = self.editor;\n var resultHtml = ''; //存储最终的结果\n var $txt = self.$txt;\n var legalTags = editor.config.legalTags;\n var legalTagArr = legalTags.split(',');\n\n $txt.on('paste', function (e) {\n if (!editor.config.pasteFilter) {\n // 配置中取消了粘贴过滤\n return;\n }\n\n var currentNodeName = editor.getRangeElem().nodeName;\n if (currentNodeName === 'TD' || currentNodeName === 'TH') {\n // 在表格的单元格中粘贴,忽略所有内容。否则会出现异常情况\n return;\n }\n\n resultHtml = ''; // 先清空 resultHtml\n\n var pasteHtml, $paste, docSplitHtml;\n var data = e.clipboardData || e.originalEvent.clipboardData;\n var ieData = window.clipboardData;\n\n if (editor.config.pasteText) {\n // 只粘贴纯文本\n\n if (data && data.getData) {\n // w3c\n pasteHtml = data.getData('text/plain');\n } else if (ieData && ieData.getData) {\n // IE\n pasteHtml = ieData.getData('text');\n } else {\n // 其他情况\n return;\n }\n\n // 拼接为标签\n if (pasteHtml) {\n resultHtml = '
' + pasteHtml + '
';\n }\n\n } else {\n // 粘贴过滤了样式的、只有标签的 html\n\n if (data && data.getData) {\n // w3c\n\n // 获取粘贴过来的html\n pasteHtml = data.getData('text/html');\n\n // 过滤从 word excel 粘贴过来的乱码\n docSplitHtml = pasteHtml.split('