{"version":3,"sources":["webpack:///./static/images/layout/banner.png","webpack:///./src/assets/home/ic-sj.svg","webpack:///./src/assets/home/ic-home-o.svg","webpack:///./src/assets/ic-notice.png","webpack:///./node_modules/is2/package.json","webpack:///./src/app/views lazy ^\\.\\/.*\\.vue$","webpack:///./src/basement/directives/date-picker.js","webpack:///./static/logo-title-dark.png","webpack:///./static/UEditor/ueditor.all.js","webpack:///./src/basement/service/store/modules/app.js","webpack:///./src/basement/service/store/getters.js","webpack:///./src/basement/service/store/index.js","webpack:///./src/assets/home/ic-jd.svg","webpack:///./src/basement/directives/selector.js","webpack:///./src/basement/directives/index.js","webpack:///src/basement/components/message/toast.vue","webpack:///./src/basement/components/message/toast.vue?e83d","webpack:///./src/basement/components/message/toast.vue","webpack:///src/basement/components/message/confirm.vue","webpack:///./src/basement/components/message/confirm.vue?4bf4","webpack:///./src/basement/components/message/confirm.vue","webpack:///src/basement/components/message/loading.vue","webpack:///./src/basement/components/message/loading.vue?91e8","webpack:///./src/basement/components/message/loading.vue","webpack:///src/basement/components/message/layer.vue","webpack:///./src/basement/components/message/layer.vue?8dd6","webpack:///./src/basement/components/message/layer.vue","webpack:///./src/basement/components/index.js","webpack:///src/app.vue","webpack:///./src/app.vue?35e0","webpack:///./src/app.vue","webpack:///./src/app/security/permission.js","webpack:///./src/main.js","webpack:///./src/basement/router/_import_lazeload.js","webpack:///./src/assets/home/ic-peer.svg","webpack:///./src/assets/home/logo.png","webpack:///./src/assets/address.png","webpack:///./src/assets/home/ic-zw.svg","webpack:///./src/assets/home/ic-building.svg","webpack:///./src/assets/ic-internet .png","webpack:///./static/UEditor/ueditor.config.js","webpack:///./src/basement/directives/validator.js","webpack:///./static/UEditor/ueditor.parse.js","webpack:///./src/app/components/header/header.js","webpack:///src/app/components/header/light.vue","webpack:///./src/app/components/header/light.vue?6e03","webpack:///./src/app/components/header/light.vue","webpack:///src/app/components/footer/index.vue","webpack:///./src/app/components/footer/index.vue?a071","webpack:///./src/app/components/footer/index.vue","webpack:///src/basement/layout/screen.vue","webpack:///./src/basement/layout/screen.vue?50a1","webpack:///./src/basement/layout/screen.vue","webpack:///src/app/components/header/dark.vue","webpack:///./src/app/components/header/dark.vue?9cdc","webpack:///./src/app/components/header/dark.vue","webpack:///src/app/components/signfooter/index.vue","webpack:///./src/app/components/signfooter/index.vue?6f6f","webpack:///./src/app/components/signfooter/index.vue","webpack:///src/basement/layout/jumbotron/jumbotron1.vue","webpack:///./src/basement/layout/jumbotron/jumbotron1.vue?b993","webpack:///./src/basement/layout/jumbotron/jumbotron1.vue","webpack:///src/basement/layout/jumbotron/jumbotron2.vue","webpack:///./src/basement/layout/jumbotron/jumbotron2.vue?0f2a","webpack:///./src/basement/layout/jumbotron/jumbotron2.vue","webpack:///src/basement/layout/jumbotron/jumbotron3.vue","webpack:///./src/basement/layout/jumbotron/jumbotron3.vue?2f0b","webpack:///./src/basement/layout/jumbotron/jumbotron3.vue","webpack:///src/app/components/sidebar/console.vue","webpack:///./src/app/components/sidebar/console.vue?bb46","webpack:///./src/app/components/sidebar/console.vue","webpack:///src/app/components/breadcrumb/index.vue","webpack:///./src/app/components/breadcrumb/index.vue?2548","webpack:///./src/app/components/breadcrumb/index.vue","webpack:///src/basement/layout/console.vue","webpack:///./src/basement/layout/console.vue?9e3b","webpack:///./src/basement/layout/console.vue","webpack:///src/app/components/sidebar/govt.vue","webpack:///./src/app/components/sidebar/govt.vue?0c74","webpack:///./src/app/components/sidebar/govt.vue","webpack:///src/basement/layout/govt.vue","webpack:///./src/basement/layout/govt.vue?d568","webpack:///./src/basement/layout/govt.vue","webpack:///src/app/components/sidebar/leadingGroup.vue","webpack:///./src/app/components/sidebar/leadingGroup.vue?cc86","webpack:///./src/app/components/sidebar/leadingGroup.vue","webpack:///src/basement/layout/leadingGroup.vue","webpack:///./src/basement/layout/leadingGroup.vue?1787","webpack:///./src/basement/layout/leadingGroup.vue","webpack:///src/app/components/sidebar/admin.vue","webpack:///./src/app/components/sidebar/admin.vue?fbc1","webpack:///./src/app/components/sidebar/admin.vue","webpack:///src/basement/layout/admin.vue","webpack:///./src/basement/layout/admin.vue?a29d","webpack:///./src/basement/layout/admin.vue","webpack:///src/app/components/sidebar/Intermediary.vue","webpack:///./src/app/components/sidebar/Intermediary.vue?1c60","webpack:///./src/app/components/sidebar/Intermediary.vue","webpack:///src/basement/layout/Intermediary.vue","webpack:///./src/basement/layout/Intermediary.vue?b0b0","webpack:///./src/basement/layout/Intermediary.vue","webpack:///src/app/components/header/portal.vue","webpack:///./src/app/components/header/portal.vue?70df","webpack:///./src/app/components/header/portal.vue","webpack:///src/app/layout/portal.vue","webpack:///./src/app/layout/portal.vue?dbf1","webpack:///./src/app/layout/portal.vue","webpack:///src/basement/error/401.vue","webpack:///./src/basement/error/401.vue?24fc","webpack:///./src/basement/error/401.vue","webpack:///src/basement/error/403.vue","webpack:///./src/basement/error/403.vue?db16","webpack:///./src/basement/error/403.vue","webpack:///src/basement/error/404.vue","webpack:///./src/basement/error/404.vue?79fb","webpack:///./src/basement/error/404.vue","webpack:///src/basement/error/500.vue","webpack:///./src/basement/error/500.vue?7c2b","webpack:///./src/basement/error/500.vue","webpack:///./src/router.js","webpack:///./src/app/service/CryptoJS.js","webpack:///./src/app/service/api/session-api.js","webpack:///./src/assets/home/ic--jgrz.svg","webpack:///./src/style/lib/datetime-picker/js/bootstrap-datetimepicker.min.js","webpack:///./src/basement/utils/extends.js","webpack:///./static/logo-title-light.png","webpack:///./src/basement/service/request.js","webpack:///./static/UEditor/lang/zh-cn/zh-cn.js","webpack:///./src/app/service/api/notice-api.js","webpack:///./src/assets/home/ic-zy.svg","webpack:///./src/style/lib/datetime-picker/js/locales/bootstrap-datetimepicker.zh-CN.js"],"names":["module","exports","__webpack_require__","p","_args","_development","_from","_id","_inBundle","_integrity","_location","_phantomChildren","_requested","type","registry","raw","name","escapedName","rawSpec","saveSpec","fetchSpec","_requiredBy","_resolved","_spec","_where","author","email","bugs","url","dependencies","deep-is","ip-regex","is-url","description","devDependencies","mocha","mongodb","engines","node","homepage","keywords","license","main","maintainers","repository","scripts","test","tags","version","map","./breedingBase/index.vue","./college/components/progress.vue","./college/index.vue","./college/knowledge/index.vue","./dynamic/dynamic.vue","./dynamic/dynamicDetail.vue","./dynamic/dynamicPage.vue","./enterprise/company/companyCreate.vue","./enterprise/company/companyHistory.vue","./enterprise/company/companyProfile.vue","./enterprise/company/companyRouter.vue","./enterprise/company/components/agency.vue","./enterprise/company/components/basicInfo.vue","./enterprise/company/components/businessConditions.vue","./enterprise/company/components/equityStructure.vue","./enterprise/company/components/financialSupport.vue","./enterprise/company/components/issue.vue","./enterprise/company/components/listingPreparation.vue","./enterprise/company/components/superior.vue","./enterprise/company/components/team.vue","./enterprise/index/home.vue","./enterprise/investmentFinancing/informationList.vue","./enterprise/investmentFinancing/platformLogin.vue","./enterprise/investmentFinancing/roadShowPlatform.vue","./enterprise/investmentFinancing/roadShowProject.vue","./enterprise/notification/detail.vue","./enterprise/notification/list.vue","./enterprise/notification/reply.vue","./enterprise/problem/edit.vue","./enterprise/problem/list.vue","./enterprise/report/csrc/add.vue","./enterprise/report/csrc/edit.vue","./enterprise/report/golden/add.vue","./enterprise/report/golden/edit.vue","./enterprise/report/history.vue","./enterprise/report/issue/edit.vue","./enterprise/report/issue/historyList.vue","./enterprise/report/issue/list.vue","./enterprise/report/list.vue","./enterprise/report/major/add.vue","./enterprise/report/major/edit.vue","./enterprise/report/overseas/add.vue","./enterprise/report/overseas/edit.vue","./enterprise/report/sci/add.vue","./enterprise/report/sci/edit.vue","./enterprise/report/silver/add.vue","./enterprise/report/silver/edit.vue","./enterprise/report/tutorial/add.vue","./enterprise/report/tutorial/edit.vue","./enterprise/research/detail.vue","./enterprise/research/list.vue","./enterprise/research/record/detail.vue","./enterprise/research/record/list.vue","./enterprise/training/detail.vue","./enterprise/training/enroll/enroll.vue","./enterprise/training/enroll/list.vue","./enterprise/training/list.vue","./enterprise/widgets/IpoItemIndex.vue","./enterprise/widgets/IpoStatistics.vue","./enterprise/widgets/IpoStatisticsCase.vue","./enterprise/widgets/IpoStatisticsCaseDetail.vue","./enterprise/widgets/IpoStatisticsDetail.vue","./enterprise/widgets/LawsLibrary.vue","./enterprise/widgets/LettersInit.vue","./enterprise/widgets/Reorganization.vue","./enterprise/widgets/ReorganizationCase.vue","./enterprise/widgets/ReorganizationTarget.vue","./enterprise/widgets/companyDisclosureInit.vue","./enterprise/widgets/majorFinancialIndInit.vue","./enterprise/widgets/marketIntelligenceTesting.vue","./enterprise/widgets/nationalSecuritiesInit.vue","./govt/company/companyList.vue","./govt/company/exportConfig.vue","./govt/company/governmentList.vue","./govt/company/gradeChange.vue","./govt/company/menuList.vue","./govt/index/index.vue","./govt/intermediary/exportConfig.vue","./govt/intermediary/intermediaryList.vue","./govt/intermediary/organizationList.vue","./govt/investmentFinancing/industryTag.vue","./govt/investmentFinancing/informationEdit.vue","./govt/investmentFinancing/informationList.vue","./govt/investmentFinancing/informationNewAdd.vue","./govt/notification/check.vue","./govt/notification/detail.vue","./govt/notification/list.vue","./govt/notification/reply.vue","./govt/notification/send.vue","./govt/org/intermediaryList.vue","./govt/org/investmentList.vue","./govt/org/otherList.vue","./govt/problem/edit.vue","./govt/problem/list.vue","./govt/report/brief/edit.vue","./govt/report/brief/list.vue","./govt/report/csrc/list.vue","./govt/report/golden/list.vue","./govt/report/issue/edit.vue","./govt/report/issue/historyList.vue","./govt/report/issue/list.vue","./govt/report/major/list.vue","./govt/report/overseas/list.vue","./govt/report/sci/list.vue","./govt/report/silver/list.vue","./govt/report/summary/edit.vue","./govt/report/summary/list.vue","./govt/report/tutorial/list.vue","./govt/research/detail.vue","./govt/research/edit.vue","./govt/research/list.vue","./govt/research/record/detail.vue","./govt/research/record/edit.vue","./govt/research/record/list.vue","./govt/training/enroll/detail.vue","./govt/training/enroll/list.vue","./govt/training/list.vue","./govt/training/training.vue","./govt/widgets/IpoCaseNew.vue","./govt/widgets/IpoItemIndex.vue","./govt/widgets/IpoStatistics.vue","./govt/widgets/IpoStatisticsCase.vue","./govt/widgets/IpoStatisticsCaseDetail.vue","./govt/widgets/IpoStatisticsDetail.vue","./govt/widgets/LawsLibrary.vue","./govt/widgets/LettersInit.vue","./govt/widgets/Reorganization.vue","./govt/widgets/ReorganizationCase.vue","./govt/widgets/ReorganizationTarget.vue","./govt/widgets/agentQuery.vue","./govt/widgets/announcementIPO.vue","./govt/widgets/companyDisclosureInit.vue","./govt/widgets/majorFinancialIndInit.vue","./govt/widgets/nationalSecuritiesInit.vue","./govt/widgets/reorganizationList.vue","./govt/widgets/sentiment.vue","./govt/widgets/wisdomPolicyRecordList.vue","./hotIssues/hotIssues.vue","./hotIssues/hotIssuesDetail.vue","./index/company.vue","./index/financing-dynamic.vue","./index/greenChannel.vue","./index/greenChannelComponent.vue","./index/greenChannelThird.vue","./index/home.vue","./index/listedCollege.vue","./index/newsDetail.vue","./index/newsOne.vue","./index/newsTwo.vue","./index/policy-content.vue","./index/policy.vue","./index/work-content.vue","./index/work-dynamic.vue","./intermediaries/company/companyList.vue","./intermediaries/company/exportConfig.vue","./intermediaries/index/home.vue","./intermediaries/intermediary/intermediaryHistory.vue","./intermediaries/intermediary/intermediaryProfile.vue","./investment/investment/investmentHistory.vue","./investment/investment/investmentProfile.vue","./listedCenter/listedCenterVue.vue","./management/checkEnterprise/list.vue","./management/dictionary/area-list.vue","./management/dictionary/industry-list.vue","./management/dictionary/strategic-list.vue","./management/dynamic/edit.vue","./management/dynamic/list.vue","./management/dynamic/preview.vue","./management/hotProblem/edit.vue","./management/hotProblem/list.vue","./management/hsstockexchange/edit.vue","./management/hsstockexchange/list.vue","./management/knowledge/edit.vue","./management/knowledge/list.vue","./management/mangementMenuList.vue","./management/org/add.vue","./management/org/editor.vue","./management/org/list.vue","./management/policy/edit.vue","./management/policy/list.vue","./management/problem/edit.vue","./management/problem/list.vue","./management/problem/preview.vue","./management/statistics/statisticsTimes.vue","./management/user/enterprise/edit.vue","./management/user/enterprise/list.vue","./management/user/govt/editor.vue","./management/user/govt/list.vue","./management/workflow/home.vue","./notice/list.vue","./other/other/otherHistory.vue","./other/other/otherProfile.vue","./policy/policy.vue","./policy/policyDetail.vue","./profile/attribute.vue","./sample/area-selector.vue","./sample/date-picker.vue","./sample/file-download.vue","./sample/file-upload.vue","./sample/form-inline.vue","./sample/grid.vue","./sample/index.vue","./sample/tinymce.vue","./seedCompanies/seedCompaniesVue.vue","./sign/forget.vue","./sign/identifying-code.vue","./sign/identifying.vue","./sign/in.vue","./sign/out.vue","./sign/re-phone.vue","./sign/resetPasswordSuccess.vue","./sign/up-email.vue","./sign/up-phone.vue","./sign/up-pre.vue","./sign/up-tabs.vue","./widgets/LawsLibrary.vue","./workflow/enterprise-approval.vue","./workflow/enterprise-process.vue","./workflow/intermediary-approval.vue","./workflow/intermediary-process.vue","./workflow/investmentFinancing-approval.vue","./workflow/investmentFinancing-process.vue","./workflow/notification-handle.vue","./workflow/notification-process.vue","./workflow/problem-handle.vue","./workflow/problem-process.vue","./workflow/problem-transfer.vue","./workflow/research-handle.vue","./workflow/research-process.vue","./workflow/researchRecord-handle.vue","./workflow/researchRecord-process.vue","./workflow/training-approval.vue","./workflow/training-process.vue","webpackAsyncContext","req","ids","Promise","all","slice","e","then","reject","Error","keys","Object","id","$","__WEBPACK_IMPORTED_MODULE_0_vue__","__WEBPACK_IMPORTED_MODULE_1__style_lib_datetime_picker_css_bootstrap_datetimepicker_min_css__","__WEBPACK_IMPORTED_MODULE_3__style_lib_datetime_picker_js_locales_bootstrap_datetimepicker_zh_CN__","n","datePicker","Vue","directive","bind","el","binding","inserted","bindDateTimePicker","unbind","unbindDateTimePicker","_options","datePickerOptions","datetimepicker","on","ev","focus","value","val","data","blur","_format","_view","_position","_start","_end","console","log","autoclose","todayBtn","todayHighlight","clearBtn","weekStart","forceParse","showMeridian","keyboardNavigation","language","minuteStep","startView","minView","maxView","format","pickerPosition","startDate","endDate","UEDITOR_CONFIG","window","baidu","UE","editor","plugins","commands","instants","I18N","_customizeUI","dom","browser","agent","navigator","userAgent","toLowerCase","opera","ie","webkit","indexOf","mac","quirks","document","compatMode","gecko","product","v1","match","v2","Math","max","ie11Compat","documentMode","ie9Compat","ie8","ie8Compat","ie7Compat","ie6Compat","ie9above","ie9below","ie11above","ie11below","geckoRelease","split","chrome","RegExp","safari","parseFloat","isCompatible","mobile","air","utils","each","obj","iterator","context","length","i","l","call","key","hasOwnProperty","makeInstance","noop","Function","prototype","extend","t","s","b","k","extend2","a","arguments","x","inherits","subClass","superClass","oldP","newP","constructor","fn","apply","defer","delay","exclusion","timerID","clearTimeout","setTimeout","array","item","start","index","this","isNumber","v","removeItem","splice","trim","str","replace","listToMap","list","isArray","ci","toUpperCase","unhtml","reg","<","&","\"",">","'","unhtmlForUrl","html","m","<","&",""",">","'"," ","cssStyleToDomStyle","createElement","style","cache","float","undefined","cssFloat","styleFloat","cssName","charAt","loadFile","tmpList","getItem","doc","src","href","ready","funs","push","body","getElementById","element","tag","setAttribute","onload","onreadystatechange","readyState","fi","pop","onerror","getElementsByTagName","appendChild","write","join","isEmptyObject","isString","fixColor","color","parseInt","toString","optCss","padding","margin","opt","top","bottom","left","r","right","clone","source","target","tmp","transUnitToPx","unit","u","round","domReady","fnArr","doReady","isReady","onready","win","documentElement","doScroll","error","callee","attachEvent","addEventListener","removeEventListener","cssRule","indexList","nodeType","styleSheets","cssText","sheetStyle","createStyleSheet","innerHTML","parentNode","removeChild","sort","compareFn","item1","item2","localeCompare","len","j","serializeParam","json","strArr","encodeURIComponent","formatUrl","isCrossDomainUrl","protocol","location","hostname","port","clearEmptyAttrs","str2json","JSON","parse","json2str","stringify","escapeMap","\b","\t","\n","\f","\r","\\","pad","isFinite","String","c","charCodeAt","floor","preComma","result","encodeArray","isDate","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","encodeDate","encode","EventBase","getListener","force","allListeners","__allListeners","addListener","types","listener","ti","off","removeListener","trigger","fireEvent","listeners","dtd","_","X","A","isindex","fieldset","B","input","button","select","textarea","label","C","D","iframe","E","hr","ul","menu","div","blockquote","noscript","table","center","address","dir","pre","h5","dl","h4","noframes","h6","ol","h1","h3","h2","F","ins","del","script","G","acronym","bdo","var","#","abbr","code","br","cite","kbd","strike","tt","strong","q","samp","em","dfn","span","H","sub","img","embed","object","sup","basefont","applet","font","big","small","I","J","K","form","L","M","tr","N","O","param","P","Q","li","R","S","base","link","meta","title","T","U","head","V","block","empty","area","col","command","dialog","keygen","track","wbr","$nonBodyContent","$block","$inline","$inlineWithA","$body","$cdata","$empty","$nonChild","$listItem","dd","dt","$list","$isNotEmpty","$removeEmpty","$removeEmptyBlock","$tableContent","caption","colgroup","tbody","td","tfoot","th","thead","$notTransContent","option","optgroup","legend","getDomNode","ltr","startFromChild","guard","parent","tmpNode","tagName","attrFix","tabindex","readonly","for","class","maxlength","cellspacing","cellpadding","rowspan","colspan","usemap","frameborder","styleBlock","domUtils","NODE_ELEMENT","NODE_DOCUMENT","NODE_TEXT","NODE_COMMENT","NODE_DOCUMENT_FRAGMENT","POSITION_IDENTICAL","POSITION_DISCONNECTED","POSITION_FOLLOWING","POSITION_PRECEDING","POSITION_IS_CONTAINED","POSITION_CONTAINS","fillChar","8","46","16","17","18","37","38","39","40","13","getPosition","nodeA","nodeB","parentsA","parentsB","reverse","nextSibling","getNodeIndex","ignoreTextNode","preNode","previousSibling","inDoc","findParent","filterFn","includeSelf","isBody","findParentByTagName","tagNames","excludeFn","findParents","closerFirst","parents","insertAfter","newNode","insertBefore","remove","keepChildren","child","hasChildNodes","firstChild","getNextDomNode","getPreDomNode","isBookmarkNode","getWindow","ownerDocument","defaultView","parentWindow","getCommonAncestor","clearEmptySibling","ignoreNext","ignorePre","clear","next","isEmptyInlineElement","nodeValue","offset","createTextNode","retval","splitText","isWhitespace","getXY","y","offsetParent","offsetTop","offsetLeft","handler","_d","els","evt","srcElement","event","un","detachEvent","isSameElement","thisAttrs","attributes","otherAttrs","attrA","attrB","al","bl","nodeName","specified","isSameStyle","getNamedItem","styleA","styleB","isBlockElm","getComputedStyle","breakParent","leftNodes","rightNodes","parentClone","cloneNode","trimWhiteTextNode","mergeChild","attrs","childNodes","filter","className","hasClass","ni","arr","mergeToParent","textDecoration","mergeSibling","merge","rtl","lastChild","unSelectable","onselectstart","onclick","onkeyup","onkeydown","unselectable","MozUserSelect","webkitUserSelect","msUserSelect","KhtmlUserSelect","removeAttributes","attrNames","getAttributeNode","removeAttributeNode","removeAttribute","setAttributes","attr","styleName","fontSize","offsetHeight","getStyle","getPropertyValue","currentStyle","removeClasses","elm","classNames","cls","addClass","isRegExp","preventDefault","returnValue","removeStyle","removeProperty","setStyle","setStyles","styles","removeDirtyAttr","nodes","getChildCount","count","first","isEmptyNode","isBr","clearSelectedArr","scrollToView","mode","winHeight","width","clientWidth","height","clientHeight","currentScroll","pageXOffset","pageYOffset","scrollLeft","scrollTop","getScrollPosition","scrollTo","isFillChar","isInStart","text","isStartInblock","range","tmpRange","cloneRange","flag","startContainer","startOffset","setStartBefore","setStart","collapse","isEmptyBlock","setViewportOffset","rect","getBoundingClientRect","fillNode","moveChild","hasNoAttributes","outerHTML","isCustomeNode","getAttribute","isTagNode","filterNodeList","nodelist","forAll","results","isFunction","isInNodeEndBoundary","rng","isBoundaryNode","fillHtml","fillCharReg","fillData","guid","selectOneNode","collapsed","endContainer","endOffset","setEndPoint","toStart","updateCollapse","execContentsAction","action","tmpStart","tmpEnd","end","frag","createDocumentFragment","substringData","deleteData","current","currentLevel","startParents","endParents","si","ei","Range","me","removeFillData","excludeNode","contains","cloneContents","deleteContents","txt","extractContents","setEnd","setStartAfter","setEndAfter","setEndBefore","setStartAtFirst","setStartAtLast","setEndAtFirst","setEndAtLast","selectNode","selectNodeContents","shrinkBoundary","ignoreEnd","check","trimBoundary","txtToElmBoundary","textNode","ignoreCollapsed","adjust","container","insertNode","nextNode","setCursor","toEnd","noFillData","createBookmark","serialize","same","endNode","startNode","moveToBookmark","bookmark","enlarge","toBlock","stopFn","enlargeToBlockElm","adjustmentBoundary","applyInlineStyle","aNode","level","removeInlineStyle","getClosedNode","textRange","nativeRange","createControlRange","addElement","createTextRange","moveToElementText","moveStart","tmpText","nativeRangeEnd","notInsertFillData","txtNode","sel","getSelection","removeAllRanges","createRange","checkOffset","addRange","inFillChar","createAddress","ignoreTxt","addr","getAddress","isStart","addrs","firstIndex","startAddress","endAddress","concat","moveToAddress","getNode","equals","traversal","doFn","getBoundaryInformation","getIndex","duplicate","parentElement","distance","siblings","children","testRange","startIndex","endIndex","position","compareEndPoints","_getIERange","ieRange","getNative","Selection","frameElement","_bakIERange","getIERange","ex","rangeInBody","txtRange","selection","_cachedRange","getRange","_cachedStartElement","getStart","_cachedStartElementPath","getStartElementPath","isFocus","rangeCount","optimze","bi","transformIERangeToRange","firstRange","getRangeAt","lastRange","_bakRange","min","getText","nativeSel","clearRange","_selectionChangeTimer","uid","setValue","tis","options","hasContents","allHtmlEnabled","getAllHtml","getContent","langReadied","langIsReady","Editor","shortcutkeys","inputRules","outputRules","setOpt","defaultOptions","loadServerConfig","langPath","lang","plugin","load","checkCurLang","registerCommand","getOpt","destroy","display","offsetWidth","delEditor","render","getStyleValue","initialFrameWidth","minFrameWidth","initialFrameHeight","minFrameHeight","zIndex","iframeCssUrl","initialStyle","customDomain","domain","overflow","_setup","geckoSel","disabled","contentEditable","spellcheck","_initEvents","autoSyncData","initialContent","autoClearinitialContent","oldExecCommand","execCommand","_setDefaultContent","setContent","focusInEnd","_selectionChange","fullscreen","ui","setFullScreen","_bindshortcutKeys","_bakNativeRange","setInterval","isShow","setHide","setDisabled","sync","formId","setHeight","notSetHeight","addshortcutkey","cmd","keyCode","which","$1","ctrlKey","metaKey","$2","$3","queryCommandState","notSetCursor","ignoreBlank","formatter","root","htmlparser","filterOutputRule","toHtml","headHtml","headHtmlForIE9","charset","getPlainTxt","getContentTxt","isAppendTo","notFireSelectionchange","filterInputRule","enterTag","nativeRng","_proxyDomEvent","stopPropagation","shiftKey","altKey","mouseX","mouseY","hackForMouseUp","clientX","clientY","bakGetIERange","moveToPoint","_callCmdFn","fnName","args","cmdFn","cmdName","notNeedUndo","__hasEnterExecCommand","ignoreContentChange","_ignoreContentChange","queryCommandValue","cn","reset","setEnabled","lastBk","bkqueryCommandState","bkqueryCommandValue","enable","except","disable","cont","setShow","show","hide","getLang","path","getContentLength","ingoneHtml","addInputRule","rule","addOutputRule","getActionUrl","actionName","imageUrl","serverUrl","_url","UEDITOR_HOME_URL","autoClearEmptyNode","imagePopup","theme","themePath","scaleEnabled","tableNativeEditInFF","fileNameFormat","showErrorMsg","msg","configUrl","isJsonp","_serverConfigLoaded","ajax","request","method","dataType","onsuccess","config","eval","responseText","isServerConfigLoaded","afterConfigReady","readyHandler","fnStr","ActiveXObject","creatAjaxRequest","doJsonp","opts","callbackFnName","timer","matches","successhandler","scr","callbackField","timeOut","random","getCallBack","exec","search","queryStr","onTimeOut","exception","oncomplete","createScriptTag","ajaxOptions","xhr","timeIsOut","defaultAjaxOptions","timeout","async","ajaxOpts","submitStr","abort","Date","open","status","setRequestHeader","send","doAjax","getJSONP","filterWord","transUnit","marks","parts","filterPasteWord","uNode","notTransAttrs","_src","_href","cdata_data","notTransTagName","indentChar","breakChar","insertLine","begin","insertIndent","nodeToHtml","isText","attrhtml","isElement","isComment","getNodeById","getAttr","getNodesByTagName","createText","noTrans","htmlstr","tmpRoot","innerText","textStr","getData","replaceChild","cj","attrName","setAttr","attrVal","isObject","cssStyle","nodeTraversal","re_tag","re_attr","allowEmptyTags","needParentNode","needChild","htmlattr","needParentTag","hasParent","tmpParent","currentIndex","nextIndex","currentParent","lastIndex","filterNode","rules","tmpVal","tmpAttrs","tmpCssStyle","_plugins","register","pluginName","oldOptionName","afterDisabled","optionName","execFn","_export","eventName","execName","run","exeFn","keymap","Backspace","Tab","Enter","Shift","Control","Alt","CapsLock","Esc","Spacebar","PageUp","PageDown","End","Home","Left","Up","Right","Down","Insert","Del","NumLock","Cmd","=","-","z","LocalStorage","storage","localStorage","addBehavior","LOCAL_FILE","setItem","save","getUserData","saveLocalData","getLocalData","ROOTKEY","getObj","sourceEditors","setPreferences","getPreferences","removePreferences","allowDivTransToP","disabledTableInTable","cdata_tag","_ue_custom_node_","last","tmpNodes","tdParent","notNeedFilter","filterRules","hadBreak","tmpLi","autoHeightEnabled","autotypeset","mergeEmptyline","removeClass","removeEmptyline","textAlign","imageBlockLine","pasteFilter","clearFontSize","clearFontFamily","removeEmptyNode","removeTagNames","indent","indentValue","bdc2sb","tobdc","highlightCont","cookieOpt","remainClass","selectTdClass","pagebreak","anchorclass","remainTag","autotype","isLine","notEmpty","removeNotAttributeSpan","fontFamily","textIndent","pN","pNode","txtstring","fromCharCode","ToDBC","DBC2SB","shortcutkey","autosubmit","submit","isSetColored","cssRuleId","stringToObj","substr","setBackground","orgFn","bindEvents","su","imagePath","substring","bgObj","background-color","background-image","background-repeat","background-position","aftersetcontent","inputRule","outputRule","background","align","floatStyle","unhtmlData","border","alt","hspace","vspace","shift","imgCi","defaultValue","justify","bookmark2","common","text-align","doJustify","fonts","forecolor","backcolor","fontsize","fontfamily","underline","strikethrough","fontborder","needCmd","needSetChild","mergesibling","bk","mergeWithParent","backgroundColor","1","2","3","4","5","6","7","spanParent","styleVal","optimize","highlight","textValue","rngClone","doLink","ps","pe","as","_iframe","removeFormatTags","removeFormatAttributes","notIncludeA","tagReg","isRedundantSpan","bookmark1","doRemove","startBlock","endBlock","blockquotes","doEnd","childs","bkEnd","curNode","print","d","close","selectAll","notExchange","sourceCmdName","para","doParagraph","forward","doDirectionality","date","hh","ii","ss","formatTime","yyyy","yy","mm","formatDate","rowspacingtop","rowspacingbottom","lineheight","as3","bash","cpp","css","cf","c#","delphi","diff","erlang","groovy","java","jfx","js","pl","php","plain","python","ruby","scala","sql","vb","xml","filterTxtRules","brs","notNeedCodeQuery","help","undo","redo","searchreplace","preview","insertparagraph","elementpath","insertcode","inserthtml","selectall","fillchar","evtName","anchorname","anchor","20","notBreakTags","isHr","pageBreakTag","noshade","size","images","wordimage","urlList","word_img","saveSceneTimer","maxUndoCount","maxInputCount","noNeedFillCharTags","orgState","compareAddr","indexA","indexB","undoManger","hasUndo","hasRedo","content","restore","scene","update","clearKey","getScene","rngAddress","notCompareRange","rngAddrA","rngAddrB","currentScene","lastScene","keycont","Array","exclude","inputType","Undo","Redo","isCollapsed","interalTimer","clearInterval","stopCmdUndo","startCmdUndo","initZeroClipboard","ZeroClipboard","debug","swfPath","client","zeroclipboard","setText","textContent","setHtml","copy","alert","getClipboardData","callback","pastebin","pi","pastebins","querySelectorAll","txtContent","htmlContent","getPureHtml","atr","di","divs","tmpP","metas","dirtyNodes","spans","retainOnlyLabelPasted","plainType","tmpAddress","pasteplain","transP","removeNode","TD","PRE","BLOCKQUOTE","customStyle","cn1","cn2","num","num1","num2","dash","dot","listToArray","autoTransWordToList","insertorderedlist","decimal","lower-alpha","lower-roman","upper-alpha","upper-roman","insertunorderedlist","circle","disc","square","listDefaultPaddingLeft","listiconpath","maxListLevel","disablePInList","listStyle","OL","UL","liiconpath","adjustListStyle","ignore","nodeStyleType","styleIndex","setListStyle","paddingLeft","adjustList","ignoreEmpty","nextList","preList","getLi","customCss","pn","newChildrens","lastNode","orderlisttype","unorderlisttype","checkListType","cacheNode","appendLi","preventAndSave","findList","parentList","nextLi","checkLevel","levelNum","closeList","parentLi","startParent","endParent","bko","modifyStart","modifyEnd","nodeStyle","tmpFrag","tmpfrag","hasBlock","tmpDiv","tmpDivs","holder","onresize","setSelectionRange","dispose","codemirror","codeEditor","CodeMirror","tabMode","lineNumbers","lineWrapping","getWrapperElement","getScrollerElement","refresh","getCodeMirror","getValue","sourceEditor","orgSetContent","bakCssText","oldGetContent","bakAddress","sourceMode","sourceEditorFirst","oldQueryCommandState","codeMirrorJsUrl","rel","codeMirrorCssUrl","hTag","doSave","startTd","endTd","excludeTagNameForTabKey","tabSize","tabNode","elementUpdated","Scale","resizer","cover","prePos","startPos","init","dragId","hands","getDom","initStyle","initEvents","isDraging","_eventHandler","hand","proxy","updateContainerStyle","updateTargetElement","attachTo","_validScaledProp","prop","ele","wrap","isNaN","hideCover","showCover","editorPos","iframePos","targetObj","imgPos","borderLeftWidth","borderTopWidth","imageScale","imageScaleEnabled","_keyDownHandler","_mouseDownHandler","keydown","charCode","keyCodes","32","checkIsCludeLink","bakOverflow","currentHeight","isFullscreen","lastHeight","f","adjustHeight","enableAutoHeight","overflowY","disableAutoHeight","lastScrollY","onscroll","scrollY","topOffset","optsAutoFloatEnabled","autoFloatEnabled","toolbarBox","orgTop","uiUtils","LteIE6","placeHolder","defer_updateFloating","updateFloating","autofloatMsg","getClientRect","docStyle","backgroundImage","backgroundAttachment","enabled","unsetFloating","toobarBoxPos","origalFloat","origalLeft","rect3","toolbarTopOffset","creatInsertStr","classname","ext","lastIndexOf","switchImgAndVideo","img2video","videoObjs","cl","vi","UETable","indexTable","selectedTds","cellsRange","removeSelectedClass","cells","cell","addSelectedClass","getWidth","getTableCellAlignState","tempStatus","isSame","cellNode","currentState","getTableItemsByRange","getUETableBySelected","ueTable","getDefaultValue","tableBorder","tdPadding","tdBorder","tmpValue","borderMap","thin","medium","thick","insertRow","insertCell","getUETable","tdOrTable","cloneCell","ignoreMerge","keepPro","tmpCell","rowSpan","colSpan","borderLeftStyle","borderTopStyle","borderLeftColor","borderRightColor","borderRightWidth","borderTopColor","borderBottomColor","borderBottomWidth","getMaxRows","row","rows","maxLen","currentMax","getMaxCols","cellRows","cellsNum","getCellColIndex","getHSideCell","previewRowIndex","previewColIndex","cellInfo","getCellInfo","beginColIndex","colIndex","endColIndex","colsNum","beginRowIndex","rowIndex","getCell","cellIndex","getTabNextCell","preRowIndex","nextCell","getVSideCell","ignoreRange","nextRowIndex","nextColIndex","endRowIndex","rowsNum","getSameEndPosCells","xOrY","returns","setCellContent","getSameStartPosXCells","dNum","tds","selectTds","startInfo","endInfo","rowInfo","numCols","deleteCell","getCellsRange","cellA","cellB","cellAInfo","cellBInfo","checkRange","tmpBeginRowIndex","tmpBeginColIndex","tmpEndRowIndex","tmpEndColIndex","getCells","clearSelected","tdHash","returnTds","setSelected","isFullRow","isFullCol","ths","getNextCell","getPreviewCell","moveContent","cellTo","cellFrom","mergeRight","rightColIndex","rightCellInfo","rightCell","mergeDown","downRowIndex","downCellInfo","downCell","mergeRange","leftTopCell","info","deleteRow","curIndex","sourceCell","isInsertTitle","replaceTdToTh","tableRow","infoRow","insertCellIndex","nextRow","preMerged","getPreviewMergedCellsNum","deleteTds","cacheMap","tmpRowIndex","tmpCellIndex","mergeTds","insertCol","preCell","backWidth","isInsertTitleCol","updateWidth","tmpWidth","deleteCol","tableRows","backTableWidth","backTdWidth","toFixed","splitToCells","splitToRows","splitToCols","endRow","indexRow","endCol","isLastCell","getLastCell","cols","selectRow","selectTable","repeat","colorList","colors","removeBackground","UT","resetTdWidth","needIEHack","getTableWidth","tdsWidths","getSelectedArr","ut","defaultCols","numRows","defaultRows","tdvalign","firstParentBlock","tableWidth","tdWidth","createTable","valign","firstRow","tableItems","maxRowNum","newCell","maxColNum","averageWidth","setAverageWidth","tb","sumWidth","tbAttr","ceil","getAverageWidth","averageHeight","rowNum","sumHeight","tdpadding","captionHeight","thHeight","captionArr","thArr","trs","getAverageHeight","verticalAlign","vAlign","activeMenuCell","borderColor","bkColor","interlaced","classList","borderWidth","borderStyle","tableDragTimer","cellMinWidth","isInResizeBuffer","cellBorderWidth","offsetOfTableCell","singleClickState","userActionStatus","dblclickTime","orgGetText","currentTd","onDrag","onBorder","dragButton","dragOver","dragLine","dragTd","mousedown","cursorpath","tableDragable","deletetable","inserttable","cellvalign","insertcaption","deletecaption","inserttitle","deletetitle","mergeright","mergedown","mergecells","insertrow","insertrownext","deleterow","insertcol","insertcolnext","deletecol","splittocells","splittorows","splittocols","adaptbytext","adaptbywindow","adaptbycustomer","insertparagraphbeforetable","averagedistributecol","averagedistributerow","removeStyleSize","replaceToProperty","getParentTdOrTh","mouseCoords","pageX","pageY","clientLeft","clientTop","mouseMoveEvent","isEditorDisabled","pos","abs","clearTableDragTimer","tableBorderDrag","toggleDraggableState","preTd","nextTd","getPermissionX","mousePosY","getPermissionY","state","getRelation","inTableSide","cursor","toggleDragButton","onmouseover","onmouseout","doDblClick","createDragButton","capHeight","draggable","mousePos","hideDragLine","getDragLine","showDragLineAt","elePos","mouseDownEvent","getTargetTd","tableClickHander","tableDbclickHandler","h","getCellsByMoveBorder","originArr","extractArray","oldWidth","newWidth","changeable","change","getTabcellSpace","newObj","reconstruct","borderActionHandler","mouseOverEvent","mouseUpEvent","dragTdPos","dragLinePos","changeValue","relatedCell","direction","getTableCellWidth","cellGroup","curCell","correctChangeValue","changeColWidth","backHeight","setCellHeight","changeRowHeight","tar","lineHight","tmpHeight","isContainMergeCell","temp","borderCells","tabRow","currIndex","tabCell","tab","offsetVal","prev","getTableCellOffset","tabcellSpace","trow","tabcell","mirror","paddingSpace","tmpTabWidth","contenteditable","onresizestart","ondragstart","line","tablePos","cellPos","switchBorderColor","tableArr","cellWidth","cellHeight","tableCopyList","tables","cloneTd","wordBreak","onmousemove","endTdCol","endTdRow","currentRowIndex","ua","notCtrlKey","ratio","backWidths","datatat","cmdFun","lastState","lastValue","sortTable","sortByCellIndex","trArray","lastRowIndex","Fn","reversecurrent","td1","td2","orderbyasc","value1","value2","reversebyasc","orderbynum","reversebynum","tr1","tr2","fragment","items","contextMenu","cleardoc","confirm","confirmclear","unlink","group","paragraph","icon","subMenu","justifyleft","justifyright","justifycenter","justifyjustify","inserttitlecol","deletetitlecol","averageDiseRow","averageDisCol","edittd","getDialog","edittable","setbordervisible","tablesort","enablesort","disablesort","borderbk","setcolor","unsetcolor","setbackground","unsetbackground","redandblue","threecolorgradient","aligntd","aligntable","tableleft","tablecenter","tableright","insertparagraphbefore","insertparagraphafter","getViewportOffsetByEvent","contextItems","subItem","query","getLabel","Menu","showAt","clip","shortcutMenu","customEvt","screenX","screenY","ShortCutMenu","isHidden","basestyles","bold","italic","subscript","superscript","Bold","Italic","Underline","elementPathEnabled","names","addList","imgT","addFormat","_blockElm","findTextInString","searchStr","casesensitive","findNTextInBlockElm","currentNode","currentNodeLength","searchReplace","startBlockNode","rngText","replaceStr","replaceText","methodName","findTextBlockElm","rngStart","rngEnd","customstyle","tmpObj","catchRemoteImageEnable","catcherLocalDomain","catcherActionUrl","catcherUrlPrefix","catcherFieldName","remoteImages","imgs","urls","host","catchremoteimage","callbacks","params","success","oldSrc","newSrc","snapplugin","getLocation","pathname","hash","snapscreen","local","res","onSuccess","rs","snapscreenUrlPrefix","snapscreenImgAlign","callBackErrorMsg","saveSnapshot","_dialogs","front","createInsertStr","toEmbed","cssfloat","logo","webapp","tnode","music","musicObj","sendAndInsertFile","file","fieldName","urlPrefix","maxSize","allowFiles","actionUrl","loadingHtml","errorHandler","successHandler","filetype","loadingId","loader","original","fileext","XMLHttpRequest","fd","FormData","append","response","er","FileReader","hasImg","clipboardData","getPasteImage","dataTransfer","files","getDropImage","getAsFile","lastSaveTime","MIN_TIME","saveKey","saveData","_saveFlag","saveInterval","contentchange","clearlocaldata","getlocaldata","drafts","chartserror","charts","tableNode","flagText","validData","subTitle","xTitle","yTitle","suffix","tip","dataFormat","tableDataFormat","chartType","firstRows","cellCount","getSection","section","nextSection","previousSection","parentSection","getNodeFromAddress","bindMultiEvents","afterexeccommand","keyup","getsections","levels","levelFn","getSectionLevel","Directory","previous","tmpSection","movesection","sourceSection","targetSection","isAfter","targetAddress","addressTarget","isAfterStartAddress","isBeforeEndAddress","isContainsAddress","deletesection","selectsection","scrolltosection","containerBtn","isLoaded","initUploadBtn","w","btnIframe","btnStyle","wrapper","btnIframeDoc","btnIframeBody","timestrap","contentDocument","contentWindow","imageFieldName","stateTimer","imageActionUrl","filename","showErrorLoader","imageUrlPrefix","simpleuploadbtnready","simpleupload","serverParam","serverparam","insertfile","filelist","maps","URL","iconDir","rar","zip","gz","bz2","docx","pdf","mp3","xls","chm","ppt","pptx","avi","rmvb","wmv","flv","swf","rm","exe","psd","jpg","png","jpeg","gif","ico","bmp","xssFilter","whitList","xssFilterRules","tagList","inputXssFilter","outputXssFilter","uidCount","hook","dg","_callbacks","createElementByHtml","getViewportElement","bcr","getViewportRect","viewportEl","innerWidth","innerHeight","fixedLayer","getFixedLayer","getEventOffset","frameEl","setGlobal","magic","unsetGlobal","copyAttributes","tgt","attrNode","elA","elB","compareDocumentPosition","startDrag","startX","startY","handleMouseMove","ondragmove","cancelBubble","handleMouseUp","ondragstop","releaseCaptrue","releaseCapture","setCapture","layer","updateFixedOffset","makeUnselectable","WebkitUserSelect","UIBase","uiName","initOptions","initUIBase","_globalKey","renderHtml","seatEl","postRender","getHtmlTpl","formatHtml","tpl","prefix","box","Separator","initSeparator","Mask","_fill","_onMouseDown","_onClick","vpRect","Popup","initPopup","allPopups","closeAllPopup","queryAutoHide","postHide","ANCHOR_CLASSES","SHADOW_RADIUS","_hidden","autoRender","canSideLeft","canSideUp","getContentHtmlTpl","_UIBase_postRender","captureWheel","captured","_height","_top","combox","ifr","wheelDelta","detail","_doAutoRender","mesureSize","fitSize","sized","__size","popBodyEl","showAnchor","hoz","showAnchorRect","adj","visibility","_show","sideLeft","sideUp","popSize","popEl","notNofity","ColorPicker","noColorText","COLORS","genColorPicker","_onTableClick","_onTableOver","_onTableOut","_onPickNoColor","TablePicker","initTablePicker","defaultNumRows","defaultNumCols","maxNumRows","maxNumCols","lengthOfCellSide","_UIBase_render","_track","sideLen","_onMouseOver","relatedTarget","fromElement","_onMouseOut","toElement","_onMouseMove","TPL_STATEFUL","Stateful","alwalysHoverable","Stateful_init","_Stateful_dGetHtmlTpl","Stateful_getHtmlTpl","Stateful_onMouseEnter","isDisabled","addState","Stateful_onMouseLeave","removeState","Stateful_onMouseOver","Stateful_onMouseOut","Stateful_onMouseDown","Stateful_onMouseUp","Stateful_postRender","hasState","getStateDom","isChecked","setChecked","checked","Button","btnName","cssRules","initButton","showIcon","showText","setTitle","SplitButton","initSplitButton","popup","setPopup","_onPopupShow","_onPopupHide","showPopup","_onArrowClick","_onButtonClick","ColorButton","initColorButton","onpickcolor","_onPickColor","onpicknocolor","_SplitButton_postRender","setColor","TableButton","initTableButton","onpicktable","_onPickTable","AutoTypeSetPicker","initAutoTypeSetPicker","textAlignInputName","imageBlockInputName","symbolConverInputName","mergeLine","delLine","removeFormat","alignment","imageFloat","removeFontsize","removeFontFamily","removeHtml","symbol","AutoTypeSetButton","initAutoTypeSetButton","getPara","ipt","editorId","ipts","attrValue","iptchild","iptChilds","selects","popupUI","radios","defalutSelect","symbolConver","checkboxs","CellAlignPicker","initSelected","initCellAlignPicker","middle","selected","selectedIndex","alignType","tempClassName","tempIndex","tmpl","PastePicker","initPastePicker","_isTransfer","cur","screenHt","subPop","Toolbar","initToolbar","add","buff","initMenu","menuSeparator","initItems","getSeparator","MenuItem","createItem","_Popup_getContentHtmlTpl","_Popup_postRender","ownerMenu","clearItems","_showingTimer","_closingTimer","parentMenu","renderLabelHtml","delayShowSubMenu","delayHideSubMenu","hideSubMenu","_bakQueryAutoHide","tabIndex","showSubMenu","this_","Combox","initCombox","onbuttonclick","selectByIndex","setLabel","initValue","indexByValue","getLabelForUnknowValue","modalMask","dragMask","activeDialog","Dialog","autoReset","onok","oncancel","onclose","ok","holdScroll","initDialog","closeButton","closeDialog","initResizeEvent","buttons","__resizeTimer","dialogWrapNode","contentNode","wrapRect","contentRect","safeSetOffset","showAtCenter","_originalContext","overflowX","titleHeight","getContentHtml","contentHtml","iframeUrl","footHtml","_hide","_onTitlebarMouseDown","wrapNode","_onCloseButtonClick","MenuButton","initMenuButton","_value","MultiMenuPop","initMultiMenu","iframe_rendered","onshow","timeID","UI","allMenus","isSubMenuShow","initShortCutMenu","hideAllMenu","SPACE","initEvent","getSubMenuMark","eventType","wt","ht","distanceX","distanceY","setOpacity","relatedTgt","opacity","layerEle","hasContextmenu","fixedlayer","setPos","setPosByCxtMenu","Breakline","Message","initMessage","keepshow","setType","closer","getType","editorui","_Dialog","scrollX","iframeUrlMap","insertimage","spechars","gmap","insertvideo","emotion","attachment","insertframe","edittip","scrawl","template","btnCmds","labelMap","causeByUi","uiReady","typeset","imagefloat","directionality","cmd2","dialogBtns","noOk","vals","mapUrl","onselect","langLabel","langCs","ck","ri","rowspacings","lists","_onMenuClick","isFullScreen","iconSpan","nodeStack","EditorUI","initEditorUI","_initToolbars","_actualFrameWidth","wordCount","setCount","_scale","enableScale","disableScale","pastePop","isPaste","maximumWords","wordCountMsg","wordOverFlowMsg","errMsg","countDom","_onEditButtonClick","linkDialog","_onImgEditButtonClick","_onImgSetFloat","_setIframeAlign","frame","anchorEl","newFrame","_updateIframe","mapDialog","insertframeDialog","_onRemoveButtonClick","dialogs","dialogName","toolbars","toolbarUis","toolbar","toolbarUi","toolbarItem","toolbarItemUi","itemUI","renderToolbarBoxHtml","showWordImageDialog","_fullscreen","_bakHtmlOverflow","_bakBodyOverflow","_bakAutoHeight","_bakScrollTop","_bakEditorContaninerWidth","_bakCssText","_bakCssText1","_updateFullScreen","scroll","triggerLayout","_updateElementPath","disableElementPath","enableElementPath","editorHolder","editorDocument","bottombar","scale","scalelayer","isMouseMove","minEditorHeight","minEditorWidth","scaleWidth","scaleHeight","down","move","up","clearSelection","fullScreen","timerId","updateFullScreenTime","showToolbarMsg","hideToolbarMsg","zoom","instances","oldRender","renderUI","newDiv","displays","styleWidth","getEditor","registerUI","_messageItems","updateHolderPos","toolbarbox","message","mid","app","breadcrumb","userSession","userNotice","mutations","SET_BREADCRUMB","SET_USER_SESSION","SET_USER_NOTICE","actions","setBreadcrumb","_ref","commit","promise_default","resolve","setUserSession","_ref2","setUserNotice","_ref3","getters","use","Vuex","store","Store","modules","triggerSelectorChangeEvent","_el","changeSelectorEvent","Event","dispatchEvent","selector","_binding","bindSelectorInput","_evt","onSelectorKeyDownHandler","onSelectorFocusHandler","triggerValidatorElementEvent","_key","validator","toast","created","updated","mounted","activated","dismissSecs","dismissCountDown","variant","methods","countDownChanged","_content","_variant","components","computed","helpers_extends_default","vuex_esm","message_toast","_vm","_h","$createElement","_c","_self","staticClass","dismissible","dismissed","$event","dismiss-count-down","_v","_s","staticRenderFns","components_message_toast","normalizeComponent","ssrContext","message_confirm","confirmMode","onConfirmCallback","onCancelCallback","_confirm","_cancel","_title","$refs","confirmModal","confirmHandler","cancelHandler","components_message_confirm","ref","centered","no-close-on-backdrop","no-close-on-esc","button-size","title-tag","footer-class","ok-title","ok-variant","cancel-variant","cancel-title","ok-only","cancel","basement_components_message_confirm","confirm_normalizeComponent","loading","_this","$nextTick","$loading","lock","spinner","_this2","message_loading","components_message_loading","loading_normalizeComponent","message_layer","layerIFrameRef","layerIFrameTemp","_layerIFrame","layerFormTemp","_layerForm","_inputNodes","listenerIFrame","_prop","LayerModal","components_message_layer","hide-footer","modal-class","staticStyle","_l","_index","data-value","basement_components_message_layer","layer_normalizeComponent","_Toast","install","component","Toast","_Confirm","Confirm","_Loading","Loading","_Layer","Layer","selectortype_script_index_0_src_app","selectortype_template_index_0_src_app","src_app","app_normalizeComponent","WHITE_LIST","_Router","beforeEach","to","from","sessionStorage","_routerInterceptor","includes","routerHandler","_sessionStatus","session","_sessionMe","_noticeUnreadCountListener","dispatch","catch","redirect","initialized","_initializeRouter","_breadcrumbHandler","org","addRoutes","_AsyncRouterMap4Console","_AsyncRouterMap4Govt","_AsyncRouterMap4LeadinGgroup","authorities","_AsyncRouterMap4Management","_AsyncRouterMap4Intermediary","matched","_response","_reason","NOTICE_LISTENER","_noticeUnreadCountHandler","_noticeUnreadCount","productionTip","BootstrapVue","axios","ElementUI","router","App","getUEBasePath","docUrl","confUrl","basePath","optimizationPath","getBasePath","self","configPath","origin","article","aside","audio","bdi","details","footer","header","mark","nav","video","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default","__WEBPACK_IMPORTED_MODULE_1_vue__","validatorElementEvent","vnode","bindValidator","vm","onSubmitHandler","validationListener","validationForm","submitHandler","_rules","hasInvalid","_controller","_node","controllerValidation","addValidationEvents","_rule","forEach","readOnly","isValid","failedProp","validateRule","updateValidationUI","industry_code_path","Boolean","required","$el","removeErrorMessage","updateErrorMessage","messageObj","messageText","tipError","querySelector","isIE","removeLastbs","notCover","isBoolean","inArray","pushItem","parselist","parseName","uParse","contents","jsurl","cssurl","pres","XRegExp","rootPath","highlightJsUrl","highlightCssUrl","SyntaxHighlighter","sortType","tableSortCompareFn","updateTable","chartContainerHeight","resourceRoot","containers","sources","formatData","metaConfig","rowData","metaData","loadHighcharts","Highcharts","loadTypeConfig","chartConfig","analysisConfig","renderChart","createContainer","typeConfig","highcharts","credits","exporting","subtitle","xAxis","categories","yAxis","plotLines","tooltip","valueSuffix","layout","series","jlen","curData","rootNode","extractChartData","jQuery","ols","uls","applyStyle","sourcePath","swfUrl","videojs","autoSetup","flash","_getTitle","light","pageTitle","getTitle","menuList","prepareMenuList","stringify_default","active","isFinancialUser","isSettingAuth","shouldShowMenuItem","shouldShowSettingMenu","gradeToCheck","grades","authToCheck","MenuClickHandler","$router","err","headerBarHomeHandler","headerBarPortalHandler","headerBarSignInHandler","headerBarSignUpHandler","headerBarNoticeHandler","headerBarProfileHandler","headerBarSettingsHandler","headerBarSignOutHandler","extends_default","header_light","toggleable","click","HeaderActive","_e","is-nav","aria-hidden","slot","components_header_light","components_footer","_m","app_components_footer","footer_normalizeComponent","screen","destroyed","Header","Footer","layout_screen","basement_layout_screen","screen_normalizeComponent","dark","header_dark","components_header_dark","dark_normalizeComponent","signfooter","components_signfooter","app_components_signfooter","signfooter_normalizeComponent","jumbotron1","Signfooter","jumbotron_jumbotron1","margin-top","layout_jumbotron_jumbotron1","jumbotron1_normalizeComponent","jumbotron2","jumbotron_jumbotron2","layout_jumbotron_jumbotron2","jumbotron2_normalizeComponent","jumbotron3","jumbotron_jumbotron3","layout_jumbotron_jumbotron3","jumbotron3_normalizeComponent","sidebar_console","collegeHandle","hotIssuesHandle","components_sidebar_console","has_shortcut","app_components_sidebar_console","console_normalizeComponent","components_breadcrumb","app_components_breadcrumb","breadcrumb_normalizeComponent","layout_console","bodyContainer","bodyPS","perfect_scrollbar_esm","watch","$route","Sidebar","Breadcrumb","basement_layout_console","keepAlive","src_basement_layout_console","layout_console_normalizeComponent","govt","summaryShow","openWindow","sidebar_govt","layout_govt","govt_normalizeComponent","basement_layout_govt","src_basement_layout_govt","layout_govt_normalizeComponent","leadingGroup","sidebar_leadingGroup","layout_leadingGroup","leadingGroup_normalizeComponent","basement_layout_leadingGroup","src_basement_layout_leadingGroup","layout_leadingGroup_normalizeComponent","admin","sidebar_admin","user","layout_admin","admin_normalizeComponent","basement_layout_admin","src_basement_layout_admin","layout_admin_normalizeComponent","Intermediary","showFlag","orgMap","BROKER","ACCOUNTING_FIRM","LAW_FIRM","INVESTMENT","FUND","FUND_CUSTODIAN","MONETARY","APPRAISAL_FIRM","MEDIA","ADVICE_FIRM","OTHER","sidebar_Intermediary","layout_Intermediary","Intermediary_normalizeComponent","basement_layout_Intermediary","src_basement_layout_Intermediary","layout_Intermediary_normalizeComponent","portal","indexTabName","headerList","activate","beforeDestroy","goTo","changNum","refName","headerClick","headerBarIndexHandler","navigatorKnowledgeHandler","navigatorGreenChannelHandler","navigatorseedEnterpriseHandler","navigatorseedListedCenterHandler","navigatorDynamicHandler","navigatorPolicyHandler","navigatorResourcelHandler","resourceStoreRef","scrollIntoView","navigatorBreedingHandler","navigatorLawsHandler","getOrgInfoSafely","orgInfoStr","keys_default","header_portal","layout_portal","portal_normalizeComponent","app_layout_portal","z-index","min-height","src_app_layout_portal","layout_portal_normalizeComponent","_01","error_401","basement_error_401","_01_normalizeComponent","_03","error_403","basement_error_403","_03_normalizeComponent","_04","error_404","_04_normalizeComponent","_00","error_500","basement_error_500","_00_normalizeComponent","__webpack_exports__","process","_import","require","VueRouter","_ConstantRouterMap","_ScreenLayout","hidden","_Jumbotron1","_Jumbotron2","_Jumbotron3","_ERROR_401","_ERROR_403","_ERROR_500","_AsyncRouterHomeMap","_PortalLayout","_ConsoleLayout","props","reorganizationType","ipoType","_GovtLayout","_LeadingGroup","_AdminLayout","_IntermediaryLayout","false","MergedRouterMap","scrollBehavior","routes","backLevel","prevRouteName","KEY","CryptoJS","enc","Utf8","IV","_signInForm","word","keyStr","ivStr","iv","srcs","encrypted","AES","encrypt","CBC","ZeroPadding","Base64","ciphertext","Encrypt","password","headers","content-type","qs","UTC","g","isRTL","formatType","parseFormat","getDefaultFormat","isInline","isVisible","isInput","is","fontAwesome","bootcssVer","find","componentReset","hasInput","linkField","linkFormat","initialDate","timezone","icons","leftArrow","rightArrow","icontype","_attachEvents","clickedOutside","closest","formatViewType","convertViewMode","modes","wheelViewModeNavigation","wheelViewModeNavigationInverseDirection","wheelViewModeNavigationDelay","startViewMode","viewMode","viewSelect","templateV3","picker","appendTo","mousewheel","toggleClass","weekEnd","onRenderDay","onRenderHour","onRenderMinute","o","getUTCMinutes","onRenderYear","getUTCFullYear","onRenderMonth","datesDisabled","daysOfWeekDisabled","setStartDate","setEndDate","setDatesDisabled","setDaysOfWeekDisabled","setMinutesDisabled","minutesDisabled","setHoursDisabled","hoursDisabled","fillDow","fillMonths","showMode","_events","_detachEvents","outerHeight","place","getUTCDate","getTime","getTimezoneOffset","getInitialDate","setInitialDate","setDate","setUTCDate","viewDate","fill","setFormat","getFormattedDate","valueOf","parseDate","updateNavArrows","toDateString","outerWidth","hour_minute","daysMin","setUTCMonth","monthsShort","getUTCMonth","getUTCHours","months","today","en","toggle","getDaysInMonth","getUTCDay","setUTCHours","meridiem","setUTCMinutes","setUTCSeconds","eq","setUTCFullYear","wheelPause","originalEvent","navStep","moveHour","moveDate","moveMonth","moveYear","convertViewModeText","_setDate","getUTCSeconds","moveMinute","dateWithinRange","oldViewMode","newViewMode","clsName","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default","defaults","Constructor","dates","days","daysShort","navFnc","isLeapYear","validParts","nonpunctuation","separators","setMilliseconds","HH","MM","Z","DD","Y","headTemplate","headTemplateV3","contTemplate","footTemplate","DPGlobal","noConflict","define","predicate","TypeError","thisArg","fmt","M+","d+","h+","m+","s+","q+","getMilliseconds","dateAdd","interval","number","ms","dateDiff","objDate2","t2","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_regenerator__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_regenerator___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_promise__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_promise___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_asyncToGenerator__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_asyncToGenerator___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_core_js_json_stringify__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_core_js_json_stringify___default","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_set__","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_set___default","__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass__","__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass___default","__WEBPACK_IMPORTED_MODULE_7_axios__","service","create","baseURL","EventEmitter","cbres","cbrej","ansType","cbArr","pendingRequest","generateReqKey","isFileUploadApi","interceptors","_callee","reqKey","_context","has","sent","abrupt","t0","pendKey","stop","_x","delete","emit","duration","formatmatch","horizontal","removeformat","time","directionalityltr","directionalityrtl","imagenone","imageleft","imageright","imagecenter","touppercase","tolowercase","songti","kaiti","heiti","lishu","yahei","andaleMono","arial","arialBlack","comicSansMs","impact","timesNewRoman","tc","tl","im","hi","autoupload","exceedSizeError","exceedTypeError","jsonEncodeError","loadError","errorLoadConfig","elementPathTip","wordCountTip","tableDrag","loadconfigError","loadconfigFormatError","loadconfigHttpError","snapScreen_plugin","browserMsg","uploadErrorMsg","confirmClear","deletecode","mergeleft","copymsg","paste","pastemsg","anthorMsg","clearColor","standardColor","themeColor","property","default","modify","anchorMsg","clickToUpload","unset","t_row","t_col","more","pasteOpt","pasteSourceFormat","tagFormat","pasteTextFormat","autoTypeSet","static","lang_background_normal","lang_background_local","lang_background_set","lang_background_none","lang_background_colored","lang_background_color","lang_background_netimg","lang_background_align","lang_background_position","repeatType","noUploadImage","toggleSelect","lang_tab_remote","lang_tab_upload","lang_tab_online","lang_tab_search","lang_input_url","lang_input_size","lang_input_width","lang_input_height","lang_input_border","lang_input_vhspace","lang_input_title","lang_input_align","lang_imgLoading","lang_start_upload","searchType","searchTxt","searchBtn","searchReset","noneAlign","leftAlign","rightAlign","centerAlign","uploadSelectFile","uploadAddFile","uploadStart","uploadPause","uploadContinue","uploadRetry","uploadDelete","uploadTurnLeft","uploadTurnRight","uploadPreview","uploadNoPreview","updateStatusReady","updateStatusConfirm","updateStatusFinish","updateStatusError","errorNotSupport","errorExceedSize","errorFileType","errorInterrupt","errorUploadRetry","errorHttp","errorServerUpload","remoteLockError","numError","imageUrlError","imageLoadError","searchRemind","searchLoading","searchRetry","lang_drop_remind","lang_tab_insertV","lang_tab_searchV","lang_tab_uploadV","lang_video_url","lang_video_size","lang_videoW","lang_videoH","lang_alignment","videoSearchTxt","videoType","videoSearchBtn","videoSearchReset","lang_input_fileStatus","startUpload","lang_upload_size","lang_upload_width","lang_upload_height","lang_upload_alignment","lang_format_advice","floatLeft","floatRight","\"default\"","urlError","clickToSelect","goToSource","noVideo","browseFiles","uploadSuccess","delSuccessFile","delFailSaveFile","statusPrompt","flashVersionError","flashLoadingError","fileUploadReady","delUploadQueue","limitPrompt1","limitPrompt2","delFailFile","fileSizeLimit","emptyFile","fileTypeError","unknownError","fileUploading","cancelUpload","netError","failUpload","serverIOError","noAuthority","fileNumLimit","failCheck","fileCanceling","stopUploading","tip1","tip2","applyFor","anthorApi","lang_template_bkcolor","lang_template_clear","lang_template_select","blank","blog","resume","richText","sciPapers","lang_input_previousStep","lang_input_nextsStep","lang_input_clear","lang_input_addPic","lang_input_ScalePic","lang_input_removePic","J_imgTxt","noScarwl","scrawlUpLoading","continueBtn","imageError","backgroundUploading","lang_input_tips","J_searchBtn","emptyTxt","chapter","singer","special","listenTest","lang_input_anchorName","lang_data_source","lang_chart_format","lang_data_align","lang_chart_align_same","lang_chart_align_reverse","lang_chart_title","lang_chart_main_title","lang_chart_sub_title","lang_chart_x_title","lang_chart_y_title","lang_chart_tip","lang_cahrt_tip_prefix","lang_cahrt_tip_description","lang_chart_data_unit","lang_chart_data_unit_title","lang_chart_data_unit_description","lang_chart_type","lang_prev_btn","lang_next_btn","lang_input_choice","lang_input_Tuzki","lang_input_BOBO","lang_input_lvdouwa","lang_input_babyCat","lang_input_bubble","lang_input_youa","lang_input_address","lang_input_search","searchError","lang_input_about","lang_input_shortcuts","lang_input_introduction","lang_Txt_shortcuts","lang_Txt_func","lang_Txt_bold","lang_Txt_copy","lang_Txt_cut","lang_Txt_Paste","lang_Txt_undo","lang_Txt_redo","lang_Txt_italic","lang_Txt_underline","lang_Txt_selectAll","lang_Txt_visualEnter","lang_Txt_fullscreen","lang_input_isScroll","lang_input_frameborder","lang_input_alignMode","enterAddress","lang_input_text","lang_input_target","validLink","httpPrompt","lang_city","lang_address","city","lang_search","lang_dynamicmap","cityMsg","errorMsg","lang_tab_replace","lang_search1","lang_search2","lang_replace","lang_searchReg","lang_searchReg1","lang_case_sensitive1","lang_case_sensitive2","nextFindBtn","preFindBtn","nextReplaceBtn","preReplaceBtn","repalceBtn","repalceAllBtn","getEnd","countMsg","lang_showMsg","lang_download","lang_step1","lang_step2","tsfh","lmsz","szfh","rwfh","xlzm","ewzm","pyzm","yyyb","zyzf","lang_tableStyle","lang_insertCaption","lang_insertTitle","lang_insertTitleCol","lang_orderbycontent","lang_tableSize","lang_autoSizeContent","lang_autoSizePage","lang_example","lang_borderStyle","lang_color","captionName","titleName","cellsName","lang_delRow","lang_delCol","lang_tdBkColor","formula","lang_resave","uploadBtn","clipboard","lang_step","fileType","flashError","copySuccess","flashI18n","autosave","saving","_page","_size","_params","page","noticeId","__WEBPACK_IMPORTED_MODULE_0__basement_service_request__"],"mappings":"0QAAAA,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAA,i3LCAAD,EAAAC,QAAA,+oCCAAD,EAAAC,QAAA,0iBCAAD,EAAAC,SAAkBG,QAAA,kEAAAC,cAAA,EAAAC,MAAA,YAAAC,IAAA,YAAAC,WAAA,EAAAC,WAAA,kGAAAC,UAAA,OAAAC,oBAA+SC,YAAeC,KAAA,UAAAC,UAAA,EAAAC,IAAA,YAAAC,KAAA,MAAAC,YAAA,MAAAC,QAAA,QAAAC,SAAA,KAAAC,UAAA,SAA0IC,aAAA,kBAAAC,UAAA,uEAAAC,MAAA,QAAAC,OAAA,oDAAAC,QAA4MT,KAAA,gBAAAU,MAAA,2BAAyDC,MAASC,IAAA,sCAA2CC,cAAiBC,UAAA,SAAAC,WAAA,SAAAC,SAAA,UAAyDC,YAAA,0HAAAC,iBAA4JC,MAAA,QAAAC,QAAA,SAAkCC,SAAYC,KAAA,aAAmBC,SAAA,+BAAAC,UAAA,qGAAAC,QAAA,MAAAC,KAAA,aAAAC,YAAA,mFAAA3B,KAAA,MAAA4B,YAA4T/B,KAAA,MAAAe,IAAA,2CAA6DiB,SAAYC,KAAA,qCAA2CC,MAAA,qGAAAC,QAAA,+BCA1+C,IAAAC,GACAC,4BACA,OACA,KAEAC,qCACA,OACA,EACA,IAEAC,uBACA,OACA,EACA,IAEAC,iCACA,OACA,EACA,IAEAC,yBACA,OACA,EACA,IAEAC,+BACA,OACA,EACA,KAEAC,6BACA,OACA,EACA,KAEAC,0CACA,OACA,EACA,KAEAC,2CACA,OACA,EACA,KAEAC,2CACA,OACA,GAEAC,0CACA,OACA,EACA,IAEAC,8CACA,OACA,GAEAC,iDACA,OACA,GAEAC,0DACA,OACA,GAEAC,uDACA,OACA,GAEAC,wDACA,OACA,GAEAC,6CACA,OACA,GAEAC,0DACA,OACA,GAEAC,gDACA,OACA,GAEAC,4CACA,OACA,GAEAC,+BACA,OACA,EACA,IAEAC,wDACA,OACA,EACA,IAEAC,sDACA,OACA,IAEAC,yDACA,OACA,EACA,IAEAC,wDACA,OACA,EACA,KAEAC,wCACA,OACA,EACA,KAEAC,sCACA,OACA,EACA,IAEAC,uCACA,OACA,EACA,IAEAC,iCACA,OACA,EACA,KAEAC,iCACA,OACA,EACA,IAEAC,oCACA,OACA,EACA,KAEAC,qCACA,OACA,EACA,KAEAC,sCACA,OACA,EACA,KAEAC,uCACA,OACA,EACA,IAEAC,mCACA,OACA,EACA,KAEAC,sCACA,OACA,EACA,IAEAC,6CACA,OACA,EACA,IAEAC,sCACA,OACA,EACA,KAEAC,gCACA,OACA,EACA,IAEAC,qCACA,OACA,EACA,KAEAC,sCACA,OACA,EACA,IAEAC,wCACA,OACA,EACA,KAEAC,yCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,KAEAC,oCACA,OACA,EACA,IAEAC,sCACA,OACA,EACA,KAEAC,uCACA,OACA,EACA,KAEAC,wCACA,OACA,EACA,KAEAC,yCACA,OACA,EACA,KAEAC,oCACA,OACA,EACA,IAEAC,kCACA,OACA,EACA,KAEAC,2CACA,OACA,EACA,IAEAC,yCACA,OACA,EACA,KAEAC,oCACA,OACA,EACA,KAEAC,2CACA,OACA,GAEAC,yCACA,OACA,EACA,KAEAC,kCACA,OACA,EACA,KAEAC,yCACA,OACA,EACA,KAEAC,0CACA,OACA,EACA,IAEAC,8CACA,OACA,EACA,IAEAC,oDACA,OACA,EACA,KAEAC,gDACA,OACA,EACA,IAEAC,wCACA,OACA,EACA,KAEAC,wCACA,OACA,EACA,KAEAC,2CACA,OACA,EACA,KAEAC,+CACA,OACA,EACA,KAEAC,iDACA,OACA,EACA,KAEAC,kDACA,OACA,EACA,KAEAC,kDACA,OACA,EACA,IAEAC,sDACA,OACA,EACA,KAEAC,mDACA,OACA,EACA,KAEAC,kCACA,OACA,EACA,KAEAC,mCACA,OACA,GAEAC,qCACA,OACA,EACA,GAEAC,kCACA,OACA,GAEAC,+BACA,OACA,GAEAC,0BACA,OACA,EACA,GAEAC,wCACA,OACA,EACA,KAEAC,4CACA,OACA,EACA,IAEAC,4CACA,OACA,EACA,GAEAC,8CACA,OACA,GAEAC,kDACA,OACA,EACA,IAEAC,kDACA,OACA,EACA,IAEAC,oDACA,OACA,EACA,KAEAC,iCACA,OACA,EACA,KAEAC,kCACA,OACA,EACA,IAEAC,gCACA,OACA,EACA,IAEAC,iCACA,OACA,EACA,IAEAC,gCACA,OACA,EACA,IAEAC,mCACA,OACA,EACA,IAEAC,iCACA,OACA,EACA,KAEAC,4BACA,OACA,EACA,KAEAC,2BACA,OACA,EACA,KAEAC,2BACA,OACA,EACA,KAEAC,gCACA,OACA,EACA,KAEAC,gCACA,OACA,EACA,KAEAC,+BACA,OACA,EACA,KAEAC,iCACA,OACA,EACA,KAEAC,gCACA,OACA,EACA,IAEAC,uCACA,OACA,EACA,IAEAC,gCACA,OACA,EACA,KAEAC,gCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,KAEAC,8BACA,OACA,EACA,KAEAC,iCACA,OACA,EACA,IAEAC,kCACA,OACA,EACA,IAEAC,kCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,KAEAC,8BACA,OACA,EACA,KAEAC,4BACA,OACA,EACA,IAEAC,4BACA,OACA,EACA,IAEAC,qCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,IAEAC,mCACA,OACA,EACA,IAEAC,qCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,IAEAC,4BACA,OACA,EACA,IAEAC,gCACA,OACA,EACA,KAEAC,iCACA,OACA,EACA,IAEAC,mCACA,OACA,EACA,KAEAC,oCACA,OACA,EACA,IAEAC,wCACA,OACA,EACA,KAEAC,8CACA,OACA,EACA,IAEAC,0CACA,OACA,EACA,KAEAC,kCACA,OACA,EACA,IAEAC,kCACA,OACA,EACA,KAEAC,qCACA,OACA,EACA,IAEAC,yCACA,OACA,EACA,IAEAC,2CACA,OACA,EACA,KAEAC,iCACA,OACA,EACA,KAEAC,sCACA,OACA,EACA,KAEAC,4CACA,OACA,EACA,KAEAC,4CACA,OACA,EACA,KAEAC,6CACA,OACA,EACA,KAEAC,yCACA,OACA,EACA,GAEAC,gCACA,OACA,EACA,IAEAC,6CACA,OACA,EACA,KAEAC,6BACA,OACA,EACA,IAEAC,mCACA,OACA,EACA,IAEAC,uBACA,OACA,KAEAC,iCACA,OACA,KAEAC,4BACA,OACA,EACA,IAEAC,qCACA,OACA,EACA,KAEAC,iCACA,OACA,KAEAC,oBACA,OACA,EACA,GAEAC,6BACA,OACA,EACA,IAEAC,0BACA,OACA,IAEAC,uBACA,OACA,EACA,GAEAC,uBACA,OACA,EACA,KAEAC,8BACA,OACA,KAEAC,sBACA,OACA,KAEAC,4BACA,OACA,GAEAC,4BACA,OACA,IAEAC,4CACA,OACA,EACA,IAEAC,6CACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,KAEAC,yDACA,OACA,EACA,KAEAC,yDACA,OACA,EACA,KAEAC,iDACA,OACA,EACA,IAEAC,iDACA,OACA,EACA,KAEAC,sCACA,OACA,IAEAC,yCACA,OACA,KAEAC,yCACA,OACA,EACA,IAEAC,6CACA,OACA,EACA,IAEAC,8CACA,OACA,EACA,IAEAC,iCACA,OACA,EACA,IAEAC,iCACA,OACA,EACA,KAEAC,oCACA,OACA,EACA,KAEAC,oCACA,OACA,EACA,GAEAC,oCACA,OACA,EACA,IAEAC,yCACA,OACA,EACA,IAEAC,yCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,IAEAC,sCACA,OACA,EACA,IAEAC,4BACA,OACA,EACA,IAEAC,+BACA,OACA,EACA,IAEAC,6BACA,OACA,EACA,KAEAC,gCACA,OACA,EACA,IAEAC,gCACA,OACA,IAEAC,iCACA,OACA,EACA,KAEAC,iCACA,OACA,EACA,KAEAC,oCACA,OACA,EACA,KAEAC,+CACA,OACA,KAEAC,yCACA,OACA,EACA,IAEAC,yCACA,OACA,EACA,KAEAC,qCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,KAEAC,kCACA,OACA,EACA,KAEAC,qBACA,OACA,KAEAC,kCACA,OACA,EACA,IAEAC,kCACA,OACA,EACA,KAEAC,uBACA,OACA,EACA,GAEAC,6BACA,OACA,KAEAC,2BACA,OACA,EACA,KAEAC,8BACA,OACA,EACA,KAEAC,4BACA,OACA,EACA,KAEAC,8BACA,OACA,EACA,KAEAC,4BACA,OACA,EACA,IAEAC,4BACA,OACA,EACA,KAEAC,qBACA,OACA,KAEAC,sBACA,OACA,EACA,IAEAC,wBACA,OACA,EACA,KAEAC,wCACA,OACA,IAEAC,qBACA,OACA,EACA,KAEAC,+BACA,OACA,GAEAC,0BACA,OACA,EACA,KAEAC,iBACA,OACA,EACA,KAEAC,kBACA,OACA,KAEAC,uBACA,OACA,GAEAC,mCACA,OACA,EACA,IAEAC,uBACA,OACA,EACA,IAEAC,uBACA,OACA,EACA,KAEAC,qBACA,OACA,KAEAC,sBACA,OACA,EACA,IAEAC,6BACA,OACA,EACA,KAEAC,sCACA,OACA,EACA,IAEAC,qCACA,OACA,EACA,IAEAC,wCACA,OACA,EACA,KAEAC,uCACA,OACA,EACA,IAEAC,+CACA,OACA,EACA,IAEAC,8CACA,OACA,EACA,IAEAC,sCACA,OACA,EACA,KAEAC,uCACA,OACA,EACA,IAEAC,iCACA,OACA,EACA,IAEAC,kCACA,OACA,EACA,IAEAC,mCACA,OACA,EACA,KAEAC,kCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,IAEAC,wCACA,OACA,EACA,IAEAC,yCACA,OACA,EACA,IAEAC,oCACA,OACA,EACA,KAEAC,mCACA,OACA,EACA,KAGA,SAAAC,EAAAC,GACA,IAAAC,EAAA5O,EAAA2O,GACA,OAAAC,EAEAC,QAAAC,IAAAF,EAAAG,MAAA,GAAA/O,IAAA/C,EAAA+R,IAAAC,KAAA,WACA,OAAAhS,EAAA2R,EAAA,MAFAC,QAAAK,OAAA,IAAAC,MAAA,uBAAAR,EAAA,OAKAD,EAAAU,KAAA,WACA,OAAAC,OAAAD,KAAApP,IAEA0O,EAAAY,GAAA,OACAvS,EAAAC,QAAA0R,gFCtnCA,SAAAa,GAAA,IAAAC,EAAAvS,EAAA,QAAAwS,EAAAxS,EAAA,QAAAyS,GAAAzS,EAAA0S,EAAAF,GAAAxS,EAAA,QAAAA,EAAA,SAYM2S,GAZN3S,EAAA0S,EAAAD,GAYmBG,UAAIC,UAAU,eAC/B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A,KACAC,MAAA,KACAC,MAAA,OACAC,WAAA,cACAC,MAAA,QACAC,WAAA,cACAC,YAAA,gBACAC,OAAA,SACAC,cAAA,mBAEAz1C,aACA01C,GAAA,OACAC,GAAA,OACAC,GAAA,KACAC,GAAA,QAEAC,YACAC,gBAAA,WACAC,gBAAA,UACAC,gBAAA,YACAnpB,QAAA,UACAopB,UAAA,OACAC,gBAAA,2BAEAttC,cACAktC,gBAAA,WACAC,gBAAA,UACAC,gBAAA,YACAnpB,QAAA,UACAopB,UAAA,OACAC,gBAAA,2BAEAC,eAAA,OACAC,aAAA,OACAn0B,aAAA,wCACAC,gBAAA,uDACA/G,GAAA,KACAuR,OAAA,KACAnR,YAAA,QACA86B,UAAA,wBACA70D,aAAA,4BACA80D,gBAAA,2BACAC,sBAAA,2BACAC,oBAAA,6BACAC,mBACAC,WAAA,YACA/0C,iBAAA,wBACAg1C,eAAA,sBAEA7kE,YACAhC,IAAA,iBACAC,KAAA,aACAC,IAAA,QACAC,IAAA,MACAC,GAAA,aACAC,KAAA,KACAC,OAAA,SACAC,KAAA,OACAC,OAAA,SACAC,OAAA,SACA9mC,KAAA,OACA+mC,KAAA,OACAC,IAAA,SACAC,GAAA,aACAC,GAAA,OACAC,IAAA,MACAC,MAAA,aACAvD,GAAA,aACAwD,OAAA,SACAC,KAAA,OACAC,MAAA,QACAC,IAAA,MACAC,GAAA,eACAC,IAAA,OAEAylE,aAAA,aACA97C,aACAi5C,OAAA,KACA/hE,UAAA,KACA6kE,WAAA,OACA97C,SAAA,OACAE,aAAA,aACAC,OAAA,QACAE,UAAA,OACAa,UAAA,OACAY,QAAA,UACAC,WAAA,SACAC,UAAA,MACAC,YAAA,OACAC,WAAA,MACAlB,OAAA,QACAG,iBAAA,WACAX,YAAA,MACAC,aAAA,MACAC,cAAA,OACAC,eAAA,OACArnD,MAAA,KACA+8C,YAAA,OACAD,YAAA,OACA+L,sBAAA,QACAC,qBAAA,QACApL,UAAA,QACAG,UAAA,QACAL,UAAA,OACAG,UAAA,OACAF,cAAA,OACAG,cAAA,OACAX,cAAA,SACAC,cAAA,SACAC,YAAA,UACAC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","file":"static/js/app.9d7f4987418321aa0439.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/img/banner.83354ca.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/images/layout/banner.png\n// module id = 9/Zv\n// module chunks = 218","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMDIzXzY4NykiPg0KPHBhdGggZD0iTTEwLjIwODUgMC44MzMyNTJMMTAuNDA4NSAwLjgzNDI1MkMxMS4xMjU1IDAuODM5ODI0IDExLjg0MTcgMC44ODE1NDMgMTIuNTU0NSAwLjk1OTI1MkwxMi44OTU1IDAuOTk5MjUyTDEzLjI1NjUgMS4wNDkyNUwxMy42MTEgMS4xMDU3NUwxMy43ODg1IDEuMTM2NzVMMTQuMTM3NSAxLjIwMzI1QzE3LjA3MiAxLjc5Njc1IDE5LjEyOCAzLjA2NjI1IDE5LjIwNiA0LjczNDc1TDE5LjIwODUgNC44MzMyNVYxNS4zMzMzQzE5LjIwODUgMTcuMDUwMyAxNy4xMjk1IDE4LjM1ODMgMTQuMTM3NSAxOC45NjMzTDEzLjc4ODUgMTkuMDI5OEwxMy42MTEgMTkuMDYwOEwxMy4yNTY1IDE5LjExNjhMMTIuODk1NSAxOS4xNjY4QzEyLjA0NTUgMTkuMjc1OCAxMS4xNDMgMTkuMzMzMyAxMC4yMDg1IDE5LjMzMzNDOS4yNzQgMTkuMzMzMyA4LjM3MTUgMTkuMjc1OCA3LjUyMTUgMTkuMTY2OEw3LjE2MDUgMTkuMTE2OEw2LjgwNiAxOS4wNjA4QzMuNTkzIDE4LjUxNzMgMS4yOTIgMTcuMTk3OCAxLjIxMSAxNS40MzAzTDEuMjA4NSAxNS4zMzMzVjQuODMzMjVMMS4yMTEgNC43MzQ3NUMxLjI4OSAzLjA2NjI1IDMuMzQ1IDEuNzk2NzUgNi4yNzk1IDEuMjAzMjVMNi42Mjg1IDEuMTM2NzVMNi44MDYgMS4xMDU3NUw3LjE2MDUgMS4wNDk3NUw3LjUyMTUgMC45OTk3NTJDOC4yODA3NyAwLjkwMzU4IDkuMDQ0NzUgMC44NDkxNjUgOS44MSAwLjgzNjc1MkwxMC4yMDg1IDAuODMzMjUyWk0xMy42MTEgMTMuNTYwOEwxMy4yNTY1IDEzLjYxNjhMMTIuODk1NSAxMy42NjY4QzEyLjA0NTUgMTMuNzc1OCAxMS4xNDMgMTMuODMzMyAxMC4yMDg1IDEzLjgzMzNDOS4yNzQgMTMuODMzMyA4LjM3MTUgMTMuNzc1OCA3LjUyMTUgMTMuNjY2OEw3LjE2MDUgMTMuNjE2OEw2LjgwNiAxMy41NjA4QzUuMTMwNSAxMy4yNzczIDMuNzAyNSAxMi43ODI4IDIuNzA4NSAxMi4xMjM4VjE1LjMzMzNDMi43MDg1IDE1LjgyNDMgMy4yNzUgMTYuMzM1OCA0LjIzMzUgMTYuNzY3M0w0LjQ2MiAxNi44NjUzQzQuODE0NSAxNy4wMTAzIDUuMjEyIDE3LjE0NDggNS42NDggMTcuMjY0M0w1Ljk0NDUgMTcuMzQxOEM2LjI0NiAxNy40MTY4IDYuNTY0NSAxNy40ODU4IDYuODk2IDE3LjU0NThMNy4yMzMgMTcuNjAzM0w3LjU3ODUgMTcuNjU0OEM3LjgxMiAxNy42ODczIDguMDUxIDE3LjcxNTggOC4yOTUgMTcuNzM5OEw4LjY2NDUgMTcuNzcyOEw5LjA0MSAxNy43OTg4TDkuNDI0NSAxNy44MTc4QzkuOTQ2OTYgMTcuODM4NCAxMC40NyAxNy44Mzg0IDEwLjk5MjUgMTcuODE3OEwxMS4zNzYgMTcuNzk4OEwxMS43NTI1IDE3Ljc3MjhMMTIuMTIyNSAxNy43Mzk4QzEyLjM2NiAxNy43MTU4IDEyLjYwNSAxNy42ODczIDEyLjgzODUgMTcuNjU0OEwxMy4xODQgMTcuNjAzM0wxMy41MjEgMTcuNTQ1OEMxMy44NTMgMTcuNDg1OCAxNC4xNzEgMTcuNDE3MyAxNC40NzI1IDE3LjM0MThMMTQuNzY5IDE3LjI2NDNDMTUuMjA1IDE3LjE0NDMgMTUuNjAyNSAxNy4wMTAzIDE1Ljk1NSAxNi44NjUzTDE2LjE4MzUgMTYuNzY3M0MxNy4xMDUgMTYuMzUyMyAxNy42NjQ1IDE1Ljg2MzggMTcuNzA2IDE1LjM4OThMMTcuNzA4NSAxNS4zMzMzVjEyLjEyMzNDMTYuNzE1IDEyLjc4MjggMTUuMjg3IDEzLjI3NzMgMTMuNjExIDEzLjU2MDhaTTE3LjcwODUgNy4xMjMyNUMxNi43NjQgNy43NDk3NSAxNS40Mjg1IDguMjI3MjUgMTMuODYgOC41MTY3NUwxMy42MSA4LjU2MDc1TDEzLjI1NiA4LjYxNjc1TDEyLjg5NSA4LjY2Njc1QzEyLjA0NSA4Ljc3NTc1IDExLjE0MjUgOC44MzMyNSAxMC4yMDggOC44MzMyNUM5LjQwNyA4LjgzMzI1IDguNjI5NSA4Ljc5MTI1IDcuODg4IDguNzEwMjVMNy41MjEgOC42NjY3NUw3LjE2IDguNjE2NzVMNi44MDU1IDguNTYwNzVDNS4xMyA4LjI3NzI1IDMuNzAyIDcuNzgyNzUgMi43MDggNy4xMjM3NVY5LjgzMzI1QzIuNzA4IDEwLjMyNDMgMy4yNzQ1IDEwLjgzNTggNC4yMzMgMTEuMjY3M0w0LjQ2MTUgMTEuMzY1M0M0LjgxNCAxMS41MTAzIDUuMjExNSAxMS42NDQ4IDUuNjQ3NSAxMS43NjQzTDUuOTQ0IDExLjg0MThDNi4yNDU1IDExLjkxNjggNi41NjQgMTEuOTg1OCA2Ljg5NTUgMTIuMDQ1OEw3LjIzMjUgMTIuMTAzM0w3LjU3OCAxMi4xNTQ4QzcuODExNSAxMi4xODczIDguMDUwNSAxMi4yMTU4IDguMjk0NSAxMi4yMzk4TDguNjY0IDEyLjI3MjhMOS4wNDA1IDEyLjI5ODhMOS40MjQgMTIuMzE3OEM5Ljk0NjQ2IDEyLjMzODQgMTAuNDY5NSAxMi4zMzg0IDEwLjk5MiAxMi4zMTc4TDExLjM3NTUgMTIuMjk4OEwxMS43NTIgMTIuMjcyOEwxMi4xMjIgMTIuMjM5OEMxMi4zNjU1IDEyLjIxNTggMTIuNjA0NSAxMi4xODczIDEyLjgzOCAxMi4xNTQ4TDEzLjE4MzUgMTIuMTAzM0wxMy41MjA1IDEyLjA0NThDMTMuODUyNSAxMS45ODU4IDE0LjE3MDUgMTEuOTE3MyAxNC40NzIgMTEuODQxOEwxNC43Njg1IDExLjc2NDNDMTUuMjA0NSAxMS42NDQzIDE1LjYwMiAxMS41MTAzIDE1Ljk1NDUgMTEuMzY1M0wxNi4xODMgMTEuMjY3M0MxNy4xMDQ1IDEwLjg1MjMgMTcuNjY0IDEwLjM2MzggMTcuNzA1NSA5Ljg4OTc1TDE3LjcwOCA5LjgzMzI1VjcuMTIzMjVIMTcuNzA4NVpNMTAuMjA4NSAyLjMzMzI1TDEwLjAxMDUgMi4zMzQyNUw5LjcxNTUgMi4zMzkyNUw5LjQyNDUgMi4zNDg3NUw5LjA0MSAyLjM2Nzc1TDguNjY0NSAyLjM5Mzc1TDguMjk0NSAyLjQyNjc1QzguMTMyIDIuNDQyNzUgNy45NzIgMi40NjA3NSA3LjgxNCAyLjQ4MDc1TDcuNTc5IDIuNTExNzVMNy4yMzMgMi41NjMyNUw2Ljg5NiAyLjYyMDc1QzYuNjQ3IDIuNjY1NzUgNi40MDYgMi43MTU3NSA2LjE3MzUgMi43NjkyNUw1Ljk0NDUgMi44MjQyNUw1LjY0OCAyLjkwMjI1QzUuMjg1IDMuMDAyMjUgNC45NDggMy4xMTIyNSA0LjY0MiAzLjIyOTc1TDQuNDYyIDMuMzAxMjVMNC4yMzM1IDMuMzk5MjVDMy4yNzUgMy44MzA3NSAyLjcwODUgNC4zNDIyNSAyLjcwODUgNC44MzMyNUMyLjcwODUgNS4zMDMyNSAzLjIyNyA1Ljc5MTI1IDQuMTExIDYuMjEwNzVMNC4yMzM1IDYuMjY3MjVMNC40NjIgNi4zNjUyNUM0Ljc1NTUgNi40ODYyNSA1LjA4MDUgNi41OTk3NSA1LjQzMzUgNi43MDMyNUw1LjY0ODUgNi43NjQyNUw1Ljk0NDUgNi44NDE3NUM2LjE3MDUgNi44OTgyNSA2LjQwNiA2Ljk1MDc1IDYuNjQ5NSA2Ljk5OTI1TDYuODk2IDcuMDQ1NzVMNy4yMzMgNy4xMDMyNUw3LjU3ODUgNy4xNTQ3NUM3LjczNCA3LjE3Njc1IDcuODkyIDcuMTk2MjUgOC4wNTI1IDcuMjE0NzVMOC4yOTUgNy4yMzk3NUw4LjY2NDUgNy4yNzI3NUw5LjA0MSA3LjI5ODc1TDkuNDI0NSA3LjMxNzc1QzkuODYwNzggNy4zMzUgMTAuMjk3NSA3LjMzNzg0IDEwLjczNCA3LjMyNjI1TDEwLjk5MjUgNy4zMTc3NUwxMS4zNzYgNy4yOTg3NUwxMS43NTI1IDcuMjcyNzVMMTIuMTIyNSA3LjIzOTc1QzEyLjI4NSA3LjIyMzc1IDEyLjQ0NSA3LjIwNTc1IDEyLjYwMyA3LjE4NTc1TDEyLjgzOCA3LjE1NDc1TDEzLjE4NCA3LjEwMzI1TDEzLjUyMSA3LjA0NTc1QzEzLjc3IDcuMDAwNzUgMTQuMDExIDYuOTUwNzUgMTQuMjQzNSA2Ljg5NzI1TDE0LjQ3MjUgNi44NDIyNUwxNC43NjkgNi43NjQyNUMxNS4xMzIgNi42NjQyNSAxNS40NjkgNi41NTQyNSAxNS43NzUgNi40MzY3NUwxNS45NTUgNi4zNjUyNUwxNi4xODM1IDYuMjY3MjVDMTcuMTQyIDUuODM1NzUgMTcuNzA4NSA1LjMyNDI1IDE3LjcwODUgNC44MzMyNUMxNy43MDg1IDQuMzYzMjUgMTcuMTkgMy44NzUyNSAxNi4zMDYgMy40NTU3NUwxNi4xODM1IDMuMzk5MjVMMTUuOTU1IDMuMzAxMjVDMTUuNjM3MiAzLjE3MTkxIDE1LjMxMjkgMy4wNTkwOSAxNC45ODM1IDIuOTYzMjVMMTQuNzY4NSAyLjkwMjI1TDE0LjQ3MjUgMi44MjQ3NUMxNC4yMzg4IDIuNzY2NDUgMTQuMDAzOCAyLjcxMzk0IDEzLjc2NzUgMi42NjcyNUwxMy41MjEgMi42MjA3NUwxMy4xODQgMi41NjMyNUwxMi44Mzg1IDIuNTExNzVDMTIuNjgwOCAyLjQ4OTY1IDEyLjUyMjggMi40Njk2NSAxMi4zNjQ1IDIuNDUxNzVMMTIuMTIyIDIuNDI2NzVMMTEuNzUyNSAyLjM5Mzc1TDExLjM3NiAyLjM2Nzc1TDEwLjk5MjUgMi4zNDg3NUMxMC44MjEgMi4zNDE3NSAxMC42NDc1IDIuMzM3MjUgMTAuNDcyNSAyLjMzNDc1TDEwLjIwODUgMi4zMzMyNVoiIGZpbGw9IndoaXRlIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjAuMiIvPg0KPC9nPg0KPGRlZnM+DQo8Y2xpcFBhdGggaWQ9ImNsaXAwXzIwMjNfNjg3Ij4NCjxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC41KSIvPg0KPC9jbGlwUGF0aD4NCjwvZGVmcz4NCjwvc3ZnPg0K\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/ic-sj.svg\n// module id = 99/z\n// module chunks = 218","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xOC41NjI1IDEwLjA2MjVMMTAuODc1IDIuMzc1QzEwLjM3NSAxLjg3NSA5LjU5Mzc1IDEuODc1IDkuMDkzNzUgMi4zNzVMMS40Mzc1IDEwLjA2MjVDMS4xODc1IDEwLjMxMjUgMS4xODc1IDEwLjY4NzUgMS40Mzc1IDEwLjkzNzVDMS42ODc1IDExLjE4NzUgMi4wNjI1IDExLjE4NzUgMi4zMTI1IDEwLjkzNzVMMy4xMjUgMTAuMTI1VjE4QzMuMTI1IDE4LjY4NzUgMy42ODc1IDE5LjI1IDQuMzc1IDE5LjI1SDYuODc1SDEzLjEyNUgxNS42MjVDMTYuMzEyNSAxOS4yNSAxNi44NzUgMTguNjg3NSAxNi44NzUgMThWMTAuMTI1TDE3LjY4NzUgMTAuOTM3NUMxNy44MTI1IDExLjA2MjUgMTcuOTY4OCAxMS4xMjUgMTguMTI1IDExLjEyNUMxOC4yODEyIDExLjEyNSAxOC40Mzc1IDExLjA2MjUgMTguNTYyNSAxMC45Mzc1QzE4LjgxMjUgMTAuNjg3NSAxOC44MTI1IDEwLjMxMjUgMTguNTYyNSAxMC4wNjI1Wk04LjEyNSAxOFYxMy42MjVIMTEuODc1VjE4SDguMTI1Wk0xNS42MjUgMThIMTMuMTI1VjEzLjYyNUMxMy4xMjUgMTIuOTM3NSAxMi41NjI1IDEyLjM3NSAxMS44NzUgMTIuMzc1SDguMTI1QzcuNDM3NSAxMi4zNzUgNi44NzUgMTIuOTM3NSA2Ljg3NSAxMy42MjVWMThINC4zNzVWOC44NzVMMTAgMy4yNUwxNS42MjUgOC44NzVWMThaIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIwLjMiLz4NCjwvc3ZnPg0K\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/ic-home-o.svg\n// module id = BmCi\n// module chunks = 218","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEBSURBVHgB7ZYBDYMwEEU/U4CEzgES5mASNgfgYJmCSUACQQEW5qBzgISul1yzW0aAFijJ0pc0hULv/941UCARiDHmYltvm6ZrxIaFHT1iYIVy2yrbGvMLjV2xFTZ4ySmfQq9uxAashUDHWVDieUGi5rssD6wBBXJ1JuEZ71fCRI0l8Kochce8wnzKNWl6LJAODSIyQUZy+CJWrxEI75fRBRxG5p+5vyOclvsTfBHpn137gRgqOItu52EhU3EO2JlkIBlIBpKB3Q1k8oa/2Qrb8sqy7Ohuds+AN+Kkk4sxFfrzCsnAk/sbC5ORksdabA2LDh3PaUwhBmyiEcJdNPG/4w0FqYOA+9Rg6AAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/ic-notice.png\n// module id = DMIs\n// module chunks = 218","module.exports = {\"_args\":[[\"is2@2.0.9\",\"D:\\\\workspace\\\\capital-io-ipo\\\\capital-fe-console\"]],\"_development\":true,\"_from\":\"is2@2.0.9\",\"_id\":\"is2@2.0.9\",\"_inBundle\":false,\"_integrity\":\"sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==\",\"_location\":\"/is2\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"version\",\"registry\":true,\"raw\":\"is2@2.0.9\",\"name\":\"is2\",\"escapedName\":\"is2\",\"rawSpec\":\"2.0.9\",\"saveSpec\":null,\"fetchSpec\":\"2.0.9\"},\"_requiredBy\":[\"/tcp-port-used\"],\"_resolved\":\"http://nexus.valueonline.cn/repository/npm-group/is2/-/is2-2.0.9.tgz\",\"_spec\":\"2.0.9\",\"_where\":\"D:\\\\workspace\\\\capital-io-ipo\\\\capital-fe-console\",\"author\":{\"name\":\"Enrico Marino\",\"email\":\"enrico.marino@email.com\"},\"bugs\":{\"url\":\"http://github.com/stdarg/is/issues\"},\"dependencies\":{\"deep-is\":\"^0.1.3\",\"ip-regex\":\"^4.1.0\",\"is-url\":\"^1.2.4\"},\"description\":\"A type checking library where each exported function returns either true or false and does not throw. Also added tests.\",\"devDependencies\":{\"mocha\":\"6.2.3\",\"mongodb\":\"3.2.4\"},\"engines\":{\"node\":\">=v0.10.0\"},\"homepage\":\"http://github.com/stdarg/is2\",\"keywords\":[\"type\",\"check\",\"checker\",\"checking\",\"utilities\",\"network\",\"networking\",\"credit\",\"card\",\"validation\"],\"license\":\"MIT\",\"main\":\"./index.js\",\"maintainers\":\"Edmond Meinfelder , Chris Oyler \",\"name\":\"is2\",\"repository\":{\"type\":\"git\",\"url\":\"git+ssh://git@github.com/stdarg/is2.git\"},\"scripts\":{\"test\":\"mocha -C --reporter list tests.js\"},\"tags\":[\"type\",\"check\",\"checker\",\"checking\",\"utilities\",\"network\",\"networking\",\"credit\",\"card\",\"validation\"],\"version\":\"2.0.9\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/is2/package.json\n// module id = F2Pd\n// module chunks = 218","var map = {\n\t\"./breedingBase/index.vue\": [\n\t\t\"2fAZ\",\n\t\t169\n\t],\n\t\"./college/components/progress.vue\": [\n\t\t\"6M+Z\",\n\t\t0,\n\t\t77\n\t],\n\t\"./college/index.vue\": [\n\t\t\"vgHD\",\n\t\t0,\n\t\t26\n\t],\n\t\"./college/knowledge/index.vue\": [\n\t\t\"5m0V\",\n\t\t0,\n\t\t51\n\t],\n\t\"./dynamic/dynamic.vue\": [\n\t\t\"/21I\",\n\t\t0,\n\t\t35\n\t],\n\t\"./dynamic/dynamicDetail.vue\": [\n\t\t\"tcnB\",\n\t\t0,\n\t\t191\n\t],\n\t\"./dynamic/dynamicPage.vue\": [\n\t\t\"0LTV\",\n\t\t0,\n\t\t107\n\t],\n\t\"./enterprise/company/companyCreate.vue\": [\n\t\t\"ZQmU\",\n\t\t0,\n\t\t150\n\t],\n\t\"./enterprise/company/companyHistory.vue\": [\n\t\t\"D+aM\",\n\t\t0,\n\t\t133\n\t],\n\t\"./enterprise/company/companyProfile.vue\": [\n\t\t\"KXSY\",\n\t\t0\n\t],\n\t\"./enterprise/company/companyRouter.vue\": [\n\t\t\"usPX\",\n\t\t0,\n\t\t34\n\t],\n\t\"./enterprise/company/components/agency.vue\": [\n\t\t\"STdy\",\n\t\t0\n\t],\n\t\"./enterprise/company/components/basicInfo.vue\": [\n\t\t\"vt9S\",\n\t\t0\n\t],\n\t\"./enterprise/company/components/businessConditions.vue\": [\n\t\t\"ht+r\",\n\t\t0\n\t],\n\t\"./enterprise/company/components/equityStructure.vue\": [\n\t\t\"DXjM\",\n\t\t0\n\t],\n\t\"./enterprise/company/components/financialSupport.vue\": [\n\t\t\"fGBy\",\n\t\t0\n\t],\n\t\"./enterprise/company/components/issue.vue\": [\n\t\t\"j2pt\",\n\t\t0\n\t],\n\t\"./enterprise/company/components/listingPreparation.vue\": [\n\t\t\"HroS\",\n\t\t0\n\t],\n\t\"./enterprise/company/components/superior.vue\": [\n\t\t\"3mky\",\n\t\t0\n\t],\n\t\"./enterprise/company/components/team.vue\": [\n\t\t\"a7NN\",\n\t\t0\n\t],\n\t\"./enterprise/index/home.vue\": [\n\t\t\"V4QA\",\n\t\t0,\n\t\t99\n\t],\n\t\"./enterprise/investmentFinancing/informationList.vue\": [\n\t\t\"qSSX\",\n\t\t0,\n\t\t89\n\t],\n\t\"./enterprise/investmentFinancing/platformLogin.vue\": [\n\t\t\"7ZW9\",\n\t\t85\n\t],\n\t\"./enterprise/investmentFinancing/roadShowPlatform.vue\": [\n\t\t\"D/Es\",\n\t\t0,\n\t\t19\n\t],\n\t\"./enterprise/investmentFinancing/roadShowProject.vue\": [\n\t\t\"+fTQ\",\n\t\t0,\n\t\t137\n\t],\n\t\"./enterprise/notification/detail.vue\": [\n\t\t\"XOph\",\n\t\t0,\n\t\t196\n\t],\n\t\"./enterprise/notification/list.vue\": [\n\t\t\"6hgB\",\n\t\t0,\n\t\t57\n\t],\n\t\"./enterprise/notification/reply.vue\": [\n\t\t\"roQS\",\n\t\t0,\n\t\t23\n\t],\n\t\"./enterprise/problem/edit.vue\": [\n\t\t\"H/5D\",\n\t\t0,\n\t\t161\n\t],\n\t\"./enterprise/problem/list.vue\": [\n\t\t\"hMXG\",\n\t\t0,\n\t\t95\n\t],\n\t\"./enterprise/report/csrc/add.vue\": [\n\t\t\"+Z5H\",\n\t\t0,\n\t\t175\n\t],\n\t\"./enterprise/report/csrc/edit.vue\": [\n\t\t\"VWKb\",\n\t\t0,\n\t\t130\n\t],\n\t\"./enterprise/report/golden/add.vue\": [\n\t\t\"ljEB\",\n\t\t0,\n\t\t143\n\t],\n\t\"./enterprise/report/golden/edit.vue\": [\n\t\t\"CPdP\",\n\t\t0,\n\t\t78\n\t],\n\t\"./enterprise/report/history.vue\": [\n\t\t\"C+5z\",\n\t\t0,\n\t\t151\n\t],\n\t\"./enterprise/report/issue/edit.vue\": [\n\t\t\"5+CQ\",\n\t\t0,\n\t\t32\n\t],\n\t\"./enterprise/report/issue/historyList.vue\": [\n\t\t\"X64R\",\n\t\t0,\n\t\t30\n\t],\n\t\"./enterprise/report/issue/list.vue\": [\n\t\t\"vj+9\",\n\t\t0,\n\t\t141\n\t],\n\t\"./enterprise/report/list.vue\": [\n\t\t\"pdEk\",\n\t\t0,\n\t\t12\n\t],\n\t\"./enterprise/report/major/add.vue\": [\n\t\t\"nUKn\",\n\t\t0,\n\t\t199\n\t],\n\t\"./enterprise/report/major/edit.vue\": [\n\t\t\"IXHx\",\n\t\t0,\n\t\t55\n\t],\n\t\"./enterprise/report/overseas/add.vue\": [\n\t\t\"NX/O\",\n\t\t0,\n\t\t158\n\t],\n\t\"./enterprise/report/overseas/edit.vue\": [\n\t\t\"V908\",\n\t\t0,\n\t\t153\n\t],\n\t\"./enterprise/report/sci/add.vue\": [\n\t\t\"Gdpa\",\n\t\t0,\n\t\t165\n\t],\n\t\"./enterprise/report/sci/edit.vue\": [\n\t\t\"kZf8\",\n\t\t0,\n\t\t71\n\t],\n\t\"./enterprise/report/silver/add.vue\": [\n\t\t\"LPTC\",\n\t\t0,\n\t\t128\n\t],\n\t\"./enterprise/report/silver/edit.vue\": [\n\t\t\"UU+A\",\n\t\t0,\n\t\t214\n\t],\n\t\"./enterprise/report/tutorial/add.vue\": [\n\t\t\"QzuY\",\n\t\t0,\n\t\t119\n\t],\n\t\"./enterprise/report/tutorial/edit.vue\": [\n\t\t\"f4/U\",\n\t\t0,\n\t\t215\n\t],\n\t\"./enterprise/research/detail.vue\": [\n\t\t\"e3Oa\",\n\t\t0,\n\t\t63\n\t],\n\t\"./enterprise/research/list.vue\": [\n\t\t\"q/Oy\",\n\t\t0,\n\t\t116\n\t],\n\t\"./enterprise/research/record/detail.vue\": [\n\t\t\"kB43\",\n\t\t0,\n\t\t88\n\t],\n\t\"./enterprise/research/record/list.vue\": [\n\t\t\"vNx9\",\n\t\t0,\n\t\t178\n\t],\n\t\"./enterprise/training/detail.vue\": [\n\t\t\"pfrk\",\n\t\t0,\n\t\t108\n\t],\n\t\"./enterprise/training/enroll/enroll.vue\": [\n\t\t\"0h//\",\n\t\t0\n\t],\n\t\"./enterprise/training/enroll/list.vue\": [\n\t\t\"w2ar\",\n\t\t0,\n\t\t202\n\t],\n\t\"./enterprise/training/list.vue\": [\n\t\t\"oK73\",\n\t\t0,\n\t\t183\n\t],\n\t\"./enterprise/widgets/IpoItemIndex.vue\": [\n\t\t\"NKGN\",\n\t\t0,\n\t\t182\n\t],\n\t\"./enterprise/widgets/IpoStatistics.vue\": [\n\t\t\"NsVB\",\n\t\t0,\n\t\t97\n\t],\n\t\"./enterprise/widgets/IpoStatisticsCase.vue\": [\n\t\t\"fZfY\",\n\t\t0,\n\t\t68\n\t],\n\t\"./enterprise/widgets/IpoStatisticsCaseDetail.vue\": [\n\t\t\"tLmy\",\n\t\t0,\n\t\t129\n\t],\n\t\"./enterprise/widgets/IpoStatisticsDetail.vue\": [\n\t\t\"oSRw\",\n\t\t0,\n\t\t60\n\t],\n\t\"./enterprise/widgets/LawsLibrary.vue\": [\n\t\t\"BI2l\",\n\t\t0,\n\t\t140\n\t],\n\t\"./enterprise/widgets/LettersInit.vue\": [\n\t\t\"t+M+\",\n\t\t0,\n\t\t147\n\t],\n\t\"./enterprise/widgets/Reorganization.vue\": [\n\t\t\"Bpgh\",\n\t\t0,\n\t\t142\n\t],\n\t\"./enterprise/widgets/ReorganizationCase.vue\": [\n\t\t\"qh89\",\n\t\t0,\n\t\t187\n\t],\n\t\"./enterprise/widgets/ReorganizationTarget.vue\": [\n\t\t\"ddWf\",\n\t\t0,\n\t\t109\n\t],\n\t\"./enterprise/widgets/companyDisclosureInit.vue\": [\n\t\t\"yGSe\",\n\t\t0,\n\t\t211\n\t],\n\t\"./enterprise/widgets/majorFinancialIndInit.vue\": [\n\t\t\"yWe+\",\n\t\t0,\n\t\t61\n\t],\n\t\"./enterprise/widgets/marketIntelligenceTesting.vue\": [\n\t\t\"Nzw8\",\n\t\t0,\n\t\t101\n\t],\n\t\"./enterprise/widgets/nationalSecuritiesInit.vue\": [\n\t\t\"AwdG\",\n\t\t0,\n\t\t173\n\t],\n\t\"./govt/company/companyList.vue\": [\n\t\t\"gNYn\",\n\t\t0,\n\t\t212\n\t],\n\t\"./govt/company/exportConfig.vue\": [\n\t\t\"vVe7\",\n\t\t0\n\t],\n\t\"./govt/company/governmentList.vue\": [\n\t\t\"pNd+\",\n\t\t0,\n\t\t4\n\t],\n\t\"./govt/company/gradeChange.vue\": [\n\t\t\"JeAn\",\n\t\t0\n\t],\n\t\"./govt/company/menuList.vue\": [\n\t\t\"uCo1\",\n\t\t0\n\t],\n\t\"./govt/index/index.vue\": [\n\t\t\"Fklh\",\n\t\t1,\n\t\t0\n\t],\n\t\"./govt/intermediary/exportConfig.vue\": [\n\t\t\"CNhy\",\n\t\t0,\n\t\t134\n\t],\n\t\"./govt/intermediary/intermediaryList.vue\": [\n\t\t\"0/fJ\",\n\t\t0,\n\t\t22\n\t],\n\t\"./govt/intermediary/organizationList.vue\": [\n\t\t\"7aQG\",\n\t\t0,\n\t\t7\n\t],\n\t\"./govt/investmentFinancing/industryTag.vue\": [\n\t\t\"6w4s\",\n\t\t0\n\t],\n\t\"./govt/investmentFinancing/informationEdit.vue\": [\n\t\t\"dIT6\",\n\t\t0,\n\t\t79\n\t],\n\t\"./govt/investmentFinancing/informationList.vue\": [\n\t\t\"MASM\",\n\t\t0,\n\t\t98\n\t],\n\t\"./govt/investmentFinancing/informationNewAdd.vue\": [\n\t\t\"GgrV\",\n\t\t0,\n\t\t162\n\t],\n\t\"./govt/notification/check.vue\": [\n\t\t\"ykEz\",\n\t\t0,\n\t\t114\n\t],\n\t\"./govt/notification/detail.vue\": [\n\t\t\"RlMO\",\n\t\t0,\n\t\t62\n\t],\n\t\"./govt/notification/list.vue\": [\n\t\t\"icJ8\",\n\t\t0,\n\t\t21\n\t],\n\t\"./govt/notification/reply.vue\": [\n\t\t\"D5h1\",\n\t\t0,\n\t\t24\n\t],\n\t\"./govt/notification/send.vue\": [\n\t\t\"2fBB\",\n\t\t0,\n\t\t47\n\t],\n\t\"./govt/org/intermediaryList.vue\": [\n\t\t\"sgxo\",\n\t\t0,\n\t\t92\n\t],\n\t\"./govt/org/investmentList.vue\": [\n\t\t\"MdrJ\",\n\t\t0,\n\t\t193\n\t],\n\t\"./govt/org/otherList.vue\": [\n\t\t\"GcrU\",\n\t\t0,\n\t\t205\n\t],\n\t\"./govt/problem/edit.vue\": [\n\t\t\"ewdB\",\n\t\t0,\n\t\t104\n\t],\n\t\"./govt/problem/list.vue\": [\n\t\t\"tmr+\",\n\t\t0,\n\t\t144\n\t],\n\t\"./govt/report/brief/edit.vue\": [\n\t\t\"hLyo\",\n\t\t0,\n\t\t155\n\t],\n\t\"./govt/report/brief/list.vue\": [\n\t\t\"rZz+\",\n\t\t0,\n\t\t179\n\t],\n\t\"./govt/report/csrc/list.vue\": [\n\t\t\"cMpk\",\n\t\t0,\n\t\t117\n\t],\n\t\"./govt/report/golden/list.vue\": [\n\t\t\"ibFK\",\n\t\t0,\n\t\t136\n\t],\n\t\"./govt/report/issue/edit.vue\": [\n\t\t\"ax9m\",\n\t\t0,\n\t\t20\n\t],\n\t\"./govt/report/issue/historyList.vue\": [\n\t\t\"VbyS\",\n\t\t0,\n\t\t31\n\t],\n\t\"./govt/report/issue/list.vue\": [\n\t\t\"u7hp\",\n\t\t0,\n\t\t148\n\t],\n\t\"./govt/report/major/list.vue\": [\n\t\t\"6ED9\",\n\t\t0,\n\t\t156\n\t],\n\t\"./govt/report/overseas/list.vue\": [\n\t\t\"aFkJ\",\n\t\t0,\n\t\t152\n\t],\n\t\"./govt/report/sci/list.vue\": [\n\t\t\"GMet\",\n\t\t0,\n\t\t159\n\t],\n\t\"./govt/report/silver/list.vue\": [\n\t\t\"JSzg\",\n\t\t0,\n\t\t74\n\t],\n\t\"./govt/report/summary/edit.vue\": [\n\t\t\"hfsw\",\n\t\t0,\n\t\t82\n\t],\n\t\"./govt/report/summary/list.vue\": [\n\t\t\"4dfU\",\n\t\t0,\n\t\t122\n\t],\n\t\"./govt/report/tutorial/list.vue\": [\n\t\t\"7snX\",\n\t\t0,\n\t\t103\n\t],\n\t\"./govt/research/detail.vue\": [\n\t\t\"ccZx\",\n\t\t0,\n\t\t185\n\t],\n\t\"./govt/research/edit.vue\": [\n\t\t\"fZiK\",\n\t\t0,\n\t\t29\n\t],\n\t\"./govt/research/list.vue\": [\n\t\t\"jrJH\",\n\t\t0,\n\t\t42\n\t],\n\t\"./govt/research/record/detail.vue\": [\n\t\t\"DlMX\",\n\t\t0,\n\t\t188\n\t],\n\t\"./govt/research/record/edit.vue\": [\n\t\t\"zEj8\",\n\t\t0,\n\t\t15\n\t],\n\t\"./govt/research/record/list.vue\": [\n\t\t\"99+i\",\n\t\t0,\n\t\t45\n\t],\n\t\"./govt/training/enroll/detail.vue\": [\n\t\t\"W+kr\",\n\t\t0,\n\t\t213\n\t],\n\t\"./govt/training/enroll/list.vue\": [\n\t\t\"jc9/\",\n\t\t0,\n\t\t46\n\t],\n\t\"./govt/training/list.vue\": [\n\t\t\"E642\",\n\t\t0,\n\t\t43\n\t],\n\t\"./govt/training/training.vue\": [\n\t\t\"3iFi\",\n\t\t0,\n\t\t200\n\t],\n\t\"./govt/widgets/IpoCaseNew.vue\": [\n\t\t\"mpEw\",\n\t\t0,\n\t\t94\n\t],\n\t\"./govt/widgets/IpoItemIndex.vue\": [\n\t\t\"6ny1\",\n\t\t0,\n\t\t195\n\t],\n\t\"./govt/widgets/IpoStatistics.vue\": [\n\t\t\"SltQ\",\n\t\t0,\n\t\t84\n\t],\n\t\"./govt/widgets/IpoStatisticsCase.vue\": [\n\t\t\"INx7\",\n\t\t0,\n\t\t146\n\t],\n\t\"./govt/widgets/IpoStatisticsCaseDetail.vue\": [\n\t\t\"TWFL\",\n\t\t0,\n\t\t75\n\t],\n\t\"./govt/widgets/IpoStatisticsDetail.vue\": [\n\t\t\"fzKG\",\n\t\t0,\n\t\t166\n\t],\n\t\"./govt/widgets/LawsLibrary.vue\": [\n\t\t\"fMLC\",\n\t\t0,\n\t\t67\n\t],\n\t\"./govt/widgets/LettersInit.vue\": [\n\t\t\"nFTh\",\n\t\t0,\n\t\t110\n\t],\n\t\"./govt/widgets/Reorganization.vue\": [\n\t\t\"ugX6\",\n\t\t0,\n\t\t58\n\t],\n\t\"./govt/widgets/ReorganizationCase.vue\": [\n\t\t\"Ef54\",\n\t\t0,\n\t\t91\n\t],\n\t\"./govt/widgets/ReorganizationTarget.vue\": [\n\t\t\"KPRD\",\n\t\t0,\n\t\t180\n\t],\n\t\"./govt/widgets/agentQuery.vue\": [\n\t\t\"1IIJ\",\n\t\t0,\n\t\t100\n\t],\n\t\"./govt/widgets/announcementIPO.vue\": [\n\t\t\"407Y\",\n\t\t0,\n\t\t135\n\t],\n\t\"./govt/widgets/companyDisclosureInit.vue\": [\n\t\t\"aWsn\",\n\t\t0,\n\t\t115\n\t],\n\t\"./govt/widgets/majorFinancialIndInit.vue\": [\n\t\t\"z8nj\",\n\t\t0,\n\t\t198\n\t],\n\t\"./govt/widgets/nationalSecuritiesInit.vue\": [\n\t\t\"1KkR\",\n\t\t0,\n\t\t118\n\t],\n\t\"./govt/widgets/reorganizationList.vue\": [\n\t\t\"4p1a\",\n\t\t0,\n\t\t5\n\t],\n\t\"./govt/widgets/sentiment.vue\": [\n\t\t\"RdaA\",\n\t\t0,\n\t\t37\n\t],\n\t\"./govt/widgets/wisdomPolicyRecordList.vue\": [\n\t\t\"2f5g\",\n\t\t0,\n\t\t149\n\t],\n\t\"./hotIssues/hotIssues.vue\": [\n\t\t\"HVLW\",\n\t\t0,\n\t\t72\n\t],\n\t\"./hotIssues/hotIssuesDetail.vue\": [\n\t\t\"fTEf\",\n\t\t0,\n\t\t54\n\t],\n\t\"./index/company.vue\": [\n\t\t\"NnhC\",\n\t\t111\n\t],\n\t\"./index/financing-dynamic.vue\": [\n\t\t\"oHti\",\n\t\t168\n\t],\n\t\"./index/greenChannel.vue\": [\n\t\t\"ZXx+\",\n\t\t0,\n\t\t50\n\t],\n\t\"./index/greenChannelComponent.vue\": [\n\t\t\"a4mh\",\n\t\t0,\n\t\t167\n\t],\n\t\"./index/greenChannelThird.vue\": [\n\t\t\"L69N\",\n\t\t121\n\t],\n\t\"./index/home.vue\": [\n\t\t\"b6SK\",\n\t\t0,\n\t\t3\n\t],\n\t\"./index/listedCollege.vue\": [\n\t\t\"yweJ\",\n\t\t0,\n\t\t64\n\t],\n\t\"./index/newsDetail.vue\": [\n\t\t\"rALV\",\n\t\t93\n\t],\n\t\"./index/newsOne.vue\": [\n\t\t\"IXZl\",\n\t\t0,\n\t\t9\n\t],\n\t\"./index/newsTwo.vue\": [\n\t\t\"mXIR\",\n\t\t0,\n\t\t204\n\t],\n\t\"./index/policy-content.vue\": [\n\t\t\"u2jh\",\n\t\t120\n\t],\n\t\"./index/policy.vue\": [\n\t\t\"O7MZ\",\n\t\t105\n\t],\n\t\"./index/work-content.vue\": [\n\t\t\"mVYm\",\n\t\t6\n\t],\n\t\"./index/work-dynamic.vue\": [\n\t\t\"a8Es\",\n\t\t59\n\t],\n\t\"./intermediaries/company/companyList.vue\": [\n\t\t\"JhBe\",\n\t\t0,\n\t\t27\n\t],\n\t\"./intermediaries/company/exportConfig.vue\": [\n\t\t\"cxKl\",\n\t\t0,\n\t\t106\n\t],\n\t\"./intermediaries/index/home.vue\": [\n\t\t\"3z8N\",\n\t\t0,\n\t\t126\n\t],\n\t\"./intermediaries/intermediary/intermediaryHistory.vue\": [\n\t\t\"2PYt\",\n\t\t0,\n\t\t208\n\t],\n\t\"./intermediaries/intermediary/intermediaryProfile.vue\": [\n\t\t\"NzEU\",\n\t\t0,\n\t\t112\n\t],\n\t\"./investment/investment/investmentHistory.vue\": [\n\t\t\"PmK2\",\n\t\t0,\n\t\t69\n\t],\n\t\"./investment/investment/investmentProfile.vue\": [\n\t\t\"cvzE\",\n\t\t0,\n\t\t186\n\t],\n\t\"./listedCenter/listedCenterVue.vue\": [\n\t\t\"YYnH\",\n\t\t10\n\t],\n\t\"./management/checkEnterprise/list.vue\": [\n\t\t\"OSuK\",\n\t\t181\n\t],\n\t\"./management/dictionary/area-list.vue\": [\n\t\t\"ICUN\",\n\t\t0,\n\t\t41\n\t],\n\t\"./management/dictionary/industry-list.vue\": [\n\t\t\"2yrM\",\n\t\t0,\n\t\t40\n\t],\n\t\"./management/dictionary/strategic-list.vue\": [\n\t\t\"ukZq\",\n\t\t0,\n\t\t44\n\t],\n\t\"./management/dynamic/edit.vue\": [\n\t\t\"Mh4d\",\n\t\t0,\n\t\t66\n\t],\n\t\"./management/dynamic/list.vue\": [\n\t\t\"EbQl\",\n\t\t0,\n\t\t102\n\t],\n\t\"./management/dynamic/preview.vue\": [\n\t\t\"QLt6\",\n\t\t0,\n\t\t124\n\t],\n\t\"./management/hotProblem/edit.vue\": [\n\t\t\"RhpD\",\n\t\t0,\n\t\t8\n\t],\n\t\"./management/hotProblem/list.vue\": [\n\t\t\"AOZI\",\n\t\t0,\n\t\t86\n\t],\n\t\"./management/hsstockexchange/edit.vue\": [\n\t\t\"EMtW\",\n\t\t0,\n\t\t39\n\t],\n\t\"./management/hsstockexchange/list.vue\": [\n\t\t\"hzcA\",\n\t\t0,\n\t\t201\n\t],\n\t\"./management/knowledge/edit.vue\": [\n\t\t\"9frl\",\n\t\t0,\n\t\t127\n\t],\n\t\"./management/knowledge/list.vue\": [\n\t\t\"fNzJ\",\n\t\t0,\n\t\t52\n\t],\n\t\"./management/mangementMenuList.vue\": [\n\t\t\"zJ5x\",\n\t\t0,\n\t\t90\n\t],\n\t\"./management/org/add.vue\": [\n\t\t\"VMOH\",\n\t\t0,\n\t\t53\n\t],\n\t\"./management/org/editor.vue\": [\n\t\t\"R3ME\",\n\t\t0,\n\t\t83\n\t],\n\t\"./management/org/list.vue\": [\n\t\t\"ES1R\",\n\t\t0,\n\t\t197\n\t],\n\t\"./management/policy/edit.vue\": [\n\t\t\"9zVn\",\n\t\t0,\n\t\t48\n\t],\n\t\"./management/policy/list.vue\": [\n\t\t\"udQQ\",\n\t\t49\n\t],\n\t\"./management/problem/edit.vue\": [\n\t\t\"7CGF\",\n\t\t0,\n\t\t194\n\t],\n\t\"./management/problem/list.vue\": [\n\t\t\"Meim\",\n\t\t0,\n\t\t164\n\t],\n\t\"./management/problem/preview.vue\": [\n\t\t\"X+r1\",\n\t\t0,\n\t\t206\n\t],\n\t\"./management/statistics/statisticsTimes.vue\": [\n\t\t\"DWqf\",\n\t\t154\n\t],\n\t\"./management/user/enterprise/edit.vue\": [\n\t\t\"yGAN\",\n\t\t0,\n\t\t38\n\t],\n\t\"./management/user/enterprise/list.vue\": [\n\t\t\"FXmF\",\n\t\t0,\n\t\t190\n\t],\n\t\"./management/user/govt/editor.vue\": [\n\t\t\"9sRf\",\n\t\t0,\n\t\t172\n\t],\n\t\"./management/user/govt/list.vue\": [\n\t\t\"1imQ\",\n\t\t0,\n\t\t170\n\t],\n\t\"./management/workflow/home.vue\": [\n\t\t\"kEKS\",\n\t\t0,\n\t\t139\n\t],\n\t\"./notice/list.vue\": [\n\t\t\"9kRS\",\n\t\t113\n\t],\n\t\"./other/other/otherHistory.vue\": [\n\t\t\"qA2V\",\n\t\t0,\n\t\t73\n\t],\n\t\"./other/other/otherProfile.vue\": [\n\t\t\"m4y9\",\n\t\t0,\n\t\t207\n\t],\n\t\"./policy/policy.vue\": [\n\t\t\"GV89\",\n\t\t2,\n\t\t0\n\t],\n\t\"./policy/policyDetail.vue\": [\n\t\t\"wHz+\",\n\t\t189\n\t],\n\t\"./profile/attribute.vue\": [\n\t\t\"cESv\",\n\t\t0,\n\t\t132\n\t],\n\t\"./sample/area-selector.vue\": [\n\t\t\"8tFA\",\n\t\t0,\n\t\t123\n\t],\n\t\"./sample/date-picker.vue\": [\n\t\t\"Uqgo\",\n\t\t0,\n\t\t131\n\t],\n\t\"./sample/file-download.vue\": [\n\t\t\"zkF2\",\n\t\t0,\n\t\t184\n\t],\n\t\"./sample/file-upload.vue\": [\n\t\t\"L6F9\",\n\t\t0,\n\t\t65\n\t],\n\t\"./sample/form-inline.vue\": [\n\t\t\"JcQb\",\n\t\t0,\n\t\t177\n\t],\n\t\"./sample/grid.vue\": [\n\t\t\"frcj\",\n\t\t176\n\t],\n\t\"./sample/index.vue\": [\n\t\t\"0ebj\",\n\t\t0,\n\t\t36\n\t],\n\t\"./sample/tinymce.vue\": [\n\t\t\"mN64\",\n\t\t0,\n\t\t192\n\t],\n\t\"./seedCompanies/seedCompaniesVue.vue\": [\n\t\t\"OMNX\",\n\t\t76\n\t],\n\t\"./sign/forget.vue\": [\n\t\t\"d/Er\",\n\t\t0,\n\t\t125\n\t],\n\t\"./sign/identifying-code.vue\": [\n\t\t\"R2bv\",\n\t\t0\n\t],\n\t\"./sign/identifying.vue\": [\n\t\t\"gFi6\",\n\t\t0,\n\t\t160\n\t],\n\t\"./sign/in.vue\": [\n\t\t\"ioiu\",\n\t\t0,\n\t\t171\n\t],\n\t\"./sign/out.vue\": [\n\t\t\"nX4H\",\n\t\t203\n\t],\n\t\"./sign/re-phone.vue\": [\n\t\t\"1Tzt\",\n\t\t0\n\t],\n\t\"./sign/resetPasswordSuccess.vue\": [\n\t\t\"BazW\",\n\t\t0,\n\t\t87\n\t],\n\t\"./sign/up-email.vue\": [\n\t\t\"Ozts\",\n\t\t0,\n\t\t56\n\t],\n\t\"./sign/up-phone.vue\": [\n\t\t\"LIFx\",\n\t\t0,\n\t\t210\n\t],\n\t\"./sign/up-pre.vue\": [\n\t\t\"9Bvn\",\n\t\t138\n\t],\n\t\"./sign/up-tabs.vue\": [\n\t\t\"NAhE\",\n\t\t0,\n\t\t16\n\t],\n\t\"./widgets/LawsLibrary.vue\": [\n\t\t\"0VZY\",\n\t\t0,\n\t\t216\n\t],\n\t\"./workflow/enterprise-approval.vue\": [\n\t\t\"7Yi/\",\n\t\t0,\n\t\t81\n\t],\n\t\"./workflow/enterprise-process.vue\": [\n\t\t\"7qG7\",\n\t\t0,\n\t\t18\n\t],\n\t\"./workflow/intermediary-approval.vue\": [\n\t\t\"a3/0\",\n\t\t0,\n\t\t209\n\t],\n\t\"./workflow/intermediary-process.vue\": [\n\t\t\"oR7X\",\n\t\t0,\n\t\t11\n\t],\n\t\"./workflow/investmentFinancing-approval.vue\": [\n\t\t\"4b+c\",\n\t\t0,\n\t\t80\n\t],\n\t\"./workflow/investmentFinancing-process.vue\": [\n\t\t\"KkoK\",\n\t\t0,\n\t\t14\n\t],\n\t\"./workflow/notification-handle.vue\": [\n\t\t\"osh+\",\n\t\t0,\n\t\t157\n\t],\n\t\"./workflow/notification-process.vue\": [\n\t\t\"yxEX\",\n\t\t0,\n\t\t33\n\t],\n\t\"./workflow/problem-handle.vue\": [\n\t\t\"uFQC\",\n\t\t0,\n\t\t70\n\t],\n\t\"./workflow/problem-process.vue\": [\n\t\t\"FGlY\",\n\t\t0,\n\t\t17\n\t],\n\t\"./workflow/problem-transfer.vue\": [\n\t\t\"wfgY\",\n\t\t0,\n\t\t145\n\t],\n\t\"./workflow/research-handle.vue\": [\n\t\t\"0Bjd\",\n\t\t0,\n\t\t163\n\t],\n\t\"./workflow/research-process.vue\": [\n\t\t\"H2Nr\",\n\t\t0,\n\t\t25\n\t],\n\t\"./workflow/researchRecord-handle.vue\": [\n\t\t\"2TuH\",\n\t\t0,\n\t\t96\n\t],\n\t\"./workflow/researchRecord-process.vue\": [\n\t\t\"xPxc\",\n\t\t0,\n\t\t28\n\t],\n\t\"./workflow/training-approval.vue\": [\n\t\t\"RZ0c\",\n\t\t0,\n\t\t174\n\t],\n\t\"./workflow/training-process.vue\": [\n\t\t\"J/YO\",\n\t\t0,\n\t\t13\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"FK2K\";\nmodule.exports = webpackAsyncContext;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views lazy ^\\.\\/.*\\.vue$\n// module id = FK2K\n// module chunks = 218","'use strict';\r\nimport Vue from 'vue';\r\n\r\nimport '../../style/lib/datetime-picker/css/bootstrap-datetimepicker.min.css'\r\nimport '../../style/lib/datetime-picker/js/bootstrap-datetimepicker.min'\r\nimport '../../style/lib/datetime-picker/js/locales/bootstrap-datetimepicker.zh-CN'\r\n\r\nconst _VIEWS = ['hour', 'day', 'month', 'year', 'decade'];\r\nconst _DEFAULT_VIEWS = 'month';\r\nconst _DEFAULT_FORMAT = 'yyyy-mm-dd HH:ii:ss';\r\nconst _DEFAULT_POSITION = 'bottom-right';\r\n\r\nconst datePicker = Vue.directive('date-picker', {\r\n bind: function (el, binding) {\r\n },\r\n inserted: function (el, binding) {\r\n // console.log('Date Time Picker -> inserted', el, binding);\r\n bindDateTimePicker(el, binding);\r\n },\r\n unbind: function (el, binding) {\r\n // console.log('Date Time Picker -> unbind', el, binding);\r\n unbindDateTimePicker(el, binding);\r\n }\r\n});\r\n\r\n\r\nconst bindDateTimePicker = function (el, binding) {\r\n const _options = datePickerOptions(el, binding);\r\n $(el).datetimepicker(_options).on('changeDate', function (ev) {\r\n el.focus();\r\n // datePickerChangeEvent\r\n binding.value($(el).val(), $(el).data('index'));\r\n el.blur();\r\n });\r\n};\r\n\r\nconst unbindDateTimePicker = function (el, binding) {\r\n $(el).datetimepicker('remove');\r\n};\r\n\r\nconst datePickerOptions = function (el, binding) {\r\n const _format = $(el).data('date-format');\r\n const _view = $(el).data('view');\r\n const _position = $(el).data('position');\r\n const _start = $(el).data('start');\r\n const _end = $(el).data('end');\r\n console.log(_view);\r\n let _options = {\r\n // 选择后自动关闭\r\n autoclose: true,\r\n // today 按钮\r\n todayBtn: 'linked',\r\n todayHighlight: true,\r\n clearBtn: true,\r\n // 起始: 0 周日 1 周一 2 周二 3 周三 3 周四 5 周五 6 周六\r\n weekStart: 1,\r\n // 当选择器关闭的时候,是否强制解析输入框中的值。\r\n forceParse: true,\r\n showMeridian: true,\r\n keyboardNavigation: true,\r\n language: 'zh-CN',\r\n minuteStep: 5,\r\n // 0 or 'hour' 为小时视图 | 1 or 'day' 为天视图 | 2 or 'month' 为月视图(为默认值)| 3 or 'year' 为年视图 | 4 or 'decade' 为十年视图\r\n startView: _view === 'month' ? 'year' : 'month',\r\n minView: _view === 'date' ? 'month' : (_view === 'month' ? 'year' : 'hour'),\r\n maxView: 'decade',\r\n format: _format,\r\n pickerPosition: (_position && _position === 'right') ? 'bottom-left' : 'bottom-right',\r\n startDate: _start,\r\n endDate: _end\r\n };\r\n return _options;\r\n};\r\n\r\nexport default datePicker;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/basement/directives/date-picker.js","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/logo-title-dark.png\n// module id = JxeS\n// module chunks = 218","/*!\n * UEditor\n * version: ueditor\n * build: Wed Aug 10 2016 11:06:16 GMT+0800 (CST)\n */\n\n(function(){\n\n// editor.js\nUEDITOR_CONFIG = window.UEDITOR_CONFIG || {};\n\nvar baidu = window.baidu || {};\n\nwindow.baidu = baidu;\n\nwindow.UE = baidu.editor = window.UE || {};\n\nUE.plugins = {};\n\nUE.commands = {};\n\nUE.instants = {};\n\nUE.I18N = {};\n\nUE._customizeUI = {};\n\nUE.version = \"1.4.3\";\n\nvar dom = UE.dom = {};\n\n// core/browser.js\n/**\n * 浏览器判断模块\n * @file\n * @module UE.browser\n * @since 1.2.6.1\n */\n\n/**\n * 提供浏览器检测的模块\n * @unfile\n * @module UE.browser\n */\nvar browser = UE.browser = function(){\n var agent = navigator.userAgent.toLowerCase(),\n opera = window.opera,\n browser = {\n /**\n * @property {boolean} ie 检测当前浏览器是否为IE\n * @example\n * ```javascript\n * if ( UE.browser.ie ) {\n * console.log( '当前浏览器是IE' );\n * }\n * ```\n */\n ie\t\t: /(msie\\s|trident.*rv:)([\\w.]+)/.test(agent),\n\n /**\n * @property {boolean} opera 检测当前浏览器是否为Opera\n * @example\n * ```javascript\n * if ( UE.browser.opera ) {\n * console.log( '当前浏览器是Opera' );\n * }\n * ```\n */\n opera\t: ( !!opera && opera.version ),\n\n /**\n * @property {boolean} webkit 检测当前浏览器是否是webkit内核的浏览器\n * @example\n * ```javascript\n * if ( UE.browser.webkit ) {\n * console.log( '当前浏览器是webkit内核浏览器' );\n * }\n * ```\n */\n webkit\t: ( agent.indexOf( ' applewebkit/' ) > -1 ),\n\n /**\n * @property {boolean} mac 检测当前浏览器是否是运行在mac平台下\n * @example\n * ```javascript\n * if ( UE.browser.mac ) {\n * console.log( '当前浏览器运行在mac平台下' );\n * }\n * ```\n */\n mac\t: ( agent.indexOf( 'macintosh' ) > -1 ),\n\n /**\n * @property {boolean} quirks 检测当前浏览器是否处于“怪异模式”下\n * @example\n * ```javascript\n * if ( UE.browser.quirks ) {\n * console.log( '当前浏览器运行处于“怪异模式”' );\n * }\n * ```\n */\n quirks : ( document.compatMode == 'BackCompat' )\n };\n\n /**\n * @property {boolean} gecko 检测当前浏览器内核是否是gecko内核\n * @example\n * ```javascript\n * if ( UE.browser.gecko ) {\n * console.log( '当前浏览器内核是gecko内核' );\n * }\n * ```\n */\n browser.gecko =( navigator.product == 'Gecko' && !browser.webkit && !browser.opera && !browser.ie);\n\n var version = 0;\n\n // Internet Explorer 6.0+\n if ( browser.ie ){\n\n var v1 = agent.match(/(?:msie\\s([\\w.]+))/);\n var v2 = agent.match(/(?:trident.*rv:([\\w.]+))/);\n if(v1 && v2 && v1[1] && v2[1]){\n version = Math.max(v1[1]*1,v2[1]*1);\n }else if(v1 && v1[1]){\n version = v1[1]*1;\n }else if(v2 && v2[1]){\n version = v2[1]*1;\n }else{\n version = 0;\n }\n\n browser.ie11Compat = document.documentMode == 11;\n /**\n * @property { boolean } ie9Compat 检测浏览器模式是否为 IE9 兼容模式\n * @warning 如果浏览器不是IE, 则该值为undefined\n * @example\n * ```javascript\n * if ( UE.browser.ie9Compat ) {\n * console.log( '当前浏览器运行在IE9兼容模式下' );\n * }\n * ```\n */\n browser.ie9Compat = document.documentMode == 9;\n\n /**\n * @property { boolean } ie8 检测浏览器是否是IE8浏览器\n * @warning 如果浏览器不是IE, 则该值为undefined\n * @example\n * ```javascript\n * if ( UE.browser.ie8 ) {\n * console.log( '当前浏览器是IE8浏览器' );\n * }\n * ```\n */\n browser.ie8 = !!document.documentMode;\n\n /**\n * @property { boolean } ie8Compat 检测浏览器模式是否为 IE8 兼容模式\n * @warning 如果浏览器不是IE, 则该值为undefined\n * @example\n * ```javascript\n * if ( UE.browser.ie8Compat ) {\n * console.log( '当前浏览器运行在IE8兼容模式下' );\n * }\n * ```\n */\n browser.ie8Compat = document.documentMode == 8;\n\n /**\n * @property { boolean } ie7Compat 检测浏览器模式是否为 IE7 兼容模式\n * @warning 如果浏览器不是IE, 则该值为undefined\n * @example\n * ```javascript\n * if ( UE.browser.ie7Compat ) {\n * console.log( '当前浏览器运行在IE7兼容模式下' );\n * }\n * ```\n */\n browser.ie7Compat = ( ( version == 7 && !document.documentMode )\n || document.documentMode == 7 );\n\n /**\n * @property { boolean } ie6Compat 检测浏览器模式是否为 IE6 模式 或者怪异模式\n * @warning 如果浏览器不是IE, 则该值为undefined\n * @example\n * ```javascript\n * if ( UE.browser.ie6Compat ) {\n * console.log( '当前浏览器运行在IE6模式或者怪异模式下' );\n * }\n * ```\n */\n browser.ie6Compat = ( version < 7 || browser.quirks );\n\n browser.ie9above = version > 8;\n\n browser.ie9below = version < 9;\n\n browser.ie11above = version > 10;\n\n browser.ie11below = version < 11;\n\n }\n\n // Gecko.\n if ( browser.gecko ){\n var geckoRelease = agent.match( /rv:([\\d\\.]+)/ );\n if ( geckoRelease )\n {\n geckoRelease = geckoRelease[1].split( '.' );\n version = geckoRelease[0] * 10000 + ( geckoRelease[1] || 0 ) * 100 + ( geckoRelease[2] || 0 ) * 1;\n }\n }\n\n /**\n * @property { Number } chrome 检测当前浏览器是否为Chrome, 如果是,则返回Chrome的大版本号\n * @warning 如果浏览器不是chrome, 则该值为undefined\n * @example\n * ```javascript\n * if ( UE.browser.chrome ) {\n * console.log( '当前浏览器是Chrome' );\n * }\n * ```\n */\n if (/chrome\\/(\\d+\\.\\d)/i.test(agent)) {\n browser.chrome = + RegExp['\\x241'];\n }\n\n /**\n * @property { Number } safari 检测当前浏览器是否为Safari, 如果是,则返回Safari的大版本号\n * @warning 如果浏览器不是safari, 则该值为undefined\n * @example\n * ```javascript\n * if ( UE.browser.safari ) {\n * console.log( '当前浏览器是Safari' );\n * }\n * ```\n */\n if(/(\\d+\\.\\d)?(?:\\.\\d)?\\s+safari\\/?(\\d+\\.\\d+)?/i.test(agent) && !/chrome/i.test(agent)){\n \tbrowser.safari = + (RegExp['\\x241'] || RegExp['\\x242']);\n }\n\n\n // Opera 9.50+\n if ( browser.opera )\n version = parseFloat( opera.version() );\n\n // WebKit 522+ (Safari 3+)\n if ( browser.webkit )\n version = parseFloat( agent.match( / applewebkit\\/(\\d+)/ )[1] );\n\n /**\n * @property { Number } version 检测当前浏览器版本号\n * @remind\n * \n * @example\n * ```javascript\n * console.log( '当前浏览器版本号是: ' + UE.browser.version );\n * ```\n */\n browser.version = version;\n\n /**\n * @property { boolean } isCompatible 检测当前浏览器是否能够与UEditor良好兼容\n * @example\n * ```javascript\n * if ( UE.browser.isCompatible ) {\n * console.log( '浏览器与UEditor能够良好兼容' );\n * }\n * ```\n */\n browser.isCompatible =\n !browser.mobile && (\n ( browser.ie && version >= 6 ) ||\n ( browser.gecko && version >= 10801 ) ||\n ( browser.opera && version >= 9.5 ) ||\n ( browser.air && version >= 1 ) ||\n ( browser.webkit && version >= 522 ) ||\n false );\n return browser;\n}();\n//快捷方式\nvar ie = browser.ie,\n webkit = browser.webkit,\n gecko = browser.gecko,\n opera = browser.opera;\n\n// core/utils.js\n/**\n * 工具函数包\n * @file\n * @module UE.utils\n * @since 1.2.6.1\n */\n\n/**\n * UEditor封装使用的静态工具函数\n * @module UE.utils\n * @unfile\n */\n\nvar utils = UE.utils = {\n\n /**\n * 用给定的迭代器遍历对象\n * @method each\n * @param { Object } obj 需要遍历的对象\n * @param { Function } iterator 迭代器, 该方法接受两个参数, 第一个参数是当前所处理的value, 第二个参数是当前遍历对象的key\n * @example\n * ```javascript\n * var demoObj = {\n * key1: 1,\n * key2: 2\n * };\n *\n * //output: key1: 1, key2: 2\n * UE.utils.each( demoObj, funciton ( value, key ) {\n *\n * console.log( key + \":\" + value );\n *\n * } );\n * ```\n */\n\n /**\n * 用给定的迭代器遍历数组或类数组对象\n * @method each\n * @param { Array } array 需要遍历的数组或者类数组\n * @param { Function } iterator 迭代器, 该方法接受两个参数, 第一个参数是当前所处理的value, 第二个参数是当前遍历对象的key\n * @example\n * ```javascript\n * var divs = document.getElmentByTagNames( \"div\" );\n *\n * //output: 0: DIV, 1: DIV ...\n * UE.utils.each( divs, funciton ( value, key ) {\n *\n * console.log( key + \":\" + value.tagName );\n *\n * } );\n * ```\n */\n each : function(obj, iterator, context) {\n if (obj == null) return;\n if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if(iterator.call(context, obj[i], i, obj) === false)\n return false;\n }\n } else {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if(iterator.call(context, obj[key], key, obj) === false)\n return false;\n }\n }\n }\n },\n\n /**\n * 以给定对象作为原型创建一个新对象\n * @method makeInstance\n * @param { Object } protoObject 该对象将作为新创建对象的原型\n * @return { Object } 新的对象, 该对象的原型是给定的protoObject对象\n * @example\n * ```javascript\n *\n * var protoObject = { sayHello: function () { console.log('Hello UEditor!'); } };\n *\n * var newObject = UE.utils.makeInstance( protoObject );\n * //output: Hello UEditor!\n * newObject.sayHello();\n * ```\n */\n makeInstance:function (obj) {\n var noop = new Function();\n noop.prototype = obj;\n obj = new noop;\n noop.prototype = null;\n return obj;\n },\n\n /**\n * 将source对象中的属性扩展到target对象上\n * @method extend\n * @remind 该方法将强制把source对象上的属性复制到target对象上\n * @see UE.utils.extend(Object,Object,Boolean)\n * @param { Object } target 目标对象, 新的属性将附加到该对象上\n * @param { Object } source 源对象, 该对象的属性会被附加到target对象上\n * @return { Object } 返回target对象\n * @example\n * ```javascript\n *\n * var target = { name: 'target', sex: 1 },\n * source = { name: 'source', age: 17 };\n *\n * UE.utils.extend( target, source );\n *\n * //output: { name: 'source', sex: 1, age: 17 }\n * console.log( target );\n *\n * ```\n */\n\n /**\n * 将source对象中的属性扩展到target对象上, 根据指定的isKeepTarget值决定是否保留目标对象中与\n * 源对象属性名相同的属性值。\n * @method extend\n * @param { Object } target 目标对象, 新的属性将附加到该对象上\n * @param { Object } source 源对象, 该对象的属性会被附加到target对象上\n * @param { Boolean } isKeepTarget 是否保留目标对象中与源对象中属性名相同的属性\n * @return { Object } 返回target对象\n * @example\n * ```javascript\n *\n * var target = { name: 'target', sex: 1 },\n * source = { name: 'source', age: 17 };\n *\n * UE.utils.extend( target, source, true );\n *\n * //output: { name: 'target', sex: 1, age: 17 }\n * console.log( target );\n *\n * ```\n */\n extend:function (t, s, b) {\n if (s) {\n for (var k in s) {\n if (!b || !t.hasOwnProperty(k)) {\n t[k] = s[k];\n }\n }\n }\n return t;\n },\n\n /**\n * 将给定的多个对象的属性复制到目标对象target上\n * @method extend2\n * @remind 该方法将强制把源对象上的属性复制到target对象上\n * @remind 该方法支持两个及以上的参数, 从第二个参数开始, 其属性都会被复制到第一个参数上。 如果遇到同名的属性,\n * 将会覆盖掉之前的值。\n * @param { Object } target 目标对象, 新的属性将附加到该对象上\n * @param { Object... } source 源对象, 支持多个对象, 该对象的属性会被附加到target对象上\n * @return { Object } 返回target对象\n * @example\n * ```javascript\n *\n * var target = {},\n * source1 = { name: 'source', age: 17 },\n * source2 = { title: 'dev' };\n *\n * UE.utils.extend2( target, source1, source2 );\n *\n * //output: { name: 'source', age: 17, title: 'dev' }\n * console.log( target );\n *\n * ```\n */\n extend2:function (t) {\n var a = arguments;\n for (var i = 1; i < a.length; i++) {\n var x = a[i];\n for (var k in x) {\n if (!t.hasOwnProperty(k)) {\n t[k] = x[k];\n }\n }\n }\n return t;\n },\n\n /**\n * 模拟继承机制, 使得subClass继承自superClass\n * @method inherits\n * @param { Object } subClass 子类对象\n * @param { Object } superClass 超类对象\n * @warning 该方法只能让subClass继承超类的原型, subClass对象自身的属性和方法不会被继承\n * @return { Object } 继承superClass后的子类对象\n * @example\n * ```javascript\n * function SuperClass(){\n * this.name = \"小李\";\n * }\n *\n * SuperClass.prototype = {\n * hello:function(str){\n * console.log(this.name + str);\n * }\n * }\n *\n * function SubClass(){\n * this.name = \"小张\";\n * }\n *\n * UE.utils.inherits(SubClass,SuperClass);\n *\n * var sub = new SubClass();\n * //output: '小张早上好!\n * sub.hello(\"早上好!\");\n * ```\n */\n inherits:function (subClass, superClass) {\n var oldP = subClass.prototype,\n newP = utils.makeInstance(superClass.prototype);\n utils.extend(newP, oldP, true);\n subClass.prototype = newP;\n return (newP.constructor = subClass);\n },\n\n /**\n * 用指定的context对象作为函数fn的上下文\n * @method bind\n * @param { Function } fn 需要绑定上下文的函数对象\n * @param { Object } content 函数fn新的上下文对象\n * @return { Function } 一个新的函数, 该函数作为原始函数fn的代理, 将完成fn的上下文调换工作。\n * @example\n * ```javascript\n *\n * var name = 'window',\n * newTest = null;\n *\n * function test () {\n * console.log( this.name );\n * }\n *\n * newTest = UE.utils.bind( test, { name: 'object' } );\n *\n * //output: object\n * newTest();\n *\n * //output: window\n * test();\n *\n * ```\n */\n bind:function (fn, context) {\n return function () {\n return fn.apply(context, arguments);\n };\n },\n\n /**\n * 创建延迟指定时间后执行的函数fn\n * @method defer\n * @param { Function } fn 需要延迟执行的函数对象\n * @param { int } delay 延迟的时间, 单位是毫秒\n * @warning 该方法的时间控制是不精确的,仅仅只能保证函数的执行是在给定的时间之后,\n * 而不能保证刚好到达延迟时间时执行。\n * @return { Function } 目标函数fn的代理函数, 只有执行该函数才能起到延时效果\n * @example\n * ```javascript\n * var start = 0;\n *\n * function test(){\n * console.log( new Date() - start );\n * }\n *\n * var testDefer = UE.utils.defer( test, 1000 );\n * //\n * start = new Date();\n * //output: (大约在1000毫秒之后输出) 1000\n * testDefer();\n * ```\n */\n\n /**\n * 创建延迟指定时间后执行的函数fn, 如果在延迟时间内再次执行该方法, 将会根据指定的exclusion的值,\n * 决定是否取消前一次函数的执行, 如果exclusion的值为true, 则取消执行,反之,将继续执行前一个方法。\n * @method defer\n * @param { Function } fn 需要延迟执行的函数对象\n * @param { int } delay 延迟的时间, 单位是毫秒\n * @param { Boolean } exclusion 如果在延迟时间内再次执行该函数,该值将决定是否取消执行前一次函数的执行,\n * 值为true表示取消执行, 反之则将在执行前一次函数之后才执行本次函数调用。\n * @warning 该方法的时间控制是不精确的,仅仅只能保证函数的执行是在给定的时间之后,\n * 而不能保证刚好到达延迟时间时执行。\n * @return { Function } 目标函数fn的代理函数, 只有执行该函数才能起到延时效果\n * @example\n * ```javascript\n *\n * function test(){\n * console.log(1);\n * }\n *\n * var testDefer = UE.utils.defer( test, 1000, true );\n *\n * //output: (两次调用仅有一次输出) 1\n * testDefer();\n * testDefer();\n * ```\n */\n defer:function (fn, delay, exclusion) {\n var timerID;\n return function () {\n if (exclusion) {\n clearTimeout(timerID);\n }\n timerID = setTimeout(fn, delay);\n };\n },\n\n /**\n * 获取元素item在数组array中首次出现的位置, 如果未找到item, 则返回-1\n * @method indexOf\n * @remind 该方法的匹配过程使用的是恒等“===”\n * @param { Array } array 需要查找的数组对象\n * @param { * } item 需要在目标数组中查找的值\n * @return { int } 返回item在目标数组array中首次出现的位置, 如果在数组中未找到item, 则返回-1\n * @example\n * ```javascript\n * var item = 1,\n * arr = [ 3, 4, 6, 8, 1, 1, 2 ];\n *\n * //output: 4\n * console.log( UE.utils.indexOf( arr, item ) );\n * ```\n */\n\n /**\n * 获取元素item数组array中首次出现的位置, 如果未找到item, 则返回-1。通过start的值可以指定搜索的起始位置。\n * @method indexOf\n * @remind 该方法的匹配过程使用的是恒等“===”\n * @param { Array } array 需要查找的数组对象\n * @param { * } item 需要在目标数组中查找的值\n * @param { int } start 搜索的起始位置\n * @return { int } 返回item在目标数组array中的start位置之后首次出现的位置, 如果在数组中未找到item, 则返回-1\n * @example\n * ```javascript\n * var item = 1,\n * arr = [ 3, 4, 6, 8, 1, 2, 8, 3, 2, 1, 1, 4 ];\n *\n * //output: 9\n * console.log( UE.utils.indexOf( arr, item, 5 ) );\n * ```\n */\n indexOf:function (array, item, start) {\n var index = -1;\n start = this.isNumber(start) ? start : 0;\n this.each(array, function (v, i) {\n if (i >= start && v === item) {\n index = i;\n return false;\n }\n });\n return index;\n },\n\n /**\n * 移除数组array中所有的元素item\n * @method removeItem\n * @param { Array } array 要移除元素的目标数组\n * @param { * } item 将要被移除的元素\n * @remind 该方法的匹配过程使用的是恒等“===”\n * @example\n * ```javascript\n * var arr = [ 4, 5, 7, 1, 3, 4, 6 ];\n *\n * UE.utils.removeItem( arr, 4 );\n * //output: [ 5, 7, 1, 3, 6 ]\n * console.log( arr );\n *\n * ```\n */\n removeItem:function (array, item) {\n for (var i = 0, l = array.length; i < l; i++) {\n if (array[i] === item) {\n array.splice(i, 1);\n i--;\n }\n }\n },\n\n /**\n * 删除字符串str的首尾空格\n * @method trim\n * @param { String } str 需要删除首尾空格的字符串\n * @return { String } 删除了首尾的空格后的字符串\n * @example\n * ```javascript\n *\n * var str = \" UEdtior \";\n *\n * //output: 9\n * console.log( str.length );\n *\n * //output: 7\n * console.log( UE.utils.trim( \" UEdtior \" ).length );\n *\n * //output: 9\n * console.log( str.length );\n *\n * ```\n */\n trim:function (str) {\n return str.replace(/(^[ \\t\\n\\r]+)|([ \\t\\n\\r]+$)/g, '');\n },\n\n /**\n * 将字符串str以','分隔成数组后,将该数组转换成哈希对象, 其生成的hash对象的key为数组中的元素, value为1\n * @method listToMap\n * @warning 该方法在生成的hash对象中,会为每一个key同时生成一个另一个全大写的key。\n * @param { String } str 该字符串将被以','分割为数组, 然后进行转化\n * @return { Object } 转化之后的hash对象\n * @example\n * ```javascript\n *\n * //output: Object {UEdtior: 1, UEDTIOR: 1, Hello: 1, HELLO: 1}\n * console.log( UE.utils.listToMap( 'UEdtior,Hello' ) );\n *\n * ```\n */\n\n /**\n * 将字符串数组转换成哈希对象, 其生成的hash对象的key为数组中的元素, value为1\n * @method listToMap\n * @warning 该方法在生成的hash对象中,会为每一个key同时生成一个另一个全大写的key。\n * @param { Array } arr 字符串数组\n * @return { Object } 转化之后的hash对象\n * @example\n * ```javascript\n *\n * //output: Object {UEdtior: 1, UEDTIOR: 1, Hello: 1, HELLO: 1}\n * console.log( UE.utils.listToMap( [ 'UEdtior', 'Hello' ] ) );\n *\n * ```\n */\n listToMap:function (list) {\n if (!list)return {};\n list = utils.isArray(list) ? list : list.split(',');\n for (var i = 0, ci, obj = {}; ci = list[i++];) {\n obj[ci.toUpperCase()] = obj[ci] = 1;\n }\n return obj;\n },\n\n /**\n * 将str中的html符号转义,将转义“',&,<,\",>”五个字符\n * @method unhtml\n * @param { String } str 需要转义的字符串\n * @return { String } 转义后的字符串\n * @example\n * ```javascript\n * var html = '&';\n *\n * //output: <body>&</body>\n * console.log( UE.utils.unhtml( html ) );\n *\n * ```\n */\n unhtml:function (str, reg) {\n return str ? str.replace(reg || /[&<\">'](?:(amp|lt|quot|gt|#39|nbsp|#\\d+);)?/g, function (a, b) {\n if (b) {\n return a;\n } else {\n return {\n '<':'<',\n '&':'&',\n '\"':'"',\n '>':'>',\n \"'\":'''\n }[a]\n }\n\n }) : '';\n },\n /**\n * 将url中的html字符转义, 仅转义 ', \", <, > 四个字符\n * @param { String } str 需要转义的字符串\n * @param { RegExp } reg 自定义的正则\n * @return { String } 转义后的字符串\n */\n unhtmlForUrl:function (str, reg) {\n return str ? str.replace(reg || /[<\">']/g, function (a) {\n return {\n '<':'<',\n '&':'&',\n '\"':'"',\n '>':'>',\n \"'\":'''\n }[a]\n\n }) : '';\n },\n\n /**\n * 将str中的转义字符还原成html字符\n * @see UE.utils.unhtml(String);\n * @method html\n * @param { String } str 需要逆转义的字符串\n * @return { String } 逆转义后的字符串\n * @example\n * ```javascript\n *\n * var str = '<body>&</body>';\n *\n * //output: &\n * console.log( UE.utils.html( str ) );\n *\n * ```\n */\n html:function (str) {\n return str ? str.replace(/&((g|l|quo)t|amp|#39|nbsp);/g, function (m) {\n return {\n '<':'<',\n '&':'&',\n '"':'\"',\n '>':'>',\n ''':\"'\",\n ' ':' '\n }[m]\n }) : '';\n },\n\n /**\n * 将css样式转换为驼峰的形式\n * @method cssStyleToDomStyle\n * @param { String } cssName 需要转换的css样式名\n * @return { String } 转换成驼峰形式后的css样式名\n * @example\n * ```javascript\n *\n * var str = 'border-top';\n *\n * //output: borderTop\n * console.log( UE.utils.cssStyleToDomStyle( str ) );\n *\n * ```\n */\n cssStyleToDomStyle:function () {\n var test = document.createElement('div').style,\n cache = {\n 'float':test.cssFloat != undefined ? 'cssFloat' : test.styleFloat != undefined ? 'styleFloat' : 'float'\n };\n\n return function (cssName) {\n return cache[cssName] || (cache[cssName] = cssName.toLowerCase().replace(/-./g, function (match) {\n return match.charAt(1).toUpperCase();\n }));\n };\n }(),\n\n /**\n * 动态加载文件到doc中\n * @method loadFile\n * @param { DomDocument } document 需要加载资源文件的文档对象\n * @param { Object } options 加载资源文件的属性集合, 取值请参考代码示例\n * @example\n * ```javascript\n *\n * UE.utils.loadFile( document, {\n * src:\"test.js\",\n * tag:\"script\",\n * type:\"text/javascript\",\n * defer:\"defer\"\n * } );\n *\n * ```\n */\n\n /**\n * 动态加载文件到doc中,加载成功后执行的回调函数fn\n * @method loadFile\n * @param { DomDocument } document 需要加载资源文件的文档对象\n * @param { Object } options 加载资源文件的属性集合, 该集合支持的值是script标签和style标签支持的所有属性。\n * @param { Function } fn 资源文件加载成功之后执行的回调\n * @warning 对于在同一个文档中多次加载同一URL的文件, 该方法会在第一次加载之后缓存该请求,\n * 在此之后的所有同一URL的请求, 将会直接触发回调。\n * @example\n * ```javascript\n *\n * UE.utils.loadFile( document, {\n * src:\"test.js\",\n * tag:\"script\",\n * type:\"text/javascript\",\n * defer:\"defer\"\n * }, function () {\n * console.log('加载成功');\n * } );\n *\n * ```\n */\n loadFile:function () {\n var tmpList = [];\n\n function getItem(doc, obj) {\n try {\n for (var i = 0, ci; ci = tmpList[i++];) {\n if (ci.doc === doc && ci.url == (obj.src || obj.href)) {\n return ci;\n }\n }\n } catch (e) {\n return null;\n }\n\n }\n\n return function (doc, obj, fn) {\n var item = getItem(doc, obj);\n if (item) {\n if (item.ready) {\n fn && fn();\n } else {\n item.funs.push(fn)\n }\n return;\n }\n tmpList.push({\n doc:doc,\n url:obj.src || obj.href,\n funs:[fn]\n });\n if (!doc.body) {\n var html = [];\n for (var p in obj) {\n if (p == 'tag')continue;\n html.push(p + '=\"' + obj[p] + '\"')\n }\n doc.write('<' + obj.tag + ' ' + html.join(' ') + ' >');\n return;\n }\n if (obj.id && doc.getElementById(obj.id)) {\n return;\n }\n var element = doc.createElement(obj.tag);\n delete obj.tag;\n for (var p in obj) {\n element.setAttribute(p, obj[p]);\n }\n element.onload = element.onreadystatechange = function () {\n if (!this.readyState || /loaded|complete/.test(this.readyState)) {\n item = getItem(doc, obj);\n if (item.funs.length > 0) {\n item.ready = 1;\n for (var fi; fi = item.funs.pop();) {\n fi();\n }\n }\n element.onload = element.onreadystatechange = null;\n }\n };\n element.onerror = function () {\n throw Error('The load ' + (obj.href || obj.src) + ' fails,check the url settings of file ueditor.config.js ')\n };\n doc.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n }(),\n\n /**\n * 判断obj对象是否为空\n * @method isEmptyObject\n * @param { * } obj 需要判断的对象\n * @remind 如果判断的对象是NULL, 将直接返回true, 如果是数组且为空, 返回true, 如果是字符串, 且字符串为空,\n * 返回true, 如果是普通对象, 且该对象没有任何实例属性, 返回true\n * @return { Boolean } 对象是否为空\n * @example\n * ```javascript\n *\n * //output: true\n * console.log( UE.utils.isEmptyObject( {} ) );\n *\n * //output: true\n * console.log( UE.utils.isEmptyObject( [] ) );\n *\n * //output: true\n * console.log( UE.utils.isEmptyObject( \"\" ) );\n *\n * //output: false\n * console.log( UE.utils.isEmptyObject( { key: 1 } ) );\n *\n * //output: false\n * console.log( UE.utils.isEmptyObject( [1] ) );\n *\n * //output: false\n * console.log( UE.utils.isEmptyObject( \"1\" ) );\n *\n * ```\n */\n isEmptyObject:function (obj) {\n if (obj == null) return true;\n if (this.isArray(obj) || this.isString(obj)) return obj.length === 0;\n for (var key in obj) if (obj.hasOwnProperty(key)) return false;\n return true;\n },\n\n /**\n * 把rgb格式的颜色值转换成16进制格式\n * @method fixColor\n * @param { String } rgb格式的颜色值\n * @param { String }\n * @example\n * rgb(255,255,255) => \"#ffffff\"\n */\n fixColor:function (name, value) {\n if (/color/i.test(name) && /rgba?/.test(value)) {\n var array = value.split(\",\");\n if (array.length > 3)\n return \"\";\n value = \"#\";\n for (var i = 0, color; color = array[i++];) {\n color = parseInt(color.replace(/[^\\d]/gi, ''), 10).toString(16);\n value += color.length == 1 ? \"0\" + color : color;\n }\n value = value.toUpperCase();\n }\n return value;\n },\n /**\n * 只针对border,padding,margin做了处理,因为性能问题\n * @public\n * @function\n * @param {String} val style字符串\n */\n optCss:function (val) {\n var padding, margin, border;\n val = val.replace(/(padding|margin|border)\\-([^:]+):([^;]+);?/gi, function (str, key, name, val) {\n if (val.split(' ').length == 1) {\n switch (key) {\n case 'padding':\n !padding && (padding = {});\n padding[name] = val;\n return '';\n case 'margin':\n !margin && (margin = {});\n margin[name] = val;\n return '';\n case 'border':\n return val == 'initial' ? '' : str;\n }\n }\n return str;\n });\n\n function opt(obj, name) {\n if (!obj) {\n return '';\n }\n var t = obj.top , b = obj.bottom, l = obj.left, r = obj.right, val = '';\n if (!t || !l || !b || !r) {\n for (var p in obj) {\n val += ';' + name + '-' + p + ':' + obj[p] + ';';\n }\n } else {\n val += ';' + name + ':' +\n (t == b && b == l && l == r ? t :\n t == b && l == r ? (t + ' ' + l) :\n l == r ? (t + ' ' + l + ' ' + b) : (t + ' ' + r + ' ' + b + ' ' + l)) + ';'\n }\n return val;\n }\n\n val += opt(padding, 'padding') + opt(margin, 'margin');\n return val.replace(/^[ \\n\\r\\t;]*|[ \\n\\r\\t]*$/, '').replace(/;([ \\n\\r\\t]+)|\\1;/g, ';')\n .replace(/(&((l|g)t|quot|#39))?;{2,}/g, function (a, b) {\n return b ? b + \";;\" : ';'\n });\n },\n\n /**\n * 克隆对象\n * @method clone\n * @param { Object } source 源对象\n * @return { Object } source的一个副本\n */\n\n /**\n * 深度克隆对象,将source的属性克隆到target对象, 会覆盖target重名的属性。\n * @method clone\n * @param { Object } source 源对象\n * @param { Object } target 目标对象\n * @return { Object } 附加了source对象所有属性的target对象\n */\n clone:function (source, target) {\n var tmp;\n target = target || {};\n for (var i in source) {\n if (source.hasOwnProperty(i)) {\n tmp = source[i];\n if (typeof tmp == 'object') {\n target[i] = utils.isArray(tmp) ? [] : {};\n utils.clone(source[i], target[i])\n } else {\n target[i] = tmp;\n }\n }\n }\n return target;\n },\n\n /**\n * 把cm/pt为单位的值转换为px为单位的值\n * @method transUnitToPx\n * @param { String } 待转换的带单位的字符串\n * @return { String } 转换为px为计量单位的值的字符串\n * @example\n * ```javascript\n *\n * //output: 500px\n * console.log( UE.utils.transUnitToPx( '20cm' ) );\n *\n * //output: 27px\n * console.log( UE.utils.transUnitToPx( '20pt' ) );\n *\n * ```\n */\n transUnitToPx:function (val) {\n if (!/(pt|cm)/.test(val)) {\n return val\n }\n var unit;\n val.replace(/([\\d.]+)(\\w+)/, function (str, v, u) {\n val = v;\n unit = u;\n });\n switch (unit) {\n case 'cm':\n val = parseFloat(val) * 25;\n break;\n case 'pt':\n val = Math.round(parseFloat(val) * 96 / 72);\n }\n return val + (val ? 'px' : '');\n },\n\n /**\n * 在dom树ready之后执行给定的回调函数\n * @method domReady\n * @remind 如果在执行该方法的时候, dom树已经ready, 那么回调函数将立刻执行\n * @param { Function } fn dom树ready之后的回调函数\n * @example\n * ```javascript\n *\n * UE.utils.domReady( function () {\n *\n * console.log('123');\n *\n * } );\n *\n * ```\n */\n domReady:function () {\n\n var fnArr = [];\n\n function doReady(doc) {\n //确保onready只执行一次\n doc.isReady = true;\n for (var ci; ci = fnArr.pop(); ci()) {\n }\n }\n\n return function (onready, win) {\n win = win || window;\n var doc = win.document;\n onready && fnArr.push(onready);\n if (doc.readyState === \"complete\") {\n doReady(doc);\n } else {\n doc.isReady && doReady(doc);\n if (browser.ie && browser.version != 11) {\n (function () {\n if (doc.isReady) return;\n try {\n doc.documentElement.doScroll(\"left\");\n } catch (error) {\n setTimeout(arguments.callee, 0);\n return;\n }\n doReady(doc);\n })();\n win.attachEvent('onload', function () {\n doReady(doc)\n });\n } else {\n doc.addEventListener(\"DOMContentLoaded\", function () {\n doc.removeEventListener(\"DOMContentLoaded\", arguments.callee, false);\n doReady(doc);\n }, false);\n win.addEventListener('load', function () {\n doReady(doc)\n }, false);\n }\n }\n\n }\n }(),\n\n /**\n * 动态添加css样式\n * @method cssRule\n * @param { String } 节点名称\n * @grammar UE.utils.cssRule('添加的样式的节点名称',['样式','放到哪个document上'])\n * @grammar UE.utils.cssRule('body','body{background:#ccc}') => null //给body添加背景颜色\n * @grammar UE.utils.cssRule('body') =>样式的字符串 //取得key值为body的样式的内容,如果没有找到key值先关的样式将返回空,例如刚才那个背景颜色,将返回 body{background:#ccc}\n * @grammar UE.utils.cssRule('body',document) => 返回指定key的样式,并且指定是哪个document\n * @grammar UE.utils.cssRule('body','') =>null //清空给定的key值的背景颜色\n */\n cssRule:browser.ie && browser.version != 11 ? function (key, style, doc) {\n var indexList, index;\n if(style === undefined || style && style.nodeType && style.nodeType == 9){\n //获取样式\n doc = style && style.nodeType && style.nodeType == 9 ? style : (doc || document);\n indexList = doc.indexList || (doc.indexList = {});\n index = indexList[key];\n if(index !== undefined){\n return doc.styleSheets[index].cssText\n }\n return undefined;\n }\n doc = doc || document;\n indexList = doc.indexList || (doc.indexList = {});\n index = indexList[key];\n //清除样式\n if(style === ''){\n if(index!== undefined){\n doc.styleSheets[index].cssText = '';\n delete indexList[key];\n return true\n }\n return false;\n }\n\n //添加样式\n if(index!== undefined){\n sheetStyle = doc.styleSheets[index];\n }else{\n sheetStyle = doc.createStyleSheet('', index = doc.styleSheets.length);\n indexList[key] = index;\n }\n sheetStyle.cssText = style;\n }: function (key, style, doc) {\n var head, node;\n if(style === undefined || style && style.nodeType && style.nodeType == 9){\n //获取样式\n doc = style && style.nodeType && style.nodeType == 9 ? style : (doc || document);\n node = doc.getElementById(key);\n return node ? node.innerHTML : undefined;\n }\n doc = doc || document;\n node = doc.getElementById(key);\n\n //清除样式\n if(style === ''){\n if(node){\n node.parentNode.removeChild(node);\n return true\n }\n return false;\n }\n\n //添加样式\n if(node){\n node.innerHTML = style;\n }else{\n node = doc.createElement('style');\n node.id = key;\n node.innerHTML = style;\n doc.getElementsByTagName('head')[0].appendChild(node);\n }\n },\n sort:function(array,compareFn){\n compareFn = compareFn || function(item1, item2){ return item1.localeCompare(item2);};\n for(var i= 0,len = array.length; i 0){\n var t = array[i];\n array[i] = array[j];\n array[j] = t;\n }\n }\n }\n return array;\n },\n serializeParam:function (json) {\n var strArr = [];\n for (var i in json) {\n //忽略默认的几个参数\n if(i==\"method\" || i==\"timeout\" || i==\"async\") continue;\n //传递过来的对象和函数不在提交之列\n if (!((typeof json[i]).toLowerCase() == \"function\" || (typeof json[i]).toLowerCase() == \"object\")) {\n strArr.push( encodeURIComponent(i) + \"=\"+encodeURIComponent(json[i]) );\n } else if (utils.isArray(json[i])) {\n //支持传数组内容\n for(var j = 0; j < json[i].length; j++) {\n strArr.push( encodeURIComponent(i) + \"[]=\"+encodeURIComponent(json[i][j]) );\n }\n }\n }\n return strArr.join(\"&\");\n },\n formatUrl:function (url) {\n var u = url.replace(/&&/g, '&');\n u = u.replace(/\\?&/g, '?');\n u = u.replace(/&$/g, '');\n u = u.replace(/&#/g, '#');\n u = u.replace(/&+/g, '&');\n return u;\n },\n isCrossDomainUrl:function (url) {\n var a = document.createElement('a');\n a.href = url;\n if (browser.ie) {\n a.href = a.href;\n }\n return !(a.protocol == location.protocol && a.hostname == location.hostname &&\n (a.port == location.port || (a.port == '80' && location.port == '') || (a.port == '' && location.port == '80')));\n },\n clearEmptyAttrs : function(obj){\n for(var p in obj){\n if(obj[p] === ''){\n delete obj[p]\n }\n }\n return obj;\n },\n str2json : function(s){\n\n if (!utils.isString(s)) return null;\n if (window.JSON) {\n return JSON.parse(s);\n } else {\n return (new Function(\"return \" + utils.trim(s || '')))();\n }\n\n },\n json2str : (function(){\n\n if (window.JSON) {\n\n return JSON.stringify;\n\n } else {\n\n var escapeMap = {\n \"\\b\": '\\\\b',\n \"\\t\": '\\\\t',\n \"\\n\": '\\\\n',\n \"\\f\": '\\\\f',\n \"\\r\": '\\\\r',\n '\"' : '\\\\\"',\n \"\\\\\": '\\\\\\\\'\n };\n\n function encodeString(source) {\n if (/[\"\\\\\\x00-\\x1f]/.test(source)) {\n source = source.replace(\n /[\"\\\\\\x00-\\x1f]/g,\n function (match) {\n var c = escapeMap[match];\n if (c) {\n return c;\n }\n c = match.charCodeAt();\n return \"\\\\u00\"\n + Math.floor(c / 16).toString(16)\n + (c % 16).toString(16);\n });\n }\n return '\"' + source + '\"';\n }\n\n function encodeArray(source) {\n var result = [\"[\"],\n l = source.length,\n preComma, i, item;\n\n for (i = 0; i < l; i++) {\n item = source[i];\n\n switch (typeof item) {\n case \"undefined\":\n case \"function\":\n case \"unknown\":\n break;\n default:\n if(preComma) {\n result.push(',');\n }\n result.push(utils.json2str(item));\n preComma = 1;\n }\n }\n result.push(\"]\");\n return result.join(\"\");\n }\n\n function pad(source) {\n return source < 10 ? '0' + source : source;\n }\n\n function encodeDate(source){\n return '\"' + source.getFullYear() + \"-\"\n + pad(source.getMonth() + 1) + \"-\"\n + pad(source.getDate()) + \"T\"\n + pad(source.getHours()) + \":\"\n + pad(source.getMinutes()) + \":\"\n + pad(source.getSeconds()) + '\"';\n }\n\n return function (value) {\n switch (typeof value) {\n case 'undefined':\n return 'undefined';\n\n case 'number':\n return isFinite(value) ? String(value) : \"null\";\n\n case 'string':\n return encodeString(value);\n\n case 'boolean':\n return String(value);\n\n default:\n if (value === null) {\n return 'null';\n } else if (utils.isArray(value)) {\n return encodeArray(value);\n } else if (utils.isDate(value)) {\n return encodeDate(value);\n } else {\n var result = ['{'],\n encode = utils.json2str,\n preComma,\n item;\n\n for (var key in value) {\n if (Object.prototype.hasOwnProperty.call(value, key)) {\n item = value[key];\n switch (typeof item) {\n case 'undefined':\n case 'unknown':\n case 'function':\n break;\n default:\n if (preComma) {\n result.push(',');\n }\n preComma = 1;\n result.push(encode(key) + ':' + encode(item));\n }\n }\n }\n result.push('}');\n return result.join('');\n }\n }\n };\n }\n\n })()\n\n};\n/**\n * 判断给定的对象是否是字符串\n * @method isString\n * @param { * } object 需要判断的对象\n * @return { Boolean } 给定的对象是否是字符串\n */\n\n/**\n * 判断给定的对象是否是数组\n * @method isArray\n * @param { * } object 需要判断的对象\n * @return { Boolean } 给定的对象是否是数组\n */\n\n/**\n * 判断给定的对象是否是一个Function\n * @method isFunction\n * @param { * } object 需要判断的对象\n * @return { Boolean } 给定的对象是否是Function\n */\n\n/**\n * 判断给定的对象是否是Number\n * @method isNumber\n * @param { * } object 需要判断的对象\n * @return { Boolean } 给定的对象是否是Number\n */\n\n/**\n * 判断给定的对象是否是一个正则表达式\n * @method isRegExp\n * @param { * } object 需要判断的对象\n * @return { Boolean } 给定的对象是否是正则表达式\n */\n\n/**\n * 判断给定的对象是否是一个普通对象\n * @method isObject\n * @param { * } object 需要判断的对象\n * @return { Boolean } 给定的对象是否是普通对象\n */\nutils.each(['String', 'Function', 'Array', 'Number', 'RegExp', 'Object', 'Date'], function (v) {\n UE.utils['is' + v] = function (obj) {\n return Object.prototype.toString.apply(obj) == '[object ' + v + ']';\n }\n});\n\n\n// core/EventBase.js\n/**\n * UE采用的事件基类\n * @file\n * @module UE\n * @class EventBase\n * @since 1.2.6.1\n */\n\n/**\n * UEditor公用空间,UEditor所有的功能都挂载在该空间下\n * @unfile\n * @module UE\n */\n\n/**\n * UE采用的事件基类,继承此类的对应类将获取addListener,removeListener,fireEvent方法。\n * 在UE中,Editor以及所有ui实例都继承了该类,故可以在对应的ui对象以及editor对象上使用上述方法。\n * @unfile\n * @module UE\n * @class EventBase\n */\n\n/**\n * 通过此构造器,子类可以继承EventBase获取事件监听的方法\n * @constructor\n * @example\n * ```javascript\n * UE.EventBase.call(editor);\n * ```\n */\nvar EventBase = UE.EventBase = function () {};\n\nEventBase.prototype = {\n\n /**\n * 注册事件监听器\n * @method addListener\n * @param { String } types 监听的事件名称,同时监听多个事件使用空格分隔\n * @param { Function } fn 监听的事件被触发时,会执行该回调函数\n * @waining 事件被触发时,监听的函数假如返回的值恒等于true,回调函数的队列中后面的函数将不执行\n * @example\n * ```javascript\n * editor.addListener('selectionchange',function(){\n * console.log(\"选区已经变化!\");\n * })\n * editor.addListener('beforegetcontent aftergetcontent',function(type){\n * if(type == 'beforegetcontent'){\n * //do something\n * }else{\n * //do something\n * }\n * console.log(this.getContent) // this是注册的事件的编辑器实例\n * })\n * ```\n * @see UE.EventBase:fireEvent(String)\n */\n addListener:function (types, listener) {\n types = utils.trim(types).split(/\\s+/);\n for (var i = 0, ti; ti = types[i++];) {\n getListener(this, ti, true).push(listener);\n }\n },\n\n on : function(types, listener){\n return this.addListener(types,listener);\n },\n off : function(types, listener){\n return this.removeListener(types, listener)\n },\n trigger:function(){\n return this.fireEvent.apply(this,arguments);\n },\n /**\n * 移除事件监听器\n * @method removeListener\n * @param { String } types 移除的事件名称,同时移除多个事件使用空格分隔\n * @param { Function } fn 移除监听事件的函数引用\n * @example\n * ```javascript\n * //changeCallback为方法体\n * editor.removeListener(\"selectionchange\",changeCallback);\n * ```\n */\n removeListener:function (types, listener) {\n types = utils.trim(types).split(/\\s+/);\n for (var i = 0, ti; ti = types[i++];) {\n utils.removeItem(getListener(this, ti) || [], listener);\n }\n },\n\n /**\n * 触发事件\n * @method fireEvent\n * @param { String } types 触发的事件名称,同时触发多个事件使用空格分隔\n * @remind 该方法会触发addListener\n * @return { * } 返回触发事件的队列中,最后执行的回调函数的返回值\n * @example\n * ```javascript\n * editor.fireEvent(\"selectionchange\");\n * ```\n */\n\n /**\n * 触发事件\n * @method fireEvent\n * @param { String } types 触发的事件名称,同时触发多个事件使用空格分隔\n * @param { *... } options 可选参数,可以传入一个或多个参数,会传给事件触发的回调函数\n * @return { * } 返回触发事件的队列中,最后执行的回调函数的返回值\n * @example\n * ```javascript\n *\n * editor.addListener( \"selectionchange\", function ( type, arg1, arg2 ) {\n *\n * console.log( arg1 + \" \" + arg2 );\n *\n * } );\n *\n * //触发selectionchange事件, 会执行上面的事件监听器\n * //output: Hello World\n * editor.fireEvent(\"selectionchange\", \"Hello\", \"World\");\n * ```\n */\n fireEvent:function () {\n var types = arguments[0];\n types = utils.trim(types).split(' ');\n for (var i = 0, ti; ti = types[i++];) {\n var listeners = getListener(this, ti),\n r, t, k;\n if (listeners) {\n k = listeners.length;\n while (k--) {\n if(!listeners[k])continue;\n t = listeners[k].apply(this, arguments);\n if(t === true){\n return t;\n }\n if (t !== undefined) {\n r = t;\n }\n }\n }\n if (t = this['on' + ti.toLowerCase()]) {\n r = t.apply(this, arguments);\n }\n }\n return r;\n }\n};\n/**\n * 获得对象所拥有监听类型的所有监听器\n * @unfile\n * @module UE\n * @since 1.2.6.1\n * @method getListener\n * @public\n * @param { Object } obj 查询监听器的对象\n * @param { String } type 事件类型\n * @param { Boolean } force 为true且当前所有type类型的侦听器不存在时,创建一个空监听器数组\n * @return { Array } 监听器数组\n */\nfunction getListener(obj, type, force) {\n var allListeners;\n type = type.toLowerCase();\n return ( ( allListeners = ( obj.__allListeners || force && ( obj.__allListeners = {} ) ) )\n && ( allListeners[type] || force && ( allListeners[type] = [] ) ) );\n}\n\n\n\n// core/dtd.js\n///import editor.js\n///import core/dom/dom.js\n///import core/utils.js\n/**\n * dtd html语义化的体现类\n * @constructor\n * @namespace dtd\n */\nvar dtd = dom.dtd = (function() {\n function _( s ) {\n for (var k in s) {\n s[k.toUpperCase()] = s[k];\n }\n return s;\n }\n var X = utils.extend2;\n var A = _({isindex:1,fieldset:1}),\n B = _({input:1,button:1,select:1,textarea:1,label:1}),\n C = X( _({a:1}), B ),\n D = X( {iframe:1}, C ),\n E = _({hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1}),\n F = _({ins:1,del:1,script:1,style:1}),\n G = X( _({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1}), F ),\n H = X( _({sub:1,img:1,embed:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1}), G ),\n I = X( _({p:1}), H ),\n J = X( _({iframe:1}), H, B ),\n K = _({img:1,embed:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1}),\n\n L = X( _({a:0}), J ),//a不能被切开,所以把他\n M = _({tr:1}),\n N = _({'#':1}),\n O = X( _({param:1}), K ),\n P = X( _({form:1}), A, D, E, I ),\n Q = _({li:1,ol:1,ul:1}),\n R = _({style:1,script:1}),\n S = _({base:1,link:1,meta:1,title:1}),\n T = X( S, R ),\n U = _({head:1,body:1}),\n V = _({html:1});\n\n var block = _({address:1,blockquote:1,center:1,dir:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,menu:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1}),\n\n empty = _({area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1});\n\n return _({\n\n // $ 表示自定的属性\n\n // body外的元素列表.\n $nonBodyContent: X( V, U, S ),\n\n //块结构元素列表\n $block : block,\n\n //内联元素列表\n $inline : L,\n\n $inlineWithA : X(_({a:1}),L),\n\n $body : X( _({script:1,style:1}), block ),\n\n $cdata : _({script:1,style:1}),\n\n //自闭和元素\n $empty : empty,\n\n //不是自闭合,但不能让range选中里边\n $nonChild : _({iframe:1,textarea:1}),\n //列表元素列表\n $listItem : _({dd:1,dt:1,li:1}),\n\n //列表根元素列表\n $list: _({ul:1,ol:1,dl:1}),\n\n //不能认为是空的元素\n $isNotEmpty : _({table:1,ul:1,ol:1,dl:1,iframe:1,area:1,base:1,col:1,hr:1,img:1,embed:1,input:1,link:1,meta:1,param:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1}),\n\n //如果没有子节点就可以删除的元素列表,像span,a\n $removeEmpty : _({a:1,abbr:1,acronym:1,address:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1}),\n\n $removeEmptyBlock : _({'p':1,'div':1}),\n\n //在table元素里的元素列表\n $tableContent : _({caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1,table:1}),\n //不转换的标签\n $notTransContent : _({pre:1,script:1,style:1,textarea:1}),\n html: U,\n head: T,\n style: N,\n script: N,\n body: P,\n base: {},\n link: {},\n meta: {},\n title: N,\n col : {},\n tr : _({td:1,th:1}),\n img : {},\n embed: {},\n colgroup : _({thead:1,col:1,tbody:1,tr:1,tfoot:1}),\n noscript : P,\n td : P,\n br : {},\n th : P,\n center : P,\n kbd : L,\n button : X( I, E ),\n basefont : {},\n h5 : L,\n h4 : L,\n samp : L,\n h6 : L,\n ol : Q,\n h1 : L,\n h3 : L,\n option : N,\n h2 : L,\n form : X( A, D, E, I ),\n select : _({optgroup:1,option:1}),\n font : L,\n ins : L,\n menu : Q,\n abbr : L,\n label : L,\n table : _({thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1}),\n code : L,\n tfoot : M,\n cite : L,\n li : P,\n input : {},\n iframe : P,\n strong : L,\n textarea : N,\n noframes : P,\n big : L,\n small : L,\n //trace:\n span :_({'#':1,br:1,b:1,strong:1,u:1,i:1,em:1,sub:1,sup:1,strike:1,span:1}),\n hr : L,\n dt : L,\n sub : L,\n optgroup : _({option:1}),\n param : {},\n bdo : L,\n 'var' : L,\n div : P,\n object : O,\n sup : L,\n dd : P,\n strike : L,\n area : {},\n dir : Q,\n map : X( _({area:1,form:1,p:1}), A, F, E ),\n applet : O,\n dl : _({dt:1,dd:1}),\n del : L,\n isindex : {},\n fieldset : X( _({legend:1}), K ),\n thead : M,\n ul : Q,\n acronym : L,\n b : L,\n a : X( _({a:1}), J ),\n blockquote :X(_({td:1,tr:1,tbody:1,li:1}),P),\n caption : L,\n i : L,\n u : L,\n tbody : M,\n s : L,\n address : X( D, I ),\n tt : L,\n legend : L,\n q : L,\n pre : X( G, C ),\n p : X(_({'a':1}),L),\n em :L,\n dfn : L\n });\n})();\n\n\n// core/domUtils.js\n/**\n * Dom操作工具包\n * @file\n * @module UE.dom.domUtils\n * @since 1.2.6.1\n */\n\n/**\n * Dom操作工具包\n * @unfile\n * @module UE.dom.domUtils\n */\nfunction getDomNode(node, start, ltr, startFromChild, fn, guard) {\n var tmpNode = startFromChild && node[start],\n parent;\n !tmpNode && (tmpNode = node[ltr]);\n while (!tmpNode && (parent = (parent || node).parentNode)) {\n if (parent.tagName == 'BODY' || guard && !guard(parent)) {\n return null;\n }\n tmpNode = parent[ltr];\n }\n if (tmpNode && fn && !fn(tmpNode)) {\n return getDomNode(tmpNode, start, ltr, false, fn);\n }\n return tmpNode;\n}\nvar attrFix = ie && browser.version < 9 ? {\n tabindex:\"tabIndex\",\n readonly:\"readOnly\",\n \"for\":\"htmlFor\",\n \"class\":\"className\",\n maxlength:\"maxLength\",\n cellspacing:\"cellSpacing\",\n cellpadding:\"cellPadding\",\n rowspan:\"rowSpan\",\n colspan:\"colSpan\",\n usemap:\"useMap\",\n frameborder:\"frameBorder\"\n } : {\n tabindex:\"tabIndex\",\n readonly:\"readOnly\"\n },\n styleBlock = utils.listToMap([\n '-webkit-box', '-moz-box', 'block' ,\n 'list-item' , 'table' , 'table-row-group' ,\n 'table-header-group', 'table-footer-group' ,\n 'table-row' , 'table-column-group' , 'table-column' ,\n 'table-cell' , 'table-caption'\n ]);\nvar domUtils = dom.domUtils = {\n //节点常量\n NODE_ELEMENT:1,\n NODE_DOCUMENT:9,\n NODE_TEXT:3,\n NODE_COMMENT:8,\n NODE_DOCUMENT_FRAGMENT:11,\n\n //位置关系\n POSITION_IDENTICAL:0,\n POSITION_DISCONNECTED:1,\n POSITION_FOLLOWING:2,\n POSITION_PRECEDING:4,\n POSITION_IS_CONTAINED:8,\n POSITION_CONTAINS:16,\n //ie6使用其他的会有一段空白出现\n fillChar:ie && browser.version == '6' ? '\\ufeff' : '\\u200B',\n //-------------------------Node部分--------------------------------\n keys:{\n /*Backspace*/ 8:1, /*Delete*/ 46:1,\n /*Shift*/ 16:1, /*Ctrl*/ 17:1, /*Alt*/ 18:1,\n 37:1, 38:1, 39:1, 40:1,\n 13:1 /*enter*/\n },\n /**\n * 获取节点A相对于节点B的位置关系\n * @method getPosition\n * @param { Node } nodeA 需要查询位置关系的节点A\n * @param { Node } nodeB 需要查询位置关系的节点B\n * @return { Number } 节点A与节点B的关系\n * @example\n * ```javascript\n * //output: 20\n * var position = UE.dom.domUtils.getPosition( document.documentElement, document.body );\n *\n * switch ( position ) {\n *\n * //0\n * case UE.dom.domUtils.POSITION_IDENTICAL:\n * console.log('元素相同');\n * break;\n * //1\n * case UE.dom.domUtils.POSITION_DISCONNECTED:\n * console.log('两个节点在不同的文档中');\n * break;\n * //2\n * case UE.dom.domUtils.POSITION_FOLLOWING:\n * console.log('节点A在节点B之后');\n * break;\n * //4\n * case UE.dom.domUtils.POSITION_PRECEDING;\n * console.log('节点A在节点B之前');\n * break;\n * //8\n * case UE.dom.domUtils.POSITION_IS_CONTAINED:\n * console.log('节点A被节点B包含');\n * break;\n * case 10:\n * console.log('节点A被节点B包含且节点A在节点B之后');\n * break;\n * //16\n * case UE.dom.domUtils.POSITION_CONTAINS:\n * console.log('节点A包含节点B');\n * break;\n * case 20:\n * console.log('节点A包含节点B且节点A在节点B之前');\n * break;\n *\n * }\n * ```\n */\n getPosition:function (nodeA, nodeB) {\n // 如果两个节点是同一个节点\n if (nodeA === nodeB) {\n // domUtils.POSITION_IDENTICAL\n return 0;\n }\n var node,\n parentsA = [nodeA],\n parentsB = [nodeB];\n node = nodeA;\n while (node = node.parentNode) {\n // 如果nodeB是nodeA的祖先节点\n if (node === nodeB) {\n // domUtils.POSITION_IS_CONTAINED + domUtils.POSITION_FOLLOWING\n return 10;\n }\n parentsA.push(node);\n }\n node = nodeB;\n while (node = node.parentNode) {\n // 如果nodeA是nodeB的祖先节点\n if (node === nodeA) {\n // domUtils.POSITION_CONTAINS + domUtils.POSITION_PRECEDING\n return 20;\n }\n parentsB.push(node);\n }\n parentsA.reverse();\n parentsB.reverse();\n if (parentsA[0] !== parentsB[0]) {\n // domUtils.POSITION_DISCONNECTED\n return 1;\n }\n var i = -1;\n while (i++, parentsA[i] === parentsB[i]) {\n }\n nodeA = parentsA[i];\n nodeB = parentsB[i];\n while (nodeA = nodeA.nextSibling) {\n if (nodeA === nodeB) {\n // domUtils.POSITION_PRECEDING\n return 4\n }\n }\n // domUtils.POSITION_FOLLOWING\n return 2;\n },\n\n /**\n * 检测节点node在父节点中的索引位置\n * @method getNodeIndex\n * @param { Node } node 需要检测的节点对象\n * @return { Number } 该节点在父节点中的位置\n * @see UE.dom.domUtils.getNodeIndex(Node,Boolean)\n */\n\n /**\n * 检测节点node在父节点中的索引位置, 根据给定的mergeTextNode参数决定是否要合并多个连续的文本节点为一个节点\n * @method getNodeIndex\n * @param { Node } node 需要检测的节点对象\n * @param { Boolean } mergeTextNode 是否合并多个连续的文本节点为一个节点\n * @return { Number } 该节点在父节点中的位置\n * @example\n * ```javascript\n *\n * var node = document.createElement(\"div\");\n *\n * node.appendChild( document.createTextNode( \"hello\" ) );\n * node.appendChild( document.createTextNode( \"world\" ) );\n * node.appendChild( node = document.createElement( \"div\" ) );\n *\n * //output: 2\n * console.log( UE.dom.domUtils.getNodeIndex( node ) );\n *\n * //output: 1\n * console.log( UE.dom.domUtils.getNodeIndex( node, true ) );\n *\n * ```\n */\n getNodeIndex:function (node, ignoreTextNode) {\n var preNode = node,\n i = 0;\n while (preNode = preNode.previousSibling) {\n if (ignoreTextNode && preNode.nodeType == 3) {\n if(preNode.nodeType != preNode.nextSibling.nodeType ){\n i++;\n }\n continue;\n }\n i++;\n }\n return i;\n },\n\n /**\n * 检测节点node是否在给定的document对象上\n * @method inDoc\n * @param { Node } node 需要检测的节点对象\n * @param { DomDocument } doc 需要检测的document对象\n * @return { Boolean } 该节点node是否在给定的document的dom树上\n * @example\n * ```javascript\n *\n * var node = document.createElement(\"div\");\n *\n * //output: false\n * console.log( UE.do.domUtils.inDoc( node, document ) );\n *\n * document.body.appendChild( node );\n *\n * //output: true\n * console.log( UE.do.domUtils.inDoc( node, document ) );\n *\n * ```\n */\n inDoc:function (node, doc) {\n return domUtils.getPosition(node, doc) == 10;\n },\n /**\n * 根据给定的过滤规则filterFn, 查找符合该过滤规则的node节点的第一个祖先节点,\n * 查找的起点是给定node节点的父节点。\n * @method findParent\n * @param { Node } node 需要查找的节点\n * @param { Function } filterFn 自定义的过滤方法。\n * @warning 查找的终点是到body节点为止\n * @remind 自定义的过滤方法filterFn接受一个Node对象作为参数, 该对象代表当前执行检测的祖先节点。 如果该\n * 节点满足过滤条件, 则要求返回true, 这时将直接返回该节点作为findParent()的结果, 否则, 请返回false。\n * @return { Node | Null } 如果找到符合过滤条件的节点, 就返回该节点, 否则返回NULL\n * @example\n * ```javascript\n * var filterNode = UE.dom.domUtils.findParent( document.body.firstChild, function ( node ) {\n *\n * //由于查找的终点是body节点, 所以永远也不会匹配当前过滤器的条件, 即这里永远会返回false\n * return node.tagName === \"HTML\";\n *\n * } );\n *\n * //output: true\n * console.log( filterNode === null );\n * ```\n */\n\n /**\n * 根据给定的过滤规则filterFn, 查找符合该过滤规则的node节点的第一个祖先节点,\n * 如果includeSelf的值为true,则查找的起点是给定的节点node, 否则, 起点是node的父节点\n * @method findParent\n * @param { Node } node 需要查找的节点\n * @param { Function } filterFn 自定义的过滤方法。\n * @param { Boolean } includeSelf 查找过程是否包含自身\n * @warning 查找的终点是到body节点为止\n * @remind 自定义的过滤方法filterFn接受一个Node对象作为参数, 该对象代表当前执行检测的祖先节点。 如果该\n * 节点满足过滤条件, 则要求返回true, 这时将直接返回该节点作为findParent()的结果, 否则, 请返回false。\n * @remind 如果includeSelf为true, 则过滤器第一次执行时的参数会是节点本身。\n * 反之, 过滤器第一次执行时的参数将是该节点的父节点。\n * @return { Node | Null } 如果找到符合过滤条件的节点, 就返回该节点, 否则返回NULL\n * @example\n * ```html\n * \n *\n *
\n *
\n *\n * \n * \n * ```\n */\n findParent:function (node, filterFn, includeSelf) {\n if (node && !domUtils.isBody(node)) {\n node = includeSelf ? node : node.parentNode;\n while (node) {\n if (!filterFn || filterFn(node) || domUtils.isBody(node)) {\n return filterFn && !filterFn(node) && domUtils.isBody(node) ? null : node;\n }\n node = node.parentNode;\n }\n }\n return null;\n },\n /**\n * 查找node的节点名为tagName的第一个祖先节点, 查找的起点是node节点的父节点。\n * @method findParentByTagName\n * @param { Node } node 需要查找的节点对象\n * @param { Array } tagNames 需要查找的父节点的名称数组\n * @warning 查找的终点是到body节点为止\n * @return { Node | NULL } 如果找到符合条件的节点, 则返回该节点, 否则返回NULL\n * @example\n * ```javascript\n * var node = UE.dom.domUtils.findParentByTagName( document.getElementsByTagName(\"div\")[0], [ \"BODY\" ] );\n * //output: BODY\n * console.log( node.tagName );\n * ```\n */\n\n /**\n * 查找node的节点名为tagName的祖先节点, 如果includeSelf的值为true,则查找的起点是给定的节点node,\n * 否则, 起点是node的父节点。\n * @method findParentByTagName\n * @param { Node } node 需要查找的节点对象\n * @param { Array } tagNames 需要查找的父节点的名称数组\n * @param { Boolean } includeSelf 查找过程是否包含node节点自身\n * @warning 查找的终点是到body节点为止\n * @return { Node | NULL } 如果找到符合条件的节点, 则返回该节点, 否则返回NULL\n * @example\n * ```javascript\n * var queryTarget = document.getElementsByTagName(\"div\")[0];\n * var node = UE.dom.domUtils.findParentByTagName( queryTarget, [ \"DIV\" ], true );\n * //output: true\n * console.log( queryTarget === node );\n * ```\n */\n findParentByTagName:function (node, tagNames, includeSelf, excludeFn) {\n tagNames = utils.listToMap(utils.isArray(tagNames) ? tagNames : [tagNames]);\n return domUtils.findParent(node, function (node) {\n return tagNames[node.tagName] && !(excludeFn && excludeFn(node));\n }, includeSelf);\n },\n /**\n * 查找节点node的祖先节点集合, 查找的起点是给定节点的父节点,结果集中不包含给定的节点。\n * @method findParents\n * @param { Node } node 需要查找的节点对象\n * @return { Array } 给定节点的祖先节点数组\n * @grammar UE.dom.domUtils.findParents(node) => Array //返回一个祖先节点数组集合,不包含自身\n * @grammar UE.dom.domUtils.findParents(node,includeSelf) => Array //返回一个祖先节点数组集合,includeSelf指定是否包含自身\n * @grammar UE.dom.domUtils.findParents(node,includeSelf,filterFn) => Array //返回一个祖先节点数组集合,filterFn指定过滤条件,返回true的node将被选取\n * @grammar UE.dom.domUtils.findParents(node,includeSelf,filterFn,closerFirst) => Array //返回一个祖先节点数组集合,closerFirst为true的话,node的直接父亲节点是数组的第0个\n */\n\n /**\n * 查找节点node的祖先节点集合, 如果includeSelf的值为true,\n * 则返回的结果集中允许出现当前给定的节点, 否则, 该节点不会出现在其结果集中。\n * @method findParents\n * @param { Node } node 需要查找的节点对象\n * @param { Boolean } includeSelf 查找的结果中是否允许包含当前查找的节点对象\n * @return { Array } 给定节点的祖先节点数组\n */\n findParents:function (node, includeSelf, filterFn, closerFirst) {\n var parents = includeSelf && ( filterFn && filterFn(node) || !filterFn ) ? [node] : [];\n while (node = domUtils.findParent(node, filterFn)) {\n parents.push(node);\n }\n return closerFirst ? parents : parents.reverse();\n },\n\n /**\n * 在节点node后面插入新节点newNode\n * @method insertAfter\n * @param { Node } node 目标节点\n * @param { Node } newNode 新插入的节点, 该节点将置于目标节点之后\n * @return { Node } 新插入的节点\n */\n insertAfter:function (node, newNode) {\n return node.nextSibling ? node.parentNode.insertBefore(newNode, node.nextSibling):\n node.parentNode.appendChild(newNode);\n },\n\n /**\n * 删除节点node及其下属的所有节点\n * @method remove\n * @param { Node } node 需要删除的节点对象\n * @return { Node } 返回刚删除的节点对象\n * @example\n * ```html\n *
\n *
你好
\n *
\n * \n * ```\n */\n\n /**\n * 删除节点node,并根据keepChildren的值决定是否保留子节点\n * @method remove\n * @param { Node } node 需要删除的节点对象\n * @param { Boolean } keepChildren 是否需要保留子节点\n * @return { Node } 返回刚删除的节点对象\n * @example\n * ```html\n *
\n *
你好
\n *
\n * \n * ```\n */\n remove:function (node, keepChildren) {\n var parent = node.parentNode,\n child;\n if (parent) {\n if (keepChildren && node.hasChildNodes()) {\n while (child = node.firstChild) {\n parent.insertBefore(child, node);\n }\n }\n parent.removeChild(node);\n }\n return node;\n },\n\n /**\n * 取得node节点的下一个兄弟节点, 如果该节点其后没有兄弟节点, 则递归查找其父节点之后的第一个兄弟节点,\n * 直到找到满足条件的节点或者递归到BODY节点之后才会结束。\n * @method getNextDomNode\n * @param { Node } node 需要获取其后的兄弟节点的节点对象\n * @return { Node | NULL } 如果找满足条件的节点, 则返回该节点, 否则返回NULL\n * @example\n * ```html\n * \n *
\n * \n *
\n * xxx\n * \n * \n * ```\n * @example\n * ```html\n * \n *
\n * \n * xxx\n *
\n * xxx\n * \n * \n * ```\n */\n\n /**\n * 取得node节点的下一个兄弟节点, 如果startFromChild的值为ture,则先获取其子节点,\n * 如果有子节点则直接返回第一个子节点;如果没有子节点或者startFromChild的值为false,\n * 则执行getNextDomNode(Node node)的查找过程。\n * @method getNextDomNode\n * @param { Node } node 需要获取其后的兄弟节点的节点对象\n * @param { Boolean } startFromChild 查找过程是否从其子节点开始\n * @return { Node | NULL } 如果找满足条件的节点, 则返回该节点, 否则返回NULL\n * @see UE.dom.domUtils.getNextDomNode(Node)\n */\n getNextDomNode:function (node, startFromChild, filterFn, guard) {\n return getDomNode(node, 'firstChild', 'nextSibling', startFromChild, filterFn, guard);\n },\n getPreDomNode:function (node, startFromChild, filterFn, guard) {\n return getDomNode(node, 'lastChild', 'previousSibling', startFromChild, filterFn, guard);\n },\n /**\n * 检测节点node是否属是UEditor定义的bookmark节点\n * @method isBookmarkNode\n * @private\n * @param { Node } node 需要检测的节点对象\n * @return { Boolean } 是否是bookmark节点\n * @example\n * ```html\n * \n * \n * ```\n */\n isBookmarkNode:function (node) {\n return node.nodeType == 1 && node.id && /^_baidu_bookmark_/i.test(node.id);\n },\n /**\n * 获取节点node所属的window对象\n * @method getWindow\n * @param { Node } node 节点对象\n * @return { Window } 当前节点所属的window对象\n * @example\n * ```javascript\n * //output: true\n * console.log( UE.dom.domUtils.getWindow( document.body ) === window );\n * ```\n */\n getWindow:function (node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n /**\n * 获取离nodeA与nodeB最近的公共的祖先节点\n * @method getCommonAncestor\n * @param { Node } nodeA 第一个节点\n * @param { Node } nodeB 第二个节点\n * @remind 如果给定的两个节点是同一个节点, 将直接返回该节点。\n * @return { Node | NULL } 如果未找到公共节点, 返回NULL, 否则返回最近的公共祖先节点。\n * @example\n * ```javascript\n * var commonAncestor = UE.dom.domUtils.getCommonAncestor( document.body, document.body.firstChild );\n * //output: true\n * console.log( commonAncestor.tagName.toLowerCase() === 'body' );\n * ```\n */\n getCommonAncestor:function (nodeA, nodeB) {\n if (nodeA === nodeB)\n return nodeA;\n var parentsA = [nodeA] , parentsB = [nodeB], parent = nodeA, i = -1;\n while (parent = parent.parentNode) {\n if (parent === nodeB) {\n return parent;\n }\n parentsA.push(parent);\n }\n parent = nodeB;\n while (parent = parent.parentNode) {\n if (parent === nodeA)\n return parent;\n parentsB.push(parent);\n }\n parentsA.reverse();\n parentsB.reverse();\n while (i++, parentsA[i] === parentsB[i]) {\n }\n return i == 0 ? null : parentsA[i - 1];\n\n },\n /**\n * 清除node节点左右连续为空的兄弟inline节点\n * @method clearEmptySibling\n * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点,\n * 则这些兄弟节点将被删除\n * @grammar UE.dom.domUtils.clearEmptySibling(node,ignoreNext) //ignoreNext指定是否忽略右边空节点\n * @grammar UE.dom.domUtils.clearEmptySibling(node,ignoreNext,ignorePre) //ignorePre指定是否忽略左边空节点\n * @example\n * ```html\n * \n *
\n * \n * \n * \n * xxx\n * \n * \n * \n * ```\n */\n\n /**\n * 清除node节点左右连续为空的兄弟inline节点, 如果ignoreNext的值为true,\n * 则忽略对右边兄弟节点的操作。\n * @method clearEmptySibling\n * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点,\n * @param { Boolean } ignoreNext 是否忽略忽略对右边的兄弟节点的操作\n * 则这些兄弟节点将被删除\n * @see UE.dom.domUtils.clearEmptySibling(Node)\n */\n\n /**\n * 清除node节点左右连续为空的兄弟inline节点, 如果ignoreNext的值为true,\n * 则忽略对右边兄弟节点的操作, 如果ignorePre的值为true,则忽略对左边兄弟节点的操作。\n * @method clearEmptySibling\n * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点,\n * @param { Boolean } ignoreNext 是否忽略忽略对右边的兄弟节点的操作\n * @param { Boolean } ignorePre 是否忽略忽略对左边的兄弟节点的操作\n * 则这些兄弟节点将被删除\n * @see UE.dom.domUtils.clearEmptySibling(Node)\n */\n clearEmptySibling:function (node, ignoreNext, ignorePre) {\n function clear(next, dir) {\n var tmpNode;\n while (next && !domUtils.isBookmarkNode(next) && (domUtils.isEmptyInlineElement(next)\n //这里不能把空格算进来会吧空格干掉,出现文字间的空格丢掉了\n || !new RegExp('[^\\t\\n\\r' + domUtils.fillChar + ']').test(next.nodeValue) )) {\n tmpNode = next[dir];\n domUtils.remove(next);\n next = tmpNode;\n }\n }\n !ignoreNext && clear(node.nextSibling, 'nextSibling');\n !ignorePre && clear(node.previousSibling, 'previousSibling');\n },\n /**\n * 将一个文本节点textNode拆分成两个文本节点,offset指定拆分位置\n * @method split\n * @param { Node } textNode 需要拆分的文本节点对象\n * @param { int } offset 需要拆分的位置, 位置计算从0开始\n * @return { Node } 拆分后形成的新节点\n * @example\n * ```html\n *
abcdef
\n * \n * ```\n */\n split:function (node, offset) {\n var doc = node.ownerDocument;\n if (browser.ie && offset == node.nodeValue.length) {\n var next = doc.createTextNode('');\n return domUtils.insertAfter(node, next);\n }\n var retval = node.splitText(offset);\n //ie8下splitText不会跟新childNodes,我们手动触发他的更新\n if (browser.ie8) {\n var tmpNode = doc.createTextNode('');\n domUtils.insertAfter(retval, tmpNode);\n domUtils.remove(tmpNode);\n }\n return retval;\n },\n\n /**\n * 检测文本节点textNode是否为空节点(包括空格、换行、占位符等字符)\n * @method isWhitespace\n * @param { Node } node 需要检测的节点对象\n * @return { Boolean } 检测的节点是否为空\n * @example\n * ```html\n *
\n *\n *
\n * \n * ```\n */\n isWhitespace:function (node) {\n return !new RegExp('[^ \\t\\n\\r' + domUtils.fillChar + ']').test(node.nodeValue);\n },\n /**\n * 获取元素element相对于viewport的位置坐标\n * @method getXY\n * @param { Node } element 需要计算位置的节点对象\n * @return { Object } 返回形如{x:left,y:top}的一个key-value映射对象, 其中键x代表水平偏移距离,\n * y代表垂直偏移距离。\n *\n * @example\n * ```javascript\n * var location = UE.dom.domUtils.getXY( document.getElementById(\"test\") );\n * //output: test的坐标为: 12, 24\n * console.log( 'test的坐标为: ', location.x, ',', location.y );\n * ```\n */\n getXY:function (element) {\n var x = 0, y = 0;\n while (element.offsetParent) {\n y += element.offsetTop;\n x += element.offsetLeft;\n element = element.offsetParent;\n }\n return { 'x':x, 'y':y};\n },\n /**\n * 为元素element绑定原生DOM事件,type为事件类型,handler为处理函数\n * @method on\n * @param { Node } element 需要绑定事件的节点对象\n * @param { String } type 绑定的事件类型\n * @param { Function } handler 事件处理器\n * @example\n * ```javascript\n * UE.dom.domUtils.on(document.body,\"click\",function(e){\n * //e为事件对象,this为被点击元素对戏那个\n * });\n * ```\n */\n\n /**\n * 为元素element绑定原生DOM事件,type为事件类型,handler为处理函数\n * @method on\n * @param { Node } element 需要绑定事件的节点对象\n * @param { Array } type 绑定的事件类型数组\n * @param { Function } handler 事件处理器\n * @example\n * ```javascript\n * UE.dom.domUtils.on(document.body,[\"click\",\"mousedown\"],function(evt){\n * //evt为事件对象,this为被点击元素对象\n * });\n * ```\n */\n on:function (element, type, handler) {\n\n var types = utils.isArray(type) ? type : utils.trim(type).split(/\\s+/),\n k = types.length;\n if (k) while (k--) {\n type = types[k];\n if (element.addEventListener) {\n element.addEventListener(type, handler, false);\n } else {\n if (!handler._d) {\n handler._d = {\n els : []\n };\n }\n var key = type + handler.toString(),index = utils.indexOf(handler._d.els,element);\n if (!handler._d[key] || index == -1) {\n if(index == -1){\n handler._d.els.push(element);\n }\n if(!handler._d[key]){\n handler._d[key] = function (evt) {\n return handler.call(evt.srcElement, evt || window.event);\n };\n }\n\n\n element.attachEvent('on' + type, handler._d[key]);\n }\n }\n }\n element = null;\n },\n /**\n * 解除DOM事件绑定\n * @method un\n * @param { Node } element 需要解除事件绑定的节点对象\n * @param { String } type 需要接触绑定的事件类型\n * @param { Function } handler 对应的事件处理器\n * @example\n * ```javascript\n * UE.dom.domUtils.un(document.body,\"click\",function(evt){\n * //evt为事件对象,this为被点击元素对象\n * });\n * ```\n */\n\n /**\n * 解除DOM事件绑定\n * @method un\n * @param { Node } element 需要解除事件绑定的节点对象\n * @param { Array } type 需要接触绑定的事件类型数组\n * @param { Function } handler 对应的事件处理器\n * @example\n * ```javascript\n * UE.dom.domUtils.un(document.body, [\"click\",\"mousedown\"],function(evt){\n * //evt为事件对象,this为被点击元素对象\n * });\n * ```\n */\n un:function (element, type, handler) {\n var types = utils.isArray(type) ? type : utils.trim(type).split(/\\s+/),\n k = types.length;\n if (k) while (k--) {\n type = types[k];\n if (element.removeEventListener) {\n element.removeEventListener(type, handler, false);\n } else {\n var key = type + handler.toString();\n try{\n element.detachEvent('on' + type, handler._d ? handler._d[key] : handler);\n }catch(e){}\n if (handler._d && handler._d[key]) {\n var index = utils.indexOf(handler._d.els,element);\n if(index!=-1){\n handler._d.els.splice(index,1);\n }\n handler._d.els.length == 0 && delete handler._d[key];\n }\n }\n }\n },\n\n /**\n * 比较节点nodeA与节点nodeB是否具有相同的标签名、属性名以及属性值\n * @method isSameElement\n * @param { Node } nodeA 需要比较的节点\n * @param { Node } nodeB 需要比较的节点\n * @return { Boolean } 两个节点是否具有相同的标签名、属性名以及属性值\n * @example\n * ```html\n * ssss\n * bbbbb\n * ssss\n * bbbbb\n *\n * \n * ```\n */\n isSameElement:function (nodeA, nodeB) {\n if (nodeA.tagName != nodeB.tagName) {\n return false;\n }\n var thisAttrs = nodeA.attributes,\n otherAttrs = nodeB.attributes;\n if (!ie && thisAttrs.length != otherAttrs.length) {\n return false;\n }\n var attrA, attrB, al = 0, bl = 0;\n for (var i = 0; attrA = thisAttrs[i++];) {\n if (attrA.nodeName == 'style') {\n if (attrA.specified) {\n al++;\n }\n if (domUtils.isSameStyle(nodeA, nodeB)) {\n continue;\n } else {\n return false;\n }\n }\n if (ie) {\n if (attrA.specified) {\n al++;\n attrB = otherAttrs.getNamedItem(attrA.nodeName);\n } else {\n continue;\n }\n } else {\n attrB = nodeB.attributes[attrA.nodeName];\n }\n if (!attrB.specified || attrA.nodeValue != attrB.nodeValue) {\n return false;\n }\n }\n // 有可能attrB的属性包含了attrA的属性之外还有自己的属性\n if (ie) {\n for (i = 0; attrB = otherAttrs[i++];) {\n if (attrB.specified) {\n bl++;\n }\n }\n if (al != bl) {\n return false;\n }\n }\n return true;\n },\n\n /**\n * 判断节点nodeA与节点nodeB的元素的style属性是否一致\n * @method isSameStyle\n * @param { Node } nodeA 需要比较的节点\n * @param { Node } nodeB 需要比较的节点\n * @return { Boolean } 两个节点是否具有相同的style属性值\n * @example\n * ```html\n * ssss\n * bbbbb\n * ssss\n * bbbbb\n *\n * \n * ```\n */\n isSameStyle:function (nodeA, nodeB) {\n var styleA = nodeA.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':'),\n styleB = nodeB.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':');\n if (browser.opera) {\n styleA = nodeA.style;\n styleB = nodeB.style;\n if (styleA.length != styleB.length)\n return false;\n for (var p in styleA) {\n if (/^(\\d+|csstext)$/i.test(p)) {\n continue;\n }\n if (styleA[p] != styleB[p]) {\n return false;\n }\n }\n return true;\n }\n if (!styleA || !styleB) {\n return styleA == styleB;\n }\n styleA = styleA.split(';');\n styleB = styleB.split(';');\n if (styleA.length != styleB.length) {\n return false;\n }\n for (var i = 0, ci; ci = styleA[i++];) {\n if (utils.indexOf(styleB, ci) == -1) {\n return false;\n }\n }\n return true;\n },\n /**\n * 检查节点node是否为block元素\n * @method isBlockElm\n * @param { Node } node 需要检测的节点对象\n * @return { Boolean } 是否是block元素节点\n * @warning 该方法的判断规则如下: 如果该元素原本是block元素, 则不论该元素当前的css样式是什么都会返回true;\n * 否则,检测该元素的css样式, 如果该元素当前是block元素, 则返回true。 其余情况下都返回false。\n * @example\n * ```html\n * \n * \n *
\n *\n * \n * ```\n */\n isBlockElm:function (node) {\n return node.nodeType == 1 && (dtd.$block[node.tagName] || styleBlock[domUtils.getComputedStyle(node, 'display')]) && !dtd.$nonChild[node.tagName];\n },\n /**\n * 检测node节点是否为body节点\n * @method isBody\n * @param { Element } node 需要检测的dom元素\n * @return { Boolean } 给定的元素是否是body元素\n * @example\n * ```javascript\n * //output: true\n * console.log( UE.dom.domUtils.isBody( document.body ) );\n * ```\n */\n isBody:function (node) {\n return node && node.nodeType == 1 && node.tagName.toLowerCase() == 'body';\n },\n /**\n * 以node节点为分界,将该节点的指定祖先节点parent拆分成两个独立的节点,\n * 拆分形成的两个节点之间是node节点\n * @method breakParent\n * @param { Node } node 作为分界的节点对象\n * @param { Node } parent 该节点必须是node节点的祖先节点, 且是block节点。\n * @return { Node } 给定的node分界节点\n * @example\n * ```javascript\n *\n * var node = document.createElement(\"span\"),\n * wrapNode = document.createElement( \"div\" ),\n * parent = document.createElement(\"p\");\n *\n * parent.appendChild( node );\n * wrapNode.appendChild( parent );\n *\n * //拆分前\n * //output:

\n * console.log( wrapNode.innerHTML );\n *\n *\n * UE.dom.domUtils.breakParent( node, parent );\n * //拆分后\n * //output:

\n * console.log( wrapNode.innerHTML );\n *\n * ```\n */\n breakParent:function (node, parent) {\n var tmpNode,\n parentClone = node,\n clone = node,\n leftNodes,\n rightNodes;\n do {\n parentClone = parentClone.parentNode;\n if (leftNodes) {\n tmpNode = parentClone.cloneNode(false);\n tmpNode.appendChild(leftNodes);\n leftNodes = tmpNode;\n tmpNode = parentClone.cloneNode(false);\n tmpNode.appendChild(rightNodes);\n rightNodes = tmpNode;\n } else {\n leftNodes = parentClone.cloneNode(false);\n rightNodes = leftNodes.cloneNode(false);\n }\n while (tmpNode = clone.previousSibling) {\n leftNodes.insertBefore(tmpNode, leftNodes.firstChild);\n }\n while (tmpNode = clone.nextSibling) {\n rightNodes.appendChild(tmpNode);\n }\n clone = parentClone;\n } while (parent !== parentClone);\n tmpNode = parent.parentNode;\n tmpNode.insertBefore(leftNodes, parent);\n tmpNode.insertBefore(rightNodes, parent);\n tmpNode.insertBefore(node, rightNodes);\n domUtils.remove(parent);\n return node;\n },\n /**\n * 检查节点node是否是空inline节点\n * @method isEmptyInlineElement\n * @param { Node } node 需要检测的节点对象\n * @return { Number } 如果给定的节点是空的inline节点, 则返回1, 否则返回0。\n * @example\n * ```html\n * => 1\n * => 1\n * => 1\n * xx => 0\n * ```\n */\n isEmptyInlineElement:function (node) {\n if (node.nodeType != 1 || !dtd.$removeEmpty[ node.tagName ]) {\n return 0;\n }\n node = node.firstChild;\n while (node) {\n //如果是创建的bookmark就跳过\n if (domUtils.isBookmarkNode(node)) {\n return 0;\n }\n if (node.nodeType == 1 && !domUtils.isEmptyInlineElement(node) ||\n node.nodeType == 3 && !domUtils.isWhitespace(node)\n ) {\n return 0;\n }\n node = node.nextSibling;\n }\n return 1;\n\n },\n\n /**\n * 删除node节点下首尾两端的空白文本子节点\n * @method trimWhiteTextNode\n * @param { Element } node 需要执行删除操作的元素对象\n * @example\n * ```javascript\n * var node = document.createElement(\"div\");\n *\n * node.appendChild( document.createTextNode( \"\" ) );\n *\n * node.appendChild( document.createElement(\"div\") );\n *\n * node.appendChild( document.createTextNode( \"\" ) );\n *\n * //3\n * console.log( node.childNodes.length );\n *\n * UE.dom.domUtils.trimWhiteTextNode( node );\n *\n * //1\n * console.log( node.childNodes.length );\n * ```\n */\n trimWhiteTextNode:function (node) {\n function remove(dir) {\n var child;\n while ((child = node[dir]) && child.nodeType == 3 && domUtils.isWhitespace(child)) {\n node.removeChild(child);\n }\n }\n remove('firstChild');\n remove('lastChild');\n },\n\n /**\n * 合并node节点下相同的子节点\n * @name mergeChild\n * @desc\n * UE.dom.domUtils.mergeChild(node,tagName) //tagName要合并的子节点的标签\n * @example\n *

xxaaxx

\n * ==> UE.dom.domUtils.mergeChild(node,'span')\n *

xxaaxx

\n */\n mergeChild:function (node, tagName, attrs) {\n var list = domUtils.getElementsByTagName(node, node.tagName.toLowerCase());\n for (var i = 0, ci; ci = list[i++];) {\n if (!ci.parentNode || domUtils.isBookmarkNode(ci)) {\n continue;\n }\n //span单独处理\n if (ci.tagName.toLowerCase() == 'span') {\n if (node === ci.parentNode) {\n domUtils.trimWhiteTextNode(node);\n if (node.childNodes.length == 1) {\n node.style.cssText = ci.style.cssText + \";\" + node.style.cssText;\n domUtils.remove(ci, true);\n continue;\n }\n }\n ci.style.cssText = node.style.cssText + ';' + ci.style.cssText;\n if (attrs) {\n var style = attrs.style;\n if (style) {\n style = style.split(';');\n for (var j = 0, s; s = style[j++];) {\n ci.style[utils.cssStyleToDomStyle(s.split(':')[0])] = s.split(':')[1];\n }\n }\n }\n if (domUtils.isSameStyle(ci, node)) {\n domUtils.remove(ci, true);\n }\n continue;\n }\n if (domUtils.isSameElement(node, ci)) {\n domUtils.remove(ci, true);\n }\n }\n },\n\n /**\n * 原生方法getElementsByTagName的封装\n * @method getElementsByTagName\n * @param { Node } node 目标节点对象\n * @param { String } tagName 需要查找的节点的tagName, 多个tagName以空格分割\n * @return { Array } 符合条件的节点集合\n */\n getElementsByTagName:function (node, name,filter) {\n if(filter && utils.isString(filter)){\n var className = filter;\n filter = function(node){return domUtils.hasClass(node,className)}\n }\n name = utils.trim(name).replace(/[ ]{2,}/g,' ').split(' ');\n var arr = [];\n for(var n = 0,ni;ni=name[n++];){\n var list = node.getElementsByTagName(ni);\n for (var i = 0, ci; ci = list[i++];) {\n if(!filter || filter(ci))\n arr.push(ci);\n }\n }\n\n return arr;\n },\n /**\n * 将节点node提取到父节点上\n * @method mergeToParent\n * @param { Element } node 需要提取的元素对象\n * @example\n * ```html\n *
\n *
\n * \n *
\n *
\n *\n * \n * ```\n */\n mergeToParent:function (node) {\n var parent = node.parentNode;\n while (parent && dtd.$removeEmpty[parent.tagName]) {\n if (parent.tagName == node.tagName || parent.tagName == 'A') {//针对a标签单独处理\n domUtils.trimWhiteTextNode(parent);\n //span需要特殊处理 不处理这样的情况 xxxxxxxxx\n if (parent.tagName == 'SPAN' && !domUtils.isSameStyle(parent, node)\n || (parent.tagName == 'A' && node.tagName == 'SPAN')) {\n if (parent.childNodes.length > 1 || parent !== node.parentNode) {\n node.style.cssText = parent.style.cssText + \";\" + node.style.cssText;\n parent = parent.parentNode;\n continue;\n } else {\n parent.style.cssText += \";\" + node.style.cssText;\n //trace:952 a标签要保持下划线\n if (parent.tagName == 'A') {\n parent.style.textDecoration = 'underline';\n }\n }\n }\n if (parent.tagName != 'A') {\n parent === node.parentNode && domUtils.remove(node, true);\n break;\n }\n }\n parent = parent.parentNode;\n }\n },\n /**\n * 合并节点node的左右兄弟节点\n * @method mergeSibling\n * @param { Element } node 需要合并的目标节点\n * @example\n * ```html\n * xxxxoooxxxx\n *\n * \n * ```\n */\n\n /**\n * 合并节点node的左右兄弟节点, 可以根据给定的条件选择是否忽略合并左节点。\n * @method mergeSibling\n * @param { Element } node 需要合并的目标节点\n * @param { Boolean } ignorePre 是否忽略合并左节点\n * @example\n * ```html\n * xxxxoooxxxx\n *\n * \n * ```\n */\n\n /**\n * 合并节点node的左右兄弟节点,可以根据给定的条件选择是否忽略合并左右节点。\n * @method mergeSibling\n * @param { Element } node 需要合并的目标节点\n * @param { Boolean } ignorePre 是否忽略合并左节点\n * @param { Boolean } ignoreNext 是否忽略合并右节点\n * @remind 如果同时忽略左右节点, 则该操作什么也不会做\n * @example\n * ```html\n * xxxxoooxxxx\n *\n * \n * ```\n */\n mergeSibling:function (node, ignorePre, ignoreNext) {\n function merge(rtl, start, node) {\n var next;\n if ((next = node[rtl]) && !domUtils.isBookmarkNode(next) && next.nodeType == 1 && domUtils.isSameElement(node, next)) {\n while (next.firstChild) {\n if (start == 'firstChild') {\n node.insertBefore(next.lastChild, node.firstChild);\n } else {\n node.appendChild(next.firstChild);\n }\n }\n domUtils.remove(next);\n }\n }\n !ignorePre && merge('previousSibling', 'firstChild', node);\n !ignoreNext && merge('nextSibling', 'lastChild', node);\n },\n\n /**\n * 设置节点node及其子节点不会被选中\n * @method unSelectable\n * @param { Element } node 需要执行操作的dom元素\n * @remind 执行该操作后的节点, 将不能被鼠标选中\n * @example\n * ```javascript\n * UE.dom.domUtils.unSelectable( document.body );\n * ```\n */\n unSelectable:ie && browser.ie9below || browser.opera ? function (node) {\n //for ie9\n node.onselectstart = function () {\n return false;\n };\n node.onclick = node.onkeyup = node.onkeydown = function () {\n return false;\n };\n node.unselectable = 'on';\n node.setAttribute(\"unselectable\", \"on\");\n for (var i = 0, ci; ci = node.all[i++];) {\n switch (ci.tagName.toLowerCase()) {\n case 'iframe' :\n case 'textarea' :\n case 'input' :\n case 'select' :\n break;\n default :\n ci.unselectable = 'on';\n node.setAttribute(\"unselectable\", \"on\");\n }\n }\n } : function (node) {\n node.style.MozUserSelect =\n node.style.webkitUserSelect =\n node.style.msUserSelect =\n node.style.KhtmlUserSelect = 'none';\n },\n /**\n * 删除节点node上的指定属性名称的属性\n * @method removeAttributes\n * @param { Node } node 需要删除属性的节点对象\n * @param { String } attrNames 可以是空格隔开的多个属性名称,该操作将会依次删除相应的属性\n * @example\n * ```html\n *
\n * xxxxx\n *
\n *\n * \n * ```\n */\n\n /**\n * 删除节点node上的指定属性名称的属性\n * @method removeAttributes\n * @param { Node } node 需要删除属性的节点对象\n * @param { Array } attrNames 需要删除的属性名数组\n * @example\n * ```html\n *
\n * xxxxx\n *
\n *\n * \n * ```\n */\n removeAttributes:function (node, attrNames) {\n attrNames = utils.isArray(attrNames) ? attrNames : utils.trim(attrNames).replace(/[ ]{2,}/g,' ').split(' ');\n for (var i = 0, ci; ci = attrNames[i++];) {\n ci = attrFix[ci] || ci;\n switch (ci) {\n case 'className':\n node[ci] = '';\n break;\n case 'style':\n node.style.cssText = '';\n var val = node.getAttributeNode('style');\n !browser.ie && val && node.removeAttributeNode(val);\n }\n node.removeAttribute(ci);\n }\n },\n /**\n * 在doc下创建一个标签名为tag,属性为attrs的元素\n * @method createElement\n * @param { DomDocument } doc 新创建的元素属于该document节点创建\n * @param { String } tagName 需要创建的元素的标签名\n * @param { Object } attrs 新创建的元素的属性key-value集合\n * @return { Element } 新创建的元素对象\n * @example\n * ```javascript\n * var ele = UE.dom.domUtils.createElement( document, 'div', {\n * id: 'test'\n * } );\n *\n * //output: DIV\n * console.log( ele.tagName );\n *\n * //output: test\n * console.log( ele.id );\n *\n * ```\n */\n createElement:function (doc, tag, attrs) {\n return domUtils.setAttributes(doc.createElement(tag), attrs)\n },\n /**\n * 为节点node添加属性attrs,attrs为属性键值对\n * @method setAttributes\n * @param { Element } node 需要设置属性的元素对象\n * @param { Object } attrs 需要设置的属性名-值对\n * @return { Element } 设置属性的元素对象\n * @example\n * ```html\n * \n *\n * \n *\n */\n setAttributes:function (node, attrs) {\n for (var attr in attrs) {\n if(attrs.hasOwnProperty(attr)){\n var value = attrs[attr];\n switch (attr) {\n case 'class':\n //ie下要这样赋值,setAttribute不起作用\n node.className = value;\n break;\n case 'style' :\n node.style.cssText = node.style.cssText + \";\" + value;\n break;\n case 'innerHTML':\n node[attr] = value;\n break;\n case 'value':\n node.value = value;\n break;\n default:\n node.setAttribute(attrFix[attr] || attr, value);\n }\n }\n }\n return node;\n },\n\n /**\n * 获取元素element经过计算后的样式值\n * @method getComputedStyle\n * @param { Element } element 需要获取样式的元素对象\n * @param { String } styleName 需要获取的样式名\n * @return { String } 获取到的样式值\n * @example\n * ```html\n * \n *\n * \n *\n * \n * ```\n */\n getComputedStyle:function (element, styleName) {\n //一下的属性单独处理\n var pros = 'width height top left';\n\n if(pros.indexOf(styleName) > -1){\n return element['offset' + styleName.replace(/^\\w/,function(s){return s.toUpperCase()})] + 'px';\n }\n //忽略文本节点\n if (element.nodeType == 3) {\n element = element.parentNode;\n }\n //ie下font-size若body下定义了font-size,则从currentStyle里会取到这个font-size. 取不到实际值,故此修改.\n if (browser.ie && browser.version < 9 && styleName == 'font-size' && !element.style.fontSize &&\n !dtd.$empty[element.tagName] && !dtd.$nonChild[element.tagName]) {\n var span = element.ownerDocument.createElement('span');\n span.style.cssText = 'padding:0;border:0;font-family:simsun;';\n span.innerHTML = '.';\n element.appendChild(span);\n var result = span.offsetHeight;\n element.removeChild(span);\n span = null;\n return result + 'px';\n }\n try {\n var value = domUtils.getStyle(element, styleName) ||\n (window.getComputedStyle ? domUtils.getWindow(element).getComputedStyle(element, '').getPropertyValue(styleName) :\n ( element.currentStyle || element.style )[utils.cssStyleToDomStyle(styleName)]);\n\n } catch (e) {\n return \"\";\n }\n return utils.transUnitToPx(utils.fixColor(styleName, value));\n },\n /**\n * 删除元素element指定的className\n * @method removeClasses\n * @param { Element } ele 需要删除class的元素节点\n * @param { String } classNames 需要删除的className, 多个className之间以空格分开\n * @example\n * ```html\n * xxx\n *\n * \n * ```\n */\n\n /**\n * 删除元素element指定的className\n * @method removeClasses\n * @param { Element } ele 需要删除class的元素节点\n * @param { Array } classNames 需要删除的className数组\n * @example\n * ```html\n * xxx\n *\n * \n * ```\n */\n removeClasses:function (elm, classNames) {\n classNames = utils.isArray(classNames) ? classNames :\n utils.trim(classNames).replace(/[ ]{2,}/g,' ').split(' ');\n for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){\n cls = cls.replace(new RegExp('\\\\b' + ci + '\\\\b'),'')\n }\n cls = utils.trim(cls).replace(/[ ]{2,}/g,' ');\n if(cls){\n elm.className = cls;\n }else{\n domUtils.removeAttributes(elm,['class']);\n }\n },\n /**\n * 给元素element添加className\n * @method addClass\n * @param { Node } ele 需要增加className的元素\n * @param { String } classNames 需要添加的className, 多个className之间以空格分割\n * @remind 相同的类名不会被重复添加\n * @example\n * ```html\n * \n *\n * \n * ```\n */\n\n /**\n * 判断元素element是否包含给定的样式类名className\n * @method hasClass\n * @param { Node } ele 需要检测的元素\n * @param { Array } classNames 需要检测的className数组\n * @return { Boolean } 元素是否包含所有给定的className\n * @example\n * ```html\n * \n *\n * \n * ```\n */\n hasClass:function (element, className) {\n if(utils.isRegExp(className)){\n return className.test(element.className)\n }\n className = utils.trim(className).replace(/[ ]{2,}/g,' ').split(' ');\n for(var i = 0,ci,cls = element.className;ci=className[i++];){\n if(!new RegExp('\\\\b' + ci + '\\\\b','i').test(cls)){\n return false;\n }\n }\n return i - 1 == className.length;\n },\n\n /**\n * 阻止事件默认行为\n * @method preventDefault\n * @param { Event } evt 需要阻止默认行为的事件对象\n * @example\n * ```javascript\n * UE.dom.domUtils.preventDefault( evt );\n * ```\n */\n preventDefault:function (evt) {\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n },\n /**\n * 删除元素element指定的样式\n * @method removeStyle\n * @param { Element } element 需要删除样式的元素\n * @param { String } styleName 需要删除的样式名\n * @example\n * ```html\n * \n *\n * \n * ```\n */\n removeStyle:function (element, name) {\n if(browser.ie ){\n //针对color先单独处理一下\n if(name == 'color'){\n name = '(^|;)' + name;\n }\n element.style.cssText = element.style.cssText.replace(new RegExp(name + '[^:]*:[^;]+;?','ig'),'')\n }else{\n if (element.style.removeProperty) {\n element.style.removeProperty (name);\n }else {\n element.style.removeAttribute (utils.cssStyleToDomStyle(name));\n }\n }\n\n\n if (!element.style.cssText) {\n domUtils.removeAttributes(element, ['style']);\n }\n },\n /**\n * 获取元素element的style属性的指定值\n * @method getStyle\n * @param { Element } element 需要获取属性值的元素\n * @param { String } styleName 需要获取的style的名称\n * @warning 该方法仅获取元素style属性中所标明的值\n * @return { String } 该元素包含指定的style属性值\n * @example\n * ```html\n *
\n *\n * \n * ```\n */\n getStyle:function (element, name) {\n var value = element.style[ utils.cssStyleToDomStyle(name) ];\n return utils.fixColor(name, value);\n },\n /**\n * 为元素element设置样式属性值\n * @method setStyle\n * @param { Element } element 需要设置样式的元素\n * @param { String } styleName 样式名\n * @param { String } styleValue 样式值\n * @example\n * ```html\n *
\n *\n * \n * ```\n */\n setStyle:function (element, name, value) {\n element.style[utils.cssStyleToDomStyle(name)] = value;\n if(!utils.trim(element.style.cssText)){\n this.removeAttributes(element,'style')\n }\n },\n /**\n * 为元素element设置多个样式属性值\n * @method setStyles\n * @param { Element } element 需要设置样式的元素\n * @param { Object } styles 样式名值对\n * @example\n * ```html\n *
\n *\n * \n * ```\n */\n setStyles:function (element, styles) {\n for (var name in styles) {\n if (styles.hasOwnProperty(name)) {\n domUtils.setStyle(element, name, styles[name]);\n }\n }\n },\n /**\n * 删除_moz_dirty属性\n * @private\n * @method removeDirtyAttr\n */\n removeDirtyAttr:function (node) {\n for (var i = 0, ci, nodes = node.getElementsByTagName('*'); ci = nodes[i++];) {\n ci.removeAttribute('_moz_dirty');\n }\n node.removeAttribute('_moz_dirty');\n },\n /**\n * 获取子节点的数量\n * @method getChildCount\n * @param { Element } node 需要检测的元素\n * @return { Number } 给定的node元素的子节点数量\n * @example\n * ```html\n *
\n * \n *
\n *\n * \n * ```\n */\n\n /**\n * 根据给定的过滤规则, 获取符合条件的子节点的数量\n * @method getChildCount\n * @param { Element } node 需要检测的元素\n * @param { Function } fn 过滤器, 要求对符合条件的子节点返回true, 反之则要求返回false\n * @return { Number } 符合过滤条件的node元素的子节点数量\n * @example\n * ```html\n *
\n * \n *
\n *\n * \n * ```\n */\n getChildCount:function (node, fn) {\n var count = 0, first = node.firstChild;\n fn = fn || function () {\n return 1;\n };\n while (first) {\n if (fn(first)) {\n count++;\n }\n first = first.nextSibling;\n }\n return count;\n },\n\n /**\n * 判断给定节点是否为空节点\n * @method isEmptyNode\n * @param { Node } node 需要检测的节点对象\n * @return { Boolean } 节点是否为空\n * @example\n * ```javascript\n * UE.dom.domUtils.isEmptyNode( document.body );\n * ```\n */\n isEmptyNode:function (node) {\n return !node.firstChild || domUtils.getChildCount(node, function (node) {\n return !domUtils.isBr(node) && !domUtils.isBookmarkNode(node) && !domUtils.isWhitespace(node)\n }) == 0\n },\n clearSelectedArr:function (nodes) {\n var node;\n while (node = nodes.pop()) {\n domUtils.removeAttributes(node, ['class']);\n }\n },\n /**\n * 将显示区域滚动到指定节点的位置\n * @method scrollToView\n * @param {Node} node 节点\n * @param {window} win window对象\n * @param {Number} offsetTop 距离上方的偏移量\n */\n scrollToView:function (node, win, offsetTop) {\n var getViewPaneSize = function () {\n var doc = win.document,\n mode = doc.compatMode == 'CSS1Compat';\n return {\n width:( mode ? doc.documentElement.clientWidth : doc.body.clientWidth ) || 0,\n height:( mode ? doc.documentElement.clientHeight : doc.body.clientHeight ) || 0\n };\n },\n getScrollPosition = function (win) {\n if ('pageXOffset' in win) {\n return {\n x:win.pageXOffset || 0,\n y:win.pageYOffset || 0\n };\n }\n else {\n var doc = win.document;\n return {\n x:doc.documentElement.scrollLeft || doc.body.scrollLeft || 0,\n y:doc.documentElement.scrollTop || doc.body.scrollTop || 0\n };\n }\n };\n var winHeight = getViewPaneSize().height, offset = winHeight * -1 + offsetTop;\n offset += (node.offsetHeight || 0);\n var elementPosition = domUtils.getXY(node);\n offset += elementPosition.y;\n var currentScroll = getScrollPosition(win).y;\n // offset += 50;\n if (offset > currentScroll || offset < currentScroll - winHeight) {\n win.scrollTo(0, offset + (offset < 0 ? -20 : 20));\n }\n },\n /**\n * 判断给定节点是否为br\n * @method isBr\n * @param { Node } node 需要判断的节点对象\n * @return { Boolean } 给定的节点是否是br节点\n */\n isBr:function (node) {\n return node.nodeType == 1 && node.tagName == 'BR';\n },\n /**\n * 判断给定的节点是否是一个“填充”节点\n * @private\n * @method isFillChar\n * @param { Node } node 需要判断的节点\n * @param { Boolean } isInStart 是否从节点内容的开始位置匹配\n * @returns { Boolean } 节点是否是填充节点\n */\n isFillChar:function (node,isInStart) {\n if(node.nodeType != 3)\n return false;\n var text = node.nodeValue;\n if(isInStart){\n return new RegExp('^' + domUtils.fillChar).test(text)\n }\n return !text.replace(new RegExp(domUtils.fillChar,'g'), '').length\n },\n isStartInblock:function (range) {\n var tmpRange = range.cloneRange(),\n flag = 0,\n start = tmpRange.startContainer,\n tmp;\n if(start.nodeType == 1 && start.childNodes[tmpRange.startOffset]){\n start = start.childNodes[tmpRange.startOffset];\n var pre = start.previousSibling;\n while(pre && domUtils.isFillChar(pre)){\n start = pre;\n pre = pre.previousSibling;\n }\n }\n if(this.isFillChar(start,true) && tmpRange.startOffset == 1){\n tmpRange.setStartBefore(start);\n start = tmpRange.startContainer;\n }\n\n while (start && domUtils.isFillChar(start)) {\n tmp = start;\n start = start.previousSibling\n }\n if (tmp) {\n tmpRange.setStartBefore(tmp);\n start = tmpRange.startContainer;\n }\n if (start.nodeType == 1 && domUtils.isEmptyNode(start) && tmpRange.startOffset == 1) {\n tmpRange.setStart(start, 0).collapse(true);\n }\n while (!tmpRange.startOffset) {\n start = tmpRange.startContainer;\n if (domUtils.isBlockElm(start) || domUtils.isBody(start)) {\n flag = 1;\n break;\n }\n var pre = tmpRange.startContainer.previousSibling,\n tmpNode;\n if (!pre) {\n tmpRange.setStartBefore(tmpRange.startContainer);\n } else {\n while (pre && domUtils.isFillChar(pre)) {\n tmpNode = pre;\n pre = pre.previousSibling;\n }\n if (tmpNode) {\n tmpRange.setStartBefore(tmpNode);\n } else {\n tmpRange.setStartBefore(tmpRange.startContainer);\n }\n }\n }\n return flag && !domUtils.isBody(tmpRange.startContainer) ? 1 : 0;\n },\n\n /**\n * 判断给定的元素是否是一个空元素\n * @method isEmptyBlock\n * @param { Element } node 需要判断的元素\n * @return { Boolean } 是否是空元素\n * @example\n * ```html\n *
\n *\n * \n * ```\n */\n\n /**\n * 根据指定的判断规则判断给定的元素是否是一个空元素\n * @method isEmptyBlock\n * @param { Element } node 需要判断的元素\n * @param { RegExp } reg 对内容执行判断的正则表达式对象\n * @return { Boolean } 是否是空元素\n */\n isEmptyBlock:function (node,reg) {\n if(node.nodeType != 1)\n return 0;\n reg = reg || new RegExp('[ \\xa0\\t\\r\\n' + domUtils.fillChar + ']', 'g');\n\n if (node[browser.ie ? 'innerText' : 'textContent'].replace(reg, '').length > 0) {\n return 0;\n }\n for (var n in dtd.$isNotEmpty) {\n if (node.getElementsByTagName(n).length) {\n return 0;\n }\n }\n return 1;\n },\n\n /**\n * 移动元素使得该元素的位置移动指定的偏移量的距离\n * @method setViewportOffset\n * @param { Element } element 需要设置偏移量的元素\n * @param { Object } offset 偏移量, 形如{ left: 100, top: 50 }的一个键值对, 表示该元素将在\n * 现有的位置上向水平方向偏移offset.left的距离, 在竖直方向上偏移\n * offset.top的距离\n * @example\n * ```html\n *
\n *\n * \n * ```\n */\n setViewportOffset:function (element, offset) {\n var left = parseInt(element.style.left) | 0;\n var top = parseInt(element.style.top) | 0;\n var rect = element.getBoundingClientRect();\n var offsetLeft = offset.left - rect.left;\n var offsetTop = offset.top - rect.top;\n if (offsetLeft) {\n element.style.left = left + offsetLeft + 'px';\n }\n if (offsetTop) {\n element.style.top = top + offsetTop + 'px';\n }\n },\n\n /**\n * 用“填充字符”填充节点\n * @method fillNode\n * @private\n * @param { DomDocument } doc 填充的节点所在的docment对象\n * @param { Node } node 需要填充的节点对象\n * @example\n * ```html\n *
\n *\n * \n * ```\n */\n fillNode:function (doc, node) {\n var tmpNode = browser.ie ? doc.createTextNode(domUtils.fillChar) : doc.createElement('br');\n node.innerHTML = '';\n node.appendChild(tmpNode);\n },\n\n /**\n * 把节点src的所有子节点追加到另一个节点tag上去\n * @method moveChild\n * @param { Node } src 源节点, 该节点下的所有子节点将被移除\n * @param { Node } tag 目标节点, 从源节点移除的子节点将被追加到该节点下\n * @example\n * ```html\n *
\n * \n *
\n *
\n *
\n *
\n *\n * \n * ```\n */\n\n /**\n * 把节点src的所有子节点移动到另一个节点tag上去, 可以通过dir参数控制附加的行为是“追加”还是“插入顶部”\n * @method moveChild\n * @param { Node } src 源节点, 该节点下的所有子节点将被移除\n * @param { Node } tag 目标节点, 从源节点移除的子节点将被附加到该节点下\n * @param { Boolean } dir 附加方式, 如果为true, 则附加进去的节点将被放到目标节点的顶部, 反之,则放到末尾\n * @example\n * ```html\n *
\n * \n *
\n *
\n *
\n *
\n *\n * \n * ```\n */\n moveChild:function (src, tag, dir) {\n while (src.firstChild) {\n if (dir && tag.firstChild) {\n tag.insertBefore(src.lastChild, tag.firstChild);\n } else {\n tag.appendChild(src.firstChild);\n }\n }\n },\n\n /**\n * 判断节点的标签上是否不存在任何属性\n * @method hasNoAttributes\n * @private\n * @param { Node } node 需要检测的节点对象\n * @return { Boolean } 节点是否不包含任何属性\n * @example\n * ```html\n *
xxxx
\n *\n * \n * ```\n */\n hasNoAttributes:function (node) {\n return browser.ie ? /^<\\w+\\s*?>/.test(node.outerHTML) : node.attributes.length == 0;\n },\n\n /**\n * 检测节点是否是UEditor所使用的辅助节点\n * @method isCustomeNode\n * @private\n * @param { Node } node 需要检测的节点\n * @remind 辅助节点是指编辑器要完成工作临时添加的节点, 在输出的时候将会从编辑器内移除, 不会影响最终的结果。\n * @return { Boolean } 给定的节点是否是一个辅助节点\n */\n isCustomeNode:function (node) {\n return node.nodeType == 1 && node.getAttribute('_ue_custom_node_');\n },\n\n /**\n * 检测节点的标签是否是给定的标签\n * @method isTagNode\n * @param { Node } node 需要检测的节点对象\n * @param { String } tagName 标签\n * @return { Boolean } 节点的标签是否是给定的标签\n * @example\n * ```html\n *
\n *\n * \n * ```\n */\n isTagNode:function (node, tagNames) {\n return node.nodeType == 1 && new RegExp('\\\\b' + node.tagName + '\\\\b','i').test(tagNames)\n },\n\n /**\n * 给定一个节点数组,在通过指定的过滤器过滤后, 获取其中满足过滤条件的第一个节点\n * @method filterNodeList\n * @param { Array } nodeList 需要过滤的节点数组\n * @param { Function } fn 过滤器, 对符合条件的节点, 执行结果返回true, 反之则返回false\n * @return { Node | NULL } 如果找到符合过滤条件的节点, 则返回该节点, 否则返回NULL\n * @example\n * ```javascript\n * var divNodes = document.getElementsByTagName(\"div\");\n * divNodes = [].slice.call( divNodes, 0 );\n *\n * //output: null\n * console.log( UE.dom.domUtils.filterNodeList( divNodes, function ( node ) {\n * return node.tagName.toLowerCase() !== 'div';\n * } ) );\n * ```\n */\n\n /**\n * 给定一个节点数组nodeList和一组标签名tagNames, 获取其中能够匹配标签名的节点集合中的第一个节点\n * @method filterNodeList\n * @param { Array } nodeList 需要过滤的节点数组\n * @param { String } tagNames 需要匹配的标签名, 多个标签名之间用空格分割\n * @return { Node | NULL } 如果找到标签名匹配的节点, 则返回该节点, 否则返回NULL\n * @example\n * ```javascript\n * var divNodes = document.getElementsByTagName(\"div\");\n * divNodes = [].slice.call( divNodes, 0 );\n *\n * //output: null\n * console.log( UE.dom.domUtils.filterNodeList( divNodes, 'a span' ) );\n * ```\n */\n\n /**\n * 给定一个节点数组,在通过指定的过滤器过滤后, 如果参数forAll为true, 则会返回所有满足过滤\n * 条件的节点集合, 否则, 返回满足条件的节点集合中的第一个节点\n * @method filterNodeList\n * @param { Array } nodeList 需要过滤的节点数组\n * @param { Function } fn 过滤器, 对符合条件的节点, 执行结果返回true, 反之则返回false\n * @param { Boolean } forAll 是否返回整个节点数组, 如果该参数为false, 则返回节点集合中的第一个节点\n * @return { Array | Node | NULL } 如果找到符合过滤条件的节点, 则根据参数forAll的值决定返回满足\n * 过滤条件的节点数组或第一个节点, 否则返回NULL\n * @example\n * ```javascript\n * var divNodes = document.getElementsByTagName(\"div\");\n * divNodes = [].slice.call( divNodes, 0 );\n *\n * //output: 3(假定有3个div)\n * console.log( divNodes.length );\n *\n * var nodes = UE.dom.domUtils.filterNodeList( divNodes, function ( node ) {\n * return node.tagName.toLowerCase() === 'div';\n * }, true );\n *\n * //output: 3\n * console.log( nodes.length );\n *\n * var node = UE.dom.domUtils.filterNodeList( divNodes, function ( node ) {\n * return node.tagName.toLowerCase() === 'div';\n * }, false );\n *\n * //output: div\n * console.log( node.nodeName );\n * ```\n */\n filterNodeList : function(nodelist,filter,forAll){\n var results = [];\n if(!utils .isFunction(filter)){\n var str = filter;\n filter = function(n){\n return utils.indexOf(utils.isArray(str) ? str:str.split(' '), n.tagName.toLowerCase()) != -1\n };\n }\n utils.each(nodelist,function(n){\n filter(n) && results.push(n)\n });\n return results.length == 0 ? null : results.length == 1 || !forAll ? results[0] : results\n },\n\n /**\n * 查询给定的range选区是否在给定的node节点内,且在该节点的最末尾\n * @method isInNodeEndBoundary\n * @param { UE.dom.Range } rng 需要判断的range对象, 该对象的startContainer不能为NULL\n * @param node 需要检测的节点对象\n * @return { Number } 如果给定的选取range对象是在node内部的最末端, 则返回1, 否则返回0\n */\n isInNodeEndBoundary : function (rng,node){\n var start = rng.startContainer;\n if(start.nodeType == 3 && rng.startOffset != start.nodeValue.length){\n return 0;\n }\n if(start.nodeType == 1 && rng.startOffset != start.childNodes.length){\n return 0;\n }\n while(start !== node){\n if(start.nextSibling){\n return 0\n };\n start = start.parentNode;\n }\n return 1;\n },\n isBoundaryNode : function (node,dir){\n var tmp;\n while(!domUtils.isBody(node)){\n tmp = node;\n node = node.parentNode;\n if(tmp !== node[dir]){\n return false;\n }\n }\n return true;\n },\n fillHtml : browser.ie11below ? ' ' : '
'\n};\nvar fillCharReg = new RegExp(domUtils.fillChar, 'g');\n\n// core/Range.js\n/**\n * Range封装\n * @file\n * @module UE.dom\n * @class Range\n * @since 1.2.6.1\n */\n\n/**\n * dom操作封装\n * @unfile\n * @module UE.dom\n */\n\n/**\n * Range实现类,本类是UEditor底层核心类,封装不同浏览器之间的Range操作。\n * @unfile\n * @module UE.dom\n * @class Range\n */\n\n\n(function () {\n var guid = 0,\n fillChar = domUtils.fillChar,\n fillData;\n\n /**\n * 更新range的collapse状态\n * @param {Range} range range对象\n */\n function updateCollapse(range) {\n range.collapsed =\n range.startContainer && range.endContainer &&\n range.startContainer === range.endContainer &&\n range.startOffset == range.endOffset;\n }\n\n function selectOneNode(rng){\n return !rng.collapsed && rng.startContainer.nodeType == 1 && rng.startContainer === rng.endContainer && rng.endOffset - rng.startOffset == 1\n }\n function setEndPoint(toStart, node, offset, range) {\n //如果node是自闭合标签要处理\n if (node.nodeType == 1 && (dtd.$empty[node.tagName] || dtd.$nonChild[node.tagName])) {\n offset = domUtils.getNodeIndex(node) + (toStart ? 0 : 1);\n node = node.parentNode;\n }\n if (toStart) {\n range.startContainer = node;\n range.startOffset = offset;\n if (!range.endContainer) {\n range.collapse(true);\n }\n } else {\n range.endContainer = node;\n range.endOffset = offset;\n if (!range.startContainer) {\n range.collapse(false);\n }\n }\n updateCollapse(range);\n return range;\n }\n\n function execContentsAction(range, action) {\n //调整边界\n //range.includeBookmark();\n var start = range.startContainer,\n end = range.endContainer,\n startOffset = range.startOffset,\n endOffset = range.endOffset,\n doc = range.document,\n frag = doc.createDocumentFragment(),\n tmpStart, tmpEnd;\n if (start.nodeType == 1) {\n start = start.childNodes[startOffset] || (tmpStart = start.appendChild(doc.createTextNode('')));\n }\n if (end.nodeType == 1) {\n end = end.childNodes[endOffset] || (tmpEnd = end.appendChild(doc.createTextNode('')));\n }\n if (start === end && start.nodeType == 3) {\n frag.appendChild(doc.createTextNode(start.substringData(startOffset, endOffset - startOffset)));\n //is not clone\n if (action) {\n start.deleteData(startOffset, endOffset - startOffset);\n range.collapse(true);\n }\n return frag;\n }\n var current, currentLevel, clone = frag,\n startParents = domUtils.findParents(start, true), endParents = domUtils.findParents(end, true);\n for (var i = 0; startParents[i] == endParents[i];) {\n i++;\n }\n for (var j = i, si; si = startParents[j]; j++) {\n current = si.nextSibling;\n if (si == start) {\n if (!tmpStart) {\n if (range.startContainer.nodeType == 3) {\n clone.appendChild(doc.createTextNode(start.nodeValue.slice(startOffset)));\n //is not clone\n if (action) {\n start.deleteData(startOffset, start.nodeValue.length - startOffset);\n }\n } else {\n clone.appendChild(!action ? start.cloneNode(true) : start);\n }\n }\n } else {\n currentLevel = si.cloneNode(false);\n clone.appendChild(currentLevel);\n }\n while (current) {\n if (current === end || current === endParents[j]) {\n break;\n }\n si = current.nextSibling;\n clone.appendChild(!action ? current.cloneNode(true) : current);\n current = si;\n }\n clone = currentLevel;\n }\n clone = frag;\n if (!startParents[i]) {\n clone.appendChild(startParents[i - 1].cloneNode(false));\n clone = clone.firstChild;\n }\n for (var j = i, ei; ei = endParents[j]; j++) {\n current = ei.previousSibling;\n if (ei == end) {\n if (!tmpEnd && range.endContainer.nodeType == 3) {\n clone.appendChild(doc.createTextNode(end.substringData(0, endOffset)));\n //is not clone\n if (action) {\n end.deleteData(0, endOffset);\n }\n }\n } else {\n currentLevel = ei.cloneNode(false);\n clone.appendChild(currentLevel);\n }\n //如果两端同级,右边第一次已经被开始做了\n if (j != i || !startParents[i]) {\n while (current) {\n if (current === start) {\n break;\n }\n ei = current.previousSibling;\n clone.insertBefore(!action ? current.cloneNode(true) : current, clone.firstChild);\n current = ei;\n }\n }\n clone = currentLevel;\n }\n if (action) {\n range.setStartBefore(!endParents[i] ? endParents[i - 1] : !startParents[i] ? startParents[i - 1] : endParents[i]).collapse(true);\n }\n tmpStart && domUtils.remove(tmpStart);\n tmpEnd && domUtils.remove(tmpEnd);\n return frag;\n }\n\n /**\n * 创建一个跟document绑定的空的Range实例\n * @constructor\n * @param { Document } document 新建的选区所属的文档对象\n */\n\n /**\n * @property { Node } startContainer 当前Range的开始边界的容器节点, 可以是一个元素节点或者是文本节点\n */\n\n /**\n * @property { Node } startOffset 当前Range的开始边界容器节点的偏移量, 如果是元素节点,\n * 该值就是childNodes中的第几个节点, 如果是文本节点就是文本内容的第几个字符\n */\n\n /**\n * @property { Node } endContainer 当前Range的结束边界的容器节点, 可以是一个元素节点或者是文本节点\n */\n\n /**\n * @property { Node } endOffset 当前Range的结束边界容器节点的偏移量, 如果是元素节点,\n * 该值就是childNodes中的第几个节点, 如果是文本节点就是文本内容的第几个字符\n */\n\n /**\n * @property { Boolean } collapsed 当前Range是否闭合\n * @default true\n * @remind Range是闭合的时候, startContainer === endContainer && startOffset === endOffset\n */\n\n /**\n * @property { Document } document 当前Range所属的Document对象\n * @remind 不同range的的document属性可以是不同的\n */\n var Range = dom.Range = function (document) {\n var me = this;\n me.startContainer =\n me.startOffset =\n me.endContainer =\n me.endOffset = null;\n me.document = document;\n me.collapsed = true;\n };\n\n /**\n * 删除fillData\n * @param doc\n * @param excludeNode\n */\n function removeFillData(doc, excludeNode) {\n try {\n if (fillData && domUtils.inDoc(fillData, doc)) {\n if (!fillData.nodeValue.replace(fillCharReg, '').length) {\n var tmpNode = fillData.parentNode;\n domUtils.remove(fillData);\n while (tmpNode && domUtils.isEmptyInlineElement(tmpNode) &&\n //safari的contains有bug\n (browser.safari ? !(domUtils.getPosition(tmpNode,excludeNode) & domUtils.POSITION_CONTAINS) : !tmpNode.contains(excludeNode))\n ) {\n fillData = tmpNode.parentNode;\n domUtils.remove(tmpNode);\n tmpNode = fillData;\n }\n } else {\n fillData.nodeValue = fillData.nodeValue.replace(fillCharReg, '');\n }\n }\n } catch (e) {\n }\n }\n\n /**\n * @param node\n * @param dir\n */\n function mergeSibling(node, dir) {\n var tmpNode;\n node = node[dir];\n while (node && domUtils.isFillChar(node)) {\n tmpNode = node[dir];\n domUtils.remove(node);\n node = tmpNode;\n }\n }\n\n Range.prototype = {\n\n /**\n * 克隆选区的内容到一个DocumentFragment里\n * @method cloneContents\n * @return { DocumentFragment | NULL } 如果选区是闭合的将返回null, 否则, 返回包含所clone内容的DocumentFragment元素\n * @example\n * ```html\n * \n * \n * xx[xxx]x\n *\n * \n * \n * ```\n */\n cloneContents:function () {\n return this.collapsed ? null : execContentsAction(this, 0);\n },\n\n /**\n * 删除当前选区范围中的所有内容\n * @method deleteContents\n * @remind 执行完该操作后, 当前Range对象变成了闭合状态\n * @return { UE.dom.Range } 当前操作的Range对象\n * @example\n * ```html\n * \n * \n * xx[xxx]x\n *\n * \n * \n * ```\n */\n deleteContents:function () {\n var txt;\n if (!this.collapsed) {\n execContentsAction(this, 1);\n }\n if (browser.webkit) {\n txt = this.startContainer;\n if (txt.nodeType == 3 && !txt.nodeValue.length) {\n this.setStartBefore(txt).collapse(true);\n domUtils.remove(txt);\n }\n }\n return this;\n },\n\n /**\n * 将当前选区的内容提取到一个DocumentFragment里\n * @method extractContents\n * @remind 执行该操作后, 选区将变成闭合状态\n * @warning 执行该操作后, 原来选区所选中的内容将从dom树上剥离出来\n * @return { DocumentFragment } 返回包含所提取内容的DocumentFragment对象\n * @example\n * ```html\n * \n * \n * xx[xxx]x\n *\n * \n * \n */\n extractContents:function () {\n return this.collapsed ? null : execContentsAction(this, 2);\n },\n\n /**\n * 设置Range的开始容器节点和偏移量\n * @method setStart\n * @remind 如果给定的节点是元素节点,那么offset指的是其子元素中索引为offset的元素,\n * 如果是文本节点,那么offset指的是其文本内容的第offset个字符\n * @remind 如果提供的容器节点是一个不能包含子元素的节点, 则该选区的开始容器将被设置\n * 为该节点的父节点, 此时, 其距离开始容器的偏移量也变成了该节点在其父节点\n * 中的索引\n * @param { Node } node 将被设为当前选区开始边界容器的节点对象\n * @param { int } offset 选区的开始位置偏移量\n * @return { UE.dom.Range } 当前range对象\n * @example\n * ```html\n * \n * xxxxxxxxxxxxx[xxx]\n *\n * \n * ```\n * @example\n * ```html\n * \n * xxx[xx]x\n *\n * \n * ```\n */\n setStart:function (node, offset) {\n return setEndPoint(true, node, offset, this);\n },\n\n /**\n * 设置Range的结束容器和偏移量\n * @method setEnd\n * @param { Node } node 作为当前选区结束边界容器的节点对象\n * @param { int } offset 结束边界的偏移量\n * @see UE.dom.Range:setStart(Node,int)\n * @return { UE.dom.Range } 当前range对象\n */\n setEnd:function (node, offset) {\n return setEndPoint(false, node, offset, this);\n },\n\n /**\n * 将Range开始位置设置到node节点之后\n * @method setStartAfter\n * @remind 该操作将会把给定节点的父节点作为range的开始容器, 且偏移量是该节点在其父节点中的位置索引+1\n * @param { Node } node 选区的开始边界将紧接着该节点之后\n * @return { UE.dom.Range } 当前range对象\n * @example\n * ```html\n * \n * xxxxxxx[xxxx]\n *\n * \n * ```\n */\n setStartAfter:function (node) {\n return this.setStart(node.parentNode, domUtils.getNodeIndex(node) + 1);\n },\n\n /**\n * 将Range开始位置设置到node节点之前\n * @method setStartBefore\n * @remind 该操作将会把给定节点的父节点作为range的开始容器, 且偏移量是该节点在其父节点中的位置索引\n * @param { Node } node 新的选区开始位置在该节点之前\n * @see UE.dom.Range:setStartAfter(Node)\n * @return { UE.dom.Range } 当前range对象\n */\n setStartBefore:function (node) {\n return this.setStart(node.parentNode, domUtils.getNodeIndex(node));\n },\n\n /**\n * 将Range结束位置设置到node节点之后\n * @method setEndAfter\n * @remind 该操作将会把给定节点的父节点作为range的结束容器, 且偏移量是该节点在其父节点中的位置索引+1\n * @param { Node } node 目标节点\n * @see UE.dom.Range:setStartAfter(Node)\n * @return { UE.dom.Range } 当前range对象\n * @example\n * ```html\n * \n * [xxxxxxx]xxxx\n *\n * \n * ```\n */\n setEndAfter:function (node) {\n return this.setEnd(node.parentNode, domUtils.getNodeIndex(node) + 1);\n },\n\n /**\n * 将Range结束位置设置到node节点之前\n * @method setEndBefore\n * @remind 该操作将会把给定节点的父节点作为range的结束容器, 且偏移量是该节点在其父节点中的位置索引\n * @param { Node } node 目标节点\n * @see UE.dom.Range:setEndAfter(Node)\n * @return { UE.dom.Range } 当前range对象\n */\n setEndBefore:function (node) {\n return this.setEnd(node.parentNode, domUtils.getNodeIndex(node));\n },\n\n /**\n * 设置Range的开始位置到node节点内的第一个子节点之前\n * @method setStartAtFirst\n * @remind 选区的开始容器将变成给定的节点, 且偏移量为0\n * @remind 如果给定的节点是元素节点, 则该节点必须是允许包含子节点的元素。\n * @param { Node } node 目标节点\n * @see UE.dom.Range:setStartBefore(Node)\n * @return { UE.dom.Range } 当前range对象\n * @example\n * ```html\n * \n * xxxxx[xx]xxxx\n *\n * \n * ```\n */\n setStartAtFirst:function (node) {\n return this.setStart(node, 0);\n },\n\n /**\n * 设置Range的开始位置到node节点内的最后一个节点之后\n * @method setStartAtLast\n * @remind 选区的开始容器将变成给定的节点, 且偏移量为该节点的子节点数\n * @remind 如果给定的节点是元素节点, 则该节点必须是允许包含子节点的元素。\n * @param { Node } node 目标节点\n * @see UE.dom.Range:setStartAtFirst(Node)\n * @return { UE.dom.Range } 当前range对象\n */\n setStartAtLast:function (node) {\n return this.setStart(node, node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length);\n },\n\n /**\n * 设置Range的结束位置到node节点内的第一个节点之前\n * @method setEndAtFirst\n * @param { Node } node 目标节点\n * @remind 选区的结束容器将变成给定的节点, 且偏移量为0\n * @remind node必须是一个元素节点, 且必须是允许包含子节点的元素。\n * @see UE.dom.Range:setStartAtFirst(Node)\n * @return { UE.dom.Range } 当前range对象\n */\n setEndAtFirst:function (node) {\n return this.setEnd(node, 0);\n },\n\n /**\n * 设置Range的结束位置到node节点内的最后一个节点之后\n * @method setEndAtLast\n * @param { Node } node 目标节点\n * @remind 选区的结束容器将变成给定的节点, 且偏移量为该节点的子节点数量\n * @remind node必须是一个元素节点, 且必须是允许包含子节点的元素。\n * @see UE.dom.Range:setStartAtFirst(Node)\n * @return { UE.dom.Range } 当前range对象\n */\n setEndAtLast:function (node) {\n return this.setEnd(node, node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length);\n },\n\n /**\n * 选中给定节点\n * @method selectNode\n * @remind 此时, 选区的开始容器和结束容器都是该节点的父节点, 其startOffset是该节点在父节点中的位置索引,\n * 而endOffset为startOffset+1\n * @param { Node } node 需要选中的节点\n * @return { UE.dom.Range } 当前range对象,此时的range仅包含当前给定的节点对象\n * @example\n * ```html\n * \n * xxxxx[xx]xxxx\n *\n * \n * ```\n */\n selectNode:function (node) {\n return this.setStartBefore(node).setEndAfter(node);\n },\n\n /**\n * 选中给定节点内部的所有节点\n * @method selectNodeContents\n * @remind 此时, 选区的开始容器和结束容器都是该节点, 其startOffset为0,\n * 而endOffset是该节点的子节点数。\n * @param { Node } node 目标节点, 当前range将包含该节点内的所有节点\n * @return { UE.dom.Range } 当前range对象, 此时range仅包含给定节点的所有子节点\n * @example\n * ```html\n * \n * xxxxx[xx]xxxx\n *\n * \n * ```\n */\n selectNodeContents:function (node) {\n return this.setStart(node, 0).setEndAtLast(node);\n },\n\n /**\n * clone当前Range对象\n * @method cloneRange\n * @remind 返回的range是一个全新的range对象, 其内部所有属性与当前被clone的range相同。\n * @return { UE.dom.Range } 当前range对象的一个副本\n */\n cloneRange:function () {\n var me = this;\n return new Range(me.document).setStart(me.startContainer, me.startOffset).setEnd(me.endContainer, me.endOffset);\n\n },\n\n /**\n * 向当前选区的结束处闭合选区\n * @method collapse\n * @return { UE.dom.Range } 当前range对象\n * @example\n * ```html\n * \n * xxxxx[xx]xxxx\n *\n * \n * ```\n */\n\n /**\n * 闭合当前选区,根据给定的toStart参数项决定是向当前选区开始处闭合还是向结束处闭合,\n * 如果toStart的值为true,则向开始位置闭合, 反之,向结束位置闭合。\n * @method collapse\n * @param { Boolean } toStart 是否向选区开始处闭合\n * @return { UE.dom.Range } 当前range对象,此时range对象处于闭合状态\n * @see UE.dom.Range:collapse()\n * @example\n * ```html\n * \n * xxxxx[xx]xxxx\n *\n * \n * ```\n */\n collapse:function (toStart) {\n var me = this;\n if (toStart) {\n me.endContainer = me.startContainer;\n me.endOffset = me.startOffset;\n } else {\n me.startContainer = me.endContainer;\n me.startOffset = me.endOffset;\n }\n me.collapsed = true;\n return me;\n },\n\n /**\n * 调整range的开始位置和结束位置,使其\"收缩\"到最小的位置\n * @method shrinkBoundary\n * @return { UE.dom.Range } 当前range对象\n * @example\n * ```html\n * xxxx[xxxxx] => xxxx[xxxxx]\n * ```\n *\n * @example\n * ```html\n * \n * x[xx]xxx\n *\n * \n * ```\n *\n * @example\n * ```html\n * [xxxxxxxxxxx] => [xxxxxxxxxxx]\n * ```\n */\n\n /**\n * 调整range的开始位置和结束位置,使其\"收缩\"到最小的位置,\n * 如果ignoreEnd的值为true,则忽略对结束位置的调整\n * @method shrinkBoundary\n * @param { Boolean } ignoreEnd 是否忽略对结束位置的调整\n * @return { UE.dom.Range } 当前range对象\n * @see UE.dom.domUtils.Range:shrinkBoundary()\n */\n shrinkBoundary:function (ignoreEnd) {\n var me = this, child,\n collapsed = me.collapsed;\n function check(node){\n return node.nodeType == 1 && !domUtils.isBookmarkNode(node) && !dtd.$empty[node.tagName] && !dtd.$nonChild[node.tagName]\n }\n while (me.startContainer.nodeType == 1 //是element\n && (child = me.startContainer.childNodes[me.startOffset]) //子节点也是element\n && check(child)) {\n me.setStart(child, 0);\n }\n if (collapsed) {\n return me.collapse(true);\n }\n if (!ignoreEnd) {\n while (me.endContainer.nodeType == 1//是element\n && me.endOffset > 0 //如果是空元素就退出 endOffset=0那么endOffst-1为负值,childNodes[endOffset]报错\n && (child = me.endContainer.childNodes[me.endOffset - 1]) //子节点也是element\n && check(child)) {\n me.setEnd(child, child.childNodes.length);\n }\n }\n return me;\n },\n\n /**\n * 获取离当前选区内包含的所有节点最近的公共祖先节点,\n * @method getCommonAncestor\n * @remind 返回的公共祖先节点一定不是range自身的容器节点, 但有可能是一个文本节点\n * @return { Node } 当前range对象内所有节点的公共祖先节点\n * @example\n * ```html\n * //选区示例\n * xxxx[xxx]xxxxxx\n * \n * ```\n */\n\n /**\n * 获取当前选区所包含的所有节点的公共祖先节点, 可以根据给定的参数 includeSelf 决定获取到\n * 的公共祖先节点是否可以是当前选区的startContainer或endContainer节点, 如果 includeSelf\n * 的取值为true, 则返回的节点可以是自身的容器节点, 否则, 则不能是容器节点\n * @method getCommonAncestor\n * @param { Boolean } includeSelf 是否允许获取到的公共祖先节点是当前range对象的容器节点\n * @return { Node } 当前range对象内所有节点的公共祖先节点\n * @see UE.dom.Range:getCommonAncestor()\n * @example\n * ```html\n * \n *\n * \n * xxxxxxxxx[xxx]xxxxxxxx\n *\n * \n *\n * \n * ```\n */\n\n /**\n * 获取当前选区所包含的所有节点的公共祖先节点, 可以根据给定的参数 includeSelf 决定获取到\n * 的公共祖先节点是否可以是当前选区的startContainer或endContainer节点, 如果 includeSelf\n * 的取值为true, 则返回的节点可以是自身的容器节点, 否则, 则不能是容器节点; 同时可以根据\n * ignoreTextNode 参数的取值决定是否忽略类型为文本节点的祖先节点。\n * @method getCommonAncestor\n * @param { Boolean } includeSelf 是否允许获取到的公共祖先节点是当前range对象的容器节点\n * @param { Boolean } ignoreTextNode 获取祖先节点的过程中是否忽略类型为文本节点的祖先节点\n * @return { Node } 当前range对象内所有节点的公共祖先节点\n * @see UE.dom.Range:getCommonAncestor()\n * @see UE.dom.Range:getCommonAncestor(Boolean)\n * @example\n * ```html\n * \n *\n * \n * xxxxxxxx[x]xxxxxxxxxxx\n *\n * \n *\n * \n * ```\n */\n getCommonAncestor:function (includeSelf, ignoreTextNode) {\n var me = this,\n start = me.startContainer,\n end = me.endContainer;\n if (start === end) {\n if (includeSelf && selectOneNode(this)) {\n start = start.childNodes[me.startOffset];\n if(start.nodeType == 1)\n return start;\n }\n //只有在上来就相等的情况下才会出现是文本的情况\n return ignoreTextNode && start.nodeType == 3 ? start.parentNode : start;\n }\n return domUtils.getCommonAncestor(start, end);\n },\n\n /**\n * 调整当前Range的开始和结束边界容器,如果是容器节点是文本节点,就调整到包含该文本节点的父节点上\n * @method trimBoundary\n * @remind 该操作有可能会引起文本节点被切开\n * @return { UE.dom.Range } 当前range对象\n * @example\n * ```html\n *\n * //选区示例\n * xxx[xxxxx]xxx\n *\n * \n * ```\n */\n\n /**\n * 调整当前Range的开始和结束边界容器,如果是容器节点是文本节点,就调整到包含该文本节点的父节点上,\n * 可以根据 ignoreEnd 参数的值决定是否调整对结束边界的调整\n * @method trimBoundary\n * @param { Boolean } ignoreEnd 是否忽略对结束边界的调整\n * @return { UE.dom.Range } 当前range对象\n * @example\n * ```html\n *\n * //选区示例\n * xxx[xxxxx]xxx\n *\n * \n * ```\n */\n trimBoundary:function (ignoreEnd) {\n this.txtToElmBoundary();\n var start = this.startContainer,\n offset = this.startOffset,\n collapsed = this.collapsed,\n end = this.endContainer;\n if (start.nodeType == 3) {\n if (offset == 0) {\n this.setStartBefore(start);\n } else {\n if (offset >= start.nodeValue.length) {\n this.setStartAfter(start);\n } else {\n var textNode = domUtils.split(start, offset);\n //跟新结束边界\n if (start === end) {\n this.setEnd(textNode, this.endOffset - offset);\n } else if (start.parentNode === end) {\n this.endOffset += 1;\n }\n this.setStartBefore(textNode);\n }\n }\n if (collapsed) {\n return this.collapse(true);\n }\n }\n if (!ignoreEnd) {\n offset = this.endOffset;\n end = this.endContainer;\n if (end.nodeType == 3) {\n if (offset == 0) {\n this.setEndBefore(end);\n } else {\n offset < end.nodeValue.length && domUtils.split(end, offset);\n this.setEndAfter(end);\n }\n }\n }\n return this;\n },\n\n /**\n * 如果选区在文本的边界上,就扩展选区到文本的父节点上, 如果当前选区是闭合的, 则什么也不做\n * @method txtToElmBoundary\n * @remind 该操作不会修改dom节点\n * @return { UE.dom.Range } 当前range对象\n */\n\n /**\n * 如果选区在文本的边界上,就扩展选区到文本的父节点上, 如果当前选区是闭合的, 则根据参数项\n * ignoreCollapsed 的值决定是否执行该调整\n * @method txtToElmBoundary\n * @param { Boolean } ignoreCollapsed 是否忽略选区的闭合状态, 如果该参数取值为true, 则\n * 不论选区是否闭合, 都会执行该操作, 反之, 则不会对闭合的选区执行该操作\n * @return { UE.dom.Range } 当前range对象\n */\n txtToElmBoundary:function (ignoreCollapsed) {\n function adjust(r, c) {\n var container = r[c + 'Container'],\n offset = r[c + 'Offset'];\n if (container.nodeType == 3) {\n if (!offset) {\n r['set' + c.replace(/(\\w)/, function (a) {\n return a.toUpperCase();\n }) + 'Before'](container);\n } else if (offset >= container.nodeValue.length) {\n r['set' + c.replace(/(\\w)/, function (a) {\n return a.toUpperCase();\n }) + 'After' ](container);\n }\n }\n }\n\n if (ignoreCollapsed || !this.collapsed) {\n adjust(this, 'start');\n adjust(this, 'end');\n }\n return this;\n },\n\n /**\n * 在当前选区的开始位置前插入节点,新插入的节点会被该range包含\n * @method insertNode\n * @param { Node } node 需要插入的节点\n * @remind 插入的节点可以是一个DocumentFragment依次插入多个节点\n * @return { UE.dom.Range } 当前range对象\n */\n insertNode:function (node) {\n var first = node, length = 1;\n if (node.nodeType == 11) {\n first = node.firstChild;\n length = node.childNodes.length;\n }\n this.trimBoundary(true);\n var start = this.startContainer,\n offset = this.startOffset;\n var nextNode = start.childNodes[ offset ];\n if (nextNode) {\n start.insertBefore(node, nextNode);\n } else {\n start.appendChild(node);\n }\n if (first.parentNode === this.endContainer) {\n this.endOffset = this.endOffset + length;\n }\n return this.setStartBefore(first);\n },\n\n /**\n * 闭合选区到当前选区的开始位置, 并且定位光标到闭合后的位置\n * @method setCursor\n * @return { UE.dom.Range } 当前range对象\n * @see UE.dom.Range:collapse()\n */\n\n /**\n * 闭合选区,可以根据参数toEnd的值控制选区是向前闭合还是向后闭合, 并且定位光标到闭合后的位置。\n * @method setCursor\n * @param { Boolean } toEnd 是否向后闭合, 如果为true, 则闭合选区时, 将向结束容器方向闭合,\n * 反之,则向开始容器方向闭合\n * @return { UE.dom.Range } 当前range对象\n * @see UE.dom.Range:collapse(Boolean)\n */\n setCursor:function (toEnd, noFillData) {\n return this.collapse(!toEnd).select(noFillData);\n },\n\n /**\n * 创建当前range的一个书签,记录下当前range的位置,方便当dom树改变时,还能找回原来的选区位置\n * @method createBookmark\n * @param { Boolean } serialize 控制返回的标记位置是对当前位置的引用还是ID,如果该值为true,则\n * 返回标记位置的ID, 反之则返回标记位置节点的引用\n * @return { Object } 返回一个书签记录键值对, 其包含的key有: start => 开始标记的ID或者引用,\n * end => 结束标记的ID或引用, id => 当前标记的类型, 如果为true,则表示\n * 返回的记录的类型为ID, 反之则为引用\n */\n createBookmark:function (serialize, same) {\n var endNode,\n startNode = this.document.createElement('span');\n startNode.style.cssText = 'display:none;line-height:0px;';\n startNode.appendChild(this.document.createTextNode('\\u200D'));\n startNode.id = '_baidu_bookmark_start_' + (same ? '' : guid++);\n\n if (!this.collapsed) {\n endNode = startNode.cloneNode(true);\n endNode.id = '_baidu_bookmark_end_' + (same ? '' : guid++);\n }\n this.insertNode(startNode);\n if (endNode) {\n this.collapse().insertNode(endNode).setEndBefore(endNode);\n }\n this.setStartAfter(startNode);\n return {\n start:serialize ? startNode.id : startNode,\n end:endNode ? serialize ? endNode.id : endNode : null,\n id:serialize\n }\n },\n\n /**\n * 调整当前range的边界到书签位置,并删除该书签对象所标记的位置内的节点\n * @method moveToBookmark\n * @param { BookMark } bookmark createBookmark所创建的标签对象\n * @return { UE.dom.Range } 当前range对象\n * @see UE.dom.Range:createBookmark(Boolean)\n */\n moveToBookmark:function (bookmark) {\n var start = bookmark.id ? this.document.getElementById(bookmark.start) : bookmark.start,\n end = bookmark.end && bookmark.id ? this.document.getElementById(bookmark.end) : bookmark.end;\n this.setStartBefore(start);\n domUtils.remove(start);\n if (end) {\n this.setEndBefore(end);\n domUtils.remove(end);\n } else {\n this.collapse(true);\n }\n return this;\n },\n\n /**\n * 调整range的边界,使其\"放大\"到最近的父节点\n * @method enlarge\n * @remind 会引起选区的变化\n * @return { UE.dom.Range } 当前range对象\n */\n\n /**\n * 调整range的边界,使其\"放大\"到最近的父节点,根据参数 toBlock 的取值, 可以\n * 要求扩大之后的父节点是block节点\n * @method enlarge\n * @param { Boolean } toBlock 是否要求扩大之后的父节点必须是block节点\n * @return { UE.dom.Range } 当前range对象\n */\n enlarge:function (toBlock, stopFn) {\n var isBody = domUtils.isBody,\n pre, node, tmp = this.document.createTextNode('');\n if (toBlock) {\n node = this.startContainer;\n if (node.nodeType == 1) {\n if (node.childNodes[this.startOffset]) {\n pre = node = node.childNodes[this.startOffset]\n } else {\n node.appendChild(tmp);\n pre = node = tmp;\n }\n } else {\n pre = node;\n }\n while (1) {\n if (domUtils.isBlockElm(node)) {\n node = pre;\n while ((pre = node.previousSibling) && !domUtils.isBlockElm(pre)) {\n node = pre;\n }\n this.setStartBefore(node);\n break;\n }\n pre = node;\n node = node.parentNode;\n }\n node = this.endContainer;\n if (node.nodeType == 1) {\n if (pre = node.childNodes[this.endOffset]) {\n node.insertBefore(tmp, pre);\n } else {\n node.appendChild(tmp);\n }\n pre = node = tmp;\n } else {\n pre = node;\n }\n while (1) {\n if (domUtils.isBlockElm(node)) {\n node = pre;\n while ((pre = node.nextSibling) && !domUtils.isBlockElm(pre)) {\n node = pre;\n }\n this.setEndAfter(node);\n break;\n }\n pre = node;\n node = node.parentNode;\n }\n if (tmp.parentNode === this.endContainer) {\n this.endOffset--;\n }\n domUtils.remove(tmp);\n }\n\n // 扩展边界到最大\n if (!this.collapsed) {\n while (this.startOffset == 0) {\n if (stopFn && stopFn(this.startContainer)) {\n break;\n }\n if (isBody(this.startContainer)) {\n break;\n }\n this.setStartBefore(this.startContainer);\n }\n while (this.endOffset == (this.endContainer.nodeType == 1 ? this.endContainer.childNodes.length : this.endContainer.nodeValue.length)) {\n if (stopFn && stopFn(this.endContainer)) {\n break;\n }\n if (isBody(this.endContainer)) {\n break;\n }\n this.setEndAfter(this.endContainer);\n }\n }\n return this;\n },\n enlargeToBlockElm:function(ignoreEnd){\n while(!domUtils.isBlockElm(this.startContainer)){\n this.setStartBefore(this.startContainer);\n }\n if(!ignoreEnd){\n while(!domUtils.isBlockElm(this.endContainer)){\n this.setEndAfter(this.endContainer);\n }\n }\n return this;\n },\n /**\n * 调整Range的边界,使其\"缩小\"到最合适的位置\n * @method adjustmentBoundary\n * @return { UE.dom.Range } 当前range对象\n * @see UE.dom.Range:shrinkBoundary()\n */\n adjustmentBoundary:function () {\n if (!this.collapsed) {\n while (!domUtils.isBody(this.startContainer) &&\n this.startOffset == this.startContainer[this.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length &&\n this.startContainer[this.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length\n ) {\n\n this.setStartAfter(this.startContainer);\n }\n while (!domUtils.isBody(this.endContainer) && !this.endOffset &&\n this.endContainer[this.endContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length\n ) {\n this.setEndBefore(this.endContainer);\n }\n }\n return this;\n },\n\n /**\n * 给range选区中的内容添加给定的inline标签\n * @method applyInlineStyle\n * @param { String } tagName 需要添加的标签名\n * @example\n * ```html\n *

xxxx[xxxx]x

==> range.applyInlineStyle(\"strong\") ==>

xxxx[xxxx]x

\n * ```\n */\n\n /**\n * 给range选区中的内容添加给定的inline标签, 并且为标签附加上一些初始化属性。\n * @method applyInlineStyle\n * @param { String } tagName 需要添加的标签名\n * @param { Object } attrs 跟随新添加的标签的属性\n * @return { UE.dom.Range } 当前选区\n * @example\n * ```html\n *

xxxx[xxxx]x

\n *\n * ==>\n *\n * \n * range.applyInlineStyle(\"strong\",{\"style\":\"font-size:12px\"})\n *\n * ==>\n *\n *

xxxx[xxxx]x

\n * ```\n */\n applyInlineStyle:function (tagName, attrs, list) {\n if (this.collapsed)return this;\n this.trimBoundary().enlarge(false,\n function (node) {\n return node.nodeType == 1 && domUtils.isBlockElm(node)\n }).adjustmentBoundary();\n var bookmark = this.createBookmark(),\n end = bookmark.end,\n filterFn = function (node) {\n return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' : !domUtils.isWhitespace(node);\n },\n current = domUtils.getNextDomNode(bookmark.start, false, filterFn),\n node,\n pre,\n range = this.cloneRange();\n while (current && (domUtils.getPosition(current, end) & domUtils.POSITION_PRECEDING)) {\n if (current.nodeType == 3 || dtd[tagName][current.tagName]) {\n range.setStartBefore(current);\n node = current;\n while (node && (node.nodeType == 3 || dtd[tagName][node.tagName]) && node !== end) {\n pre = node;\n node = domUtils.getNextDomNode(node, node.nodeType == 1, null, function (parent) {\n return dtd[tagName][parent.tagName];\n });\n }\n var frag = range.setEndAfter(pre).extractContents(), elm;\n if (list && list.length > 0) {\n var level, top;\n top = level = list[0].cloneNode(false);\n for (var i = 1, ci; ci = list[i++];) {\n level.appendChild(ci.cloneNode(false));\n level = level.firstChild;\n }\n elm = level;\n } else {\n elm = range.document.createElement(tagName);\n }\n if (attrs) {\n domUtils.setAttributes(elm, attrs);\n }\n elm.appendChild(frag);\n range.insertNode(list ? top : elm);\n //处理下滑线在a上的情况\n var aNode;\n if (tagName == 'span' && attrs.style && /text\\-decoration/.test(attrs.style) && (aNode = domUtils.findParentByTagName(elm, 'a', true))) {\n domUtils.setAttributes(aNode, attrs);\n domUtils.remove(elm, true);\n elm = aNode;\n } else {\n domUtils.mergeSibling(elm);\n domUtils.clearEmptySibling(elm);\n }\n //去除子节点相同的\n domUtils.mergeChild(elm, attrs);\n current = domUtils.getNextDomNode(elm, false, filterFn);\n domUtils.mergeToParent(elm);\n if (node === end) {\n break;\n }\n } else {\n current = domUtils.getNextDomNode(current, true, filterFn);\n }\n }\n return this.moveToBookmark(bookmark);\n },\n\n /**\n * 移除当前选区内指定的inline标签,但保留其中的内容\n * @method removeInlineStyle\n * @param { String } tagName 需要移除的标签名\n * @return { UE.dom.Range } 当前的range对象\n * @example\n * ```html\n * xx[xxxxyyyzz]z => range.removeInlineStyle([\"em\"]) => xx[xxxxyyyzz]z\n * ```\n */\n\n /**\n * 移除当前选区内指定的一组inline标签,但保留其中的内容\n * @method removeInlineStyle\n * @param { Array } tagNameArr 需要移除的标签名的数组\n * @return { UE.dom.Range } 当前的range对象\n * @see UE.dom.Range:removeInlineStyle(String)\n */\n removeInlineStyle:function (tagNames) {\n if (this.collapsed)return this;\n tagNames = utils.isArray(tagNames) ? tagNames : [tagNames];\n this.shrinkBoundary().adjustmentBoundary();\n var start = this.startContainer, end = this.endContainer;\n while (1) {\n if (start.nodeType == 1) {\n if (utils.indexOf(tagNames, start.tagName.toLowerCase()) > -1) {\n break;\n }\n if (start.tagName.toLowerCase() == 'body') {\n start = null;\n break;\n }\n }\n start = start.parentNode;\n }\n while (1) {\n if (end.nodeType == 1) {\n if (utils.indexOf(tagNames, end.tagName.toLowerCase()) > -1) {\n break;\n }\n if (end.tagName.toLowerCase() == 'body') {\n end = null;\n break;\n }\n }\n end = end.parentNode;\n }\n var bookmark = this.createBookmark(),\n frag,\n tmpRange;\n if (start) {\n tmpRange = this.cloneRange().setEndBefore(bookmark.start).setStartBefore(start);\n frag = tmpRange.extractContents();\n tmpRange.insertNode(frag);\n domUtils.clearEmptySibling(start, true);\n start.parentNode.insertBefore(bookmark.start, start);\n }\n if (end) {\n tmpRange = this.cloneRange().setStartAfter(bookmark.end).setEndAfter(end);\n frag = tmpRange.extractContents();\n tmpRange.insertNode(frag);\n domUtils.clearEmptySibling(end, false, true);\n end.parentNode.insertBefore(bookmark.end, end.nextSibling);\n }\n var current = domUtils.getNextDomNode(bookmark.start, false, function (node) {\n return node.nodeType == 1;\n }), next;\n while (current && current !== bookmark.end) {\n next = domUtils.getNextDomNode(current, true, function (node) {\n return node.nodeType == 1;\n });\n if (utils.indexOf(tagNames, current.tagName.toLowerCase()) > -1) {\n domUtils.remove(current, true);\n }\n current = next;\n }\n return this.moveToBookmark(bookmark);\n },\n\n /**\n * 获取当前选中的自闭合的节点\n * @method getClosedNode\n * @return { Node | NULL } 如果当前选中的是自闭合节点, 则返回该节点, 否则返回NULL\n */\n getClosedNode:function () {\n var node;\n if (!this.collapsed) {\n var range = this.cloneRange().adjustmentBoundary().shrinkBoundary();\n if (selectOneNode(range)) {\n var child = range.startContainer.childNodes[range.startOffset];\n if (child && child.nodeType == 1 && (dtd.$empty[child.tagName] || dtd.$nonChild[child.tagName])) {\n node = child;\n }\n }\n }\n return node;\n },\n\n /**\n * 在页面上高亮range所表示的选区\n * @method select\n * @return { UE.dom.Range } 返回当前Range对象\n */\n //这里不区分ie9以上,trace:3824\n select:browser.ie ? function (noFillData, textRange) {\n var nativeRange;\n if (!this.collapsed)\n this.shrinkBoundary();\n var node = this.getClosedNode();\n if (node && !textRange) {\n try {\n nativeRange = this.document.body.createControlRange();\n nativeRange.addElement(node);\n nativeRange.select();\n } catch (e) {}\n return this;\n }\n var bookmark = this.createBookmark(),\n start = bookmark.start,\n end;\n nativeRange = this.document.body.createTextRange();\n nativeRange.moveToElementText(start);\n nativeRange.moveStart('character', 1);\n if (!this.collapsed) {\n var nativeRangeEnd = this.document.body.createTextRange();\n end = bookmark.end;\n nativeRangeEnd.moveToElementText(end);\n nativeRange.setEndPoint('EndToEnd', nativeRangeEnd);\n } else {\n if (!noFillData && this.startContainer.nodeType != 3) {\n //使用|x固定住光标\n var tmpText = this.document.createTextNode(fillChar),\n tmp = this.document.createElement('span');\n tmp.appendChild(this.document.createTextNode(fillChar));\n start.parentNode.insertBefore(tmp, start);\n start.parentNode.insertBefore(tmpText, start);\n //当点b,i,u时,不能清除i上边的b\n removeFillData(this.document, tmpText);\n fillData = tmpText;\n mergeSibling(tmp, 'previousSibling');\n mergeSibling(start, 'nextSibling');\n nativeRange.moveStart('character', -1);\n nativeRange.collapse(true);\n }\n }\n this.moveToBookmark(bookmark);\n tmp && domUtils.remove(tmp);\n //IE在隐藏状态下不支持range操作,catch一下\n try {\n nativeRange.select();\n } catch (e) {\n }\n return this;\n } : function (notInsertFillData) {\n function checkOffset(rng){\n\n function check(node,offset,dir){\n if(node.nodeType == 3 && node.nodeValue.length < offset){\n rng[dir + 'Offset'] = node.nodeValue.length\n }\n }\n check(rng.startContainer,rng.startOffset,'start');\n check(rng.endContainer,rng.endOffset,'end');\n }\n var win = domUtils.getWindow(this.document),\n sel = win.getSelection(),\n txtNode;\n //FF下关闭自动长高时滚动条在关闭dialog时会跳\n //ff下如果不body.focus将不能定位闭合光标到编辑器内\n browser.gecko ? this.document.body.focus() : win.focus();\n if (sel) {\n sel.removeAllRanges();\n // trace:870 chrome/safari后边是br对于闭合得range不能定位 所以去掉了判断\n // this.startContainer.nodeType != 3 &&! ((child = this.startContainer.childNodes[this.startOffset]) && child.nodeType == 1 && child.tagName == 'BR'\n if (this.collapsed && !notInsertFillData) {\n// //opear如果没有节点接着,原生的不能够定位,不能在body的第一级插入空白节点\n// if (notInsertFillData && browser.opera && !domUtils.isBody(this.startContainer) && this.startContainer.nodeType == 1) {\n// var tmp = this.document.createTextNode('');\n// this.insertNode(tmp).setStart(tmp, 0).collapse(true);\n// }\n//\n //处理光标落在文本节点的情况\n //处理以下的情况\n //|xxxx\n //xxxx|xxxx\n //xxxx|\n var start = this.startContainer,child = start;\n if(start.nodeType == 1){\n child = start.childNodes[this.startOffset];\n\n }\n if( !(start.nodeType == 3 && this.startOffset) &&\n (child ?\n (!child.previousSibling || child.previousSibling.nodeType != 3)\n :\n (!start.lastChild || start.lastChild.nodeType != 3)\n )\n ){\n txtNode = this.document.createTextNode(fillChar);\n //跟着前边走\n this.insertNode(txtNode);\n removeFillData(this.document, txtNode);\n mergeSibling(txtNode, 'previousSibling');\n mergeSibling(txtNode, 'nextSibling');\n fillData = txtNode;\n this.setStart(txtNode, browser.webkit ? 1 : 0).collapse(true);\n }\n }\n var nativeRange = this.document.createRange();\n if(this.collapsed && browser.opera && this.startContainer.nodeType == 1){\n var child = this.startContainer.childNodes[this.startOffset];\n if(!child){\n //往前靠拢\n child = this.startContainer.lastChild;\n if( child && domUtils.isBr(child)){\n this.setStartBefore(child).collapse(true);\n }\n }else{\n //向后靠拢\n while(child && domUtils.isBlockElm(child)){\n if(child.nodeType == 1 && child.childNodes[0]){\n child = child.childNodes[0]\n }else{\n break;\n }\n }\n child && this.setStartBefore(child).collapse(true)\n }\n\n }\n //是createAddress最后一位算的不准,现在这里进行微调\n checkOffset(this);\n nativeRange.setStart(this.startContainer, this.startOffset);\n nativeRange.setEnd(this.endContainer, this.endOffset);\n sel.addRange(nativeRange);\n }\n return this;\n },\n\n /**\n * 滚动到当前range开始的位置\n * @method scrollToView\n * @param { Window } win 当前range对象所属的window对象\n * @return { UE.dom.Range } 当前Range对象\n */\n\n /**\n * 滚动到距离当前range开始位置 offset 的位置处\n * @method scrollToView\n * @param { Window } win 当前range对象所属的window对象\n * @param { Number } offset 距离range开始位置处的偏移量, 如果为正数, 则向下偏移, 反之, 则向上偏移\n * @return { UE.dom.Range } 当前Range对象\n */\n scrollToView:function (win, offset) {\n win = win ? window : domUtils.getWindow(this.document);\n var me = this,\n span = me.document.createElement('span');\n //trace:717\n span.innerHTML = ' ';\n me.cloneRange().insertNode(span);\n domUtils.scrollToView(span, win, offset);\n domUtils.remove(span);\n return me;\n },\n\n /**\n * 判断当前选区内容是否占位符\n * @private\n * @method inFillChar\n * @return { Boolean } 如果是占位符返回true,否则返回false\n */\n inFillChar : function(){\n var start = this.startContainer;\n if(this.collapsed && start.nodeType == 3\n && start.nodeValue.replace(new RegExp('^' + domUtils.fillChar),'').length + 1 == start.nodeValue.length\n ){\n return true;\n }\n return false;\n },\n\n /**\n * 保存\n * @method createAddress\n * @private\n * @return { Boolean } 返回开始和结束的位置\n * @example\n * ```html\n * \n *

\n * aaaa\n * \n * \n * bbbb\n * \n * \n *

\n *\n * \n * \n * ```\n */\n createAddress : function(ignoreEnd,ignoreTxt){\n var addr = {},me = this;\n\n function getAddress(isStart){\n var node = isStart ? me.startContainer : me.endContainer;\n var parents = domUtils.findParents(node,true,function(node){return !domUtils.isBody(node)}),\n addrs = [];\n for(var i = 0,ci;ci = parents[i++];){\n addrs.push(domUtils.getNodeIndex(ci,ignoreTxt));\n }\n var firstIndex = 0;\n\n if(ignoreTxt){\n if(node.nodeType == 3){\n var tmpNode = node.previousSibling;\n while(tmpNode && tmpNode.nodeType == 3){\n firstIndex += tmpNode.nodeValue.replace(fillCharReg,'').length;\n tmpNode = tmpNode.previousSibling;\n }\n firstIndex += (isStart ? me.startOffset : me.endOffset)// - (fillCharReg.test(node.nodeValue) ? 1 : 0 )\n }else{\n node = node.childNodes[ isStart ? me.startOffset : me.endOffset];\n if(node){\n firstIndex = domUtils.getNodeIndex(node,ignoreTxt);\n }else{\n node = isStart ? me.startContainer : me.endContainer;\n var first = node.firstChild;\n while(first){\n if(domUtils.isFillChar(first)){\n first = first.nextSibling;\n continue;\n }\n firstIndex++;\n if(first.nodeType == 3){\n while( first && first.nodeType == 3){\n first = first.nextSibling;\n }\n }else{\n first = first.nextSibling;\n }\n }\n }\n }\n\n }else{\n firstIndex = isStart ? domUtils.isFillChar(node) ? 0 : me.startOffset : me.endOffset\n }\n if(firstIndex < 0){\n firstIndex = 0;\n }\n addrs.push(firstIndex);\n return addrs;\n }\n addr.startAddress = getAddress(true);\n if(!ignoreEnd){\n addr.endAddress = me.collapsed ? [].concat(addr.startAddress) : getAddress();\n }\n return addr;\n },\n\n /**\n * 保存\n * @method createAddress\n * @private\n * @return { Boolean } 返回开始和结束的位置\n * @example\n * ```html\n * \n *

\n * aaaa\n * \n * \n * bbbb\n * \n * \n *

\n *\n * \n * \n * ```\n */\n moveToAddress : function(addr,ignoreEnd){\n var me = this;\n function getNode(address,isStart){\n var tmpNode = me.document.body,\n parentNode,offset;\n for(var i= 0,ci,l=address.length;i\n *\n * \n * \n * \n * \n * \n *\n * \n * ```\n */\n\n /**\n * 遍历range内的节点。\n * 每当遍历一个节点时, 都会执行参数项 doFn 指定的函数, 该函数的接受当前遍历的节点\n * 作为其参数。\n * 可以通过参数项 filterFn 来指定一个过滤器, 只有符合该过滤器过滤规则的节点才会触\n * 发doFn函数的执行\n * @method traversal\n * @param { Function } doFn 对每个遍历的节点要执行的方法, 该方法接受当前遍历的节点作为其参数\n * @param { Function } filterFn 过滤器, 该函数接受当前遍历的节点作为参数, 如果该节点满足过滤\n * 规则, 请返回true, 该节点会触发doFn, 否则, 请返回false, 则该节点不\n * 会触发doFn。\n * @return { UE.dom.Range } 当前range对象\n * @see UE.dom.Range:traversal(Function)\n * @example\n * ```html\n *\n * \n *\n * \n * \n * \n * \n * \n *\n * \n * ```\n */\n traversal:function(doFn,filterFn){\n if (this.collapsed)\n return this;\n var bookmark = this.createBookmark(),\n end = bookmark.end,\n current = domUtils.getNextDomNode(bookmark.start, false, filterFn);\n while (current && current !== end && (domUtils.getPosition(current, end) & domUtils.POSITION_PRECEDING)) {\n var tmpNode = domUtils.getNextDomNode(current,false,filterFn);\n doFn(current);\n current = tmpNode;\n }\n return this.moveToBookmark(bookmark);\n }\n };\n})();\n\n// core/Selection.js\n/**\n * 选集\n * @file\n * @module UE.dom\n * @class Selection\n * @since 1.2.6.1\n */\n\n/**\n * 选区集合\n * @unfile\n * @module UE.dom\n * @class Selection\n */\n(function () {\n\n function getBoundaryInformation( range, start ) {\n var getIndex = domUtils.getNodeIndex;\n range = range.duplicate();\n range.collapse( start );\n var parent = range.parentElement();\n //如果节点里没有子节点,直接退出\n if ( !parent.hasChildNodes() ) {\n return {container:parent, offset:0};\n }\n var siblings = parent.children,\n child,\n testRange = range.duplicate(),\n startIndex = 0, endIndex = siblings.length - 1, index = -1,\n distance;\n while ( startIndex <= endIndex ) {\n index = Math.floor( (startIndex + endIndex) / 2 );\n child = siblings[index];\n testRange.moveToElementText( child );\n var position = testRange.compareEndPoints( 'StartToStart', range );\n if ( position > 0 ) {\n endIndex = index - 1;\n } else if ( position < 0 ) {\n startIndex = index + 1;\n } else {\n //trace:1043\n return {container:parent, offset:getIndex( child )};\n }\n }\n if ( index == -1 ) {\n testRange.moveToElementText( parent );\n testRange.setEndPoint( 'StartToStart', range );\n distance = testRange.text.replace( /(\\r\\n|\\r)/g, '\\n' ).length;\n siblings = parent.childNodes;\n if ( !distance ) {\n child = siblings[siblings.length - 1];\n return {container:child, offset:child.nodeValue.length};\n }\n\n var i = siblings.length;\n while ( distance > 0 ){\n distance -= siblings[ --i ].nodeValue.length;\n }\n return {container:siblings[i], offset:-distance};\n }\n testRange.collapse( position > 0 );\n testRange.setEndPoint( position > 0 ? 'StartToStart' : 'EndToStart', range );\n distance = testRange.text.replace( /(\\r\\n|\\r)/g, '\\n' ).length;\n if ( !distance ) {\n return dtd.$empty[child.tagName] || dtd.$nonChild[child.tagName] ?\n {container:parent, offset:getIndex( child ) + (position > 0 ? 0 : 1)} :\n {container:child, offset:position > 0 ? 0 : child.childNodes.length}\n }\n while ( distance > 0 ) {\n try {\n var pre = child;\n child = child[position > 0 ? 'previousSibling' : 'nextSibling'];\n distance -= child.nodeValue.length;\n } catch ( e ) {\n return {container:parent, offset:getIndex( pre )};\n }\n }\n return {container:child, offset:position > 0 ? -distance : child.nodeValue.length + distance}\n }\n\n /**\n * 将ieRange转换为Range对象\n * @param {Range} ieRange ieRange对象\n * @param {Range} range Range对象\n * @return {Range} range 返回转换后的Range对象\n */\n function transformIERangeToRange( ieRange, range ) {\n if ( ieRange.item ) {\n range.selectNode( ieRange.item( 0 ) );\n } else {\n var bi = getBoundaryInformation( ieRange, true );\n range.setStart( bi.container, bi.offset );\n if ( ieRange.compareEndPoints( 'StartToEnd', ieRange ) != 0 ) {\n bi = getBoundaryInformation( ieRange, false );\n range.setEnd( bi.container, bi.offset );\n }\n }\n return range;\n }\n\n /**\n * 获得ieRange\n * @param {Selection} sel Selection对象\n * @return {ieRange} 得到ieRange\n */\n function _getIERange( sel ) {\n var ieRange;\n //ie下有可能报错\n try {\n ieRange = sel.getNative().createRange();\n } catch ( e ) {\n return null;\n }\n var el = ieRange.item ? ieRange.item( 0 ) : ieRange.parentElement();\n if ( ( el.ownerDocument || el ) === sel.document ) {\n return ieRange;\n }\n return null;\n }\n\n var Selection = dom.Selection = function ( doc ) {\n var me = this, iframe;\n me.document = doc;\n if ( browser.ie9below ) {\n iframe = domUtils.getWindow( doc ).frameElement;\n domUtils.on( iframe, 'beforedeactivate', function () {\n me._bakIERange = me.getIERange();\n } );\n domUtils.on( iframe, 'activate', function () {\n try {\n if ( !_getIERange( me ) && me._bakIERange ) {\n me._bakIERange.select();\n }\n } catch ( ex ) {\n }\n me._bakIERange = null;\n } );\n }\n iframe = doc = null;\n };\n\n Selection.prototype = {\n\n rangeInBody : function(rng,txtRange){\n var node = browser.ie9below || txtRange ? rng.item ? rng.item() : rng.parentElement() : rng.startContainer;\n\n return node === this.document.body || domUtils.inDoc(node,this.document);\n },\n\n /**\n * 获取原生seleciton对象\n * @method getNative\n * @return { Object } 获得selection对象\n * @example\n * ```javascript\n * editor.selection.getNative();\n * ```\n */\n getNative:function () {\n var doc = this.document;\n try {\n return !doc ? null : browser.ie9below ? doc.selection : domUtils.getWindow( doc ).getSelection();\n } catch ( e ) {\n return null;\n }\n },\n\n /**\n * 获得ieRange\n * @method getIERange\n * @return { Object } 返回ie原生的Range\n * @example\n * ```javascript\n * editor.selection.getIERange();\n * ```\n */\n getIERange:function () {\n var ieRange = _getIERange( this );\n if ( !ieRange ) {\n if ( this._bakIERange ) {\n return this._bakIERange;\n }\n }\n return ieRange;\n },\n\n /**\n * 缓存当前选区的range和选区的开始节点\n * @method cache\n */\n cache:function () {\n this.clear();\n this._cachedRange = this.getRange();\n this._cachedStartElement = this.getStart();\n this._cachedStartElementPath = this.getStartElementPath();\n },\n\n /**\n * 获取选区开始位置的父节点到body\n * @method getStartElementPath\n * @return { Array } 返回父节点集合\n * @example\n * ```javascript\n * editor.selection.getStartElementPath();\n * ```\n */\n getStartElementPath:function () {\n if ( this._cachedStartElementPath ) {\n return this._cachedStartElementPath;\n }\n var start = this.getStart();\n if ( start ) {\n return domUtils.findParents( start, true, null, true )\n }\n return [];\n },\n\n /**\n * 清空缓存\n * @method clear\n */\n clear:function () {\n this._cachedStartElementPath = this._cachedRange = this._cachedStartElement = null;\n },\n\n /**\n * 编辑器是否得到了选区\n * @method isFocus\n */\n isFocus:function () {\n try {\n if(browser.ie9below){\n\n var nativeRange = _getIERange(this);\n return !!(nativeRange && this.rangeInBody(nativeRange));\n }else{\n return !!this.getNative().rangeCount;\n }\n } catch ( e ) {\n return false;\n }\n\n },\n\n /**\n * 获取选区对应的Range\n * @method getRange\n * @return { Object } 得到Range对象\n * @example\n * ```javascript\n * editor.selection.getRange();\n * ```\n */\n getRange:function () {\n var me = this;\n function optimze( range ) {\n var child = me.document.body.firstChild,\n collapsed = range.collapsed;\n while ( child && child.firstChild ) {\n range.setStart( child, 0 );\n child = child.firstChild;\n }\n if ( !range.startContainer ) {\n range.setStart( me.document.body, 0 )\n }\n if ( collapsed ) {\n range.collapse( true );\n }\n }\n\n if ( me._cachedRange != null ) {\n return this._cachedRange;\n }\n var range = new baidu.editor.dom.Range( me.document );\n\n if ( browser.ie9below ) {\n var nativeRange = me.getIERange();\n if ( nativeRange ) {\n //备份的_bakIERange可能已经实效了,dom树发生了变化比如从源码模式切回来,所以try一下,实效就放到body开始位置\n try{\n transformIERangeToRange( nativeRange, range );\n }catch(e){\n optimze( range );\n }\n\n } else {\n optimze( range );\n }\n } else {\n var sel = me.getNative();\n if ( sel && sel.rangeCount ) {\n var firstRange = sel.getRangeAt( 0 );\n var lastRange = sel.getRangeAt( sel.rangeCount - 1 );\n range.setStart( firstRange.startContainer, firstRange.startOffset ).setEnd( lastRange.endContainer, lastRange.endOffset );\n if ( range.collapsed && domUtils.isBody( range.startContainer ) && !range.startOffset ) {\n optimze( range );\n }\n } else {\n //trace:1734 有可能已经不在dom树上了,标识的节点\n if ( this._bakRange && domUtils.inDoc( this._bakRange.startContainer, this.document ) ){\n return this._bakRange;\n }\n optimze( range );\n }\n }\n return this._bakRange = range;\n },\n\n /**\n * 获取开始元素,用于状态反射\n * @method getStart\n * @return { Element } 获得开始元素\n * @example\n * ```javascript\n * editor.selection.getStart();\n * ```\n */\n getStart:function () {\n if ( this._cachedStartElement ) {\n return this._cachedStartElement;\n }\n var range = browser.ie9below ? this.getIERange() : this.getRange(),\n tmpRange,\n start, tmp, parent;\n if ( browser.ie9below ) {\n if ( !range ) {\n //todo 给第一个值可能会有问题\n return this.document.body.firstChild;\n }\n //control元素\n if ( range.item ){\n return range.item( 0 );\n }\n tmpRange = range.duplicate();\n //修正ie下x[xx] 闭合后 x|xx\n tmpRange.text.length > 0 && tmpRange.moveStart( 'character', 1 );\n tmpRange.collapse( 1 );\n start = tmpRange.parentElement();\n parent = tmp = range.parentElement();\n while ( tmp = tmp.parentNode ) {\n if ( tmp == start ) {\n start = parent;\n break;\n }\n }\n } else {\n range.shrinkBoundary();\n start = range.startContainer;\n if ( start.nodeType == 1 && start.hasChildNodes() ){\n start = start.childNodes[Math.min( start.childNodes.length - 1, range.startOffset )];\n }\n if ( start.nodeType == 3 ){\n return start.parentNode;\n }\n }\n return start;\n },\n\n /**\n * 得到选区中的文本\n * @method getText\n * @return { String } 选区中包含的文本\n * @example\n * ```javascript\n * editor.selection.getText();\n * ```\n */\n getText:function () {\n var nativeSel, nativeRange;\n if ( this.isFocus() && (nativeSel = this.getNative()) ) {\n nativeRange = browser.ie9below ? nativeSel.createRange() : nativeSel.getRangeAt( 0 );\n return browser.ie9below ? nativeRange.text : nativeRange.toString();\n }\n return '';\n },\n\n /**\n * 清除选区\n * @method clearRange\n * @example\n * ```javascript\n * editor.selection.clearRange();\n * ```\n */\n clearRange : function(){\n this.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges']();\n }\n };\n})();\n\n// core/Editor.js\n/**\n * 编辑器主类,包含编辑器提供的大部分公用接口\n * @file\n * @module UE\n * @class Editor\n * @since 1.2.6.1\n */\n\n/**\n * UEditor公用空间,UEditor所有的功能都挂载在该空间下\n * @unfile\n * @module UE\n */\n\n/**\n * UEditor的核心类,为用户提供与编辑器交互的接口。\n * @unfile\n * @module UE\n * @class Editor\n */\n\n(function () {\n var uid = 0, _selectionChangeTimer;\n\n /**\n * 获取编辑器的html内容,赋值到编辑器所在表单的textarea文本域里面\n * @private\n * @method setValue\n * @param { UE.Editor } editor 编辑器事例\n */\n function setValue(form, editor) {\n var textarea;\n if (editor.textarea) {\n if (utils.isString(editor.textarea)) {\n for (var i = 0, ti, tis = domUtils.getElementsByTagName(form, 'textarea'); ti = tis[i++];) {\n if (ti.id == 'ueditor_textarea_' + editor.options.textarea) {\n textarea = ti;\n break;\n }\n }\n } else {\n textarea = editor.textarea;\n }\n }\n if (!textarea) {\n form.appendChild(textarea = domUtils.createElement(document, 'textarea', {\n 'name': editor.options.textarea,\n 'id': 'ueditor_textarea_' + editor.options.textarea,\n 'style': \"display:none\"\n }));\n //不要产生多个textarea\n editor.textarea = textarea;\n }\n !textarea.getAttribute('name') && textarea.setAttribute('name', editor.options.textarea );\n textarea.value = editor.hasContents() ?\n (editor.options.allHtmlEnabled ? editor.getAllHtml() : editor.getContent(null, null, true)) :\n ''\n }\n function loadPlugins(me){\n //初始化插件\n for (var pi in UE.plugins) {\n UE.plugins[pi].call(me);\n }\n\n }\n function checkCurLang(I18N){\n for(var lang in I18N){\n return lang\n }\n }\n\n function langReadied(me){\n me.langIsReady = true;\n\n me.fireEvent(\"langReady\");\n }\n\n /**\n * 编辑器准备就绪后会触发该事件\n * @module UE\n * @class Editor\n * @event ready\n * @remind render方法执行完成之后,会触发该事件\n * @remind\n * @example\n * ```javascript\n * editor.addListener( 'ready', function( editor ) {\n * editor.execCommand( 'focus' ); //编辑器家在完成后,让编辑器拿到焦点\n * } );\n * ```\n */\n /**\n * 执行destroy方法,会触发该事件\n * @module UE\n * @class Editor\n * @event destroy\n * @see UE.Editor:destroy()\n */\n /**\n * 执行reset方法,会触发该事件\n * @module UE\n * @class Editor\n * @event reset\n * @see UE.Editor:reset()\n */\n /**\n * 执行focus方法,会触发该事件\n * @module UE\n * @class Editor\n * @event focus\n * @see UE.Editor:focus(Boolean)\n */\n /**\n * 语言加载完成会触发该事件\n * @module UE\n * @class Editor\n * @event langReady\n */\n /**\n * 运行命令之后会触发该命令\n * @module UE\n * @class Editor\n * @event beforeExecCommand\n */\n /**\n * 运行命令之后会触发该命令\n * @module UE\n * @class Editor\n * @event afterExecCommand\n */\n /**\n * 运行命令之前会触发该命令\n * @module UE\n * @class Editor\n * @event firstBeforeExecCommand\n */\n /**\n * 在getContent方法执行之前会触发该事件\n * @module UE\n * @class Editor\n * @event beforeGetContent\n * @see UE.Editor:getContent()\n */\n /**\n * 在getContent方法执行之后会触发该事件\n * @module UE\n * @class Editor\n * @event afterGetContent\n * @see UE.Editor:getContent()\n */\n /**\n * 在getAllHtml方法执行时会触发该事件\n * @module UE\n * @class Editor\n * @event getAllHtml\n * @see UE.Editor:getAllHtml()\n */\n /**\n * 在setContent方法执行之前会触发该事件\n * @module UE\n * @class Editor\n * @event beforeSetContent\n * @see UE.Editor:setContent(String)\n */\n /**\n * 在setContent方法执行之后会触发该事件\n * @module UE\n * @class Editor\n * @event afterSetContent\n * @see UE.Editor:setContent(String)\n */\n /**\n * 每当编辑器内部选区发生改变时,将触发该事件\n * @event selectionchange\n * @warning 该事件的触发非常频繁,不建议在该事件的处理过程中做重量级的处理\n * @example\n * ```javascript\n * editor.addListener( 'selectionchange', function( editor ) {\n * console.log('选区发生改变');\n * }\n */\n /**\n * 在所有selectionchange的监听函数执行之前,会触发该事件\n * @module UE\n * @class Editor\n * @event beforeSelectionChange\n * @see UE.Editor:selectionchange\n */\n /**\n * 在所有selectionchange的监听函数执行完之后,会触发该事件\n * @module UE\n * @class Editor\n * @event afterSelectionChange\n * @see UE.Editor:selectionchange\n */\n /**\n * 编辑器内容发生改变时会触发该事件\n * @module UE\n * @class Editor\n * @event contentChange\n */\n\n\n /**\n * 以默认参数构建一个编辑器实例\n * @constructor\n * @remind 通过 改构造方法实例化的编辑器,不带ui层.需要render到一个容器,编辑器实例才能正常渲染到页面\n * @example\n * ```javascript\n * var editor = new UE.Editor();\n * editor.execCommand('blod');\n * ```\n * @see UE.Config\n */\n\n /**\n * 以给定的参数集合创建一个编辑器实例,对于未指定的参数,将应用默认参数。\n * @constructor\n * @remind 通过 改构造方法实例化的编辑器,不带ui层.需要render到一个容器,编辑器实例才能正常渲染到页面\n * @param { Object } setting 创建编辑器的参数\n * @example\n * ```javascript\n * var editor = new UE.Editor();\n * editor.execCommand('blod');\n * ```\n * @see UE.Config\n */\n var Editor = UE.Editor = function (options) {\n var me = this;\n me.uid = uid++;\n EventBase.call(me);\n me.commands = {};\n me.options = utils.extend(utils.clone(options || {}), UEDITOR_CONFIG, true);\n me.shortcutkeys = {};\n me.inputRules = [];\n me.outputRules = [];\n //设置默认的常用属性\n me.setOpt(Editor.defaultOptions(me));\n\n /* 尝试异步加载后台配置 */\n me.loadServerConfig();\n\n if(!utils.isEmptyObject(UE.I18N)){\n //修改默认的语言类型\n me.options.lang = checkCurLang(UE.I18N);\n UE.plugin.load(me);\n langReadied(me);\n\n }else{\n utils.loadFile(document, {\n src: me.options.langPath + me.options.lang + \"/\" + me.options.lang + \".js\",\n tag: \"script\",\n type: \"text/javascript\",\n defer: \"defer\"\n }, function () {\n UE.plugin.load(me);\n langReadied(me);\n });\n }\n\n UE.instants['ueditorInstant' + me.uid] = me;\n };\n Editor.prototype = {\n registerCommand : function(name,obj){\n this.commands[name] = obj;\n },\n /**\n * 编辑器对外提供的监听ready事件的接口, 通过调用该方法,达到的效果与监听ready事件是一致的\n * @method ready\n * @param { Function } fn 编辑器ready之后所执行的回调, 如果在注册事件之前编辑器已经ready,将会\n * 立即触发该回调。\n * @remind 需要等待编辑器加载完成后才能执行的代码,可以使用该方法传入\n * @example\n * ```javascript\n * editor.ready( function( editor ) {\n * editor.setContent('初始化完毕');\n * } );\n * ```\n * @see UE.Editor.event:ready\n */\n ready: function (fn) {\n var me = this;\n if (fn) {\n me.isReady ? fn.apply(me) : me.addListener('ready', fn);\n }\n },\n\n /**\n * 该方法是提供给插件里面使用,设置配置项默认值\n * @method setOpt\n * @warning 三处设置配置项的优先级: 实例化时传入参数 > setOpt()设置 > config文件里设置\n * @warning 该方法仅供编辑器插件内部和编辑器初始化时调用,其他地方不能调用。\n * @param { String } key 编辑器的可接受的选项名称\n * @param { * } val 该选项可接受的值\n * @example\n * ```javascript\n * editor.setOpt( 'initContent', '欢迎使用编辑器' );\n * ```\n */\n\n /**\n * 该方法是提供给插件里面使用,以{key:value}集合的方式设置插件内用到的配置项默认值\n * @method setOpt\n * @warning 三处设置配置项的优先级: 实例化时传入参数 > setOpt()设置 > config文件里设置\n * @warning 该方法仅供编辑器插件内部和编辑器初始化时调用,其他地方不能调用。\n * @param { Object } options 将要设置的选项的键值对对象\n * @example\n * ```javascript\n * editor.setOpt( {\n * 'initContent': '欢迎使用编辑器'\n * } );\n * ```\n */\n setOpt: function (key, val) {\n var obj = {};\n if (utils.isString(key)) {\n obj[key] = val\n } else {\n obj = key;\n }\n utils.extend(this.options, obj, true);\n },\n getOpt:function(key){\n return this.options[key]\n },\n /**\n * 销毁编辑器实例,使用textarea代替\n * @method destroy\n * @example\n * ```javascript\n * editor.destroy();\n * ```\n */\n destroy: function () {\n\n var me = this;\n me.fireEvent('destroy');\n var container = me.container.parentNode;\n var textarea = me.textarea;\n if (!textarea) {\n textarea = document.createElement('textarea');\n container.parentNode.insertBefore(textarea, container);\n } else {\n textarea.style.display = ''\n }\n\n textarea.style.width = me.iframe.offsetWidth + 'px';\n textarea.style.height = me.iframe.offsetHeight + 'px';\n textarea.value = me.getContent();\n textarea.id = me.key;\n container.innerHTML = '';\n domUtils.remove(container);\n var key = me.key;\n //trace:2004\n for (var p in me) {\n if (me.hasOwnProperty(p)) {\n delete this[p];\n }\n }\n UE.delEditor(key);\n },\n\n /**\n * 渲染编辑器的DOM到指定容器\n * @method render\n * @param { String } containerId 指定一个容器ID\n * @remind 执行该方法,会触发ready事件\n * @warning 必须且只能调用一次\n */\n\n /**\n * 渲染编辑器的DOM到指定容器\n * @method render\n * @param { Element } containerDom 直接指定容器对象\n * @remind 执行该方法,会触发ready事件\n * @warning 必须且只能调用一次\n */\n render: function (container) {\n var me = this,\n options = me.options,\n getStyleValue=function(attr){\n return parseInt(domUtils.getComputedStyle(container,attr));\n };\n if (utils.isString(container)) {\n container = document.getElementById(container);\n }\n if (container) {\n if(options.initialFrameWidth){\n options.minFrameWidth = options.initialFrameWidth\n }else{\n options.minFrameWidth = options.initialFrameWidth = container.offsetWidth;\n }\n if(options.initialFrameHeight){\n options.minFrameHeight = options.initialFrameHeight\n }else{\n options.initialFrameHeight = options.minFrameHeight = container.offsetHeight;\n }\n\n container.style.width = /%$/.test(options.initialFrameWidth) ? '100%' : options.initialFrameWidth-\n getStyleValue(\"padding-left\")- getStyleValue(\"padding-right\") +'px';\n container.style.height = /%$/.test(options.initialFrameHeight) ? '100%' : options.initialFrameHeight -\n getStyleValue(\"padding-top\")- getStyleValue(\"padding-bottom\") +'px';\n\n container.style.zIndex = options.zIndex;\n\n var html = ( ie && browser.version < 9 ? '' : '') +\n '' +\n '' +\n ( options.iframeCssUrl ? '' : '' ) +\n (options.initialStyle ? '' : '') +\n '' +\n '';\n container.appendChild(domUtils.createElement(document, 'iframe', {\n id: 'ueditor_' + me.uid,\n width: \"100%\",\n height: \"100%\",\n frameborder: \"0\",\n //先注释掉了,加的原因忘记了,但开启会直接导致全屏模式下内容多时不会出现滚动条\n// scrolling :'no',\n src: 'javascript:void(function(){document.open();' + (options.customDomain && document.domain != location.hostname ? 'document.domain=\"' + document.domain + '\";' : '') +\n 'document.write(\"' + html + '\");document.close();}())'\n }));\n container.style.overflow = 'hidden';\n //解决如果是给定的百分比,会导致高度算不对的问题\n setTimeout(function(){\n if( /%$/.test(options.initialFrameWidth)){\n options.minFrameWidth = options.initialFrameWidth = container.offsetWidth;\n //如果这里给定宽度,会导致ie在拖动窗口大小时,编辑区域不随着变化\n// container.style.width = options.initialFrameWidth + 'px';\n }\n if(/%$/.test(options.initialFrameHeight)){\n options.minFrameHeight = options.initialFrameHeight = container.offsetHeight;\n container.style.height = options.initialFrameHeight + 'px';\n }\n })\n }\n },\n\n /**\n * 编辑器初始化\n * @method _setup\n * @private\n * @param { Element } doc 编辑器Iframe中的文档对象\n */\n _setup: function (doc) {\n\n var me = this,\n options = me.options;\n if (ie) {\n doc.body.disabled = true;\n doc.body.contentEditable = true;\n doc.body.disabled = false;\n } else {\n doc.body.contentEditable = true;\n }\n doc.body.spellcheck = false;\n me.document = doc;\n me.window = doc.defaultView || doc.parentWindow;\n me.iframe = me.window.frameElement;\n me.body = doc.body;\n me.selection = new dom.Selection(doc);\n //gecko初始化就能得到range,无法判断isFocus了\n var geckoSel;\n if (browser.gecko && (geckoSel = this.selection.getNative())) {\n geckoSel.removeAllRanges();\n }\n this._initEvents();\n //为form提交提供一个隐藏的textarea\n for (var form = this.iframe.parentNode; !domUtils.isBody(form); form = form.parentNode) {\n if (form.tagName == 'FORM') {\n me.form = form;\n if(me.options.autoSyncData){\n domUtils.on(me.window,'blur',function(){\n setValue(form,me);\n });\n }else{\n domUtils.on(form, 'submit', function () {\n setValue(this, me);\n });\n }\n break;\n }\n }\n if (options.initialContent) {\n if (options.autoClearinitialContent) {\n var oldExecCommand = me.execCommand;\n me.execCommand = function () {\n me.fireEvent('firstBeforeExecCommand');\n return oldExecCommand.apply(me, arguments);\n };\n this._setDefaultContent(options.initialContent);\n } else\n this.setContent(options.initialContent, false, true);\n }\n\n //编辑器不能为空内容\n\n if (domUtils.isEmptyNode(me.body)) {\n me.body.innerHTML = '

' + (browser.ie ? '' : '
') + '

';\n }\n //如果要求focus, 就把光标定位到内容开始\n if (options.focus) {\n setTimeout(function () {\n me.focus(me.options.focusInEnd);\n //如果自动清除开着,就不需要做selectionchange;\n !me.options.autoClearinitialContent && me._selectionChange();\n }, 0);\n }\n if (!me.container) {\n me.container = this.iframe.parentNode;\n }\n if (options.fullscreen && me.ui) {\n me.ui.setFullScreen(true);\n }\n\n try {\n me.document.execCommand('2D-position', false, false);\n } catch (e) {\n }\n try {\n me.document.execCommand('enableInlineTableEditing', false, false);\n } catch (e) {\n }\n try {\n me.document.execCommand('enableObjectResizing', false, false);\n } catch (e) {\n }\n\n //挂接快捷键\n me._bindshortcutKeys();\n me.isReady = 1;\n me.fireEvent('ready');\n options.onready && options.onready.call(me);\n if (!browser.ie9below) {\n domUtils.on(me.window, ['blur', 'focus'], function (e) {\n //chrome下会出现alt+tab切换时,导致选区位置不对\n if (e.type == 'blur') {\n me._bakRange = me.selection.getRange();\n try {\n me._bakNativeRange = me.selection.getNative().getRangeAt(0);\n me.selection.getNative().removeAllRanges();\n } catch (e) {\n me._bakNativeRange = null;\n }\n\n } else {\n try {\n me._bakRange && me._bakRange.select();\n } catch (e) {\n }\n }\n });\n }\n //trace:1518 ff3.6body不够寛,会导致点击空白处无法获得焦点\n if (browser.gecko && browser.version <= 10902) {\n //修复ff3.6初始化进来,不能点击获得焦点\n me.body.contentEditable = false;\n setTimeout(function () {\n me.body.contentEditable = true;\n }, 100);\n setInterval(function () {\n me.body.style.height = me.iframe.offsetHeight - 20 + 'px'\n }, 100)\n }\n\n !options.isShow && me.setHide();\n options.readonly && me.setDisabled();\n },\n\n /**\n * 同步数据到编辑器所在的form\n * 从编辑器的容器节点向上查找form元素,若找到,就同步编辑内容到找到的form里,为提交数据做准备,主要用于是手动提交的情况\n * 后台取得数据的键值,使用你容器上的name属性,如果没有就使用参数里的textarea项\n * @method sync\n * @example\n * ```javascript\n * editor.sync();\n * form.sumbit(); //form变量已经指向了form元素\n * ```\n */\n\n /**\n * 根据传入的formId,在页面上查找要同步数据的表单,若找到,就同步编辑内容到找到的form里,为提交数据做准备\n * 后台取得数据的键值,该键值默认使用给定的编辑器容器的name属性,如果没有name属性则使用参数项里给定的“textarea”项\n * @method sync\n * @param { String } formID 指定一个要同步数据的form的id,编辑器的数据会同步到你指定form下\n */\n sync: function (formId) {\n var me = this,\n form = formId ? document.getElementById(formId) :\n domUtils.findParent(me.iframe.parentNode, function (node) {\n return node.tagName == 'FORM'\n }, true);\n form && setValue(form, me);\n },\n\n /**\n * 设置编辑器高度\n * @method setHeight\n * @remind 当配置项autoHeightEnabled为真时,该方法无效\n * @param { Number } number 设置的高度值,纯数值,不带单位\n * @example\n * ```javascript\n * editor.setHeight(number);\n * ```\n */\n setHeight: function (height,notSetHeight) {\n if (height !== parseInt(this.iframe.parentNode.style.height)) {\n this.iframe.parentNode.style.height = height + 'px';\n }\n !notSetHeight && (this.options.minFrameHeight = this.options.initialFrameHeight = height);\n this.body.style.height = height + 'px';\n !notSetHeight && this.trigger('setHeight')\n },\n\n /**\n * 为编辑器的编辑命令提供快捷键\n * 这个接口是为插件扩展提供的接口,主要是为新添加的插件,如果需要添加快捷键,所提供的接口\n * @method addshortcutkey\n * @param { Object } keyset 命令名和快捷键键值对对象,多个按钮的快捷键用“+”分隔\n * @example\n * ```javascript\n * editor.addshortcutkey({\n * \"Bold\" : \"ctrl+66\",//^B\n * \"Italic\" : \"ctrl+73\", //^I\n * });\n * ```\n */\n /**\n * 这个接口是为插件扩展提供的接口,主要是为新添加的插件,如果需要添加快捷键,所提供的接口\n * @method addshortcutkey\n * @param { String } cmd 触发快捷键时,响应的命令\n * @param { String } keys 快捷键的字符串,多个按钮用“+”分隔\n * @example\n * ```javascript\n * editor.addshortcutkey(\"Underline\", \"ctrl+85\"); //^U\n * ```\n */\n addshortcutkey: function (cmd, keys) {\n var obj = {};\n if (keys) {\n obj[cmd] = keys\n } else {\n obj = cmd;\n }\n utils.extend(this.shortcutkeys, obj)\n },\n\n /**\n * 对编辑器设置keydown事件监听,绑定快捷键和命令,当快捷键组合触发成功,会响应对应的命令\n * @method _bindshortcutKeys\n * @private\n */\n _bindshortcutKeys: function () {\n var me = this, shortcutkeys = this.shortcutkeys;\n me.addListener('keydown', function (type, e) {\n var keyCode = e.keyCode || e.which;\n for (var i in shortcutkeys) {\n var tmp = shortcutkeys[i].split(',');\n for (var t = 0, ti; ti = tmp[t++];) {\n ti = ti.split(':');\n var key = ti[0], param = ti[1];\n if (/^(ctrl)(\\+shift)?\\+(\\d+)$/.test(key.toLowerCase()) || /^(\\d+)$/.test(key)) {\n if (( (RegExp.$1 == 'ctrl' ? (e.ctrlKey || e.metaKey) : 0)\n && (RegExp.$2 != \"\" ? e[RegExp.$2.slice(1) + \"Key\"] : 1)\n && keyCode == RegExp.$3\n ) ||\n keyCode == RegExp.$1\n ) {\n if (me.queryCommandState(i,param) != -1)\n me.execCommand(i, param);\n domUtils.preventDefault(e);\n }\n }\n }\n\n }\n });\n },\n\n /**\n * 获取编辑器的内容\n * @method getContent\n * @warning 该方法获取到的是经过编辑器内置的过滤规则进行过滤后得到的内容\n * @return { String } 编辑器的内容字符串, 如果编辑器的内容为空,或者是空的标签内容(如:”<p><br/></p>“), 则返回空字符串\n * @example\n * ```javascript\n * //编辑器html内容:

123456

\n * var content = editor.getContent(); //返回值:

123456

\n * ```\n */\n\n /**\n * 获取编辑器的内容。 可以通过参数定义编辑器内置的判空规则\n * @method getContent\n * @param { Function } fn 自定的判空规则, 要求该方法返回一个boolean类型的值,\n * 代表当前编辑器的内容是否空,\n * 如果返回true, 则该方法将直接返回空字符串;如果返回false,则编辑器将返回\n * 经过内置过滤规则处理后的内容。\n * @remind 该方法在处理包含有初始化内容的时候能起到很好的作用。\n * @warning 该方法获取到的是经过编辑器内置的过滤规则进行过滤后得到的内容\n * @return { String } 编辑器的内容字符串\n * @example\n * ```javascript\n * // editor 是一个编辑器的实例\n * var content = editor.getContent( function ( editor ) {\n * return editor.body.innerHTML === '欢迎使用UEditor'; //返回空字符串\n * } );\n * ```\n */\n getContent: function (cmd, fn,notSetCursor,ignoreBlank,formatter) {\n var me = this;\n if (cmd && utils.isFunction(cmd)) {\n fn = cmd;\n cmd = '';\n }\n if (fn ? !fn() : !this.hasContents()) {\n return '';\n }\n me.fireEvent('beforegetcontent');\n var root = UE.htmlparser(me.body.innerHTML,ignoreBlank);\n me.filterOutputRule(root);\n me.fireEvent('aftergetcontent', cmd,root);\n return root.toHtml(formatter);\n },\n\n /**\n * 取得完整的html代码,可以直接显示成完整的html文档\n * @method getAllHtml\n * @return { String } 编辑器的内容html文档字符串\n * @eaxmple\n * ```javascript\n * editor.getAllHtml(); //返回格式大致是: ......\n * ```\n */\n getAllHtml: function () {\n var me = this,\n headHtml = [],\n html = '';\n me.fireEvent('getAllHtml', headHtml);\n if (browser.ie && browser.version > 8) {\n var headHtmlForIE9 = '';\n utils.each(me.document.styleSheets, function (si) {\n headHtmlForIE9 += ( si.href ? '' : '');\n });\n utils.each(me.document.getElementsByTagName('script'), function (si) {\n headHtmlForIE9 += si.outerHTML;\n });\n\n }\n return '' + (me.options.charset ? '' : '')\n + (headHtmlForIE9 || me.document.getElementsByTagName('head')[0].innerHTML) + headHtml.join('\\n') + ''\n + '' + me.getContent(null, null, true) + '';\n },\n\n /**\n * 得到编辑器的纯文本内容,但会保留段落格式\n * @method getPlainTxt\n * @return { String } 编辑器带段落格式的纯文本内容字符串\n * @example\n * ```javascript\n * //编辑器html内容:

1

2

\n * console.log(editor.getPlainTxt()); //输出:\"1\\n2\\n\n * ```\n */\n getPlainTxt: function () {\n var reg = new RegExp(domUtils.fillChar, 'g'),\n html = this.body.innerHTML.replace(/[\\n\\r]/g, '');//ie要先去了\\n在处理\n html = html.replace(/<(p|div)[^>]*>(| )<\\/\\1>/gi, '\\n')\n .replace(//gi, '\\n')\n .replace(/<[^>/]+>/g, '')\n .replace(/(\\n)?<\\/([^>]+)>/g, function (a, b, c) {\n return dtd.$block[c] ? '\\n' : b ? b : '';\n });\n //取出来的空格会有c2a0会变成乱码,处理这种情况\\u00a0\n return html.replace(reg, '').replace(/\\u00a0/g, ' ').replace(/ /g, ' ');\n },\n\n /**\n * 获取编辑器中的纯文本内容,没有段落格式\n * @method getContentTxt\n * @return { String } 编辑器不带段落格式的纯文本内容字符串\n * @example\n * ```javascript\n * //编辑器html内容:

1

2

\n * console.log(editor.getPlainTxt()); //输出:\"12\n * ```\n */\n getContentTxt: function () {\n var reg = new RegExp(domUtils.fillChar, 'g');\n //取出来的空格会有c2a0会变成乱码,处理这种情况\\u00a0\n return this.body[browser.ie ? 'innerText' : 'textContent'].replace(reg, '').replace(/\\u00a0/g, ' ');\n },\n\n /**\n * 设置编辑器的内容,可修改编辑器当前的html内容\n * @method setContent\n * @warning 通过该方法插入的内容,是经过编辑器内置的过滤规则进行过滤后得到的内容\n * @warning 该方法会触发selectionchange事件\n * @param { String } html 要插入的html内容\n * @example\n * ```javascript\n * editor.getContent('

test

');\n * ```\n */\n\n /**\n * 设置编辑器的内容,可修改编辑器当前的html内容\n * @method setContent\n * @warning 通过该方法插入的内容,是经过编辑器内置的过滤规则进行过滤后得到的内容\n * @warning 该方法会触发selectionchange事件\n * @param { String } html 要插入的html内容\n * @param { Boolean } isAppendTo 若传入true,不清空原来的内容,在最后插入内容,否则,清空内容再插入\n * @example\n * ```javascript\n * //假设设置前的编辑器内容是

old text

\n * editor.setContent('

new text

', true); //插入的结果是

old text

new text

\n * ```\n */\n setContent: function (html, isAppendTo, notFireSelectionchange) {\n var me = this;\n\n me.fireEvent('beforesetcontent', html);\n var root = UE.htmlparser(html);\n me.filterInputRule(root);\n html = root.toHtml();\n\n me.body.innerHTML = (isAppendTo ? me.body.innerHTML : '') + html;\n\n\n function isCdataDiv(node){\n return node.tagName == 'DIV' && node.getAttribute('cdata_tag');\n }\n //给文本或者inline节点套p标签\n if (me.options.enterTag == 'p') {\n\n var child = this.body.firstChild, tmpNode;\n if (!child || child.nodeType == 1 &&\n (dtd.$cdata[child.tagName] || isCdataDiv(child) ||\n domUtils.isCustomeNode(child)\n )\n && child === this.body.lastChild) {\n this.body.innerHTML = '

' + (browser.ie ? ' ' : '
') + '

' + this.body.innerHTML;\n\n } else {\n var p = me.document.createElement('p');\n while (child) {\n while (child && (child.nodeType == 3 || child.nodeType == 1 && dtd.p[child.tagName] && !dtd.$cdata[child.tagName])) {\n tmpNode = child.nextSibling;\n p.appendChild(child);\n child = tmpNode;\n }\n if (p.firstChild) {\n if (!child) {\n me.body.appendChild(p);\n break;\n } else {\n child.parentNode.insertBefore(p, child);\n p = me.document.createElement('p');\n }\n }\n child = child.nextSibling;\n }\n }\n }\n me.fireEvent('aftersetcontent');\n me.fireEvent('contentchange');\n\n !notFireSelectionchange && me._selectionChange();\n //清除保存的选区\n me._bakRange = me._bakIERange = me._bakNativeRange = null;\n //trace:1742 setContent后gecko能得到焦点问题\n var geckoSel;\n if (browser.gecko && (geckoSel = this.selection.getNative())) {\n geckoSel.removeAllRanges();\n }\n if(me.options.autoSyncData){\n me.form && setValue(me.form,me);\n }\n },\n\n /**\n * 让编辑器获得焦点,默认focus到编辑器头部\n * @method focus\n * @example\n * ```javascript\n * editor.focus()\n * ```\n */\n\n /**\n * 让编辑器获得焦点,toEnd确定focus位置\n * @method focus\n * @param { Boolean } toEnd 默认focus到编辑器头部,toEnd为true时focus到内容尾部\n * @example\n * ```javascript\n * editor.focus(true)\n * ```\n */\n focus: function (toEnd) {\n try {\n var me = this,\n rng = me.selection.getRange();\n if (toEnd) {\n var node = me.body.lastChild;\n if(node && node.nodeType == 1 && !dtd.$empty[node.tagName]){\n if(domUtils.isEmptyBlock(node)){\n rng.setStartAtFirst(node)\n }else{\n rng.setStartAtLast(node)\n }\n rng.collapse(true);\n }\n rng.setCursor(true);\n } else {\n if(!rng.collapsed && domUtils.isBody(rng.startContainer) && rng.startOffset == 0){\n\n var node = me.body.firstChild;\n if(node && node.nodeType == 1 && !dtd.$empty[node.tagName]){\n rng.setStartAtFirst(node).collapse(true);\n }\n }\n\n rng.select(true);\n\n }\n this.fireEvent('focus selectionchange');\n } catch (e) {\n }\n\n },\n isFocus:function(){\n return this.selection.isFocus();\n },\n blur:function(){\n var sel = this.selection.getNative();\n if(sel.empty && browser.ie){\n var nativeRng = document.body.createTextRange();\n nativeRng.moveToElementText(document.body);\n nativeRng.collapse(true);\n nativeRng.select();\n sel.empty()\n }else{\n sel.removeAllRanges()\n }\n\n //this.fireEvent('blur selectionchange');\n },\n /**\n * 初始化UE事件及部分事件代理\n * @method _initEvents\n * @private\n */\n _initEvents: function () {\n var me = this,\n doc = me.document,\n win = me.window;\n me._proxyDomEvent = utils.bind(me._proxyDomEvent, me);\n domUtils.on(doc, ['click', 'contextmenu', 'mousedown', 'keydown', 'keyup', 'keypress', 'mouseup', 'mouseover', 'mouseout', 'selectstart'], me._proxyDomEvent);\n domUtils.on(win, ['focus', 'blur'], me._proxyDomEvent);\n domUtils.on(me.body,'drop',function(e){\n //阻止ff下默认的弹出新页面打开图片\n if(browser.gecko && e.stopPropagation) { e.stopPropagation(); }\n me.fireEvent('contentchange')\n });\n domUtils.on(doc, ['mouseup', 'keydown'], function (evt) {\n //特殊键不触发selectionchange\n if (evt.type == 'keydown' && (evt.ctrlKey || evt.metaKey || evt.shiftKey || evt.altKey)) {\n return;\n }\n if (evt.button == 2)return;\n me._selectionChange(250, evt);\n });\n },\n /**\n * 触发事件代理\n * @method _proxyDomEvent\n * @private\n * @return { * } fireEvent的返回值\n * @see UE.EventBase:fireEvent(String)\n */\n _proxyDomEvent: function (evt) {\n if(this.fireEvent('before' + evt.type.replace(/^on/, '').toLowerCase()) === false){\n return false;\n }\n if(this.fireEvent(evt.type.replace(/^on/, ''), evt) === false){\n return false;\n }\n return this.fireEvent('after' + evt.type.replace(/^on/, '').toLowerCase())\n },\n /**\n * 变化选区\n * @method _selectionChange\n * @private\n */\n _selectionChange: function (delay, evt) {\n var me = this;\n //有光标才做selectionchange 为了解决未focus时点击source不能触发更改工具栏状态的问题(source命令notNeedUndo=1)\n// if ( !me.selection.isFocus() ){\n// return;\n// }\n\n\n var hackForMouseUp = false;\n var mouseX, mouseY;\n if (browser.ie && browser.version < 9 && evt && evt.type == 'mouseup') {\n var range = this.selection.getRange();\n if (!range.collapsed) {\n hackForMouseUp = true;\n mouseX = evt.clientX;\n mouseY = evt.clientY;\n }\n }\n clearTimeout(_selectionChangeTimer);\n _selectionChangeTimer = setTimeout(function () {\n if (!me.selection || !me.selection.getNative()) {\n return;\n }\n //修复一个IE下的bug: 鼠标点击一段已选择的文本中间时,可能在mouseup后的一段时间内取到的range是在selection的type为None下的错误值.\n //IE下如果用户是拖拽一段已选择文本,则不会触发mouseup事件,所以这里的特殊处理不会对其有影响\n var ieRange;\n if (hackForMouseUp && me.selection.getNative().type == 'None') {\n ieRange = me.document.body.createTextRange();\n try {\n ieRange.moveToPoint(mouseX, mouseY);\n } catch (ex) {\n ieRange = null;\n }\n }\n var bakGetIERange;\n if (ieRange) {\n bakGetIERange = me.selection.getIERange;\n me.selection.getIERange = function () {\n return ieRange;\n };\n }\n me.selection.cache();\n if (bakGetIERange) {\n me.selection.getIERange = bakGetIERange;\n }\n if (me.selection._cachedRange && me.selection._cachedStartElement) {\n me.fireEvent('beforeselectionchange');\n // 第二个参数causeByUi为true代表由用户交互造成的selectionchange.\n me.fireEvent('selectionchange', !!evt);\n me.fireEvent('afterselectionchange');\n me.selection.clear();\n }\n }, delay || 50);\n },\n\n /**\n * 执行编辑命令\n * @method _callCmdFn\n * @private\n * @param { String } fnName 函数名称\n * @param { * } args 传给命令函数的参数\n * @return { * } 返回命令函数运行的返回值\n */\n _callCmdFn: function (fnName, args) {\n var cmdName = args[0].toLowerCase(),\n cmd, cmdFn;\n cmd = this.commands[cmdName] || UE.commands[cmdName];\n cmdFn = cmd && cmd[fnName];\n //没有querycommandstate或者没有command的都默认返回0\n if ((!cmd || !cmdFn) && fnName == 'queryCommandState') {\n return 0;\n } else if (cmdFn) {\n return cmdFn.apply(this, args);\n }\n },\n\n /**\n * 执行编辑命令cmdName,完成富文本编辑效果\n * @method execCommand\n * @param { String } cmdName 需要执行的命令\n * @remind 具体命令的使用请参考命令列表\n * @return { * } 返回命令函数运行的返回值\n * @example\n * ```javascript\n * editor.execCommand(cmdName);\n * ```\n */\n execCommand: function (cmdName) {\n cmdName = cmdName.toLowerCase();\n var me = this,\n result,\n cmd = me.commands[cmdName] || UE.commands[cmdName];\n if (!cmd || !cmd.execCommand) {\n return null;\n }\n if (!cmd.notNeedUndo && !me.__hasEnterExecCommand) {\n me.__hasEnterExecCommand = true;\n if (me.queryCommandState.apply(me,arguments) != -1) {\n me.fireEvent('saveScene');\n me.fireEvent.apply(me, ['beforeexeccommand', cmdName].concat(arguments));\n result = this._callCmdFn('execCommand', arguments);\n //保存场景时,做了内容对比,再看是否进行contentchange触发,这里多触发了一次,去掉\n// (!cmd.ignoreContentChange && !me._ignoreContentChange) && me.fireEvent('contentchange');\n me.fireEvent.apply(me, ['afterexeccommand', cmdName].concat(arguments));\n me.fireEvent('saveScene');\n }\n me.__hasEnterExecCommand = false;\n } else {\n result = this._callCmdFn('execCommand', arguments);\n (!me.__hasEnterExecCommand && !cmd.ignoreContentChange && !me._ignoreContentChange) && me.fireEvent('contentchange')\n }\n (!me.__hasEnterExecCommand && !cmd.ignoreContentChange && !me._ignoreContentChange) && me._selectionChange();\n return result;\n },\n\n /**\n * 根据传入的command命令,查选编辑器当前的选区,返回命令的状态\n * @method queryCommandState\n * @param { String } cmdName 需要查询的命令名称\n * @remind 具体命令的使用请参考命令列表\n * @return { Number } number 返回放前命令的状态,返回值三种情况:(-1|0|1)\n * @example\n * ```javascript\n * editor.queryCommandState(cmdName) => (-1|0|1)\n * ```\n * @see COMMAND.LIST\n */\n queryCommandState: function (cmdName) {\n return this._callCmdFn('queryCommandState', arguments);\n },\n\n /**\n * 根据传入的command命令,查选编辑器当前的选区,根据命令返回相关的值\n * @method queryCommandValue\n * @param { String } cmdName 需要查询的命令名称\n * @remind 具体命令的使用请参考命令列表\n * @remind 只有部分插件有此方法\n * @return { * } 返回每个命令特定的当前状态值\n * @grammar editor.queryCommandValue(cmdName) => {*}\n * @see COMMAND.LIST\n */\n queryCommandValue: function (cmdName) {\n return this._callCmdFn('queryCommandValue', arguments);\n },\n\n /**\n * 检查编辑区域中是否有内容\n * @method hasContents\n * @remind 默认有文本内容,或者有以下节点都不认为是空\n * table,ul,ol,dl,iframe,area,base,col,hr,img,embed,input,link,meta,param\n * @return { Boolean } 检查有内容返回true,否则返回false\n * @example\n * ```javascript\n * editor.hasContents()\n * ```\n */\n\n /**\n * 检查编辑区域中是否有内容,若包含参数tags中的节点类型,直接返回true\n * @method hasContents\n * @param { Array } tags 传入数组判断时用到的节点类型\n * @return { Boolean } 若文档中包含tags数组里对应的tag,返回true,否则返回false\n * @example\n * ```javascript\n * editor.hasContents(['span']);\n * ```\n */\n hasContents: function (tags) {\n if (tags) {\n for (var i = 0, ci; ci = tags[i++];) {\n if (this.document.getElementsByTagName(ci).length > 0) {\n return true;\n }\n }\n }\n if (!domUtils.isEmptyBlock(this.body)) {\n return true\n }\n //随时添加,定义的特殊标签如果存在,不能认为是空\n tags = ['div'];\n for (i = 0; ci = tags[i++];) {\n var nodes = domUtils.getElementsByTagName(this.document, ci);\n for (var n = 0, cn; cn = nodes[n++];) {\n if (domUtils.isCustomeNode(cn)) {\n return true;\n }\n }\n }\n return false;\n },\n\n /**\n * 重置编辑器,可用来做多个tab使用同一个编辑器实例\n * @method reset\n * @remind 此方法会清空编辑器内容,清空回退列表,会触发reset事件\n * @example\n * ```javascript\n * editor.reset()\n * ```\n */\n reset: function () {\n this.fireEvent('reset');\n },\n\n /**\n * 设置当前编辑区域可以编辑\n * @method setEnabled\n * @example\n * ```javascript\n * editor.setEnabled()\n * ```\n */\n setEnabled: function () {\n var me = this, range;\n if (me.body.contentEditable == 'false') {\n me.body.contentEditable = true;\n range = me.selection.getRange();\n //有可能内容丢失了\n try {\n range.moveToBookmark(me.lastBk);\n delete me.lastBk\n } catch (e) {\n range.setStartAtFirst(me.body).collapse(true)\n }\n range.select(true);\n if (me.bkqueryCommandState) {\n me.queryCommandState = me.bkqueryCommandState;\n delete me.bkqueryCommandState;\n }\n if (me.bkqueryCommandValue) {\n me.queryCommandValue = me.bkqueryCommandValue;\n delete me.bkqueryCommandValue;\n }\n me.fireEvent('selectionchange');\n }\n },\n enable: function () {\n return this.setEnabled();\n },\n\n /** 设置当前编辑区域不可编辑\n * @method setDisabled\n */\n\n /** 设置当前编辑区域不可编辑,except中的命令除外\n * @method setDisabled\n * @param { String } except 例外命令的字符串\n * @remind 即使设置了disable,此处配置的例外命令仍然可以执行\n * @example\n * ```javascript\n * editor.setDisabled('bold'); //禁用工具栏中除加粗之外的所有功能\n * ```\n */\n\n /** 设置当前编辑区域不可编辑,except中的命令除外\n * @method setDisabled\n * @param { Array } except 例外命令的字符串数组,数组中的命令仍然可以执行\n * @remind 即使设置了disable,此处配置的例外命令仍然可以执行\n * @example\n * ```javascript\n * editor.setDisabled(['bold','insertimage']); //禁用工具栏中除加粗和插入图片之外的所有功能\n * ```\n */\n setDisabled: function (except) {\n var me = this;\n except = except ? utils.isArray(except) ? except : [except] : [];\n if (me.body.contentEditable == 'true') {\n if (!me.lastBk) {\n me.lastBk = me.selection.getRange().createBookmark(true);\n }\n me.body.contentEditable = false;\n me.bkqueryCommandState = me.queryCommandState;\n me.bkqueryCommandValue = me.queryCommandValue;\n me.queryCommandState = function (type) {\n if (utils.indexOf(except, type) != -1) {\n return me.bkqueryCommandState.apply(me, arguments);\n }\n return -1;\n };\n me.queryCommandValue = function (type) {\n if (utils.indexOf(except, type) != -1) {\n return me.bkqueryCommandValue.apply(me, arguments);\n }\n return null;\n };\n me.fireEvent('selectionchange');\n }\n },\n disable: function (except) {\n return this.setDisabled(except);\n },\n\n /**\n * 设置默认内容\n * @method _setDefaultContent\n * @private\n * @param { String } cont 要存入的内容\n */\n _setDefaultContent: function () {\n function clear() {\n var me = this;\n if (me.document.getElementById('initContent')) {\n me.body.innerHTML = '

' + (ie ? '' : '
') + '

';\n me.removeListener('firstBeforeExecCommand focus', clear);\n setTimeout(function () {\n me.focus();\n me._selectionChange();\n }, 0)\n }\n }\n\n return function (cont) {\n var me = this;\n me.body.innerHTML = '

' + cont + '

';\n\n me.addListener('firstBeforeExecCommand focus', clear);\n }\n }(),\n\n /**\n * 显示编辑器\n * @method setShow\n * @example\n * ```javascript\n * editor.setShow()\n * ```\n */\n setShow: function () {\n var me = this, range = me.selection.getRange();\n if (me.container.style.display == 'none') {\n //有可能内容丢失了\n try {\n range.moveToBookmark(me.lastBk);\n delete me.lastBk\n } catch (e) {\n range.setStartAtFirst(me.body).collapse(true)\n }\n //ie下focus实效,所以做了个延迟\n setTimeout(function () {\n range.select(true);\n }, 100);\n me.container.style.display = '';\n }\n\n },\n show: function () {\n return this.setShow();\n },\n /**\n * 隐藏编辑器\n * @method setHide\n * @example\n * ```javascript\n * editor.setHide()\n * ```\n */\n setHide: function () {\n var me = this;\n if (!me.lastBk) {\n me.lastBk = me.selection.getRange().createBookmark(true);\n }\n me.container.style.display = 'none'\n },\n hide: function () {\n return this.setHide();\n },\n\n /**\n * 根据指定的路径,获取对应的语言资源\n * @method getLang\n * @param { String } path 路径根据的是lang目录下的语言文件的路径结构\n * @return { Object | String } 根据路径返回语言资源的Json格式对象或者语言字符串\n * @example\n * ```javascript\n * editor.getLang('contextMenu.delete'); //如果当前是中文,那返回是的是'删除'\n * ```\n */\n getLang: function (path) {\n var lang = UE.I18N[this.options.lang];\n if (!lang) {\n throw Error(\"not import language file\");\n }\n path = (path || \"\").split(\".\");\n for (var i = 0, ci; ci = path[i++];) {\n lang = lang[ci];\n if (!lang)break;\n }\n return lang;\n },\n\n /**\n * 计算编辑器html内容字符串的长度\n * @method getContentLength\n * @return { Number } 返回计算的长度\n * @example\n * ```javascript\n * //编辑器html内容

132

\n * editor.getContentLength() //返回27\n * ```\n */\n /**\n * 计算编辑器当前纯文本内容的长度\n * @method getContentLength\n * @param { Boolean } ingoneHtml 传入true时,只按照纯文本来计算\n * @return { Number } 返回计算的长度,内容中有hr/img/iframe标签,长度加1\n * @example\n * ```javascript\n * //编辑器html内容

132

\n * editor.getContentLength() //返回3\n * ```\n */\n getContentLength: function (ingoneHtml, tagNames) {\n var count = this.getContent(false,false,true).length;\n if (ingoneHtml) {\n tagNames = (tagNames || []).concat([ 'hr', 'img', 'iframe']);\n count = this.getContentTxt().replace(/[\\t\\r\\n]+/g, '').length;\n for (var i = 0, ci; ci = tagNames[i++];) {\n count += this.document.getElementsByTagName(ci).length;\n }\n }\n return count;\n },\n\n /**\n * 注册输入过滤规则\n * @method addInputRule\n * @param { Function } rule 要添加的过滤规则\n * @example\n * ```javascript\n * editor.addInputRule(function(root){\n * $.each(root.getNodesByTagName('div'),function(i,node){\n * node.tagName=\"p\";\n * });\n * });\n * ```\n */\n addInputRule: function (rule) {\n this.inputRules.push(rule);\n },\n\n /**\n * 执行注册的过滤规则\n * @method filterInputRule\n * @param { UE.uNode } root 要过滤的uNode节点\n * @remind 执行editor.setContent方法和执行'inserthtml'命令后,会运行该过滤函数\n * @example\n * ```javascript\n * editor.filterInputRule(editor.body);\n * ```\n * @see UE.Editor:addInputRule\n */\n filterInputRule: function (root) {\n for (var i = 0, ci; ci = this.inputRules[i++];) {\n ci.call(this, root)\n }\n },\n\n /**\n * 注册输出过滤规则\n * @method addOutputRule\n * @param { Function } rule 要添加的过滤规则\n * @example\n * ```javascript\n * editor.addOutputRule(function(root){\n * $.each(root.getNodesByTagName('p'),function(i,node){\n * node.tagName=\"div\";\n * });\n * });\n * ```\n */\n addOutputRule: function (rule) {\n this.outputRules.push(rule)\n },\n\n /**\n * 根据输出过滤规则,过滤编辑器内容\n * @method filterOutputRule\n * @remind 执行editor.getContent方法的时候,会先运行该过滤函数\n * @param { UE.uNode } root 要过滤的uNode节点\n * @example\n * ```javascript\n * editor.filterOutputRule(editor.body);\n * ```\n * @see UE.Editor:addOutputRule\n */\n filterOutputRule: function (root) {\n for (var i = 0, ci; ci = this.outputRules[i++];) {\n ci.call(this, root)\n }\n },\n\n /**\n * 根据action名称获取请求的路径\n * @method getActionUrl\n * @remind 假如没有设置serverUrl,会根据imageUrl设置默认的controller路径\n * @param { String } action action名称\n * @example\n * ```javascript\n * editor.getActionUrl('config'); //返回 \"/ueditor/php/controller.php?action=config\"\n * editor.getActionUrl('image'); //返回 \"/ueditor/php/controller.php?action=uplaodimage\"\n * editor.getActionUrl('scrawl'); //返回 \"/ueditor/php/controller.php?action=uplaodscrawl\"\n * editor.getActionUrl('imageManager'); //返回 \"/ueditor/php/controller.php?action=listimage\"\n * ```\n */\n getActionUrl: function(action){\n var actionName = this.getOpt(action) || action,\n imageUrl = this.getOpt('imageUrl'),\n serverUrl = this.getOpt('serverUrl');\n\n if(!serverUrl && imageUrl) {\n serverUrl = imageUrl.replace(/^(.*[\\/]).+([\\.].+)$/, '$1controller$2');\n }\n\n if(serverUrl) {\n serverUrl = serverUrl + (serverUrl.indexOf('?') == -1 ? '?':'&') + 'action=' + (actionName || '');\n return utils.formatUrl(serverUrl);\n } else {\n return '';\n }\n }\n };\n utils.inherits(Editor, EventBase);\n})();\n\n\n// core/Editor.defaultoptions.js\n//维护编辑器一下默认的不在插件中的配置项\nUE.Editor.defaultOptions = function(editor){\n\n var _url = editor.options.UEDITOR_HOME_URL;\n return {\n isShow: true,\n initialContent: '',\n initialStyle:'',\n autoClearinitialContent: false,\n iframeCssUrl: _url + 'themes/iframe.css',\n textarea: 'editorValue',\n focus: false,\n focusInEnd: true,\n autoClearEmptyNode: true,\n fullscreen: false,\n readonly: false,\n zIndex: 999,\n imagePopup: true,\n enterTag: 'p',\n customDomain: false,\n lang: 'zh-cn',\n langPath: _url + 'lang/',\n theme: 'default',\n themePath: _url + 'themes/',\n allHtmlEnabled: false,\n scaleEnabled: false,\n tableNativeEditInFF: false,\n autoSyncData : true,\n fileNameFormat: '{time}{rand:6}'\n }\n};\n\n// core/loadconfig.js\n(function(){\n\n UE.Editor.prototype.loadServerConfig = function(){\n var me = this;\n setTimeout(function(){\n try{\n me.options.imageUrl && me.setOpt('serverUrl', me.options.imageUrl.replace(/^(.*[\\/]).+([\\.].+)$/, '$1controller$2'));\n\n var configUrl = me.getActionUrl('config'),\n isJsonp = utils.isCrossDomainUrl(configUrl);\n\n /* 发出ajax请求 */\n me._serverConfigLoaded = false;\n\n configUrl && UE.ajax.request(configUrl,{\n 'method': 'GET',\n 'dataType': isJsonp ? 'jsonp':'',\n 'onsuccess':function(r){\n try {\n var config = isJsonp ? r:eval(\"(\"+r.responseText+\")\");\n utils.extend(me.options, config);\n me.fireEvent('serverConfigLoaded');\n me._serverConfigLoaded = true;\n } catch (e) {\n showErrorMsg(me.getLang('loadconfigFormatError'));\n }\n },\n 'onerror':function(){\n showErrorMsg(me.getLang('loadconfigHttpError'));\n }\n });\n } catch(e){\n showErrorMsg(me.getLang('loadconfigError'));\n }\n });\n\n function showErrorMsg(msg) {\n console && console.error(msg);\n //me.fireEvent('showMessage', {\n // 'title': msg,\n // 'type': 'error'\n //});\n }\n };\n\n UE.Editor.prototype.isServerConfigLoaded = function(){\n var me = this;\n return me._serverConfigLoaded || false;\n };\n\n UE.Editor.prototype.afterConfigReady = function(handler){\n if (!handler || !utils.isFunction(handler)) return;\n var me = this;\n var readyHandler = function(){\n handler.apply(me, arguments);\n me.removeListener('serverConfigLoaded', readyHandler);\n };\n\n if (me.isServerConfigLoaded()) {\n handler.call(me, 'serverConfigLoaded');\n } else {\n me.addListener('serverConfigLoaded', readyHandler);\n }\n };\n\n})();\n\n\n// core/ajax.js\n/**\n * @file\n * @module UE.ajax\n * @since 1.2.6.1\n */\n\n/**\n * 提供对ajax请求的支持\n * @module UE.ajax\n */\nUE.ajax = function() {\n\n //创建一个ajaxRequest对象\n var fnStr = 'XMLHttpRequest()';\n try {\n new ActiveXObject(\"Msxml2.XMLHTTP\");\n fnStr = 'ActiveXObject(\\'Msxml2.XMLHTTP\\')';\n } catch (e) {\n try {\n new ActiveXObject(\"Microsoft.XMLHTTP\");\n fnStr = 'ActiveXObject(\\'Microsoft.XMLHTTP\\')'\n } catch (e) {\n }\n }\n var creatAjaxRequest = new Function('return new ' + fnStr);\n\n\n /**\n * 将json参数转化成适合ajax提交的参数列表\n * @param json\n */\n function json2str(json) {\n var strArr = [];\n for (var i in json) {\n //忽略默认的几个参数\n if(i==\"method\" || i==\"timeout\" || i==\"async\" || i==\"dataType\" || i==\"callback\") continue;\n //忽略控制\n if(json[i] == undefined || json[i] == null) continue;\n //传递过来的对象和函数不在提交之列\n if (!((typeof json[i]).toLowerCase() == \"function\" || (typeof json[i]).toLowerCase() == \"object\")) {\n strArr.push( encodeURIComponent(i) + \"=\"+encodeURIComponent(json[i]) );\n } else if (utils.isArray(json[i])) {\n //支持传数组内容\n for(var j = 0; j < json[i].length; j++) {\n strArr.push( encodeURIComponent(i) + \"[]=\"+encodeURIComponent(json[i][j]) );\n }\n }\n }\n return strArr.join(\"&\");\n }\n\n function doAjax(url, ajaxOptions) {\n var xhr = creatAjaxRequest(),\n //是否超时\n timeIsOut = false,\n //默认参数\n defaultAjaxOptions = {\n method:\"POST\",\n timeout:5000,\n async:true,\n data:{},//需要传递对象的话只能覆盖\n onsuccess:function() {\n },\n onerror:function() {\n }\n };\n\n if (typeof url === \"object\") {\n ajaxOptions = url;\n url = ajaxOptions.url;\n }\n if (!xhr || !url) return;\n var ajaxOpts = ajaxOptions ? utils.extend(defaultAjaxOptions,ajaxOptions) : defaultAjaxOptions;\n\n var submitStr = json2str(ajaxOpts); // { name:\"Jim\",city:\"Beijing\" } --> \"name=Jim&city=Beijing\"\n //如果用户直接通过data参数传递json对象过来,则也要将此json对象转化为字符串\n if (!utils.isEmptyObject(ajaxOpts.data)){\n submitStr += (submitStr? \"&\":\"\") + json2str(ajaxOpts.data);\n }\n //超时检测\n var timerID = setTimeout(function() {\n if (xhr.readyState != 4) {\n timeIsOut = true;\n xhr.abort();\n clearTimeout(timerID);\n }\n }, ajaxOpts.timeout);\n\n var method = ajaxOpts.method.toUpperCase();\n var str = url + (url.indexOf(\"?\")==-1?\"?\":\"&\") + (method==\"POST\"?\"\":submitStr+ \"&noCache=\" + +new Date);\n xhr.open(method, str, ajaxOpts.async);\n xhr.onreadystatechange = function() {\n if (xhr.readyState == 4) {\n if (!timeIsOut && xhr.status == 200) {\n ajaxOpts.onsuccess(xhr);\n } else {\n ajaxOpts.onerror(xhr);\n }\n }\n };\n if (method == \"POST\") {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n xhr.send(submitStr);\n } else {\n xhr.send(null);\n }\n }\n\n function doJsonp(url, opts) {\n\n var successhandler = opts.onsuccess || function(){},\n scr = document.createElement('SCRIPT'),\n options = opts || {},\n charset = options['charset'],\n callbackField = options['jsonp'] || 'callback',\n callbackFnName,\n timeOut = options['timeOut'] || 0,\n timer,\n reg = new RegExp('(\\\\?|&)' + callbackField + '=([^&]*)'),\n matches;\n\n if (utils.isFunction(successhandler)) {\n callbackFnName = 'bd__editor__' + Math.floor(Math.random() * 2147483648).toString(36);\n window[callbackFnName] = getCallBack(0);\n } else if(utils.isString(successhandler)){\n callbackFnName = successhandler;\n } else {\n if (matches = reg.exec(url)) {\n callbackFnName = matches[2];\n }\n }\n\n url = url.replace(reg, '\\x241' + callbackField + '=' + callbackFnName);\n\n if (url.search(reg) < 0) {\n url += (url.indexOf('?') < 0 ? '?' : '&') + callbackField + '=' + callbackFnName;\n }\n\n var queryStr = json2str(opts); // { name:\"Jim\",city:\"Beijing\" } --> \"name=Jim&city=Beijing\"\n //如果用户直接通过data参数传递json对象过来,则也要将此json对象转化为字符串\n if (!utils.isEmptyObject(opts.data)){\n queryStr += (queryStr? \"&\":\"\") + json2str(opts.data);\n }\n if (queryStr) {\n url = url.replace(/\\?/, '?' + queryStr + '&');\n }\n\n scr.onerror = getCallBack(1);\n if( timeOut ){\n timer = setTimeout(getCallBack(1), timeOut);\n }\n createScriptTag(scr, url, charset);\n\n function createScriptTag(scr, url, charset) {\n scr.setAttribute('type', 'text/javascript');\n scr.setAttribute('defer', 'defer');\n charset && scr.setAttribute('charset', charset);\n scr.setAttribute('src', url);\n document.getElementsByTagName('head')[0].appendChild(scr);\n }\n\n function getCallBack(onTimeOut){\n return function(){\n try {\n if(onTimeOut){\n options.onerror && options.onerror();\n }else{\n try{\n clearTimeout(timer);\n successhandler.apply(window, arguments);\n } catch (e){}\n }\n } catch (exception) {\n options.onerror && options.onerror.call(window, exception);\n } finally {\n options.oncomplete && options.oncomplete.apply(window, arguments);\n scr.parentNode && scr.parentNode.removeChild(scr);\n window[callbackFnName] = null;\n try {\n delete window[callbackFnName];\n }catch(e){}\n }\n }\n }\n }\n\n return {\n /**\n * 根据给定的参数项,向指定的url发起一个ajax请求。 ajax请求完成后,会根据请求结果调用相应回调: 如果请求\n * 成功, 则调用onsuccess回调, 失败则调用 onerror 回调\n * @method request\n * @param { URLString } url ajax请求的url地址\n * @param { Object } ajaxOptions ajax请求选项的键值对,支持的选项如下:\n * @example\n * ```javascript\n * //向sayhello.php发起一个异步的Ajax GET请求, 请求超时时间为10s, 请求完成后执行相应的回调。\n * UE.ajax.requeset( 'sayhello.php', {\n *\n * //请求方法。可选值: 'GET', 'POST',默认值是'POST'\n * method: 'GET',\n *\n * //超时时间。 默认为5000, 单位是ms\n * timeout: 10000,\n *\n * //是否是异步请求。 true为异步请求, false为同步请求\n * async: true,\n *\n * //请求携带的数据。如果请求为GET请求, data会经过stringify后附加到请求url之后。\n * data: {\n * name: 'ueditor'\n * },\n *\n * //请求成功后的回调, 该回调接受当前的XMLHttpRequest对象作为参数。\n * onsuccess: function ( xhr ) {\n * console.log( xhr.responseText );\n * },\n *\n * //请求失败或者超时后的回调。\n * onerror: function ( xhr ) {\n * alert( 'Ajax请求失败' );\n * }\n *\n * } );\n * ```\n */\n\n /**\n * 根据给定的参数项发起一个ajax请求, 参数项里必须包含一个url地址。 ajax请求完成后,会根据请求结果调用相应回调: 如果请求\n * 成功, 则调用onsuccess回调, 失败则调用 onerror 回调。\n * @method request\n * @warning 如果在参数项里未提供一个key为“url”的地址值,则该请求将直接退出。\n * @param { Object } ajaxOptions ajax请求选项的键值对,支持的选项如下:\n * @example\n * ```javascript\n *\n * //向sayhello.php发起一个异步的Ajax POST请求, 请求超时时间为5s, 请求完成后不执行任何回调。\n * UE.ajax.requeset( 'sayhello.php', {\n *\n * //请求的地址, 该项是必须的。\n * url: 'sayhello.php'\n *\n * } );\n * ```\n */\n\t\trequest:function(url, opts) {\n if (opts && opts.dataType == 'jsonp') {\n doJsonp(url, opts);\n } else {\n doAjax(url, opts);\n }\n\t\t},\n getJSONP:function(url, data, fn) {\n var opts = {\n 'data': data,\n 'oncomplete': fn\n };\n doJsonp(url, opts);\n\t\t}\n\t};\n\n\n}();\n\n\n// core/filterword.js\n/**\n * UE过滤word的静态方法\n * @file\n */\n\n/**\n * UEditor公用空间,UEditor所有的功能都挂载在该空间下\n * @module UE\n */\n\n\n/**\n * 根据传入html字符串过滤word\n * @module UE\n * @since 1.2.6.1\n * @method filterWord\n * @param { String } html html字符串\n * @return { String } 已过滤后的结果字符串\n * @example\n * ```javascript\n * UE.filterWord(html);\n * ```\n */\nvar filterWord = UE.filterWord = function () {\n\n //是否是word过来的内容\n function isWordDocument( str ) {\n return /(class=\"?Mso|style=\"[^\"]*\\bmso\\-|w:WordDocument|<(v|o):|lang=)/ig.test( str );\n }\n //去掉小数\n function transUnit( v ) {\n v = v.replace( /[\\d.]+\\w+/g, function ( m ) {\n return utils.transUnitToPx(m);\n } );\n return v;\n }\n\n function filterPasteWord( str ) {\n return str.replace(/[\\t\\r\\n]+/g,' ')\n .replace( //ig, \"\" )\n //转换图片\n .replace(/]*>[\\s\\S]*?.<\\/v:shape>/gi,function(str){\n //opera能自己解析出image所这里直接返回空\n if(browser.opera){\n return '';\n }\n try{\n //有可能是bitmap占为图,无用,直接过滤掉,主要体现在粘贴excel表格中\n if(/Bitmap/i.test(str)){\n return '';\n }\n var width = str.match(/width:([ \\d.]*p[tx])/i)[1],\n height = str.match(/height:([ \\d.]*p[tx])/i)[1],\n src = str.match(/src=\\s*\"([^\"]*)\"/i)[1];\n return '';\n } catch(e){\n return '';\n }\n })\n //针对wps添加的多余标签处理\n .replace(/<\\/?div[^>]*>/g,'')\n //去掉多余的属性\n .replace( /v:\\w+=([\"']?)[^'\"]+\\1/g, '' )\n .replace( /<(!|script[^>]*>.*?<\\/script(?=[>\\s])|\\/?(\\?xml(:\\w+)?|xml|meta|link|style|\\w+:\\w+)(?=[\\s\\/>]))[^>]*>/gi, \"\" )\n .replace( /

]*class=\"?MsoHeading\"?[^>]*>(.*?)<\\/p>/gi, \"

$1

\" )\n //去掉多余的属性\n .replace( /\\s+(class|lang|align)\\s*=\\s*(['\"]?)([\\w-]+)\\2/ig, function(str,name,marks,val){\n //保留list的标示\n return name == 'class' && val == 'MsoListParagraph' ? str : ''\n })\n //清除多余的font/span不能匹配 有可能是空格\n .replace( /<(font|span)[^>]*>(\\s*)<\\/\\1>/gi, function(a,b,c){\n return c.replace(/[\\t\\r\\n ]+/g,' ')\n })\n //处理style的问题\n .replace( /(<[a-z][^>]*)\\sstyle=([\"'])([^\\2]*?)\\2/gi, function( str, tag, tmp, style ) {\n var n = [],\n s = style.replace( /^\\s+|\\s+$/, '' )\n .replace(/'/g,'\\'')\n .replace( /"/gi, \"'\" )\n .replace(/[\\d.]+(cm|pt)/g,function(str){\n return utils.transUnitToPx(str)\n })\n .split( /;\\s*/g );\n\n for ( var i = 0,v; v = s[i];i++ ) {\n\n var name, value,\n parts = v.split( \":\" );\n\n if ( parts.length == 2 ) {\n name = parts[0].toLowerCase();\n value = parts[1].toLowerCase();\n if(/^(background)\\w*/.test(name) && value.replace(/(initial|\\s)/g,'').length == 0\n ||\n /^(margin)\\w*/.test(name) && /^0\\w+$/.test(value)\n ){\n continue;\n }\n\n switch ( name ) {\n case \"mso-padding-alt\":\n case \"mso-padding-top-alt\":\n case \"mso-padding-right-alt\":\n case \"mso-padding-bottom-alt\":\n case \"mso-padding-left-alt\":\n case \"mso-margin-alt\":\n case \"mso-margin-top-alt\":\n case \"mso-margin-right-alt\":\n case \"mso-margin-bottom-alt\":\n case \"mso-margin-left-alt\":\n //ie下会出现挤到一起的情况\n //case \"mso-table-layout-alt\":\n case \"mso-height\":\n case \"mso-width\":\n case \"mso-vertical-align-alt\":\n //trace:1819 ff下会解析出padding在table上\n if(!/]/.test(html)) {\n return UE.htmlparser(html).children[0]\n } else {\n return new uNode({\n type:'element',\n children:[],\n tagName:html\n })\n }\n };\n uNode.createText = function (data,noTrans) {\n return new UE.uNode({\n type:'text',\n 'data':noTrans ? data : utils.unhtml(data || '')\n })\n };\n function nodeToHtml(node, arr, formatter, current) {\n switch (node.type) {\n case 'root':\n for (var i = 0, ci; ci = node.children[i++];) {\n //插入新行\n if (formatter && ci.type == 'element' && !dtd.$inlineWithA[ci.tagName] && i > 1) {\n insertLine(arr, current, true);\n insertIndent(arr, current)\n }\n nodeToHtml(ci, arr, formatter, current)\n }\n break;\n case 'text':\n isText(node, arr);\n break;\n case 'element':\n isElement(node, arr, formatter, current);\n break;\n case 'comment':\n isComment(node, arr, formatter);\n }\n return arr;\n }\n\n function isText(node, arr) {\n if(node.parentNode.tagName == 'pre'){\n //源码模式下输入html标签,不能做转换处理,直接输出\n arr.push(node.data)\n }else{\n arr.push(notTransTagName[node.parentNode.tagName] ? utils.html(node.data) : node.data.replace(/[ ]{2}/g,'  '))\n }\n\n }\n\n function isElement(node, arr, formatter, current) {\n var attrhtml = '';\n if (node.attrs) {\n attrhtml = [];\n var attrs = node.attrs;\n for (var a in attrs) {\n //这里就针对\n //

'

\n //这里边的\\\"做转换,要不用innerHTML直接被截断了,属性src\n //有可能做的不够\n attrhtml.push(a + (attrs[a] !== undefined ? '=\"' + (notTransAttrs[a] ? utils.html(attrs[a]).replace(/[\"]/g, function (a) {\n return '"'\n }) : utils.unhtml(attrs[a])) + '\"' : ''))\n }\n attrhtml = attrhtml.join(' ');\n }\n arr.push('<' + node.tagName +\n (attrhtml ? ' ' + attrhtml : '') +\n (dtd.$empty[node.tagName] ? '\\/' : '' ) + '>'\n );\n //插入新行\n if (formatter && !dtd.$inlineWithA[node.tagName] && node.tagName != 'pre') {\n if(node.children && node.children.length){\n current = insertLine(arr, current, true);\n insertIndent(arr, current)\n }\n\n }\n if (node.children && node.children.length) {\n for (var i = 0, ci; ci = node.children[i++];) {\n if (formatter && ci.type == 'element' && !dtd.$inlineWithA[ci.tagName] && i > 1) {\n insertLine(arr, current);\n insertIndent(arr, current)\n }\n nodeToHtml(ci, arr, formatter, current)\n }\n }\n if (!dtd.$empty[node.tagName]) {\n if (formatter && !dtd.$inlineWithA[node.tagName] && node.tagName != 'pre') {\n\n if(node.children && node.children.length){\n current = insertLine(arr, current);\n insertIndent(arr, current)\n }\n }\n arr.push('<\\/' + node.tagName + '>');\n }\n\n }\n\n function isComment(node, arr) {\n arr.push('');\n }\n\n function getNodeById(root, id) {\n var node;\n if (root.type == 'element' && root.getAttr('id') == id) {\n return root;\n }\n if (root.children && root.children.length) {\n for (var i = 0, ci; ci = root.children[i++];) {\n if (node = getNodeById(ci, id)) {\n return node;\n }\n }\n }\n }\n\n function getNodesByTagName(node, tagName, arr) {\n if (node.type == 'element' && node.tagName == tagName) {\n arr.push(node);\n }\n if (node.children && node.children.length) {\n for (var i = 0, ci; ci = node.children[i++];) {\n getNodesByTagName(ci, tagName, arr)\n }\n }\n }\n function nodeTraversal(root,fn){\n if(root.children && root.children.length){\n for(var i= 0,ci;ci=root.children[i];){\n nodeTraversal(ci,fn);\n //ci被替换的情况,这里就不再走 fn了\n if(ci.parentNode ){\n if(ci.children && ci.children.length){\n fn(ci)\n }\n if(ci.parentNode) i++\n }\n }\n }else{\n fn(root)\n }\n\n }\n uNode.prototype = {\n\n /**\n * 当前节点对象,转换成html文本\n * @method toHtml\n * @return { String } 返回转换后的html字符串\n * @example\n * ```javascript\n * node.toHtml();\n * ```\n */\n\n /**\n * 当前节点对象,转换成html文本\n * @method toHtml\n * @param { Boolean } formatter 是否格式化返回值\n * @return { String } 返回转换后的html字符串\n * @example\n * ```javascript\n * node.toHtml( true );\n * ```\n */\n toHtml:function (formatter) {\n var arr = [];\n nodeToHtml(this, arr, formatter, 0);\n return arr.join('')\n },\n\n /**\n * 获取节点的html内容\n * @method innerHTML\n * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点\n * @return { String } 返回节点的html内容\n * @example\n * ```javascript\n * var htmlstr = node.innerHTML();\n * ```\n */\n\n /**\n * 设置节点的html内容\n * @method innerHTML\n * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点\n * @param { String } htmlstr 传入要设置的html内容\n * @return { UE.uNode } 返回节点本身\n * @example\n * ```javascript\n * node.innerHTML('text');\n * ```\n */\n innerHTML:function (htmlstr) {\n if (this.type != 'element' || dtd.$empty[this.tagName]) {\n return this;\n }\n if (utils.isString(htmlstr)) {\n if(this.children){\n for (var i = 0, ci; ci = this.children[i++];) {\n ci.parentNode = null;\n }\n }\n this.children = [];\n var tmpRoot = UE.htmlparser(htmlstr);\n for (var i = 0, ci; ci = tmpRoot.children[i++];) {\n this.children.push(ci);\n ci.parentNode = this;\n }\n return this;\n } else {\n var tmpRoot = new UE.uNode({\n type:'root',\n children:this.children\n });\n return tmpRoot.toHtml();\n }\n },\n\n /**\n * 获取节点的纯文本内容\n * @method innerText\n * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点\n * @return { String } 返回节点的存文本内容\n * @example\n * ```javascript\n * var textStr = node.innerText();\n * ```\n */\n\n /**\n * 设置节点的纯文本内容\n * @method innerText\n * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点\n * @param { String } textStr 传入要设置的文本内容\n * @return { UE.uNode } 返回节点本身\n * @example\n * ```javascript\n * node.innerText('text');\n * ```\n */\n innerText:function (textStr,noTrans) {\n if (this.type != 'element' || dtd.$empty[this.tagName]) {\n return this;\n }\n if (textStr) {\n if(this.children){\n for (var i = 0, ci; ci = this.children[i++];) {\n ci.parentNode = null;\n }\n }\n this.children = [];\n this.appendChild(uNode.createText(textStr,noTrans));\n return this;\n } else {\n return this.toHtml().replace(/<[^>]+>/g, '');\n }\n },\n\n /**\n * 获取当前对象的data属性\n * @method getData\n * @return { Object } 若节点的type值是elemenet,返回空字符串,否则返回节点的data属性\n * @example\n * ```javascript\n * node.getData();\n * ```\n */\n getData:function () {\n if (this.type == 'element')\n return '';\n return this.data\n },\n\n /**\n * 获取当前节点下的第一个子节点\n * @method firstChild\n * @return { UE.uNode } 返回第一个子节点\n * @example\n * ```javascript\n * node.firstChild(); //返回第一个子节点\n * ```\n */\n firstChild:function () {\n// if (this.type != 'element' || dtd.$empty[this.tagName]) {\n// return this;\n// }\n return this.children ? this.children[0] : null;\n },\n\n /**\n * 获取当前节点下的最后一个子节点\n * @method lastChild\n * @return { UE.uNode } 返回最后一个子节点\n * @example\n * ```javascript\n * node.lastChild(); //返回最后一个子节点\n * ```\n */\n lastChild:function () {\n// if (this.type != 'element' || dtd.$empty[this.tagName] ) {\n// return this;\n// }\n return this.children ? this.children[this.children.length - 1] : null;\n },\n\n /**\n * 获取和当前节点有相同父亲节点的前一个节点\n * @method previousSibling\n * @return { UE.uNode } 返回前一个节点\n * @example\n * ```javascript\n * node.children[2].previousSibling(); //返回子节点node.children[1]\n * ```\n */\n previousSibling : function(){\n var parent = this.parentNode;\n for (var i = 0, ci; ci = parent.children[i]; i++) {\n if (ci === this) {\n return i == 0 ? null : parent.children[i-1];\n }\n }\n\n },\n\n /**\n * 获取和当前节点有相同父亲节点的后一个节点\n * @method nextSibling\n * @return { UE.uNode } 返回后一个节点,找不到返回null\n * @example\n * ```javascript\n * node.children[2].nextSibling(); //如果有,返回子节点node.children[3]\n * ```\n */\n nextSibling : function(){\n var parent = this.parentNode;\n for (var i = 0, ci; ci = parent.children[i++];) {\n if (ci === this) {\n return parent.children[i];\n }\n }\n },\n\n /**\n * 用新的节点替换当前节点\n * @method replaceChild\n * @param { UE.uNode } target 要替换成该节点参数\n * @param { UE.uNode } source 要被替换掉的节点\n * @return { UE.uNode } 返回替换之后的节点对象\n * @example\n * ```javascript\n * node.replaceChild(newNode, childNode); //用newNode替换childNode,childNode是node的子节点\n * ```\n */\n replaceChild:function (target, source) {\n if (this.children) {\n if(target.parentNode){\n target.parentNode.removeChild(target);\n }\n for (var i = 0, ci; ci = this.children[i]; i++) {\n if (ci === source) {\n this.children.splice(i, 1, target);\n source.parentNode = null;\n target.parentNode = this;\n return target;\n }\n }\n }\n },\n\n /**\n * 在节点的子节点列表最后位置插入一个节点\n * @method appendChild\n * @param { UE.uNode } node 要插入的节点\n * @return { UE.uNode } 返回刚插入的子节点\n * @example\n * ```javascript\n * node.appendChild( newNode ); //在node内插入子节点newNode\n * ```\n */\n appendChild:function (node) {\n if (this.type == 'root' || (this.type == 'element' && !dtd.$empty[this.tagName])) {\n if (!this.children) {\n this.children = []\n }\n if(node.parentNode){\n node.parentNode.removeChild(node);\n }\n for (var i = 0, ci; ci = this.children[i]; i++) {\n if (ci === node) {\n this.children.splice(i, 1);\n break;\n }\n }\n this.children.push(node);\n node.parentNode = this;\n return node;\n }\n\n\n },\n\n /**\n * 在传入节点的前面插入一个节点\n * @method insertBefore\n * @param { UE.uNode } target 要插入的节点\n * @param { UE.uNode } source 在该参数节点前面插入\n * @return { UE.uNode } 返回刚插入的子节点\n * @example\n * ```javascript\n * node.parentNode.insertBefore(newNode, node); //在node节点后面插入newNode\n * ```\n */\n insertBefore:function (target, source) {\n if (this.children) {\n if(target.parentNode){\n target.parentNode.removeChild(target);\n }\n for (var i = 0, ci; ci = this.children[i]; i++) {\n if (ci === source) {\n this.children.splice(i, 0, target);\n target.parentNode = this;\n return target;\n }\n }\n\n }\n },\n\n /**\n * 在传入节点的后面插入一个节点\n * @method insertAfter\n * @param { UE.uNode } target 要插入的节点\n * @param { UE.uNode } source 在该参数节点后面插入\n * @return { UE.uNode } 返回刚插入的子节点\n * @example\n * ```javascript\n * node.parentNode.insertAfter(newNode, node); //在node节点后面插入newNode\n * ```\n */\n insertAfter:function (target, source) {\n if (this.children) {\n if(target.parentNode){\n target.parentNode.removeChild(target);\n }\n for (var i = 0, ci; ci = this.children[i]; i++) {\n if (ci === source) {\n this.children.splice(i + 1, 0, target);\n target.parentNode = this;\n return target;\n }\n\n }\n }\n },\n\n /**\n * 从当前节点的子节点列表中,移除节点\n * @method removeChild\n * @param { UE.uNode } node 要移除的节点引用\n * @param { Boolean } keepChildren 是否保留移除节点的子节点,若传入true,自动把移除节点的子节点插入到移除的位置\n * @return { * } 返回刚移除的子节点\n * @example\n * ```javascript\n * node.removeChild(childNode,true); //在node的子节点列表中移除child节点,并且吧child的子节点插入到移除的位置\n * ```\n */\n removeChild:function (node,keepChildren) {\n if (this.children) {\n for (var i = 0, ci; ci = this.children[i]; i++) {\n if (ci === node) {\n this.children.splice(i, 1);\n ci.parentNode = null;\n if(keepChildren && ci.children && ci.children.length){\n for(var j= 0,cj;cj=ci.children[j];j++){\n this.children.splice(i+j,0,cj);\n cj.parentNode = this;\n\n }\n }\n return ci;\n }\n }\n }\n },\n\n /**\n * 获取当前节点所代表的元素属性,即获取attrs对象下的属性值\n * @method getAttr\n * @param { String } attrName 要获取的属性名称\n * @return { * } 返回attrs对象下的属性值\n * @example\n * ```javascript\n * node.getAttr('title');\n * ```\n */\n getAttr:function (attrName) {\n return this.attrs && this.attrs[attrName.toLowerCase()]\n },\n\n /**\n * 设置当前节点所代表的元素属性,即设置attrs对象下的属性值\n * @method setAttr\n * @param { String } attrName 要设置的属性名称\n * @param { * } attrVal 要设置的属性值,类型视设置的属性而定\n * @return { * } 返回attrs对象下的属性值\n * @example\n * ```javascript\n * node.setAttr('title','标题');\n * ```\n */\n setAttr:function (attrName, attrVal) {\n if (!attrName) {\n delete this.attrs;\n return;\n }\n if(!this.attrs){\n this.attrs = {};\n }\n if (utils.isObject(attrName)) {\n for (var a in attrName) {\n if (!attrName[a]) {\n delete this.attrs[a]\n } else {\n this.attrs[a.toLowerCase()] = attrName[a];\n }\n }\n } else {\n if (!attrVal) {\n delete this.attrs[attrName]\n } else {\n this.attrs[attrName.toLowerCase()] = attrVal;\n }\n\n }\n },\n\n /**\n * 获取当前节点在父节点下的位置索引\n * @method getIndex\n * @return { Number } 返回索引数值,如果没有父节点,返回-1\n * @example\n * ```javascript\n * node.getIndex();\n * ```\n */\n getIndex:function(){\n var parent = this.parentNode;\n for(var i= 0,ci;ci=parent.children[i];i++){\n if(ci === this){\n return i;\n }\n }\n return -1;\n },\n\n /**\n * 在当前节点下,根据id查找节点\n * @method getNodeById\n * @param { String } id 要查找的id\n * @return { UE.uNode } 返回找到的节点\n * @example\n * ```javascript\n * node.getNodeById('textId');\n * ```\n */\n getNodeById:function (id) {\n var node;\n if (this.children && this.children.length) {\n for (var i = 0, ci; ci = this.children[i++];) {\n if (node = getNodeById(ci, id)) {\n return node;\n }\n }\n }\n },\n\n /**\n * 在当前节点下,根据元素名称查找节点列表\n * @method getNodesByTagName\n * @param { String } tagNames 要查找的元素名称\n * @return { Array } 返回找到的节点列表\n * @example\n * ```javascript\n * node.getNodesByTagName('span');\n * ```\n */\n getNodesByTagName:function (tagNames) {\n tagNames = utils.trim(tagNames).replace(/[ ]{2,}/g, ' ').split(' ');\n var arr = [], me = this;\n utils.each(tagNames, function (tagName) {\n if (me.children && me.children.length) {\n for (var i = 0, ci; ci = me.children[i++];) {\n getNodesByTagName(ci, tagName, arr)\n }\n }\n });\n return arr;\n },\n\n /**\n * 根据样式名称,获取节点的样式值\n * @method getStyle\n * @param { String } name 要获取的样式名称\n * @return { String } 返回样式值\n * @example\n * ```javascript\n * node.getStyle('font-size');\n * ```\n */\n getStyle:function (name) {\n var cssStyle = this.getAttr('style');\n if (!cssStyle) {\n return ''\n }\n var reg = new RegExp('(^|;)\\\\s*' + name + ':([^;]+)','i');\n var match = cssStyle.match(reg);\n if (match && match[0]) {\n return match[2]\n }\n return '';\n },\n\n /**\n * 给节点设置样式\n * @method setStyle\n * @param { String } name 要设置的的样式名称\n * @param { String } val 要设置的的样值\n * @example\n * ```javascript\n * node.setStyle('font-size', '12px');\n * ```\n */\n setStyle:function (name, val) {\n function exec(name, val) {\n var reg = new RegExp('(^|;)\\\\s*' + name + ':([^;]+;?)', 'gi');\n cssStyle = cssStyle.replace(reg, '$1');\n if (val) {\n cssStyle = name + ':' + utils.unhtml(val) + ';' + cssStyle\n }\n\n }\n\n var cssStyle = this.getAttr('style');\n if (!cssStyle) {\n cssStyle = '';\n }\n if (utils.isObject(name)) {\n for (var a in name) {\n exec(a, name[a])\n }\n } else {\n exec(name, val)\n }\n this.setAttr('style', utils.trim(cssStyle))\n },\n\n /**\n * 传入一个函数,递归遍历当前节点下的所有节点\n * @method traversal\n * @param { Function } fn 遍历到节点的时,传入节点作为参数,运行此函数\n * @example\n * ```javascript\n * traversal(node, function(){\n * console.log(node.type);\n * });\n * ```\n */\n traversal:function(fn){\n if(this.children && this.children.length){\n nodeTraversal(this,fn);\n }\n return this;\n }\n }\n})();\n\n\n// core/htmlparser.js\n/**\n * html字符串转换成uNode节点\n * @file\n * @module UE\n * @since 1.2.6.1\n */\n\n/**\n * UEditor公用空间,UEditor所有的功能都挂载在该空间下\n * @unfile\n * @module UE\n */\n\n/**\n * html字符串转换成uNode节点的静态方法\n * @method htmlparser\n * @param { String } htmlstr 要转换的html代码\n * @param { Boolean } ignoreBlank 若设置为true,转换的时候忽略\\n\\r\\t等空白字符\n * @return { uNode } 给定的html片段转换形成的uNode对象\n * @example\n * ```javascript\n * var root = UE.htmlparser('

htmlparser

', true);\n * ```\n */\n\nvar htmlparser = UE.htmlparser = function (htmlstr,ignoreBlank) {\n //todo 原来的方式 [^\"'<>\\/] 有\\/就不能配对上 ')\n }\n html.push('')\n }\n //禁止指定table-width\n return '
这样的标签了\n //先去掉了,加上的原因忘了,这里先记录\n var re_tag = /<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s\\/<>]+)\\s*((?:(?:\"[^\"]*\")|(?:'[^']*')|[^\"'<>])*)\\/?>))/g,\n re_attr = /([\\w\\-:.]+)(?:(?:\\s*=\\s*(?:(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s>]+)))|(?=\\s|$))/g;\n\n //ie下取得的html可能会有\\n存在,要去掉,在处理replace(/[\\t\\r\\n]*/g,'');代码高量的\\n不能去除\n var allowEmptyTags = {\n b:1,code:1,i:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,span:1,\n sub:1,img:1,sup:1,font:1,big:1,small:1,iframe:1,a:1,br:1,pre:1\n };\n htmlstr = htmlstr.replace(new RegExp(domUtils.fillChar, 'g'), '');\n if(!ignoreBlank){\n htmlstr = htmlstr.replace(new RegExp('[\\\\r\\\\t\\\\n'+(ignoreBlank?'':' ')+']*<\\/?(\\\\w+)\\\\s*(?:[^>]*)>[\\\\r\\\\t\\\\n'+(ignoreBlank?'':' ')+']*','g'), function(a,b){\n //br暂时单独处理\n if(b && allowEmptyTags[b.toLowerCase()]){\n return a.replace(/(^[\\n\\r]+)|([\\n\\r]+$)/g,'');\n }\n return a.replace(new RegExp('^[\\\\r\\\\n'+(ignoreBlank?'':' ')+']+'),'').replace(new RegExp('[\\\\r\\\\n'+(ignoreBlank?'':' ')+']+$'),'');\n });\n }\n\n var notTransAttrs = {\n 'href':1,\n 'src':1\n };\n\n var uNode = UE.uNode,\n needParentNode = {\n 'td':'tr',\n 'tr':['tbody','thead','tfoot'],\n 'tbody':'table',\n 'th':'tr',\n 'thead':'table',\n 'tfoot':'table',\n 'caption':'table',\n 'li':['ul', 'ol'],\n 'dt':'dl',\n 'dd':'dl',\n 'option':'select'\n },\n needChild = {\n 'ol':'li',\n 'ul':'li'\n };\n\n function text(parent, data) {\n\n if(needChild[parent.tagName]){\n var tmpNode = uNode.createElement(needChild[parent.tagName]);\n parent.appendChild(tmpNode);\n tmpNode.appendChild(uNode.createText(data));\n parent = tmpNode;\n }else{\n\n parent.appendChild(uNode.createText(data));\n }\n }\n\n function element(parent, tagName, htmlattr) {\n var needParentTag;\n if (needParentTag = needParentNode[tagName]) {\n var tmpParent = parent,hasParent;\n while(tmpParent.type != 'root'){\n if(utils.isArray(needParentTag) ? utils.indexOf(needParentTag, tmpParent.tagName) != -1 : needParentTag == tmpParent.tagName){\n parent = tmpParent;\n hasParent = true;\n break;\n }\n tmpParent = tmpParent.parentNode;\n }\n if(!hasParent){\n parent = element(parent, utils.isArray(needParentTag) ? needParentTag[0] : needParentTag)\n }\n }\n //按dtd处理嵌套\n// if(parent.type != 'root' && !dtd[parent.tagName][tagName])\n// parent = parent.parentNode;\n var elm = new uNode({\n parentNode:parent,\n type:'element',\n tagName:tagName.toLowerCase(),\n //是自闭合的处理一下\n children:dtd.$empty[tagName] ? null : []\n });\n //如果属性存在,处理属性\n if (htmlattr) {\n var attrs = {}, match;\n while (match = re_attr.exec(htmlattr)) {\n attrs[match[1].toLowerCase()] = notTransAttrs[match[1].toLowerCase()] ? (match[2] || match[3] || match[4]) : utils.unhtml(match[2] || match[3] || match[4])\n }\n elm.attrs = attrs;\n }\n //trace:3970\n// //如果parent下不能放elm\n// if(dtd.$inline[parent.tagName] && dtd.$block[elm.tagName] && !dtd[parent.tagName][elm.tagName]){\n// parent = parent.parentNode;\n// elm.parentNode = parent;\n// }\n parent.children.push(elm);\n //如果是自闭合节点返回父亲节点\n return dtd.$empty[tagName] ? parent : elm\n }\n\n function comment(parent, data) {\n parent.children.push(new uNode({\n type:'comment',\n data:data,\n parentNode:parent\n }));\n }\n\n var match, currentIndex = 0, nextIndex = 0;\n //设置根节点\n var root = new uNode({\n type:'root',\n children:[]\n });\n var currentParent = root;\n\n while (match = re_tag.exec(htmlstr)) {\n currentIndex = match.index;\n try{\n if (currentIndex > nextIndex) {\n //text node\n text(currentParent, htmlstr.slice(nextIndex, currentIndex));\n }\n if (match[3]) {\n\n if(dtd.$cdata[currentParent.tagName]){\n text(currentParent, match[0]);\n }else{\n //start tag\n currentParent = element(currentParent, match[3].toLowerCase(), match[4]);\n }\n\n\n } else if (match[1]) {\n if(currentParent.type != 'root'){\n if(dtd.$cdata[currentParent.tagName] && !dtd.$cdata[match[1]]){\n text(currentParent, match[0]);\n }else{\n var tmpParent = currentParent;\n while(currentParent.type == 'element' && currentParent.tagName != match[1].toLowerCase()){\n currentParent = currentParent.parentNode;\n if(currentParent.type == 'root'){\n currentParent = tmpParent;\n throw 'break'\n }\n }\n //end tag\n currentParent = currentParent.parentNode;\n }\n\n }\n\n } else if (match[2]) {\n //comment\n comment(currentParent, match[2])\n }\n }catch(e){}\n\n nextIndex = re_tag.lastIndex;\n\n }\n //如果结束是文本,就有可能丢掉,所以这里手动判断一下\n //例如
  • sdfsdfsdf
  • sdfsdfsdfsdf\n if (nextIndex < htmlstr.length) {\n text(currentParent, htmlstr.slice(nextIndex));\n }\n return root;\n};\n\n\n// core/filternode.js\n/**\n * UE过滤节点的静态方法\n * @file\n */\n\n/**\n * UEditor公用空间,UEditor所有的功能都挂载在该空间下\n * @module UE\n */\n\n\n/**\n * 根据传入节点和过滤规则过滤相应节点\n * @module UE\n * @since 1.2.6.1\n * @method filterNode\n * @param { Object } root 指定root节点\n * @param { Object } rules 过滤规则json对象\n * @example\n * ```javascript\n * UE.filterNode(root,editor.options.filterRules);\n * ```\n */\nvar filterNode = UE.filterNode = function () {\n function filterNode(node,rules){\n switch (node.type) {\n case 'text':\n break;\n case 'element':\n var val;\n if(val = rules[node.tagName]){\n if(val === '-'){\n node.parentNode.removeChild(node)\n }else if(utils.isFunction(val)){\n var parentNode = node.parentNode,\n index = node.getIndex();\n val(node);\n if(node.parentNode){\n if(node.children){\n for(var i = 0,ci;ci=node.children[i];){\n filterNode(ci,rules);\n if(ci.parentNode){\n i++;\n }\n }\n }\n }else{\n for(var i = index,ci;ci=parentNode.children[i];){\n filterNode(ci,rules);\n if(ci.parentNode){\n i++;\n }\n }\n }\n\n\n }else{\n var attrs = val['$'];\n if(attrs && node.attrs){\n var tmpAttrs = {},tmpVal;\n for(var a in attrs){\n tmpVal = node.getAttr(a);\n //todo 只先对style单独处理\n if(a == 'style' && utils.isArray(attrs[a])){\n var tmpCssStyle = [];\n utils.each(attrs[a],function(v){\n var tmp;\n if(tmp = node.getStyle(v)){\n tmpCssStyle.push(v + ':' + tmp);\n }\n });\n tmpVal = tmpCssStyle.join(';')\n }\n if(tmpVal){\n tmpAttrs[a] = tmpVal;\n }\n\n }\n node.attrs = tmpAttrs;\n }\n if(node.children){\n for(var i = 0,ci;ci=node.children[i];){\n filterNode(ci,rules);\n if(ci.parentNode){\n i++;\n }\n }\n }\n }\n }else{\n //如果不在名单里扣出子节点并删除该节点,cdata除外\n if(dtd.$cdata[node.tagName]){\n node.parentNode.removeChild(node)\n }else{\n var parentNode = node.parentNode,\n index = node.getIndex();\n node.parentNode.removeChild(node,true);\n for(var i = index,ci;ci=parentNode.children[i];){\n filterNode(ci,rules);\n if(ci.parentNode){\n i++;\n }\n }\n }\n }\n break;\n case 'comment':\n node.parentNode.removeChild(node)\n }\n\n }\n return function(root,rules){\n if(utils.isEmptyObject(rules)){\n return root;\n }\n var val;\n if(val = rules['-']){\n utils.each(val.split(' '),function(k){\n rules[k] = '-'\n })\n }\n for(var i= 0,ci;ci=root.children[i];){\n filterNode(ci,rules);\n if(ci.parentNode){\n i++;\n }\n }\n return root;\n }\n}();\n\n// core/plugin.js\n/**\n * Created with JetBrains PhpStorm.\n * User: campaign\n * Date: 10/8/13\n * Time: 6:15 PM\n * To change this template use File | Settings | File Templates.\n */\nUE.plugin = function(){\n var _plugins = {};\n return {\n register : function(pluginName,fn,oldOptionName,afterDisabled){\n if(oldOptionName && utils.isFunction(oldOptionName)){\n afterDisabled = oldOptionName;\n oldOptionName = null\n }\n _plugins[pluginName] = {\n optionName : oldOptionName || pluginName,\n execFn : fn,\n //当插件被禁用时执行\n afterDisabled : afterDisabled\n }\n },\n load : function(editor){\n utils.each(_plugins,function(plugin){\n var _export = plugin.execFn.call(editor);\n if(editor.options[plugin.optionName] !== false){\n if(_export){\n //后边需要再做扩展\n utils.each(_export,function(v,k){\n switch(k.toLowerCase()){\n case 'shortcutkey':\n editor.addshortcutkey(v);\n break;\n case 'bindevents':\n utils.each(v,function(fn,eventName){\n editor.addListener(eventName,fn);\n });\n break;\n case 'bindmultievents':\n utils.each(utils.isArray(v) ? v:[v],function(event){\n var types = utils.trim(event.type).split(/\\s+/);\n utils.each(types,function(eventName){\n editor.addListener(eventName, event.handler);\n });\n });\n break;\n case 'commands':\n utils.each(v,function(execFn,execName){\n editor.commands[execName] = execFn\n });\n break;\n case 'outputrule':\n editor.addOutputRule(v);\n break;\n case 'inputrule':\n editor.addInputRule(v);\n break;\n case 'defaultoptions':\n editor.setOpt(v)\n }\n })\n }\n\n }else if(plugin.afterDisabled){\n plugin.afterDisabled.call(editor)\n }\n\n });\n //向下兼容\n utils.each(UE.plugins,function(plugin){\n plugin.call(editor);\n });\n },\n run : function(pluginName,editor){\n var plugin = _plugins[pluginName];\n if(plugin){\n plugin.exeFn.call(editor)\n }\n }\n }\n}();\n\n// core/keymap.js\nvar keymap = UE.keymap = {\n 'Backspace' : 8,\n 'Tab' : 9,\n 'Enter' : 13,\n\n 'Shift':16,\n 'Control':17,\n 'Alt':18,\n 'CapsLock':20,\n\n 'Esc':27,\n\n 'Spacebar':32,\n\n 'PageUp':33,\n 'PageDown':34,\n 'End':35,\n 'Home':36,\n\n 'Left':37,\n 'Up':38,\n 'Right':39,\n 'Down':40,\n\n 'Insert':45,\n\n 'Del':46,\n\n 'NumLock':144,\n\n 'Cmd':91,\n\n '=':187,\n '-':189,\n\n \"b\":66,\n 'i':73,\n //回退\n 'z':90,\n 'y':89,\n //粘贴\n 'v' : 86,\n 'x' : 88,\n\n 's' : 83,\n\n 'n' : 78\n};\n\n// core/localstorage.js\n//存储媒介封装\nvar LocalStorage = UE.LocalStorage = (function () {\n\n var storage = window.localStorage || getUserData() || null,\n LOCAL_FILE = 'localStorage';\n\n return {\n\n saveLocalData: function (key, data) {\n\n if (storage && data) {\n storage.setItem(key, data);\n return true;\n }\n\n return false;\n\n },\n\n getLocalData: function (key) {\n\n if (storage) {\n return storage.getItem(key);\n }\n\n return null;\n\n },\n\n removeItem: function (key) {\n\n storage && storage.removeItem(key);\n\n }\n\n };\n\n function getUserData() {\n\n var container = document.createElement(\"div\");\n container.style.display = \"none\";\n\n if (!container.addBehavior) {\n return null;\n }\n\n container.addBehavior(\"#default#userdata\");\n\n return {\n\n getItem: function (key) {\n\n var result = null;\n\n try {\n document.body.appendChild(container);\n container.load(LOCAL_FILE);\n result = container.getAttribute(key);\n document.body.removeChild(container);\n } catch (e) {\n }\n\n return result;\n\n },\n\n setItem: function (key, value) {\n\n document.body.appendChild(container);\n container.setAttribute(key, value);\n container.save(LOCAL_FILE);\n document.body.removeChild(container);\n\n },\n\n //// 暂时没有用到\n //clear: function () {\n //\n // var expiresTime = new Date();\n // expiresTime.setFullYear(expiresTime.getFullYear() - 1);\n // document.body.appendChild(container);\n // container.expires = expiresTime.toUTCString();\n // container.save(LOCAL_FILE);\n // document.body.removeChild(container);\n //\n //},\n\n removeItem: function (key) {\n\n document.body.appendChild(container);\n container.removeAttribute(key);\n container.save(LOCAL_FILE);\n document.body.removeChild(container);\n\n }\n\n };\n\n }\n\n})();\n\n(function () {\n\n var ROOTKEY = 'ueditor_preference';\n\n UE.Editor.prototype.setPreferences = function(key,value){\n var obj = {};\n if (utils.isString(key)) {\n obj[ key ] = value;\n } else {\n obj = key;\n }\n var data = LocalStorage.getLocalData(ROOTKEY);\n if (data && (data = utils.str2json(data))) {\n utils.extend(data, obj);\n } else {\n data = obj;\n }\n data && LocalStorage.saveLocalData(ROOTKEY, utils.json2str(data));\n };\n\n UE.Editor.prototype.getPreferences = function(key){\n var data = LocalStorage.getLocalData(ROOTKEY);\n if (data && (data = utils.str2json(data))) {\n return key ? data[key] : data\n }\n return null;\n };\n\n UE.Editor.prototype.removePreferences = function (key) {\n var data = LocalStorage.getLocalData(ROOTKEY);\n if (data && (data = utils.str2json(data))) {\n data[key] = undefined;\n delete data[key]\n }\n data && LocalStorage.saveLocalData(ROOTKEY, utils.json2str(data));\n };\n\n})();\n\n\n// plugins/defaultfilter.js\n///import core\n///plugin 编辑器默认的过滤转换机制\n\nUE.plugins['defaultfilter'] = function () {\n var me = this;\n me.setOpt({\n 'allowDivTransToP':true,\n 'disabledTableInTable':true\n });\n //默认的过滤处理\n //进入编辑器的内容处理\n me.addInputRule(function (root) {\n var allowDivTransToP = this.options.allowDivTransToP;\n var val;\n function tdParent(node){\n while(node && node.type == 'element'){\n if(node.tagName == 'td'){\n return true;\n }\n node = node.parentNode;\n }\n return false;\n }\n //进行默认的处理\n root.traversal(function (node) {\n if (node.type == 'element') {\n if (!dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {\n if (!node.firstChild()) node.parentNode.removeChild(node);\n else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {\n node.parentNode.removeChild(node, true)\n }\n return;\n }\n switch (node.tagName) {\n case 'style':\n case 'script':\n node.setAttr({\n cdata_tag: node.tagName,\n cdata_data: (node.innerHTML() || ''),\n '_ue_custom_node_':'true'\n });\n node.tagName = 'div';\n node.innerHTML('');\n break;\n case 'a':\n if (val = node.getAttr('href')) {\n node.setAttr('_href', val)\n }\n break;\n case 'img':\n //todo base64暂时去掉,后边做远程图片上传后,干掉这个\n if (val = node.getAttr('src')) {\n if (/^data:/.test(val)) {\n node.parentNode.removeChild(node);\n break;\n }\n }\n node.setAttr('_src', node.getAttr('src'));\n break;\n case 'span':\n if (browser.webkit && (val = node.getStyle('white-space'))) {\n if (/nowrap|normal/.test(val)) {\n node.setStyle('white-space', '');\n if (me.options.autoClearEmptyNode && utils.isEmptyObject(node.attrs)) {\n node.parentNode.removeChild(node, true)\n }\n }\n }\n val = node.getAttr('id');\n if(val && /^_baidu_bookmark_/i.test(val)){\n node.parentNode.removeChild(node)\n }\n break;\n case 'p':\n if (val = node.getAttr('align')) {\n node.setAttr('align');\n node.setStyle('text-align', val)\n }\n //trace:3431\n// var cssStyle = node.getAttr('style');\n// if (cssStyle) {\n// cssStyle = cssStyle.replace(/(margin|padding)[^;]+/g, '');\n// node.setAttr('style', cssStyle)\n//\n// }\n //p标签不允许嵌套\n utils.each(node.children,function(n){\n if(n.type == 'element' && n.tagName == 'p'){\n var next = n.nextSibling();\n node.parentNode.insertAfter(n,node);\n var last = n;\n while(next){\n var tmp = next.nextSibling();\n node.parentNode.insertAfter(next,last);\n last = next;\n next = tmp;\n }\n return false;\n }\n });\n if (!node.firstChild()) {\n node.innerHTML(browser.ie ? ' ' : '
    ')\n }\n break;\n case 'div':\n if(node.getAttr('cdata_tag')){\n break;\n }\n //针对代码这里不处理插入代码的div\n val = node.getAttr('class');\n if(val && /^line number\\d+/.test(val)){\n break;\n }\n if(!allowDivTransToP){\n break;\n }\n var tmpNode, p = UE.uNode.createElement('p');\n while (tmpNode = node.firstChild()) {\n if (tmpNode.type == 'text' || !UE.dom.dtd.$block[tmpNode.tagName]) {\n p.appendChild(tmpNode);\n } else {\n if (p.firstChild()) {\n node.parentNode.insertBefore(p, node);\n p = UE.uNode.createElement('p');\n } else {\n node.parentNode.insertBefore(tmpNode, node);\n }\n }\n }\n if (p.firstChild()) {\n node.parentNode.insertBefore(p, node);\n }\n node.parentNode.removeChild(node);\n break;\n case 'dl':\n node.tagName = 'ul';\n break;\n case 'dt':\n case 'dd':\n node.tagName = 'li';\n break;\n case 'li':\n var className = node.getAttr('class');\n if (!className || !/list\\-/.test(className)) {\n node.setAttr()\n }\n var tmpNodes = node.getNodesByTagName('ol ul');\n UE.utils.each(tmpNodes, function (n) {\n node.parentNode.insertAfter(n, node);\n });\n break;\n case 'td':\n case 'th':\n case 'caption':\n if(!node.children || !node.children.length){\n node.appendChild(browser.ie11below ? UE.uNode.createText(' ') : UE.uNode.createElement('br'))\n }\n break;\n case 'table':\n if(me.options.disabledTableInTable && tdParent(node)){\n node.parentNode.insertBefore(UE.uNode.createText(node.innerText()),node);\n node.parentNode.removeChild(node)\n }\n }\n\n }\n// if(node.type == 'comment'){\n// node.parentNode.removeChild(node);\n// }\n })\n\n });\n\n //从编辑器出去的内容处理\n me.addOutputRule(function (root) {\n\n var val;\n root.traversal(function (node) {\n if (node.type == 'element') {\n\n if (me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {\n\n if (!node.firstChild()) node.parentNode.removeChild(node);\n else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {\n node.parentNode.removeChild(node, true)\n }\n return;\n }\n switch (node.tagName) {\n case 'div':\n if (val = node.getAttr('cdata_tag')) {\n node.tagName = val;\n node.appendChild(UE.uNode.createText(node.getAttr('cdata_data')));\n node.setAttr({cdata_tag: '', cdata_data: '','_ue_custom_node_':''});\n }\n break;\n case 'a':\n if (val = node.getAttr('_href')) {\n node.setAttr({\n 'href': utils.html(val),\n '_href': ''\n })\n }\n break;\n break;\n case 'span':\n val = node.getAttr('id');\n if(val && /^_baidu_bookmark_/i.test(val)){\n node.parentNode.removeChild(node)\n }\n break;\n case 'img':\n if (val = node.getAttr('_src')) {\n node.setAttr({\n 'src': node.getAttr('_src'),\n '_src': ''\n })\n }\n\n\n }\n }\n\n })\n\n\n });\n};\n\n\n// plugins/inserthtml.js\n/**\n * 插入html字符串插件\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 插入html代码\n * @command inserthtml\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } html 插入的html字符串\n * @remaind 插入的标签内容是在当前的选区位置上插入,如果当前是闭合状态,那直接插入内容, 如果当前是选中状态,将先清除当前选中内容后,再做插入\n * @warning 注意:该命令会对当前选区的位置,对插入的内容进行过滤转换处理。 过滤的规则遵循html语意化的原则。\n * @example\n * ```javascript\n * //xxx[BB]xxx 当前选区为非闭合选区,选中BB这两个文本\n * //执行命令,插入CC\n * //插入后的效果 xxxCCxxx\n * //

    xx|xxx

    当前选区为闭合状态\n * //插入

    CC

    \n * //结果

    xx

    CC

    xxx

    \n * //

    xxxx

    |

    xxx

    当前选区在两个p标签之间\n * //插入 xxxx\n * //结果

    xxxx

    xxxx

    xxx

    \n * ```\n */\n\nUE.commands['inserthtml'] = {\n execCommand: function (command,html,notNeedFilter){\n var me = this,\n range,\n div;\n if(!html){\n return;\n }\n if(me.fireEvent('beforeinserthtml',html) === true){\n return;\n }\n range = me.selection.getRange();\n div = range.document.createElement( 'div' );\n div.style.display = 'inline';\n\n if (!notNeedFilter) {\n var root = UE.htmlparser(html);\n //如果给了过滤规则就先进行过滤\n if(me.options.filterRules){\n UE.filterNode(root,me.options.filterRules);\n }\n //执行默认的处理\n me.filterInputRule(root);\n html = root.toHtml()\n }\n div.innerHTML = utils.trim( html );\n\n if ( !range.collapsed ) {\n var tmpNode = range.startContainer;\n if(domUtils.isFillChar(tmpNode)){\n range.setStartBefore(tmpNode)\n }\n tmpNode = range.endContainer;\n if(domUtils.isFillChar(tmpNode)){\n range.setEndAfter(tmpNode)\n }\n range.txtToElmBoundary();\n //结束边界可能放到了br的前边,要把br包含进来\n // x[xxx]
    \n if(range.endContainer && range.endContainer.nodeType == 1){\n tmpNode = range.endContainer.childNodes[range.endOffset];\n if(tmpNode && domUtils.isBr(tmpNode)){\n range.setEndAfter(tmpNode);\n }\n }\n if(range.startOffset == 0){\n tmpNode = range.startContainer;\n if(domUtils.isBoundaryNode(tmpNode,'firstChild') ){\n tmpNode = range.endContainer;\n if(range.endOffset == (tmpNode.nodeType == 3 ? tmpNode.nodeValue.length : tmpNode.childNodes.length) && domUtils.isBoundaryNode(tmpNode,'lastChild')){\n me.body.innerHTML = '

    '+(browser.ie ? '' : '
    ')+'

    ';\n range.setStart(me.body.firstChild,0).collapse(true)\n\n }\n }\n }\n !range.collapsed && range.deleteContents();\n if(range.startContainer.nodeType == 1){\n var child = range.startContainer.childNodes[range.startOffset],pre;\n if(child && domUtils.isBlockElm(child) && (pre = child.previousSibling) && domUtils.isBlockElm(pre)){\n range.setEnd(pre,pre.childNodes.length).collapse();\n while(child.firstChild){\n pre.appendChild(child.firstChild);\n }\n domUtils.remove(child);\n }\n }\n\n }\n\n\n var child,parent,pre,tmp,hadBreak = 0, nextNode;\n //如果当前位置选中了fillchar要干掉,要不会产生空行\n if(range.inFillChar()){\n child = range.startContainer;\n if(domUtils.isFillChar(child)){\n range.setStartBefore(child).collapse(true);\n domUtils.remove(child);\n }else if(domUtils.isFillChar(child,true)){\n child.nodeValue = child.nodeValue.replace(fillCharReg,'');\n range.startOffset--;\n range.collapsed && range.collapse(true)\n }\n }\n //列表单独处理\n var li = domUtils.findParentByTagName(range.startContainer,'li',true);\n if(li){\n var next,last;\n while(child = div.firstChild){\n //针对hr单独处理一下先\n while(child && (child.nodeType == 3 || !domUtils.isBlockElm(child) || child.tagName=='HR' )){\n next = child.nextSibling;\n range.insertNode( child).collapse();\n last = child;\n child = next;\n\n }\n if(child){\n if(/^(ol|ul)$/i.test(child.tagName)){\n while(child.firstChild){\n last = child.firstChild;\n domUtils.insertAfter(li,child.firstChild);\n li = li.nextSibling;\n }\n domUtils.remove(child)\n }else{\n var tmpLi;\n next = child.nextSibling;\n tmpLi = me.document.createElement('li');\n domUtils.insertAfter(li,tmpLi);\n tmpLi.appendChild(child);\n last = child;\n child = next;\n li = tmpLi;\n }\n }\n }\n li = domUtils.findParentByTagName(range.startContainer,'li',true);\n if(domUtils.isEmptyBlock(li)){\n domUtils.remove(li)\n }\n if(last){\n\n range.setStartAfter(last).collapse(true).select(true)\n }\n }else{\n while ( child = div.firstChild ) {\n if(hadBreak){\n var p = me.document.createElement('p');\n while(child && (child.nodeType == 3 || !dtd.$block[child.tagName])){\n nextNode = child.nextSibling;\n p.appendChild(child);\n child = nextNode;\n }\n if(p.firstChild){\n\n child = p\n }\n }\n range.insertNode( child );\n nextNode = child.nextSibling;\n if ( !hadBreak && child.nodeType == domUtils.NODE_ELEMENT && domUtils.isBlockElm( child ) ){\n\n parent = domUtils.findParent( child,function ( node ){ return domUtils.isBlockElm( node ); } );\n if ( parent && parent.tagName.toLowerCase() != 'body' && !(dtd[parent.tagName][child.nodeName] && child.parentNode === parent)){\n if(!dtd[parent.tagName][child.nodeName]){\n pre = parent;\n }else{\n tmp = child.parentNode;\n while (tmp !== parent){\n pre = tmp;\n tmp = tmp.parentNode;\n\n }\n }\n\n\n domUtils.breakParent( child, pre || tmp );\n //去掉break后前一个多余的节点

    |<[p> ==>

    |

    \n var pre = child.previousSibling;\n domUtils.trimWhiteTextNode(pre);\n if(!pre.childNodes.length){\n domUtils.remove(pre);\n }\n //trace:2012,在非ie的情况,切开后剩下的节点有可能不能点入光标添加br占位\n\n if(!browser.ie &&\n (next = child.nextSibling) &&\n domUtils.isBlockElm(next) &&\n next.lastChild &&\n !domUtils.isBr(next.lastChild)){\n next.appendChild(me.document.createElement('br'));\n }\n hadBreak = 1;\n }\n }\n var next = child.nextSibling;\n if(!div.firstChild && next && domUtils.isBlockElm(next)){\n\n range.setStart(next,0).collapse(true);\n break;\n }\n range.setEndAfter( child ).collapse();\n\n }\n\n child = range.startContainer;\n\n if(nextNode && domUtils.isBr(nextNode)){\n domUtils.remove(nextNode)\n }\n //用chrome可能有空白展位符\n if(domUtils.isBlockElm(child) && domUtils.isEmptyNode(child)){\n if(nextNode = child.nextSibling){\n domUtils.remove(child);\n if(nextNode.nodeType == 1 && dtd.$block[nextNode.tagName]){\n\n range.setStart(nextNode,0).collapse(true).shrinkBoundary()\n }\n }else{\n\n try{\n child.innerHTML = browser.ie ? domUtils.fillChar : '
    ';\n }catch(e){\n range.setStartBefore(child);\n domUtils.remove(child)\n }\n\n }\n\n }\n //加上true因为在删除表情等时会删两次,第一次是删的fillData\n try{\n range.select(true);\n }catch(e){}\n\n }\n\n\n\n setTimeout(function(){\n range = me.selection.getRange();\n range.scrollToView(me.autoHeightEnabled,me.autoHeightEnabled ? domUtils.getXY(me.iframe).y:0);\n me.fireEvent('afterinserthtml', html);\n },200);\n }\n};\n\n\n// plugins/autotypeset.js\n/**\n * 自动排版\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 对当前编辑器的内容执行自动排版, 排版的行为根据config配置文件里的“autotypeset”选项进行控制。\n * @command autotypeset\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'autotypeset' );\n * ```\n */\n\nUE.plugins['autotypeset'] = function(){\n\n this.setOpt({'autotypeset': {\n mergeEmptyline: true, //合并空行\n removeClass: true, //去掉冗余的class\n removeEmptyline: false, //去掉空行\n textAlign:\"left\", //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版\n imageBlockLine: 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版\n pasteFilter: false, //根据规则过滤没事粘贴进来的内容\n clearFontSize: false, //去掉所有的内嵌字号,使用编辑器默认的字号\n clearFontFamily: false, //去掉所有的内嵌字体,使用编辑器默认的字体\n removeEmptyNode: false, // 去掉空节点\n //可以去掉的标签\n removeTagNames: utils.extend({div:1},dtd.$removeEmpty),\n indent: false, // 行首缩进\n indentValue : '2em', //行首缩进的大小\n bdc2sb: false,\n tobdc: false\n }});\n\n var me = this,\n opt = me.options.autotypeset,\n remainClass = {\n 'selectTdClass':1,\n 'pagebreak':1,\n 'anchorclass':1\n },\n remainTag = {\n 'li':1\n },\n tags = {\n div:1,\n p:1,\n //trace:2183 这些也认为是行\n blockquote:1,center:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,\n span:1\n },\n highlightCont;\n //升级了版本,但配置项目里没有autotypeset\n if(!opt){\n return;\n }\n\n readLocalOpts();\n\n function isLine(node,notEmpty){\n if(!node || node.nodeType == 3)\n return 0;\n if(domUtils.isBr(node))\n return 1;\n if(node && node.parentNode && tags[node.tagName.toLowerCase()]){\n if(highlightCont && highlightCont.contains(node)\n ||\n node.getAttribute('pagebreak')\n ){\n return 0;\n }\n\n return notEmpty ? !domUtils.isEmptyBlock(node) : domUtils.isEmptyBlock(node,new RegExp('[\\\\s'+domUtils.fillChar\n +']','g'));\n }\n }\n\n function removeNotAttributeSpan(node){\n if(!node.style.cssText){\n domUtils.removeAttributes(node,['style']);\n if(node.tagName.toLowerCase() == 'span' && domUtils.hasNoAttributes(node)){\n domUtils.remove(node,true);\n }\n }\n }\n function autotype(type,html){\n\n var me = this,cont;\n if(html){\n if(!opt.pasteFilter){\n return;\n }\n cont = me.document.createElement('div');\n cont.innerHTML = html.html;\n }else{\n cont = me.document.body;\n }\n var nodes = domUtils.getElementsByTagName(cont,'*');\n\n // 行首缩进,段落方向,段间距,段内间距\n for(var i=0,ci;ci=nodes[i++];){\n\n if(me.fireEvent('excludeNodeinautotype',ci) === true){\n continue;\n }\n //font-size\n if(opt.clearFontSize && ci.style.fontSize){\n domUtils.removeStyle(ci,'font-size');\n\n removeNotAttributeSpan(ci);\n\n }\n //font-family\n if(opt.clearFontFamily && ci.style.fontFamily){\n domUtils.removeStyle(ci,'font-family');\n removeNotAttributeSpan(ci);\n }\n\n if(isLine(ci)){\n //合并空行\n if(opt.mergeEmptyline ){\n var next = ci.nextSibling,tmpNode,isBr = domUtils.isBr(ci);\n while(isLine(next)){\n tmpNode = next;\n next = tmpNode.nextSibling;\n if(isBr && (!next || next && !domUtils.isBr(next))){\n break;\n }\n domUtils.remove(tmpNode);\n }\n\n }\n //去掉空行,保留占位的空行\n if(opt.removeEmptyline && domUtils.inDoc(ci,cont) && !remainTag[ci.parentNode.tagName.toLowerCase()] ){\n if(domUtils.isBr(ci)){\n next = ci.nextSibling;\n if(next && !domUtils.isBr(next)){\n continue;\n }\n }\n domUtils.remove(ci);\n continue;\n\n }\n\n }\n if(isLine(ci,true) && ci.tagName != 'SPAN'){\n if(opt.indent){\n ci.style.textIndent = opt.indentValue;\n }\n if(opt.textAlign){\n ci.style.textAlign = opt.textAlign;\n }\n // if(opt.lineHeight)\n // ci.style.lineHeight = opt.lineHeight + 'cm';\n\n }\n\n //去掉class,保留的class不去掉\n if(opt.removeClass && ci.className && !remainClass[ci.className.toLowerCase()]){\n\n if(highlightCont && highlightCont.contains(ci)){\n continue;\n }\n domUtils.removeAttributes(ci,['class']);\n }\n\n //表情不处理\n if(opt.imageBlockLine && ci.tagName.toLowerCase() == 'img' && !ci.getAttribute('emotion')){\n if(html){\n var img = ci;\n switch (opt.imageBlockLine){\n case 'left':\n case 'right':\n case 'none':\n var pN = img.parentNode,tmpNode,pre,next;\n while(dtd.$inline[pN.tagName] || pN.tagName == 'A'){\n pN = pN.parentNode;\n }\n tmpNode = pN;\n if(tmpNode.tagName == 'P' && domUtils.getStyle(tmpNode,'text-align') == 'center'){\n if(!domUtils.isBody(tmpNode) && domUtils.getChildCount(tmpNode,function(node){return !domUtils.isBr(node) && !domUtils.isWhitespace(node)}) == 1){\n pre = tmpNode.previousSibling;\n next = tmpNode.nextSibling;\n if(pre && next && pre.nodeType == 1 && next.nodeType == 1 && pre.tagName == next.tagName && domUtils.isBlockElm(pre)){\n pre.appendChild(tmpNode.firstChild);\n while(next.firstChild){\n pre.appendChild(next.firstChild);\n }\n domUtils.remove(tmpNode);\n domUtils.remove(next);\n }else{\n domUtils.setStyle(tmpNode,'text-align','');\n }\n\n\n }\n\n\n }\n domUtils.setStyle(img,'float', opt.imageBlockLine);\n break;\n case 'center':\n if(me.queryCommandValue('imagefloat') != 'center'){\n pN = img.parentNode;\n domUtils.setStyle(img,'float','none');\n tmpNode = img;\n while(pN && domUtils.getChildCount(pN,function(node){return !domUtils.isBr(node) && !domUtils.isWhitespace(node)}) == 1\n && (dtd.$inline[pN.tagName] || pN.tagName == 'A')){\n tmpNode = pN;\n pN = pN.parentNode;\n }\n var pNode = me.document.createElement('p');\n domUtils.setAttributes(pNode,{\n\n style:'text-align:center'\n });\n tmpNode.parentNode.insertBefore(pNode,tmpNode);\n pNode.appendChild(tmpNode);\n domUtils.setStyle(tmpNode,'float','');\n\n }\n\n\n }\n } else {\n var range = me.selection.getRange();\n range.selectNode(ci).select();\n me.execCommand('imagefloat', opt.imageBlockLine);\n }\n\n }\n\n //去掉冗余的标签\n if(opt.removeEmptyNode){\n if(opt.removeTagNames[ci.tagName.toLowerCase()] && domUtils.hasNoAttributes(ci) && domUtils.isEmptyBlock(ci)){\n domUtils.remove(ci);\n }\n }\n }\n if(opt.tobdc){\n var root = UE.htmlparser(cont.innerHTML);\n root.traversal(function(node){\n if(node.type == 'text'){\n node.data = ToDBC(node.data)\n }\n });\n cont.innerHTML = root.toHtml()\n }\n if(opt.bdc2sb){\n var root = UE.htmlparser(cont.innerHTML);\n root.traversal(function(node){\n if(node.type == 'text'){\n node.data = DBC2SB(node.data)\n }\n });\n cont.innerHTML = root.toHtml()\n }\n if(html){\n html.html = cont.innerHTML;\n }\n }\n if(opt.pasteFilter){\n me.addListener('beforepaste',autotype);\n }\n\n function DBC2SB(str) {\n var result = '';\n for (var i = 0; i < str.length; i++) {\n var code = str.charCodeAt(i); //获取当前字符的unicode编码\n if (code >= 65281 && code <= 65373)//在这个unicode编码范围中的是所有的英文字母已经各种字符\n {\n result += String.fromCharCode(str.charCodeAt(i) - 65248); //把全角字符的unicode编码转换为对应半角字符的unicode码\n } else if (code == 12288)//空格\n {\n result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);\n } else {\n result += str.charAt(i);\n }\n }\n return result;\n }\n function ToDBC(txtstring) {\n txtstring = utils.html(txtstring);\n var tmp = \"\";\n var mark = \"\";/*用于判断,如果是html尖括里的标记,则不进行全角的转换*/\n for (var i = 0; i < txtstring.length; i++) {\n if (txtstring.charCodeAt(i) == 32) {\n tmp = tmp + String.fromCharCode(12288);\n }\n else if (txtstring.charCodeAt(i) < 127) {\n tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248);\n }\n else {\n tmp += txtstring.charAt(i);\n }\n }\n return tmp;\n }\n\n function readLocalOpts() {\n var cookieOpt = me.getPreferences('autotypeset');\n utils.extend(me.options.autotypeset, cookieOpt);\n }\n\n me.commands['autotypeset'] = {\n execCommand:function () {\n me.removeListener('beforepaste',autotype);\n if(opt.pasteFilter){\n me.addListener('beforepaste',autotype);\n }\n autotype.call(me)\n }\n\n };\n\n};\n\n\n\n// plugins/autosubmit.js\n/**\n * 快捷键提交\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 提交表单\n * @command autosubmit\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'autosubmit' );\n * ```\n */\n\nUE.plugin.register('autosubmit',function(){\n return {\n shortcutkey:{\n \"autosubmit\":\"ctrl+13\" //手动提交\n },\n commands:{\n 'autosubmit':{\n execCommand:function () {\n var me=this,\n form = domUtils.findParentByTagName(me.iframe,\"form\", false);\n if (form){\n if(me.fireEvent(\"beforesubmit\")===false){\n return;\n }\n me.sync();\n form.submit();\n }\n }\n }\n }\n }\n});\n\n// plugins/background.js\n/**\n * 背景插件,为UEditor提供设置背景功能\n * @file\n * @since 1.2.6.1\n */\nUE.plugin.register('background', function () {\n var me = this,\n cssRuleId = 'editor_background',\n isSetColored,\n reg = new RegExp('body[\\\\s]*\\\\{(.+)\\\\}', 'i');\n\n function stringToObj(str) {\n var obj = {}, styles = str.split(';');\n utils.each(styles, function (v) {\n var index = v.indexOf(':'),\n key = utils.trim(v.substr(0, index)).toLowerCase();\n key && (obj[key] = utils.trim(v.substr(index + 1) || ''));\n });\n return obj;\n }\n\n function setBackground(obj) {\n if (obj) {\n var styles = [];\n for (var name in obj) {\n if (obj.hasOwnProperty(name)) {\n styles.push(name + \":\" + obj[name] + '; ');\n }\n }\n utils.cssRule(cssRuleId, styles.length ? ('body{' + styles.join(\"\") + '}') : '', me.document);\n } else {\n utils.cssRule(cssRuleId, '', me.document)\n }\n }\n //重写editor.hasContent方法\n\n var orgFn = me.hasContents;\n me.hasContents = function(){\n if(me.queryCommandValue('background')){\n return true\n }\n return orgFn.apply(me,arguments);\n };\n return {\n bindEvents: {\n 'getAllHtml': function (type, headHtml) {\n var body = this.body,\n su = domUtils.getComputedStyle(body, \"background-image\"),\n url = \"\";\n if (su.indexOf(me.options.imagePath) > 0) {\n url = su.substring(su.indexOf(me.options.imagePath), su.length - 1).replace(/\"|\\(|\\)/ig, \"\");\n } else {\n url = su != \"none\" ? su.replace(/url\\(\"?|\"?\\)/ig, \"\") : \"\";\n }\n var html = ' ';\n headHtml.push(html);\n },\n 'aftersetcontent': function () {\n if(isSetColored == false) setBackground();\n }\n },\n inputRule: function (root) {\n isSetColored = false;\n utils.each(root.getNodesByTagName('p'), function (p) {\n var styles = p.getAttr('data-background');\n if (styles) {\n isSetColored = true;\n setBackground(stringToObj(styles));\n p.parentNode.removeChild(p);\n }\n })\n },\n outputRule: function (root) {\n var me = this,\n styles = (utils.cssRule(cssRuleId, me.document) || '').replace(/[\\n\\r]+/g, '').match(reg);\n if (styles) {\n root.appendChild(UE.uNode.createElement('


    '));\n }\n },\n commands: {\n 'background': {\n execCommand: function (cmd, obj) {\n setBackground(obj);\n },\n queryCommandValue: function () {\n var me = this,\n styles = (utils.cssRule(cssRuleId, me.document) || '').replace(/[\\n\\r]+/g, '').match(reg);\n return styles ? stringToObj(styles[1]) : null;\n },\n notNeedUndo: true\n }\n }\n }\n});\n\n// plugins/image.js\n/**\n * 图片插入、排版插件\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 图片对齐方式\n * @command imagefloat\n * @method execCommand\n * @remind 值center为独占一行居中\n * @param { String } cmd 命令字符串\n * @param { String } align 对齐方式,可传left、right、none、center\n * @remaind center表示图片独占一行\n * @example\n * ```javascript\n * editor.execCommand( 'imagefloat', 'center' );\n * ```\n */\n\n/**\n * 如果选区所在位置是图片区域\n * @command imagefloat\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回图片对齐方式\n * @example\n * ```javascript\n * editor.queryCommandValue( 'imagefloat' );\n * ```\n */\n\nUE.commands['imagefloat'] = {\n execCommand:function (cmd, align) {\n var me = this,\n range = me.selection.getRange();\n if (!range.collapsed) {\n var img = range.getClosedNode();\n if (img && img.tagName == 'IMG') {\n switch (align) {\n case 'left':\n case 'right':\n case 'none':\n var pN = img.parentNode, tmpNode, pre, next;\n while (dtd.$inline[pN.tagName] || pN.tagName == 'A') {\n pN = pN.parentNode;\n }\n tmpNode = pN;\n if (tmpNode.tagName == 'P' && domUtils.getStyle(tmpNode, 'text-align') == 'center') {\n if (!domUtils.isBody(tmpNode) && domUtils.getChildCount(tmpNode, function (node) {\n return !domUtils.isBr(node) && !domUtils.isWhitespace(node);\n }) == 1) {\n pre = tmpNode.previousSibling;\n next = tmpNode.nextSibling;\n if (pre && next && pre.nodeType == 1 && next.nodeType == 1 && pre.tagName == next.tagName && domUtils.isBlockElm(pre)) {\n pre.appendChild(tmpNode.firstChild);\n while (next.firstChild) {\n pre.appendChild(next.firstChild);\n }\n domUtils.remove(tmpNode);\n domUtils.remove(next);\n } else {\n domUtils.setStyle(tmpNode, 'text-align', '');\n }\n\n\n }\n\n range.selectNode(img).select();\n }\n domUtils.setStyle(img, 'float', align == 'none' ? '' : align);\n if(align == 'none'){\n domUtils.removeAttributes(img,'align');\n }\n\n break;\n case 'center':\n if (me.queryCommandValue('imagefloat') != 'center') {\n pN = img.parentNode;\n domUtils.setStyle(img, 'float', '');\n domUtils.removeAttributes(img,'align');\n tmpNode = img;\n while (pN && domUtils.getChildCount(pN, function (node) {\n return !domUtils.isBr(node) && !domUtils.isWhitespace(node);\n }) == 1\n && (dtd.$inline[pN.tagName] || pN.tagName == 'A')) {\n tmpNode = pN;\n pN = pN.parentNode;\n }\n range.setStartBefore(tmpNode).setCursor(false);\n pN = me.document.createElement('div');\n pN.appendChild(tmpNode);\n domUtils.setStyle(tmpNode, 'float', '');\n\n me.execCommand('insertHtml', '

    ' + pN.innerHTML + '

    ');\n\n tmpNode = me.document.getElementById('_img_parent_tmp');\n tmpNode.removeAttribute('id');\n tmpNode = tmpNode.firstChild;\n range.selectNode(tmpNode).select();\n //去掉后边多余的元素\n next = tmpNode.parentNode.nextSibling;\n if (next && domUtils.isEmptyNode(next)) {\n domUtils.remove(next);\n }\n\n }\n\n break;\n }\n\n }\n }\n },\n queryCommandValue:function () {\n var range = this.selection.getRange(),\n startNode, floatStyle;\n if (range.collapsed) {\n return 'none';\n }\n startNode = range.getClosedNode();\n if (startNode && startNode.nodeType == 1 && startNode.tagName == 'IMG') {\n floatStyle = domUtils.getComputedStyle(startNode, 'float') || startNode.getAttribute('align');\n\n if (floatStyle == 'none') {\n floatStyle = domUtils.getComputedStyle(startNode.parentNode, 'text-align') == 'center' ? 'center' : floatStyle;\n }\n return {\n left:1,\n right:1,\n center:1\n }[floatStyle] ? floatStyle : 'none';\n }\n return 'none';\n\n\n },\n queryCommandState:function () {\n var range = this.selection.getRange(),\n startNode;\n\n if (range.collapsed) return -1;\n\n startNode = range.getClosedNode();\n if (startNode && startNode.nodeType == 1 && startNode.tagName == 'IMG') {\n return 0;\n }\n return -1;\n }\n};\n\n\n/**\n * 插入图片\n * @command insertimage\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { Object } opt 属性键值对,这些属性都将被复制到当前插入图片\n * @remind 该命令第二个参数可接受一个图片配置项对象的数组,可以插入多张图片,\n * 此时数组的每一个元素都是一个Object类型的图片属性集合。\n * @example\n * ```javascript\n * editor.execCommand( 'insertimage', {\n * src:'a/b/c.jpg',\n * width:'100',\n * height:'100'\n * } );\n * ```\n * @example\n * ```javascript\n * editor.execCommand( 'insertimage', [{\n * src:'a/b/c.jpg',\n * width:'100',\n * height:'100'\n * },{\n * src:'a/b/d.jpg',\n * width:'100',\n * height:'100'\n * }] );\n * ```\n */\n\nUE.commands['insertimage'] = {\n execCommand:function (cmd, opt) {\n\n opt = utils.isArray(opt) ? opt : [opt];\n if (!opt.length) {\n return;\n }\n var me = this,\n range = me.selection.getRange(),\n img = range.getClosedNode();\n\n if(me.fireEvent('beforeinsertimage', opt) === true){\n return;\n }\n\n function unhtmlData(imgCi) {\n\n utils.each('width,height,border,hspace,vspace'.split(','), function (item) {\n\n if (imgCi[item]) {\n imgCi[item] = parseInt(imgCi[item], 10) || 0;\n }\n });\n\n utils.each('src,_src'.split(','), function (item) {\n\n if (imgCi[item]) {\n imgCi[item] = utils.unhtmlForUrl(imgCi[item]);\n }\n });\n utils.each('title,alt'.split(','), function (item) {\n\n if (imgCi[item]) {\n imgCi[item] = utils.unhtml(imgCi[item]);\n }\n });\n }\n\n if (img && /img/i.test(img.tagName) && (img.className != \"edui-faked-video\" || img.className.indexOf(\"edui-upload-video\")!=-1) && !img.getAttribute(\"word_img\")) {\n var first = opt.shift();\n var floatStyle = first['floatStyle'];\n delete first['floatStyle'];\n//// img.style.border = (first.border||0) +\"px solid #000\";\n//// img.style.margin = (first.margin||0) +\"px\";\n// img.style.cssText += ';margin:' + (first.margin||0) +\"px;\" + 'border:' + (first.border||0) +\"px solid #000\";\n domUtils.setAttributes(img, first);\n me.execCommand('imagefloat', floatStyle);\n if (opt.length > 0) {\n range.setStartAfter(img).setCursor(false, true);\n me.execCommand('insertimage', opt);\n }\n\n } else {\n var html = [], str = '', ci;\n ci = opt[0];\n if (opt.length == 1) {\n unhtmlData(ci);\n\n str = '\"'';\n if (ci['floatStyle'] == 'center') {\n str = '

    ' + str + '

    ';\n }\n html.push(str);\n\n } else {\n for (var i = 0; ci = opt[i++];) {\n unhtmlData(ci);\n str = '

    ';\n html.push(str);\n }\n }\n\n me.execCommand('insertHtml', html.join(''));\n }\n\n me.fireEvent('afterinsertimage', opt)\n }\n};\n\n\n// plugins/justify.js\n/**\n * 段落格式\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 段落对齐方式\n * @command justify\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } align 对齐方式:left => 居左,right => 居右,center => 居中,justify => 两端对齐\n * @example\n * ```javascript\n * editor.execCommand( 'justify', 'center' );\n * ```\n */\n/**\n * 如果选区所在位置是段落区域,返回当前段落对齐方式\n * @command justify\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回段落对齐方式\n * @example\n * ```javascript\n * editor.queryCommandValue( 'justify' );\n * ```\n */\n\nUE.plugins['justify']=function(){\n var me=this,\n block = domUtils.isBlockElm,\n defaultValue = {\n left:1,\n right:1,\n center:1,\n justify:1\n },\n doJustify = function (range, style) {\n var bookmark = range.createBookmark(),\n filterFn = function (node) {\n return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' && !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace(node);\n };\n\n range.enlarge(true);\n var bookmark2 = range.createBookmark(),\n current = domUtils.getNextDomNode(bookmark2.start, false, filterFn),\n tmpRange = range.cloneRange(),\n tmpNode;\n while (current && !(domUtils.getPosition(current, bookmark2.end) & domUtils.POSITION_FOLLOWING)) {\n if (current.nodeType == 3 || !block(current)) {\n tmpRange.setStartBefore(current);\n while (current && current !== bookmark2.end && !block(current)) {\n tmpNode = current;\n current = domUtils.getNextDomNode(current, false, null, function (node) {\n return !block(node);\n });\n }\n tmpRange.setEndAfter(tmpNode);\n var common = tmpRange.getCommonAncestor();\n if (!domUtils.isBody(common) && block(common)) {\n domUtils.setStyles(common, utils.isString(style) ? {'text-align':style} : style);\n current = common;\n } else {\n var p = range.document.createElement('p');\n domUtils.setStyles(p, utils.isString(style) ? {'text-align':style} : style);\n var frag = tmpRange.extractContents();\n p.appendChild(frag);\n tmpRange.insertNode(p);\n current = p;\n }\n current = domUtils.getNextDomNode(current, false, filterFn);\n } else {\n current = domUtils.getNextDomNode(current, true, filterFn);\n }\n }\n return range.moveToBookmark(bookmark2).moveToBookmark(bookmark);\n };\n\n UE.commands['justify'] = {\n execCommand:function (cmdName, align) {\n var range = this.selection.getRange(),\n txt;\n\n //闭合时单独处理\n if (range.collapsed) {\n txt = this.document.createTextNode('p');\n range.insertNode(txt);\n }\n doJustify(range, align);\n if (txt) {\n range.setStartBefore(txt).collapse(true);\n domUtils.remove(txt);\n }\n\n range.select();\n\n\n return true;\n },\n queryCommandValue:function () {\n var startNode = this.selection.getStart(),\n value = domUtils.getComputedStyle(startNode, 'text-align');\n return defaultValue[value] ? value : 'left';\n },\n queryCommandState:function () {\n var start = this.selection.getStart(),\n cell = start && domUtils.findParentByTagName(start, [\"td\", \"th\",\"caption\"], true);\n\n return cell? -1:0;\n }\n\n };\n};\n\n\n// plugins/font.js\n/**\n * 字体颜色,背景色,字号,字体,下划线,删除线\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 字体颜色\n * @command forecolor\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } value 色值(必须十六进制)\n * @example\n * ```javascript\n * editor.execCommand( 'forecolor', '#000' );\n * ```\n */\n/**\n * 返回选区字体颜色\n * @command forecolor\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回字体颜色\n * @example\n * ```javascript\n * editor.queryCommandValue( 'forecolor' );\n * ```\n */\n\n/**\n * 字体背景颜色\n * @command backcolor\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } value 色值(必须十六进制)\n * @example\n * ```javascript\n * editor.execCommand( 'backcolor', '#000' );\n * ```\n */\n/**\n * 返回选区字体颜色\n * @command backcolor\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回字体背景颜色\n * @example\n * ```javascript\n * editor.queryCommandValue( 'backcolor' );\n * ```\n */\n\n/**\n * 字体大小\n * @command fontsize\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } value 字体大小\n * @example\n * ```javascript\n * editor.execCommand( 'fontsize', '14px' );\n * ```\n */\n/**\n * 返回选区字体大小\n * @command fontsize\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回字体大小\n * @example\n * ```javascript\n * editor.queryCommandValue( 'fontsize' );\n * ```\n */\n\n/**\n * 字体样式\n * @command fontfamily\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } value 字体样式\n * @example\n * ```javascript\n * editor.execCommand( 'fontfamily', '微软雅黑' );\n * ```\n */\n/**\n * 返回选区字体样式\n * @command fontfamily\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回字体样式\n * @example\n * ```javascript\n * editor.queryCommandValue( 'fontfamily' );\n * ```\n */\n\n/**\n * 字体下划线,与删除线互斥\n * @command underline\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'underline' );\n * ```\n */\n\n/**\n * 字体删除线,与下划线互斥\n * @command strikethrough\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'strikethrough' );\n * ```\n */\n\n/**\n * 字体边框\n * @command fontborder\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'fontborder' );\n * ```\n */\n\nUE.plugins['font'] = function () {\n var me = this,\n fonts = {\n 'forecolor': 'color',\n 'backcolor': 'background-color',\n 'fontsize': 'font-size',\n 'fontfamily': 'font-family',\n 'underline': 'text-decoration',\n 'strikethrough': 'text-decoration',\n 'fontborder': 'border'\n },\n needCmd = {'underline': 1, 'strikethrough': 1, 'fontborder': 1},\n needSetChild = {\n 'forecolor': 'color',\n 'backcolor': 'background-color',\n 'fontsize': 'font-size',\n 'fontfamily': 'font-family'\n\n };\n me.setOpt({\n 'fontfamily': [\n { name: 'songti', val: '宋体,SimSun'},\n { name: 'yahei', val: '微软雅黑,Microsoft YaHei'},\n { name: 'kaiti', val: '楷体,楷体_GB2312, SimKai'},\n { name: 'heiti', val: '黑体, SimHei'},\n { name: 'lishu', val: '隶书, SimLi'},\n { name: 'andaleMono', val: 'andale mono'},\n { name: 'arial', val: 'arial, helvetica,sans-serif'},\n { name: 'arialBlack', val: 'arial black,avant garde'},\n { name: 'comicSansMs', val: 'comic sans ms'},\n { name: 'impact', val: 'impact,chicago'},\n { name: 'timesNewRoman', val: 'times new roman'}\n ],\n 'fontsize': [10, 11, 12, 14, 16, 18, 20, 24, 36]\n });\n\n function mergeWithParent(node){\n var parent;\n while(parent = node.parentNode){\n if(parent.tagName == 'SPAN' && domUtils.getChildCount(parent,function(child){\n return !domUtils.isBookmarkNode(child) && !domUtils.isBr(child)\n }) == 1) {\n parent.style.cssText += node.style.cssText;\n domUtils.remove(node,true);\n node = parent;\n\n }else{\n break;\n }\n }\n\n }\n function mergeChild(rng,cmdName,value){\n if(needSetChild[cmdName]){\n rng.adjustmentBoundary();\n if(!rng.collapsed && rng.startContainer.nodeType == 1){\n var start = rng.startContainer.childNodes[rng.startOffset];\n if(start && domUtils.isTagNode(start,'span')){\n var bk = rng.createBookmark();\n utils.each(domUtils.getElementsByTagName(start, 'span'), function (span) {\n if (!span.parentNode || domUtils.isBookmarkNode(span))return;\n if(cmdName == 'backcolor' && domUtils.getComputedStyle(span,'background-color').toLowerCase() === value){\n return;\n }\n domUtils.removeStyle(span,needSetChild[cmdName]);\n if(span.style.cssText.replace(/^\\s+$/,'').length == 0){\n domUtils.remove(span,true)\n }\n });\n rng.moveToBookmark(bk)\n }\n }\n }\n\n }\n function mergesibling(rng,cmdName,value) {\n var collapsed = rng.collapsed,\n bk = rng.createBookmark(), common;\n if (collapsed) {\n common = bk.start.parentNode;\n while (dtd.$inline[common.tagName]) {\n common = common.parentNode;\n }\n } else {\n common = domUtils.getCommonAncestor(bk.start, bk.end);\n }\n utils.each(domUtils.getElementsByTagName(common, 'span'), function (span) {\n if (!span.parentNode || domUtils.isBookmarkNode(span))return;\n if (/\\s*border\\s*:\\s*none;?\\s*/i.test(span.style.cssText)) {\n if(/^\\s*border\\s*:\\s*none;?\\s*$/.test(span.style.cssText)){\n domUtils.remove(span, true);\n }else{\n domUtils.removeStyle(span,'border');\n }\n return\n }\n if (/border/i.test(span.style.cssText) && span.parentNode.tagName == 'SPAN' && /border/i.test(span.parentNode.style.cssText)) {\n span.style.cssText = span.style.cssText.replace(/border[^:]*:[^;]+;?/gi, '');\n }\n if(!(cmdName=='fontborder' && value=='none')){\n var next = span.nextSibling;\n while (next && next.nodeType == 1 && next.tagName == 'SPAN' ) {\n if(domUtils.isBookmarkNode(next) && cmdName == 'fontborder') {\n span.appendChild(next);\n next = span.nextSibling;\n continue;\n }\n if (next.style.cssText == span.style.cssText) {\n domUtils.moveChild(next, span);\n domUtils.remove(next);\n }\n if (span.nextSibling === next)\n break;\n next = span.nextSibling;\n }\n }\n\n\n mergeWithParent(span);\n if(browser.ie && browser.version > 8 ){\n //拷贝父亲们的特别的属性,这里只做背景颜色的处理\n var parent = domUtils.findParent(span,function(n){return n.tagName == 'SPAN' && /background-color/.test(n.style.cssText)});\n if(parent && !/background-color/.test(span.style.cssText)){\n span.style.backgroundColor = parent.style.backgroundColor;\n }\n }\n\n });\n rng.moveToBookmark(bk);\n mergeChild(rng,cmdName,value)\n }\n\n me.addInputRule(function (root) {\n utils.each(root.getNodesByTagName('u s del font strike'), function (node) {\n if (node.tagName == 'font') {\n var cssStyle = [];\n for (var p in node.attrs) {\n switch (p) {\n case 'size':\n cssStyle.push('font-size:' +\n ({\n '1':'10',\n '2':'12',\n '3':'16',\n '4':'18',\n '5':'24',\n '6':'32',\n '7':'48'\n }[node.attrs[p]] || node.attrs[p]) + 'px');\n break;\n case 'color':\n cssStyle.push('color:' + node.attrs[p]);\n break;\n case 'face':\n cssStyle.push('font-family:' + node.attrs[p]);\n break;\n case 'style':\n cssStyle.push(node.attrs[p]);\n }\n }\n node.attrs = {\n 'style': cssStyle.join(';')\n };\n } else {\n var val = node.tagName == 'u' ? 'underline' : 'line-through';\n node.attrs = {\n 'style': (node.getAttr('style') || '') + 'text-decoration:' + val + ';'\n }\n }\n node.tagName = 'span';\n });\n// utils.each(root.getNodesByTagName('span'), function (node) {\n// var val;\n// if(val = node.getAttr('class')){\n// if(/fontstrikethrough/.test(val)){\n// node.setStyle('text-decoration','line-through');\n// if(node.attrs['class']){\n// node.attrs['class'] = node.attrs['class'].replace(/fontstrikethrough/,'');\n// }else{\n// node.setAttr('class')\n// }\n// }\n// if(/fontborder/.test(val)){\n// node.setStyle('border','1px solid #000');\n// if(node.attrs['class']){\n// node.attrs['class'] = node.attrs['class'].replace(/fontborder/,'');\n// }else{\n// node.setAttr('class')\n// }\n// }\n// }\n// });\n });\n// me.addOutputRule(function(root){\n// utils.each(root.getNodesByTagName('span'), function (node) {\n// var val;\n// if(val = node.getStyle('text-decoration')){\n// if(/line-through/.test(val)){\n// if(node.attrs['class']){\n// node.attrs['class'] += ' fontstrikethrough';\n// }else{\n// node.setAttr('class','fontstrikethrough')\n// }\n// }\n//\n// node.setStyle('text-decoration')\n// }\n// if(val = node.getStyle('border')){\n// if(/1px/.test(val) && /solid/.test(val)){\n// if(node.attrs['class']){\n// node.attrs['class'] += ' fontborder';\n//\n// }else{\n// node.setAttr('class','fontborder')\n// }\n// }\n// node.setStyle('border')\n//\n// }\n// });\n// });\n for (var p in fonts) {\n (function (cmd, style) {\n UE.commands[cmd] = {\n execCommand: function (cmdName, value) {\n value = value || (this.queryCommandState(cmdName) ? 'none' : cmdName == 'underline' ? 'underline' :\n cmdName == 'fontborder' ? '1px solid #000' :\n 'line-through');\n var me = this,\n range = this.selection.getRange(),\n text;\n\n if (value == 'default') {\n\n if (range.collapsed) {\n text = me.document.createTextNode('font');\n range.insertNode(text).select();\n\n }\n me.execCommand('removeFormat', 'span,a', style);\n if (text) {\n range.setStartBefore(text).collapse(true);\n domUtils.remove(text);\n }\n mergesibling(range,cmdName,value);\n range.select()\n } else {\n if (!range.collapsed) {\n if (needCmd[cmd] && me.queryCommandValue(cmd)) {\n me.execCommand('removeFormat', 'span,a', style);\n }\n range = me.selection.getRange();\n\n range.applyInlineStyle('span', {'style': style + ':' + value});\n mergesibling(range, cmdName,value);\n range.select();\n } else {\n\n var span = domUtils.findParentByTagName(range.startContainer, 'span', true);\n text = me.document.createTextNode('font');\n if (span && !span.children.length && !span[browser.ie ? 'innerText' : 'textContent'].replace(fillCharReg, '').length) {\n //for ie hack when enter\n range.insertNode(text);\n if (needCmd[cmd]) {\n range.selectNode(text).select();\n me.execCommand('removeFormat', 'span,a', style, null);\n\n span = domUtils.findParentByTagName(text, 'span', true);\n range.setStartBefore(text);\n\n }\n span && (span.style.cssText += ';' + style + ':' + value);\n range.collapse(true).select();\n\n\n } else {\n range.insertNode(text);\n range.selectNode(text).select();\n span = range.document.createElement('span');\n\n if (needCmd[cmd]) {\n //a标签内的不处理跳过\n if (domUtils.findParentByTagName(text, 'a', true)) {\n range.setStartBefore(text).setCursor();\n domUtils.remove(text);\n return;\n }\n me.execCommand('removeFormat', 'span,a', style);\n }\n\n span.style.cssText = style + ':' + value;\n\n\n text.parentNode.insertBefore(span, text);\n //修复,span套span 但样式不继承的问题\n if (!browser.ie || browser.ie && browser.version == 9) {\n var spanParent = span.parentNode;\n while (!domUtils.isBlockElm(spanParent)) {\n if (spanParent.tagName == 'SPAN') {\n //opera合并style不会加入\";\"\n span.style.cssText = spanParent.style.cssText + \";\" + span.style.cssText;\n }\n spanParent = spanParent.parentNode;\n }\n }\n\n\n if (opera) {\n setTimeout(function () {\n range.setStart(span, 0).collapse(true);\n mergesibling(range, cmdName,value);\n range.select();\n });\n } else {\n range.setStart(span, 0).collapse(true);\n mergesibling(range,cmdName,value);\n range.select();\n }\n\n //trace:981\n //domUtils.mergeToParent(span)\n }\n domUtils.remove(text);\n }\n\n\n }\n return true;\n },\n queryCommandValue: function (cmdName) {\n var startNode = this.selection.getStart();\n\n //trace:946\n if (cmdName == 'underline' || cmdName == 'strikethrough') {\n var tmpNode = startNode, value;\n while (tmpNode && !domUtils.isBlockElm(tmpNode) && !domUtils.isBody(tmpNode)) {\n if (tmpNode.nodeType == 1) {\n value = domUtils.getComputedStyle(tmpNode, style);\n if (value != 'none') {\n return value;\n }\n }\n\n tmpNode = tmpNode.parentNode;\n }\n return 'none';\n }\n if (cmdName == 'fontborder') {\n var tmp = startNode, val;\n while (tmp && dtd.$inline[tmp.tagName]) {\n if (val = domUtils.getComputedStyle(tmp, 'border')) {\n\n if (/1px/.test(val) && /solid/.test(val)) {\n return val;\n }\n }\n tmp = tmp.parentNode;\n }\n return ''\n }\n\n if( cmdName == 'FontSize' ) {\n var styleVal = domUtils.getComputedStyle(startNode, style),\n tmp = /^([\\d\\.]+)(\\w+)$/.exec( styleVal );\n\n if( tmp ) {\n\n return Math.floor( tmp[1] ) + tmp[2];\n\n }\n\n return styleVal;\n\n }\n\n return domUtils.getComputedStyle(startNode, style);\n },\n queryCommandState: function (cmdName) {\n if (!needCmd[cmdName])\n return 0;\n var val = this.queryCommandValue(cmdName);\n if (cmdName == 'fontborder') {\n return /1px/.test(val) && /solid/.test(val)\n } else {\n return cmdName == 'underline' ? /underline/.test(val) : /line\\-through/.test(val);\n\n }\n\n }\n };\n })(p, fonts[p]);\n }\n};\n\n// plugins/link.js\n/**\n * 超链接\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 插入超链接\n * @command link\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { Object } options 设置自定义属性,例如:url、title、target\n * @example\n * ```javascript\n * editor.execCommand( 'link', '{\n * url:'ueditor.baidu.com',\n * title:'ueditor',\n * target:'_blank'\n * }' );\n * ```\n */\n/**\n * 返回当前选中的第一个超链接节点\n * @command link\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { Element } 超链接节点\n * @example\n * ```javascript\n * editor.queryCommandValue( 'link' );\n * ```\n */\n\n/**\n * 取消超链接\n * @command unlink\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'unlink');\n * ```\n */\n\nUE.plugins['link'] = function(){\n function optimize( range ) {\n var start = range.startContainer,end = range.endContainer;\n\n if ( start = domUtils.findParentByTagName( start, 'a', true ) ) {\n range.setStartBefore( start );\n }\n if ( end = domUtils.findParentByTagName( end, 'a', true ) ) {\n range.setEndAfter( end );\n }\n }\n\n\n UE.commands['unlink'] = {\n execCommand : function() {\n var range = this.selection.getRange(),\n bookmark;\n if(range.collapsed && !domUtils.findParentByTagName( range.startContainer, 'a', true )){\n return;\n }\n bookmark = range.createBookmark();\n optimize( range );\n range.removeInlineStyle( 'a' ).moveToBookmark( bookmark ).select();\n },\n queryCommandState : function(){\n return !this.highlight && this.queryCommandValue('link') ? 0 : -1;\n }\n\n };\n function doLink(range,opt,me){\n var rngClone = range.cloneRange(),\n link = me.queryCommandValue('link');\n optimize( range = range.adjustmentBoundary() );\n var start = range.startContainer;\n if(start.nodeType == 1 && link){\n start = start.childNodes[range.startOffset];\n if(start && start.nodeType == 1 && start.tagName == 'A' && /^(?:https?|ftp|file)\\s*:\\s*\\/\\//.test(start[browser.ie?'innerText':'textContent'])){\n start[browser.ie ? 'innerText' : 'textContent'] = utils.html(opt.textValue||opt.href);\n\n }\n }\n if( !rngClone.collapsed || link){\n range.removeInlineStyle( 'a' );\n rngClone = range.cloneRange();\n }\n\n if ( rngClone.collapsed ) {\n var a = range.document.createElement( 'a'),\n text = '';\n if(opt.textValue){\n\n text = utils.html(opt.textValue);\n delete opt.textValue;\n }else{\n text = utils.html(opt.href);\n\n }\n domUtils.setAttributes( a, opt );\n start = domUtils.findParentByTagName( rngClone.startContainer, 'a', true );\n if(start && domUtils.isInNodeEndBoundary(rngClone,start)){\n range.setStartAfter(start).collapse(true);\n\n }\n a[browser.ie ? 'innerText' : 'textContent'] = text;\n range.insertNode(a).selectNode( a );\n } else {\n range.applyInlineStyle( 'a', opt );\n\n }\n }\n UE.commands['link'] = {\n execCommand : function( cmdName, opt ) {\n var range;\n opt._href && (opt._href = utils.unhtml(opt._href,/[<\">]/g));\n opt.href && (opt.href = utils.unhtml(opt.href,/[<\">]/g));\n opt.textValue && (opt.textValue = utils.unhtml(opt.textValue,/[<\">]/g));\n doLink(range=this.selection.getRange(),opt,this);\n //闭合都不加占位符,如果加了会在a后边多个占位符节点,导致a是图片背景组成的列表,出现空白问题\n range.collapse().select(true);\n\n },\n queryCommandValue : function() {\n var range = this.selection.getRange(),\n node;\n if ( range.collapsed ) {\n// node = this.selection.getStart();\n //在ie下getstart()取值偏上了\n node = range.startContainer;\n node = node.nodeType == 1 ? node : node.parentNode;\n\n if ( node && (node = domUtils.findParentByTagName( node, 'a', true )) && ! domUtils.isInNodeEndBoundary(range,node)) {\n\n return node;\n }\n } else {\n //trace:1111 如果是

    xx

    startContainer是p就会找不到a\n range.shrinkBoundary();\n var start = range.startContainer.nodeType == 3 || !range.startContainer.childNodes[range.startOffset] ? range.startContainer : range.startContainer.childNodes[range.startOffset],\n end = range.endContainer.nodeType == 3 || range.endOffset == 0 ? range.endContainer : range.endContainer.childNodes[range.endOffset-1],\n common = range.getCommonAncestor();\n node = domUtils.findParentByTagName( common, 'a', true );\n if ( !node && common.nodeType == 1){\n\n var as = common.getElementsByTagName( 'a' ),\n ps,pe;\n\n for ( var i = 0,ci; ci = as[i++]; ) {\n ps = domUtils.getPosition( ci, start ),pe = domUtils.getPosition( ci,end);\n if ( (ps & domUtils.POSITION_FOLLOWING || ps & domUtils.POSITION_CONTAINS)\n &&\n (pe & domUtils.POSITION_PRECEDING || pe & domUtils.POSITION_CONTAINS)\n ) {\n node = ci;\n break;\n }\n }\n }\n return node;\n }\n\n },\n queryCommandState : function() {\n //判断如果是视频的话连接不可用\n //fix 853\n var img = this.selection.getRange().getClosedNode(),\n flag = img && (img.className == \"edui-faked-video\" || img.className.indexOf(\"edui-upload-video\")!=-1);\n return flag ? -1 : 0;\n }\n };\n};\n\n// plugins/iframe.js\n///import core\n///import plugins\\inserthtml.js\n///commands 插入框架\n///commandsName InsertFrame\n///commandsTitle 插入Iframe\n///commandsDialog dialogs\\insertframe\n\nUE.plugins['insertframe'] = function() {\n var me =this;\n function deleteIframe(){\n me._iframe && delete me._iframe;\n }\n\n me.addListener(\"selectionchange\",function(){\n deleteIframe();\n });\n\n};\n\n\n\n// plugins/scrawl.js\n///import core\n///commands 涂鸦\n///commandsName Scrawl\n///commandsTitle 涂鸦\n///commandsDialog dialogs\\scrawl\nUE.commands['scrawl'] = {\n queryCommandState : function(){\n return ( browser.ie && browser.version <= 8 ) ? -1 :0;\n }\n};\n\n\n// plugins/removeformat.js\n/**\n * 清除格式\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 清除文字样式\n * @command removeformat\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param {String} tags 以逗号隔开的标签。如:strong\n * @param {String} style 样式如:color\n * @param {String} attrs 属性如:width\n * @example\n * ```javascript\n * editor.execCommand( 'removeformat', 'strong','color','width' );\n * ```\n */\n\nUE.plugins['removeformat'] = function(){\n var me = this;\n me.setOpt({\n 'removeFormatTags': 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var',\n 'removeFormatAttributes':'class,style,lang,width,height,align,hspace,valign'\n });\n me.commands['removeformat'] = {\n execCommand : function( cmdName, tags, style, attrs,notIncludeA ) {\n\n var tagReg = new RegExp( '^(?:' + (tags || this.options.removeFormatTags).replace( /,/g, '|' ) + ')$', 'i' ) ,\n removeFormatAttributes = style ? [] : (attrs || this.options.removeFormatAttributes).split( ',' ),\n range = new dom.Range( this.document ),\n bookmark,node,parent,\n filter = function( node ) {\n return node.nodeType == 1;\n };\n\n function isRedundantSpan (node) {\n if (node.nodeType == 3 || node.tagName.toLowerCase() != 'span'){\n return 0;\n }\n if (browser.ie) {\n //ie 下判断实效,所以只能简单用style来判断\n //return node.style.cssText == '' ? 1 : 0;\n var attrs = node.attributes;\n if ( attrs.length ) {\n for ( var i = 0,l = attrs.length; i\n var node = range.startContainer,\n tmp,\n collapsed = range.collapsed;\n while(node.nodeType == 1 && domUtils.isEmptyNode(node) && dtd.$removeEmpty[node.tagName]){\n tmp = node.parentNode;\n range.setStartBefore(node);\n //trace:937\n //更新结束边界\n if(range.startContainer === range.endContainer){\n range.endOffset--;\n }\n domUtils.remove(node);\n node = tmp;\n }\n\n if(!collapsed){\n node = range.endContainer;\n while(node.nodeType == 1 && domUtils.isEmptyNode(node) && dtd.$removeEmpty[node.tagName]){\n tmp = node.parentNode;\n range.setEndBefore(node);\n domUtils.remove(node);\n\n node = tmp;\n }\n\n\n }\n }\n\n\n\n range = this.selection.getRange();\n doRemove( range );\n range.select();\n\n }\n\n };\n\n};\n\n\n// plugins/blockquote.js\n/**\n * 添加引用\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 添加引用\n * @command blockquote\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'blockquote' );\n * ```\n */\n\n/**\n * 添加引用\n * @command blockquote\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { Object } attrs 节点属性\n * @example\n * ```javascript\n * editor.execCommand( 'blockquote',{\n * style: \"color: red;\"\n * } );\n * ```\n */\n\n\nUE.plugins['blockquote'] = function(){\n var me = this;\n function getObj(editor){\n return domUtils.filterNodeList(editor.selection.getStartElementPath(),'blockquote');\n }\n me.commands['blockquote'] = {\n execCommand : function( cmdName, attrs ) {\n var range = this.selection.getRange(),\n obj = getObj(this),\n blockquote = dtd.blockquote,\n bookmark = range.createBookmark();\n\n if ( obj ) {\n\n var start = range.startContainer,\n startBlock = domUtils.isBlockElm(start) ? start : domUtils.findParent(start,function(node){return domUtils.isBlockElm(node)}),\n\n end = range.endContainer,\n endBlock = domUtils.isBlockElm(end) ? end : domUtils.findParent(end,function(node){return domUtils.isBlockElm(node)});\n\n //处理一下li\n startBlock = domUtils.findParentByTagName(startBlock,'li',true) || startBlock;\n endBlock = domUtils.findParentByTagName(endBlock,'li',true) || endBlock;\n\n\n if(startBlock.tagName == 'LI' || startBlock.tagName == 'TD' || startBlock === obj || domUtils.isBody(startBlock)){\n domUtils.remove(obj,true);\n }else{\n domUtils.breakParent(startBlock,obj);\n }\n\n if(startBlock !== endBlock){\n obj = domUtils.findParentByTagName(endBlock,'blockquote');\n if(obj){\n if(endBlock.tagName == 'LI' || endBlock.tagName == 'TD'|| domUtils.isBody(endBlock)){\n obj.parentNode && domUtils.remove(obj,true);\n }else{\n domUtils.breakParent(endBlock,obj);\n }\n\n }\n }\n\n var blockquotes = domUtils.getElementsByTagName(this.document,'blockquote');\n for(var i=0,bi;bi=blockquotes[i++];){\n if(!bi.childNodes.length){\n domUtils.remove(bi);\n }else if(domUtils.getPosition(bi,startBlock)&domUtils.POSITION_FOLLOWING && domUtils.getPosition(bi,endBlock)&domUtils.POSITION_PRECEDING){\n domUtils.remove(bi,true);\n }\n }\n\n\n\n\n } else {\n\n var tmpRange = range.cloneRange(),\n node = tmpRange.startContainer.nodeType == 1 ? tmpRange.startContainer : tmpRange.startContainer.parentNode,\n preNode = node,\n doEnd = 1;\n\n //调整开始\n while ( 1 ) {\n if ( domUtils.isBody(node) ) {\n if ( preNode !== node ) {\n if ( range.collapsed ) {\n tmpRange.selectNode( preNode );\n doEnd = 0;\n } else {\n tmpRange.setStartBefore( preNode );\n }\n }else{\n tmpRange.setStart(node,0);\n }\n\n break;\n }\n if ( !blockquote[node.tagName] ) {\n if ( range.collapsed ) {\n tmpRange.selectNode( preNode );\n } else{\n tmpRange.setStartBefore( preNode);\n }\n break;\n }\n\n preNode = node;\n node = node.parentNode;\n }\n\n //调整结束\n if ( doEnd ) {\n preNode = node = node = tmpRange.endContainer.nodeType == 1 ? tmpRange.endContainer : tmpRange.endContainer.parentNode;\n while ( 1 ) {\n\n if ( domUtils.isBody( node ) ) {\n if ( preNode !== node ) {\n\n tmpRange.setEndAfter( preNode );\n\n } else {\n tmpRange.setEnd( node, node.childNodes.length );\n }\n\n break;\n }\n if ( !blockquote[node.tagName] ) {\n tmpRange.setEndAfter( preNode );\n break;\n }\n\n preNode = node;\n node = node.parentNode;\n }\n\n }\n\n\n node = range.document.createElement( 'blockquote' );\n domUtils.setAttributes( node, attrs );\n node.appendChild( tmpRange.extractContents() );\n tmpRange.insertNode( node );\n //去除重复的\n var childs = domUtils.getElementsByTagName(node,'blockquote');\n for(var i=0,ci;ci=childs[i++];){\n if(ci.parentNode){\n domUtils.remove(ci,true);\n }\n }\n\n }\n range.moveToBookmark( bookmark ).select();\n },\n queryCommandState : function() {\n return getObj(this) ? 1 : 0;\n }\n };\n};\n\n\n\n// plugins/convertcase.js\n/**\n * 大小写转换\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 把选区内文本变大写,与“tolowercase”命令互斥\n * @command touppercase\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'touppercase' );\n * ```\n */\n\n/**\n * 把选区内文本变小写,与“touppercase”命令互斥\n * @command tolowercase\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'tolowercase' );\n * ```\n */\nUE.commands['touppercase'] =\nUE.commands['tolowercase'] = {\n execCommand:function (cmd) {\n var me = this;\n var rng = me.selection.getRange();\n if(rng.collapsed){\n return rng;\n }\n var bk = rng.createBookmark(),\n bkEnd = bk.end,\n filterFn = function( node ) {\n return !domUtils.isBr(node) && !domUtils.isWhitespace( node );\n },\n curNode = domUtils.getNextDomNode( bk.start, false, filterFn );\n while ( curNode && (domUtils.getPosition( curNode, bkEnd ) & domUtils.POSITION_PRECEDING) ) {\n\n if ( curNode.nodeType == 3 ) {\n curNode.nodeValue = curNode.nodeValue[cmd == 'touppercase' ? 'toUpperCase' : 'toLowerCase']();\n }\n curNode = domUtils.getNextDomNode( curNode, true, filterFn );\n if(curNode === bkEnd){\n break;\n }\n\n }\n rng.moveToBookmark(bk).select();\n }\n};\n\n\n\n// plugins/indent.js\n/**\n * 首行缩进\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 缩进\n * @command indent\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'indent' );\n * ```\n */\nUE.commands['indent'] = {\n execCommand : function() {\n var me = this,value = me.queryCommandState(\"indent\") ? \"0em\" : (me.options.indentValue || '2em');\n me.execCommand('Paragraph','p',{style:'text-indent:'+ value});\n },\n queryCommandState : function() {\n var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),'p h1 h2 h3 h4 h5 h6');\n return pN && pN.style.textIndent && parseInt(pN.style.textIndent) ? 1 : 0;\n }\n\n};\n\n\n// plugins/print.js\n/**\n * 打印\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 打印\n * @command print\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'print' );\n * ```\n */\nUE.commands['print'] = {\n execCommand : function(){\n this.window.print();\n },\n notNeedUndo : 1\n};\n\n\n\n// plugins/preview.js\n/**\n * 预览\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 预览\n * @command preview\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'preview' );\n * ```\n */\nUE.commands['preview'] = {\n execCommand : function(){\n var w = window.open('', '_blank', ''),\n d = w.document;\n d.open();\n d.write('
    '+this.getContent(null,null,true)+'
    ');\n d.close();\n },\n notNeedUndo : 1\n};\n\n\n// plugins/selectall.js\n/**\n * 全选\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 选中所有内容\n * @command selectall\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'selectall' );\n * ```\n */\nUE.plugins['selectall'] = function(){\n var me = this;\n me.commands['selectall'] = {\n execCommand : function(){\n //去掉了原生的selectAll,因为会出现报错和当内容为空时,不能出现闭合状态的光标\n var me = this,body = me.body,\n range = me.selection.getRange();\n range.selectNodeContents(body);\n if(domUtils.isEmptyBlock(body)){\n //opera不能自动合并到元素的里边,要手动处理一下\n if(browser.opera && body.firstChild && body.firstChild.nodeType == 1){\n range.setStartAtFirst(body.firstChild);\n }\n range.collapse(true);\n }\n range.select(true);\n },\n notNeedUndo : 1\n };\n\n\n //快捷键\n me.addshortcutkey({\n \"selectAll\" : \"ctrl+65\"\n });\n};\n\n\n// plugins/paragraph.js\n/**\n * 段落样式\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 段落格式\n * @command paragraph\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param {String} style 标签值为:'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'\n * @param {Object} attrs 标签的属性\n * @example\n * ```javascript\n * editor.execCommand( 'Paragraph','h1','{\n * class:'test'\n * }' );\n * ```\n */\n\n/**\n * 返回选区内节点标签名\n * @command paragraph\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 节点标签名\n * @example\n * ```javascript\n * editor.queryCommandValue( 'Paragraph' );\n * ```\n */\n\nUE.plugins['paragraph'] = function() {\n var me = this,\n block = domUtils.isBlockElm,\n notExchange = ['TD','LI','PRE'],\n\n doParagraph = function(range,style,attrs,sourceCmdName){\n var bookmark = range.createBookmark(),\n filterFn = function( node ) {\n return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' && !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace( node );\n },\n para;\n\n range.enlarge( true );\n var bookmark2 = range.createBookmark(),\n current = domUtils.getNextDomNode( bookmark2.start, false, filterFn ),\n tmpRange = range.cloneRange(),\n tmpNode;\n while ( current && !(domUtils.getPosition( current, bookmark2.end ) & domUtils.POSITION_FOLLOWING) ) {\n if ( current.nodeType == 3 || !block( current ) ) {\n tmpRange.setStartBefore( current );\n while ( current && current !== bookmark2.end && !block( current ) ) {\n tmpNode = current;\n current = domUtils.getNextDomNode( current, false, null, function( node ) {\n return !block( node );\n } );\n }\n tmpRange.setEndAfter( tmpNode );\n\n para = range.document.createElement( style );\n if(attrs){\n domUtils.setAttributes(para,attrs);\n if(sourceCmdName && sourceCmdName == 'customstyle' && attrs.style){\n para.style.cssText = attrs.style;\n }\n }\n para.appendChild( tmpRange.extractContents() );\n //需要内容占位\n if(domUtils.isEmptyNode(para)){\n domUtils.fillChar(range.document,para);\n\n }\n\n tmpRange.insertNode( para );\n\n var parent = para.parentNode;\n //如果para上一级是一个block元素且不是body,td就删除它\n if ( block( parent ) && !domUtils.isBody( para.parentNode ) && utils.indexOf(notExchange,parent.tagName)==-1) {\n //存储dir,style\n if(!(sourceCmdName && sourceCmdName == 'customstyle')){\n parent.getAttribute('dir') && para.setAttribute('dir',parent.getAttribute('dir'));\n //trace:1070\n parent.style.cssText && (para.style.cssText = parent.style.cssText + ';' + para.style.cssText);\n //trace:1030\n parent.style.textAlign && !para.style.textAlign && (para.style.textAlign = parent.style.textAlign);\n parent.style.textIndent && !para.style.textIndent && (para.style.textIndent = parent.style.textIndent);\n parent.style.padding && !para.style.padding && (para.style.padding = parent.style.padding);\n }\n\n //trace:1706 选择的就是h1-6要删除\n if(attrs && /h\\d/i.test(parent.tagName) && !/h\\d/i.test(para.tagName) ){\n domUtils.setAttributes(parent,attrs);\n if(sourceCmdName && sourceCmdName == 'customstyle' && attrs.style){\n parent.style.cssText = attrs.style;\n }\n domUtils.remove(para,true);\n para = parent;\n }else{\n domUtils.remove( para.parentNode, true );\n }\n\n }\n if( utils.indexOf(notExchange,parent.tagName)!=-1){\n current = parent;\n }else{\n current = para;\n }\n\n\n current = domUtils.getNextDomNode( current, false, filterFn );\n } else {\n current = domUtils.getNextDomNode( current, true, filterFn );\n }\n }\n return range.moveToBookmark( bookmark2 ).moveToBookmark( bookmark );\n };\n me.setOpt('paragraph',{'p':'', 'h1':'', 'h2':'', 'h3':'', 'h4':'', 'h5':'', 'h6':''});\n me.commands['paragraph'] = {\n execCommand : function( cmdName, style,attrs,sourceCmdName ) {\n var range = this.selection.getRange();\n //闭合时单独处理\n if(range.collapsed){\n var txt = this.document.createTextNode('p');\n range.insertNode(txt);\n //去掉冗余的fillchar\n if(browser.ie){\n var node = txt.previousSibling;\n if(node && domUtils.isWhitespace(node)){\n domUtils.remove(node);\n }\n node = txt.nextSibling;\n if(node && domUtils.isWhitespace(node)){\n domUtils.remove(node);\n }\n }\n\n }\n range = doParagraph(range,style,attrs,sourceCmdName);\n if(txt){\n range.setStartBefore(txt).collapse(true);\n pN = txt.parentNode;\n\n domUtils.remove(txt);\n\n if(domUtils.isBlockElm(pN)&&domUtils.isEmptyNode(pN)){\n domUtils.fillNode(this.document,pN);\n }\n\n }\n\n if(browser.gecko && range.collapsed && range.startContainer.nodeType == 1){\n var child = range.startContainer.childNodes[range.startOffset];\n if(child && child.nodeType == 1 && child.tagName.toLowerCase() == style){\n range.setStart(child,0).collapse(true);\n }\n }\n //trace:1097 原来有true,原因忘了,但去了就不能清除多余的占位符了\n range.select();\n\n\n return true;\n },\n queryCommandValue : function() {\n var node = domUtils.filterNodeList(this.selection.getStartElementPath(),'p h1 h2 h3 h4 h5 h6');\n return node ? node.tagName.toLowerCase() : '';\n }\n };\n};\n\n\n// plugins/directionality.js\n/**\n * 设置文字输入的方向的插件\n * @file\n * @since 1.2.6.1\n */\n(function() {\n var block = domUtils.isBlockElm ,\n getObj = function(editor){\n// var startNode = editor.selection.getStart(),\n// parents;\n// if ( startNode ) {\n// //查找所有的是block的父亲节点\n// parents = domUtils.findParents( startNode, true, block, true );\n// for ( var i = 0,ci; ci = parents[i++]; ) {\n// if ( ci.getAttribute( 'dir' ) ) {\n// return ci;\n// }\n// }\n// }\n return domUtils.filterNodeList(editor.selection.getStartElementPath(),function(n){return n && n.nodeType == 1 && n.getAttribute('dir')});\n\n },\n doDirectionality = function(range,editor,forward){\n\n var bookmark,\n filterFn = function( node ) {\n return node.nodeType == 1 ? !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace(node);\n },\n\n obj = getObj( editor );\n\n if ( obj && range.collapsed ) {\n obj.setAttribute( 'dir', forward );\n return range;\n }\n bookmark = range.createBookmark();\n range.enlarge( true );\n var bookmark2 = range.createBookmark(),\n current = domUtils.getNextDomNode( bookmark2.start, false, filterFn ),\n tmpRange = range.cloneRange(),\n tmpNode;\n while ( current && !(domUtils.getPosition( current, bookmark2.end ) & domUtils.POSITION_FOLLOWING) ) {\n if ( current.nodeType == 3 || !block( current ) ) {\n tmpRange.setStartBefore( current );\n while ( current && current !== bookmark2.end && !block( current ) ) {\n tmpNode = current;\n current = domUtils.getNextDomNode( current, false, null, function( node ) {\n return !block( node );\n } );\n }\n tmpRange.setEndAfter( tmpNode );\n var common = tmpRange.getCommonAncestor();\n if ( !domUtils.isBody( common ) && block( common ) ) {\n //遍历到了block节点\n common.setAttribute( 'dir', forward );\n current = common;\n } else {\n //没有遍历到,添加一个block节点\n var p = range.document.createElement( 'p' );\n p.setAttribute( 'dir', forward );\n var frag = tmpRange.extractContents();\n p.appendChild( frag );\n tmpRange.insertNode( p );\n current = p;\n }\n\n current = domUtils.getNextDomNode( current, false, filterFn );\n } else {\n current = domUtils.getNextDomNode( current, true, filterFn );\n }\n }\n return range.moveToBookmark( bookmark2 ).moveToBookmark( bookmark );\n };\n\n /**\n * 文字输入方向\n * @command directionality\n * @method execCommand\n * @param { String } cmdName 命令字符串\n * @param { String } forward 传入'ltr'表示从左向右输入,传入'rtl'表示从右向左输入\n * @example\n * ```javascript\n * editor.execCommand( 'directionality', 'ltr');\n * ```\n */\n\n /**\n * 查询当前选区的文字输入方向\n * @command directionality\n * @method queryCommandValue\n * @param { String } cmdName 命令字符串\n * @return { String } 返回'ltr'表示从左向右输入,返回'rtl'表示从右向左输入\n * @example\n * ```javascript\n * editor.queryCommandValue( 'directionality');\n * ```\n */\n UE.commands['directionality'] = {\n execCommand : function( cmdName,forward ) {\n var range = this.selection.getRange();\n //闭合时单独处理\n if(range.collapsed){\n var txt = this.document.createTextNode('d');\n range.insertNode(txt);\n }\n doDirectionality(range,this,forward);\n if(txt){\n range.setStartBefore(txt).collapse(true);\n domUtils.remove(txt);\n }\n\n range.select();\n return true;\n },\n queryCommandValue : function() {\n var node = getObj(this);\n return node ? node.getAttribute('dir') : 'ltr';\n }\n };\n})();\n\n\n\n// plugins/horizontal.js\n/**\n * 插入分割线插件\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 插入分割线\n * @command horizontal\n * @method execCommand\n * @param { String } cmdName 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'horizontal' );\n * ```\n */\nUE.plugins['horizontal'] = function(){\n var me = this;\n me.commands['horizontal'] = {\n execCommand : function( cmdName ) {\n var me = this;\n if(me.queryCommandState(cmdName)!==-1){\n me.execCommand('insertHtml','
    ');\n var range = me.selection.getRange(),\n start = range.startContainer;\n if(start.nodeType == 1 && !start.childNodes[range.startOffset] ){\n\n var tmp;\n if(tmp = start.childNodes[range.startOffset - 1]){\n if(tmp.nodeType == 1 && tmp.tagName == 'HR'){\n if(me.options.enterTag == 'p'){\n tmp = me.document.createElement('p');\n range.insertNode(tmp);\n range.setStart(tmp,0).setCursor();\n\n }else{\n tmp = me.document.createElement('br');\n range.insertNode(tmp);\n range.setStartBefore(tmp).setCursor();\n }\n }\n }\n\n }\n return true;\n }\n\n },\n //边界在table里不能加分隔线\n queryCommandState : function() {\n return domUtils.filterNodeList(this.selection.getStartElementPath(),'table') ? -1 : 0;\n }\n };\n// me.addListener('delkeyup',function(){\n// var rng = this.selection.getRange();\n// if(browser.ie && browser.version > 8){\n// rng.txtToElmBoundary(true);\n// if(domUtils.isStartInblock(rng)){\n// var tmpNode = rng.startContainer;\n// var pre = tmpNode.previousSibling;\n// if(pre && domUtils.isTagNode(pre,'hr')){\n// domUtils.remove(pre);\n// rng.select();\n// return;\n// }\n// }\n// }\n// if(domUtils.isBody(rng.startContainer)){\n// var hr = rng.startContainer.childNodes[rng.startOffset -1];\n// if(hr && hr.nodeName == 'HR'){\n// var next = hr.nextSibling;\n// if(next){\n// rng.setStart(next,0)\n// }else if(hr.previousSibling){\n// rng.setStartAtLast(hr.previousSibling)\n// }else{\n// var p = this.document.createElement('p');\n// hr.parentNode.insertBefore(p,hr);\n// domUtils.fillNode(this.document,p);\n// rng.setStart(p,0);\n// }\n// domUtils.remove(hr);\n// rng.setCursor(false,true);\n// }\n// }\n// })\n me.addListener('delkeydown',function(name,evt){\n var rng = this.selection.getRange();\n rng.txtToElmBoundary(true);\n if(domUtils.isStartInblock(rng)){\n var tmpNode = rng.startContainer;\n var pre = tmpNode.previousSibling;\n if(pre && domUtils.isTagNode(pre,'hr')){\n domUtils.remove(pre);\n rng.select();\n domUtils.preventDefault(evt);\n return true;\n\n }\n }\n\n })\n};\n\n\n\n// plugins/time.js\n/**\n * 插入时间和日期\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 插入时间,默认格式:12:59:59\n * @command time\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'time');\n * ```\n */\n\n/**\n * 插入日期,默认格式:2013-08-30\n * @command date\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'date');\n * ```\n */\nUE.commands['time'] = UE.commands[\"date\"] = {\n execCommand : function(cmd, format){\n var date = new Date;\n\n function formatTime(date, format) {\n var hh = ('0' + date.getHours()).slice(-2),\n ii = ('0' + date.getMinutes()).slice(-2),\n ss = ('0' + date.getSeconds()).slice(-2);\n format = format || 'hh:ii:ss';\n return format.replace(/hh/ig, hh).replace(/ii/ig, ii).replace(/ss/ig, ss);\n }\n function formatDate(date, format) {\n var yyyy = ('000' + date.getFullYear()).slice(-4),\n yy = yyyy.slice(-2),\n mm = ('0' + (date.getMonth()+1)).slice(-2),\n dd = ('0' + date.getDate()).slice(-2);\n format = format || 'yyyy-mm-dd';\n return format.replace(/yyyy/ig, yyyy).replace(/yy/ig, yy).replace(/mm/ig, mm).replace(/dd/ig, dd);\n }\n\n this.execCommand('insertHtml',cmd == \"time\" ? formatTime(date, format):formatDate(date, format) );\n }\n};\n\n\n// plugins/rowspacing.js\n/**\n * 段前段后间距插件\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 设置段间距\n * @command rowspacing\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } value 段间距的值,以px为单位\n * @param { String } dir 间距位置,top或bottom,分别表示段前和段后\n * @example\n * ```javascript\n * editor.execCommand( 'rowspacing', '10', 'top' );\n * ```\n */\n\nUE.plugins['rowspacing'] = function(){\n var me = this;\n me.setOpt({\n 'rowspacingtop':['5', '10', '15', '20', '25'],\n 'rowspacingbottom':['5', '10', '15', '20', '25']\n\n });\n me.commands['rowspacing'] = {\n execCommand : function( cmdName,value,dir ) {\n this.execCommand('paragraph','p',{style:'margin-'+dir+':'+value + 'px'});\n return true;\n },\n queryCommandValue : function(cmdName,dir) {\n var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),function(node){return domUtils.isBlockElm(node) }),\n value;\n //trace:1026\n if(pN){\n value = domUtils.getComputedStyle(pN,'margin-'+dir).replace(/[^\\d]/g,'');\n return !value ? 0 : value;\n }\n return 0;\n\n }\n };\n};\n\n\n\n\n// plugins/lineheight.js\n/**\n * 设置行内间距\n * @file\n * @since 1.2.6.1\n */\nUE.plugins['lineheight'] = function(){\n var me = this;\n me.setOpt({'lineheight':['1', '1.5','1.75','2', '3', '4', '5']});\n\n /**\n * 行距\n * @command lineheight\n * @method execCommand\n * @param { String } cmdName 命令字符串\n * @param { String } value 传入的行高值, 该值是当前字体的倍数, 例如: 1.5, 1.75\n * @example\n * ```javascript\n * editor.execCommand( 'lineheight', 1.5);\n * ```\n */\n /**\n * 查询当前选区内容的行高大小\n * @command lineheight\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回当前行高大小\n * @example\n * ```javascript\n * editor.queryCommandValue( 'lineheight' );\n * ```\n */\n\n me.commands['lineheight'] = {\n execCommand : function( cmdName,value ) {\n this.execCommand('paragraph','p',{style:'line-height:'+ (value == \"1\" ? \"normal\" : value + 'em') });\n return true;\n },\n queryCommandValue : function() {\n var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),function(node){return domUtils.isBlockElm(node)});\n if(pN){\n var value = domUtils.getComputedStyle(pN,'line-height');\n return value == 'normal' ? 1 : value.replace(/[^\\d.]*/ig,\"\");\n }\n }\n };\n};\n\n\n\n\n// plugins/insertcode.js\n/**\n * 插入代码插件\n * @file\n * @since 1.2.6.1\n */\n\nUE.plugins['insertcode'] = function() {\n var me = this;\n me.ready(function(){\n utils.cssRule('pre','pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}',\n me.document)\n });\n me.setOpt('insertcode',{\n 'as3':'ActionScript3',\n 'bash':'Bash/Shell',\n 'cpp':'C/C++',\n 'css':'Css',\n 'cf':'CodeFunction',\n 'c#':'C#',\n 'delphi':'Delphi',\n 'diff':'Diff',\n 'erlang':'Erlang',\n 'groovy':'Groovy',\n 'html':'Html',\n 'java':'Java',\n 'jfx':'JavaFx',\n 'js':'Javascript',\n 'pl':'Perl',\n 'php':'Php',\n 'plain':'Plain Text',\n 'ps':'PowerShell',\n 'python':'Python',\n 'ruby':'Ruby',\n 'scala':'Scala',\n 'sql':'Sql',\n 'vb':'Vb',\n 'xml':'Xml'\n });\n\n /**\n * 插入代码\n * @command insertcode\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } lang 插入代码的语言\n * @example\n * ```javascript\n * editor.execCommand( 'insertcode', 'javascript' );\n * ```\n */\n\n /**\n * 如果选区所在位置是插入插入代码区域,返回代码的语言\n * @command insertcode\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回代码的语言\n * @example\n * ```javascript\n * editor.queryCommandValue( 'insertcode' );\n * ```\n */\n\n me.commands['insertcode'] = {\n execCommand : function(cmd,lang){\n var me = this,\n rng = me.selection.getRange(),\n pre = domUtils.findParentByTagName(rng.startContainer,'pre',true);\n if(pre){\n pre.className = 'brush:'+lang+';toolbar:false;';\n }else{\n var code = '';\n if(rng.collapsed){\n code = browser.ie && browser.ie11below ? (browser.version <= 8 ? ' ':''):'
    ';\n }else{\n var frag = rng.extractContents();\n var div = me.document.createElement('div');\n div.appendChild(frag);\n\n utils.each(UE.filterNode(UE.htmlparser(div.innerHTML.replace(/[\\r\\t]/g,'')),me.options.filterTxtRules).children,function(node){\n if(browser.ie && browser.ie11below && browser.version > 8){\n\n if(node.type =='element'){\n if(node.tagName == 'br'){\n code += '\\n'\n }else if(!dtd.$empty[node.tagName]){\n utils.each(node.children,function(cn){\n if(cn.type =='element'){\n if(cn.tagName == 'br'){\n code += '\\n'\n }else if(!dtd.$empty[node.tagName]){\n code += cn.innerText();\n }\n }else{\n code += cn.data\n }\n })\n if(!/\\n$/.test(code)){\n code += '\\n';\n }\n }\n }else{\n code += node.data + '\\n'\n }\n if(!node.nextSibling() && /\\n$/.test(code)){\n code = code.replace(/\\n$/,'');\n }\n }else{\n if(browser.ie && browser.ie11below){\n\n if(node.type =='element'){\n if(node.tagName == 'br'){\n code += '
    '\n }else if(!dtd.$empty[node.tagName]){\n utils.each(node.children,function(cn){\n if(cn.type =='element'){\n if(cn.tagName == 'br'){\n code += '
    '\n }else if(!dtd.$empty[node.tagName]){\n code += cn.innerText();\n }\n }else{\n code += cn.data\n }\n });\n if(!/br>$/.test(code)){\n code += '
    ';\n }\n }\n }else{\n code += node.data + '
    '\n }\n if(!node.nextSibling() && /
    $/.test(code)){\n code = code.replace(/
    $/,'');\n }\n\n }else{\n code += (node.type == 'element' ? (dtd.$empty[node.tagName] ? '' : node.innerText()) : node.data);\n if(!/br\\/?\\s*>$/.test(code)){\n if(!node.nextSibling())\n return;\n code += '
    '\n }\n }\n\n }\n\n });\n }\n me.execCommand('inserthtml','
    '+code+'
    ',true);\n\n pre = me.document.getElementById('coder');\n domUtils.removeAttributes(pre,'id');\n var tmpNode = pre.previousSibling;\n\n if(tmpNode && (tmpNode.nodeType == 3 && tmpNode.nodeValue.length == 1 && browser.ie && browser.version == 6 || domUtils.isEmptyBlock(tmpNode))){\n\n domUtils.remove(tmpNode)\n }\n var rng = me.selection.getRange();\n if(domUtils.isEmptyBlock(pre)){\n rng.setStart(pre,0).setCursor(false,true)\n }else{\n rng.selectNodeContents(pre).select()\n }\n }\n\n\n\n },\n queryCommandValue : function(){\n var path = this.selection.getStartElementPath();\n var lang = '';\n utils.each(path,function(node){\n if(node.nodeName =='PRE'){\n var match = node.className.match(/brush:([^;]+)/);\n lang = match && match[1] ? match[1] : '';\n return false;\n }\n });\n return lang;\n }\n };\n\n me.addInputRule(function(root){\n utils.each(root.getNodesByTagName('pre'),function(pre){\n var brs = pre.getNodesByTagName('br');\n if(brs.length){\n browser.ie && browser.ie11below && browser.version > 8 && utils.each(brs,function(br){\n var txt = UE.uNode.createText('\\n');\n br.parentNode.insertBefore(txt,br);\n br.parentNode.removeChild(br);\n });\n return;\n }\n if(browser.ie && browser.ie11below && browser.version > 8)\n return;\n var code = pre.innerText().split(/\\n/);\n pre.innerHTML('');\n utils.each(code,function(c){\n if(c.length){\n pre.appendChild(UE.uNode.createText(c));\n }\n pre.appendChild(UE.uNode.createElement('br'))\n })\n })\n });\n me.addOutputRule(function(root){\n utils.each(root.getNodesByTagName('pre'),function(pre){\n var code = '';\n utils.each(pre.children,function(n){\n if(n.type == 'text'){\n //在ie下文本内容有可能末尾带有\\n要去掉\n //trace:3396\n code += n.data.replace(/[ ]/g,' ').replace(/\\n$/,'');\n }else{\n if(n.tagName == 'br'){\n code += '\\n'\n }else{\n code += (!dtd.$empty[n.tagName] ? '' : n.innerText());\n }\n\n }\n\n });\n\n pre.innerText(code.replace(/( |\\n)+$/,''))\n })\n });\n //不需要判断highlight的command列表\n me.notNeedCodeQuery ={\n help:1,\n undo:1,\n redo:1,\n source:1,\n print:1,\n searchreplace:1,\n fullscreen:1,\n preview:1,\n insertparagraph:1,\n elementpath:1,\n insertcode:1,\n inserthtml:1,\n selectall:1\n };\n //将queyCommamndState重置\n var orgQuery = me.queryCommandState;\n me.queryCommandState = function(cmd){\n var me = this;\n\n if(!me.notNeedCodeQuery[cmd.toLowerCase()] && me.selection && me.queryCommandValue('insertcode')){\n return -1;\n }\n return UE.Editor.prototype.queryCommandState.apply(this,arguments)\n };\n me.addListener('beforeenterkeydown',function(){\n var rng = me.selection.getRange();\n var pre = domUtils.findParentByTagName(rng.startContainer,'pre',true);\n if(pre){\n me.fireEvent('saveScene');\n if(!rng.collapsed){\n rng.deleteContents();\n }\n if(!browser.ie || browser.ie9above){\n var tmpNode = me.document.createElement('br'),pre;\n rng.insertNode(tmpNode).setStartAfter(tmpNode).collapse(true);\n var next = tmpNode.nextSibling;\n if(!next && (!browser.ie || browser.version > 10)){\n rng.insertNode(tmpNode.cloneNode(false));\n }else{\n rng.setStartAfter(tmpNode);\n }\n pre = tmpNode.previousSibling;\n var tmp;\n while(pre ){\n tmp = pre;\n pre = pre.previousSibling;\n if(!pre || pre.nodeName == 'BR'){\n pre = tmp;\n break;\n }\n }\n if(pre){\n var str = '';\n while(pre && pre.nodeName != 'BR' && new RegExp('^[\\\\s'+domUtils.fillChar+']*$').test(pre.nodeValue)){\n str += pre.nodeValue;\n pre = pre.nextSibling;\n }\n if(pre.nodeName != 'BR'){\n var match = pre.nodeValue.match(new RegExp('^([\\\\s'+domUtils.fillChar+']+)'));\n if(match && match[1]){\n str += match[1]\n }\n\n }\n if(str){\n str = me.document.createTextNode(str);\n rng.insertNode(str).setStartAfter(str);\n }\n }\n rng.collapse(true).select(true);\n }else{\n if(browser.version > 8){\n\n var txt = me.document.createTextNode('\\n');\n var start = rng.startContainer;\n if(rng.startOffset == 0){\n var preNode = start.previousSibling;\n if(preNode){\n rng.insertNode(txt);\n var fillchar = me.document.createTextNode(' ');\n rng.setStartAfter(txt).insertNode(fillchar).setStart(fillchar,0).collapse(true).select(true)\n }\n }else{\n rng.insertNode(txt).setStartAfter(txt);\n var fillchar = me.document.createTextNode(' ');\n start = rng.startContainer.childNodes[rng.startOffset];\n if(start && !/^\\n/.test(start.nodeValue)){\n rng.setStartBefore(txt)\n }\n rng.insertNode(fillchar).setStart(fillchar,0).collapse(true).select(true)\n }\n\n }else{\n var tmpNode = me.document.createElement('br');\n rng.insertNode(tmpNode);\n rng.insertNode(me.document.createTextNode(domUtils.fillChar));\n rng.setStartAfter(tmpNode);\n pre = tmpNode.previousSibling;\n var tmp;\n while(pre ){\n tmp = pre;\n pre = pre.previousSibling;\n if(!pre || pre.nodeName == 'BR'){\n pre = tmp;\n break;\n }\n }\n if(pre){\n var str = '';\n while(pre && pre.nodeName != 'BR' && new RegExp('^[ '+domUtils.fillChar+']*$').test(pre.nodeValue)){\n str += pre.nodeValue;\n pre = pre.nextSibling;\n }\n if(pre.nodeName != 'BR'){\n var match = pre.nodeValue.match(new RegExp('^([ '+domUtils.fillChar+']+)'));\n if(match && match[1]){\n str += match[1]\n }\n\n }\n\n str = me.document.createTextNode(str);\n rng.insertNode(str).setStartAfter(str);\n }\n rng.collapse(true).select();\n }\n\n\n }\n me.fireEvent('saveScene');\n return true;\n }\n\n\n });\n\n me.addListener('tabkeydown',function(cmd,evt){\n var rng = me.selection.getRange();\n var pre = domUtils.findParentByTagName(rng.startContainer,'pre',true);\n if(pre){\n me.fireEvent('saveScene');\n if(evt.shiftKey){\n\n }else{\n if(!rng.collapsed){\n var bk = rng.createBookmark();\n var start = bk.start.previousSibling;\n\n while(start){\n if(pre.firstChild === start && !domUtils.isBr(start)){\n pre.insertBefore(me.document.createTextNode(' '),start);\n\n break;\n }\n if(domUtils.isBr(start)){\n pre.insertBefore(me.document.createTextNode(' '),start.nextSibling);\n\n break;\n }\n start = start.previousSibling;\n }\n var end = bk.end;\n start = bk.start.nextSibling;\n if(pre.firstChild === bk.start){\n pre.insertBefore(me.document.createTextNode(' '),start.nextSibling)\n\n }\n while(start && start !== end){\n if(domUtils.isBr(start) && start.nextSibling){\n if(start.nextSibling === end){\n break;\n }\n pre.insertBefore(me.document.createTextNode(' '),start.nextSibling)\n }\n\n start = start.nextSibling;\n }\n rng.moveToBookmark(bk).select();\n }else{\n var tmpNode = me.document.createTextNode(' ');\n rng.insertNode(tmpNode).setStartAfter(tmpNode).collapse(true).select(true);\n }\n }\n\n\n me.fireEvent('saveScene');\n return true;\n }\n\n\n });\n\n\n me.addListener('beforeinserthtml',function(evtName,html){\n var me = this,\n rng = me.selection.getRange(),\n pre = domUtils.findParentByTagName(rng.startContainer,'pre',true);\n if(pre){\n if(!rng.collapsed){\n rng.deleteContents()\n }\n var htmlstr = '';\n if(browser.ie && browser.version > 8){\n\n utils.each(UE.filterNode(UE.htmlparser(html),me.options.filterTxtRules).children,function(node){\n if(node.type =='element'){\n if(node.tagName == 'br'){\n htmlstr += '\\n'\n }else if(!dtd.$empty[node.tagName]){\n utils.each(node.children,function(cn){\n if(cn.type =='element'){\n if(cn.tagName == 'br'){\n htmlstr += '\\n'\n }else if(!dtd.$empty[node.tagName]){\n htmlstr += cn.innerText();\n }\n }else{\n htmlstr += cn.data\n }\n })\n if(!/\\n$/.test(htmlstr)){\n htmlstr += '\\n';\n }\n }\n }else{\n htmlstr += node.data + '\\n'\n }\n if(!node.nextSibling() && /\\n$/.test(htmlstr)){\n htmlstr = htmlstr.replace(/\\n$/,'');\n }\n });\n var tmpNode = me.document.createTextNode(utils.html(htmlstr.replace(/ /g,' ')));\n rng.insertNode(tmpNode).selectNode(tmpNode).select();\n }else{\n var frag = me.document.createDocumentFragment();\n\n utils.each(UE.filterNode(UE.htmlparser(html),me.options.filterTxtRules).children,function(node){\n if(node.type =='element'){\n if(node.tagName == 'br'){\n frag.appendChild(me.document.createElement('br'))\n }else if(!dtd.$empty[node.tagName]){\n utils.each(node.children,function(cn){\n if(cn.type =='element'){\n if(cn.tagName == 'br'){\n\n frag.appendChild(me.document.createElement('br'))\n }else if(!dtd.$empty[node.tagName]){\n frag.appendChild(me.document.createTextNode(utils.html(cn.innerText().replace(/ /g,' '))));\n\n }\n }else{\n frag.appendChild(me.document.createTextNode(utils.html( cn.data.replace(/ /g,' '))));\n\n }\n })\n if(frag.lastChild.nodeName != 'BR'){\n frag.appendChild(me.document.createElement('br'))\n }\n }\n }else{\n frag.appendChild(me.document.createTextNode(utils.html( node.data.replace(/ /g,' '))));\n }\n if(!node.nextSibling() && frag.lastChild.nodeName == 'BR'){\n frag.removeChild(frag.lastChild)\n }\n\n\n });\n rng.insertNode(frag).select();\n\n }\n\n return true;\n }\n });\n //方向键的处理\n me.addListener('keydown',function(cmd,evt){\n var me = this,keyCode = evt.keyCode || evt.which;\n if(keyCode == 40){\n var rng = me.selection.getRange(),pre,start = rng.startContainer;\n if(rng.collapsed && (pre = domUtils.findParentByTagName(rng.startContainer,'pre',true)) && !pre.nextSibling){\n var last = pre.lastChild\n while(last && last.nodeName == 'BR'){\n last = last.previousSibling;\n }\n if(last === start || rng.startContainer === pre && rng.startOffset == pre.childNodes.length){\n me.execCommand('insertparagraph');\n domUtils.preventDefault(evt)\n }\n\n }\n }\n });\n //trace:3395\n me.addListener('delkeydown',function(type,evt){\n var rng = this.selection.getRange();\n rng.txtToElmBoundary(true);\n var start = rng.startContainer;\n if(domUtils.isTagNode(start,'pre') && rng.collapsed && domUtils.isStartInblock(rng)){\n var p = me.document.createElement('p');\n domUtils.fillNode(me.document,p);\n start.parentNode.insertBefore(p,start);\n domUtils.remove(start);\n rng.setStart(p,0).setCursor(false,true);\n domUtils.preventDefault(evt);\n return true;\n }\n })\n};\n\n\n// plugins/cleardoc.js\n/**\n * 清空文档插件\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 清空文档\n * @command cleardoc\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * //editor 是编辑器实例\n * editor.execCommand('cleardoc');\n * ```\n */\n\nUE.commands['cleardoc'] = {\n execCommand : function( cmdName) {\n var me = this,\n enterTag = me.options.enterTag,\n range = me.selection.getRange();\n if(enterTag == \"br\"){\n me.body.innerHTML = \"
    \";\n range.setStart(me.body,0).setCursor();\n }else{\n me.body.innerHTML = \"

    \"+(ie ? \"\" : \"
    \")+\"

    \";\n range.setStart(me.body.firstChild,0).setCursor(false,true);\n }\n setTimeout(function(){\n me.fireEvent(\"clearDoc\");\n },0);\n\n }\n};\n\n\n\n// plugins/anchor.js\n/**\n * 锚点插件,为UEditor提供插入锚点支持\n * @file\n * @since 1.2.6.1\n */\nUE.plugin.register('anchor', function (){\n\n return {\n bindEvents:{\n 'ready':function(){\n utils.cssRule('anchor',\n '.anchorclass{background: url(\\''\n + this.options.themePath\n + this.options.theme +'/images/anchor.gif\\') no-repeat scroll left center transparent;cursor: auto;display: inline-block;height: 16px;width: 15px;}',\n this.document);\n }\n },\n outputRule: function(root){\n utils.each(root.getNodesByTagName('img'),function(a){\n var val;\n if(val = a.getAttr('anchorname')){\n a.tagName = 'a';\n a.setAttr({\n anchorname : '',\n name : val,\n 'class' : ''\n })\n }\n })\n },\n inputRule:function(root){\n utils.each(root.getNodesByTagName('a'),function(a){\n var val;\n if((val = a.getAttr('name')) && !a.getAttr('href')){\n a.tagName = 'img';\n a.setAttr({\n anchorname :a.getAttr('name'),\n 'class' : 'anchorclass'\n });\n a.setAttr('name')\n\n }\n })\n\n },\n commands:{\n /**\n * 插入锚点\n * @command anchor\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } name 锚点名称字符串\n * @example\n * ```javascript\n * //editor 是编辑器实例\n * editor.execCommand('anchor', 'anchor1');\n * ```\n */\n 'anchor':{\n execCommand:function (cmd, name) {\n var range = this.selection.getRange(),img = range.getClosedNode();\n if (img && img.getAttribute('anchorname')) {\n if (name) {\n img.setAttribute('anchorname', name);\n } else {\n range.setStartBefore(img).setCursor();\n domUtils.remove(img);\n }\n } else {\n if (name) {\n //只在选区的开始插入\n var anchor = this.document.createElement('img');\n range.collapse(true);\n domUtils.setAttributes(anchor,{\n 'anchorname':name,\n 'class':'anchorclass'\n });\n range.insertNode(anchor).setStartAfter(anchor).setCursor(false,true);\n }\n }\n }\n }\n }\n }\n});\n\n\n// plugins/wordcount.js\n///import core\n///commands 字数统计\n///commandsName WordCount,wordCount\n///commandsTitle 字数统计\n/*\n * Created by JetBrains WebStorm.\n * User: taoqili\n * Date: 11-9-7\n * Time: 下午8:18\n * To change this template use File | Settings | File Templates.\n */\n\nUE.plugins['wordcount'] = function(){\n var me = this;\n me.setOpt('wordCount',true);\n me.addListener('contentchange',function(){\n me.fireEvent('wordcount');\n });\n var timer;\n me.addListener('ready',function(){\n var me = this;\n domUtils.on(me.body,\"keyup\",function(evt){\n var code = evt.keyCode||evt.which,\n //忽略的按键,ctr,alt,shift,方向键\n ignores = {\"16\":1,\"18\":1,\"20\":1,\"37\":1,\"38\":1,\"39\":1,\"40\":1};\n if(code in ignores) return;\n clearTimeout(timer);\n timer = setTimeout(function(){\n me.fireEvent('wordcount');\n },200)\n })\n });\n};\n\n\n// plugins/pagebreak.js\n/**\n * 分页功能插件\n * @file\n * @since 1.2.6.1\n */\nUE.plugins['pagebreak'] = function () {\n var me = this,\n notBreakTags = ['td'];\n me.setOpt('pageBreakTag','_ueditor_page_break_tag_');\n\n function fillNode(node){\n if(domUtils.isEmptyBlock(node)){\n var firstChild = node.firstChild,tmpNode;\n\n while(firstChild && firstChild.nodeType == 1 && domUtils.isEmptyBlock(firstChild)){\n tmpNode = firstChild;\n firstChild = firstChild.firstChild;\n }\n !tmpNode && (tmpNode = node);\n domUtils.fillNode(me.document,tmpNode);\n }\n }\n //分页符样式添加\n\n me.ready(function(){\n utils.cssRule('pagebreak','.pagebreak{display:block;clear:both !important;cursor:default !important;width: 100% !important;margin:0;}',me.document);\n });\n function isHr(node){\n return node && node.nodeType == 1 && node.tagName == 'HR' && node.className == 'pagebreak';\n }\n me.addInputRule(function(root){\n root.traversal(function(node){\n if(node.type == 'text' && node.data == me.options.pageBreakTag){\n var hr = UE.uNode.createElement('
    ');\n node.parentNode.insertBefore(hr,node);\n node.parentNode.removeChild(node)\n }\n })\n });\n me.addOutputRule(function(node){\n utils.each(node.getNodesByTagName('hr'),function(n){\n if(n.getAttr('class') == 'pagebreak'){\n var txt = UE.uNode.createText(me.options.pageBreakTag);\n n.parentNode.insertBefore(txt,n);\n n.parentNode.removeChild(n);\n }\n })\n\n });\n\n /**\n * 插入分页符\n * @command pagebreak\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @remind 在表格中插入分页符会把表格切分成两部分\n * @remind 获取编辑器内的数据时, 编辑器会把分页符转换成“_ueditor_page_break_tag_”字符串,\n * 以便于提交数据到服务器端后处理分页。\n * @example\n * ```javascript\n * editor.execCommand( 'pagebreak'); //插入一个hr标签,带有样式类名pagebreak\n * ```\n */\n\n me.commands['pagebreak'] = {\n execCommand:function () {\n var range = me.selection.getRange(),hr = me.document.createElement('hr');\n domUtils.setAttributes(hr,{\n 'class' : 'pagebreak',\n noshade:\"noshade\",\n size:\"5\"\n });\n domUtils.unSelectable(hr);\n //table单独处理\n var node = domUtils.findParentByTagName(range.startContainer, notBreakTags, true),\n\n parents = [], pN;\n if (node) {\n switch (node.tagName) {\n case 'TD':\n pN = node.parentNode;\n if (!pN.previousSibling) {\n var table = domUtils.findParentByTagName(pN, 'table');\n// var tableWrapDiv = table.parentNode;\n// if(tableWrapDiv && tableWrapDiv.nodeType == 1\n// && tableWrapDiv.tagName == 'DIV'\n// && tableWrapDiv.getAttribute('dropdrag')\n// ){\n// domUtils.remove(tableWrapDiv,true);\n// }\n table.parentNode.insertBefore(hr, table);\n parents = domUtils.findParents(hr, true);\n\n } else {\n pN.parentNode.insertBefore(hr, pN);\n parents = domUtils.findParents(hr);\n\n }\n pN = parents[1];\n if (hr !== pN) {\n domUtils.breakParent(hr, pN);\n\n }\n //table要重写绑定一下拖拽\n me.fireEvent('afteradjusttable',me.document);\n }\n\n } else {\n\n if (!range.collapsed) {\n range.deleteContents();\n var start = range.startContainer;\n while ( !domUtils.isBody(start) && domUtils.isBlockElm(start) && domUtils.isEmptyNode(start)) {\n range.setStartBefore(start).collapse(true);\n domUtils.remove(start);\n start = range.startContainer;\n }\n\n }\n range.insertNode(hr);\n\n var pN = hr.parentNode, nextNode;\n while (!domUtils.isBody(pN)) {\n domUtils.breakParent(hr, pN);\n nextNode = hr.nextSibling;\n if (nextNode && domUtils.isEmptyBlock(nextNode)) {\n domUtils.remove(nextNode);\n }\n pN = hr.parentNode;\n }\n nextNode = hr.nextSibling;\n var pre = hr.previousSibling;\n if(isHr(pre)){\n domUtils.remove(pre);\n }else{\n pre && fillNode(pre);\n }\n\n if(!nextNode){\n var p = me.document.createElement('p');\n\n hr.parentNode.appendChild(p);\n domUtils.fillNode(me.document,p);\n range.setStart(p,0).collapse(true);\n }else{\n if(isHr(nextNode)){\n domUtils.remove(nextNode);\n }else{\n fillNode(nextNode);\n }\n range.setEndAfter(hr).collapse(false);\n }\n\n range.select(true);\n\n }\n\n }\n };\n};\n\n// plugins/wordimage.js\n///import core\n///commands 本地图片引导上传\n///commandsName WordImage\n///commandsTitle 本地图片引导上传\n///commandsDialog dialogs\\wordimage\n\nUE.plugin.register('wordimage',function(){\n var me = this,\n images = [];\n return {\n commands : {\n 'wordimage':{\n execCommand:function () {\n var images = domUtils.getElementsByTagName(me.body, \"img\");\n var urlList = [];\n for (var i = 0, ci; ci = images[i++];) {\n var url = ci.getAttribute(\"word_img\");\n url && urlList.push(url);\n }\n return urlList;\n },\n queryCommandState:function () {\n images = domUtils.getElementsByTagName(me.body, \"img\");\n for (var i = 0, ci; ci = images[i++];) {\n if (ci.getAttribute(\"word_img\")) {\n return 1;\n }\n }\n return -1;\n },\n notNeedUndo:true\n }\n },\n inputRule : function (root) {\n utils.each(root.getNodesByTagName('img'), function (img) {\n var attrs = img.attrs,\n flag = parseInt(attrs.width) < 128 || parseInt(attrs.height) < 43,\n opt = me.options,\n src = opt.UEDITOR_HOME_URL + 'themes/default/images/spacer.gif';\n if (attrs['src'] && /^(?:(file:\\/+))/.test(attrs['src'])) {\n img.setAttr({\n width:attrs.width,\n height:attrs.height,\n alt:attrs.alt,\n word_img: attrs.src,\n src:src,\n 'style':'background:url(' + ( flag ? opt.themePath + opt.theme + '/images/word.gif' : opt.langPath + opt.lang + '/images/localimage.png') + ') no-repeat center center;border:1px solid #ddd'\n })\n }\n })\n }\n }\n});\n\n// plugins/dragdrop.js\nUE.plugins['dragdrop'] = function (){\n\n var me = this;\n me.ready(function(){\n domUtils.on(this.body,'dragend',function(){\n var rng = me.selection.getRange();\n var node = rng.getClosedNode()||me.selection.getStart();\n\n if(node && node.tagName == 'IMG'){\n\n var pre = node.previousSibling,next;\n while(next = node.nextSibling){\n if(next.nodeType == 1 && next.tagName == 'SPAN' && !next.firstChild){\n domUtils.remove(next)\n }else{\n break;\n }\n }\n\n\n if((pre && pre.nodeType == 1 && !domUtils.isEmptyBlock(pre) || !pre) && (!next || next && !domUtils.isEmptyBlock(next))){\n if(pre && pre.tagName == 'P' && !domUtils.isEmptyBlock(pre)){\n pre.appendChild(node);\n domUtils.moveChild(next,pre);\n domUtils.remove(next);\n }else if(next && next.tagName == 'P' && !domUtils.isEmptyBlock(next)){\n next.insertBefore(node,next.firstChild);\n }\n\n if(pre && pre.tagName == 'P' && domUtils.isEmptyBlock(pre)){\n domUtils.remove(pre)\n }\n if(next && next.tagName == 'P' && domUtils.isEmptyBlock(next)){\n domUtils.remove(next)\n }\n rng.selectNode(node).select();\n me.fireEvent('saveScene');\n\n }\n\n }\n\n })\n });\n me.addListener('keyup', function(type, evt) {\n var keyCode = evt.keyCode || evt.which;\n if (keyCode == 13) {\n var rng = me.selection.getRange(),node;\n if(node = domUtils.findParentByTagName(rng.startContainer,'p',true)){\n if(domUtils.getComputedStyle(node,'text-align') == 'center'){\n domUtils.removeStyle(node,'text-align')\n }\n }\n }\n })\n};\n\n\n// plugins/undo.js\n/**\n * undo redo\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 撤销上一次执行的命令\n * @command undo\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'undo' );\n * ```\n */\n\n/**\n * 重做上一次执行的命令\n * @command redo\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'redo' );\n * ```\n */\n\nUE.plugins['undo'] = function () {\n var saveSceneTimer;\n var me = this,\n maxUndoCount = me.options.maxUndoCount || 20,\n maxInputCount = me.options.maxInputCount || 20,\n fillchar = new RegExp(domUtils.fillChar + '|<\\/hr>', 'gi');// ie会产生多余的\n var noNeedFillCharTags = {\n ol:1,ul:1,table:1,tbody:1,tr:1,body:1\n };\n var orgState = me.options.autoClearEmptyNode;\n function compareAddr(indexA, indexB) {\n if (indexA.length != indexB.length)\n return 0;\n for (var i = 0, l = indexA.length; i < l; i++) {\n if (indexA[i] != indexB[i])\n return 0\n }\n return 1;\n }\n\n function compareRangeAddress(rngAddrA, rngAddrB) {\n if (rngAddrA.collapsed != rngAddrB.collapsed) {\n return 0;\n }\n if (!compareAddr(rngAddrA.startAddress, rngAddrB.startAddress) || !compareAddr(rngAddrA.endAddress, rngAddrB.endAddress)) {\n return 0;\n }\n return 1;\n }\n\n function UndoManager() {\n this.list = [];\n this.index = 0;\n this.hasUndo = false;\n this.hasRedo = false;\n this.undo = function () {\n if (this.hasUndo) {\n if (!this.list[this.index - 1] && this.list.length == 1) {\n this.reset();\n return;\n }\n while (this.list[this.index].content == this.list[this.index - 1].content) {\n this.index--;\n if (this.index == 0) {\n return this.restore(0);\n }\n }\n this.restore(--this.index);\n }\n };\n this.redo = function () {\n if (this.hasRedo) {\n while (this.list[this.index].content == this.list[this.index + 1].content) {\n this.index++;\n if (this.index == this.list.length - 1) {\n return this.restore(this.index);\n }\n }\n this.restore(++this.index);\n }\n };\n\n this.restore = function () {\n var me = this.editor;\n var scene = this.list[this.index];\n var root = UE.htmlparser(scene.content.replace(fillchar, ''));\n me.options.autoClearEmptyNode = false;\n me.filterInputRule(root);\n me.options.autoClearEmptyNode = orgState;\n //trace:873\n //去掉展位符\n me.document.body.innerHTML = root.toHtml();\n me.fireEvent('afterscencerestore');\n //处理undo后空格不展位的问题\n if (browser.ie) {\n utils.each(domUtils.getElementsByTagName(me.document,'td th caption p'),function(node){\n if(domUtils.isEmptyNode(node)){\n domUtils.fillNode(me.document, node);\n }\n })\n }\n\n try{\n var rng = new dom.Range(me.document).moveToAddress(scene.address);\n rng.select(noNeedFillCharTags[rng.startContainer.nodeName.toLowerCase()]);\n }catch(e){}\n\n this.update();\n this.clearKey();\n //不能把自己reset了\n me.fireEvent('reset', true);\n };\n\n this.getScene = function () {\n var me = this.editor;\n var rng = me.selection.getRange(),\n rngAddress = rng.createAddress(false,true);\n me.fireEvent('beforegetscene');\n var root = UE.htmlparser(me.body.innerHTML);\n me.options.autoClearEmptyNode = false;\n me.filterOutputRule(root);\n me.options.autoClearEmptyNode = orgState;\n var cont = root.toHtml();\n //trace:3461\n //这个会引起回退时导致空格丢失的情况\n// browser.ie && (cont = cont.replace(/> <').replace(/\\s*\\s*/g, '>'));\n me.fireEvent('aftergetscene');\n\n return {\n address:rngAddress,\n content:cont\n }\n };\n this.save = function (notCompareRange,notSetCursor) {\n clearTimeout(saveSceneTimer);\n var currentScene = this.getScene(notSetCursor),\n lastScene = this.list[this.index];\n\n if(lastScene && lastScene.content != currentScene.content){\n me.trigger('contentchange')\n }\n //内容相同位置相同不存\n if (lastScene && lastScene.content == currentScene.content &&\n ( notCompareRange ? 1 : compareRangeAddress(lastScene.address, currentScene.address) )\n ) {\n return;\n }\n this.list = this.list.slice(0, this.index + 1);\n this.list.push(currentScene);\n //如果大于最大数量了,就把最前的剔除\n if (this.list.length > maxUndoCount) {\n this.list.shift();\n }\n this.index = this.list.length - 1;\n this.clearKey();\n //跟新undo/redo状态\n this.update();\n\n };\n this.update = function () {\n this.hasRedo = !!this.list[this.index + 1];\n this.hasUndo = !!this.list[this.index - 1];\n };\n this.reset = function () {\n this.list = [];\n this.index = 0;\n this.hasUndo = false;\n this.hasRedo = false;\n this.clearKey();\n };\n this.clearKey = function () {\n keycont = 0;\n lastKeyCode = null;\n };\n }\n\n me.undoManger = new UndoManager();\n me.undoManger.editor = me;\n function saveScene() {\n this.undoManger.save();\n }\n\n me.addListener('saveScene', function () {\n var args = Array.prototype.splice.call(arguments,1);\n this.undoManger.save.apply(this.undoManger,args);\n });\n\n// me.addListener('beforeexeccommand', saveScene);\n// me.addListener('afterexeccommand', saveScene);\n\n me.addListener('reset', function (type, exclude) {\n if (!exclude) {\n this.undoManger.reset();\n }\n });\n me.commands['redo'] = me.commands['undo'] = {\n execCommand:function (cmdName) {\n this.undoManger[cmdName]();\n },\n queryCommandState:function (cmdName) {\n return this.undoManger['has' + (cmdName.toLowerCase() == 'undo' ? 'Undo' : 'Redo')] ? 0 : -1;\n },\n notNeedUndo:1\n };\n\n var keys = {\n // /*Backspace*/ 8:1, /*Delete*/ 46:1,\n /*Shift*/ 16:1, /*Ctrl*/ 17:1, /*Alt*/ 18:1,\n 37:1, 38:1, 39:1, 40:1\n\n },\n keycont = 0,\n lastKeyCode;\n //输入法状态下不计算字符数\n var inputType = false;\n me.addListener('ready', function () {\n domUtils.on(this.body, 'compositionstart', function () {\n inputType = true;\n });\n domUtils.on(this.body, 'compositionend', function () {\n inputType = false;\n })\n });\n //快捷键\n me.addshortcutkey({\n \"Undo\":\"ctrl+90\", //undo\n \"Redo\":\"ctrl+89\" //redo\n\n });\n var isCollapsed = true;\n me.addListener('keydown', function (type, evt) {\n\n var me = this;\n var keyCode = evt.keyCode || evt.which;\n if (!keys[keyCode] && !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) {\n if (inputType)\n return;\n\n if(!me.selection.getRange().collapsed){\n me.undoManger.save(false,true);\n isCollapsed = false;\n return;\n }\n if (me.undoManger.list.length == 0) {\n me.undoManger.save(true);\n }\n clearTimeout(saveSceneTimer);\n function save(cont){\n cont.undoManger.save(false,true);\n cont.fireEvent('selectionchange');\n }\n saveSceneTimer = setTimeout(function(){\n if(inputType){\n var interalTimer = setInterval(function(){\n if(!inputType){\n save(me);\n clearInterval(interalTimer)\n }\n },300)\n return;\n }\n save(me);\n },200);\n\n lastKeyCode = keyCode;\n keycont++;\n if (keycont >= maxInputCount ) {\n save(me)\n }\n }\n });\n me.addListener('keyup', function (type, evt) {\n var keyCode = evt.keyCode || evt.which;\n if (!keys[keyCode] && !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) {\n if (inputType)\n return;\n if(!isCollapsed){\n this.undoManger.save(false,true);\n isCollapsed = true;\n }\n }\n });\n //扩展实例,添加关闭和开启命令undo\n me.stopCmdUndo = function(){\n me.__hasEnterExecCommand = true;\n };\n me.startCmdUndo = function(){\n me.__hasEnterExecCommand = false;\n }\n};\n\n\n// plugins/copy.js\nUE.plugin.register('copy', function () {\n\n var me = this;\n\n function initZeroClipboard() {\n\n ZeroClipboard.config({\n debug: false,\n swfPath: me.options.UEDITOR_HOME_URL + 'third-party/zeroclipboard/ZeroClipboard.swf'\n });\n\n var client = me.zeroclipboard = new ZeroClipboard();\n\n // 复制内容\n client.on('copy', function (e) {\n var client = e.client,\n rng = me.selection.getRange(),\n div = document.createElement('div');\n\n div.appendChild(rng.cloneContents());\n client.setText(div.innerText || div.textContent);\n client.setHtml(div.innerHTML);\n rng.select();\n });\n // hover事件传递到target\n client.on('mouseover mouseout', function (e) {\n var target = e.target;\n if (e.type == 'mouseover') {\n domUtils.addClass(target, 'edui-state-hover');\n } else if (e.type == 'mouseout') {\n domUtils.removeClasses(target, 'edui-state-hover');\n }\n });\n // flash加载不成功\n client.on('wrongflash noflash', function () {\n ZeroClipboard.destroy();\n });\n }\n\n return {\n bindEvents: {\n 'ready': function () {\n if (!browser.ie) {\n if (window.ZeroClipboard) {\n initZeroClipboard();\n } else {\n utils.loadFile(document, {\n src: me.options.UEDITOR_HOME_URL + \"third-party/zeroclipboard/ZeroClipboard.js\",\n tag: \"script\",\n type: \"text/javascript\",\n defer: \"defer\"\n }, function () {\n initZeroClipboard();\n });\n }\n }\n }\n },\n commands: {\n 'copy': {\n execCommand: function (cmd) {\n if (!me.document.execCommand('copy')) {\n alert(me.getLang('copymsg'));\n }\n }\n }\n }\n }\n});\n\n\n// plugins/paste.js\n///import core\n///import plugins/inserthtml.js\n///import plugins/undo.js\n///import plugins/serialize.js\n///commands 粘贴\n///commandsName PastePlain\n///commandsTitle 纯文本粘贴模式\n/**\n * @description 粘贴\n * @author zhanyi\n */\nUE.plugins['paste'] = function () {\n function getClipboardData(callback) {\n var doc = this.document;\n if (doc.getElementById('baidu_pastebin')) {\n return;\n }\n var range = this.selection.getRange(),\n bk = range.createBookmark(),\n //创建剪贴的容器div\n pastebin = doc.createElement('div');\n pastebin.id = 'baidu_pastebin';\n // Safari 要求div必须有内容,才能粘贴内容进来\n browser.webkit && pastebin.appendChild(doc.createTextNode(domUtils.fillChar + domUtils.fillChar));\n doc.body.appendChild(pastebin);\n //trace:717 隐藏的span不能得到top\n //bk.start.innerHTML = ' ';\n bk.start.style.display = '';\n pastebin.style.cssText = \"position:absolute;width:1px;height:1px;overflow:hidden;left:-1000px;white-space:nowrap;top:\" +\n //要在现在光标平行的位置加入,否则会出现跳动的问题\n domUtils.getXY(bk.start).y + 'px';\n\n range.selectNodeContents(pastebin).select(true);\n\n setTimeout(function () {\n if (browser.webkit) {\n for (var i = 0, pastebins = doc.querySelectorAll('#baidu_pastebin'), pi; pi = pastebins[i++];) {\n if (domUtils.isEmptyNode(pi)) {\n domUtils.remove(pi);\n } else {\n pastebin = pi;\n break;\n }\n }\n }\n try {\n pastebin.parentNode.removeChild(pastebin);\n } catch (e) {\n }\n range.moveToBookmark(bk).select(true);\n callback(pastebin);\n }, 0);\n }\n\n var me = this;\n\n me.setOpt({\n retainOnlyLabelPasted : false\n });\n\n var txtContent, htmlContent, address;\n\n function getPureHtml(html){\n return html.replace(/<(\\/?)([\\w\\-]+)([^>]*)>/gi, function (a, b, tagName, attrs) {\n tagName = tagName.toLowerCase();\n if ({img: 1}[tagName]) {\n return a;\n }\n attrs = attrs.replace(/([\\w\\-]*?)\\s*=\\s*((\"([^\"]*)\")|('([^']*)')|([^\\s>]+))/gi, function (str, atr, val) {\n if ({\n 'src': 1,\n 'href': 1,\n 'name': 1\n }[atr.toLowerCase()]) {\n return atr + '=' + val + ' '\n }\n return ''\n });\n if ({\n 'span': 1,\n 'div': 1\n }[tagName]) {\n return ''\n } else {\n\n return '<' + b + tagName + ' ' + utils.trim(attrs) + '>'\n }\n\n });\n }\n function filter(div) {\n var html;\n if (div.firstChild) {\n //去掉cut中添加的边界值\n var nodes = domUtils.getElementsByTagName(div, 'span');\n for (var i = 0, ni; ni = nodes[i++];) {\n if (ni.id == '_baidu_cut_start' || ni.id == '_baidu_cut_end') {\n domUtils.remove(ni);\n }\n }\n\n if (browser.webkit) {\n\n var brs = div.querySelectorAll('div br');\n for (var i = 0, bi; bi = brs[i++];) {\n var pN = bi.parentNode;\n if (pN.tagName == 'DIV' && pN.childNodes.length == 1) {\n pN.innerHTML = '


    ';\n domUtils.remove(pN);\n }\n }\n var divs = div.querySelectorAll('#baidu_pastebin');\n for (var i = 0, di; di = divs[i++];) {\n var tmpP = me.document.createElement('p');\n di.parentNode.insertBefore(tmpP, di);\n while (di.firstChild) {\n tmpP.appendChild(di.firstChild);\n }\n domUtils.remove(di);\n }\n\n var metas = div.querySelectorAll('meta');\n for (var i = 0, ci; ci = metas[i++];) {\n domUtils.remove(ci);\n }\n\n var brs = div.querySelectorAll('br');\n for (i = 0; ci = brs[i++];) {\n if (/^apple-/i.test(ci.className)) {\n domUtils.remove(ci);\n }\n }\n }\n if (browser.gecko) {\n var dirtyNodes = div.querySelectorAll('[_moz_dirty]');\n for (i = 0; ci = dirtyNodes[i++];) {\n ci.removeAttribute('_moz_dirty');\n }\n }\n if (!browser.ie) {\n var spans = div.querySelectorAll('span.Apple-style-span');\n for (var i = 0, ci; ci = spans[i++];) {\n domUtils.remove(ci, true);\n }\n }\n\n //ie下使用innerHTML会产生多余的\\r\\n字符,也会产生 这里过滤掉\n html = div.innerHTML;//.replace(/>(?:(\\s| )*?)<');\n\n //过滤word粘贴过来的冗余属性\n html = UE.filterWord(html);\n //取消了忽略空白的第二个参数,粘贴过来的有些是有空白的,会被套上相关的标签\n var root = UE.htmlparser(html);\n //如果给了过滤规则就先进行过滤\n if (me.options.filterRules) {\n UE.filterNode(root, me.options.filterRules);\n }\n //执行默认的处理\n me.filterInputRule(root);\n //针对chrome的处理\n if (browser.webkit) {\n var br = root.lastChild();\n if (br && br.type == 'element' && br.tagName == 'br') {\n root.removeChild(br)\n }\n utils.each(me.body.querySelectorAll('div'), function (node) {\n if (domUtils.isEmptyBlock(node)) {\n domUtils.remove(node,true)\n }\n })\n }\n html = {'html': root.toHtml()};\n me.fireEvent('beforepaste', html, root);\n //抢了默认的粘贴,那后边的内容就不执行了,比如表格粘贴\n if(!html.html){\n return;\n }\n root = UE.htmlparser(html.html,true);\n //如果开启了纯文本模式\n if (me.queryCommandState('pasteplain') === 1) {\n me.execCommand('insertHtml', UE.filterNode(root, me.options.filterTxtRules).toHtml(), true);\n } else {\n //文本模式\n UE.filterNode(root, me.options.filterTxtRules);\n txtContent = root.toHtml();\n //完全模式\n htmlContent = html.html;\n\n address = me.selection.getRange().createAddress(true);\n me.execCommand('insertHtml', me.getOpt('retainOnlyLabelPasted') === true ? getPureHtml(htmlContent) : htmlContent, true);\n }\n me.fireEvent(\"afterpaste\", html);\n }\n }\n\n me.addListener('pasteTransfer', function (cmd, plainType) {\n\n if (address && txtContent && htmlContent && txtContent != htmlContent) {\n var range = me.selection.getRange();\n range.moveToAddress(address, true);\n\n if (!range.collapsed) {\n\n while (!domUtils.isBody(range.startContainer)\n ) {\n var start = range.startContainer;\n if(start.nodeType == 1){\n start = start.childNodes[range.startOffset];\n if(!start){\n range.setStartBefore(range.startContainer);\n continue;\n }\n var pre = start.previousSibling;\n\n if(pre && pre.nodeType == 3 && new RegExp('^[\\n\\r\\t '+domUtils.fillChar+']*$').test(pre.nodeValue)){\n range.setStartBefore(pre)\n }\n }\n if(range.startOffset == 0){\n range.setStartBefore(range.startContainer);\n }else{\n break;\n }\n\n }\n while (!domUtils.isBody(range.endContainer)\n ) {\n var end = range.endContainer;\n if(end.nodeType == 1){\n end = end.childNodes[range.endOffset];\n if(!end){\n range.setEndAfter(range.endContainer);\n continue;\n }\n var next = end.nextSibling;\n if(next && next.nodeType == 3 && new RegExp('^[\\n\\r\\t'+domUtils.fillChar+']*$').test(next.nodeValue)){\n range.setEndAfter(next)\n }\n }\n if(range.endOffset == range.endContainer[range.endContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length){\n range.setEndAfter(range.endContainer);\n }else{\n break;\n }\n\n }\n\n }\n\n range.deleteContents();\n range.select(true);\n me.__hasEnterExecCommand = true;\n var html = htmlContent;\n if (plainType === 2 ) {\n html = getPureHtml(html);\n } else if (plainType) {\n html = txtContent;\n }\n me.execCommand('inserthtml', html, true);\n me.__hasEnterExecCommand = false;\n var rng = me.selection.getRange();\n while (!domUtils.isBody(rng.startContainer) && !rng.startOffset &&\n rng.startContainer[rng.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length\n ) {\n rng.setStartBefore(rng.startContainer);\n }\n var tmpAddress = rng.createAddress(true);\n address.endAddress = tmpAddress.startAddress;\n }\n });\n\n me.addListener('ready', function () {\n domUtils.on(me.body, 'cut', function () {\n var range = me.selection.getRange();\n if (!range.collapsed && me.undoManger) {\n me.undoManger.save();\n }\n });\n\n //ie下beforepaste在点击右键时也会触发,所以用监控键盘才处理\n domUtils.on(me.body, browser.ie || browser.opera ? 'keydown' : 'paste', function (e) {\n if ((browser.ie || browser.opera) && ((!e.ctrlKey && !e.metaKey) || e.keyCode != '86')) {\n return;\n }\n getClipboardData.call(me, function (div) {\n filter(div);\n });\n });\n\n });\n\n me.commands['paste'] = {\n execCommand: function (cmd) {\n if (browser.ie) {\n getClipboardData.call(me, function (div) {\n filter(div);\n });\n me.document.execCommand('paste');\n } else {\n alert(me.getLang('pastemsg'));\n }\n }\n }\n};\n\n\n\n// plugins/puretxtpaste.js\n/**\n * 纯文本粘贴插件\n * @file\n * @since 1.2.6.1\n */\n\nUE.plugins['pasteplain'] = function(){\n var me = this;\n me.setOpt({\n 'pasteplain':false,\n 'filterTxtRules' : function(){\n function transP(node){\n node.tagName = 'p';\n node.setStyle();\n }\n function removeNode(node){\n node.parentNode.removeChild(node,true)\n }\n return {\n //直接删除及其字节点内容\n '-' : 'script style object iframe embed input select',\n 'p': {$:{}},\n 'br':{$:{}},\n div: function (node) {\n var tmpNode, p = UE.uNode.createElement('p');\n while (tmpNode = node.firstChild()) {\n if (tmpNode.type == 'text' || !UE.dom.dtd.$block[tmpNode.tagName]) {\n p.appendChild(tmpNode);\n } else {\n if (p.firstChild()) {\n node.parentNode.insertBefore(p, node);\n p = UE.uNode.createElement('p');\n } else {\n node.parentNode.insertBefore(tmpNode, node);\n }\n }\n }\n if (p.firstChild()) {\n node.parentNode.insertBefore(p, node);\n }\n node.parentNode.removeChild(node);\n },\n ol: removeNode,\n ul: removeNode,\n dl:removeNode,\n dt:removeNode,\n dd:removeNode,\n 'li':removeNode,\n 'caption':transP,\n 'th':transP,\n 'tr':transP,\n 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP,\n 'td':function(node){\n //没有内容的td直接删掉\n var txt = !!node.innerText();\n if(txt){\n node.parentNode.insertAfter(UE.uNode.createText('    '),node);\n }\n node.parentNode.removeChild(node,node.innerText())\n }\n }\n }()\n });\n //暂时这里支持一下老版本的属性\n var pasteplain = me.options.pasteplain;\n\n /**\n * 启用或取消纯文本粘贴模式\n * @command pasteplain\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.queryCommandState( 'pasteplain' );\n * ```\n */\n\n /**\n * 查询当前是否处于纯文本粘贴模式\n * @command pasteplain\n * @method queryCommandState\n * @param { String } cmd 命令字符串\n * @return { int } 如果处于纯文本模式,返回1,否则,返回0\n * @example\n * ```javascript\n * editor.queryCommandState( 'pasteplain' );\n * ```\n */\n me.commands['pasteplain'] = {\n queryCommandState: function (){\n return pasteplain ? 1 : 0;\n },\n execCommand: function (){\n pasteplain = !pasteplain|0;\n },\n notNeedUndo : 1\n };\n};\n\n// plugins/list.js\n/**\n * 有序列表,无序列表插件\n * @file\n * @since 1.2.6.1\n */\n\nUE.plugins['list'] = function () {\n var me = this,\n notExchange = {\n 'TD':1,\n 'PRE':1,\n 'BLOCKQUOTE':1\n };\n var customStyle = {\n 'cn' : 'cn-1-',\n 'cn1' : 'cn-2-',\n 'cn2' : 'cn-3-',\n 'num': 'num-1-',\n 'num1' : 'num-2-',\n 'num2' : 'num-3-',\n 'dash' : 'dash',\n 'dot':'dot'\n };\n\n me.setOpt( {\n 'autoTransWordToList':false,\n 'insertorderedlist':{\n 'num':'',\n 'num1':'',\n 'num2':'',\n 'cn':'',\n 'cn1':'',\n 'cn2':'',\n 'decimal':'',\n 'lower-alpha':'',\n 'lower-roman':'',\n 'upper-alpha':'',\n 'upper-roman':''\n },\n 'insertunorderedlist':{\n 'circle':'',\n 'disc':'',\n 'square':'',\n 'dash' : '',\n 'dot':''\n },\n listDefaultPaddingLeft : '30',\n listiconpath : 'http://bs.baidu.com/listicon/',\n maxListLevel : -1,//-1不限制\n disablePInList:false\n } );\n function listToArray(list){\n var arr = [];\n for(var p in list){\n arr.push(p)\n }\n return arr;\n }\n var listStyle = {\n 'OL':listToArray(me.options.insertorderedlist),\n 'UL':listToArray(me.options.insertunorderedlist)\n };\n var liiconpath = me.options.listiconpath;\n\n //根据用户配置,调整customStyle\n for(var s in customStyle){\n if(!me.options.insertorderedlist.hasOwnProperty(s) && !me.options.insertunorderedlist.hasOwnProperty(s)){\n delete customStyle[s];\n }\n }\n\n me.ready(function () {\n var customCss = [];\n for(var p in customStyle){\n if(p == 'dash' || p == 'dot'){\n customCss.push('li.list-' + customStyle[p] + '{background-image:url(' + liiconpath +customStyle[p]+'.gif)}');\n customCss.push('ul.custom_'+p+'{list-style:none;}ul.custom_'+p+' li{background-position:0 3px;background-repeat:no-repeat}');\n }else{\n for(var i= 0;i<99;i++){\n customCss.push('li.list-' + customStyle[p] + i + '{background-image:url(' + liiconpath + 'list-'+customStyle[p] + i + '.gif)}')\n }\n customCss.push('ol.custom_'+p+'{list-style:none;}ol.custom_'+p+' li{background-position:0 3px;background-repeat:no-repeat}');\n }\n switch(p){\n case 'cn':\n customCss.push('li.list-'+p+'-paddingleft-1{padding-left:25px}');\n customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}');\n customCss.push('li.list-'+p+'-paddingleft-3{padding-left:55px}');\n break;\n case 'cn1':\n customCss.push('li.list-'+p+'-paddingleft-1{padding-left:30px}');\n customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}');\n customCss.push('li.list-'+p+'-paddingleft-3{padding-left:55px}');\n break;\n case 'cn2':\n customCss.push('li.list-'+p+'-paddingleft-1{padding-left:40px}');\n customCss.push('li.list-'+p+'-paddingleft-2{padding-left:55px}');\n customCss.push('li.list-'+p+'-paddingleft-3{padding-left:68px}');\n break;\n case 'num':\n case 'num1':\n customCss.push('li.list-'+p+'-paddingleft-1{padding-left:25px}');\n break;\n case 'num2':\n customCss.push('li.list-'+p+'-paddingleft-1{padding-left:35px}');\n customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}');\n break;\n case 'dash':\n customCss.push('li.list-'+p+'-paddingleft{padding-left:35px}');\n break;\n case 'dot':\n customCss.push('li.list-'+p+'-paddingleft{padding-left:20px}');\n }\n }\n customCss.push('.list-paddingleft-1{padding-left:0}');\n customCss.push('.list-paddingleft-2{padding-left:'+me.options.listDefaultPaddingLeft+'px}');\n customCss.push('.list-paddingleft-3{padding-left:'+me.options.listDefaultPaddingLeft*2+'px}');\n //如果不给宽度会在自定应样式里出现滚动条\n utils.cssRule('list', 'ol,ul{margin:0;pading:0;'+(browser.ie ? '' : 'width:95%')+'}li{clear:both;}'+customCss.join('\\n'), me.document);\n });\n //单独处理剪切的问题\n me.ready(function(){\n domUtils.on(me.body,'cut',function(){\n setTimeout(function(){\n var rng = me.selection.getRange(),li;\n //trace:3416\n if(!rng.collapsed){\n if(li = domUtils.findParentByTagName(rng.startContainer,'li',true)){\n if(!li.nextSibling && domUtils.isEmptyBlock(li)){\n var pn = li.parentNode,node;\n if(node = pn.previousSibling){\n domUtils.remove(pn);\n rng.setStartAtLast(node).collapse(true);\n rng.select(true);\n }else if(node = pn.nextSibling){\n domUtils.remove(pn);\n rng.setStartAtFirst(node).collapse(true);\n rng.select(true);\n }else{\n var tmpNode = me.document.createElement('p');\n domUtils.fillNode(me.document,tmpNode);\n pn.parentNode.insertBefore(tmpNode,pn);\n domUtils.remove(pn);\n rng.setStart(tmpNode,0).collapse(true);\n rng.select(true);\n }\n }\n }\n }\n\n })\n })\n });\n\n function getStyle(node){\n var cls = node.className;\n if(domUtils.hasClass(node,/custom_/)){\n return cls.match(/custom_(\\w+)/)[1]\n }\n return domUtils.getStyle(node, 'list-style-type')\n\n }\n\n me.addListener('beforepaste',function(type,html){\n var me = this,\n rng = me.selection.getRange(),li;\n var root = UE.htmlparser(html.html,true);\n if(li = domUtils.findParentByTagName(rng.startContainer,'li',true)){\n var list = li.parentNode,tagName = list.tagName == 'OL' ? 'ul':'ol';\n utils.each(root.getNodesByTagName(tagName),function(n){\n n.tagName = list.tagName;\n n.setAttr();\n if(n.parentNode === root){\n type = getStyle(list) || (list.tagName == 'OL' ? 'decimal' : 'disc')\n }else{\n var className = n.parentNode.getAttr('class');\n if(className && /custom_/.test(className)){\n type = className.match(/custom_(\\w+)/)[1]\n }else{\n type = n.parentNode.getStyle('list-style-type');\n }\n if(!type){\n type = list.tagName == 'OL' ? 'decimal' : 'disc';\n }\n }\n var index = utils.indexOf(listStyle[list.tagName], type);\n if(n.parentNode !== root)\n index = index + 1 == listStyle[list.tagName].length ? 0 : index + 1;\n var currentStyle = listStyle[list.tagName][index];\n if(customStyle[currentStyle]){\n n.setAttr('class', 'custom_' + currentStyle)\n\n }else{\n n.setStyle('list-style-type',currentStyle)\n }\n })\n\n }\n\n html.html = root.toHtml();\n });\n //导出时,去掉p标签\n me.getOpt('disablePInList') === true && me.addOutputRule(function(root){\n utils.each(root.getNodesByTagName('li'),function(li){\n var newChildrens = [],index=0;\n utils.each(li.children,function(n){\n if(n.tagName == 'p'){\n var tmpNode;\n while(tmpNode = n.children.pop()) {\n newChildrens.splice(index,0,tmpNode);\n tmpNode.parentNode = li;\n lastNode = tmpNode;\n }\n tmpNode = newChildrens[newChildrens.length-1];\n if(!tmpNode || tmpNode.type != 'element' || tmpNode.tagName != 'br'){\n var br = UE.uNode.createElement('br');\n br.parentNode = li;\n newChildrens.push(br);\n }\n\n index = newChildrens.length;\n }\n });\n if(newChildrens.length){\n li.children = newChildrens;\n }\n });\n });\n //进入编辑器的li要套p标签\n me.addInputRule(function(root){\n utils.each(root.getNodesByTagName('li'),function(li){\n var tmpP = UE.uNode.createElement('p');\n for(var i= 0,ci;ci=li.children[i];){\n if(ci.type == 'text' || dtd.p[ci.tagName]){\n tmpP.appendChild(ci);\n }else{\n if(tmpP.firstChild()){\n li.insertBefore(tmpP,ci);\n tmpP = UE.uNode.createElement('p');\n i = i + 2;\n }else{\n i++;\n }\n\n }\n }\n if(tmpP.firstChild() && !tmpP.parentNode || !li.firstChild()){\n li.appendChild(tmpP);\n }\n //trace:3357\n //p不能为空\n if (!tmpP.firstChild()) {\n tmpP.innerHTML(browser.ie ? ' ' : '
    ')\n }\n //去掉末尾的空白\n var p = li.firstChild();\n var lastChild = p.lastChild();\n if(lastChild && lastChild.type == 'text' && /^\\s*$/.test(lastChild.data)){\n p.removeChild(lastChild)\n }\n });\n if(me.options.autoTransWordToList){\n var orderlisttype = {\n 'num1':/^\\d+\\)/,\n 'decimal':/^\\d+\\./,\n 'lower-alpha':/^[a-z]+\\)/,\n 'upper-alpha':/^[A-Z]+\\./,\n 'cn':/^[\\u4E00\\u4E8C\\u4E09\\u56DB\\u516d\\u4e94\\u4e03\\u516b\\u4e5d]+[\\u3001]/,\n 'cn2':/^\\([\\u4E00\\u4E8C\\u4E09\\u56DB\\u516d\\u4e94\\u4e03\\u516b\\u4e5d]+\\)/\n },\n unorderlisttype = {\n 'square':'n'\n };\n function checkListType(content,container){\n var span = container.firstChild();\n if(span && span.type == 'element' && span.tagName == 'span' && /Wingdings|Symbol/.test(span.getStyle('font-family'))){\n for(var p in unorderlisttype){\n if(unorderlisttype[p] == span.data){\n return p\n }\n }\n return 'disc'\n }\n for(var p in orderlisttype){\n if(orderlisttype[p].test(content)){\n return p;\n }\n }\n\n }\n utils.each(root.getNodesByTagName('p'),function(node){\n if(node.getAttr('class') != 'MsoListParagraph'){\n return\n }\n\n //word粘贴过来的会带有margin要去掉,但这样也可能会误命中一些央视\n node.setStyle('margin','');\n node.setStyle('margin-left','');\n node.setAttr('class','');\n\n function appendLi(list,p,type){\n if(list.tagName == 'ol'){\n if(browser.ie){\n var first = p.firstChild();\n if(first.type =='element' && first.tagName == 'span' && orderlisttype[type].test(first.innerText())){\n p.removeChild(first);\n }\n }else{\n p.innerHTML(p.innerHTML().replace(orderlisttype[type],''));\n }\n }else{\n p.removeChild(p.firstChild())\n }\n\n var li = UE.uNode.createElement('li');\n li.appendChild(p);\n list.appendChild(li);\n }\n var tmp = node,type,cacheNode = node;\n\n if(node.parentNode.tagName != 'li' && (type = checkListType(node.innerText(),node))){\n\n var list = UE.uNode.createElement(me.options.insertorderedlist.hasOwnProperty(type) ? 'ol' : 'ul');\n if(customStyle[type]){\n list.setAttr('class','custom_'+type)\n }else{\n list.setStyle('list-style-type',type)\n }\n while(node && node.parentNode.tagName != 'li' && checkListType(node.innerText(),node)){\n tmp = node.nextSibling();\n if(!tmp){\n node.parentNode.insertBefore(list,node)\n }\n appendLi(list,node,type);\n node = tmp;\n }\n if(!list.parentNode && node && node.parentNode){\n node.parentNode.insertBefore(list,node)\n }\n }\n var span = cacheNode.firstChild();\n if(span && span.type == 'element' && span.tagName == 'span' && /^\\s*( )+\\s*$/.test(span.innerText())){\n span.parentNode.removeChild(span)\n }\n })\n }\n\n });\n\n //调整索引标签\n me.addListener('contentchange',function(){\n adjustListStyle(me.document)\n });\n\n function adjustListStyle(doc,ignore){\n utils.each(domUtils.getElementsByTagName(doc,'ol ul'),function(node){\n\n if(!domUtils.inDoc(node,doc))\n return;\n\n var parent = node.parentNode;\n if(parent.tagName == node.tagName){\n var nodeStyleType = getStyle(node) || (node.tagName == 'OL' ? 'decimal' : 'disc'),\n parentStyleType = getStyle(parent) || (parent.tagName == 'OL' ? 'decimal' : 'disc');\n if(nodeStyleType == parentStyleType){\n var styleIndex = utils.indexOf(listStyle[node.tagName], nodeStyleType);\n styleIndex = styleIndex + 1 == listStyle[node.tagName].length ? 0 : styleIndex + 1;\n setListStyle(node,listStyle[node.tagName][styleIndex])\n }\n\n }\n var index = 0,type = 2;\n if( domUtils.hasClass(node,/custom_/)){\n if(!(/[ou]l/i.test(parent.tagName) && domUtils.hasClass(parent,/custom_/))){\n type = 1;\n }\n }else{\n if(/[ou]l/i.test(parent.tagName) && domUtils.hasClass(parent,/custom_/)){\n type = 3;\n }\n }\n\n var style = domUtils.getStyle(node, 'list-style-type');\n style && (node.style.cssText = 'list-style-type:' + style);\n node.className = utils.trim(node.className.replace(/list-paddingleft-\\w+/,'')) + ' list-paddingleft-' + type;\n utils.each(domUtils.getElementsByTagName(node,'li'),function(li){\n li.style.cssText && (li.style.cssText = '');\n if(!li.firstChild){\n domUtils.remove(li);\n return;\n }\n if(li.parentNode !== node){\n return;\n }\n index++;\n if(domUtils.hasClass(node,/custom_/) ){\n var paddingLeft = 1,currentStyle = getStyle(node);\n if(node.tagName == 'OL'){\n if(currentStyle){\n switch(currentStyle){\n case 'cn' :\n case 'cn1':\n case 'cn2':\n if(index > 10 && (index % 10 == 0 || index > 10 && index < 20)){\n paddingLeft = 2\n }else if(index > 20){\n paddingLeft = 3\n }\n break;\n case 'num2' :\n if(index > 9){\n paddingLeft = 2\n }\n }\n }\n li.className = 'list-'+customStyle[currentStyle]+ index + ' ' + 'list-'+currentStyle+'-paddingleft-' + paddingLeft;\n }else{\n li.className = 'list-'+customStyle[currentStyle] + ' ' + 'list-'+currentStyle+'-paddingleft';\n }\n }else{\n li.className = li.className.replace(/list-[\\w\\-]+/gi,'');\n }\n var className = li.getAttribute('class');\n if(className !== null && !className.replace(/\\s/g,'')){\n domUtils.removeAttributes(li,'class')\n }\n });\n !ignore && adjustList(node,node.tagName.toLowerCase(),getStyle(node)||domUtils.getStyle(node, 'list-style-type'),true);\n })\n }\n function adjustList(list, tag, style,ignoreEmpty) {\n var nextList = list.nextSibling;\n if (nextList && nextList.nodeType == 1 && nextList.tagName.toLowerCase() == tag && (getStyle(nextList) || domUtils.getStyle(nextList, 'list-style-type') || (tag == 'ol' ? 'decimal' : 'disc')) == style) {\n domUtils.moveChild(nextList, list);\n if (nextList.childNodes.length == 0) {\n domUtils.remove(nextList);\n }\n }\n if(nextList && domUtils.isFillChar(nextList)){\n domUtils.remove(nextList);\n }\n var preList = list.previousSibling;\n if (preList && preList.nodeType == 1 && preList.tagName.toLowerCase() == tag && (getStyle(preList) || domUtils.getStyle(preList, 'list-style-type') || (tag == 'ol' ? 'decimal' : 'disc')) == style) {\n domUtils.moveChild(list, preList);\n }\n if(preList && domUtils.isFillChar(preList)){\n domUtils.remove(preList);\n }\n !ignoreEmpty && domUtils.isEmptyBlock(list) && domUtils.remove(list);\n if(getStyle(list)){\n adjustListStyle(list.ownerDocument,true)\n }\n }\n\n function setListStyle(list,style){\n if(customStyle[style]){\n list.className = 'custom_' + style;\n }\n try{\n domUtils.setStyle(list, 'list-style-type', style);\n }catch(e){}\n }\n function clearEmptySibling(node) {\n var tmpNode = node.previousSibling;\n if (tmpNode && domUtils.isEmptyBlock(tmpNode)) {\n domUtils.remove(tmpNode);\n }\n tmpNode = node.nextSibling;\n if (tmpNode && domUtils.isEmptyBlock(tmpNode)) {\n domUtils.remove(tmpNode);\n }\n }\n\n me.addListener('keydown', function (type, evt) {\n function preventAndSave() {\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n me.fireEvent('contentchange');\n me.undoManger && me.undoManger.save();\n }\n function findList(node,filterFn){\n while(node && !domUtils.isBody(node)){\n if(filterFn(node)){\n return null\n }\n if(node.nodeType == 1 && /[ou]l/i.test(node.tagName)){\n return node;\n }\n node = node.parentNode;\n }\n return null;\n }\n var keyCode = evt.keyCode || evt.which;\n if (keyCode == 13 && !evt.shiftKey) {//回车\n var rng = me.selection.getRange(),\n parent = domUtils.findParent(rng.startContainer,function(node){return domUtils.isBlockElm(node)},true),\n li = domUtils.findParentByTagName(rng.startContainer,'li',true);\n if(parent && parent.tagName != 'PRE' && !li){\n var html = parent.innerHTML.replace(new RegExp(domUtils.fillChar, 'g'),'');\n if(/^\\s*1\\s*\\.[^\\d]/.test(html)){\n parent.innerHTML = html.replace(/^\\s*1\\s*\\./,'');\n rng.setStartAtLast(parent).collapse(true).select();\n me.__hasEnterExecCommand = true;\n me.execCommand('insertorderedlist');\n me.__hasEnterExecCommand = false;\n }\n }\n var range = me.selection.getRange(),\n start = findList(range.startContainer,function (node) {\n return node.tagName == 'TABLE';\n }),\n end = range.collapsed ? start : findList(range.endContainer,function (node) {\n return node.tagName == 'TABLE';\n });\n\n if (start && end && start === end) {\n\n if (!range.collapsed) {\n start = domUtils.findParentByTagName(range.startContainer, 'li', true);\n end = domUtils.findParentByTagName(range.endContainer, 'li', true);\n if (start && end && start === end) {\n range.deleteContents();\n li = domUtils.findParentByTagName(range.startContainer, 'li', true);\n if (li && domUtils.isEmptyBlock(li)) {\n\n pre = li.previousSibling;\n next = li.nextSibling;\n p = me.document.createElement('p');\n\n domUtils.fillNode(me.document, p);\n parentList = li.parentNode;\n if (pre && next) {\n range.setStart(next, 0).collapse(true).select(true);\n domUtils.remove(li);\n\n } else {\n if (!pre && !next || !pre) {\n\n parentList.parentNode.insertBefore(p, parentList);\n\n\n } else {\n li.parentNode.parentNode.insertBefore(p, parentList.nextSibling);\n }\n domUtils.remove(li);\n if (!parentList.firstChild) {\n domUtils.remove(parentList);\n }\n range.setStart(p, 0).setCursor();\n\n\n }\n preventAndSave();\n return;\n\n }\n } else {\n var tmpRange = range.cloneRange(),\n bk = tmpRange.collapse(false).createBookmark();\n\n range.deleteContents();\n tmpRange.moveToBookmark(bk);\n var li = domUtils.findParentByTagName(tmpRange.startContainer, 'li', true);\n\n clearEmptySibling(li);\n tmpRange.select();\n preventAndSave();\n return;\n }\n }\n\n\n li = domUtils.findParentByTagName(range.startContainer, 'li', true);\n\n if (li) {\n if (domUtils.isEmptyBlock(li)) {\n bk = range.createBookmark();\n var parentList = li.parentNode;\n if (li !== parentList.lastChild) {\n domUtils.breakParent(li, parentList);\n clearEmptySibling(li);\n } else {\n\n parentList.parentNode.insertBefore(li, parentList.nextSibling);\n if (domUtils.isEmptyNode(parentList)) {\n domUtils.remove(parentList);\n }\n }\n //嵌套不处理\n if (!dtd.$list[li.parentNode.tagName]) {\n\n if (!domUtils.isBlockElm(li.firstChild)) {\n p = me.document.createElement('p');\n li.parentNode.insertBefore(p, li);\n while (li.firstChild) {\n p.appendChild(li.firstChild);\n }\n domUtils.remove(li);\n } else {\n domUtils.remove(li, true);\n }\n }\n range.moveToBookmark(bk).select();\n\n\n } else {\n var first = li.firstChild;\n if (!first || !domUtils.isBlockElm(first)) {\n var p = me.document.createElement('p');\n\n !li.firstChild && domUtils.fillNode(me.document, p);\n while (li.firstChild) {\n\n p.appendChild(li.firstChild);\n }\n li.appendChild(p);\n first = p;\n }\n\n var span = me.document.createElement('span');\n\n range.insertNode(span);\n domUtils.breakParent(span, li);\n\n var nextLi = span.nextSibling;\n first = nextLi.firstChild;\n\n if (!first) {\n p = me.document.createElement('p');\n\n domUtils.fillNode(me.document, p);\n nextLi.appendChild(p);\n first = p;\n }\n if (domUtils.isEmptyNode(first)) {\n first.innerHTML = '';\n domUtils.fillNode(me.document, first);\n }\n\n range.setStart(first, 0).collapse(true).shrinkBoundary().select();\n domUtils.remove(span);\n var pre = nextLi.previousSibling;\n if (pre && domUtils.isEmptyBlock(pre)) {\n pre.innerHTML = '

    ';\n domUtils.fillNode(me.document, pre.firstChild);\n }\n\n }\n// }\n preventAndSave();\n }\n\n\n }\n\n\n }\n if (keyCode == 8) {\n //修中ie中li下的问题\n range = me.selection.getRange();\n if (range.collapsed && domUtils.isStartInblock(range)) {\n tmpRange = range.cloneRange().trimBoundary();\n li = domUtils.findParentByTagName(range.startContainer, 'li', true);\n //要在li的最左边,才能处理\n if (li && domUtils.isStartInblock(tmpRange)) {\n start = domUtils.findParentByTagName(range.startContainer, 'p', true);\n if (start && start !== li.firstChild) {\n var parentList = domUtils.findParentByTagName(start,['ol','ul']);\n domUtils.breakParent(start,parentList);\n clearEmptySibling(start);\n me.fireEvent('contentchange');\n range.setStart(start,0).setCursor(false,true);\n me.fireEvent('saveScene');\n domUtils.preventDefault(evt);\n return;\n }\n\n if (li && (pre = li.previousSibling)) {\n if (keyCode == 46 && li.childNodes.length) {\n return;\n }\n //有可能上边的兄弟节点是个2级菜单,要追加到2级菜单的最后的li\n if (dtd.$list[pre.tagName]) {\n pre = pre.lastChild;\n }\n me.undoManger && me.undoManger.save();\n first = li.firstChild;\n if (domUtils.isBlockElm(first)) {\n if (domUtils.isEmptyNode(first)) {\n// range.setEnd(pre, pre.childNodes.length).shrinkBoundary().collapse().select(true);\n pre.appendChild(first);\n range.setStart(first, 0).setCursor(false, true);\n //first不是唯一的节点\n while (li.firstChild) {\n pre.appendChild(li.firstChild);\n }\n } else {\n\n span = me.document.createElement('span');\n range.insertNode(span);\n //判断pre是否是空的节点,如果是


    类型的空节点,干掉p标签防止它占位\n if (domUtils.isEmptyBlock(pre)) {\n pre.innerHTML = '';\n }\n domUtils.moveChild(li, pre);\n range.setStartBefore(span).collapse(true).select(true);\n\n domUtils.remove(span);\n\n }\n } else {\n if (domUtils.isEmptyNode(li)) {\n var p = me.document.createElement('p');\n pre.appendChild(p);\n range.setStart(p, 0).setCursor();\n// range.setEnd(pre, pre.childNodes.length).shrinkBoundary().collapse().select(true);\n } else {\n range.setEnd(pre, pre.childNodes.length).collapse().select(true);\n while (li.firstChild) {\n pre.appendChild(li.firstChild);\n }\n }\n }\n domUtils.remove(li);\n me.fireEvent('contentchange');\n me.fireEvent('saveScene');\n domUtils.preventDefault(evt);\n return;\n\n }\n //trace:980\n\n if (li && !li.previousSibling) {\n var parentList = li.parentNode;\n var bk = range.createBookmark();\n if(domUtils.isTagNode(parentList.parentNode,'ol ul')){\n parentList.parentNode.insertBefore(li,parentList);\n if(domUtils.isEmptyNode(parentList)){\n domUtils.remove(parentList)\n }\n }else{\n\n while(li.firstChild){\n parentList.parentNode.insertBefore(li.firstChild,parentList);\n }\n\n domUtils.remove(li);\n if(domUtils.isEmptyNode(parentList)){\n domUtils.remove(parentList)\n }\n\n }\n range.moveToBookmark(bk).setCursor(false,true);\n me.fireEvent('contentchange');\n me.fireEvent('saveScene');\n domUtils.preventDefault(evt);\n return;\n\n }\n\n\n }\n\n\n }\n\n }\n });\n\n me.addListener('keyup',function(type, evt){\n var keyCode = evt.keyCode || evt.which;\n if (keyCode == 8) {\n var rng = me.selection.getRange(),list;\n if(list = domUtils.findParentByTagName(rng.startContainer,['ol', 'ul'],true)){\n adjustList(list,list.tagName.toLowerCase(),getStyle(list)||domUtils.getComputedStyle(list,'list-style-type'),true)\n }\n }\n });\n //处理tab键\n me.addListener('tabkeydown',function(){\n\n var range = me.selection.getRange();\n\n //控制级数\n function checkLevel(li){\n if(me.options.maxListLevel != -1){\n var level = li.parentNode,levelNum = 0;\n while(/[ou]l/i.test(level.tagName)){\n levelNum++;\n level = level.parentNode;\n }\n if(levelNum >= me.options.maxListLevel){\n return true;\n }\n }\n }\n //只以开始为准\n //todo 后续改进\n var li = domUtils.findParentByTagName(range.startContainer, 'li', true);\n if(li){\n\n var bk;\n if(range.collapsed){\n if(checkLevel(li))\n return true;\n var parentLi = li.parentNode,\n list = me.document.createElement(parentLi.tagName),\n index = utils.indexOf(listStyle[list.tagName], getStyle(parentLi)||domUtils.getComputedStyle(parentLi, 'list-style-type'));\n index = index + 1 == listStyle[list.tagName].length ? 0 : index + 1;\n var currentStyle = listStyle[list.tagName][index];\n setListStyle(list,currentStyle);\n if(domUtils.isStartInblock(range)){\n me.fireEvent('saveScene');\n bk = range.createBookmark();\n parentLi.insertBefore(list, li);\n list.appendChild(li);\n adjustList(list,list.tagName.toLowerCase(),currentStyle);\n me.fireEvent('contentchange');\n range.moveToBookmark(bk).select(true);\n return true;\n }\n }else{\n me.fireEvent('saveScene');\n bk = range.createBookmark();\n for(var i= 0,closeList,parents = domUtils.findParents(li),ci;ci=parents[i++];){\n if(domUtils.isTagNode(ci,'ol ul')){\n closeList = ci;\n break;\n }\n }\n var current = li;\n if(bk.end){\n while(current && !(domUtils.getPosition(current, bk.end) & domUtils.POSITION_FOLLOWING)){\n if(checkLevel(current)){\n current = domUtils.getNextDomNode(current,false,null,function(node){return node !== closeList});\n continue;\n }\n var parentLi = current.parentNode,\n list = me.document.createElement(parentLi.tagName),\n index = utils.indexOf(listStyle[list.tagName], getStyle(parentLi)||domUtils.getComputedStyle(parentLi, 'list-style-type'));\n var currentIndex = index + 1 == listStyle[list.tagName].length ? 0 : index + 1;\n var currentStyle = listStyle[list.tagName][currentIndex];\n setListStyle(list,currentStyle);\n parentLi.insertBefore(list, current);\n while(current && !(domUtils.getPosition(current, bk.end) & domUtils.POSITION_FOLLOWING)){\n li = current.nextSibling;\n list.appendChild(current);\n if(!li || domUtils.isTagNode(li,'ol ul')){\n if(li){\n while(li = li.firstChild){\n if(li.tagName == 'LI'){\n break;\n }\n }\n }else{\n li = domUtils.getNextDomNode(current,false,null,function(node){return node !== closeList});\n }\n break;\n }\n current = li;\n }\n adjustList(list,list.tagName.toLowerCase(),currentStyle);\n current = li;\n }\n }\n me.fireEvent('contentchange');\n range.moveToBookmark(bk).select();\n return true;\n }\n }\n\n });\n function getLi(start){\n while(start && !domUtils.isBody(start)){\n if(start.nodeName == 'TABLE'){\n return null;\n }\n if(start.nodeName == 'LI'){\n return start\n }\n start = start.parentNode;\n }\n }\n\n /**\n * 有序列表,与“insertunorderedlist”命令互斥\n * @command insertorderedlist\n * @method execCommand\n * @param { String } command 命令字符串\n * @param { String } style 插入的有序列表类型,值为:decimal,lower-alpha,lower-roman,upper-alpha,upper-roman,cn,cn1,cn2,num,num1,num2\n * @example\n * ```javascript\n * editor.execCommand( 'insertorderedlist','decimal');\n * ```\n */\n /**\n * 查询当前选区内容是否有序列表\n * @command insertorderedlist\n * @method queryCommandState\n * @param { String } cmd 命令字符串\n * @return { int } 如果当前选区是有序列表返回1,否则返回0\n * @example\n * ```javascript\n * editor.queryCommandState( 'insertorderedlist' );\n * ```\n */\n /**\n * 查询当前选区内容是否有序列表\n * @command insertorderedlist\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @return { String } 返回当前有序列表的类型,值为null或decimal,lower-alpha,lower-roman,upper-alpha,upper-roman,cn,cn1,cn2,num,num1,num2\n * @example\n * ```javascript\n * editor.queryCommandValue( 'insertorderedlist' );\n * ```\n */\n\n /**\n * 无序列表,与“insertorderedlist”命令互斥\n * @command insertunorderedlist\n * @method execCommand\n * @param { String } command 命令字符串\n * @param { String } style 插入的无序列表类型,值为:circle,disc,square,dash,dot\n * @example\n * ```javascript\n * editor.execCommand( 'insertunorderedlist','circle');\n * ```\n */\n /**\n * 查询当前是否有word文档粘贴进来的图片\n * @command insertunorderedlist\n * @method insertunorderedlist\n * @param { String } command 命令字符串\n * @return { int } 如果当前选区是无序列表返回1,否则返回0\n * @example\n * ```javascript\n * editor.queryCommandState( 'insertunorderedlist' );\n * ```\n */\n /**\n * 查询当前选区内容是否有序列表\n * @command insertunorderedlist\n * @method queryCommandValue\n * @param { String } command 命令字符串\n * @return { String } 返回当前无序列表的类型,值为null或circle,disc,square,dash,dot\n * @example\n * ```javascript\n * editor.queryCommandValue( 'insertunorderedlist' );\n * ```\n */\n\n me.commands['insertorderedlist'] =\n me.commands['insertunorderedlist'] = {\n execCommand:function (command, style) {\n\n if (!style) {\n style = command.toLowerCase() == 'insertorderedlist' ? 'decimal' : 'disc';\n }\n var me = this,\n range = this.selection.getRange(),\n filterFn = function (node) {\n return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' : !domUtils.isWhitespace(node);\n },\n tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul',\n frag = me.document.createDocumentFragment();\n //去掉是因为会出现选到末尾,导致adjustmentBoundary缩到ol/ul的位置\n //range.shrinkBoundary();//.adjustmentBoundary();\n range.adjustmentBoundary().shrinkBoundary();\n var bko = range.createBookmark(true),\n start = getLi(me.document.getElementById(bko.start)),\n modifyStart = 0,\n end = getLi(me.document.getElementById(bko.end)),\n modifyEnd = 0,\n startParent, endParent,\n list, tmp;\n\n if (start || end) {\n start && (startParent = start.parentNode);\n if (!bko.end) {\n end = start;\n }\n end && (endParent = end.parentNode);\n\n if (startParent === endParent) {\n while (start !== end) {\n tmp = start;\n start = start.nextSibling;\n if (!domUtils.isBlockElm(tmp.firstChild)) {\n var p = me.document.createElement('p');\n while (tmp.firstChild) {\n p.appendChild(tmp.firstChild);\n }\n tmp.appendChild(p);\n }\n frag.appendChild(tmp);\n }\n tmp = me.document.createElement('span');\n startParent.insertBefore(tmp, end);\n if (!domUtils.isBlockElm(end.firstChild)) {\n p = me.document.createElement('p');\n while (end.firstChild) {\n p.appendChild(end.firstChild);\n }\n end.appendChild(p);\n }\n frag.appendChild(end);\n domUtils.breakParent(tmp, startParent);\n if (domUtils.isEmptyNode(tmp.previousSibling)) {\n domUtils.remove(tmp.previousSibling);\n }\n if (domUtils.isEmptyNode(tmp.nextSibling)) {\n domUtils.remove(tmp.nextSibling)\n }\n var nodeStyle = getStyle(startParent) || domUtils.getComputedStyle(startParent, 'list-style-type') || (command.toLowerCase() == 'insertorderedlist' ? 'decimal' : 'disc');\n if (startParent.tagName.toLowerCase() == tag && nodeStyle == style) {\n for (var i = 0, ci, tmpFrag = me.document.createDocumentFragment(); ci = frag.firstChild;) {\n if(domUtils.isTagNode(ci,'ol ul')){\n// 删除时,子列表不处理\n// utils.each(domUtils.getElementsByTagName(ci,'li'),function(li){\n// while(li.firstChild){\n// tmpFrag.appendChild(li.firstChild);\n// }\n//\n// });\n tmpFrag.appendChild(ci);\n }else{\n while (ci.firstChild) {\n\n tmpFrag.appendChild(ci.firstChild);\n domUtils.remove(ci);\n }\n }\n\n }\n tmp.parentNode.insertBefore(tmpFrag, tmp);\n } else {\n list = me.document.createElement(tag);\n setListStyle(list,style);\n list.appendChild(frag);\n tmp.parentNode.insertBefore(list, tmp);\n }\n\n domUtils.remove(tmp);\n list && adjustList(list, tag, style);\n range.moveToBookmark(bko).select();\n return;\n }\n //开始\n if (start) {\n while (start) {\n tmp = start.nextSibling;\n if (domUtils.isTagNode(start, 'ol ul')) {\n frag.appendChild(start);\n } else {\n var tmpfrag = me.document.createDocumentFragment(),\n hasBlock = 0;\n while (start.firstChild) {\n if (domUtils.isBlockElm(start.firstChild)) {\n hasBlock = 1;\n }\n tmpfrag.appendChild(start.firstChild);\n }\n if (!hasBlock) {\n var tmpP = me.document.createElement('p');\n tmpP.appendChild(tmpfrag);\n frag.appendChild(tmpP);\n } else {\n frag.appendChild(tmpfrag);\n }\n domUtils.remove(start);\n }\n\n start = tmp;\n }\n startParent.parentNode.insertBefore(frag, startParent.nextSibling);\n if (domUtils.isEmptyNode(startParent)) {\n range.setStartBefore(startParent);\n domUtils.remove(startParent);\n } else {\n range.setStartAfter(startParent);\n }\n modifyStart = 1;\n }\n\n if (end && domUtils.inDoc(endParent, me.document)) {\n //结束\n start = endParent.firstChild;\n while (start && start !== end) {\n tmp = start.nextSibling;\n if (domUtils.isTagNode(start, 'ol ul')) {\n frag.appendChild(start);\n } else {\n tmpfrag = me.document.createDocumentFragment();\n hasBlock = 0;\n while (start.firstChild) {\n if (domUtils.isBlockElm(start.firstChild)) {\n hasBlock = 1;\n }\n tmpfrag.appendChild(start.firstChild);\n }\n if (!hasBlock) {\n tmpP = me.document.createElement('p');\n tmpP.appendChild(tmpfrag);\n frag.appendChild(tmpP);\n } else {\n frag.appendChild(tmpfrag);\n }\n domUtils.remove(start);\n }\n start = tmp;\n }\n var tmpDiv = domUtils.createElement(me.document, 'div', {\n 'tmpDiv':1\n });\n domUtils.moveChild(end, tmpDiv);\n\n frag.appendChild(tmpDiv);\n domUtils.remove(end);\n endParent.parentNode.insertBefore(frag, endParent);\n range.setEndBefore(endParent);\n if (domUtils.isEmptyNode(endParent)) {\n domUtils.remove(endParent);\n }\n\n modifyEnd = 1;\n }\n\n\n }\n\n if (!modifyStart) {\n range.setStartBefore(me.document.getElementById(bko.start));\n }\n if (bko.end && !modifyEnd) {\n range.setEndAfter(me.document.getElementById(bko.end));\n }\n range.enlarge(true, function (node) {\n return notExchange[node.tagName];\n });\n\n frag = me.document.createDocumentFragment();\n\n var bk = range.createBookmark(),\n current = domUtils.getNextDomNode(bk.start, false, filterFn),\n tmpRange = range.cloneRange(),\n tmpNode,\n block = domUtils.isBlockElm;\n\n while (current && current !== bk.end && (domUtils.getPosition(current, bk.end) & domUtils.POSITION_PRECEDING)) {\n\n if (current.nodeType == 3 || dtd.li[current.tagName]) {\n if (current.nodeType == 1 && dtd.$list[current.tagName]) {\n while (current.firstChild) {\n frag.appendChild(current.firstChild);\n }\n tmpNode = domUtils.getNextDomNode(current, false, filterFn);\n domUtils.remove(current);\n current = tmpNode;\n continue;\n\n }\n tmpNode = current;\n tmpRange.setStartBefore(current);\n\n while (current && current !== bk.end && (!block(current) || domUtils.isBookmarkNode(current) )) {\n tmpNode = current;\n current = domUtils.getNextDomNode(current, false, null, function (node) {\n return !notExchange[node.tagName];\n });\n }\n\n if (current && block(current)) {\n tmp = domUtils.getNextDomNode(tmpNode, false, filterFn);\n if (tmp && domUtils.isBookmarkNode(tmp)) {\n current = domUtils.getNextDomNode(tmp, false, filterFn);\n tmpNode = tmp;\n }\n }\n tmpRange.setEndAfter(tmpNode);\n\n current = domUtils.getNextDomNode(tmpNode, false, filterFn);\n\n var li = range.document.createElement('li');\n\n li.appendChild(tmpRange.extractContents());\n if(domUtils.isEmptyNode(li)){\n var tmpNode = range.document.createElement('p');\n while(li.firstChild){\n tmpNode.appendChild(li.firstChild)\n }\n li.appendChild(tmpNode);\n }\n frag.appendChild(li);\n } else {\n current = domUtils.getNextDomNode(current, true, filterFn);\n }\n }\n range.moveToBookmark(bk).collapse(true);\n list = me.document.createElement(tag);\n setListStyle(list,style);\n list.appendChild(frag);\n range.insertNode(list);\n //当前list上下看能否合并\n adjustList(list, tag, style);\n //去掉冗余的tmpDiv\n for (var i = 0, ci, tmpDivs = domUtils.getElementsByTagName(list, 'div'); ci = tmpDivs[i++];) {\n if (ci.getAttribute('tmpDiv')) {\n domUtils.remove(ci, true)\n }\n }\n range.moveToBookmark(bko).select();\n\n },\n queryCommandState:function (command) {\n var tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul';\n var path = this.selection.getStartElementPath();\n for(var i= 0,ci;ci = path[i++];){\n if(ci.nodeName == 'TABLE'){\n return 0\n }\n if(tag == ci.nodeName.toLowerCase()){\n return 1\n };\n }\n return 0;\n\n },\n queryCommandValue:function (command) {\n var tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul';\n var path = this.selection.getStartElementPath(),\n node;\n for(var i= 0,ci;ci = path[i++];){\n if(ci.nodeName == 'TABLE'){\n node = null;\n break;\n }\n if(tag == ci.nodeName.toLowerCase()){\n node = ci;\n break;\n };\n }\n return node ? getStyle(node) || domUtils.getComputedStyle(node, 'list-style-type') : null;\n }\n };\n};\n\n\n\n// plugins/source.js\n/**\n * 源码编辑插件\n * @file\n * @since 1.2.6.1\n */\n\n(function (){\n var sourceEditors = {\n textarea: function (editor, holder){\n var textarea = holder.ownerDocument.createElement('textarea');\n textarea.style.cssText = 'position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;';\n // todo: IE下只有onresize属性可用... 很纠结\n if (browser.ie && browser.version < 8) {\n textarea.style.width = holder.offsetWidth + 'px';\n textarea.style.height = holder.offsetHeight + 'px';\n holder.onresize = function (){\n textarea.style.width = holder.offsetWidth + 'px';\n textarea.style.height = holder.offsetHeight + 'px';\n };\n }\n holder.appendChild(textarea);\n return {\n setContent: function (content){\n textarea.value = content;\n },\n getContent: function (){\n return textarea.value;\n },\n select: function (){\n var range;\n if (browser.ie) {\n range = textarea.createTextRange();\n range.collapse(true);\n range.select();\n } else {\n //todo: chrome下无法设置焦点\n textarea.setSelectionRange(0, 0);\n textarea.focus();\n }\n },\n dispose: function (){\n holder.removeChild(textarea);\n // todo\n holder.onresize = null;\n textarea = null;\n holder = null;\n }\n };\n },\n codemirror: function (editor, holder){\n\n var codeEditor = window.CodeMirror(holder, {\n mode: \"text/html\",\n tabMode: \"indent\",\n lineNumbers: true,\n lineWrapping:true\n });\n var dom = codeEditor.getWrapperElement();\n dom.style.cssText = 'position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,\"Courier new\",monospace;font-size:13px;';\n codeEditor.getScrollerElement().style.cssText = 'position:absolute;left:0;top:0;width:100%;height:100%;';\n codeEditor.refresh();\n return {\n getCodeMirror:function(){\n return codeEditor;\n },\n setContent: function (content){\n codeEditor.setValue(content);\n },\n getContent: function (){\n return codeEditor.getValue();\n },\n select: function (){\n codeEditor.focus();\n },\n dispose: function (){\n holder.removeChild(dom);\n dom = null;\n codeEditor = null;\n }\n };\n }\n };\n\n UE.plugins['source'] = function (){\n var me = this;\n var opt = this.options;\n var sourceMode = false;\n var sourceEditor;\n var orgSetContent;\n opt.sourceEditor = browser.ie ? 'textarea' : (opt.sourceEditor || 'codemirror');\n\n me.setOpt({\n sourceEditorFirst:false\n });\n function createSourceEditor(holder){\n return sourceEditors[opt.sourceEditor == 'codemirror' && window.CodeMirror ? 'codemirror' : 'textarea'](me, holder);\n }\n\n var bakCssText;\n //解决在源码模式下getContent不能得到最新的内容问题\n var oldGetContent,\n bakAddress;\n\n /**\n * 切换源码模式和编辑模式\n * @command source\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'source');\n * ```\n */\n\n /**\n * 查询当前编辑区域的状态是源码模式还是可视化模式\n * @command source\n * @method queryCommandState\n * @param { String } cmd 命令字符串\n * @return { int } 如果当前是源码编辑模式,返回1,否则返回0\n * @example\n * ```javascript\n * editor.queryCommandState( 'source' );\n * ```\n */\n\n me.commands['source'] = {\n execCommand: function (){\n\n sourceMode = !sourceMode;\n if (sourceMode) {\n bakAddress = me.selection.getRange().createAddress(false,true);\n me.undoManger && me.undoManger.save(true);\n if(browser.gecko){\n me.body.contentEditable = false;\n }\n\n bakCssText = me.iframe.style.cssText;\n me.iframe.style.cssText += 'position:absolute;left:-32768px;top:-32768px;';\n\n\n me.fireEvent('beforegetcontent');\n var root = UE.htmlparser(me.body.innerHTML);\n me.filterOutputRule(root);\n root.traversal(function (node) {\n if (node.type == 'element') {\n switch (node.tagName) {\n case 'td':\n case 'th':\n case 'caption':\n if(node.children && node.children.length == 1){\n if(node.firstChild().tagName == 'br' ){\n node.removeChild(node.firstChild())\n }\n };\n break;\n case 'pre':\n node.innerText(node.innerText().replace(/ /g,' '))\n\n }\n }\n });\n\n me.fireEvent('aftergetcontent');\n\n var content = root.toHtml(true);\n\n sourceEditor = createSourceEditor(me.iframe.parentNode);\n\n sourceEditor.setContent(content);\n\n orgSetContent = me.setContent;\n\n me.setContent = function(html){\n //这里暂时不触发事件,防止报错\n var root = UE.htmlparser(html);\n me.filterInputRule(root);\n html = root.toHtml();\n sourceEditor.setContent(html);\n };\n\n setTimeout(function (){\n sourceEditor.select();\n me.addListener('fullscreenchanged', function(){\n try{\n sourceEditor.getCodeMirror().refresh()\n }catch(e){}\n });\n });\n\n //重置getContent,源码模式下取值也能是最新的数据\n oldGetContent = me.getContent;\n me.getContent = function (){\n return sourceEditor.getContent() || '

    ' + (browser.ie ? '' : '
    ')+'

    ';\n };\n } else {\n me.iframe.style.cssText = bakCssText;\n var cont = sourceEditor.getContent() || '

    ' + (browser.ie ? '' : '
    ')+'

    ';\n //处理掉block节点前后的空格,有可能会误命中,暂时不考虑\n cont = cont.replace(new RegExp('[\\\\r\\\\t\\\\n ]*<\\/?(\\\\w+)\\\\s*(?:[^>]*)>','g'), function(a,b){\n if(b && !dtd.$inlineWithA[b.toLowerCase()]){\n return a.replace(/(^[\\n\\r\\t ]*)|([\\n\\r\\t ]*$)/g,'');\n }\n return a.replace(/(^[\\n\\r\\t]*)|([\\n\\r\\t]*$)/g,'')\n });\n\n me.setContent = orgSetContent;\n\n me.setContent(cont);\n sourceEditor.dispose();\n sourceEditor = null;\n //还原getContent方法\n me.getContent = oldGetContent;\n var first = me.body.firstChild;\n //trace:1106 都删除空了,下边会报错,所以补充一个p占位\n if(!first){\n me.body.innerHTML = '

    '+(browser.ie?'':'
    ')+'

    ';\n first = me.body.firstChild;\n }\n\n\n //要在ifm为显示时ff才能取到selection,否则报错\n //这里不能比较位置了\n me.undoManger && me.undoManger.save(true);\n\n if(browser.gecko){\n\n var input = document.createElement('input');\n input.style.cssText = 'position:absolute;left:0;top:-32768px';\n\n document.body.appendChild(input);\n\n me.body.contentEditable = false;\n setTimeout(function(){\n domUtils.setViewportOffset(input, { left: -32768, top: 0 });\n input.focus();\n setTimeout(function(){\n me.body.contentEditable = true;\n me.selection.getRange().moveToAddress(bakAddress).select(true);\n domUtils.remove(input);\n });\n\n });\n }else{\n //ie下有可能报错,比如在代码顶头的情况\n try{\n me.selection.getRange().moveToAddress(bakAddress).select(true);\n }catch(e){}\n\n }\n }\n this.fireEvent('sourcemodechanged', sourceMode);\n },\n queryCommandState: function (){\n return sourceMode|0;\n },\n notNeedUndo : 1\n };\n var oldQueryCommandState = me.queryCommandState;\n\n me.queryCommandState = function (cmdName){\n cmdName = cmdName.toLowerCase();\n if (sourceMode) {\n //源码模式下可以开启的命令\n return cmdName in {\n 'source' : 1,\n 'fullscreen' : 1\n } ? 1 : -1\n }\n return oldQueryCommandState.apply(this, arguments);\n };\n\n if(opt.sourceEditor == \"codemirror\"){\n\n me.addListener(\"ready\",function(){\n utils.loadFile(document,{\n src : opt.codeMirrorJsUrl || opt.UEDITOR_HOME_URL + \"third-party/codemirror/codemirror.js\",\n tag : \"script\",\n type : \"text/javascript\",\n defer : \"defer\"\n },function(){\n if(opt.sourceEditorFirst){\n setTimeout(function(){\n me.execCommand(\"source\");\n },0);\n }\n });\n utils.loadFile(document,{\n tag : \"link\",\n rel : \"stylesheet\",\n type : \"text/css\",\n href : opt.codeMirrorCssUrl || opt.UEDITOR_HOME_URL + \"third-party/codemirror/codemirror.css\"\n });\n\n });\n }\n\n };\n\n})();\n\n// plugins/enterkey.js\n///import core\n///import plugins/undo.js\n///commands 设置回车标签p或br\n///commandsName EnterKey\n///commandsTitle 设置回车标签p或br\n/**\n * @description 处理回车\n * @author zhanyi\n */\nUE.plugins['enterkey'] = function() {\n var hTag,\n me = this,\n tag = me.options.enterTag;\n me.addListener('keyup', function(type, evt) {\n\n var keyCode = evt.keyCode || evt.which;\n if (keyCode == 13) {\n var range = me.selection.getRange(),\n start = range.startContainer,\n doSave;\n\n //修正在h1-h6里边回车后不能嵌套p的问题\n if (!browser.ie) {\n\n if (/h\\d/i.test(hTag)) {\n if (browser.gecko) {\n var h = domUtils.findParentByTagName(start, [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6','blockquote','caption','table'], true);\n if (!h) {\n me.document.execCommand('formatBlock', false, '

    ');\n doSave = 1;\n }\n } else {\n //chrome remove div\n if (start.nodeType == 1) {\n var tmp = me.document.createTextNode(''),div;\n range.insertNode(tmp);\n div = domUtils.findParentByTagName(tmp, 'div', true);\n if (div) {\n var p = me.document.createElement('p');\n while (div.firstChild) {\n p.appendChild(div.firstChild);\n }\n div.parentNode.insertBefore(p, div);\n domUtils.remove(div);\n range.setStartBefore(tmp).setCursor();\n doSave = 1;\n }\n domUtils.remove(tmp);\n\n }\n }\n\n if (me.undoManger && doSave) {\n me.undoManger.save();\n }\n }\n //没有站位符,会出现多行的问题\n browser.opera && range.select();\n }else{\n me.fireEvent('saveScene',true,true)\n }\n }\n });\n\n me.addListener('keydown', function(type, evt) {\n var keyCode = evt.keyCode || evt.which;\n if (keyCode == 13) {//回车\n if(me.fireEvent('beforeenterkeydown')){\n domUtils.preventDefault(evt);\n return;\n }\n me.fireEvent('saveScene',true,true);\n hTag = '';\n\n\n var range = me.selection.getRange();\n\n if (!range.collapsed) {\n //跨td不能删\n var start = range.startContainer,\n end = range.endContainer,\n startTd = domUtils.findParentByTagName(start, 'td', true),\n endTd = domUtils.findParentByTagName(end, 'td', true);\n if (startTd && endTd && startTd !== endTd || !startTd && endTd || startTd && !endTd) {\n evt.preventDefault ? evt.preventDefault() : ( evt.returnValue = false);\n return;\n }\n }\n if (tag == 'p') {\n\n\n if (!browser.ie) {\n\n start = domUtils.findParentByTagName(range.startContainer, ['ol','ul','p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6','blockquote','caption'], true);\n\n //opera下执行formatblock会在table的场景下有问题,回车在opera原生支持很好,所以暂时在opera去掉调用这个原生的command\n //trace:2431\n if (!start && !browser.opera) {\n\n me.document.execCommand('formatBlock', false, '

    ');\n\n if (browser.gecko) {\n range = me.selection.getRange();\n start = domUtils.findParentByTagName(range.startContainer, 'p', true);\n start && domUtils.removeDirtyAttr(start);\n }\n\n\n } else {\n hTag = start.tagName;\n start.tagName.toLowerCase() == 'p' && browser.gecko && domUtils.removeDirtyAttr(start);\n }\n\n }\n\n } else {\n evt.preventDefault ? evt.preventDefault() : ( evt.returnValue = false);\n\n if (!range.collapsed) {\n range.deleteContents();\n start = range.startContainer;\n if (start.nodeType == 1 && (start = start.childNodes[range.startOffset])) {\n while (start.nodeType == 1) {\n if (dtd.$empty[start.tagName]) {\n range.setStartBefore(start).setCursor();\n if (me.undoManger) {\n me.undoManger.save();\n }\n return false;\n }\n if (!start.firstChild) {\n var br = range.document.createElement('br');\n start.appendChild(br);\n range.setStart(start, 0).setCursor();\n if (me.undoManger) {\n me.undoManger.save();\n }\n return false;\n }\n start = start.firstChild;\n }\n if (start === range.startContainer.childNodes[range.startOffset]) {\n br = range.document.createElement('br');\n range.insertNode(br).setCursor();\n\n } else {\n range.setStart(start, 0).setCursor();\n }\n\n\n } else {\n br = range.document.createElement('br');\n range.insertNode(br).setStartAfter(br).setCursor();\n }\n\n\n } else {\n br = range.document.createElement('br');\n range.insertNode(br);\n var parent = br.parentNode;\n if (parent.lastChild === br) {\n br.parentNode.insertBefore(br.cloneNode(true), br);\n range.setStartBefore(br);\n } else {\n range.setStartAfter(br);\n }\n range.setCursor();\n\n }\n\n }\n\n }\n });\n};\n\n\n// plugins/keystrokes.js\n/* 处理特殊键的兼容性问题 */\nUE.plugins['keystrokes'] = function() {\n var me = this;\n var collapsed = true;\n me.addListener('keydown', function(type, evt) {\n var keyCode = evt.keyCode || evt.which,\n rng = me.selection.getRange();\n\n //处理全选的情况\n if(!rng.collapsed && !(evt.ctrlKey || evt.shiftKey || evt.altKey || evt.metaKey) && (keyCode >= 65 && keyCode <=90\n || keyCode >= 48 && keyCode <= 57 ||\n keyCode >= 96 && keyCode <= 111 || {\n 13:1,\n 8:1,\n 46:1\n }[keyCode])\n ){\n\n var tmpNode = rng.startContainer;\n if(domUtils.isFillChar(tmpNode)){\n rng.setStartBefore(tmpNode)\n }\n tmpNode = rng.endContainer;\n if(domUtils.isFillChar(tmpNode)){\n rng.setEndAfter(tmpNode)\n }\n rng.txtToElmBoundary();\n //结束边界可能放到了br的前边,要把br包含进来\n // x[xxx]
    \n if(rng.endContainer && rng.endContainer.nodeType == 1){\n tmpNode = rng.endContainer.childNodes[rng.endOffset];\n if(tmpNode && domUtils.isBr(tmpNode)){\n rng.setEndAfter(tmpNode);\n }\n }\n if(rng.startOffset == 0){\n tmpNode = rng.startContainer;\n if(domUtils.isBoundaryNode(tmpNode,'firstChild') ){\n tmpNode = rng.endContainer;\n if(rng.endOffset == (tmpNode.nodeType == 3 ? tmpNode.nodeValue.length : tmpNode.childNodes.length) && domUtils.isBoundaryNode(tmpNode,'lastChild')){\n me.fireEvent('saveScene');\n me.body.innerHTML = '

    '+(browser.ie ? '' : '
    ')+'

    ';\n rng.setStart(me.body.firstChild,0).setCursor(false,true);\n me._selectionChange();\n return;\n }\n }\n }\n }\n\n //处理backspace\n if (keyCode == keymap.Backspace) {\n rng = me.selection.getRange();\n collapsed = rng.collapsed;\n if(me.fireEvent('delkeydown',evt)){\n return;\n }\n var start,end;\n //避免按两次删除才能生效的问题\n if(rng.collapsed && rng.inFillChar()){\n start = rng.startContainer;\n\n if(domUtils.isFillChar(start)){\n rng.setStartBefore(start).shrinkBoundary(true).collapse(true);\n domUtils.remove(start)\n }else{\n start.nodeValue = start.nodeValue.replace(new RegExp('^' + domUtils.fillChar ),'');\n rng.startOffset--;\n rng.collapse(true).select(true)\n }\n }\n\n //解决选中control元素不能删除的问题\n if (start = rng.getClosedNode()) {\n me.fireEvent('saveScene');\n rng.setStartBefore(start);\n domUtils.remove(start);\n rng.setCursor();\n me.fireEvent('saveScene');\n domUtils.preventDefault(evt);\n return;\n }\n //阻止在table上的删除\n if (!browser.ie) {\n start = domUtils.findParentByTagName(rng.startContainer, 'table', true);\n end = domUtils.findParentByTagName(rng.endContainer, 'table', true);\n if (start && !end || !start && end || start !== end) {\n evt.preventDefault();\n return;\n }\n }\n\n }\n //处理tab键的逻辑\n if (keyCode == keymap.Tab) {\n //不处理以下标签\n var excludeTagNameForTabKey = {\n 'ol' : 1,\n 'ul' : 1,\n 'table':1\n };\n //处理组件里的tab按下事件\n if(me.fireEvent('tabkeydown',evt)){\n domUtils.preventDefault(evt);\n return;\n }\n var range = me.selection.getRange();\n me.fireEvent('saveScene');\n for (var i = 0,txt = '',tabSize = me.options.tabSize|| 4,tabNode = me.options.tabNode || ' '; i < tabSize; i++) {\n txt += tabNode;\n }\n var span = me.document.createElement('span');\n span.innerHTML = txt + domUtils.fillChar;\n if (range.collapsed) {\n range.insertNode(span.cloneNode(true).firstChild).setCursor(true);\n } else {\n var filterFn = function(node) {\n return domUtils.isBlockElm(node) && !excludeTagNameForTabKey[node.tagName.toLowerCase()]\n\n };\n //普通的情况\n start = domUtils.findParent(range.startContainer, filterFn,true);\n end = domUtils.findParent(range.endContainer, filterFn,true);\n if (start && end && start === end) {\n range.deleteContents();\n range.insertNode(span.cloneNode(true).firstChild).setCursor(true);\n } else {\n var bookmark = range.createBookmark();\n range.enlarge(true);\n var bookmark2 = range.createBookmark(),\n current = domUtils.getNextDomNode(bookmark2.start, false, filterFn);\n while (current && !(domUtils.getPosition(current, bookmark2.end) & domUtils.POSITION_FOLLOWING)) {\n current.insertBefore(span.cloneNode(true).firstChild, current.firstChild);\n current = domUtils.getNextDomNode(current, false, filterFn);\n }\n range.moveToBookmark(bookmark2).moveToBookmark(bookmark).select();\n }\n }\n domUtils.preventDefault(evt)\n }\n //trace:1634\n //ff的del键在容器空的时候,也会删除\n if(browser.gecko && keyCode == 46){\n range = me.selection.getRange();\n if(range.collapsed){\n start = range.startContainer;\n if(domUtils.isEmptyBlock(start)){\n var parent = start.parentNode;\n while(domUtils.getChildCount(parent) == 1 && !domUtils.isBody(parent)){\n start = parent;\n parent = parent.parentNode;\n }\n if(start === parent.lastChild)\n evt.preventDefault();\n return;\n }\n }\n }\n });\n me.addListener('keyup', function(type, evt) {\n var keyCode = evt.keyCode || evt.which,\n rng,me = this;\n if(keyCode == keymap.Backspace){\n if(me.fireEvent('delkeyup')){\n return;\n }\n rng = me.selection.getRange();\n if(rng.collapsed){\n var tmpNode,\n autoClearTagName = ['h1','h2','h3','h4','h5','h6'];\n if(tmpNode = domUtils.findParentByTagName(rng.startContainer,autoClearTagName,true)){\n if(domUtils.isEmptyBlock(tmpNode)){\n var pre = tmpNode.previousSibling;\n if(pre && pre.nodeName != 'TABLE'){\n domUtils.remove(tmpNode);\n rng.setStartAtLast(pre).setCursor(false,true);\n return;\n }else{\n var next = tmpNode.nextSibling;\n if(next && next.nodeName != 'TABLE'){\n domUtils.remove(tmpNode);\n rng.setStartAtFirst(next).setCursor(false,true);\n return;\n }\n }\n }\n }\n //处理当删除到body时,要重新给p标签展位\n if(domUtils.isBody(rng.startContainer)){\n var tmpNode = domUtils.createElement(me.document,'p',{\n 'innerHTML' : browser.ie ? domUtils.fillChar : '
    '\n });\n rng.insertNode(tmpNode).setStart(tmpNode,0).setCursor(false,true);\n }\n }\n\n\n //chrome下如果删除了inline标签,浏览器会有记忆,在输入文字还是会套上刚才删除的标签,所以这里再选一次就不会了\n if( !collapsed && (rng.startContainer.nodeType == 3 || rng.startContainer.nodeType == 1 && domUtils.isEmptyBlock(rng.startContainer))){\n if(browser.ie){\n var span = rng.document.createElement('span');\n rng.insertNode(span).setStartBefore(span).collapse(true);\n rng.select();\n domUtils.remove(span)\n }else{\n rng.select()\n }\n\n }\n }\n\n\n })\n};\n\n// plugins/fiximgclick.js\n///import core\n///commands 修复chrome下图片不能点击的问题,出现八个角可改变大小\n///commandsName FixImgClick\n///commandsTitle 修复chrome下图片不能点击的问题,出现八个角可改变大小\n//修复chrome下图片不能点击的问题,出现八个角可改变大小\n\nUE.plugins['fiximgclick'] = (function () {\n\n var elementUpdated = false;\n function Scale() {\n this.editor = null;\n this.resizer = null;\n this.cover = null;\n this.doc = document;\n this.prePos = {x: 0, y: 0};\n this.startPos = {x: 0, y: 0};\n }\n\n (function () {\n var rect = [\n //[left, top, width, height]\n [0, 0, -1, -1],\n [0, 0, 0, -1],\n [0, 0, 1, -1],\n [0, 0, -1, 0],\n [0, 0, 1, 0],\n [0, 0, -1, 1],\n [0, 0, 0, 1],\n [0, 0, 1, 1]\n ];\n\n Scale.prototype = {\n init: function (editor) {\n var me = this;\n me.editor = editor;\n me.startPos = this.prePos = {x: 0, y: 0};\n me.dragId = -1;\n\n var hands = [],\n cover = me.cover = document.createElement('div'),\n resizer = me.resizer = document.createElement('div');\n\n cover.id = me.editor.ui.id + '_imagescale_cover';\n cover.style.cssText = 'position:absolute;display:none;z-index:' + (me.editor.options.zIndex) + ';filter:alpha(opacity=0); opacity:0;background:#CCC;';\n domUtils.on(cover, 'mousedown click', function () {\n me.hide();\n });\n\n for (i = 0; i < 8; i++) {\n hands.push('');\n }\n resizer.id = me.editor.ui.id + '_imagescale';\n resizer.className = 'edui-editor-imagescale';\n resizer.innerHTML = hands.join('');\n resizer.style.cssText += ';display:none;border:1px solid #3b77ff;z-index:' + (me.editor.options.zIndex) + ';';\n\n me.editor.ui.getDom().appendChild(cover);\n me.editor.ui.getDom().appendChild(resizer);\n\n me.initStyle();\n me.initEvents();\n },\n initStyle: function () {\n utils.cssRule('imagescale', '.edui-editor-imagescale{display:none;position:absolute;border:1px solid #38B2CE;cursor:hand;-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}' +\n '.edui-editor-imagescale span{position:absolute;width:6px;height:6px;overflow:hidden;font-size:0px;display:block;background-color:#3C9DD0;}'\n + '.edui-editor-imagescale .edui-editor-imagescale-hand0{cursor:nw-resize;top:0;margin-top:-4px;left:0;margin-left:-4px;}'\n + '.edui-editor-imagescale .edui-editor-imagescale-hand1{cursor:n-resize;top:0;margin-top:-4px;left:50%;margin-left:-4px;}'\n + '.edui-editor-imagescale .edui-editor-imagescale-hand2{cursor:ne-resize;top:0;margin-top:-4px;left:100%;margin-left:-3px;}'\n + '.edui-editor-imagescale .edui-editor-imagescale-hand3{cursor:w-resize;top:50%;margin-top:-4px;left:0;margin-left:-4px;}'\n + '.edui-editor-imagescale .edui-editor-imagescale-hand4{cursor:e-resize;top:50%;margin-top:-4px;left:100%;margin-left:-3px;}'\n + '.edui-editor-imagescale .edui-editor-imagescale-hand5{cursor:sw-resize;top:100%;margin-top:-3px;left:0;margin-left:-4px;}'\n + '.edui-editor-imagescale .edui-editor-imagescale-hand6{cursor:s-resize;top:100%;margin-top:-3px;left:50%;margin-left:-4px;}'\n + '.edui-editor-imagescale .edui-editor-imagescale-hand7{cursor:se-resize;top:100%;margin-top:-3px;left:100%;margin-left:-3px;}');\n },\n initEvents: function () {\n var me = this;\n\n me.startPos.x = me.startPos.y = 0;\n me.isDraging = false;\n },\n _eventHandler: function (e) {\n var me = this;\n switch (e.type) {\n case 'mousedown':\n var hand = e.target || e.srcElement, hand;\n if (hand.className.indexOf('edui-editor-imagescale-hand') != -1 && me.dragId == -1) {\n me.dragId = hand.className.slice(-1);\n me.startPos.x = me.prePos.x = e.clientX;\n me.startPos.y = me.prePos.y = e.clientY;\n domUtils.on(me.doc,'mousemove', me.proxy(me._eventHandler, me));\n }\n break;\n case 'mousemove':\n if (me.dragId != -1) {\n me.updateContainerStyle(me.dragId, {x: e.clientX - me.prePos.x, y: e.clientY - me.prePos.y});\n me.prePos.x = e.clientX;\n me.prePos.y = e.clientY;\n elementUpdated = true;\n me.updateTargetElement();\n\n }\n break;\n case 'mouseup':\n if (me.dragId != -1) {\n me.updateContainerStyle(me.dragId, {x: e.clientX - me.prePos.x, y: e.clientY - me.prePos.y});\n me.updateTargetElement();\n if (me.target.parentNode) me.attachTo(me.target);\n me.dragId = -1;\n }\n domUtils.un(me.doc,'mousemove', me.proxy(me._eventHandler, me));\n //修复只是点击挪动点,但没有改变大小,不应该触发contentchange\n if(elementUpdated){\n elementUpdated = false;\n me.editor.fireEvent('contentchange');\n }\n\n break;\n default:\n break;\n }\n },\n updateTargetElement: function () {\n var me = this;\n domUtils.setStyles(me.target, {\n 'width': me.resizer.style.width,\n 'height': me.resizer.style.height\n });\n me.target.width = parseInt(me.resizer.style.width);\n me.target.height = parseInt(me.resizer.style.height);\n me.attachTo(me.target);\n },\n updateContainerStyle: function (dir, offset) {\n var me = this,\n dom = me.resizer, tmp;\n\n if (rect[dir][0] != 0) {\n tmp = parseInt(dom.style.left) + offset.x;\n dom.style.left = me._validScaledProp('left', tmp) + 'px';\n }\n if (rect[dir][1] != 0) {\n tmp = parseInt(dom.style.top) + offset.y;\n dom.style.top = me._validScaledProp('top', tmp) + 'px';\n }\n if (rect[dir][2] != 0) {\n tmp = dom.clientWidth + rect[dir][2] * offset.x;\n dom.style.width = me._validScaledProp('width', tmp) + 'px';\n }\n if (rect[dir][3] != 0) {\n tmp = dom.clientHeight + rect[dir][3] * offset.y;\n dom.style.height = me._validScaledProp('height', tmp) + 'px';\n }\n },\n _validScaledProp: function (prop, value) {\n var ele = this.resizer,\n wrap = document;\n\n value = isNaN(value) ? 0 : value;\n switch (prop) {\n case 'left':\n return value < 0 ? 0 : (value + ele.clientWidth) > wrap.clientWidth ? wrap.clientWidth - ele.clientWidth : value;\n case 'top':\n return value < 0 ? 0 : (value + ele.clientHeight) > wrap.clientHeight ? wrap.clientHeight - ele.clientHeight : value;\n case 'width':\n return value <= 0 ? 1 : (value + ele.offsetLeft) > wrap.clientWidth ? wrap.clientWidth - ele.offsetLeft : value;\n case 'height':\n return value <= 0 ? 1 : (value + ele.offsetTop) > wrap.clientHeight ? wrap.clientHeight - ele.offsetTop : value;\n }\n },\n hideCover: function () {\n this.cover.style.display = 'none';\n },\n showCover: function () {\n var me = this,\n editorPos = domUtils.getXY(me.editor.ui.getDom()),\n iframePos = domUtils.getXY(me.editor.iframe);\n\n domUtils.setStyles(me.cover, {\n 'width': me.editor.iframe.offsetWidth + 'px',\n 'height': me.editor.iframe.offsetHeight + 'px',\n 'top': iframePos.y - editorPos.y + 'px',\n 'left': iframePos.x - editorPos.x + 'px',\n 'position': 'absolute',\n 'display': ''\n })\n },\n show: function (targetObj) {\n var me = this;\n me.resizer.style.display = 'block';\n if(targetObj) me.attachTo(targetObj);\n\n domUtils.on(this.resizer, 'mousedown', me.proxy(me._eventHandler, me));\n domUtils.on(me.doc, 'mouseup', me.proxy(me._eventHandler, me));\n\n me.showCover();\n me.editor.fireEvent('afterscaleshow', me);\n me.editor.fireEvent('saveScene');\n },\n hide: function () {\n var me = this;\n me.hideCover();\n me.resizer.style.display = 'none';\n\n domUtils.un(me.resizer, 'mousedown', me.proxy(me._eventHandler, me));\n domUtils.un(me.doc, 'mouseup', me.proxy(me._eventHandler, me));\n me.editor.fireEvent('afterscalehide', me);\n },\n proxy: function( fn, context ) {\n return function(e) {\n return fn.apply( context || this, arguments);\n };\n },\n attachTo: function (targetObj) {\n var me = this,\n target = me.target = targetObj,\n resizer = this.resizer,\n imgPos = domUtils.getXY(target),\n iframePos = domUtils.getXY(me.editor.iframe),\n editorPos = domUtils.getXY(resizer.parentNode);\n\n domUtils.setStyles(resizer, {\n 'width': target.width + 'px',\n 'height': target.height + 'px',\n 'left': iframePos.x + imgPos.x - me.editor.document.body.scrollLeft - editorPos.x - parseInt(resizer.style.borderLeftWidth) + 'px',\n 'top': iframePos.y + imgPos.y - me.editor.document.body.scrollTop - editorPos.y - parseInt(resizer.style.borderTopWidth) + 'px'\n });\n }\n }\n })();\n\n return function () {\n var me = this,\n imageScale;\n\n me.setOpt('imageScaleEnabled', true);\n\n if ( !browser.ie && me.options.imageScaleEnabled) {\n me.addListener('click', function (type, e) {\n\n var range = me.selection.getRange(),\n img = range.getClosedNode();\n\n if (img && img.tagName == 'IMG' && me.body.contentEditable!=\"false\") {\n\n if (img.className.indexOf(\"edui-faked-music\") != -1 ||\n img.getAttribute(\"anchorname\") ||\n domUtils.hasClass(img, 'loadingclass') ||\n domUtils.hasClass(img, 'loaderrorclass')) { return }\n\n if (!imageScale) {\n imageScale = new Scale();\n imageScale.init(me);\n me.ui.getDom().appendChild(imageScale.resizer);\n\n var _keyDownHandler = function (e) {\n imageScale.hide();\n if(imageScale.target) me.selection.getRange().selectNode(imageScale.target).select();\n }, _mouseDownHandler = function (e) {\n var ele = e.target || e.srcElement;\n if (ele && (ele.className===undefined || ele.className.indexOf('edui-editor-imagescale') == -1)) {\n _keyDownHandler(e);\n }\n }, timer;\n\n me.addListener('afterscaleshow', function (e) {\n me.addListener('beforekeydown', _keyDownHandler);\n me.addListener('beforemousedown', _mouseDownHandler);\n domUtils.on(document, 'keydown', _keyDownHandler);\n domUtils.on(document,'mousedown', _mouseDownHandler);\n me.selection.getNative().removeAllRanges();\n });\n me.addListener('afterscalehide', function (e) {\n me.removeListener('beforekeydown', _keyDownHandler);\n me.removeListener('beforemousedown', _mouseDownHandler);\n domUtils.un(document, 'keydown', _keyDownHandler);\n domUtils.un(document,'mousedown', _mouseDownHandler);\n var target = imageScale.target;\n if (target.parentNode) {\n me.selection.getRange().selectNode(target).select();\n }\n });\n //TODO 有iframe的情况,mousedown不能往下传。。\n domUtils.on(imageScale.resizer, 'mousedown', function (e) {\n me.selection.getNative().removeAllRanges();\n var ele = e.target || e.srcElement;\n if (ele && ele.className.indexOf('edui-editor-imagescale-hand') == -1) {\n timer = setTimeout(function () {\n imageScale.hide();\n if(imageScale.target) me.selection.getRange().selectNode(ele).select();\n }, 200);\n }\n });\n domUtils.on(imageScale.resizer, 'mouseup', function (e) {\n var ele = e.target || e.srcElement;\n if (ele && ele.className.indexOf('edui-editor-imagescale-hand') == -1) {\n clearTimeout(timer);\n }\n });\n }\n imageScale.show(img);\n } else {\n if (imageScale && imageScale.resizer.style.display != 'none') imageScale.hide();\n }\n });\n }\n\n if (browser.webkit) {\n me.addListener('click', function (type, e) {\n if (e.target.tagName == 'IMG' && me.body.contentEditable!=\"false\") {\n var range = new dom.Range(me.document);\n range.selectNode(e.target).select();\n }\n });\n }\n }\n})();\n\n// plugins/autolink.js\n///import core\n///commands 为非ie浏览器自动添加a标签\n///commandsName AutoLink\n///commandsTitle 自动增加链接\n/**\n * @description 为非ie浏览器自动添加a标签\n * @author zhanyi\n */\n\nUE.plugin.register('autolink',function(){\n var cont = 0;\n\n return !browser.ie ? {\n\n bindEvents:{\n 'reset' : function(){\n cont = 0;\n },\n 'keydown':function(type, evt) {\n var me = this;\n var keyCode = evt.keyCode || evt.which;\n\n if (keyCode == 32 || keyCode == 13) {\n\n var sel = me.selection.getNative(),\n range = sel.getRangeAt(0).cloneRange(),\n offset,\n charCode;\n\n var start = range.startContainer;\n while (start.nodeType == 1 && range.startOffset > 0) {\n start = range.startContainer.childNodes[range.startOffset - 1];\n if (!start){\n break;\n }\n range.setStart(start, start.nodeType == 1 ? start.childNodes.length : start.nodeValue.length);\n range.collapse(true);\n start = range.startContainer;\n }\n\n do{\n if (range.startOffset == 0) {\n start = range.startContainer.previousSibling;\n\n while (start && start.nodeType == 1) {\n start = start.lastChild;\n }\n if (!start || domUtils.isFillChar(start)){\n break;\n }\n offset = start.nodeValue.length;\n } else {\n start = range.startContainer;\n offset = range.startOffset;\n }\n range.setStart(start, offset - 1);\n charCode = range.toString().charCodeAt(0);\n } while (charCode != 160 && charCode != 32);\n\n if (range.toString().replace(new RegExp(domUtils.fillChar, 'g'), '').match(/(?:https?:\\/\\/|ssh:\\/\\/|ftp:\\/\\/|file:\\/|www\\.)/i)) {\n while(range.toString().length){\n if(/^(?:https?:\\/\\/|ssh:\\/\\/|ftp:\\/\\/|file:\\/|www\\.)/i.test(range.toString())){\n break;\n }\n try{\n range.setStart(range.startContainer,range.startOffset+1);\n }catch(e){\n //trace:2121\n var start = range.startContainer;\n while(!(next = start.nextSibling)){\n if(domUtils.isBody(start)){\n return;\n }\n start = start.parentNode;\n\n }\n range.setStart(next,0);\n\n }\n\n }\n //range的开始边界已经在a标签里的不再处理\n if(domUtils.findParentByTagName(range.startContainer,'a',true)){\n return;\n }\n var a = me.document.createElement('a'),text = me.document.createTextNode(' '),href;\n\n me.undoManger && me.undoManger.save();\n a.appendChild(range.extractContents());\n a.href = a.innerHTML = a.innerHTML.replace(/<[^>]+>/g,'');\n href = a.getAttribute(\"href\").replace(new RegExp(domUtils.fillChar,'g'),'');\n href = /^(?:https?:\\/\\/)/ig.test(href) ? href : \"http://\"+ href;\n a.setAttribute('_src',utils.html(href));\n a.href = utils.html(href);\n\n range.insertNode(a);\n a.parentNode.insertBefore(text, a.nextSibling);\n range.setStart(text, 0);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n me.undoManger && me.undoManger.save();\n }\n }\n }\n }\n }:{}\n },function(){\n var keyCodes = {\n 37:1, 38:1, 39:1, 40:1,\n 13:1,32:1\n };\n function checkIsCludeLink(node){\n if(node.nodeType == 3){\n return null\n }\n if(node.nodeName == 'A'){\n return node;\n }\n var lastChild = node.lastChild;\n\n while(lastChild){\n if(lastChild.nodeName == 'A'){\n return lastChild;\n }\n if(lastChild.nodeType == 3){\n if(domUtils.isWhitespace(lastChild)){\n lastChild = lastChild.previousSibling;\n continue;\n }\n return null\n }\n lastChild = lastChild.lastChild;\n }\n }\n browser.ie && this.addListener('keyup',function(cmd,evt){\n var me = this,keyCode = evt.keyCode;\n if(keyCodes[keyCode]){\n var rng = me.selection.getRange();\n var start = rng.startContainer;\n\n if(keyCode == 13){\n while(start && !domUtils.isBody(start) && !domUtils.isBlockElm(start)){\n start = start.parentNode;\n }\n if(start && !domUtils.isBody(start) && start.nodeName == 'P'){\n var pre = start.previousSibling;\n if(pre && pre.nodeType == 1){\n var pre = checkIsCludeLink(pre);\n if(pre && !pre.getAttribute('_href')){\n domUtils.remove(pre,true);\n }\n }\n }\n }else if(keyCode == 32 ){\n if(start.nodeType == 3 && /^\\s$/.test(start.nodeValue)){\n start = start.previousSibling;\n if(start && start.nodeName == 'A' && !start.getAttribute('_href')){\n domUtils.remove(start,true);\n }\n }\n }else {\n start = domUtils.findParentByTagName(start,'a',true);\n if(start && !start.getAttribute('_href')){\n var bk = rng.createBookmark();\n\n domUtils.remove(start,true);\n rng.moveToBookmark(bk).select(true)\n }\n }\n\n }\n\n\n });\n }\n);\n\n// plugins/autoheight.js\n///import core\n///commands 当输入内容超过编辑器高度时,编辑器自动增高\n///commandsName AutoHeight,autoHeightEnabled\n///commandsTitle 自动增高\n/**\n * @description 自动伸展\n * @author zhanyi\n */\nUE.plugins['autoheight'] = function () {\n var me = this;\n //提供开关,就算加载也可以关闭\n me.autoHeightEnabled = me.options.autoHeightEnabled !== false;\n if (!me.autoHeightEnabled) {\n return;\n }\n\n var bakOverflow,\n lastHeight = 0,\n options = me.options,\n currentHeight,\n timer;\n\n function adjustHeight() {\n var me = this;\n clearTimeout(timer);\n if(isFullscreen)return;\n if (!me.queryCommandState || me.queryCommandState && me.queryCommandState('source') != 1) {\n timer = setTimeout(function(){\n\n var node = me.body.lastChild;\n while(node && node.nodeType != 1){\n node = node.previousSibling;\n }\n if(node && node.nodeType == 1){\n node.style.clear = 'both';\n currentHeight = Math.max(domUtils.getXY(node).y + node.offsetHeight + 25 ,Math.max(options.minFrameHeight, options.initialFrameHeight)) ;\n if (currentHeight != lastHeight) {\n if (currentHeight !== parseInt(me.iframe.parentNode.style.height)) {\n me.iframe.parentNode.style.height = currentHeight + 'px';\n }\n me.body.style.height = currentHeight + 'px';\n lastHeight = currentHeight;\n }\n domUtils.removeStyle(node,'clear');\n }\n\n\n },50)\n }\n }\n var isFullscreen;\n me.addListener('fullscreenchanged',function(cmd,f){\n isFullscreen = f\n });\n me.addListener('destroy', function () {\n me.removeListener('contentchange afterinserthtml keyup mouseup',adjustHeight)\n });\n me.enableAutoHeight = function () {\n var me = this;\n if (!me.autoHeightEnabled) {\n return;\n }\n var doc = me.document;\n me.autoHeightEnabled = true;\n bakOverflow = doc.body.style.overflowY;\n doc.body.style.overflowY = 'hidden';\n me.addListener('contentchange afterinserthtml keyup mouseup',adjustHeight);\n //ff不给事件算得不对\n\n setTimeout(function () {\n adjustHeight.call(me);\n }, browser.gecko ? 100 : 0);\n me.fireEvent('autoheightchanged', me.autoHeightEnabled);\n };\n me.disableAutoHeight = function () {\n\n me.body.style.overflowY = bakOverflow || '';\n\n me.removeListener('contentchange', adjustHeight);\n me.removeListener('keyup', adjustHeight);\n me.removeListener('mouseup', adjustHeight);\n me.autoHeightEnabled = false;\n me.fireEvent('autoheightchanged', me.autoHeightEnabled);\n };\n\n me.on('setHeight',function(){\n me.disableAutoHeight()\n });\n me.addListener('ready', function () {\n me.enableAutoHeight();\n //trace:1764\n var timer;\n domUtils.on(browser.ie ? me.body : me.document, browser.webkit ? 'dragover' : 'drop', function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n //trace:3681\n adjustHeight.call(me);\n }, 100);\n\n });\n //修复内容过多时,回到顶部,顶部内容被工具栏遮挡问题\n var lastScrollY;\n window.onscroll = function(){\n if(lastScrollY === null){\n lastScrollY = this.scrollY\n }else if(this.scrollY == 0 && lastScrollY != 0){\n me.window.scrollTo(0,0);\n lastScrollY = null;\n }\n }\n });\n\n\n};\n\n\n\n// plugins/autofloat.js\n///import core\n///commands 悬浮工具栏\n///commandsName AutoFloat,autoFloatEnabled\n///commandsTitle 悬浮工具栏\n/**\n * modified by chengchao01\n * 注意: 引入此功能后,在IE6下会将body的背景图片覆盖掉!\n */\nUE.plugins['autofloat'] = function() {\n var me = this,\n lang = me.getLang();\n me.setOpt({\n topOffset:0\n });\n var optsAutoFloatEnabled = me.options.autoFloatEnabled !== false,\n topOffset = me.options.topOffset;\n\n\n //如果不固定toolbar的位置,则直接退出\n if(!optsAutoFloatEnabled){\n return;\n }\n var uiUtils = UE.ui.uiUtils,\n LteIE6 = browser.ie && browser.version <= 6,\n quirks = browser.quirks;\n\n function checkHasUI(){\n if(!UE.ui){\n alert(lang.autofloatMsg);\n return 0;\n }\n return 1;\n }\n function fixIE6FixedPos(){\n var docStyle = document.body.style;\n docStyle.backgroundImage = 'url(\"about:blank\")';\n docStyle.backgroundAttachment = 'fixed';\n }\n var\tbakCssText,\n placeHolder = document.createElement('div'),\n toolbarBox,orgTop,\n getPosition,\n flag =true; //ie7模式下需要偏移\n function setFloating(){\n var toobarBoxPos = domUtils.getXY(toolbarBox),\n origalFloat = domUtils.getComputedStyle(toolbarBox,'position'),\n origalLeft = domUtils.getComputedStyle(toolbarBox,'left');\n toolbarBox.style.width = toolbarBox.offsetWidth + 'px';\n toolbarBox.style.zIndex = me.options.zIndex * 1 + 1;\n toolbarBox.parentNode.insertBefore(placeHolder, toolbarBox);\n if (LteIE6 || (quirks && browser.ie)) {\n if(toolbarBox.style.position != 'absolute'){\n toolbarBox.style.position = 'absolute';\n }\n toolbarBox.style.top = (document.body.scrollTop||document.documentElement.scrollTop) - orgTop + topOffset + 'px';\n } else {\n if (browser.ie7Compat && flag) {\n flag = false;\n toolbarBox.style.left = domUtils.getXY(toolbarBox).x - document.documentElement.getBoundingClientRect().left+2 + 'px';\n }\n if(toolbarBox.style.position != 'fixed'){\n toolbarBox.style.position = 'fixed';\n toolbarBox.style.top = topOffset +\"px\";\n ((origalFloat == 'absolute' || origalFloat == 'relative') && parseFloat(origalLeft)) && (toolbarBox.style.left = toobarBoxPos.x + 'px');\n }\n }\n }\n function unsetFloating(){\n flag = true;\n if(placeHolder.parentNode){\n placeHolder.parentNode.removeChild(placeHolder);\n }\n\n toolbarBox.style.cssText = bakCssText;\n }\n\n function updateFloating(){\n var rect3 = getPosition(me.container);\n var offset=me.options.toolbarTopOffset||0;\n if (rect3.top < 0 && rect3.bottom - toolbarBox.offsetHeight > offset) {\n setFloating();\n }else{\n unsetFloating();\n }\n }\n var defer_updateFloating = utils.defer(function(){\n updateFloating();\n },browser.ie ? 200 : 100,true);\n\n me.addListener('destroy',function(){\n domUtils.un(window, ['scroll','resize'], updateFloating);\n me.removeListener('keydown', defer_updateFloating);\n });\n\n me.addListener('ready', function(){\n if(checkHasUI(me)){\n //加载了ui组件,但在new时,没有加载ui,导致编辑器实例上没有ui类,所以这里做判断\n if(!me.ui){\n return;\n }\n getPosition = uiUtils.getClientRect;\n toolbarBox = me.ui.getDom('toolbarbox');\n orgTop = getPosition(toolbarBox).top;\n bakCssText = toolbarBox.style.cssText;\n placeHolder.style.height = toolbarBox.offsetHeight + 'px';\n if(LteIE6){\n fixIE6FixedPos();\n }\n domUtils.on(window, ['scroll','resize'], updateFloating);\n me.addListener('keydown', defer_updateFloating);\n\n me.addListener('beforefullscreenchange', function (t, enabled){\n if (enabled) {\n unsetFloating();\n }\n });\n me.addListener('fullscreenchanged', function (t, enabled){\n if (!enabled) {\n updateFloating();\n }\n });\n me.addListener('sourcemodechanged', function (t, enabled){\n setTimeout(function (){\n updateFloating();\n },0);\n });\n me.addListener(\"clearDoc\",function(){\n setTimeout(function(){\n updateFloating();\n },0);\n\n })\n }\n });\n};\n\n\n// plugins/video.js\n/**\n * video插件, 为UEditor提供视频插入支持\n * @file\n * @since 1.2.6.1\n */\n\nUE.plugins['video'] = function (){\n var me =this;\n\n /**\n * 创建插入视频字符窜\n * @param url 视频地址\n * @param width 视频宽度\n * @param height 视频高度\n * @param align 视频对齐\n * @param toEmbed 是否以flash代替显示\n * @param addParagraph 是否需要添加P 标签\n */\n function creatInsertStr(url,width,height,id,align,classname,type){\n\n url = utils.unhtmlForUrl(url);\n align = utils.unhtml(align);\n classname = utils.unhtml(classname);\n\n width = parseInt(width, 10) || 0;\n height = parseInt(height, 10) || 0;\n\n var str;\n switch (type){\n case 'image':\n str = ''\n break;\n case 'embed':\n str = '';\n break;\n case 'video':\n var ext = url.substr(url.lastIndexOf('.') + 1);\n if(ext == 'ogv') ext = 'ogg';\n str = '' +\n '';\n break;\n }\n return str;\n }\n\n function switchImgAndVideo(root,img2video){\n utils.each(root.getNodesByTagName(img2video ? 'img' : 'embed video'),function(node){\n var className = node.getAttr('class');\n if(className && className.indexOf('edui-faked-video') != -1){\n var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'embed':'image');\n node.parentNode.replaceChild(UE.uNode.createElement(html),node);\n }\n if(className && className.indexOf('edui-upload-video') != -1){\n var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'video':'image');\n node.parentNode.replaceChild(UE.uNode.createElement(html),node);\n }\n })\n }\n\n me.addOutputRule(function(root){\n switchImgAndVideo(root,true)\n });\n me.addInputRule(function(root){\n switchImgAndVideo(root)\n });\n\n /**\n * 插入视频\n * @command insertvideo\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { Object } videoAttr 键值对对象, 描述一个视频的所有属性\n * @example\n * ```javascript\n *\n * var videoAttr = {\n * //视频地址\n * url: 'http://www.youku.com/xxx',\n * //视频宽高值, 单位px\n * width: 200,\n * height: 100\n * };\n *\n * //editor 是编辑器实例\n * //向编辑器插入单个视频\n * editor.execCommand( 'insertvideo', videoAttr );\n * ```\n */\n\n /**\n * 插入视频\n * @command insertvideo\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { Array } videoArr 需要插入的视频的数组, 其中的每一个元素都是一个键值对对象, 描述了一个视频的所有属性\n * @example\n * ```javascript\n *\n * var videoAttr1 = {\n * //视频地址\n * url: 'http://www.youku.com/xxx',\n * //视频宽高值, 单位px\n * width: 200,\n * height: 100\n * },\n * videoAttr2 = {\n * //视频地址\n * url: 'http://www.youku.com/xxx',\n * //视频宽高值, 单位px\n * width: 200,\n * height: 100\n * }\n *\n * //editor 是编辑器实例\n * //该方法将会向编辑器内插入两个视频\n * editor.execCommand( 'insertvideo', [ videoAttr1, videoAttr2 ] );\n * ```\n */\n\n /**\n * 查询当前光标所在处是否是一个视频\n * @command insertvideo\n * @method queryCommandState\n * @param { String } cmd 需要查询的命令字符串\n * @return { int } 如果当前光标所在处的元素是一个视频对象, 则返回1,否则返回0\n * @example\n * ```javascript\n *\n * //editor 是编辑器实例\n * editor.queryCommandState( 'insertvideo' );\n * ```\n */\n me.commands[\"insertvideo\"] = {\n execCommand: function (cmd, videoObjs, type){\n videoObjs = utils.isArray(videoObjs)?videoObjs:[videoObjs];\n var html = [],id = 'tmpVedio', cl;\n for(var i=0,vi,len = videoObjs.length;i 0) {\n return 0;\n }\n for (var i in dtd.$isNotEmpty) if (dtd.$isNotEmpty.hasOwnProperty(i)) {\n if (node.getElementsByTagName(i).length) {\n return 0;\n }\n }\n return 1;\n };\n UETable.getWidth = function (cell) {\n if (!cell)return 0;\n return parseInt(domUtils.getComputedStyle(cell, \"width\"), 10);\n };\n\n /**\n * 获取单元格或者单元格组的“对齐”状态。 如果当前的检测对象是一个单元格组, 只有在满足所有单元格的 水平和竖直 对齐属性都相同的\n * 条件时才会返回其状态值,否则将返回null; 如果当前只检测了一个单元格, 则直接返回当前单元格的对齐状态;\n * @param table cell or table cells , 支持单个单元格dom对象 或者 单元格dom对象数组\n * @return { align: 'left' || 'right' || 'center', valign: 'top' || 'middle' || 'bottom' } 或者 null\n */\n UETable.getTableCellAlignState = function ( cells ) {\n\n !utils.isArray( cells ) && ( cells = [cells] );\n\n var result = {},\n status = ['align', 'valign'],\n tempStatus = null,\n isSame = true;//状态是否相同\n\n utils.each( cells, function( cellNode ){\n\n utils.each( status, function( currentState ){\n\n tempStatus = cellNode.getAttribute( currentState );\n\n if( !result[ currentState ] && tempStatus ) {\n result[ currentState ] = tempStatus;\n } else if( !result[ currentState ] || ( tempStatus !== result[ currentState ] ) ) {\n isSame = false;\n return false;\n }\n\n } );\n\n return isSame;\n\n });\n\n return isSame ? result : null;\n\n };\n\n /**\n * 根据当前选区获取相关的table信息\n * @return {Object}\n */\n UETable.getTableItemsByRange = function (editor) {\n var start = editor.selection.getStart();\n\n //ff下会选中bookmark\n if( start && start.id && start.id.indexOf('_baidu_bookmark_start_') === 0 && start.nextSibling) {\n start = start.nextSibling;\n }\n\n //在table或者td边缘有可能存在选中tr的情况\n var cell = start && domUtils.findParentByTagName(start, [\"td\", \"th\"], true),\n tr = cell && cell.parentNode,\n caption = start && domUtils.findParentByTagName(start, 'caption', true),\n table = caption ? caption.parentNode : tr && tr.parentNode.parentNode;\n\n return {\n cell:cell,\n tr:tr,\n table:table,\n caption:caption\n }\n };\n UETable.getUETableBySelected = function (editor) {\n var table = UETable.getTableItemsByRange(editor).table;\n if (table && table.ueTable && table.ueTable.selectedTds.length) {\n return table.ueTable;\n }\n return null;\n };\n\n UETable.getDefaultValue = function (editor, table) {\n var borderMap = {\n thin:'0px',\n medium:'1px',\n thick:'2px'\n },\n tableBorder, tdPadding, tdBorder, tmpValue;\n if (!table) {\n table = editor.document.createElement('table');\n table.insertRow(0).insertCell(0).innerHTML = 'xxx';\n editor.body.appendChild(table);\n var td = table.getElementsByTagName('td')[0];\n tmpValue = domUtils.getComputedStyle(table, 'border-left-width');\n tableBorder = parseInt(borderMap[tmpValue] || tmpValue, 10);\n tmpValue = domUtils.getComputedStyle(td, 'padding-left');\n tdPadding = parseInt(borderMap[tmpValue] || tmpValue, 10);\n tmpValue = domUtils.getComputedStyle(td, 'border-left-width');\n tdBorder = parseInt(borderMap[tmpValue] || tmpValue, 10);\n domUtils.remove(table);\n return {\n tableBorder:tableBorder,\n tdPadding:tdPadding,\n tdBorder:tdBorder\n };\n } else {\n td = table.getElementsByTagName('td')[0];\n tmpValue = domUtils.getComputedStyle(table, 'border-left-width');\n tableBorder = parseInt(borderMap[tmpValue] || tmpValue, 10);\n tmpValue = domUtils.getComputedStyle(td, 'padding-left');\n tdPadding = parseInt(borderMap[tmpValue] || tmpValue, 10);\n tmpValue = domUtils.getComputedStyle(td, 'border-left-width');\n tdBorder = parseInt(borderMap[tmpValue] || tmpValue, 10);\n return {\n tableBorder:tableBorder,\n tdPadding:tdPadding,\n tdBorder:tdBorder\n };\n }\n };\n /**\n * 根据当前点击的td或者table获取索引对象\n * @param tdOrTable\n */\n UETable.getUETable = function (tdOrTable) {\n var tag = tdOrTable.tagName.toLowerCase();\n tdOrTable = (tag == \"td\" || tag == \"th\" || tag == 'caption') ? domUtils.findParentByTagName(tdOrTable, \"table\", true) : tdOrTable;\n if (!tdOrTable.ueTable) {\n tdOrTable.ueTable = new UETable(tdOrTable);\n }\n return tdOrTable.ueTable;\n };\n\n UETable.cloneCell = function(cell,ignoreMerge,keepPro){\n if (!cell || utils.isString(cell)) {\n return this.table.ownerDocument.createElement(cell || 'td');\n }\n var flag = domUtils.hasClass(cell, \"selectTdClass\");\n flag && domUtils.removeClasses(cell, \"selectTdClass\");\n var tmpCell = cell.cloneNode(true);\n if (ignoreMerge) {\n tmpCell.rowSpan = tmpCell.colSpan = 1;\n }\n //去掉宽高\n !keepPro && domUtils.removeAttributes(tmpCell,'width height');\n !keepPro && domUtils.removeAttributes(tmpCell,'style');\n\n tmpCell.style.borderLeftStyle = \"\";\n tmpCell.style.borderTopStyle = \"\";\n tmpCell.style.borderLeftColor = cell.style.borderRightColor;\n tmpCell.style.borderLeftWidth = cell.style.borderRightWidth;\n tmpCell.style.borderTopColor = cell.style.borderBottomColor;\n tmpCell.style.borderTopWidth = cell.style.borderBottomWidth;\n flag && domUtils.addClass(cell, \"selectTdClass\");\n return tmpCell;\n }\n\n UETable.prototype = {\n getMaxRows:function () {\n var rows = this.table.rows, maxLen = 1;\n for (var i = 0, row; row = rows[i]; i++) {\n var currentMax = 1;\n for (var j = 0, cj; cj = row.cells[j++];) {\n currentMax = Math.max(cj.rowSpan || 1, currentMax);\n }\n maxLen = Math.max(currentMax + i, maxLen);\n }\n return maxLen;\n },\n /**\n * 获取当前表格的最大列数\n */\n getMaxCols:function () {\n var rows = this.table.rows, maxLen = 0, cellRows = {};\n for (var i = 0, row; row = rows[i]; i++) {\n var cellsNum = 0;\n for (var j = 0, cj; cj = row.cells[j++];) {\n cellsNum += (cj.colSpan || 1);\n if (cj.rowSpan && cj.rowSpan > 1) {\n for (var k = 1; k < cj.rowSpan; k++) {\n if (!cellRows['row_' + (i + k)]) {\n cellRows['row_' + (i + k)] = (cj.colSpan || 1);\n } else {\n cellRows['row_' + (i + k)]++\n }\n }\n\n }\n }\n cellsNum += cellRows['row_' + i] || 0;\n maxLen = Math.max(cellsNum, maxLen);\n }\n return maxLen;\n },\n getCellColIndex:function (cell) {\n\n },\n /**\n * 获取当前cell旁边的单元格,\n * @param cell\n * @param right\n */\n getHSideCell:function (cell, right) {\n try {\n var cellInfo = this.getCellInfo(cell),\n previewRowIndex, previewColIndex;\n var len = this.selectedTds.length,\n range = this.cellsRange;\n //首行或者首列没有前置单元格\n if ((!right && (!len ? !cellInfo.colIndex : !range.beginColIndex)) || (right && (!len ? (cellInfo.colIndex == (this.colsNum - 1)) : (range.endColIndex == this.colsNum - 1)))) return null;\n\n previewRowIndex = !len ? cellInfo.rowIndex : range.beginRowIndex;\n previewColIndex = !right ? ( !len ? (cellInfo.colIndex < 1 ? 0 : (cellInfo.colIndex - 1)) : range.beginColIndex - 1)\n : ( !len ? cellInfo.colIndex + 1 : range.endColIndex + 1);\n return this.getCell(this.indexTable[previewRowIndex][previewColIndex].rowIndex, this.indexTable[previewRowIndex][previewColIndex].cellIndex);\n } catch (e) {\n showError(e);\n }\n },\n getTabNextCell:function (cell, preRowIndex) {\n var cellInfo = this.getCellInfo(cell),\n rowIndex = preRowIndex || cellInfo.rowIndex,\n colIndex = cellInfo.colIndex + 1 + (cellInfo.colSpan - 1),\n nextCell;\n try {\n nextCell = this.getCell(this.indexTable[rowIndex][colIndex].rowIndex, this.indexTable[rowIndex][colIndex].cellIndex);\n } catch (e) {\n try {\n rowIndex = rowIndex * 1 + 1;\n colIndex = 0;\n nextCell = this.getCell(this.indexTable[rowIndex][colIndex].rowIndex, this.indexTable[rowIndex][colIndex].cellIndex);\n } catch (e) {\n }\n }\n return nextCell;\n\n },\n /**\n * 获取视觉上的后置单元格\n * @param cell\n * @param bottom\n */\n getVSideCell:function (cell, bottom, ignoreRange) {\n try {\n var cellInfo = this.getCellInfo(cell),\n nextRowIndex, nextColIndex;\n var len = this.selectedTds.length && !ignoreRange,\n range = this.cellsRange;\n //末行或者末列没有后置单元格\n if ((!bottom && (cellInfo.rowIndex == 0)) || (bottom && (!len ? (cellInfo.rowIndex + cellInfo.rowSpan > this.rowsNum - 1) : (range.endRowIndex == this.rowsNum - 1)))) return null;\n\n nextRowIndex = !bottom ? ( !len ? cellInfo.rowIndex - 1 : range.beginRowIndex - 1)\n : ( !len ? (cellInfo.rowIndex + cellInfo.rowSpan) : range.endRowIndex + 1);\n nextColIndex = !len ? cellInfo.colIndex : range.beginColIndex;\n return this.getCell(this.indexTable[nextRowIndex][nextColIndex].rowIndex, this.indexTable[nextRowIndex][nextColIndex].cellIndex);\n } catch (e) {\n showError(e);\n }\n },\n /**\n * 获取相同结束位置的单元格,xOrY指代了是获取x轴相同还是y轴相同\n */\n getSameEndPosCells:function (cell, xOrY) {\n try {\n var flag = (xOrY.toLowerCase() === \"x\"),\n end = domUtils.getXY(cell)[flag ? 'x' : 'y'] + cell[\"offset\" + (flag ? 'Width' : 'Height')],\n rows = this.table.rows,\n cells = null, returns = [];\n for (var i = 0; i < this.rowsNum; i++) {\n cells = rows[i].cells;\n for (var j = 0, tmpCell; tmpCell = cells[j++];) {\n var tmpEnd = domUtils.getXY(tmpCell)[flag ? 'x' : 'y'] + tmpCell[\"offset\" + (flag ? 'Width' : 'Height')];\n //对应行的td已经被上面行rowSpan了\n if (tmpEnd > end && flag) break;\n if (cell == tmpCell || end == tmpEnd) {\n //只获取单一的单元格\n //todo 仅获取单一单元格在特定情况下会造成returns为空,从而影响后续的拖拽实现,修正这个。需考虑性能\n if (tmpCell[flag ? \"colSpan\" : \"rowSpan\"] == 1) {\n returns.push(tmpCell);\n }\n if (flag) break;\n }\n }\n }\n return returns;\n } catch (e) {\n showError(e);\n }\n },\n setCellContent:function (cell, content) {\n cell.innerHTML = content || (browser.ie ? domUtils.fillChar : \"
    \");\n },\n cloneCell:UETable.cloneCell,\n /**\n * 获取跟当前单元格的右边竖线为左边的所有未合并单元格\n */\n getSameStartPosXCells:function (cell) {\n try {\n var start = domUtils.getXY(cell).x + cell.offsetWidth,\n rows = this.table.rows, cells , returns = [];\n for (var i = 0; i < this.rowsNum; i++) {\n cells = rows[i].cells;\n for (var j = 0, tmpCell; tmpCell = cells[j++];) {\n var tmpStart = domUtils.getXY(tmpCell).x;\n if (tmpStart > start) break;\n if (tmpStart == start && tmpCell.colSpan == 1) {\n returns.push(tmpCell);\n break;\n }\n }\n }\n return returns;\n } catch (e) {\n showError(e);\n }\n },\n /**\n * 更新table对应的索引表\n */\n update:function (table) {\n this.table = table || this.table;\n this.selectedTds = [];\n this.cellsRange = {};\n this.indexTable = [];\n var rows = this.table.rows,\n rowsNum = this.getMaxRows(),\n dNum = rowsNum - rows.length,\n colsNum = this.getMaxCols();\n while (dNum--) {\n this.table.insertRow(rows.length);\n }\n this.rowsNum = rowsNum;\n this.colsNum = colsNum;\n for (var i = 0, len = rows.length; i < len; i++) {\n this.indexTable[i] = new Array(colsNum);\n }\n //填充索引表\n for (var rowIndex = 0, row; row = rows[rowIndex]; rowIndex++) {\n for (var cellIndex = 0, cell, cells = row.cells; cell = cells[cellIndex]; cellIndex++) {\n //修正整行被rowSpan时导致的行数计算错误\n if (cell.rowSpan > rowsNum) {\n cell.rowSpan = rowsNum;\n }\n var colIndex = cellIndex,\n rowSpan = cell.rowSpan || 1,\n colSpan = cell.colSpan || 1;\n //当已经被上一行rowSpan或者被前一列colSpan了,则跳到下一个单元格进行\n while (this.indexTable[rowIndex][colIndex]) colIndex++;\n for (var j = 0; j < rowSpan; j++) {\n for (var k = 0; k < colSpan; k++) {\n this.indexTable[rowIndex + j][colIndex + k] = {\n rowIndex:rowIndex,\n cellIndex:cellIndex,\n colIndex:colIndex,\n rowSpan:rowSpan,\n colSpan:colSpan\n }\n }\n }\n }\n }\n //修复残缺td\n for (j = 0; j < rowsNum; j++) {\n for (k = 0; k < colsNum; k++) {\n if (this.indexTable[j][k] === undefined) {\n row = rows[j];\n cell = row.cells[row.cells.length - 1];\n cell = cell ? cell.cloneNode(true) : this.table.ownerDocument.createElement(\"td\");\n this.setCellContent(cell);\n if (cell.colSpan !== 1)cell.colSpan = 1;\n if (cell.rowSpan !== 1)cell.rowSpan = 1;\n row.appendChild(cell);\n this.indexTable[j][k] = {\n rowIndex:j,\n cellIndex:cell.cellIndex,\n colIndex:k,\n rowSpan:1,\n colSpan:1\n }\n }\n }\n }\n //当框选后删除行或者列后撤销,需要重建选区。\n var tds = domUtils.getElementsByTagName(this.table, \"td\"),\n selectTds = [];\n utils.each(tds, function (td) {\n if (domUtils.hasClass(td, \"selectTdClass\")) {\n selectTds.push(td);\n }\n });\n if (selectTds.length) {\n var start = selectTds[0],\n end = selectTds[selectTds.length - 1],\n startInfo = this.getCellInfo(start),\n endInfo = this.getCellInfo(end);\n this.selectedTds = selectTds;\n this.cellsRange = {\n beginRowIndex:startInfo.rowIndex,\n beginColIndex:startInfo.colIndex,\n endRowIndex:endInfo.rowIndex + endInfo.rowSpan - 1,\n endColIndex:endInfo.colIndex + endInfo.colSpan - 1\n };\n }\n //给第一行设置firstRow的样式名称,在排序图标的样式上使用到\n if(!domUtils.hasClass(this.table.rows[0], \"firstRow\")) {\n domUtils.addClass(this.table.rows[0], \"firstRow\");\n for(var i = 1; i< this.table.rows.length; i++) {\n domUtils.removeClasses(this.table.rows[i], \"firstRow\");\n }\n }\n },\n /**\n * 获取单元格的索引信息\n */\n getCellInfo:function (cell) {\n if (!cell) return;\n var cellIndex = cell.cellIndex,\n rowIndex = cell.parentNode.rowIndex,\n rowInfo = this.indexTable[rowIndex],\n numCols = this.colsNum;\n for (var colIndex = cellIndex; colIndex < numCols; colIndex++) {\n var cellInfo = rowInfo[colIndex];\n if (cellInfo.rowIndex === rowIndex && cellInfo.cellIndex === cellIndex) {\n return cellInfo;\n }\n }\n },\n /**\n * 根据行列号获取单元格\n */\n getCell:function (rowIndex, cellIndex) {\n return rowIndex < this.rowsNum && this.table.rows[rowIndex].cells[cellIndex] || null;\n },\n /**\n * 删除单元格\n */\n deleteCell:function (cell, rowIndex) {\n rowIndex = typeof rowIndex == 'number' ? rowIndex : cell.parentNode.rowIndex;\n var row = this.table.rows[rowIndex];\n row.deleteCell(cell.cellIndex);\n },\n /**\n * 根据始末两个单元格获取被框选的所有单元格范围\n */\n getCellsRange:function (cellA, cellB) {\n function checkRange(beginRowIndex, beginColIndex, endRowIndex, endColIndex) {\n var tmpBeginRowIndex = beginRowIndex,\n tmpBeginColIndex = beginColIndex,\n tmpEndRowIndex = endRowIndex,\n tmpEndColIndex = endColIndex,\n cellInfo, colIndex, rowIndex;\n // 通过indexTable检查是否存在超出TableRange上边界的情况\n if (beginRowIndex > 0) {\n for (colIndex = beginColIndex; colIndex < endColIndex; colIndex++) {\n cellInfo = me.indexTable[beginRowIndex][colIndex];\n rowIndex = cellInfo.rowIndex;\n if (rowIndex < beginRowIndex) {\n tmpBeginRowIndex = Math.min(rowIndex, tmpBeginRowIndex);\n }\n }\n }\n // 通过indexTable检查是否存在超出TableRange右边界的情况\n if (endColIndex < me.colsNum) {\n for (rowIndex = beginRowIndex; rowIndex < endRowIndex; rowIndex++) {\n cellInfo = me.indexTable[rowIndex][endColIndex];\n colIndex = cellInfo.colIndex + cellInfo.colSpan - 1;\n if (colIndex > endColIndex) {\n tmpEndColIndex = Math.max(colIndex, tmpEndColIndex);\n }\n }\n }\n // 检查是否有超出TableRange下边界的情况\n if (endRowIndex < me.rowsNum) {\n for (colIndex = beginColIndex; colIndex < endColIndex; colIndex++) {\n cellInfo = me.indexTable[endRowIndex][colIndex];\n rowIndex = cellInfo.rowIndex + cellInfo.rowSpan - 1;\n if (rowIndex > endRowIndex) {\n tmpEndRowIndex = Math.max(rowIndex, tmpEndRowIndex);\n }\n }\n }\n // 检查是否有超出TableRange左边界的情况\n if (beginColIndex > 0) {\n for (rowIndex = beginRowIndex; rowIndex < endRowIndex; rowIndex++) {\n cellInfo = me.indexTable[rowIndex][beginColIndex];\n colIndex = cellInfo.colIndex;\n if (colIndex < beginColIndex) {\n tmpBeginColIndex = Math.min(cellInfo.colIndex, tmpBeginColIndex);\n }\n }\n }\n //递归调用直至所有完成所有框选单元格的扩展\n if (tmpBeginRowIndex != beginRowIndex || tmpBeginColIndex != beginColIndex || tmpEndRowIndex != endRowIndex || tmpEndColIndex != endColIndex) {\n return checkRange(tmpBeginRowIndex, tmpBeginColIndex, tmpEndRowIndex, tmpEndColIndex);\n } else {\n // 不需要扩展TableRange的情况\n return {\n beginRowIndex:beginRowIndex,\n beginColIndex:beginColIndex,\n endRowIndex:endRowIndex,\n endColIndex:endColIndex\n };\n }\n }\n\n try {\n var me = this,\n cellAInfo = me.getCellInfo(cellA);\n if (cellA === cellB) {\n return {\n beginRowIndex:cellAInfo.rowIndex,\n beginColIndex:cellAInfo.colIndex,\n endRowIndex:cellAInfo.rowIndex + cellAInfo.rowSpan - 1,\n endColIndex:cellAInfo.colIndex + cellAInfo.colSpan - 1\n };\n }\n var cellBInfo = me.getCellInfo(cellB);\n // 计算TableRange的四个边\n var beginRowIndex = Math.min(cellAInfo.rowIndex, cellBInfo.rowIndex),\n beginColIndex = Math.min(cellAInfo.colIndex, cellBInfo.colIndex),\n endRowIndex = Math.max(cellAInfo.rowIndex + cellAInfo.rowSpan - 1, cellBInfo.rowIndex + cellBInfo.rowSpan - 1),\n endColIndex = Math.max(cellAInfo.colIndex + cellAInfo.colSpan - 1, cellBInfo.colIndex + cellBInfo.colSpan - 1);\n\n return checkRange(beginRowIndex, beginColIndex, endRowIndex, endColIndex);\n } catch (e) {\n //throw e;\n }\n },\n /**\n * 依据cellsRange获取对应的单元格集合\n */\n getCells:function (range) {\n //每次获取cells之前必须先清除上次的选择,否则会对后续获取操作造成影响\n this.clearSelected();\n var beginRowIndex = range.beginRowIndex,\n beginColIndex = range.beginColIndex,\n endRowIndex = range.endRowIndex,\n endColIndex = range.endColIndex,\n cellInfo, rowIndex, colIndex, tdHash = {}, returnTds = [];\n for (var i = beginRowIndex; i <= endRowIndex; i++) {\n for (var j = beginColIndex; j <= endColIndex; j++) {\n cellInfo = this.indexTable[i][j];\n rowIndex = cellInfo.rowIndex;\n colIndex = cellInfo.colIndex;\n // 如果Cells里已经包含了此Cell则跳过\n var key = rowIndex + '|' + colIndex;\n if (tdHash[key]) continue;\n tdHash[key] = 1;\n if (rowIndex < i || colIndex < j || rowIndex + cellInfo.rowSpan - 1 > endRowIndex || colIndex + cellInfo.colSpan - 1 > endColIndex) {\n return null;\n }\n returnTds.push(this.getCell(rowIndex, cellInfo.cellIndex));\n }\n }\n return returnTds;\n },\n /**\n * 清理已经选中的单元格\n */\n clearSelected:function () {\n UETable.removeSelectedClass(this.selectedTds);\n this.selectedTds = [];\n this.cellsRange = {};\n },\n /**\n * 根据range设置已经选中的单元格\n */\n setSelected:function (range) {\n var cells = this.getCells(range);\n UETable.addSelectedClass(cells);\n this.selectedTds = cells;\n this.cellsRange = range;\n },\n isFullRow:function () {\n var range = this.cellsRange;\n return (range.endColIndex - range.beginColIndex + 1) == this.colsNum;\n },\n isFullCol:function () {\n var range = this.cellsRange,\n table = this.table,\n ths = table.getElementsByTagName(\"th\"),\n rows = range.endRowIndex - range.beginRowIndex + 1;\n return !ths.length ? rows == this.rowsNum : rows == this.rowsNum || (rows == this.rowsNum - 1);\n\n },\n /**\n * 获取视觉上的前置单元格,默认是左边,top传入时\n * @param cell\n * @param top\n */\n getNextCell:function (cell, bottom, ignoreRange) {\n try {\n var cellInfo = this.getCellInfo(cell),\n nextRowIndex, nextColIndex;\n var len = this.selectedTds.length && !ignoreRange,\n range = this.cellsRange;\n //末行或者末列没有后置单元格\n if ((!bottom && (cellInfo.rowIndex == 0)) || (bottom && (!len ? (cellInfo.rowIndex + cellInfo.rowSpan > this.rowsNum - 1) : (range.endRowIndex == this.rowsNum - 1)))) return null;\n\n nextRowIndex = !bottom ? ( !len ? cellInfo.rowIndex - 1 : range.beginRowIndex - 1)\n : ( !len ? (cellInfo.rowIndex + cellInfo.rowSpan) : range.endRowIndex + 1);\n nextColIndex = !len ? cellInfo.colIndex : range.beginColIndex;\n return this.getCell(this.indexTable[nextRowIndex][nextColIndex].rowIndex, this.indexTable[nextRowIndex][nextColIndex].cellIndex);\n } catch (e) {\n showError(e);\n }\n },\n getPreviewCell:function (cell, top) {\n try {\n var cellInfo = this.getCellInfo(cell),\n previewRowIndex, previewColIndex;\n var len = this.selectedTds.length,\n range = this.cellsRange;\n //首行或者首列没有前置单元格\n if ((!top && (!len ? !cellInfo.colIndex : !range.beginColIndex)) || (top && (!len ? (cellInfo.rowIndex > (this.colsNum - 1)) : (range.endColIndex == this.colsNum - 1)))) return null;\n\n previewRowIndex = !top ? ( !len ? cellInfo.rowIndex : range.beginRowIndex )\n : ( !len ? (cellInfo.rowIndex < 1 ? 0 : (cellInfo.rowIndex - 1)) : range.beginRowIndex);\n previewColIndex = !top ? ( !len ? (cellInfo.colIndex < 1 ? 0 : (cellInfo.colIndex - 1)) : range.beginColIndex - 1)\n : ( !len ? cellInfo.colIndex : range.endColIndex + 1);\n return this.getCell(this.indexTable[previewRowIndex][previewColIndex].rowIndex, this.indexTable[previewRowIndex][previewColIndex].cellIndex);\n } catch (e) {\n showError(e);\n }\n },\n /**\n * 移动单元格中的内容\n */\n moveContent:function (cellTo, cellFrom) {\n if (UETable.isEmptyBlock(cellFrom)) return;\n if (UETable.isEmptyBlock(cellTo)) {\n cellTo.innerHTML = cellFrom.innerHTML;\n return;\n }\n var child = cellTo.lastChild;\n if (child.nodeType == 3 || !dtd.$block[child.tagName]) {\n cellTo.appendChild(cellTo.ownerDocument.createElement('br'))\n }\n while (child = cellFrom.firstChild) {\n cellTo.appendChild(child);\n }\n },\n /**\n * 向右合并单元格\n */\n mergeRight:function (cell) {\n var cellInfo = this.getCellInfo(cell),\n rightColIndex = cellInfo.colIndex + cellInfo.colSpan,\n rightCellInfo = this.indexTable[cellInfo.rowIndex][rightColIndex],\n rightCell = this.getCell(rightCellInfo.rowIndex, rightCellInfo.cellIndex);\n //合并\n cell.colSpan = cellInfo.colSpan + rightCellInfo.colSpan;\n //被合并的单元格不应存在宽度属性\n cell.removeAttribute(\"width\");\n //移动内容\n this.moveContent(cell, rightCell);\n //删掉被合并的Cell\n this.deleteCell(rightCell, rightCellInfo.rowIndex);\n this.update();\n },\n /**\n * 向下合并单元格\n */\n mergeDown:function (cell) {\n var cellInfo = this.getCellInfo(cell),\n downRowIndex = cellInfo.rowIndex + cellInfo.rowSpan,\n downCellInfo = this.indexTable[downRowIndex][cellInfo.colIndex],\n downCell = this.getCell(downCellInfo.rowIndex, downCellInfo.cellIndex);\n cell.rowSpan = cellInfo.rowSpan + downCellInfo.rowSpan;\n cell.removeAttribute(\"height\");\n this.moveContent(cell, downCell);\n this.deleteCell(downCell, downCellInfo.rowIndex);\n this.update();\n },\n /**\n * 合并整个range中的内容\n */\n mergeRange:function () {\n //由于合并操作可以在任意时刻进行,所以无法通过鼠标位置等信息实时生成range,只能通过缓存实例中的cellsRange对象来访问\n var range = this.cellsRange,\n leftTopCell = this.getCell(range.beginRowIndex, this.indexTable[range.beginRowIndex][range.beginColIndex].cellIndex);\n\n if (leftTopCell.tagName == \"TH\" && range.endRowIndex !== range.beginRowIndex) {\n var index = this.indexTable,\n info = this.getCellInfo(leftTopCell);\n leftTopCell = this.getCell(1, index[1][info.colIndex].cellIndex);\n range = this.getCellsRange(leftTopCell, this.getCell(index[this.rowsNum - 1][info.colIndex].rowIndex, index[this.rowsNum - 1][info.colIndex].cellIndex));\n }\n\n // 删除剩余的Cells\n var cells = this.getCells(range);\n for(var i= 0,ci;ci=cells[i++];){\n if (ci !== leftTopCell) {\n this.moveContent(leftTopCell, ci);\n this.deleteCell(ci);\n }\n }\n // 修改左上角Cell的rowSpan和colSpan,并调整宽度属性设置\n leftTopCell.rowSpan = range.endRowIndex - range.beginRowIndex + 1;\n leftTopCell.rowSpan > 1 && leftTopCell.removeAttribute(\"height\");\n leftTopCell.colSpan = range.endColIndex - range.beginColIndex + 1;\n leftTopCell.colSpan > 1 && leftTopCell.removeAttribute(\"width\");\n if (leftTopCell.rowSpan == this.rowsNum && leftTopCell.colSpan != 1) {\n leftTopCell.colSpan = 1;\n }\n\n if (leftTopCell.colSpan == this.colsNum && leftTopCell.rowSpan != 1) {\n var rowIndex = leftTopCell.parentNode.rowIndex;\n //解决IE下的表格操作问题\n if( this.table.deleteRow ) {\n for (var i = rowIndex+ 1, curIndex=rowIndex+ 1, len=leftTopCell.rowSpan; i < len; i++) {\n this.table.deleteRow(curIndex);\n }\n } else {\n for (var i = 0, len=leftTopCell.rowSpan - 1; i < len; i++) {\n var row = this.table.rows[rowIndex + 1];\n row.parentNode.removeChild(row);\n }\n }\n leftTopCell.rowSpan = 1;\n }\n this.update();\n },\n /**\n * 插入一行单元格\n */\n insertRow:function (rowIndex, sourceCell) {\n var numCols = this.colsNum,\n table = this.table,\n row = table.insertRow(rowIndex), cell,\n isInsertTitle = typeof sourceCell == 'string' && sourceCell.toUpperCase() == 'TH';\n\n function replaceTdToTh(colIndex, cell, tableRow) {\n if (colIndex == 0) {\n var tr = tableRow.nextSibling || tableRow.previousSibling,\n th = tr.cells[colIndex];\n if (th.tagName == 'TH') {\n th = cell.ownerDocument.createElement(\"th\");\n th.appendChild(cell.firstChild);\n tableRow.insertBefore(th, cell);\n domUtils.remove(cell)\n }\n }else{\n if (cell.tagName == 'TH') {\n var td = cell.ownerDocument.createElement(\"td\");\n td.appendChild(cell.firstChild);\n tableRow.insertBefore(td, cell);\n domUtils.remove(cell)\n }\n }\n }\n\n //首行直接插入,无需考虑部分单元格被rowspan的情况\n if (rowIndex == 0 || rowIndex == this.rowsNum) {\n for (var colIndex = 0; colIndex < numCols; colIndex++) {\n cell = this.cloneCell(sourceCell, true);\n this.setCellContent(cell);\n cell.getAttribute('vAlign') && cell.setAttribute('vAlign', cell.getAttribute('vAlign'));\n row.appendChild(cell);\n if(!isInsertTitle) replaceTdToTh(colIndex, cell, row);\n }\n } else {\n var infoRow = this.indexTable[rowIndex],\n cellIndex = 0;\n for (colIndex = 0; colIndex < numCols; colIndex++) {\n var cellInfo = infoRow[colIndex];\n //如果存在某个单元格的rowspan穿过待插入行的位置,则修改该单元格的rowspan即可,无需插入单元格\n if (cellInfo.rowIndex < rowIndex) {\n cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex);\n cell.rowSpan = cellInfo.rowSpan + 1;\n } else {\n cell = this.cloneCell(sourceCell, true);\n this.setCellContent(cell);\n row.appendChild(cell);\n }\n if(!isInsertTitle) replaceTdToTh(colIndex, cell, row);\n }\n }\n //框选时插入不触发contentchange,需要手动更新索引。\n this.update();\n return row;\n },\n /**\n * 删除一行单元格\n * @param rowIndex\n */\n deleteRow:function (rowIndex) {\n var row = this.table.rows[rowIndex],\n infoRow = this.indexTable[rowIndex],\n colsNum = this.colsNum,\n count = 0; //处理计数\n for (var colIndex = 0; colIndex < colsNum;) {\n var cellInfo = infoRow[colIndex],\n cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex);\n if (cell.rowSpan > 1) {\n if (cellInfo.rowIndex == rowIndex) {\n var clone = cell.cloneNode(true);\n clone.rowSpan = cell.rowSpan - 1;\n clone.innerHTML = \"\";\n cell.rowSpan = 1;\n var nextRowIndex = rowIndex + 1,\n nextRow = this.table.rows[nextRowIndex],\n insertCellIndex,\n preMerged = this.getPreviewMergedCellsNum(nextRowIndex, colIndex) - count;\n if (preMerged < colIndex) {\n insertCellIndex = colIndex - preMerged - 1;\n //nextRow.insertCell(insertCellIndex);\n domUtils.insertAfter(nextRow.cells[insertCellIndex], clone);\n } else {\n if (nextRow.cells.length) nextRow.insertBefore(clone, nextRow.cells[0])\n }\n count += 1;\n //cell.parentNode.removeChild(cell);\n }\n }\n colIndex += cell.colSpan || 1;\n }\n var deleteTds = [], cacheMap = {};\n for (colIndex = 0; colIndex < colsNum; colIndex++) {\n var tmpRowIndex = infoRow[colIndex].rowIndex,\n tmpCellIndex = infoRow[colIndex].cellIndex,\n key = tmpRowIndex + \"_\" + tmpCellIndex;\n if (cacheMap[key])continue;\n cacheMap[key] = 1;\n cell = this.getCell(tmpRowIndex, tmpCellIndex);\n deleteTds.push(cell);\n }\n var mergeTds = [];\n utils.each(deleteTds, function (td) {\n if (td.rowSpan == 1) {\n td.parentNode.removeChild(td);\n } else {\n mergeTds.push(td);\n }\n });\n utils.each(mergeTds, function (td) {\n td.rowSpan--;\n });\n row.parentNode.removeChild(row);\n //浏览器方法本身存在bug,采用自定义方法删除\n //this.table.deleteRow(rowIndex);\n this.update();\n },\n insertCol:function (colIndex, sourceCell, defaultValue) {\n var rowsNum = this.rowsNum,\n rowIndex = 0,\n tableRow, cell,\n backWidth = parseInt((this.table.offsetWidth - (this.colsNum + 1) * 20 - (this.colsNum + 1)) / (this.colsNum + 1), 10),\n isInsertTitleCol = typeof sourceCell == 'string' && sourceCell.toUpperCase() == 'TH';\n\n function replaceTdToTh(rowIndex, cell, tableRow) {\n if (rowIndex == 0) {\n var th = cell.nextSibling || cell.previousSibling;\n if (th.tagName == 'TH') {\n th = cell.ownerDocument.createElement(\"th\");\n th.appendChild(cell.firstChild);\n tableRow.insertBefore(th, cell);\n domUtils.remove(cell)\n }\n }else{\n if (cell.tagName == 'TH') {\n var td = cell.ownerDocument.createElement(\"td\");\n td.appendChild(cell.firstChild);\n tableRow.insertBefore(td, cell);\n domUtils.remove(cell)\n }\n }\n }\n\n var preCell;\n if (colIndex == 0 || colIndex == this.colsNum) {\n for (; rowIndex < rowsNum; rowIndex++) {\n tableRow = this.table.rows[rowIndex];\n preCell = tableRow.cells[colIndex == 0 ? colIndex : tableRow.cells.length];\n cell = this.cloneCell(sourceCell, true); //tableRow.insertCell(colIndex == 0 ? colIndex : tableRow.cells.length);\n this.setCellContent(cell);\n cell.setAttribute('vAlign', cell.getAttribute('vAlign'));\n preCell && cell.setAttribute('width', preCell.getAttribute('width'));\n if (!colIndex) {\n tableRow.insertBefore(cell, tableRow.cells[0]);\n } else {\n domUtils.insertAfter(tableRow.cells[tableRow.cells.length - 1], cell);\n }\n if(!isInsertTitleCol) replaceTdToTh(rowIndex, cell, tableRow)\n }\n } else {\n for (; rowIndex < rowsNum; rowIndex++) {\n var cellInfo = this.indexTable[rowIndex][colIndex];\n if (cellInfo.colIndex < colIndex) {\n cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex);\n cell.colSpan = cellInfo.colSpan + 1;\n } else {\n tableRow = this.table.rows[rowIndex];\n preCell = tableRow.cells[cellInfo.cellIndex];\n\n cell = this.cloneCell(sourceCell, true);//tableRow.insertCell(cellInfo.cellIndex);\n this.setCellContent(cell);\n cell.setAttribute('vAlign', cell.getAttribute('vAlign'));\n preCell && cell.setAttribute('width', preCell.getAttribute('width'));\n //防止IE下报错\n preCell ? tableRow.insertBefore(cell, preCell) : tableRow.appendChild(cell);\n }\n if(!isInsertTitleCol) replaceTdToTh(rowIndex, cell, tableRow);\n }\n }\n //框选时插入不触发contentchange,需要手动更新索引\n this.update();\n this.updateWidth(backWidth, defaultValue || {tdPadding:10, tdBorder:1});\n },\n updateWidth:function (width, defaultValue) {\n var table = this.table,\n tmpWidth = UETable.getWidth(table) - defaultValue.tdPadding * 2 - defaultValue.tdBorder + width;\n if (tmpWidth < table.ownerDocument.body.offsetWidth) {\n table.setAttribute(\"width\", tmpWidth);\n return;\n }\n var tds = domUtils.getElementsByTagName(this.table, \"td th\");\n utils.each(tds, function (td) {\n td.setAttribute(\"width\", width);\n })\n },\n deleteCol:function (colIndex) {\n var indexTable = this.indexTable,\n tableRows = this.table.rows,\n backTableWidth = this.table.getAttribute(\"width\"),\n backTdWidth = 0,\n rowsNum = this.rowsNum,\n cacheMap = {};\n for (var rowIndex = 0; rowIndex < rowsNum;) {\n var infoRow = indexTable[rowIndex],\n cellInfo = infoRow[colIndex],\n key = cellInfo.rowIndex + '_' + cellInfo.colIndex;\n // 跳过已经处理过的Cell\n if (cacheMap[key])continue;\n cacheMap[key] = 1;\n var cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex);\n if (!backTdWidth) backTdWidth = cell && parseInt(cell.offsetWidth / cell.colSpan, 10).toFixed(0);\n // 如果Cell的colSpan大于1, 就修改colSpan, 否则就删掉这个Cell\n if (cell.colSpan > 1) {\n cell.colSpan--;\n } else {\n tableRows[rowIndex].deleteCell(cellInfo.cellIndex);\n }\n rowIndex += cellInfo.rowSpan || 1;\n }\n this.table.setAttribute(\"width\", backTableWidth - backTdWidth);\n this.update();\n },\n splitToCells:function (cell) {\n var me = this,\n cells = this.splitToRows(cell);\n utils.each(cells, function (cell) {\n me.splitToCols(cell);\n })\n },\n splitToRows:function (cell) {\n var cellInfo = this.getCellInfo(cell),\n rowIndex = cellInfo.rowIndex,\n colIndex = cellInfo.colIndex,\n results = [];\n // 修改Cell的rowSpan\n cell.rowSpan = 1;\n results.push(cell);\n // 补齐单元格\n for (var i = rowIndex, endRow = rowIndex + cellInfo.rowSpan; i < endRow; i++) {\n if (i == rowIndex)continue;\n var tableRow = this.table.rows[i],\n tmpCell = tableRow.insertCell(colIndex - this.getPreviewMergedCellsNum(i, colIndex));\n tmpCell.colSpan = cellInfo.colSpan;\n this.setCellContent(tmpCell);\n tmpCell.setAttribute('vAlign', cell.getAttribute('vAlign'));\n tmpCell.setAttribute('align', cell.getAttribute('align'));\n if (cell.style.cssText) {\n tmpCell.style.cssText = cell.style.cssText;\n }\n results.push(tmpCell);\n }\n this.update();\n return results;\n },\n getPreviewMergedCellsNum:function (rowIndex, colIndex) {\n var indexRow = this.indexTable[rowIndex],\n num = 0;\n for (var i = 0; i < colIndex;) {\n var colSpan = indexRow[i].colSpan,\n tmpRowIndex = indexRow[i].rowIndex;\n num += (colSpan - (tmpRowIndex == rowIndex ? 1 : 0));\n i += colSpan;\n }\n return num;\n },\n splitToCols:function (cell) {\n var backWidth = (cell.offsetWidth / cell.colSpan - 22).toFixed(0),\n\n cellInfo = this.getCellInfo(cell),\n rowIndex = cellInfo.rowIndex,\n colIndex = cellInfo.colIndex,\n results = [];\n // 修改Cell的rowSpan\n cell.colSpan = 1;\n cell.setAttribute(\"width\", backWidth);\n results.push(cell);\n // 补齐单元格\n for (var j = colIndex, endCol = colIndex + cellInfo.colSpan; j < endCol; j++) {\n if (j == colIndex)continue;\n var tableRow = this.table.rows[rowIndex],\n tmpCell = tableRow.insertCell(this.indexTable[rowIndex][j].cellIndex + 1);\n tmpCell.rowSpan = cellInfo.rowSpan;\n this.setCellContent(tmpCell);\n tmpCell.setAttribute('vAlign', cell.getAttribute('vAlign'));\n tmpCell.setAttribute('align', cell.getAttribute('align'));\n tmpCell.setAttribute('width', backWidth);\n if (cell.style.cssText) {\n tmpCell.style.cssText = cell.style.cssText;\n }\n //处理th的情况\n if (cell.tagName == 'TH') {\n var th = cell.ownerDocument.createElement('th');\n th.appendChild(tmpCell.firstChild);\n th.setAttribute('vAlign', cell.getAttribute('vAlign'));\n th.rowSpan = tmpCell.rowSpan;\n tableRow.insertBefore(th, tmpCell);\n domUtils.remove(tmpCell);\n }\n results.push(tmpCell);\n }\n this.update();\n return results;\n },\n isLastCell:function (cell, rowsNum, colsNum) {\n rowsNum = rowsNum || this.rowsNum;\n colsNum = colsNum || this.colsNum;\n var cellInfo = this.getCellInfo(cell);\n return ((cellInfo.rowIndex + cellInfo.rowSpan) == rowsNum) &&\n ((cellInfo.colIndex + cellInfo.colSpan) == colsNum);\n },\n getLastCell:function (cells) {\n cells = cells || this.table.getElementsByTagName(\"td\");\n var firstInfo = this.getCellInfo(cells[0]);\n var me = this, last = cells[0],\n tr = last.parentNode,\n cellsNum = 0, cols = 0, rows;\n utils.each(cells, function (cell) {\n if (cell.parentNode == tr)cols += cell.colSpan || 1;\n cellsNum += cell.rowSpan * cell.colSpan || 1;\n });\n rows = cellsNum / cols;\n utils.each(cells, function (cell) {\n if (me.isLastCell(cell, rows, cols)) {\n last = cell;\n return false;\n }\n });\n return last;\n\n },\n selectRow:function (rowIndex) {\n var indexRow = this.indexTable[rowIndex],\n start = this.getCell(indexRow[0].rowIndex, indexRow[0].cellIndex),\n end = this.getCell(indexRow[this.colsNum - 1].rowIndex, indexRow[this.colsNum - 1].cellIndex),\n range = this.getCellsRange(start, end);\n this.setSelected(range);\n },\n selectTable:function () {\n var tds = this.table.getElementsByTagName(\"td\"),\n range = this.getCellsRange(tds[0], tds[tds.length - 1]);\n this.setSelected(range);\n },\n setBackground:function (cells, value) {\n if (typeof value === \"string\") {\n utils.each(cells, function (cell) {\n cell.style.backgroundColor = value;\n })\n } else if (typeof value === \"object\") {\n value = utils.extend({\n repeat:true,\n colorList:[\"#ddd\", \"#fff\"]\n }, value);\n var rowIndex = this.getCellInfo(cells[0]).rowIndex,\n count = 0,\n colors = value.colorList,\n getColor = function (list, index, repeat) {\n return list[index] ? list[index] : repeat ? list[index % list.length] : \"\";\n };\n for (var i = 0, cell; cell = cells[i++];) {\n var cellInfo = this.getCellInfo(cell);\n cell.style.backgroundColor = getColor(colors, ((rowIndex + count) == cellInfo.rowIndex) ? count : ++count, value.repeat);\n }\n }\n },\n removeBackground:function (cells) {\n utils.each(cells, function (cell) {\n cell.style.backgroundColor = \"\";\n })\n }\n\n\n };\n function showError(e) {\n }\n})();\n\n// plugins/table.cmds.js\n/**\n * Created with JetBrains PhpStorm.\n * User: taoqili\n * Date: 13-2-20\n * Time: 下午6:25\n * To change this template use File | Settings | File Templates.\n */\n;\n(function () {\n var UT = UE.UETable,\n getTableItemsByRange = function (editor) {\n return UT.getTableItemsByRange(editor);\n },\n getUETableBySelected = function (editor) {\n return UT.getUETableBySelected(editor)\n },\n getDefaultValue = function (editor, table) {\n return UT.getDefaultValue(editor, table);\n },\n getUETable = function (tdOrTable) {\n return UT.getUETable(tdOrTable);\n };\n\n\n UE.commands['inserttable'] = {\n queryCommandState: function () {\n return getTableItemsByRange(this).table ? -1 : 0;\n },\n execCommand: function (cmd, opt) {\n function createTable(opt, tdWidth) {\n var html = [],\n rowsNum = opt.numRows,\n colsNum = opt.numCols;\n for (var r = 0; r < rowsNum; r++) {\n html.push('');\n for (var c = 0; c < colsNum; c++) {\n html.push('
  • ' + (browser.ie && browser.version < 11 ? domUtils.fillChar : '
    ') + '
    ' + html.join('') + '
    '\n }\n\n if (!opt) {\n opt = utils.extend({}, {\n numCols: this.options.defaultCols,\n numRows: this.options.defaultRows,\n tdvalign: this.options.tdvalign\n })\n }\n var me = this;\n var range = this.selection.getRange(),\n start = range.startContainer,\n firstParentBlock = domUtils.findParent(start, function (node) {\n return domUtils.isBlockElm(node);\n }, true) || me.body;\n\n var defaultValue = getDefaultValue(me),\n tableWidth = firstParentBlock.offsetWidth,\n tdWidth = Math.floor(tableWidth / opt.numCols - defaultValue.tdPadding * 2 - defaultValue.tdBorder);\n\n //todo其他属性\n !opt.tdvalign && (opt.tdvalign = me.options.tdvalign);\n me.execCommand(\"inserthtml\", createTable(opt, tdWidth));\n }\n };\n\n UE.commands['insertparagraphbeforetable'] = {\n queryCommandState: function () {\n return getTableItemsByRange(this).cell ? 0 : -1;\n },\n execCommand: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n var p = this.document.createElement(\"p\");\n p.innerHTML = browser.ie ? ' ' : '
    ';\n table.parentNode.insertBefore(p, table);\n this.selection.getRange().setStart(p, 0).setCursor();\n }\n }\n };\n\n UE.commands['deletetable'] = {\n queryCommandState: function () {\n var rng = this.selection.getRange();\n return domUtils.findParentByTagName(rng.startContainer, 'table', true) ? 0 : -1;\n },\n execCommand: function (cmd, table) {\n var rng = this.selection.getRange();\n table = table || domUtils.findParentByTagName(rng.startContainer, 'table', true);\n if (table) {\n var next = table.nextSibling;\n if (!next) {\n next = domUtils.createElement(this.document, 'p', {\n 'innerHTML': browser.ie ? domUtils.fillChar : '
    '\n });\n table.parentNode.insertBefore(next, table);\n }\n domUtils.remove(table);\n rng = this.selection.getRange();\n if (next.nodeType == 3) {\n rng.setStartBefore(next)\n } else {\n rng.setStart(next, 0)\n }\n rng.setCursor(false, true)\n this.fireEvent(\"tablehasdeleted\")\n\n }\n\n }\n };\n UE.commands['cellalign'] = {\n queryCommandState: function () {\n return getSelectedArr(this).length ? 0 : -1\n },\n execCommand: function (cmd, align) {\n var selectedTds = getSelectedArr(this);\n if (selectedTds.length) {\n for (var i = 0, ci; ci = selectedTds[i++];) {\n ci.setAttribute('align', align);\n }\n }\n }\n };\n UE.commands['cellvalign'] = {\n queryCommandState: function () {\n return getSelectedArr(this).length ? 0 : -1;\n },\n execCommand: function (cmd, valign) {\n var selectedTds = getSelectedArr(this);\n if (selectedTds.length) {\n for (var i = 0, ci; ci = selectedTds[i++];) {\n ci.setAttribute('vAlign', valign);\n }\n }\n }\n };\n UE.commands['insertcaption'] = {\n queryCommandState: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n return table.getElementsByTagName('caption').length == 0 ? 1 : -1;\n }\n return -1;\n },\n execCommand: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n var caption = this.document.createElement('caption');\n caption.innerHTML = browser.ie ? domUtils.fillChar : '
    ';\n table.insertBefore(caption, table.firstChild);\n var range = this.selection.getRange();\n range.setStart(caption, 0).setCursor();\n }\n\n }\n };\n UE.commands['deletecaption'] = {\n queryCommandState: function () {\n var rng = this.selection.getRange(),\n table = domUtils.findParentByTagName(rng.startContainer, 'table');\n if (table) {\n return table.getElementsByTagName('caption').length == 0 ? -1 : 1;\n }\n return -1;\n },\n execCommand: function () {\n var rng = this.selection.getRange(),\n table = domUtils.findParentByTagName(rng.startContainer, 'table');\n if (table) {\n domUtils.remove(table.getElementsByTagName('caption')[0]);\n var range = this.selection.getRange();\n range.setStart(table.rows[0].cells[0], 0).setCursor();\n }\n\n }\n };\n UE.commands['inserttitle'] = {\n queryCommandState: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n var firstRow = table.rows[0];\n return firstRow.cells[firstRow.cells.length-1].tagName.toLowerCase() != 'th' ? 0 : -1\n }\n return -1;\n },\n execCommand: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n getUETable(table).insertRow(0, 'th');\n }\n var th = table.getElementsByTagName('th')[0];\n this.selection.getRange().setStart(th, 0).setCursor(false, true);\n }\n };\n UE.commands['deletetitle'] = {\n queryCommandState: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n var firstRow = table.rows[0];\n return firstRow.cells[firstRow.cells.length-1].tagName.toLowerCase() == 'th' ? 0 : -1\n }\n return -1;\n },\n execCommand: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n domUtils.remove(table.rows[0])\n }\n var td = table.getElementsByTagName('td')[0];\n this.selection.getRange().setStart(td, 0).setCursor(false, true);\n }\n };\n UE.commands['inserttitlecol'] = {\n queryCommandState: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n var lastRow = table.rows[table.rows.length-1];\n return lastRow.getElementsByTagName('th').length ? -1 : 0;\n }\n return -1;\n },\n execCommand: function (cmd) {\n var table = getTableItemsByRange(this).table;\n if (table) {\n getUETable(table).insertCol(0, 'th');\n }\n resetTdWidth(table, this);\n var th = table.getElementsByTagName('th')[0];\n this.selection.getRange().setStart(th, 0).setCursor(false, true);\n }\n };\n UE.commands['deletetitlecol'] = {\n queryCommandState: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n var lastRow = table.rows[table.rows.length-1];\n return lastRow.getElementsByTagName('th').length ? 0 : -1;\n }\n return -1;\n },\n execCommand: function () {\n var table = getTableItemsByRange(this).table;\n if (table) {\n for(var i = 0; i< table.rows.length; i++ ){\n domUtils.remove(table.rows[i].children[0])\n }\n }\n resetTdWidth(table, this);\n var td = table.getElementsByTagName('td')[0];\n this.selection.getRange().setStart(td, 0).setCursor(false, true);\n }\n };\n\n UE.commands[\"mergeright\"] = {\n queryCommandState: function (cmd) {\n var tableItems = getTableItemsByRange(this),\n table = tableItems.table,\n cell = tableItems.cell;\n\n if (!table || !cell) return -1;\n var ut = getUETable(table);\n if (ut.selectedTds.length) return -1;\n\n var cellInfo = ut.getCellInfo(cell),\n rightColIndex = cellInfo.colIndex + cellInfo.colSpan;\n if (rightColIndex >= ut.colsNum) return -1; // 如果处于最右边则不能向右合并\n\n var rightCellInfo = ut.indexTable[cellInfo.rowIndex][rightColIndex],\n rightCell = table.rows[rightCellInfo.rowIndex].cells[rightCellInfo.cellIndex];\n if (!rightCell || cell.tagName != rightCell.tagName) return -1; // TH和TD不能相互合并\n\n // 当且仅当两个Cell的开始列号和结束列号一致时能进行合并\n return (rightCellInfo.rowIndex == cellInfo.rowIndex && rightCellInfo.rowSpan == cellInfo.rowSpan) ? 0 : -1;\n },\n execCommand: function (cmd) {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell);\n ut.mergeRight(cell);\n rng.moveToBookmark(bk).select();\n }\n };\n UE.commands[\"mergedown\"] = {\n queryCommandState: function (cmd) {\n var tableItems = getTableItemsByRange(this),\n table = tableItems.table,\n cell = tableItems.cell;\n\n if (!table || !cell) return -1;\n var ut = getUETable(table);\n if (ut.selectedTds.length)return -1;\n\n var cellInfo = ut.getCellInfo(cell),\n downRowIndex = cellInfo.rowIndex + cellInfo.rowSpan;\n if (downRowIndex >= ut.rowsNum) return -1; // 如果处于最下边则不能向下合并\n\n var downCellInfo = ut.indexTable[downRowIndex][cellInfo.colIndex],\n downCell = table.rows[downCellInfo.rowIndex].cells[downCellInfo.cellIndex];\n if (!downCell || cell.tagName != downCell.tagName) return -1; // TH和TD不能相互合并\n\n // 当且仅当两个Cell的开始列号和结束列号一致时能进行合并\n return (downCellInfo.colIndex == cellInfo.colIndex && downCellInfo.colSpan == cellInfo.colSpan) ? 0 : -1;\n },\n execCommand: function () {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell);\n ut.mergeDown(cell);\n rng.moveToBookmark(bk).select();\n }\n };\n UE.commands[\"mergecells\"] = {\n queryCommandState: function () {\n return getUETableBySelected(this) ? 0 : -1;\n },\n execCommand: function () {\n var ut = getUETableBySelected(this);\n if (ut && ut.selectedTds.length) {\n var cell = ut.selectedTds[0];\n ut.mergeRange();\n var rng = this.selection.getRange();\n if (domUtils.isEmptyBlock(cell)) {\n rng.setStart(cell, 0).collapse(true)\n } else {\n rng.selectNodeContents(cell)\n }\n rng.select();\n }\n\n\n }\n };\n UE.commands[\"insertrow\"] = {\n queryCommandState: function () {\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell;\n return cell && (cell.tagName == \"TD\" || (cell.tagName == 'TH' && tableItems.tr !== tableItems.table.rows[0])) &&\n getUETable(tableItems.table).rowsNum < this.options.maxRowNum ? 0 : -1;\n },\n execCommand: function () {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell,\n table = tableItems.table,\n ut = getUETable(table),\n cellInfo = ut.getCellInfo(cell);\n //ut.insertRow(!ut.selectedTds.length ? cellInfo.rowIndex:ut.cellsRange.beginRowIndex,'');\n if (!ut.selectedTds.length) {\n ut.insertRow(cellInfo.rowIndex, cell);\n } else {\n var range = ut.cellsRange;\n for (var i = 0, len = range.endRowIndex - range.beginRowIndex + 1; i < len; i++) {\n ut.insertRow(range.beginRowIndex, cell);\n }\n }\n rng.moveToBookmark(bk).select();\n if (table.getAttribute(\"interlaced\") === \"enabled\")this.fireEvent(\"interlacetable\", table);\n }\n };\n //后插入行\n UE.commands[\"insertrownext\"] = {\n queryCommandState: function () {\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell;\n return cell && (cell.tagName == \"TD\") && getUETable(tableItems.table).rowsNum < this.options.maxRowNum ? 0 : -1;\n },\n execCommand: function () {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell,\n table = tableItems.table,\n ut = getUETable(table),\n cellInfo = ut.getCellInfo(cell);\n //ut.insertRow(!ut.selectedTds.length? cellInfo.rowIndex + cellInfo.rowSpan : ut.cellsRange.endRowIndex + 1,'');\n if (!ut.selectedTds.length) {\n ut.insertRow(cellInfo.rowIndex + cellInfo.rowSpan, cell);\n } else {\n var range = ut.cellsRange;\n for (var i = 0, len = range.endRowIndex - range.beginRowIndex + 1; i < len; i++) {\n ut.insertRow(range.endRowIndex + 1, cell);\n }\n }\n rng.moveToBookmark(bk).select();\n if (table.getAttribute(\"interlaced\") === \"enabled\")this.fireEvent(\"interlacetable\", table);\n }\n };\n UE.commands[\"deleterow\"] = {\n queryCommandState: function () {\n var tableItems = getTableItemsByRange(this);\n return tableItems.cell ? 0 : -1;\n },\n execCommand: function () {\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell),\n cellsRange = ut.cellsRange,\n cellInfo = ut.getCellInfo(cell),\n preCell = ut.getVSideCell(cell),\n nextCell = ut.getVSideCell(cell, true),\n rng = this.selection.getRange();\n if (utils.isEmptyObject(cellsRange)) {\n ut.deleteRow(cellInfo.rowIndex);\n } else {\n for (var i = cellsRange.beginRowIndex; i < cellsRange.endRowIndex + 1; i++) {\n ut.deleteRow(cellsRange.beginRowIndex);\n }\n }\n var table = ut.table;\n if (!table.getElementsByTagName('td').length) {\n var nextSibling = table.nextSibling;\n domUtils.remove(table);\n if (nextSibling) {\n rng.setStart(nextSibling, 0).setCursor(false, true);\n }\n } else {\n if (cellInfo.rowSpan == 1 || cellInfo.rowSpan == cellsRange.endRowIndex - cellsRange.beginRowIndex + 1) {\n if (nextCell || preCell) rng.selectNodeContents(nextCell || preCell).setCursor(false, true);\n } else {\n var newCell = ut.getCell(cellInfo.rowIndex, ut.indexTable[cellInfo.rowIndex][cellInfo.colIndex].cellIndex);\n if (newCell) rng.selectNodeContents(newCell).setCursor(false, true);\n }\n }\n if (table.getAttribute(\"interlaced\") === \"enabled\")this.fireEvent(\"interlacetable\", table);\n }\n };\n UE.commands[\"insertcol\"] = {\n queryCommandState: function (cmd) {\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell;\n return cell && (cell.tagName == \"TD\" || (cell.tagName == 'TH' && cell !== tableItems.tr.cells[0])) &&\n getUETable(tableItems.table).colsNum < this.options.maxColNum ? 0 : -1;\n },\n execCommand: function (cmd) {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n if (this.queryCommandState(cmd) == -1)return;\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell),\n cellInfo = ut.getCellInfo(cell);\n\n //ut.insertCol(!ut.selectedTds.length ? cellInfo.colIndex:ut.cellsRange.beginColIndex);\n if (!ut.selectedTds.length) {\n ut.insertCol(cellInfo.colIndex, cell);\n } else {\n var range = ut.cellsRange;\n for (var i = 0, len = range.endColIndex - range.beginColIndex + 1; i < len; i++) {\n ut.insertCol(range.beginColIndex, cell);\n }\n }\n rng.moveToBookmark(bk).select(true);\n }\n };\n UE.commands[\"insertcolnext\"] = {\n queryCommandState: function () {\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell;\n return cell && getUETable(tableItems.table).colsNum < this.options.maxColNum ? 0 : -1;\n },\n execCommand: function () {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell),\n cellInfo = ut.getCellInfo(cell);\n //ut.insertCol(!ut.selectedTds.length ? cellInfo.colIndex + cellInfo.colSpan:ut.cellsRange.endColIndex +1);\n if (!ut.selectedTds.length) {\n ut.insertCol(cellInfo.colIndex + cellInfo.colSpan, cell);\n } else {\n var range = ut.cellsRange;\n for (var i = 0, len = range.endColIndex - range.beginColIndex + 1; i < len; i++) {\n ut.insertCol(range.endColIndex + 1, cell);\n }\n }\n rng.moveToBookmark(bk).select();\n }\n };\n\n UE.commands[\"deletecol\"] = {\n queryCommandState: function () {\n var tableItems = getTableItemsByRange(this);\n return tableItems.cell ? 0 : -1;\n },\n execCommand: function () {\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell),\n range = ut.cellsRange,\n cellInfo = ut.getCellInfo(cell),\n preCell = ut.getHSideCell(cell),\n nextCell = ut.getHSideCell(cell, true);\n if (utils.isEmptyObject(range)) {\n ut.deleteCol(cellInfo.colIndex);\n } else {\n for (var i = range.beginColIndex; i < range.endColIndex + 1; i++) {\n ut.deleteCol(range.beginColIndex);\n }\n }\n var table = ut.table,\n rng = this.selection.getRange();\n\n if (!table.getElementsByTagName('td').length) {\n var nextSibling = table.nextSibling;\n domUtils.remove(table);\n if (nextSibling) {\n rng.setStart(nextSibling, 0).setCursor(false, true);\n }\n } else {\n if (domUtils.inDoc(cell, this.document)) {\n rng.setStart(cell, 0).setCursor(false, true);\n } else {\n if (nextCell && domUtils.inDoc(nextCell, this.document)) {\n rng.selectNodeContents(nextCell).setCursor(false, true);\n } else {\n if (preCell && domUtils.inDoc(preCell, this.document)) {\n rng.selectNodeContents(preCell).setCursor(true, true);\n }\n }\n }\n }\n }\n };\n UE.commands[\"splittocells\"] = {\n queryCommandState: function () {\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell;\n if (!cell) return -1;\n var ut = getUETable(tableItems.table);\n if (ut.selectedTds.length > 0) return -1;\n return cell && (cell.colSpan > 1 || cell.rowSpan > 1) ? 0 : -1;\n },\n execCommand: function () {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell);\n ut.splitToCells(cell);\n rng.moveToBookmark(bk).select();\n }\n };\n UE.commands[\"splittorows\"] = {\n queryCommandState: function () {\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell;\n if (!cell) return -1;\n var ut = getUETable(tableItems.table);\n if (ut.selectedTds.length > 0) return -1;\n return cell && cell.rowSpan > 1 ? 0 : -1;\n },\n execCommand: function () {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell);\n ut.splitToRows(cell);\n rng.moveToBookmark(bk).select();\n }\n };\n UE.commands[\"splittocols\"] = {\n queryCommandState: function () {\n var tableItems = getTableItemsByRange(this),\n cell = tableItems.cell;\n if (!cell) return -1;\n var ut = getUETable(tableItems.table);\n if (ut.selectedTds.length > 0) return -1;\n return cell && cell.colSpan > 1 ? 0 : -1;\n },\n execCommand: function () {\n var rng = this.selection.getRange(),\n bk = rng.createBookmark(true);\n var cell = getTableItemsByRange(this).cell,\n ut = getUETable(cell);\n ut.splitToCols(cell);\n rng.moveToBookmark(bk).select();\n\n }\n };\n\n UE.commands[\"adaptbytext\"] =\n UE.commands[\"adaptbywindow\"] = {\n queryCommandState: function () {\n return getTableItemsByRange(this).table ? 0 : -1\n },\n execCommand: function (cmd) {\n var tableItems = getTableItemsByRange(this),\n table = tableItems.table;\n if (table) {\n if (cmd == 'adaptbywindow') {\n resetTdWidth(table, this);\n } else {\n var cells = domUtils.getElementsByTagName(table, \"td th\");\n utils.each(cells, function (cell) {\n cell.removeAttribute(\"width\");\n });\n table.removeAttribute(\"width\");\n }\n }\n }\n };\n\n //平均分配各列\n UE.commands['averagedistributecol'] = {\n queryCommandState: function () {\n var ut = getUETableBySelected(this);\n if (!ut) return -1;\n return ut.isFullRow() || ut.isFullCol() ? 0 : -1;\n },\n execCommand: function (cmd) {\n var me = this,\n ut = getUETableBySelected(me);\n\n function getAverageWidth() {\n var tb = ut.table,\n averageWidth, sumWidth = 0, colsNum = 0,\n tbAttr = getDefaultValue(me, tb);\n\n if (ut.isFullRow()) {\n sumWidth = tb.offsetWidth;\n colsNum = ut.colsNum;\n } else {\n var begin = ut.cellsRange.beginColIndex,\n end = ut.cellsRange.endColIndex,\n node;\n for (var i = begin; i <= end;) {\n node = ut.selectedTds[i];\n sumWidth += node.offsetWidth;\n i += node.colSpan;\n colsNum += 1;\n }\n }\n averageWidth = Math.ceil(sumWidth / colsNum) - tbAttr.tdBorder * 2 - tbAttr.tdPadding * 2;\n return averageWidth;\n }\n\n function setAverageWidth(averageWidth) {\n utils.each(domUtils.getElementsByTagName(ut.table, \"th\"), function (node) {\n node.setAttribute(\"width\", \"\");\n });\n var cells = ut.isFullRow() ? domUtils.getElementsByTagName(ut.table, \"td\") : ut.selectedTds;\n\n utils.each(cells, function (node) {\n if (node.colSpan == 1) {\n node.setAttribute(\"width\", averageWidth);\n }\n });\n }\n\n if (ut && ut.selectedTds.length) {\n setAverageWidth(getAverageWidth());\n }\n }\n };\n //平均分配各行\n UE.commands['averagedistributerow'] = {\n queryCommandState: function () {\n var ut = getUETableBySelected(this);\n if (!ut) return -1;\n if (ut.selectedTds && /th/ig.test(ut.selectedTds[0].tagName)) return -1;\n return ut.isFullRow() || ut.isFullCol() ? 0 : -1;\n },\n execCommand: function (cmd) {\n var me = this,\n ut = getUETableBySelected(me);\n\n function getAverageHeight() {\n var averageHeight, rowNum, sumHeight = 0,\n tb = ut.table,\n tbAttr = getDefaultValue(me, tb),\n tdpadding = parseInt(domUtils.getComputedStyle(tb.getElementsByTagName('td')[0], \"padding-top\"));\n\n if (ut.isFullCol()) {\n var captionArr = domUtils.getElementsByTagName(tb, \"caption\"),\n thArr = domUtils.getElementsByTagName(tb, \"th\"),\n captionHeight, thHeight;\n\n if (captionArr.length > 0) {\n captionHeight = captionArr[0].offsetHeight;\n }\n if (thArr.length > 0) {\n thHeight = thArr[0].offsetHeight;\n }\n\n sumHeight = tb.offsetHeight - (captionHeight || 0) - (thHeight || 0);\n rowNum = thArr.length == 0 ? ut.rowsNum : (ut.rowsNum - 1);\n } else {\n var begin = ut.cellsRange.beginRowIndex,\n end = ut.cellsRange.endRowIndex,\n count = 0,\n trs = domUtils.getElementsByTagName(tb, \"tr\");\n for (var i = begin; i <= end; i++) {\n sumHeight += trs[i].offsetHeight;\n count += 1;\n }\n rowNum = count;\n }\n //ie8下是混杂模式\n if (browser.ie && browser.version < 9) {\n averageHeight = Math.ceil(sumHeight / rowNum);\n } else {\n averageHeight = Math.ceil(sumHeight / rowNum) - tbAttr.tdBorder * 2 - tdpadding * 2;\n }\n return averageHeight;\n }\n\n function setAverageHeight(averageHeight) {\n var cells = ut.isFullCol() ? domUtils.getElementsByTagName(ut.table, \"td\") : ut.selectedTds;\n utils.each(cells, function (node) {\n if (node.rowSpan == 1) {\n node.setAttribute(\"height\", averageHeight);\n }\n });\n }\n\n if (ut && ut.selectedTds.length) {\n setAverageHeight(getAverageHeight());\n }\n }\n };\n\n //单元格对齐方式\n UE.commands['cellalignment'] = {\n queryCommandState: function () {\n return getTableItemsByRange(this).table ? 0 : -1\n },\n execCommand: function (cmd, data) {\n var me = this,\n ut = getUETableBySelected(me);\n\n if (!ut) {\n var start = me.selection.getStart(),\n cell = start && domUtils.findParentByTagName(start, [\"td\", \"th\", \"caption\"], true);\n if (!/caption/ig.test(cell.tagName)) {\n domUtils.setAttributes(cell, data);\n } else {\n cell.style.textAlign = data.align;\n cell.style.verticalAlign = data.vAlign;\n }\n me.selection.getRange().setCursor(true);\n } else {\n utils.each(ut.selectedTds, function (cell) {\n domUtils.setAttributes(cell, data);\n });\n }\n },\n /**\n * 查询当前点击的单元格的对齐状态, 如果当前已经选择了多个单元格, 则会返回所有单元格经过统一协调过后的状态\n * @see UE.UETable.getTableCellAlignState\n */\n queryCommandValue: function (cmd) {\n\n var activeMenuCell = getTableItemsByRange( this).cell;\n\n if( !activeMenuCell ) {\n activeMenuCell = getSelectedArr(this)[0];\n }\n\n if (!activeMenuCell) {\n\n return null;\n\n } else {\n\n //获取同时选中的其他单元格\n var cells = UE.UETable.getUETable(activeMenuCell).selectedTds;\n\n !cells.length && ( cells = activeMenuCell );\n\n return UE.UETable.getTableCellAlignState(cells);\n\n }\n\n }\n };\n //表格对齐方式\n UE.commands['tablealignment'] = {\n queryCommandState: function () {\n if (browser.ie && browser.version < 8) {\n return -1;\n }\n return getTableItemsByRange(this).table ? 0 : -1\n },\n execCommand: function (cmd, value) {\n var me = this,\n start = me.selection.getStart(),\n table = start && domUtils.findParentByTagName(start, [\"table\"], true);\n\n if (table) {\n table.setAttribute(\"align\",value);\n }\n }\n };\n\n //表格属性\n UE.commands['edittable'] = {\n queryCommandState: function () {\n return getTableItemsByRange(this).table ? 0 : -1\n },\n execCommand: function (cmd, color) {\n var rng = this.selection.getRange(),\n table = domUtils.findParentByTagName(rng.startContainer, 'table');\n if (table) {\n var arr = domUtils.getElementsByTagName(table, \"td\").concat(\n domUtils.getElementsByTagName(table, \"th\"),\n domUtils.getElementsByTagName(table, \"caption\")\n );\n utils.each(arr, function (node) {\n node.style.borderColor = color;\n });\n }\n }\n };\n //单元格属性\n UE.commands['edittd'] = {\n queryCommandState: function () {\n return getTableItemsByRange(this).table ? 0 : -1\n },\n execCommand: function (cmd, bkColor) {\n var me = this,\n ut = getUETableBySelected(me);\n\n if (!ut) {\n var start = me.selection.getStart(),\n cell = start && domUtils.findParentByTagName(start, [\"td\", \"th\", \"caption\"], true);\n if (cell) {\n cell.style.backgroundColor = bkColor;\n }\n } else {\n utils.each(ut.selectedTds, function (cell) {\n cell.style.backgroundColor = bkColor;\n });\n }\n }\n };\n\n UE.commands[\"settablebackground\"] = {\n queryCommandState: function () {\n return getSelectedArr(this).length > 1 ? 0 : -1;\n },\n execCommand: function (cmd, value) {\n var cells, ut;\n cells = getSelectedArr(this);\n ut = getUETable(cells[0]);\n ut.setBackground(cells, value);\n }\n };\n\n UE.commands[\"cleartablebackground\"] = {\n queryCommandState: function () {\n var cells = getSelectedArr(this);\n if (!cells.length)return -1;\n for (var i = 0, cell; cell = cells[i++];) {\n if (cell.style.backgroundColor !== \"\") return 0;\n }\n return -1;\n },\n execCommand: function () {\n var cells = getSelectedArr(this),\n ut = getUETable(cells[0]);\n ut.removeBackground(cells);\n }\n };\n\n UE.commands[\"interlacetable\"] = UE.commands[\"uninterlacetable\"] = {\n queryCommandState: function (cmd) {\n var table = getTableItemsByRange(this).table;\n if (!table) return -1;\n var interlaced = table.getAttribute(\"interlaced\");\n if (cmd == \"interlacetable\") {\n //TODO 待定\n //是否需要待定,如果设置,则命令只能单次执行成功,但反射具备toggle效果;否则可以覆盖前次命令,但反射将不存在toggle效果\n return (interlaced === \"enabled\") ? -1 : 0;\n } else {\n return (!interlaced || interlaced === \"disabled\") ? -1 : 0;\n }\n },\n execCommand: function (cmd, classList) {\n var table = getTableItemsByRange(this).table;\n if (cmd == \"interlacetable\") {\n table.setAttribute(\"interlaced\", \"enabled\");\n this.fireEvent(\"interlacetable\", table, classList);\n } else {\n table.setAttribute(\"interlaced\", \"disabled\");\n this.fireEvent(\"uninterlacetable\", table);\n }\n }\n };\n UE.commands[\"setbordervisible\"] = {\n queryCommandState: function (cmd) {\n var table = getTableItemsByRange(this).table;\n if (!table) return -1;\n return 0;\n },\n execCommand: function () {\n var table = getTableItemsByRange(this).table;\n utils.each(domUtils.getElementsByTagName(table,'td'),function(td){\n td.style.borderWidth = '1px';\n td.style.borderStyle = 'solid';\n })\n }\n };\n function resetTdWidth(table, editor) {\n var tds = domUtils.getElementsByTagName(table,'td th');\n utils.each(tds, function (td) {\n td.removeAttribute(\"width\");\n });\n table.setAttribute('width', getTableWidth(editor, true, getDefaultValue(editor, table)));\n var tdsWidths = [];\n setTimeout(function () {\n utils.each(tds, function (td) {\n (td.colSpan == 1) && tdsWidths.push(td.offsetWidth)\n })\n utils.each(tds, function (td,i) {\n (td.colSpan == 1) && td.setAttribute(\"width\", tdsWidths[i] + \"\");\n })\n }, 0);\n }\n\n function getTableWidth(editor, needIEHack, defaultValue) {\n var body = editor.body;\n return body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (editor.options.offsetWidth || 0);\n }\n\n function getSelectedArr(editor) {\n var cell = getTableItemsByRange(editor).cell;\n if (cell) {\n var ut = getUETable(cell);\n return ut.selectedTds.length ? ut.selectedTds : [cell];\n } else {\n return [];\n }\n }\n})();\n\n\n// plugins/table.action.js\n/**\n * Created with JetBrains PhpStorm.\n * User: taoqili\n * Date: 12-10-12\n * Time: 上午10:05\n * To change this template use File | Settings | File Templates.\n */\nUE.plugins['table'] = function () {\n var me = this,\n tabTimer = null,\n //拖动计时器\n tableDragTimer = null,\n //双击计时器\n tableResizeTimer = null,\n //单元格最小宽度\n cellMinWidth = 5,\n isInResizeBuffer = false,\n //单元格边框大小\n cellBorderWidth = 5,\n //鼠标偏移距离\n offsetOfTableCell = 10,\n //记录在有限时间内的点击状态, 共有3个取值, 0, 1, 2。 0代表未初始化, 1代表单击了1次,2代表2次\n singleClickState = 0,\n userActionStatus = null,\n //双击允许的时间范围\n dblclickTime = 360,\n UT = UE.UETable,\n getUETable = function (tdOrTable) {\n return UT.getUETable(tdOrTable);\n },\n getUETableBySelected = function (editor) {\n return UT.getUETableBySelected(editor);\n },\n getDefaultValue = function (editor, table) {\n return UT.getDefaultValue(editor, table);\n },\n removeSelectedClass = function (cells) {\n return UT.removeSelectedClass(cells);\n };\n\n function showError(e) {\n// throw e;\n }\n me.ready(function(){\n var me = this;\n var orgGetText = me.selection.getText;\n me.selection.getText = function(){\n var table = getUETableBySelected(me);\n if(table){\n var str = '';\n utils.each(table.selectedTds,function(td){\n str += td[browser.ie?'innerText':'textContent'];\n })\n return str;\n }else{\n return orgGetText.call(me.selection)\n }\n\n }\n })\n\n //处理拖动及框选相关方法\n var startTd = null, //鼠标按下时的锚点td\n currentTd = null, //当前鼠标经过时的td\n onDrag = \"\", //指示当前拖动状态,其值可为\"\",\"h\",\"v\" ,分别表示未拖动状态,横向拖动状态,纵向拖动状态,用于鼠标移动过程中的判断\n onBorder = false, //检测鼠标按下时是否处在单元格边缘位置\n dragButton = null,\n dragOver = false,\n dragLine = null, //模拟的拖动线\n dragTd = null; //发生拖动的目标td\n\n var mousedown = false,\n //todo 判断混乱模式\n needIEHack = true;\n\n me.setOpt({\n 'maxColNum':20,\n 'maxRowNum':100,\n 'defaultCols':5,\n 'defaultRows':5,\n 'tdvalign':'top',\n 'cursorpath':me.options.UEDITOR_HOME_URL + \"themes/default/images/cursor_\",\n 'tableDragable':false,\n 'classList':[\"ue-table-interlace-color-single\",\"ue-table-interlace-color-double\"]\n });\n me.getUETable = getUETable;\n var commands = {\n 'deletetable':1,\n 'inserttable':1,\n 'cellvalign':1,\n 'insertcaption':1,\n 'deletecaption':1,\n 'inserttitle':1,\n 'deletetitle':1,\n \"mergeright\":1,\n \"mergedown\":1,\n \"mergecells\":1,\n \"insertrow\":1,\n \"insertrownext\":1,\n \"deleterow\":1,\n \"insertcol\":1,\n \"insertcolnext\":1,\n \"deletecol\":1,\n \"splittocells\":1,\n \"splittorows\":1,\n \"splittocols\":1,\n \"adaptbytext\":1,\n \"adaptbywindow\":1,\n \"adaptbycustomer\":1,\n \"insertparagraph\":1,\n \"insertparagraphbeforetable\":1,\n \"averagedistributecol\":1,\n \"averagedistributerow\":1\n };\n me.ready(function () {\n utils.cssRule('table',\n //选中的td上的样式\n '.selectTdClass{background-color:#edf5fa !important}' +\n 'table.noBorderTable td,table.noBorderTable th,table.noBorderTable caption{border:1px dashed #ddd !important}' +\n //插入的表格的默认样式\n 'table{margin-bottom:10px;border-collapse:collapse;display:table;}' +\n 'td,th{padding: 5px 10px;border: 1px solid #DDD;}' +\n 'caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}' +\n 'th{border-top:1px solid #BBB;background-color:#F7F7F7;}' +\n 'table tr.firstRow th{border-top-width:2px;}' +\n '.ue-table-interlace-color-single{ background-color: #fcfcfc; } .ue-table-interlace-color-double{ background-color: #f7faff; }' +\n 'td p{margin:0;padding:0;}', me.document);\n\n var tableCopyList, isFullCol, isFullRow;\n //注册del/backspace事件\n me.addListener('keydown', function (cmd, evt) {\n var me = this;\n var keyCode = evt.keyCode || evt.which;\n\n if (keyCode == 8) {\n\n var ut = getUETableBySelected(me);\n if (ut && ut.selectedTds.length) {\n\n if (ut.isFullCol()) {\n me.execCommand('deletecol')\n } else if (ut.isFullRow()) {\n me.execCommand('deleterow')\n } else {\n me.fireEvent('delcells');\n }\n domUtils.preventDefault(evt);\n }\n\n var caption = domUtils.findParentByTagName(me.selection.getStart(), 'caption', true),\n range = me.selection.getRange();\n if (range.collapsed && caption && isEmptyBlock(caption)) {\n me.fireEvent('saveScene');\n var table = caption.parentNode;\n domUtils.remove(caption);\n if (table) {\n range.setStart(table.rows[0].cells[0], 0).setCursor(false, true);\n }\n me.fireEvent('saveScene');\n }\n\n }\n\n if (keyCode == 46) {\n\n ut = getUETableBySelected(me);\n if (ut) {\n me.fireEvent('saveScene');\n for (var i = 0, ci; ci = ut.selectedTds[i++];) {\n domUtils.fillNode(me.document, ci)\n }\n me.fireEvent('saveScene');\n domUtils.preventDefault(evt);\n\n }\n\n }\n if (keyCode == 13) {\n\n var rng = me.selection.getRange(),\n caption = domUtils.findParentByTagName(rng.startContainer, 'caption', true);\n if (caption) {\n var table = domUtils.findParentByTagName(caption, 'table');\n if (!rng.collapsed) {\n\n rng.deleteContents();\n me.fireEvent('saveScene');\n } else {\n if (caption) {\n rng.setStart(table.rows[0].cells[0], 0).setCursor(false, true);\n }\n }\n domUtils.preventDefault(evt);\n return;\n }\n if (rng.collapsed) {\n var table = domUtils.findParentByTagName(rng.startContainer, 'table');\n if (table) {\n var cell = table.rows[0].cells[0],\n start = domUtils.findParentByTagName(me.selection.getStart(), ['td', 'th'], true),\n preNode = table.previousSibling;\n if (cell === start && (!preNode || preNode.nodeType == 1 && preNode.tagName == 'TABLE' ) && domUtils.isStartInblock(rng)) {\n var first = domUtils.findParent(me.selection.getStart(), function(n){return domUtils.isBlockElm(n)}, true);\n if(first && ( /t(h|d)/i.test(first.tagName) || first === start.firstChild )){\n me.execCommand('insertparagraphbeforetable');\n domUtils.preventDefault(evt);\n }\n\n }\n }\n }\n }\n\n if ((evt.ctrlKey || evt.metaKey) && evt.keyCode == '67') {\n tableCopyList = null;\n var ut = getUETableBySelected(me);\n if (ut) {\n var tds = ut.selectedTds;\n isFullCol = ut.isFullCol();\n isFullRow = ut.isFullRow();\n tableCopyList = [\n [ut.cloneCell(tds[0],null,true)]\n ];\n for (var i = 1, ci; ci = tds[i]; i++) {\n if (ci.parentNode !== tds[i - 1].parentNode) {\n tableCopyList.push([ut.cloneCell(ci,null,true)]);\n } else {\n tableCopyList[tableCopyList.length - 1].push(ut.cloneCell(ci,null,true));\n }\n\n }\n }\n }\n });\n me.addListener(\"tablehasdeleted\",function(){\n toggleDraggableState(this, false, \"\", null);\n if (dragButton)domUtils.remove(dragButton);\n });\n\n me.addListener('beforepaste', function (cmd, html) {\n var me = this;\n var rng = me.selection.getRange();\n if (domUtils.findParentByTagName(rng.startContainer, 'caption', true)) {\n var div = me.document.createElement(\"div\");\n div.innerHTML = html.html;\n //trace:3729\n html.html = div[browser.ie9below ? 'innerText' : 'textContent'];\n return;\n }\n var table = getUETableBySelected(me);\n if (tableCopyList) {\n me.fireEvent('saveScene');\n var rng = me.selection.getRange();\n var td = domUtils.findParentByTagName(rng.startContainer, ['td', 'th'], true), tmpNode, preNode;\n if (td) {\n var ut = getUETable(td);\n if (isFullRow) {\n var rowIndex = ut.getCellInfo(td).rowIndex;\n if (td.tagName == 'TH') {\n rowIndex++;\n }\n for (var i = 0, ci; ci = tableCopyList[i++];) {\n var tr = ut.insertRow(rowIndex++, \"td\");\n for (var j = 0, cj; cj = ci[j]; j++) {\n var cell = tr.cells[j];\n if (!cell) {\n cell = tr.insertCell(j)\n }\n cell.innerHTML = cj.innerHTML;\n cj.getAttribute('width') && cell.setAttribute('width', cj.getAttribute('width'));\n cj.getAttribute('vAlign') && cell.setAttribute('vAlign', cj.getAttribute('vAlign'));\n cj.getAttribute('align') && cell.setAttribute('align', cj.getAttribute('align'));\n cj.style.cssText && (cell.style.cssText = cj.style.cssText)\n }\n for (var j = 0, cj; cj = tr.cells[j]; j++) {\n if (!ci[j])\n break;\n cj.innerHTML = ci[j].innerHTML;\n ci[j].getAttribute('width') && cj.setAttribute('width', ci[j].getAttribute('width'));\n ci[j].getAttribute('vAlign') && cj.setAttribute('vAlign', ci[j].getAttribute('vAlign'));\n ci[j].getAttribute('align') && cj.setAttribute('align', ci[j].getAttribute('align'));\n ci[j].style.cssText && (cj.style.cssText = ci[j].style.cssText)\n }\n }\n } else {\n if (isFullCol) {\n cellInfo = ut.getCellInfo(td);\n var maxColNum = 0;\n for (var j = 0, ci = tableCopyList[0], cj; cj = ci[j++];) {\n maxColNum += cj.colSpan || 1;\n }\n me.__hasEnterExecCommand = true;\n for (i = 0; i < maxColNum; i++) {\n me.execCommand('insertcol');\n }\n me.__hasEnterExecCommand = false;\n td = ut.table.rows[0].cells[cellInfo.cellIndex];\n if (td.tagName == 'TH') {\n td = ut.table.rows[1].cells[cellInfo.cellIndex];\n }\n }\n for (var i = 0, ci; ci = tableCopyList[i++];) {\n tmpNode = td;\n for (var j = 0, cj; cj = ci[j++];) {\n if (td) {\n td.innerHTML = cj.innerHTML;\n //todo 定制处理\n cj.getAttribute('width') && td.setAttribute('width', cj.getAttribute('width'));\n cj.getAttribute('vAlign') && td.setAttribute('vAlign', cj.getAttribute('vAlign'));\n cj.getAttribute('align') && td.setAttribute('align', cj.getAttribute('align'));\n cj.style.cssText && (td.style.cssText = cj.style.cssText);\n preNode = td;\n td = td.nextSibling;\n } else {\n var cloneTd = cj.cloneNode(true);\n domUtils.removeAttributes(cloneTd, ['class', 'rowSpan', 'colSpan']);\n\n preNode.parentNode.appendChild(cloneTd)\n }\n }\n td = ut.getNextCell(tmpNode, true, true);\n if (!tableCopyList[i])\n break;\n if (!td) {\n var cellInfo = ut.getCellInfo(tmpNode);\n ut.table.insertRow(ut.table.rows.length);\n ut.update();\n td = ut.getVSideCell(tmpNode, true);\n }\n }\n }\n ut.update();\n } else {\n table = me.document.createElement('table');\n for (var i = 0, ci; ci = tableCopyList[i++];) {\n var tr = table.insertRow(table.rows.length);\n for (var j = 0, cj; cj = ci[j++];) {\n cloneTd = UT.cloneCell(cj,null,true);\n domUtils.removeAttributes(cloneTd, ['class']);\n tr.appendChild(cloneTd)\n }\n if (j == 2 && cloneTd.rowSpan > 1) {\n cloneTd.rowSpan = 1;\n }\n }\n\n var defaultValue = getDefaultValue(me),\n width = me.body.offsetWidth -\n (needIEHack ? parseInt(domUtils.getComputedStyle(me.body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (me.options.offsetWidth || 0);\n me.execCommand('insertHTML', '' + table.innerHTML.replace(/>\\s*<').replace(/\\bth\\b/gi, \"td\") + '
    ')\n }\n me.fireEvent('contentchange');\n me.fireEvent('saveScene');\n html.html = '';\n return true;\n } else {\n var div = me.document.createElement(\"div\"), tables;\n div.innerHTML = html.html;\n tables = div.getElementsByTagName(\"table\");\n if (domUtils.findParentByTagName(me.selection.getStart(), 'table')) {\n utils.each(tables, function (t) {\n domUtils.remove(t)\n });\n if (domUtils.findParentByTagName(me.selection.getStart(), 'caption', true)) {\n div.innerHTML = div[browser.ie ? 'innerText' : 'textContent'];\n }\n } else {\n utils.each(tables, function (table) {\n removeStyleSize(table, true);\n domUtils.removeAttributes(table, ['style', 'border']);\n utils.each(domUtils.getElementsByTagName(table, \"td\"), function (td) {\n if (isEmptyBlock(td)) {\n domUtils.fillNode(me.document, td);\n }\n removeStyleSize(td, true);\n// domUtils.removeAttributes(td, ['style'])\n });\n });\n }\n html.html = div.innerHTML;\n }\n });\n\n me.addListener('afterpaste', function () {\n utils.each(domUtils.getElementsByTagName(me.body, \"table\"), function (table) {\n if (table.offsetWidth > me.body.offsetWidth) {\n var defaultValue = getDefaultValue(me, table);\n table.style.width = me.body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(me.body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (me.options.offsetWidth || 0) + 'px'\n }\n })\n });\n me.addListener('blur', function () {\n tableCopyList = null;\n });\n var timer;\n me.addListener('keydown', function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n var rng = me.selection.getRange(),\n cell = domUtils.findParentByTagName(rng.startContainer, ['th', 'td'], true);\n if (cell) {\n var table = cell.parentNode.parentNode.parentNode;\n if (table.offsetWidth > table.getAttribute(\"width\")) {\n cell.style.wordBreak = \"break-all\";\n }\n }\n\n }, 100);\n });\n me.addListener(\"selectionchange\", function () {\n toggleDraggableState(me, false, \"\", null);\n });\n\n\n //内容变化时触发索引更新\n //todo 可否考虑标记检测,如果不涉及表格的变化就不进行索引重建和更新\n me.addListener(\"contentchange\", function () {\n var me = this;\n //尽可能排除一些不需要更新的状况\n hideDragLine(me);\n if (getUETableBySelected(me))return;\n var rng = me.selection.getRange();\n var start = rng.startContainer;\n start = domUtils.findParentByTagName(start, ['td', 'th'], true);\n utils.each(domUtils.getElementsByTagName(me.document, 'table'), function (table) {\n if (me.fireEvent(\"excludetable\", table) === true) return;\n table.ueTable = new UT(table);\n //trace:3742\n// utils.each(domUtils.getElementsByTagName(me.document, 'td'), function (td) {\n//\n// if (domUtils.isEmptyBlock(td) && td !== start) {\n// domUtils.fillNode(me.document, td);\n// if (browser.ie && browser.version == 6) {\n// td.innerHTML = ' '\n// }\n// }\n// });\n// utils.each(domUtils.getElementsByTagName(me.document, 'th'), function (th) {\n// if (domUtils.isEmptyBlock(th) && th !== start) {\n// domUtils.fillNode(me.document, th);\n// if (browser.ie && browser.version == 6) {\n// th.innerHTML = ' '\n// }\n// }\n// });\n table.onmouseover = function () {\n me.fireEvent('tablemouseover', table);\n };\n table.onmousemove = function () {\n me.fireEvent('tablemousemove', table);\n me.options.tableDragable && toggleDragButton(true, this, me);\n utils.defer(function(){\n me.fireEvent('contentchange',50)\n },true)\n };\n table.onmouseout = function () {\n me.fireEvent('tablemouseout', table);\n toggleDraggableState(me, false, \"\", null);\n hideDragLine(me);\n };\n table.onclick = function (evt) {\n evt = me.window.event || evt;\n var target = getParentTdOrTh(evt.target || evt.srcElement);\n if (!target)return;\n var ut = getUETable(target),\n table = ut.table,\n cellInfo = ut.getCellInfo(target),\n cellsRange,\n rng = me.selection.getRange();\n// if (\"topLeft\" == inPosition(table, mouseCoords(evt))) {\n// cellsRange = ut.getCellsRange(ut.table.rows[0].cells[0], ut.getLastCell());\n// ut.setSelected(cellsRange);\n// return;\n// }\n// if (\"bottomRight\" == inPosition(table, mouseCoords(evt))) {\n//\n// return;\n// }\n if (inTableSide(table, target, evt, true)) {\n var endTdCol = ut.getCell(ut.indexTable[ut.rowsNum - 1][cellInfo.colIndex].rowIndex, ut.indexTable[ut.rowsNum - 1][cellInfo.colIndex].cellIndex);\n if (evt.shiftKey && ut.selectedTds.length) {\n if (ut.selectedTds[0] !== endTdCol) {\n cellsRange = ut.getCellsRange(ut.selectedTds[0], endTdCol);\n ut.setSelected(cellsRange);\n } else {\n rng && rng.selectNodeContents(endTdCol).select();\n }\n } else {\n if (target !== endTdCol) {\n cellsRange = ut.getCellsRange(target, endTdCol);\n ut.setSelected(cellsRange);\n } else {\n rng && rng.selectNodeContents(endTdCol).select();\n }\n }\n return;\n }\n if (inTableSide(table, target, evt)) {\n var endTdRow = ut.getCell(ut.indexTable[cellInfo.rowIndex][ut.colsNum - 1].rowIndex, ut.indexTable[cellInfo.rowIndex][ut.colsNum - 1].cellIndex);\n if (evt.shiftKey && ut.selectedTds.length) {\n if (ut.selectedTds[0] !== endTdRow) {\n cellsRange = ut.getCellsRange(ut.selectedTds[0], endTdRow);\n ut.setSelected(cellsRange);\n } else {\n rng && rng.selectNodeContents(endTdRow).select();\n }\n } else {\n if (target !== endTdRow) {\n cellsRange = ut.getCellsRange(target, endTdRow);\n ut.setSelected(cellsRange);\n } else {\n rng && rng.selectNodeContents(endTdRow).select();\n }\n }\n }\n };\n });\n\n switchBorderColor(me, true);\n });\n\n domUtils.on(me.document, \"mousemove\", mouseMoveEvent);\n\n domUtils.on(me.document, \"mouseout\", function (evt) {\n var target = evt.target || evt.srcElement;\n if (target.tagName == \"TABLE\") {\n toggleDraggableState(me, false, \"\", null);\n }\n });\n /**\n * 表格隔行变色\n */\n me.addListener(\"interlacetable\",function(type,table,classList){\n if(!table) return;\n var me = this,\n rows = table.rows,\n len = rows.length,\n getClass = function(list,index,repeat){\n return list[index] ? list[index] : repeat ? list[index % list.length]: \"\";\n };\n for(var i = 0;i 1 ? currentRowIndex : ua.getCellInfo(cell).rowIndex;\n var nextCell = ua.getTabNextCell(cell, currentRowIndex);\n if (nextCell) {\n if (isEmptyBlock(nextCell)) {\n range.setStart(nextCell, 0).setCursor(false, true)\n } else {\n range.selectNodeContents(nextCell).select()\n }\n } else {\n me.fireEvent('saveScene');\n me.__hasEnterExecCommand = true;\n this.execCommand('insertrownext');\n me.__hasEnterExecCommand = false;\n range = this.selection.getRange();\n range.setStart(table.rows[table.rows.length - 1].cells[0], 0).setCursor();\n me.fireEvent('saveScene');\n }\n }\n return true;\n }\n\n });\n browser.ie && me.addListener('selectionchange', function () {\n toggleDraggableState(this, false, \"\", null);\n });\n me.addListener(\"keydown\", function (type, evt) {\n var me = this;\n //处理在表格的最后一个输入tab产生新的表格\n var keyCode = evt.keyCode || evt.which;\n if (keyCode == 8 || keyCode == 46) {\n return;\n }\n var notCtrlKey = !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey;\n notCtrlKey && removeSelectedClass(domUtils.getElementsByTagName(me.body, \"td\"));\n var ut = getUETableBySelected(me);\n if (!ut) return;\n notCtrlKey && ut.clearSelected();\n });\n\n me.addListener(\"beforegetcontent\", function () {\n switchBorderColor(this, false);\n browser.ie && utils.each(this.document.getElementsByTagName('caption'), function (ci) {\n if (domUtils.isEmptyNode(ci)) {\n ci.innerHTML = ' '\n }\n });\n });\n me.addListener(\"aftergetcontent\", function () {\n switchBorderColor(this, true);\n });\n me.addListener(\"getAllHtml\", function () {\n removeSelectedClass(me.document.getElementsByTagName(\"td\"));\n });\n //修正全屏状态下插入的表格宽度在非全屏状态下撑开编辑器的情况\n me.addListener(\"fullscreenchanged\", function (type, fullscreen) {\n if (!fullscreen) {\n var ratio = this.body.offsetWidth / document.body.offsetWidth,\n tables = domUtils.getElementsByTagName(this.body, \"table\");\n utils.each(tables, function (table) {\n if (table.offsetWidth < me.body.offsetWidth) return false;\n var tds = domUtils.getElementsByTagName(table, \"td\"),\n backWidths = [];\n utils.each(tds, function (td) {\n backWidths.push(td.offsetWidth);\n });\n for (var i = 0, td; td = tds[i]; i++) {\n td.setAttribute(\"width\", Math.floor(backWidths[i] * ratio));\n }\n table.setAttribute(\"width\", Math.floor(getTableWidth(me, needIEHack, getDefaultValue(me))))\n });\n }\n });\n\n //重写execCommand命令,用于处理框选时的处理\n var oldExecCommand = me.execCommand;\n me.execCommand = function (cmd, datatat) {\n\n var me = this,\n args = arguments;\n\n cmd = cmd.toLowerCase();\n var ut = getUETableBySelected(me), tds,\n range = new dom.Range(me.document),\n cmdFun = me.commands[cmd] || UE.commands[cmd],\n result;\n if (!cmdFun) return;\n if (ut && !commands[cmd] && !cmdFun.notNeedUndo && !me.__hasEnterExecCommand) {\n me.__hasEnterExecCommand = true;\n me.fireEvent(\"beforeexeccommand\", cmd);\n tds = ut.selectedTds;\n var lastState = -2, lastValue = -2, value, state;\n for (var i = 0, td; td = tds[i]; i++) {\n if (isEmptyBlock(td)) {\n range.setStart(td, 0).setCursor(false, true)\n } else {\n range.selectNode(td).select(true);\n }\n state = me.queryCommandState(cmd);\n value = me.queryCommandValue(cmd);\n if (state != -1) {\n if (lastState !== state || lastValue !== value) {\n me._ignoreContentChange = true;\n result = oldExecCommand.apply(me, arguments);\n me._ignoreContentChange = false;\n\n }\n lastState = me.queryCommandState(cmd);\n lastValue = me.queryCommandValue(cmd);\n if (domUtils.isEmptyBlock(td)) {\n domUtils.fillNode(me.document, td)\n }\n }\n }\n range.setStart(tds[0], 0).shrinkBoundary(true).setCursor(false, true);\n me.fireEvent('contentchange');\n me.fireEvent(\"afterexeccommand\", cmd);\n me.__hasEnterExecCommand = false;\n me._selectionChange();\n } else {\n result = oldExecCommand.apply(me, arguments);\n }\n return result;\n };\n\n\n });\n /**\n * 删除obj的宽高style,改成属性宽高\n * @param obj\n * @param replaceToProperty\n */\n function removeStyleSize(obj, replaceToProperty) {\n removeStyle(obj, \"width\", true);\n removeStyle(obj, \"height\", true);\n }\n\n function removeStyle(obj, styleName, replaceToProperty) {\n if (obj.style[styleName]) {\n replaceToProperty && obj.setAttribute(styleName, parseInt(obj.style[styleName], 10));\n obj.style[styleName] = \"\";\n }\n }\n\n function getParentTdOrTh(ele) {\n if (ele.tagName == \"TD\" || ele.tagName == \"TH\") return ele;\n var td;\n if (td = domUtils.findParentByTagName(ele, \"td\", true) || domUtils.findParentByTagName(ele, \"th\", true)) return td;\n return null;\n }\n\n function isEmptyBlock(node) {\n var reg = new RegExp(domUtils.fillChar, 'g');\n if (node[browser.ie ? 'innerText' : 'textContent'].replace(/^\\s*$/, '').replace(reg, '').length > 0) {\n return 0;\n }\n for (var n in dtd.$isNotEmpty) {\n if (node.getElementsByTagName(n).length) {\n return 0;\n }\n }\n return 1;\n }\n\n\n function mouseCoords(evt) {\n if (evt.pageX || evt.pageY) {\n return { x:evt.pageX, y:evt.pageY };\n }\n return {\n x:evt.clientX + me.document.body.scrollLeft - me.document.body.clientLeft,\n y:evt.clientY + me.document.body.scrollTop - me.document.body.clientTop\n };\n }\n\n function mouseMoveEvent(evt) {\n\n if( isEditorDisabled() ) {\n return;\n }\n\n try {\n\n //普通状态下鼠标移动\n var target = getParentTdOrTh(evt.target || evt.srcElement),\n pos;\n\n //区分用户的行为是拖动还是双击\n if( isInResizeBuffer ) {\n\n me.body.style.webkitUserSelect = 'none';\n\n if( Math.abs( userActionStatus.x - evt.clientX ) > offsetOfTableCell || Math.abs( userActionStatus.y - evt.clientY ) > offsetOfTableCell ) {\n clearTableDragTimer();\n isInResizeBuffer = false;\n singleClickState = 0;\n //drag action\n tableBorderDrag(evt);\n }\n }\n\n //修改单元格大小时的鼠标移动\n if (onDrag && dragTd) {\n singleClickState = 0;\n me.body.style.webkitUserSelect = 'none';\n me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges']();\n pos = mouseCoords(evt);\n toggleDraggableState(me, true, onDrag, pos, target);\n if (onDrag == \"h\") {\n dragLine.style.left = getPermissionX(dragTd, evt) + \"px\";\n } else if (onDrag == \"v\") {\n dragLine.style.top = getPermissionY(dragTd, evt) + \"px\";\n }\n return;\n }\n //当鼠标处于table上时,修改移动过程中的光标状态\n if (target) {\n //针对使用table作为容器的组件不触发拖拽效果\n if (me.fireEvent('excludetable', target) === true)\n return;\n pos = mouseCoords(evt);\n var state = getRelation(target, pos),\n table = domUtils.findParentByTagName(target, \"table\", true);\n\n if (inTableSide(table, target, evt, true)) {\n if (me.fireEvent(\"excludetable\", table) === true) return;\n me.body.style.cursor = \"url(\" + me.options.cursorpath + \"h.png),pointer\";\n } else if (inTableSide(table, target, evt)) {\n if (me.fireEvent(\"excludetable\", table) === true) return;\n me.body.style.cursor = \"url(\" + me.options.cursorpath + \"v.png),pointer\";\n } else {\n me.body.style.cursor = \"text\";\n var curCell = target;\n if (/\\d/.test(state)) {\n state = state.replace(/\\d/, '');\n target = getUETable(target).getPreviewCell(target, state == \"v\");\n }\n //位于第一行的顶部或者第一列的左边时不可拖动\n toggleDraggableState(me, target ? !!state : false, target ? state : '', pos, target);\n\n }\n } else {\n toggleDragButton(false, table, me);\n }\n\n } catch (e) {\n showError(e);\n }\n }\n\n var dragButtonTimer;\n\n function toggleDragButton(show, table, editor) {\n if (!show) {\n if (dragOver)return;\n dragButtonTimer = setTimeout(function () {\n !dragOver && dragButton && dragButton.parentNode && dragButton.parentNode.removeChild(dragButton);\n }, 2000);\n } else {\n createDragButton(table, editor);\n }\n }\n\n function createDragButton(table, editor) {\n var pos = domUtils.getXY(table),\n doc = table.ownerDocument;\n if (dragButton && dragButton.parentNode)return dragButton;\n dragButton = doc.createElement(\"div\");\n dragButton.contentEditable = false;\n dragButton.innerHTML = \"\";\n dragButton.style.cssText = \"width:15px;height:15px;background-image:url(\" + editor.options.UEDITOR_HOME_URL + \"dialogs/table/dragicon.png);position: absolute;cursor:move;top:\" + (pos.y - 15) + \"px;left:\" + (pos.x) + \"px;\";\n domUtils.unSelectable(dragButton);\n dragButton.onmouseover = function (evt) {\n dragOver = true;\n };\n dragButton.onmouseout = function (evt) {\n dragOver = false;\n };\n domUtils.on(dragButton, 'click', function (type, evt) {\n doClick(evt, this);\n });\n domUtils.on(dragButton, 'dblclick', function (type, evt) {\n doDblClick(evt);\n });\n domUtils.on(dragButton, 'dragstart', function (type, evt) {\n domUtils.preventDefault(evt);\n });\n var timer;\n\n function doClick(evt, button) {\n // 部分浏览器下需要清理\n clearTimeout(timer);\n timer = setTimeout(function () {\n editor.fireEvent(\"tableClicked\", table, button);\n }, 300);\n }\n\n function doDblClick(evt) {\n clearTimeout(timer);\n var ut = getUETable(table),\n start = table.rows[0].cells[0],\n end = ut.getLastCell(),\n range = ut.getCellsRange(start, end);\n editor.selection.getRange().setStart(start, 0).setCursor(false, true);\n ut.setSelected(range);\n }\n\n doc.body.appendChild(dragButton);\n }\n\n\n// function inPosition(table, pos) {\n// var tablePos = domUtils.getXY(table),\n// width = table.offsetWidth,\n// height = table.offsetHeight;\n// if (pos.x - tablePos.x < 5 && pos.y - tablePos.y < 5) {\n// return \"topLeft\";\n// } else if (tablePos.x + width - pos.x < 5 && tablePos.y + height - pos.y < 5) {\n// return \"bottomRight\";\n// }\n// }\n\n function inTableSide(table, cell, evt, top) {\n var pos = mouseCoords(evt),\n state = getRelation(cell, pos);\n\n if (top) {\n var caption = table.getElementsByTagName(\"caption\")[0],\n capHeight = caption ? caption.offsetHeight : 0;\n return (state == \"v1\") && ((pos.y - domUtils.getXY(table).y - capHeight) < 8);\n } else {\n return (state == \"h1\") && ((pos.x - domUtils.getXY(table).x) < 8);\n }\n }\n\n /**\n * 获取拖动时允许的X轴坐标\n * @param dragTd\n * @param evt\n */\n function getPermissionX(dragTd, evt) {\n var ut = getUETable(dragTd);\n if (ut) {\n var preTd = ut.getSameEndPosCells(dragTd, \"x\")[0],\n nextTd = ut.getSameStartPosXCells(dragTd)[0],\n mouseX = mouseCoords(evt).x,\n left = (preTd ? domUtils.getXY(preTd).x : domUtils.getXY(ut.table).x) + 20 ,\n right = nextTd ? domUtils.getXY(nextTd).x + nextTd.offsetWidth - 20 : (me.body.offsetWidth + 5 || parseInt(domUtils.getComputedStyle(me.body, \"width\"), 10));\n\n left += cellMinWidth;\n right -= cellMinWidth;\n\n return mouseX < left ? left : mouseX > right ? right : mouseX;\n }\n }\n\n /**\n * 获取拖动时允许的Y轴坐标\n */\n function getPermissionY(dragTd, evt) {\n try {\n var top = domUtils.getXY(dragTd).y,\n mousePosY = mouseCoords(evt).y;\n return mousePosY < top ? top : mousePosY;\n } catch (e) {\n showError(e);\n }\n }\n\n /**\n * 移动状态切换\n */\n function toggleDraggableState(editor, draggable, dir, mousePos, cell) {\n try {\n editor.body.style.cursor = dir == \"h\" ? \"col-resize\" : dir == \"v\" ? \"row-resize\" : \"text\";\n if (browser.ie) {\n if (dir && !mousedown && !getUETableBySelected(editor)) {\n getDragLine(editor, editor.document);\n showDragLineAt(dir, cell);\n } else {\n hideDragLine(editor)\n }\n }\n onBorder = draggable;\n } catch (e) {\n showError(e);\n }\n }\n\n /**\n * 获取与UETable相关的resize line\n * @param uetable UETable对象\n */\n function getResizeLineByUETable() {\n\n var lineId = '_UETableResizeLine',\n line = this.document.getElementById( lineId );\n\n if( !line ) {\n line = this.document.createElement(\"div\");\n line.id = lineId;\n line.contnetEditable = false;\n line.setAttribute(\"unselectable\", \"on\");\n\n var styles = {\n width: 2*cellBorderWidth + 1 + 'px',\n position: 'absolute',\n 'z-index': 100000,\n cursor: 'col-resize',\n background: 'red',\n display: 'none'\n };\n\n //切换状态\n line.onmouseout = function(){\n this.style.display = 'none';\n };\n\n utils.extend( line.style, styles );\n\n this.document.body.appendChild( line );\n\n }\n\n return line;\n\n }\n\n /**\n * 更新resize-line\n */\n function updateResizeLine( cell, uetable ) {\n\n var line = getResizeLineByUETable.call( this ),\n table = uetable.table,\n styles = {\n top: domUtils.getXY( table ).y + 'px',\n left: domUtils.getXY( cell).x + cell.offsetWidth - cellBorderWidth + 'px',\n display: 'block',\n height: table.offsetHeight + 'px'\n };\n\n utils.extend( line.style, styles );\n\n }\n\n /**\n * 显示resize-line\n */\n function showResizeLine( cell ) {\n\n var uetable = getUETable( cell );\n\n updateResizeLine.call( this, cell, uetable );\n\n }\n\n /**\n * 获取鼠标与当前单元格的相对位置\n * @param ele\n * @param mousePos\n */\n function getRelation(ele, mousePos) {\n var elePos = domUtils.getXY(ele);\n\n if( !elePos ) {\n return '';\n }\n\n if (elePos.x + ele.offsetWidth - mousePos.x < cellBorderWidth) {\n return \"h\";\n }\n if (mousePos.x - elePos.x < cellBorderWidth) {\n return 'h1'\n }\n if (elePos.y + ele.offsetHeight - mousePos.y < cellBorderWidth) {\n return \"v\";\n }\n if (mousePos.y - elePos.y < cellBorderWidth) {\n return 'v1'\n }\n return '';\n }\n\n function mouseDownEvent(type, evt) {\n\n if( isEditorDisabled() ) {\n return ;\n }\n\n userActionStatus = {\n x: evt.clientX,\n y: evt.clientY\n };\n\n //右键菜单单独处理\n if (evt.button == 2) {\n var ut = getUETableBySelected(me),\n flag = false;\n\n if (ut) {\n var td = getTargetTd(me, evt);\n utils.each(ut.selectedTds, function (ti) {\n if (ti === td) {\n flag = true;\n }\n });\n if (!flag) {\n removeSelectedClass(domUtils.getElementsByTagName(me.body, \"th td\"));\n ut.clearSelected()\n } else {\n td = ut.selectedTds[0];\n setTimeout(function () {\n me.selection.getRange().setStart(td, 0).setCursor(false, true);\n }, 0);\n\n }\n }\n } else {\n tableClickHander( evt );\n }\n\n }\n\n //清除表格的计时器\n function clearTableTimer() {\n tabTimer && clearTimeout( tabTimer );\n tabTimer = null;\n }\n\n //双击收缩\n function tableDbclickHandler(evt) {\n singleClickState = 0;\n evt = evt || me.window.event;\n var target = getParentTdOrTh(evt.target || evt.srcElement);\n if (target) {\n var h;\n if (h = getRelation(target, mouseCoords(evt))) {\n\n hideDragLine( me );\n\n if (h == 'h1') {\n h = 'h';\n if (inTableSide(domUtils.findParentByTagName(target, \"table\"), target, evt)) {\n me.execCommand('adaptbywindow');\n } else {\n target = getUETable(target).getPreviewCell(target);\n if (target) {\n var rng = me.selection.getRange();\n rng.selectNodeContents(target).setCursor(true, true)\n }\n }\n }\n if (h == 'h') {\n var ut = getUETable(target),\n table = ut.table,\n cells = getCellsByMoveBorder( target, table, true );\n\n cells = extractArray( cells, 'left' );\n\n ut.width = ut.offsetWidth;\n\n var oldWidth = [],\n newWidth = [];\n\n utils.each( cells, function( cell ){\n\n oldWidth.push( cell.offsetWidth );\n\n } );\n\n utils.each( cells, function( cell ){\n\n cell.removeAttribute(\"width\");\n\n } );\n\n window.setTimeout( function(){\n\n //是否允许改变\n var changeable = true;\n\n utils.each( cells, function( cell, index ){\n\n var width = cell.offsetWidth;\n\n if( width > oldWidth[index] ) {\n changeable = false;\n return false;\n }\n\n newWidth.push( width );\n\n } );\n\n var change = changeable ? newWidth : oldWidth;\n\n utils.each( cells, function( cell, index ){\n\n cell.width = change[index] - getTabcellSpace();\n\n } );\n\n\n }, 0 );\n\n// minWidth -= cellMinWidth;\n//\n// table.removeAttribute(\"width\");\n// utils.each(cells, function (cell) {\n// cell.style.width = \"\";\n// cell.width -= minWidth;\n// });\n\n }\n }\n }\n }\n\n function tableClickHander( evt ) {\n\n removeSelectedClass(domUtils.getElementsByTagName(me.body, \"td th\"));\n //trace:3113\n //选中单元格,点击table外部,不会清掉table上挂的ueTable,会引起getUETableBySelected方法返回值\n utils.each(me.document.getElementsByTagName('table'), function (t) {\n t.ueTable = null;\n });\n startTd = getTargetTd(me, evt);\n if( !startTd ) return;\n var table = domUtils.findParentByTagName(startTd, \"table\", true);\n ut = getUETable(table);\n ut && ut.clearSelected();\n\n //判断当前鼠标状态\n if (!onBorder) {\n me.document.body.style.webkitUserSelect = '';\n mousedown = true;\n me.addListener('mouseover', mouseOverEvent);\n } else {\n //边框上的动作处理\n borderActionHandler( evt );\n }\n\n\n }\n\n //处理表格边框上的动作, 这里做延时处理,避免两种动作互相影响\n function borderActionHandler( evt ) {\n\n if ( browser.ie ) {\n evt = reconstruct(evt );\n }\n\n clearTableDragTimer();\n\n //是否正在等待resize的缓冲中\n isInResizeBuffer = true;\n\n tableDragTimer = setTimeout(function(){\n tableBorderDrag( evt );\n }, dblclickTime);\n\n }\n\n function extractArray( originArr, key ) {\n\n var result = [],\n tmp = null;\n\n for( var i = 0, len = originArr.length; i 0 && singleClickState--;\n }, dblclickTime );\n\n if( singleClickState === 2 ) {\n\n singleClickState = 0;\n tableDbclickHandler(evt);\n return;\n\n }\n\n }\n\n if (evt.button == 2)return;\n var me = this;\n //清除表格上原生跨选问题\n var range = me.selection.getRange(),\n start = domUtils.findParentByTagName(range.startContainer, 'table', true),\n end = domUtils.findParentByTagName(range.endContainer, 'table', true);\n\n if (start || end) {\n if (start === end) {\n start = domUtils.findParentByTagName(range.startContainer, ['td', 'th', 'caption'], true);\n end = domUtils.findParentByTagName(range.endContainer, ['td', 'th', 'caption'], true);\n if (start !== end) {\n me.selection.clearRange()\n }\n } else {\n me.selection.clearRange()\n }\n }\n mousedown = false;\n me.document.body.style.webkitUserSelect = '';\n //拖拽状态下的mouseUP\n if ( onDrag && dragTd ) {\n\n me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges']();\n\n singleClickState = 0;\n dragLine = me.document.getElementById('ue_tableDragLine');\n\n // trace 3973\n if (dragLine) {\n var dragTdPos = domUtils.getXY(dragTd),\n dragLinePos = domUtils.getXY(dragLine);\n\n switch (onDrag) {\n case \"h\":\n changeColWidth(dragTd, dragLinePos.x - dragTdPos.x);\n break;\n case \"v\":\n changeRowHeight(dragTd, dragLinePos.y - dragTdPos.y - dragTd.offsetHeight);\n break;\n default:\n }\n onDrag = \"\";\n dragTd = null;\n\n hideDragLine(me);\n me.fireEvent('saveScene');\n return;\n }\n }\n //正常状态下的mouseup\n if (!startTd) {\n var target = domUtils.findParentByTagName(evt.target || evt.srcElement, \"td\", true);\n if (!target) target = domUtils.findParentByTagName(evt.target || evt.srcElement, \"th\", true);\n if (target && (target.tagName == \"TD\" || target.tagName == \"TH\")) {\n if (me.fireEvent(\"excludetable\", target) === true) return;\n range = new dom.Range(me.document);\n range.setStart(target, 0).setCursor(false, true);\n }\n } else {\n var ut = getUETable(startTd),\n cell = ut ? ut.selectedTds[0] : null;\n if (cell) {\n range = new dom.Range(me.document);\n if (domUtils.isEmptyBlock(cell)) {\n range.setStart(cell, 0).setCursor(false, true);\n } else {\n range.selectNodeContents(cell).shrinkBoundary().setCursor(false, true);\n }\n } else {\n range = me.selection.getRange().shrinkBoundary();\n if (!range.collapsed) {\n var start = domUtils.findParentByTagName(range.startContainer, ['td', 'th'], true),\n end = domUtils.findParentByTagName(range.endContainer, ['td', 'th'], true);\n //在table里边的不能清除\n if (start && !end || !start && end || start && end && start !== end) {\n range.setCursor(false, true);\n }\n }\n }\n startTd = null;\n me.removeListener('mouseover', mouseOverEvent);\n }\n me._selectionChange(250, evt);\n }\n\n function mouseOverEvent(type, evt) {\n\n if( isEditorDisabled() ) {\n return;\n }\n\n var me = this,\n tar = evt.target || evt.srcElement;\n currentTd = domUtils.findParentByTagName(tar, \"td\", true) || domUtils.findParentByTagName(tar, \"th\", true);\n //需要判断两个TD是否位于同一个表格内\n if (startTd && currentTd &&\n ((startTd.tagName == \"TD\" && currentTd.tagName == \"TD\") || (startTd.tagName == \"TH\" && currentTd.tagName == \"TH\")) &&\n domUtils.findParentByTagName(startTd, 'table') == domUtils.findParentByTagName(currentTd, 'table')) {\n var ut = getUETable(currentTd);\n if (startTd != currentTd) {\n me.document.body.style.webkitUserSelect = 'none';\n me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges']();\n var range = ut.getCellsRange(startTd, currentTd);\n ut.setSelected(range);\n } else {\n me.document.body.style.webkitUserSelect = '';\n ut.clearSelected();\n }\n\n }\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n }\n\n function setCellHeight(cell, height, backHeight) {\n var lineHight = parseInt(domUtils.getComputedStyle(cell, \"line-height\"), 10),\n tmpHeight = backHeight + height;\n height = tmpHeight < lineHight ? lineHight : tmpHeight;\n if (cell.style.height) cell.style.height = \"\";\n cell.rowSpan == 1 ? cell.setAttribute(\"height\", height) : (cell.removeAttribute && cell.removeAttribute(\"height\"));\n }\n\n function getWidth(cell) {\n if (!cell)return 0;\n return parseInt(domUtils.getComputedStyle(cell, \"width\"), 10);\n }\n\n function changeColWidth(cell, changeValue) {\n\n var ut = getUETable(cell);\n if (ut) {\n\n //根据当前移动的边框获取相关的单元格\n var table = ut.table,\n cells = getCellsByMoveBorder( cell, table );\n\n table.style.width = \"\";\n table.removeAttribute(\"width\");\n\n //修正改变量\n changeValue = correctChangeValue( changeValue, cell, cells );\n\n if (cell.nextSibling) {\n\n var i=0;\n\n utils.each( cells, function( cellGroup ){\n\n cellGroup.left.width = (+cellGroup.left.width)+changeValue;\n cellGroup.right && ( cellGroup.right.width = (+cellGroup.right.width)-changeValue );\n\n } );\n\n } else {\n\n utils.each( cells, function( cellGroup ){\n cellGroup.left.width -= -changeValue;\n } );\n\n }\n }\n\n }\n\n function isEditorDisabled() {\n return me.body.contentEditable === \"false\";\n }\n\n function changeRowHeight(td, changeValue) {\n if (Math.abs(changeValue) < 10) return;\n var ut = getUETable(td);\n if (ut) {\n var cells = ut.getSameEndPosCells(td, \"y\"),\n //备份需要连带变化的td的原始高度,否则后期无法获取正确的值\n backHeight = cells[0] ? cells[0].offsetHeight : 0;\n for (var i = 0, cell; cell = cells[i++];) {\n setCellHeight(cell, changeValue, backHeight);\n }\n }\n\n }\n\n /**\n * 获取调整单元格大小的相关单元格\n * @isContainMergeCell 返回的结果中是否包含发生合并后的单元格\n */\n function getCellsByMoveBorder( cell, table, isContainMergeCell ) {\n\n if( !table ) {\n table = domUtils.findParentByTagName( cell, 'table' );\n }\n\n if( !table ) {\n return null;\n }\n\n //获取到该单元格所在行的序列号\n var index = domUtils.getNodeIndex( cell ),\n temp = cell,\n rows = table.rows,\n colIndex = 0;\n\n while( temp ) {\n //获取到当前单元格在未发生单元格合并时的序列\n if( temp.nodeType === 1 ) {\n colIndex += (temp.colSpan || 1);\n }\n temp = temp.previousSibling;\n }\n\n temp = null;\n\n //记录想关的单元格\n var borderCells = [];\n\n utils.each(rows, function( tabRow ){\n\n var cells = tabRow.cells,\n currIndex = 0;\n\n utils.each( cells, function( tabCell ){\n\n currIndex += (tabCell.colSpan || 1);\n\n if( currIndex === colIndex ) {\n\n borderCells.push({\n left: tabCell,\n right: tabCell.nextSibling || null\n });\n\n return false;\n\n } else if( currIndex > colIndex ) {\n\n if( isContainMergeCell ) {\n borderCells.push({\n left: tabCell\n });\n }\n\n return false;\n }\n\n\n } );\n\n });\n\n return borderCells;\n\n }\n\n\n /**\n * 通过给定的单元格集合获取最小的单元格width\n */\n function getMinWidthByTableCells( cells ) {\n\n var minWidth = Number.MAX_VALUE;\n\n for( var i = 0, curCell; curCell = cells[ i ] ; i++ ) {\n\n minWidth = Math.min( minWidth, curCell.width || getTableCellWidth( curCell ) );\n\n }\n\n return minWidth;\n\n }\n\n function correctChangeValue( changeValue, relatedCell, cells ) {\n\n //为单元格的paading预留空间\n changeValue -= getTabcellSpace();\n\n if( changeValue < 0 ) {\n return 0;\n }\n\n changeValue -= getTableCellWidth( relatedCell );\n\n //确定方向\n var direction = changeValue < 0 ? 'left':'right';\n\n changeValue = Math.abs(changeValue);\n\n //只关心非最后一个单元格就可以\n utils.each( cells, function( cellGroup ){\n\n var curCell = cellGroup[direction];\n\n //为单元格保留最小空间\n if( curCell ) {\n changeValue = Math.min( changeValue, getTableCellWidth( curCell )-cellMinWidth );\n }\n\n\n } );\n\n\n //修正越界\n changeValue = changeValue < 0 ? 0 : changeValue;\n\n return direction === 'left' ? -changeValue : changeValue;\n\n }\n\n function getTableCellWidth( cell ) {\n\n var width = 0,\n //偏移纠正量\n offset = 0,\n width = cell.offsetWidth - getTabcellSpace();\n\n //最后一个节点纠正一下\n if( !cell.nextSibling ) {\n\n width -= getTableCellOffset( cell );\n\n }\n\n width = width < 0 ? 0 : width;\n\n try {\n cell.width = width;\n } catch(e) {\n }\n\n return width;\n\n }\n\n /**\n * 获取单元格所在表格的最末单元格的偏移量\n */\n function getTableCellOffset( cell ) {\n\n tab = domUtils.findParentByTagName( cell, \"table\", false);\n\n if( tab.offsetVal === undefined ) {\n\n var prev = cell.previousSibling;\n\n if( prev ) {\n\n //最后一个单元格和前一个单元格的width diff结果 如果恰好为一个border width, 则条件成立\n tab.offsetVal = cell.offsetWidth - prev.offsetWidth === UT.borderWidth ? UT.borderWidth : 0;\n\n } else {\n tab.offsetVal = 0;\n }\n\n }\n\n return tab.offsetVal;\n\n }\n\n function getTabcellSpace() {\n\n if( UT.tabcellSpace === undefined ) {\n\n var cell = null,\n tab = me.document.createElement(\"table\"),\n tbody = me.document.createElement(\"tbody\"),\n trow = me.document.createElement(\"tr\"),\n tabcell = me.document.createElement(\"td\"),\n mirror = null;\n\n tabcell.style.cssText = 'border: 0;';\n tabcell.width = 1;\n\n trow.appendChild( tabcell );\n trow.appendChild( mirror = tabcell.cloneNode( false ) );\n\n tbody.appendChild( trow );\n\n tab.appendChild( tbody );\n\n tab.style.cssText = \"visibility: hidden;\";\n\n me.body.appendChild( tab );\n\n UT.paddingSpace = tabcell.offsetWidth - 1;\n\n var tmpTabWidth = tab.offsetWidth;\n\n tabcell.style.cssText = '';\n mirror.style.cssText = '';\n\n UT.borderWidth = ( tab.offsetWidth - tmpTabWidth ) / 3;\n\n UT.tabcellSpace = UT.paddingSpace + UT.borderWidth;\n\n me.body.removeChild( tab );\n\n }\n\n getTabcellSpace = function(){ return UT.tabcellSpace; };\n\n return UT.tabcellSpace;\n\n }\n\n function getDragLine(editor, doc) {\n if (mousedown)return;\n dragLine = editor.document.createElement(\"div\");\n domUtils.setAttributes(dragLine, {\n id:\"ue_tableDragLine\",\n unselectable:'on',\n contenteditable:false,\n 'onresizestart':'return false',\n 'ondragstart':'return false',\n 'onselectstart':'return false',\n style:\"background-color:blue;position:absolute;padding:0;margin:0;background-image:none;border:0px none;opacity:0;filter:alpha(opacity=0)\"\n });\n editor.body.appendChild(dragLine);\n }\n\n function hideDragLine(editor) {\n if (mousedown)return;\n var line;\n while (line = editor.document.getElementById('ue_tableDragLine')) {\n domUtils.remove(line)\n }\n }\n\n /**\n * 依据state(v|h)在cell位置显示横线\n * @param state\n * @param cell\n */\n function showDragLineAt(state, cell) {\n if (!cell) return;\n var table = domUtils.findParentByTagName(cell, \"table\"),\n caption = table.getElementsByTagName('caption'),\n width = table.offsetWidth,\n height = table.offsetHeight - (caption.length > 0 ? caption[0].offsetHeight : 0),\n tablePos = domUtils.getXY(table),\n cellPos = domUtils.getXY(cell), css;\n switch (state) {\n case \"h\":\n css = 'height:' + height + 'px;top:' + (tablePos.y + (caption.length > 0 ? caption[0].offsetHeight : 0)) + 'px;left:' + (cellPos.x + cell.offsetWidth);\n dragLine.style.cssText = css + 'px;position: absolute;display:block;background-color:blue;width:1px;border:0; color:blue;opacity:.3;filter:alpha(opacity=30)';\n break;\n case \"v\":\n css = 'width:' + width + 'px;left:' + tablePos.x + 'px;top:' + (cellPos.y + cell.offsetHeight );\n //必须加上border:0和color:blue,否则低版ie不支持背景色显示\n dragLine.style.cssText = css + 'px;overflow:hidden;position: absolute;display:block;background-color:blue;height:1px;border:0;color:blue;opacity:.2;filter:alpha(opacity=20)';\n break;\n default:\n }\n }\n\n /**\n * 当表格边框颜色为白色时设置为虚线,true为添加虚线\n * @param editor\n * @param flag\n */\n function switchBorderColor(editor, flag) {\n var tableArr = domUtils.getElementsByTagName(editor.body, \"table\"), color;\n for (var i = 0, node; node = tableArr[i++];) {\n var td = domUtils.getElementsByTagName(node, \"td\");\n if (td[0]) {\n if (flag) {\n color = (td[0].style.borderColor).replace(/\\s/g, \"\");\n if (/(#ffffff)|(rgb\\(255,255,255\\))/ig.test(color))\n domUtils.addClass(node, \"noBorderTable\")\n } else {\n domUtils.removeClasses(node, \"noBorderTable\")\n }\n }\n\n }\n }\n\n function getTableWidth(editor, needIEHack, defaultValue) {\n var body = editor.body;\n return body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (editor.options.offsetWidth || 0);\n }\n\n /**\n * 获取当前拖动的单元格\n */\n function getTargetTd(editor, evt) {\n\n var target = domUtils.findParentByTagName(evt.target || evt.srcElement, [\"td\", \"th\"], true),\n dir = null;\n\n if( !target ) {\n return null;\n }\n\n dir = getRelation( target, mouseCoords( evt ) );\n\n //如果有前一个节点, 需要做一个修正, 否则可能会得到一个错误的td\n\n if( !target ) {\n return null;\n }\n\n if( dir === 'h1' && target.previousSibling ) {\n\n var position = domUtils.getXY( target),\n cellWidth = target.offsetWidth;\n\n if( Math.abs( position.x + cellWidth - evt.clientX ) > cellWidth / 3 ) {\n target = target.previousSibling;\n }\n\n } else if( dir === 'v1' && target.parentNode.previousSibling ) {\n\n var position = domUtils.getXY( target),\n cellHeight = target.offsetHeight;\n\n if( Math.abs( position.y + cellHeight - evt.clientY ) > cellHeight / 3 ) {\n target = target.parentNode.previousSibling.firstChild;\n }\n\n }\n\n\n //排除了非td内部以及用于代码高亮部分的td\n return target && !(editor.fireEvent(\"excludetable\", target) === true) ? target : null;\n }\n\n};\n\n\n// plugins/table.sort.js\n/**\n * Created with JetBrains PhpStorm.\n * User: Jinqn\n * Date: 13-10-12\n * Time: 上午10:20\n * To change this template use File | Settings | File Templates.\n */\n\nUE.UETable.prototype.sortTable = function (sortByCellIndex, compareFn) {\n var table = this.table,\n rows = table.rows,\n trArray = [],\n flag = rows[0].cells[0].tagName === \"TH\",\n lastRowIndex = 0;\n if(this.selectedTds.length){\n var range = this.cellsRange,\n len = range.endRowIndex + 1;\n for (var i = range.beginRowIndex; i < len; i++) {\n trArray[i] = rows[i];\n }\n trArray.splice(0,range.beginRowIndex);\n lastRowIndex = (range.endRowIndex +1) === this.rowsNum ? 0 : range.endRowIndex +1;\n }else{\n for (var i = 0,len = rows.length; i < len; i++) {\n trArray[i] = rows[i];\n }\n }\n\n var Fn = {\n 'reversecurrent': function(td1,td2){\n return 1;\n },\n 'orderbyasc': function(td1,td2){\n var value1 = td1.innerText||td1.textContent,\n value2 = td2.innerText||td2.textContent;\n return value1.localeCompare(value2);\n },\n 'reversebyasc': function(td1,td2){\n var value1 = td1.innerHTML,\n value2 = td2.innerHTML;\n return value2.localeCompare(value1);\n },\n 'orderbynum': function(td1,td2){\n var value1 = td1[browser.ie ? 'innerText':'textContent'].match(/\\d+/),\n value2 = td2[browser.ie ? 'innerText':'textContent'].match(/\\d+/);\n if(value1) value1 = +value1[0];\n if(value2) value2 = +value2[0];\n return (value1||0) - (value2||0);\n },\n 'reversebynum': function(td1,td2){\n var value1 = td1[browser.ie ? 'innerText':'textContent'].match(/\\d+/),\n value2 = td2[browser.ie ? 'innerText':'textContent'].match(/\\d+/);\n if(value1) value1 = +value1[0];\n if(value2) value2 = +value2[0];\n return (value2||0) - (value1||0);\n }\n };\n\n //对表格设置排序的标记data-sort-type\n table.setAttribute('data-sort-type', compareFn && typeof compareFn === \"string\" && Fn[compareFn] ? compareFn:'');\n\n //th不参与排序\n flag && trArray.splice(0, 1);\n trArray = utils.sort(trArray,function (tr1, tr2) {\n var result;\n if (compareFn && typeof compareFn === \"function\") {\n result = compareFn.call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);\n } else if (compareFn && typeof compareFn === \"number\") {\n result = 1;\n } else if (compareFn && typeof compareFn === \"string\" && Fn[compareFn]) {\n result = Fn[compareFn].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);\n } else {\n result = Fn['orderbyasc'].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);\n }\n return result;\n });\n var fragment = table.ownerDocument.createDocumentFragment();\n for (var j = 0, len = trArray.length; j < len; j++) {\n fragment.appendChild(trArray[j]);\n }\n var tbody = table.getElementsByTagName(\"tbody\")[0];\n if(!lastRowIndex){\n tbody.appendChild(fragment);\n }else{\n tbody.insertBefore(fragment,rows[lastRowIndex- range.endRowIndex + range.beginRowIndex - 1])\n }\n};\n\nUE.plugins['tablesort'] = function () {\n var me = this,\n UT = UE.UETable,\n getUETable = function (tdOrTable) {\n return UT.getUETable(tdOrTable);\n },\n getTableItemsByRange = function (editor) {\n return UT.getTableItemsByRange(editor);\n };\n\n\n me.ready(function () {\n //添加表格可排序的样式\n utils.cssRule('tablesort',\n 'table.sortEnabled tr.firstRow th,table.sortEnabled tr.firstRow td{padding-right:20px;background-repeat: no-repeat;background-position: center right;' +\n ' background-image:url(' + me.options.themePath + me.options.theme + '/images/sortable.png);}',\n me.document);\n\n //做单元格合并操作时,清除可排序标识\n me.addListener(\"afterexeccommand\", function (type, cmd) {\n if( cmd == 'mergeright' || cmd == 'mergedown' || cmd == 'mergecells') {\n this.execCommand('disablesort');\n }\n });\n });\n\n\n\n //表格排序\n UE.commands['sorttable'] = {\n queryCommandState: function () {\n var me = this,\n tableItems = getTableItemsByRange(me);\n if (!tableItems.cell) return -1;\n var table = tableItems.table,\n cells = table.getElementsByTagName(\"td\");\n for (var i = 0, cell; cell = cells[i++];) {\n if (cell.rowSpan != 1 || cell.colSpan != 1) return -1;\n }\n return 0;\n },\n execCommand: function (cmd, fn) {\n var me = this,\n range = me.selection.getRange(),\n bk = range.createBookmark(true),\n tableItems = getTableItemsByRange(me),\n cell = tableItems.cell,\n ut = getUETable(tableItems.table),\n cellInfo = ut.getCellInfo(cell);\n ut.sortTable(cellInfo.cellIndex, fn);\n range.moveToBookmark(bk);\n try{\n range.select();\n }catch(e){}\n }\n };\n\n //设置表格可排序,清除表格可排序\n UE.commands[\"enablesort\"] = UE.commands[\"disablesort\"] = {\n queryCommandState: function (cmd) {\n var table = getTableItemsByRange(this).table;\n if(table && cmd=='enablesort') {\n var cells = domUtils.getElementsByTagName(table, 'th td');\n for(var i = 0; i1 || cells[i].getAttribute('rowspan')>1) return -1;\n }\n }\n\n return !table ? -1: cmd=='enablesort' ^ table.getAttribute('data-sort')!='sortEnabled' ? -1:0;\n },\n execCommand: function (cmd) {\n var table = getTableItemsByRange(this).table;\n table.setAttribute(\"data-sort\", cmd == \"enablesort\" ? \"sortEnabled\" : \"sortDisabled\");\n cmd == \"enablesort\" ? domUtils.addClass(table,\"sortEnabled\"):domUtils.removeClasses(table,\"sortEnabled\");\n }\n };\n};\n\n\n// plugins/contextmenu.js\n///import core\n///commands 右键菜单\n///commandsName ContextMenu\n///commandsTitle 右键菜单\n/**\n * 右键菜单\n * @function\n * @name baidu.editor.plugins.contextmenu\n * @author zhanyi\n */\n\nUE.plugins['contextmenu'] = function () {\n var me = this;\n me.setOpt('enableContextMenu',true);\n if(me.getOpt('enableContextMenu') === false){\n return;\n }\n var lang = me.getLang( \"contextMenu\" ),\n menu,\n items = me.options.contextMenu || [\n {label:lang['selectall'], cmdName:'selectall'},\n {\n label:lang.cleardoc,\n cmdName:'cleardoc',\n exec:function () {\n if ( confirm( lang.confirmclear ) ) {\n this.execCommand( 'cleardoc' );\n }\n }\n },\n '-',\n {\n label:lang.unlink,\n cmdName:'unlink'\n },\n '-',\n {\n group:lang.paragraph,\n icon:'justifyjustify',\n subMenu:[\n {\n label:lang.justifyleft,\n cmdName:'justify',\n value:'left'\n },\n {\n label:lang.justifyright,\n cmdName:'justify',\n value:'right'\n },\n {\n label:lang.justifycenter,\n cmdName:'justify',\n value:'center'\n },\n {\n label:lang.justifyjustify,\n cmdName:'justify',\n value:'justify'\n }\n ]\n },\n '-',\n {\n group:lang.table,\n icon:'table',\n subMenu:[\n {\n label:lang.inserttable,\n cmdName:'inserttable'\n },\n {\n label:lang.deletetable,\n cmdName:'deletetable'\n },\n '-',\n {\n label:lang.deleterow,\n cmdName:'deleterow'\n },\n {\n label:lang.deletecol,\n cmdName:'deletecol'\n },\n {\n label:lang.insertcol,\n cmdName:'insertcol'\n },\n {\n label:lang.insertcolnext,\n cmdName:'insertcolnext'\n },\n {\n label:lang.insertrow,\n cmdName:'insertrow'\n },\n {\n label:lang.insertrownext,\n cmdName:'insertrownext'\n },\n '-',\n {\n label:lang.insertcaption,\n cmdName:'insertcaption'\n },\n {\n label:lang.deletecaption,\n cmdName:'deletecaption'\n },\n {\n label:lang.inserttitle,\n cmdName:'inserttitle'\n },\n {\n label:lang.deletetitle,\n cmdName:'deletetitle'\n },\n {\n label:lang.inserttitlecol,\n cmdName:'inserttitlecol'\n },\n {\n label:lang.deletetitlecol,\n cmdName:'deletetitlecol'\n },\n '-',\n {\n label:lang.mergecells,\n cmdName:'mergecells'\n },\n {\n label:lang.mergeright,\n cmdName:'mergeright'\n },\n {\n label:lang.mergedown,\n cmdName:'mergedown'\n },\n '-',\n {\n label:lang.splittorows,\n cmdName:'splittorows'\n },\n {\n label:lang.splittocols,\n cmdName:'splittocols'\n },\n {\n label:lang.splittocells,\n cmdName:'splittocells'\n },\n '-',\n {\n label:lang.averageDiseRow,\n cmdName:'averagedistributerow'\n },\n {\n label:lang.averageDisCol,\n cmdName:'averagedistributecol'\n },\n '-',\n {\n label:lang.edittd,\n cmdName:'edittd',\n exec:function () {\n if ( UE.ui['edittd'] ) {\n new UE.ui['edittd']( this );\n }\n this.getDialog('edittd').open();\n }\n },\n {\n label:lang.edittable,\n cmdName:'edittable',\n exec:function () {\n if ( UE.ui['edittable'] ) {\n new UE.ui['edittable']( this );\n }\n this.getDialog('edittable').open();\n }\n },\n {\n label:lang.setbordervisible,\n cmdName:'setbordervisible'\n }\n ]\n },\n {\n group:lang.tablesort,\n icon:'tablesort',\n subMenu:[\n {\n label:lang.enablesort,\n cmdName:'enablesort'\n },\n {\n label:lang.disablesort,\n cmdName:'disablesort'\n },\n '-',\n {\n label:lang.reversecurrent,\n cmdName:'sorttable',\n value:'reversecurrent'\n },\n {\n label:lang.orderbyasc,\n cmdName:'sorttable',\n value:'orderbyasc'\n },\n {\n label:lang.reversebyasc,\n cmdName:'sorttable',\n value:'reversebyasc'\n },\n {\n label:lang.orderbynum,\n cmdName:'sorttable',\n value:'orderbynum'\n },\n {\n label:lang.reversebynum,\n cmdName:'sorttable',\n value:'reversebynum'\n }\n ]\n },\n {\n group:lang.borderbk,\n icon:'borderBack',\n subMenu:[\n {\n label:lang.setcolor,\n cmdName:\"interlacetable\",\n exec:function(){\n this.execCommand(\"interlacetable\");\n }\n },\n {\n label:lang.unsetcolor,\n cmdName:\"uninterlacetable\",\n exec:function(){\n this.execCommand(\"uninterlacetable\");\n }\n },\n {\n label:lang.setbackground,\n cmdName:\"settablebackground\",\n exec:function(){\n this.execCommand(\"settablebackground\",{repeat:true,colorList:[\"#bbb\",\"#ccc\"]});\n }\n },\n {\n label:lang.unsetbackground,\n cmdName:\"cleartablebackground\",\n exec:function(){\n this.execCommand(\"cleartablebackground\");\n }\n },\n {\n label:lang.redandblue,\n cmdName:\"settablebackground\",\n exec:function(){\n this.execCommand(\"settablebackground\",{repeat:true,colorList:[\"red\",\"blue\"]});\n }\n },\n {\n label:lang.threecolorgradient,\n cmdName:\"settablebackground\",\n exec:function(){\n this.execCommand(\"settablebackground\",{repeat:true,colorList:[\"#aaa\",\"#bbb\",\"#ccc\"]});\n }\n }\n ]\n },\n {\n group:lang.aligntd,\n icon:'aligntd',\n subMenu:[\n {\n cmdName:'cellalignment',\n value:{align:'left',vAlign:'top'}\n },\n {\n cmdName:'cellalignment',\n value:{align:'center',vAlign:'top'}\n },\n {\n cmdName:'cellalignment',\n value:{align:'right',vAlign:'top'}\n },\n {\n cmdName:'cellalignment',\n value:{align:'left',vAlign:'middle'}\n },\n {\n cmdName:'cellalignment',\n value:{align:'center',vAlign:'middle'}\n },\n {\n cmdName:'cellalignment',\n value:{align:'right',vAlign:'middle'}\n },\n {\n cmdName:'cellalignment',\n value:{align:'left',vAlign:'bottom'}\n },\n {\n cmdName:'cellalignment',\n value:{align:'center',vAlign:'bottom'}\n },\n {\n cmdName:'cellalignment',\n value:{align:'right',vAlign:'bottom'}\n }\n ]\n },\n {\n group:lang.aligntable,\n icon:'aligntable',\n subMenu:[\n {\n cmdName:'tablealignment',\n className: 'left',\n label:lang.tableleft,\n value:\"left\"\n },\n {\n cmdName:'tablealignment',\n className: 'center',\n label:lang.tablecenter,\n value:\"center\"\n },\n {\n cmdName:'tablealignment',\n className: 'right',\n label:lang.tableright,\n value:\"right\"\n }\n ]\n },\n '-',\n {\n label:lang.insertparagraphbefore,\n cmdName:'insertparagraph',\n value:true\n },\n {\n label:lang.insertparagraphafter,\n cmdName:'insertparagraph'\n },\n {\n label:lang['copy'],\n cmdName:'copy'\n },\n {\n label:lang['paste'],\n cmdName:'paste'\n }\n ];\n if ( !items.length ) {\n return;\n }\n var uiUtils = UE.ui.uiUtils;\n\n me.addListener( 'contextmenu', function ( type, evt ) {\n\n var offset = uiUtils.getViewportOffsetByEvent( evt );\n me.fireEvent( 'beforeselectionchange' );\n if ( menu ) {\n menu.destroy();\n }\n for ( var i = 0, ti, contextItems = []; ti = items[i]; i++ ) {\n var last;\n (function ( item ) {\n if ( item == '-' ) {\n if ( (last = contextItems[contextItems.length - 1 ] ) && last !== '-' ) {\n contextItems.push( '-' );\n }\n } else if ( item.hasOwnProperty( \"group\" ) ) {\n for ( var j = 0, cj, subMenu = []; cj = item.subMenu[j]; j++ ) {\n (function ( subItem ) {\n if ( subItem == '-' ) {\n if ( (last = subMenu[subMenu.length - 1 ] ) && last !== '-' ) {\n subMenu.push( '-' );\n }else{\n subMenu.splice(subMenu.length-1);\n }\n } else {\n if ( (me.commands[subItem.cmdName] || UE.commands[subItem.cmdName] || subItem.query) &&\n (subItem.query ? subItem.query() : me.queryCommandState( subItem.cmdName )) > -1 ) {\n subMenu.push( {\n 'label':subItem.label || me.getLang( \"contextMenu.\" + subItem.cmdName + (subItem.value || '') )||\"\",\n 'className':'edui-for-' +subItem.cmdName + ( subItem.className ? ( ' edui-for-' + subItem.cmdName + '-' + subItem.className ) : '' ),\n onclick:subItem.exec ? function () {\n subItem.exec.call( me );\n } : function () {\n me.execCommand( subItem.cmdName, subItem.value );\n }\n } );\n }\n }\n })( cj );\n }\n if ( subMenu.length ) {\n function getLabel(){\n switch (item.icon){\n case \"table\":\n return me.getLang( \"contextMenu.table\" );\n case \"justifyjustify\":\n return me.getLang( \"contextMenu.paragraph\" );\n case \"aligntd\":\n return me.getLang(\"contextMenu.aligntd\");\n case \"aligntable\":\n return me.getLang(\"contextMenu.aligntable\");\n case \"tablesort\":\n return lang.tablesort;\n case \"borderBack\":\n return lang.borderbk;\n default :\n return '';\n }\n }\n contextItems.push( {\n //todo 修正成自动获取方式\n 'label':getLabel(),\n className:'edui-for-' + item.icon,\n 'subMenu':{\n items:subMenu,\n editor:me\n }\n } );\n }\n\n } else {\n //有可能commmand没有加载右键不能出来,或者没有command也想能展示出来添加query方法\n if ( (me.commands[item.cmdName] || UE.commands[item.cmdName] || item.query) &&\n (item.query ? item.query.call(me) : me.queryCommandState( item.cmdName )) > -1 ) {\n\n contextItems.push( {\n 'label':item.label || me.getLang( \"contextMenu.\" + item.cmdName ),\n className:'edui-for-' + (item.icon ? item.icon : item.cmdName + (item.value || '')),\n onclick:item.exec ? function () {\n item.exec.call( me );\n } : function () {\n me.execCommand( item.cmdName, item.value );\n }\n } );\n }\n\n }\n\n })( ti );\n }\n if ( contextItems[contextItems.length - 1] == '-' ) {\n contextItems.pop();\n }\n\n menu = new UE.ui.Menu( {\n items:contextItems,\n className:\"edui-contextmenu\",\n editor:me\n } );\n menu.render();\n menu.showAt( offset );\n\n me.fireEvent(\"aftershowcontextmenu\",menu);\n\n domUtils.preventDefault( evt );\n if ( browser.ie ) {\n var ieRange;\n try {\n ieRange = me.selection.getNative().createRange();\n } catch ( e ) {\n return;\n }\n if ( ieRange.item ) {\n var range = new dom.Range( me.document );\n range.selectNode( ieRange.item( 0 ) ).select( true, true );\n }\n }\n });\n\n // 添加复制的flash按钮\n me.addListener('aftershowcontextmenu', function(type, menu) {\n if (me.zeroclipboard) {\n var items = menu.items;\n for (var key in items) {\n if (items[key].className == 'edui-for-copy') {\n me.zeroclipboard.clip(items[key].getDom());\n }\n }\n }\n });\n\n};\n\n\n// plugins/shortcutmenu.js\n///import core\n///commands 弹出菜单\n// commandsName popupmenu\n///commandsTitle 弹出菜单\n/**\n * 弹出菜单\n * @function\n * @name baidu.editor.plugins.popupmenu\n * @author xuheng\n */\n\nUE.plugins['shortcutmenu'] = function () {\n var me = this,\n menu,\n items = me.options.shortcutMenu || [];\n\n if (!items.length) {\n return;\n }\n\n me.addListener ('contextmenu mouseup' , function (type , e) {\n var me = this,\n customEvt = {\n type : type ,\n target : e.target || e.srcElement ,\n screenX : e.screenX ,\n screenY : e.screenY ,\n clientX : e.clientX ,\n clientY : e.clientY\n };\n\n setTimeout (function () {\n var rng = me.selection.getRange ();\n if (rng.collapsed === false || type == \"contextmenu\") {\n\n if (!menu) {\n menu = new baidu.editor.ui.ShortCutMenu ({\n editor : me ,\n items : items ,\n theme : me.options.theme ,\n className : 'edui-shortcutmenu'\n });\n\n menu.render ();\n me.fireEvent (\"afterrendershortcutmenu\" , menu);\n }\n\n menu.show (customEvt , !!UE.plugins['contextmenu']);\n }\n });\n\n if (type == 'contextmenu') {\n domUtils.preventDefault (e);\n if (browser.ie9below) {\n var ieRange;\n try {\n ieRange = me.selection.getNative().createRange();\n } catch (e) {\n return;\n }\n if (ieRange.item) {\n var range = new dom.Range (me.document);\n range.selectNode (ieRange.item (0)).select (true , true);\n\n }\n }\n }\n });\n\n me.addListener ('keydown' , function (type) {\n if (type == \"keydown\") {\n menu && !menu.isHidden && menu.hide ();\n }\n\n });\n\n};\n\n\n\n\n// plugins/basestyle.js\n/**\n * B、I、sub、super命令支持\n * @file\n * @since 1.2.6.1\n */\n\nUE.plugins['basestyle'] = function(){\n\n /**\n * 字体加粗\n * @command bold\n * @param { String } cmd 命令字符串\n * @remind 对已加粗的文本内容执行该命令, 将取消加粗\n * @method execCommand\n * @example\n * ```javascript\n * //editor是编辑器实例\n * //对当前选中的文本内容执行加粗操作\n * //第一次执行, 文本内容加粗\n * editor.execCommand( 'bold' );\n *\n * //第二次执行, 文本内容取消加粗\n * editor.execCommand( 'bold' );\n * ```\n */\n\n\n /**\n * 字体倾斜\n * @command italic\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @remind 对已倾斜的文本内容执行该命令, 将取消倾斜\n * @example\n * ```javascript\n * //editor是编辑器实例\n * //对当前选中的文本内容执行斜体操作\n * //第一次操作, 文本内容将变成斜体\n * editor.execCommand( 'italic' );\n *\n * //再次对同一文本内容执行, 则文本内容将恢复正常\n * editor.execCommand( 'italic' );\n * ```\n */\n\n /**\n * 下标文本,与“superscript”命令互斥\n * @command subscript\n * @method execCommand\n * @remind 把选中的文本内容切换成下标文本, 如果当前选中的文本已经是下标, 则该操作会把文本内容还原成正常文本\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * //editor是编辑器实例\n * //对当前选中的文本内容执行下标操作\n * //第一次操作, 文本内容将变成下标文本\n * editor.execCommand( 'subscript' );\n *\n * //再次对同一文本内容执行, 则文本内容将恢复正常\n * editor.execCommand( 'subscript' );\n * ```\n */\n\n /**\n * 上标文本,与“subscript”命令互斥\n * @command superscript\n * @method execCommand\n * @remind 把选中的文本内容切换成上标文本, 如果当前选中的文本已经是上标, 则该操作会把文本内容还原成正常文本\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * //editor是编辑器实例\n * //对当前选中的文本内容执行上标操作\n * //第一次操作, 文本内容将变成上标文本\n * editor.execCommand( 'superscript' );\n *\n * //再次对同一文本内容执行, 则文本内容将恢复正常\n * editor.execCommand( 'superscript' );\n * ```\n */\n var basestyles = {\n 'bold':['strong','b'],\n 'italic':['em','i'],\n 'subscript':['sub'],\n 'superscript':['sup']\n },\n getObj = function(editor,tagNames){\n return domUtils.filterNodeList(editor.selection.getStartElementPath(),tagNames);\n },\n me = this;\n //添加快捷键\n me.addshortcutkey({\n \"Bold\" : \"ctrl+66\",//^B\n \"Italic\" : \"ctrl+73\", //^I\n \"Underline\" : \"ctrl+85\"//^U\n });\n me.addInputRule(function(root){\n utils.each(root.getNodesByTagName('b i'),function(node){\n switch (node.tagName){\n case 'b':\n node.tagName = 'strong';\n break;\n case 'i':\n node.tagName = 'em';\n }\n });\n });\n for ( var style in basestyles ) {\n (function( cmd, tagNames ) {\n me.commands[cmd] = {\n execCommand : function( cmdName ) {\n var range = me.selection.getRange(),obj = getObj(this,tagNames);\n if ( range.collapsed ) {\n if ( obj ) {\n var tmpText = me.document.createTextNode('');\n range.insertNode( tmpText ).removeInlineStyle( tagNames );\n range.setStartBefore(tmpText);\n domUtils.remove(tmpText);\n } else {\n var tmpNode = range.document.createElement( tagNames[0] );\n if(cmdName == 'superscript' || cmdName == 'subscript'){\n tmpText = me.document.createTextNode('');\n range.insertNode(tmpText)\n .removeInlineStyle(['sub','sup'])\n .setStartBefore(tmpText)\n .collapse(true);\n }\n range.insertNode( tmpNode ).setStart( tmpNode, 0 );\n }\n range.collapse( true );\n } else {\n if(cmdName == 'superscript' || cmdName == 'subscript'){\n if(!obj || obj.tagName.toLowerCase() != cmdName){\n range.removeInlineStyle(['sub','sup']);\n }\n }\n obj ? range.removeInlineStyle( tagNames ) : range.applyInlineStyle( tagNames[0] );\n }\n range.select();\n },\n queryCommandState : function() {\n return getObj(this,tagNames) ? 1 : 0;\n }\n };\n })( style, basestyles[style] );\n }\n};\n\n\n\n// plugins/elementpath.js\n/**\n * 选取路径命令\n * @file\n */\nUE.plugins['elementpath'] = function(){\n var currentLevel,\n tagNames,\n me = this;\n me.setOpt('elementPathEnabled',true);\n if(!me.options.elementPathEnabled){\n return;\n }\n me.commands['elementpath'] = {\n execCommand : function( cmdName, level ) {\n var start = tagNames[level],\n range = me.selection.getRange();\n currentLevel = level*1;\n range.selectNode(start).select();\n },\n queryCommandValue : function() {\n //产生一个副本,不能修改原来的startElementPath;\n var parents = [].concat(this.selection.getStartElementPath()).reverse(),\n names = [];\n tagNames = parents;\n for(var i=0,ci;ci=parents[i];i++){\n if(ci.nodeType == 3) {\n continue;\n }\n var name = ci.tagName.toLowerCase();\n if(name == 'img' && ci.getAttribute('anchorname')){\n name = 'anchor';\n }\n names[i] = name;\n if(currentLevel == i){\n currentLevel = -1;\n break;\n }\n }\n return names;\n }\n };\n};\n\n\n\n// plugins/formatmatch.js\n/**\n * 格式刷,只格式inline的\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 格式刷\n * @command formatmatch\n * @method execCommand\n * @remind 该操作不能复制段落格式\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * //editor是编辑器实例\n * //获取格式刷\n * editor.execCommand( 'formatmatch' );\n * ```\n */\nUE.plugins['formatmatch'] = function(){\n\n var me = this,\n list = [],img,\n flag = 0;\n\n me.addListener('reset',function(){\n list = [];\n flag = 0;\n });\n\n function addList(type,evt){\n\n if(browser.webkit){\n var target = evt.target.tagName == 'IMG' ? evt.target : null;\n }\n\n function addFormat(range){\n\n if(text){\n range.selectNode(text);\n }\n return range.applyInlineStyle(list[list.length-1].tagName,null,list);\n\n }\n\n me.undoManger && me.undoManger.save();\n\n var range = me.selection.getRange(),\n imgT = target || range.getClosedNode();\n if(img && imgT && imgT.tagName == 'IMG'){\n //trace:964\n\n imgT.style.cssText += ';float:' + (img.style.cssFloat || img.style.styleFloat ||'none') + ';display:' + (img.style.display||'inline');\n\n img = null;\n }else{\n if(!img){\n var collapsed = range.collapsed;\n if(collapsed){\n var text = me.document.createTextNode('match');\n range.insertNode(text).select();\n\n\n }\n me.__hasEnterExecCommand = true;\n //不能把block上的属性干掉\n //trace:1553\n var removeFormatAttributes = me.options.removeFormatAttributes;\n me.options.removeFormatAttributes = '';\n me.execCommand('removeformat');\n me.options.removeFormatAttributes = removeFormatAttributes;\n me.__hasEnterExecCommand = false;\n //trace:969\n range = me.selection.getRange();\n if(list.length){\n addFormat(range);\n }\n if(text){\n range.setStartBefore(text).collapse(true);\n\n }\n range.select();\n text && domUtils.remove(text);\n }\n\n }\n\n\n\n\n me.undoManger && me.undoManger.save();\n me.removeListener('mouseup',addList);\n flag = 0;\n }\n\n me.commands['formatmatch'] = {\n execCommand : function( cmdName ) {\n\n if(flag){\n flag = 0;\n list = [];\n me.removeListener('mouseup',addList);\n return;\n }\n\n\n\n var range = me.selection.getRange();\n img = range.getClosedNode();\n if(!img || img.tagName != 'IMG'){\n range.collapse(true).shrinkBoundary();\n var start = range.startContainer;\n list = domUtils.findParents(start,true,function(node){\n return !domUtils.isBlockElm(node) && node.nodeType == 1;\n });\n //a不能加入格式刷, 并且克隆节点\n for(var i=0,ci;ci=list[i];i++){\n if(ci.tagName == 'A'){\n list.splice(i,1);\n break;\n }\n }\n\n }\n\n me.addListener('mouseup',addList);\n flag = 1;\n\n\n },\n queryCommandState : function() {\n return flag;\n },\n notNeedUndo : 1\n };\n};\n\n\n\n// plugins/searchreplace.js\n///import core\n///commands 查找替换\n///commandsName SearchReplace\n///commandsTitle 查询替换\n///commandsDialog dialogs\\searchreplace\n/**\n * @description 查找替换\n * @author zhanyi\n */\n\nUE.plugin.register('searchreplace',function(){\n var me = this;\n\n var _blockElm = {'table':1,'tbody':1,'tr':1,'ol':1,'ul':1};\n\n function findTextInString(textContent,opt,currentIndex){\n var str = opt.searchStr;\n if(opt.dir == -1){\n textContent = textContent.split('').reverse().join('');\n str = str.split('').reverse().join('');\n currentIndex = textContent.length - currentIndex;\n\n }\n var reg = new RegExp(str,'g' + (opt.casesensitive ? '' : 'i')),match;\n\n while(match = reg.exec(textContent)){\n if(match.index >= currentIndex){\n return opt.dir == -1 ? textContent.length - match.index - opt.searchStr.length : match.index;\n }\n }\n return -1\n }\n function findTextBlockElm(node,currentIndex,opt){\n var textContent,index,methodName = opt.all || opt.dir == 1 ? 'getNextDomNode' : 'getPreDomNode';\n if(domUtils.isBody(node)){\n node = node.firstChild;\n }\n var first = 1;\n while(node){\n textContent = node.nodeType == 3 ? node.nodeValue : node[browser.ie ? 'innerText' : 'textContent'];\n index = findTextInString(textContent,opt,currentIndex );\n first = 0;\n if(index!=-1){\n return {\n 'node':node,\n 'index':index\n }\n }\n node = domUtils[methodName](node);\n while(node && _blockElm[node.nodeName.toLowerCase()]){\n node = domUtils[methodName](node,true);\n }\n if(node){\n currentIndex = opt.dir == -1 ? (node.nodeType == 3 ? node.nodeValue : node[browser.ie ? 'innerText' : 'textContent']).length : 0;\n }\n\n }\n }\n function findNTextInBlockElm(node,index,str){\n var currentIndex = 0,\n currentNode = node.firstChild,\n currentNodeLength = 0,\n result;\n while(currentNode){\n if(currentNode.nodeType == 3){\n currentNodeLength = currentNode.nodeValue.replace(/(^[\\t\\r\\n]+)|([\\t\\r\\n]+$)/,'').length;\n currentIndex += currentNodeLength;\n if(currentIndex >= index){\n return {\n 'node':currentNode,\n 'index': currentNodeLength - (currentIndex - index)\n }\n }\n }else if(!dtd.$empty[currentNode.tagName]){\n currentNodeLength = currentNode[browser.ie ? 'innerText' : 'textContent'].replace(/(^[\\t\\r\\n]+)|([\\t\\r\\n]+$)/,'').length\n currentIndex += currentNodeLength;\n if(currentIndex >= index){\n result = findNTextInBlockElm(currentNode,currentNodeLength - (currentIndex - index),str);\n if(result){\n return result;\n }\n }\n }\n currentNode = domUtils.getNextDomNode(currentNode);\n\n }\n }\n\n function searchReplace(me,opt){\n\n var rng = me.selection.getRange(),\n startBlockNode,\n searchStr = opt.searchStr,\n span = me.document.createElement('span');\n span.innerHTML = '$$ueditor_searchreplace_key$$';\n\n rng.shrinkBoundary(true);\n\n //判断是不是第一次选中\n if(!rng.collapsed){\n rng.select();\n var rngText = me.selection.getText();\n if(new RegExp('^' + opt.searchStr + '$',(opt.casesensitive ? '' : 'i')).test(rngText)){\n if(opt.replaceStr != undefined){\n replaceText(rng,opt.replaceStr);\n rng.select();\n return true;\n }else{\n rng.collapse(opt.dir == -1)\n }\n\n }\n }\n\n\n rng.insertNode(span);\n rng.enlargeToBlockElm(true);\n startBlockNode = rng.startContainer;\n var currentIndex = startBlockNode[browser.ie ? 'innerText' : 'textContent'].indexOf('$$ueditor_searchreplace_key$$');\n rng.setStartBefore(span);\n domUtils.remove(span);\n var result = findTextBlockElm(startBlockNode,currentIndex,opt);\n if(result){\n var rngStart = findNTextInBlockElm(result.node,result.index,searchStr);\n var rngEnd = findNTextInBlockElm(result.node,result.index + searchStr.length,searchStr);\n rng.setStart(rngStart.node,rngStart.index).setEnd(rngEnd.node,rngEnd.index);\n\n if(opt.replaceStr !== undefined){\n replaceText(rng,opt.replaceStr)\n }\n rng.select();\n return true;\n }else{\n rng.setCursor()\n }\n\n }\n function replaceText(rng,str){\n\n str = me.document.createTextNode(str);\n rng.deleteContents().insertNode(str);\n\n }\n return {\n commands:{\n 'searchreplace':{\n execCommand:function(cmdName,opt){\n utils.extend(opt,{\n all : false,\n casesensitive : false,\n dir : 1\n },true);\n var num = 0;\n if(opt.all){\n\n var rng = me.selection.getRange(),\n first = me.body.firstChild;\n if(first && first.nodeType == 1){\n rng.setStart(first,0);\n rng.shrinkBoundary(true);\n }else if(first.nodeType == 3){\n rng.setStartBefore(first)\n }\n rng.collapse(true).select(true);\n if(opt.replaceStr !== undefined){\n me.fireEvent('saveScene');\n }\n while(searchReplace(this,opt)){\n num++;\n }\n if(num){\n me.fireEvent('saveScene');\n }\n }else{\n if(opt.replaceStr !== undefined){\n me.fireEvent('saveScene');\n }\n if(searchReplace(this,opt)){\n num++\n }\n if(num){\n me.fireEvent('saveScene');\n }\n\n }\n\n return num;\n },\n notNeedUndo:1\n }\n }\n }\n});\n\n// plugins/customstyle.js\n/**\n * 自定义样式\n * @file\n * @since 1.2.6.1\n */\n\n/**\n * 根据config配置文件里“customstyle”选项的值对匹配的标签执行样式替换。\n * @command customstyle\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand( 'customstyle' );\n * ```\n */\nUE.plugins['customstyle'] = function() {\n var me = this;\n me.setOpt({ 'customstyle':[\n {tag:'h1',name:'tc', style:'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'},\n {tag:'h1',name:'tl', style:'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:left;margin:0 0 10px 0;'},\n {tag:'span',name:'im', style:'font-size:16px;font-style:italic;font-weight:bold;line-height:18px;'},\n {tag:'span',name:'hi', style:'font-size:16px;font-style:italic;font-weight:bold;color:rgb(51, 153, 204);line-height:18px;'}\n ]});\n me.commands['customstyle'] = {\n execCommand : function(cmdName, obj) {\n var me = this,\n tagName = obj.tag,\n node = domUtils.findParent(me.selection.getStart(), function(node) {\n return node.getAttribute('label');\n }, true),\n range,bk,tmpObj = {};\n for (var p in obj) {\n if(obj[p]!==undefined)\n tmpObj[p] = obj[p];\n }\n delete tmpObj.tag;\n if (node && node.getAttribute('label') == obj.label) {\n range = this.selection.getRange();\n bk = range.createBookmark();\n if (range.collapsed) {\n //trace:1732 删掉自定义标签,要有p来回填站位\n if(dtd.$block[node.tagName]){\n var fillNode = me.document.createElement('p');\n domUtils.moveChild(node, fillNode);\n node.parentNode.insertBefore(fillNode, node);\n domUtils.remove(node);\n }else{\n domUtils.remove(node,true);\n }\n\n } else {\n\n var common = domUtils.getCommonAncestor(bk.start, bk.end),\n nodes = domUtils.getElementsByTagName(common, tagName);\n if(new RegExp(tagName,'i').test(common.tagName)){\n nodes.push(common);\n }\n for (var i = 0,ni; ni = nodes[i++];) {\n if (ni.getAttribute('label') == obj.label) {\n var ps = domUtils.getPosition(ni, bk.start),pe = domUtils.getPosition(ni, bk.end);\n if ((ps & domUtils.POSITION_FOLLOWING || ps & domUtils.POSITION_CONTAINS)\n &&\n (pe & domUtils.POSITION_PRECEDING || pe & domUtils.POSITION_CONTAINS)\n )\n if (dtd.$block[tagName]) {\n var fillNode = me.document.createElement('p');\n domUtils.moveChild(ni, fillNode);\n ni.parentNode.insertBefore(fillNode, ni);\n }\n domUtils.remove(ni, true);\n }\n }\n node = domUtils.findParent(common, function(node) {\n return node.getAttribute('label') == obj.label;\n }, true);\n if (node) {\n\n domUtils.remove(node, true);\n\n }\n\n }\n range.moveToBookmark(bk).select();\n } else {\n if (dtd.$block[tagName]) {\n this.execCommand('paragraph', tagName, tmpObj,'customstyle');\n range = me.selection.getRange();\n if (!range.collapsed) {\n range.collapse();\n node = domUtils.findParent(me.selection.getStart(), function(node) {\n return node.getAttribute('label') == obj.label;\n }, true);\n var pNode = me.document.createElement('p');\n domUtils.insertAfter(node, pNode);\n domUtils.fillNode(me.document, pNode);\n range.setStart(pNode, 0).setCursor();\n }\n } else {\n\n range = me.selection.getRange();\n if (range.collapsed) {\n node = me.document.createElement(tagName);\n domUtils.setAttributes(node, tmpObj);\n range.insertNode(node).setStart(node, 0).setCursor();\n\n return;\n }\n\n bk = range.createBookmark();\n range.applyInlineStyle(tagName, tmpObj).moveToBookmark(bk).select();\n }\n }\n\n },\n queryCommandValue : function() {\n var parent = domUtils.filterNodeList(\n this.selection.getStartElementPath(),\n function(node){return node.getAttribute('label')}\n );\n return parent ? parent.getAttribute('label') : '';\n }\n };\n //当去掉customstyle是,如果是块元素,用p代替\n me.addListener('keyup', function(type, evt) {\n var keyCode = evt.keyCode || evt.which;\n\n if (keyCode == 32 || keyCode == 13) {\n var range = me.selection.getRange();\n if (range.collapsed) {\n var node = domUtils.findParent(me.selection.getStart(), function(node) {\n return node.getAttribute('label');\n }, true);\n if (node && dtd.$block[node.tagName] && domUtils.isEmptyNode(node)) {\n var p = me.document.createElement('p');\n domUtils.insertAfter(node, p);\n domUtils.fillNode(me.document, p);\n domUtils.remove(node);\n range.setStart(p, 0).setCursor();\n\n\n }\n }\n }\n });\n};\n\n// plugins/catchremoteimage.js\n///import core\n///commands 远程图片抓取\n///commandsName catchRemoteImage,catchremoteimageenable\n///commandsTitle 远程图片抓取\n/**\n * 远程图片抓取,当开启本插件时所有不符合本地域名的图片都将被抓取成为本地服务器上的图片\n */\nUE.plugins['catchremoteimage'] = function () {\n var me = this,\n ajax = UE.ajax;\n\n /* 设置默认值 */\n if (me.options.catchRemoteImageEnable === false) return;\n me.setOpt({\n catchRemoteImageEnable: false\n });\n\n me.addListener(\"afterpaste\", function () {\n me.fireEvent(\"catchRemoteImage\");\n });\n\n me.addListener(\"catchRemoteImage\", function () {\n\n var catcherLocalDomain = me.getOpt('catcherLocalDomain'),\n catcherActionUrl = me.getActionUrl(me.getOpt('catcherActionName')),\n catcherUrlPrefix = me.getOpt('catcherUrlPrefix'),\n catcherFieldName = me.getOpt('catcherFieldName');\n\n var remoteImages = [],\n imgs = domUtils.getElementsByTagName(me.document, \"img\"),\n test = function (src, urls) {\n if (src.indexOf(location.host) != -1 || /(^\\.)|(^\\/)/.test(src)) {\n return true;\n }\n if (urls) {\n for (var j = 0, url; url = urls[j++];) {\n if (src.indexOf(url) !== -1) {\n return true;\n }\n }\n }\n return false;\n };\n\n for (var i = 0, ci; ci = imgs[i++];) {\n if (ci.getAttribute(\"word_img\")) {\n continue;\n }\n var src = ci.getAttribute(\"_src\") || ci.src || \"\";\n if (/^(https?|ftp):/i.test(src) && !test(src, catcherLocalDomain)) {\n remoteImages.push(src);\n }\n }\n\n if (remoteImages.length) {\n catchremoteimage(remoteImages, {\n //成功抓取\n success: function (r) {\n try {\n var info = r.state !== undefined ? r:eval(\"(\" + r.responseText + \")\");\n } catch (e) {\n return;\n }\n\n /* 获取源路径和新路径 */\n var i, j, ci, cj, oldSrc, newSrc, list = info.list;\n\n for (i = 0; ci = imgs[i++];) {\n oldSrc = ci.getAttribute(\"_src\") || ci.src || \"\";\n for (j = 0; cj = list[j++];) {\n if (oldSrc == cj.source && cj.state == \"SUCCESS\") { //抓取失败时不做替换处理\n newSrc = catcherUrlPrefix + cj.url;\n domUtils.setAttributes(ci, {\n \"src\": newSrc,\n \"_src\": newSrc\n });\n break;\n }\n }\n }\n me.fireEvent('catchremotesuccess')\n },\n //回调失败,本次请求超时\n error: function () {\n me.fireEvent(\"catchremoteerror\");\n }\n });\n }\n\n function catchremoteimage(imgs, callbacks) {\n var params = utils.serializeParam(me.queryCommandValue('serverparam')) || '',\n url = utils.formatUrl(catcherActionUrl + (catcherActionUrl.indexOf('?') == -1 ? '?':'&') + params),\n isJsonp = utils.isCrossDomainUrl(url),\n opt = {\n 'method': 'POST',\n 'dataType': isJsonp ? 'jsonp':'',\n 'timeout': 60000, //单位:毫秒,回调请求超时设置。目标用户如果网速不是很快的话此处建议设置一个较大的数值\n 'onsuccess': callbacks[\"success\"],\n 'onerror': callbacks[\"error\"]\n };\n opt[catcherFieldName] = imgs;\n ajax.request(url, opt);\n }\n\n });\n};\n\n// plugins/snapscreen.js\n/**\n * 截屏插件,为UEditor提供插入支持\n * @file\n * @since 1.4.2\n */\nUE.plugin.register('snapscreen', function (){\n\n var me = this;\n var snapplugin;\n\n function getLocation(url){\n var search,\n a = document.createElement('a'),\n params = utils.serializeParam(me.queryCommandValue('serverparam')) || '';\n\n a.href = url;\n if (browser.ie) {\n a.href = a.href;\n }\n\n\n search = a.search;\n if (params) {\n search = search + (search.indexOf('?') == -1 ? '?':'&')+ params;\n search = search.replace(/[&]+/ig, '&');\n }\n return {\n 'port': a.port,\n 'hostname': a.hostname,\n 'path': a.pathname + search || + a.hash\n }\n }\n\n return {\n commands:{\n /**\n * 字体背景颜色\n * @command snapscreen\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand('snapscreen');\n * ```\n */\n 'snapscreen':{\n execCommand:function (cmd) {\n var url, local, res;\n var lang = me.getLang(\"snapScreen_plugin\");\n\n if(!snapplugin){\n var container = me.container;\n var doc = me.container.ownerDocument || me.container.document;\n snapplugin = doc.createElement(\"object\");\n try{snapplugin.type = \"application/x-pluginbaidusnap\";}catch(e){\n return;\n }\n snapplugin.style.cssText = \"position:absolute;left:-9999px;width:0;height:0;\";\n snapplugin.setAttribute(\"width\",\"0\");\n snapplugin.setAttribute(\"height\",\"0\");\n container.appendChild(snapplugin);\n }\n\n function onSuccess(rs){\n try{\n rs = eval(\"(\"+ rs +\")\");\n if(rs.state == 'SUCCESS'){\n var opt = me.options;\n me.execCommand('insertimage', {\n src: opt.snapscreenUrlPrefix + rs.url,\n _src: opt.snapscreenUrlPrefix + rs.url,\n alt: rs.title || '',\n floatStyle: opt.snapscreenImgAlign\n });\n } else {\n alert(rs.state);\n }\n }catch(e){\n alert(lang.callBackErrorMsg);\n }\n }\n url = me.getActionUrl(me.getOpt('snapscreenActionName'));\n local = getLocation(url);\n setTimeout(function () {\n try{\n res =snapplugin.saveSnapshot(local.hostname, local.path, local.port);\n }catch(e){\n me.ui._dialogs['snapscreenDialog'].open();\n return;\n }\n\n onSuccess(res);\n }, 50);\n },\n queryCommandState: function(){\n return (navigator.userAgent.indexOf(\"Windows\",0) != -1) ? 0:-1;\n }\n }\n }\n }\n});\n\n\n// plugins/insertparagraph.js\n/**\n * 插入段落\n * @file\n * @since 1.2.6.1\n */\n\n\n/**\n * 插入段落\n * @command insertparagraph\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * //editor是编辑器实例\n * editor.execCommand( 'insertparagraph' );\n * ```\n */\n\nUE.commands['insertparagraph'] = {\n execCommand : function( cmdName,front) {\n var me = this,\n range = me.selection.getRange(),\n start = range.startContainer,tmpNode;\n while(start ){\n if(domUtils.isBody(start)){\n break;\n }\n tmpNode = start;\n start = start.parentNode;\n }\n if(tmpNode){\n var p = me.document.createElement('p');\n if(front){\n tmpNode.parentNode.insertBefore(p,tmpNode)\n }else{\n tmpNode.parentNode.insertBefore(p,tmpNode.nextSibling)\n }\n domUtils.fillNode(me.document,p);\n range.setStart(p,0).setCursor(false,true);\n }\n }\n};\n\n\n\n// plugins/webapp.js\n/**\n * 百度应用\n * @file\n * @since 1.2.6.1\n */\n\n\n/**\n * 插入百度应用\n * @command webapp\n * @method execCommand\n * @remind 需要百度APPKey\n * @remind 百度应用主页: http://app.baidu.com/\n * @param { Object } appOptions 应用所需的参数项, 支持的key有: title=>应用标题, width=>应用容器宽度,\n * height=>应用容器高度,logo=>应用logo,url=>应用地址\n * @example\n * ```javascript\n * //editor是编辑器实例\n * //在编辑器里插入一个“植物大战僵尸”的APP\n * editor.execCommand( 'webapp' , {\n * title: '植物大战僵尸',\n * width: 560,\n * height: 465,\n * logo: '应用展示的图片',\n * url: '百度应用的地址'\n * } );\n * ```\n */\n\n//UE.plugins['webapp'] = function () {\n// var me = this;\n// function createInsertStr( obj, toIframe, addParagraph ) {\n// return !toIframe ?\n// (addParagraph ? '

    ' : '') + '' +\n// (addParagraph ? '

    ' : '')\n// :\n// '';\n// }\n//\n// function switchImgAndIframe( img2frame ) {\n// var tmpdiv,\n// nodes = domUtils.getElementsByTagName( me.document, !img2frame ? \"iframe\" : \"img\" );\n// for ( var i = 0, node; node = nodes[i++]; ) {\n// if ( node.className != \"edui-faked-webapp\" ){\n// continue;\n// }\n// tmpdiv = me.document.createElement( \"div\" );\n// tmpdiv.innerHTML = createInsertStr( img2frame ? {url:node.getAttribute( \"_url\" ), width:node.width, height:node.height,title:node.title,logo:node.style.backgroundImage.replace(\"url(\",\"\").replace(\")\",\"\")} : {url:node.getAttribute( \"src\", 2 ),title:node.title, width:node.width, height:node.height,logo:node.getAttribute(\"logo_url\")}, img2frame ? true : false,false );\n// node.parentNode.replaceChild( tmpdiv.firstChild, node );\n// }\n// }\n//\n// me.addListener( \"beforegetcontent\", function () {\n// switchImgAndIframe( true );\n// } );\n// me.addListener( 'aftersetcontent', function () {\n// switchImgAndIframe( false );\n// } );\n// me.addListener( 'aftergetcontent', function ( cmdName ) {\n// if ( cmdName == 'aftergetcontent' && me.queryCommandState( 'source' ) ){\n// return;\n// }\n// switchImgAndIframe( false );\n// } );\n//\n// me.commands['webapp'] = {\n// execCommand:function ( cmd, obj ) {\n// me.execCommand( \"inserthtml\", createInsertStr( obj, false,true ) );\n// }\n// };\n//};\n\nUE.plugin.register('webapp', function (){\n var me = this;\n function createInsertStr(obj,toEmbed){\n return !toEmbed ?\n ''\n :\n ''\n\n }\n return {\n outputRule: function(root){\n utils.each(root.getNodesByTagName('img'),function(node){\n var html;\n if(node.getAttr('class') == 'edui-faked-webapp'){\n html = createInsertStr({\n title:node.getAttr('title'),\n 'width':node.getAttr('width'),\n 'height':node.getAttr('height'),\n 'align':node.getAttr('align'),\n 'cssfloat':node.getStyle('float'),\n 'url':node.getAttr(\"_url\"),\n 'logo':node.getAttr('_logo_url')\n },true);\n var embed = UE.uNode.createElement(html);\n node.parentNode.replaceChild(embed,node);\n }\n })\n },\n inputRule:function(root){\n utils.each(root.getNodesByTagName('iframe'),function(node){\n if(node.getAttr('class') == 'edui-faked-webapp'){\n var img = UE.uNode.createElement(createInsertStr({\n title:node.getAttr('title'),\n 'width':node.getAttr('width'),\n 'height':node.getAttr('height'),\n 'align':node.getAttr('align'),\n 'cssfloat':node.getStyle('float'),\n 'url':node.getAttr(\"src\"),\n 'logo':node.getAttr('logo_url')\n }));\n node.parentNode.replaceChild(img,node);\n }\n })\n\n },\n commands:{\n /**\n * 插入百度应用\n * @command webapp\n * @method execCommand\n * @remind 需要百度APPKey\n * @remind 百度应用主页: http://app.baidu.com/\n * @param { Object } appOptions 应用所需的参数项, 支持的key有: title=>应用标题, width=>应用容器宽度,\n * height=>应用容器高度,logo=>应用logo,url=>应用地址\n * @example\n * ```javascript\n * //editor是编辑器实例\n * //在编辑器里插入一个“植物大战僵尸”的APP\n * editor.execCommand( 'webapp' , {\n * title: '植物大战僵尸',\n * width: 560,\n * height: 465,\n * logo: '应用展示的图片',\n * url: '百度应用的地址'\n * } );\n * ```\n */\n 'webapp':{\n execCommand:function (cmd, obj) {\n\n var me = this,\n str = createInsertStr(utils.extend(obj,{\n align:'none'\n }), false);\n me.execCommand(\"inserthtml\",str);\n },\n queryCommandState:function () {\n var me = this,\n img = me.selection.getRange().getClosedNode(),\n flag = img && (img.className == \"edui-faked-webapp\");\n return flag ? 1 : 0;\n }\n }\n }\n }\n});\n\n// plugins/template.js\n///import core\n///import plugins\\inserthtml.js\n///import plugins\\cleardoc.js\n///commands 模板\n///commandsName template\n///commandsTitle 模板\n///commandsDialog dialogs\\template\nUE.plugins['template'] = function () {\n UE.commands['template'] = {\n execCommand:function (cmd, obj) {\n obj.html && this.execCommand(\"inserthtml\", obj.html);\n }\n };\n this.addListener(\"click\", function (type, evt) {\n var el = evt.target || evt.srcElement,\n range = this.selection.getRange();\n var tnode = domUtils.findParent(el, function (node) {\n if (node.className && domUtils.hasClass(node, \"ue_t\")) {\n return node;\n }\n }, true);\n tnode && range.selectNode(tnode).shrinkBoundary().select();\n });\n this.addListener(\"keydown\", function (type, evt) {\n var range = this.selection.getRange();\n if (!range.collapsed) {\n if (!evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) {\n var tnode = domUtils.findParent(range.startContainer, function (node) {\n if (node.className && domUtils.hasClass(node, \"ue_t\")) {\n return node;\n }\n }, true);\n if (tnode) {\n domUtils.removeClasses(tnode, [\"ue_t\"]);\n }\n }\n }\n });\n};\n\n\n// plugins/music.js\n/**\n * 插入音乐命令\n * @file\n */\nUE.plugin.register('music', function (){\n var me = this;\n function creatInsertStr(url,width,height,align,cssfloat,toEmbed){\n return !toEmbed ?\n ''\n :\n '';\n }\n return {\n outputRule: function(root){\n utils.each(root.getNodesByTagName('img'),function(node){\n var html;\n if(node.getAttr('class') == 'edui-faked-music'){\n var cssfloat = node.getStyle('float');\n var align = node.getAttr('align');\n html = creatInsertStr(node.getAttr(\"_url\"), node.getAttr('width'), node.getAttr('height'), align, cssfloat, true);\n var embed = UE.uNode.createElement(html);\n node.parentNode.replaceChild(embed,node);\n }\n })\n },\n inputRule:function(root){\n utils.each(root.getNodesByTagName('embed'),function(node){\n if(node.getAttr('class') == 'edui-faked-music'){\n var cssfloat = node.getStyle('float');\n var align = node.getAttr('align');\n html = creatInsertStr(node.getAttr(\"src\"), node.getAttr('width'), node.getAttr('height'), align, cssfloat,false);\n var img = UE.uNode.createElement(html);\n node.parentNode.replaceChild(img,node);\n }\n })\n\n },\n commands:{\n /**\n * 插入音乐\n * @command music\n * @method execCommand\n * @param { Object } musicOptions 插入音乐的参数项, 支持的key有: url=>音乐地址;\n * width=>音乐容器宽度;height=>音乐容器高度;align=>音乐文件的对齐方式, 可选值有: left, center, right, none\n * @example\n * ```javascript\n * //editor是编辑器实例\n * //在编辑器里插入一个“植物大战僵尸”的APP\n * editor.execCommand( 'music' , {\n * width: 400,\n * height: 95,\n * align: \"center\",\n * url: \"音乐地址\"\n * } );\n * ```\n */\n 'music':{\n execCommand:function (cmd, musicObj) {\n var me = this,\n str = creatInsertStr(musicObj.url, musicObj.width || 400, musicObj.height || 95, \"none\", false);\n me.execCommand(\"inserthtml\",str);\n },\n queryCommandState:function () {\n var me = this,\n img = me.selection.getRange().getClosedNode(),\n flag = img && (img.className == \"edui-faked-music\");\n return flag ? 1 : 0;\n }\n }\n }\n }\n});\n\n// plugins/autoupload.js\n/**\n * @description\n * 1.拖放文件到编辑区域,自动上传并插入到选区\n * 2.插入粘贴板的图片,自动上传并插入到选区\n * @author Jinqn\n * @date 2013-10-14\n */\nUE.plugin.register('autoupload', function (){\n\n function sendAndInsertFile(file, editor) {\n var me = editor;\n //模拟数据\n var fieldName, urlPrefix, maxSize, allowFiles, actionUrl,\n loadingHtml, errorHandler, successHandler,\n filetype = /image\\/\\w+/i.test(file.type) ? 'image':'file',\n loadingId = 'loading_' + (+new Date()).toString(36);\n\n fieldName = me.getOpt(filetype + 'FieldName');\n urlPrefix = me.getOpt(filetype + 'UrlPrefix');\n maxSize = me.getOpt(filetype + 'MaxSize');\n allowFiles = me.getOpt(filetype + 'AllowFiles');\n actionUrl = me.getActionUrl(me.getOpt(filetype + 'ActionName'));\n errorHandler = function(title) {\n var loader = me.document.getElementById(loadingId);\n loader && domUtils.remove(loader);\n me.fireEvent('showmessage', {\n 'id': loadingId,\n 'content': title,\n 'type': 'error',\n 'timeout': 4000\n });\n };\n\n if (filetype == 'image') {\n loadingHtml = '';\n successHandler = function(data) {\n var link = urlPrefix + data.url,\n loader = me.document.getElementById(loadingId);\n if (loader) {\n loader.setAttribute('src', link);\n loader.setAttribute('_src', link);\n loader.setAttribute('title', data.title || '');\n loader.setAttribute('alt', data.original || '');\n loader.removeAttribute('id');\n domUtils.removeClasses(loader, 'loadingclass');\n }\n };\n } else {\n loadingHtml = '

    ' +\n '' +\n '

    ';\n successHandler = function(data) {\n var link = urlPrefix + data.url,\n loader = me.document.getElementById(loadingId);\n\n var rng = me.selection.getRange(),\n bk = rng.createBookmark();\n rng.selectNode(loader).select();\n me.execCommand('insertfile', {'url': link});\n rng.moveToBookmark(bk).select();\n };\n }\n\n /* 插入loading的占位符 */\n me.execCommand('inserthtml', loadingHtml);\n\n /* 判断后端配置是否没有加载成功 */\n if (!me.getOpt(filetype + 'ActionName')) {\n errorHandler(me.getLang('autoupload.errorLoadConfig'));\n return;\n }\n /* 判断文件大小是否超出限制 */\n if(file.size > maxSize) {\n errorHandler(me.getLang('autoupload.exceedSizeError'));\n return;\n }\n /* 判断文件格式是否超出允许 */\n var fileext = file.name ? file.name.substr(file.name.lastIndexOf('.')):'';\n if ((fileext && filetype != 'image') || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) {\n errorHandler(me.getLang('autoupload.exceedTypeError'));\n return;\n }\n\n /* 创建Ajax并提交 */\n var xhr = new XMLHttpRequest(),\n fd = new FormData(),\n params = utils.serializeParam(me.queryCommandValue('serverparam')) || '',\n url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + params);\n\n fd.append(fieldName, file, file.name || ('blob.' + file.type.substr('image/'.length)));\n fd.append('type', 'ajax');\n xhr.open(\"post\", url, true);\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n xhr.addEventListener('load', function (e) {\n try{\n var json = (new Function(\"return \" + utils.trim(e.target.response)))();\n if (json.state == 'SUCCESS' && json.url) {\n successHandler(json);\n } else {\n errorHandler(json.state);\n }\n }catch(er){\n errorHandler(me.getLang('autoupload.loadError'));\n }\n });\n xhr.send(fd);\n }\n\n function getPasteImage(e){\n return e.clipboardData && e.clipboardData.items && e.clipboardData.items.length == 1 && /^image\\//.test(e.clipboardData.items[0].type) ? e.clipboardData.items:null;\n }\n function getDropImage(e){\n return e.dataTransfer && e.dataTransfer.files ? e.dataTransfer.files:null;\n }\n\n return {\n outputRule: function(root){\n utils.each(root.getNodesByTagName('img'),function(n){\n if (/\\b(loaderrorclass)|(bloaderrorclass)\\b/.test(n.getAttr('class'))) {\n n.parentNode.removeChild(n);\n }\n });\n utils.each(root.getNodesByTagName('p'),function(n){\n if (/\\bloadpara\\b/.test(n.getAttr('class'))) {\n n.parentNode.removeChild(n);\n }\n });\n },\n bindEvents:{\n //插入粘贴板的图片,拖放插入图片\n 'ready':function(e){\n var me = this;\n if(window.FormData && window.FileReader) {\n domUtils.on(me.body, 'paste drop', function(e){\n var hasImg = false,\n items;\n //获取粘贴板文件列表或者拖放文件列表\n items = e.type == 'paste' ? getPasteImage(e):getDropImage(e);\n if(items){\n var len = items.length,\n file;\n while (len--){\n file = items[len];\n if(file.getAsFile) file = file.getAsFile();\n if(file && file.size > 0) {\n sendAndInsertFile(file, me);\n hasImg = true;\n }\n }\n hasImg && e.preventDefault();\n }\n\n });\n //取消拖放图片时出现的文字光标位置提示\n domUtils.on(me.body, 'dragover', function (e) {\n if(e.dataTransfer.types[0] == 'Files') {\n e.preventDefault();\n }\n });\n\n //设置loading的样式\n utils.cssRule('loading',\n '.loadingclass{display:inline-block;cursor:default;background: url(\\''\n + this.options.themePath\n + this.options.theme +'/images/loading.gif\\') no-repeat center center transparent;border:1px solid #cccccc;margin-left:1px;height: 22px;width: 22px;}\\n' +\n '.loaderrorclass{display:inline-block;cursor:default;background: url(\\''\n + this.options.themePath\n + this.options.theme +'/images/loaderror.png\\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;' +\n '}',\n this.document);\n }\n }\n }\n }\n});\n\n// plugins/autosave.js\nUE.plugin.register('autosave', function (){\n\n var me = this,\n //无限循环保护\n lastSaveTime = new Date(),\n //最小保存间隔时间\n MIN_TIME = 20,\n //auto save key\n saveKey = null;\n\n function save ( editor ) {\n\n var saveData;\n\n if ( new Date() - lastSaveTime < MIN_TIME ) {\n return;\n }\n\n if ( !editor.hasContents() ) {\n //这里不能调用命令来删除, 会造成事件死循环\n saveKey && me.removePreferences( saveKey );\n return;\n }\n\n lastSaveTime = new Date();\n\n editor._saveFlag = null;\n\n saveData = me.body.innerHTML;\n\n if ( editor.fireEvent( \"beforeautosave\", {\n content: saveData\n } ) === false ) {\n return;\n }\n\n me.setPreferences( saveKey, saveData );\n\n editor.fireEvent( \"afterautosave\", {\n content: saveData\n } );\n\n }\n\n return {\n defaultOptions: {\n //默认间隔时间\n saveInterval: 500\n },\n bindEvents:{\n 'ready':function(){\n\n var _suffix = \"-drafts-data\",\n key = null;\n\n if ( me.key ) {\n key = me.key + _suffix;\n } else {\n key = ( me.container.parentNode.id || 'ue-common' ) + _suffix;\n }\n\n //页面地址+编辑器ID 保持唯一\n saveKey = ( location.protocol + location.host + location.pathname ).replace( /[.:\\/]/g, '_' ) + key;\n\n },\n\n 'contentchange': function () {\n\n if ( !saveKey ) {\n return;\n }\n\n if ( me._saveFlag ) {\n window.clearTimeout( me._saveFlag );\n }\n\n if ( me.options.saveInterval > 0 ) {\n\n me._saveFlag = window.setTimeout( function () {\n\n save( me );\n\n }, me.options.saveInterval );\n\n } else {\n\n save(me);\n\n }\n\n\n }\n },\n commands:{\n 'clearlocaldata':{\n execCommand:function (cmd, name) {\n if ( saveKey && me.getPreferences( saveKey ) ) {\n me.removePreferences( saveKey )\n }\n },\n notNeedUndo: true,\n ignoreContentChange:true\n },\n\n 'getlocaldata':{\n execCommand:function (cmd, name) {\n return saveKey ? me.getPreferences( saveKey ) || '' : '';\n },\n notNeedUndo: true,\n ignoreContentChange:true\n },\n\n 'drafts':{\n execCommand:function (cmd, name) {\n if ( saveKey ) {\n me.body.innerHTML = me.getPreferences( saveKey ) || '

    '+domUtils.fillHtml+'

    ';\n me.focus(true);\n }\n },\n queryCommandState: function () {\n return saveKey ? ( me.getPreferences( saveKey ) === null ? -1 : 0 ) : -1;\n },\n notNeedUndo: true,\n ignoreContentChange:true\n }\n }\n }\n\n});\n\n// plugins/charts.js\nUE.plugin.register('charts', function (){\n\n var me = this;\n\n return {\n bindEvents: {\n 'chartserror': function () {\n }\n },\n commands:{\n 'charts': {\n execCommand: function ( cmd, data ) {\n\n var tableNode = domUtils.findParentByTagName(this.selection.getRange().startContainer, 'table', true),\n flagText = [],\n config = {};\n\n if ( !tableNode ) {\n return false;\n }\n\n if ( !validData( tableNode ) ) {\n me.fireEvent( \"chartserror\" );\n return false;\n }\n\n config.title = data.title || '';\n config.subTitle = data.subTitle || '';\n config.xTitle = data.xTitle || '';\n config.yTitle = data.yTitle || '';\n config.suffix = data.suffix || '';\n config.tip = data.tip || '';\n //数据对齐方式\n config.dataFormat = data.tableDataFormat || '';\n //图表类型\n config.chartType = data.chartType || 0;\n\n for ( var key in config ) {\n\n if ( !config.hasOwnProperty( key ) ) {\n continue;\n }\n\n flagText.push( key+\":\"+config[ key ] );\n\n }\n\n tableNode.setAttribute( \"data-chart\", flagText.join( \";\" ) );\n domUtils.addClass( tableNode, \"edui-charts-table\" );\n\n\n\n },\n queryCommandState: function ( cmd, name ) {\n\n var tableNode = domUtils.findParentByTagName(this.selection.getRange().startContainer, 'table', true);\n return tableNode && validData( tableNode ) ? 0 : -1;\n\n }\n }\n },\n inputRule:function(root){\n utils.each(root.getNodesByTagName('table'),function( tableNode ){\n\n if ( tableNode.getAttr(\"data-chart\") !== undefined ) {\n tableNode.setAttr(\"style\");\n }\n\n })\n\n },\n outputRule:function(root){\n utils.each(root.getNodesByTagName('table'),function( tableNode ){\n\n if ( tableNode.getAttr(\"data-chart\") !== undefined ) {\n tableNode.setAttr(\"style\", \"display: none;\");\n }\n\n })\n\n }\n }\n\n function validData ( table ) {\n\n var firstRows = null,\n cellCount = 0;\n\n //行数不够\n if ( table.rows.length < 2 ) {\n return false;\n }\n\n //列数不够\n if ( table.rows[0].cells.length < 2 ) {\n return false;\n }\n\n //第一行所有cell必须是th\n firstRows = table.rows[ 0 ].cells;\n cellCount = firstRows.length;\n\n for ( var i = 0, cell; cell = firstRows[ i ]; i++ ) {\n\n if ( cell.tagName.toLowerCase() !== 'th' ) {\n return false;\n }\n\n }\n\n for ( var i = 1, row; row = table.rows[ i ]; i++ ) {\n\n //每行单元格数不匹配, 返回false\n if ( row.cells.length != cellCount ) {\n return false;\n }\n\n //第一列不是th也返回false\n if ( row.cells[0].tagName.toLowerCase() !== 'th' ) {\n return false;\n }\n\n for ( var j = 1, cell; cell = row.cells[ j ]; j++ ) {\n\n var value = utils.trim( ( cell.innerText || cell.textContent || '' ) );\n\n value = value.replace( new RegExp( UE.dom.domUtils.fillChar, 'g' ), '' ).replace( /^\\s+|\\s+$/g, '' );\n\n //必须是数字\n if ( !/^\\d*\\.?\\d+$/.test( value ) ) {\n return false;\n }\n\n }\n\n }\n\n return true;\n\n }\n\n});\n\n// plugins/section.js\n/**\n * 目录大纲支持插件\n * @file\n * @since 1.3.0\n */\nUE.plugin.register('section', function (){\n /* 目录节点对象 */\n function Section(option){\n this.tag = '';\n this.level = -1,\n this.dom = null;\n this.nextSection = null;\n this.previousSection = null;\n this.parentSection = null;\n this.startAddress = [];\n this.endAddress = [];\n this.children = [];\n }\n function getSection(option) {\n var section = new Section();\n return utils.extend(section, option);\n }\n function getNodeFromAddress(startAddress, root) {\n var current = root;\n for(var i = 0;i < startAddress.length; i++) {\n if(!current.childNodes) return null;\n current = current.childNodes[startAddress[i]];\n }\n return current;\n }\n\n var me = this;\n\n return {\n bindMultiEvents:{\n type: 'aftersetcontent afterscencerestore',\n handler: function(){\n me.fireEvent('updateSections');\n }\n },\n bindEvents:{\n /* 初始化、拖拽、粘贴、执行setcontent之后 */\n 'ready': function (){\n me.fireEvent('updateSections');\n domUtils.on(me.body, 'drop paste', function(){\n me.fireEvent('updateSections');\n });\n },\n /* 执行paragraph命令之后 */\n 'afterexeccommand': function (type, cmd) {\n if(cmd == 'paragraph') {\n me.fireEvent('updateSections');\n }\n },\n /* 部分键盘操作,触发updateSections事件 */\n 'keyup': function (type, e) {\n var me = this,\n range = me.selection.getRange();\n if(range.collapsed != true) {\n me.fireEvent('updateSections');\n } else {\n var keyCode = e.keyCode || e.which;\n if(keyCode == 13 || keyCode == 8 || keyCode == 46) {\n me.fireEvent('updateSections');\n }\n }\n }\n },\n commands:{\n 'getsections': {\n execCommand: function (cmd, levels) {\n var levelFn = levels || ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n\n for (var i = 0; i < levelFn.length; i++) {\n if (typeof levelFn[i] == 'string') {\n levelFn[i] = function(fn){\n return function(node){\n return node.tagName == fn.toUpperCase()\n };\n }(levelFn[i]);\n } else if (typeof levelFn[i] != 'function') {\n levelFn[i] = function (node) {\n return null;\n }\n }\n }\n function getSectionLevel(node) {\n for (var i = 0; i < levelFn.length; i++) {\n if (levelFn[i](node)) return i;\n }\n return -1;\n }\n\n var me = this,\n Directory = getSection({'level':-1, 'title':'root'}),\n previous = Directory;\n\n function traversal(node, Directory) {\n var level,\n tmpSection = null,\n parent,\n child,\n children = node.childNodes;\n for (var i = 0, len = children.length; i < len; i++) {\n child = children[i];\n level = getSectionLevel(child);\n if (level >= 0) {\n var address = me.selection.getRange().selectNode(child).createAddress(true).startAddress,\n current = getSection({\n 'tag': child.tagName,\n 'title': child.innerText || child.textContent || '',\n 'level': level,\n 'dom': child,\n 'startAddress': utils.clone(address, []),\n 'endAddress': utils.clone(address, []),\n 'children': []\n });\n previous.nextSection = current;\n current.previousSection = previous;\n parent = previous;\n while(level <= parent.level){\n parent = parent.parentSection;\n }\n current.parentSection = parent;\n parent.children.push(current);\n tmpSection = previous = current;\n } else {\n child.nodeType === 1 && traversal(child, Directory);\n tmpSection && tmpSection.endAddress[tmpSection.endAddress.length - 1] ++;\n }\n }\n }\n traversal(me.body, Directory);\n return Directory;\n },\n notNeedUndo: true\n },\n 'movesection': {\n execCommand: function (cmd, sourceSection, targetSection, isAfter) {\n\n var me = this,\n targetAddress,\n target;\n\n if(!sourceSection || !targetSection || targetSection.level == -1) return;\n\n targetAddress = isAfter ? targetSection.endAddress:targetSection.startAddress;\n target = getNodeFromAddress(targetAddress, me.body);\n\n /* 判断目标地址是否被源章节包含 */\n if(!targetAddress || !target || isContainsAddress(sourceSection.startAddress, sourceSection.endAddress, targetAddress)) return;\n\n var startNode = getNodeFromAddress(sourceSection.startAddress, me.body),\n endNode = getNodeFromAddress(sourceSection.endAddress, me.body),\n current,\n nextNode;\n\n if(isAfter) {\n current = endNode;\n while ( current && !(domUtils.getPosition( startNode, current ) & domUtils.POSITION_FOLLOWING) ) {\n nextNode = current.previousSibling;\n domUtils.insertAfter(target, current);\n if(current == startNode) break;\n current = nextNode;\n }\n } else {\n current = startNode;\n while ( current && !(domUtils.getPosition( current, endNode ) & domUtils.POSITION_FOLLOWING) ) {\n nextNode = current.nextSibling;\n target.parentNode.insertBefore(current, target);\n if(current == endNode) break;\n current = nextNode;\n }\n }\n\n me.fireEvent('updateSections');\n\n /* 获取地址的包含关系 */\n function isContainsAddress(startAddress, endAddress, addressTarget){\n var isAfterStartAddress = false,\n isBeforeEndAddress = false;\n for(var i = 0; i< startAddress.length; i++){\n if(i >= addressTarget.length) break;\n if(addressTarget[i] > startAddress[i]) {\n isAfterStartAddress = true;\n break;\n } else if(addressTarget[i] < startAddress[i]) {\n break;\n }\n }\n for(var i = 0; i< endAddress.length; i++){\n if(i >= addressTarget.length) break;\n if(addressTarget[i] < startAddress[i]) {\n isBeforeEndAddress = true;\n break;\n } else if(addressTarget[i] > startAddress[i]) {\n break;\n }\n }\n return isAfterStartAddress && isBeforeEndAddress;\n }\n }\n },\n 'deletesection': {\n execCommand: function (cmd, section, keepChildren) {\n var me = this;\n\n if(!section) return;\n\n function getNodeFromAddress(startAddress) {\n var current = me.body;\n for(var i = 0;i < startAddress.length; i++) {\n if(!current.childNodes) return null;\n current = current.childNodes[startAddress[i]];\n }\n return current;\n }\n\n var startNode = getNodeFromAddress(section.startAddress),\n endNode = getNodeFromAddress(section.endAddress),\n current = startNode,\n nextNode;\n\n if(!keepChildren) {\n while ( current && domUtils.inDoc(endNode, me.document) && !(domUtils.getPosition( current, endNode ) & domUtils.POSITION_FOLLOWING) ) {\n nextNode = current.nextSibling;\n domUtils.remove(current);\n current = nextNode;\n }\n } else {\n domUtils.remove(current);\n }\n\n me.fireEvent('updateSections');\n }\n },\n 'selectsection': {\n execCommand: function (cmd, section) {\n if(!section && !section.dom) return false;\n var me = this,\n range = me.selection.getRange(),\n address = {\n 'startAddress':utils.clone(section.startAddress, []),\n 'endAddress':utils.clone(section.endAddress, [])\n };\n address.endAddress[address.endAddress.length - 1]++;\n range.moveToAddress(address).select().scrollToView();\n return true;\n },\n notNeedUndo: true\n },\n 'scrolltosection': {\n execCommand: function (cmd, section) {\n if(!section && !section.dom) return false;\n var me = this,\n range = me.selection.getRange(),\n address = {\n 'startAddress':section.startAddress,\n 'endAddress':section.endAddress\n };\n address.endAddress[address.endAddress.length - 1]++;\n range.moveToAddress(address).scrollToView();\n return true;\n },\n notNeedUndo: true\n }\n }\n }\n});\n\n// plugins/simpleupload.js\n/**\n * @description\n * 简单上传:点击按钮,直接选择文件上传\n * @author Jinqn\n * @date 2014-03-31\n */\nUE.plugin.register('simpleupload', function (){\n var me = this,\n isLoaded = false,\n containerBtn;\n\n function initUploadBtn(){\n var w = containerBtn.offsetWidth || 20,\n h = containerBtn.offsetHeight || 20,\n btnIframe = document.createElement('iframe'),\n btnStyle = 'display:block;width:' + w + 'px;height:' + h + 'px;overflow:hidden;border:0;margin:0;padding:0;position:absolute;top:0;left:0;filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity: 0;opacity: 0;cursor:pointer;';\n\n domUtils.on(btnIframe, 'load', function(){\n\n var timestrap = (+new Date()).toString(36),\n wrapper,\n btnIframeDoc,\n btnIframeBody;\n\n btnIframeDoc = (btnIframe.contentDocument || btnIframe.contentWindow.document);\n btnIframeBody = btnIframeDoc.body;\n wrapper = btnIframeDoc.createElement('div');\n\n wrapper.innerHTML = '
    ' +\n '' +\n '
    ' +\n '';\n\n wrapper.className = 'edui-' + me.options.theme;\n wrapper.id = me.ui.id + '_iframeupload';\n btnIframeBody.style.cssText = btnStyle;\n btnIframeBody.style.width = w + 'px';\n btnIframeBody.style.height = h + 'px';\n btnIframeBody.appendChild(wrapper);\n\n if (btnIframeBody.parentNode) {\n btnIframeBody.parentNode.style.width = w + 'px';\n btnIframeBody.parentNode.style.height = w + 'px';\n }\n\n var form = btnIframeDoc.getElementById('edui_form_' + timestrap);\n var input = btnIframeDoc.getElementById('edui_input_' + timestrap);\n var iframe = btnIframeDoc.getElementById('edui_iframe_' + timestrap);\n\n domUtils.on(input, 'change', function(){\n if(!input.value) return;\n var loadingId = 'loading_' + (+new Date()).toString(36);\n var params = utils.serializeParam(me.queryCommandValue('serverparam')) || '';\n\n var imageActionUrl = me.getActionUrl(me.getOpt('imageActionName'));\n var allowFiles = me.getOpt('imageAllowFiles');\n\n me.focus();\n me.execCommand('inserthtml', '');\n\n function callback(){\n try{\n var link, json, loader,\n body = (iframe.contentDocument || iframe.contentWindow.document).body,\n result = body.innerText || body.textContent || '';\n json = (new Function(\"return \" + result))();\n link = me.options.imageUrlPrefix + json.url;\n if(json.state == 'SUCCESS' && json.url) {\n loader = me.document.getElementById(loadingId);\n loader.setAttribute('src', link);\n loader.setAttribute('_src', link);\n loader.setAttribute('title', json.title || '');\n loader.setAttribute('alt', json.original || '');\n loader.removeAttribute('id');\n domUtils.removeClasses(loader, 'loadingclass');\n } else {\n showErrorLoader && showErrorLoader(json.state);\n }\n }catch(er){\n showErrorLoader && showErrorLoader(me.getLang('simpleupload.loadError'));\n }\n form.reset();\n domUtils.un(iframe, 'load', callback);\n }\n function showErrorLoader(title){\n if(loadingId) {\n var loader = me.document.getElementById(loadingId);\n loader && domUtils.remove(loader);\n me.fireEvent('showmessage', {\n 'id': loadingId,\n 'content': title,\n 'type': 'error',\n 'timeout': 4000\n });\n }\n }\n\n /* 判断后端配置是否没有加载成功 */\n if (!me.getOpt('imageActionName')) {\n errorHandler(me.getLang('autoupload.errorLoadConfig'));\n return;\n }\n // 判断文件格式是否错误\n var filename = input.value,\n fileext = filename ? filename.substr(filename.lastIndexOf('.')):'';\n if (!fileext || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) {\n showErrorLoader(me.getLang('simpleupload.exceedTypeError'));\n return;\n }\n\n domUtils.on(iframe, 'load', callback);\n form.action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?':'&') + params);\n form.submit();\n });\n\n var stateTimer;\n me.addListener('selectionchange', function () {\n clearTimeout(stateTimer);\n stateTimer = setTimeout(function() {\n var state = me.queryCommandState('simpleupload');\n if (state == -1) {\n input.disabled = 'disabled';\n } else {\n input.disabled = false;\n }\n }, 400);\n });\n isLoaded = true;\n });\n\n btnIframe.style.cssText = btnStyle;\n containerBtn.appendChild(btnIframe);\n }\n\n return {\n bindEvents:{\n 'ready': function() {\n //设置loading的样式\n utils.cssRule('loading',\n '.loadingclass{display:inline-block;cursor:default;background: url(\\''\n + this.options.themePath\n + this.options.theme +'/images/loading.gif\\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}\\n' +\n '.loaderrorclass{display:inline-block;cursor:default;background: url(\\''\n + this.options.themePath\n + this.options.theme +'/images/loaderror.png\\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;' +\n '}',\n this.document);\n },\n /* 初始化简单上传按钮 */\n 'simpleuploadbtnready': function(type, container) {\n containerBtn = container;\n me.afterConfigReady(initUploadBtn);\n }\n },\n outputRule: function(root){\n utils.each(root.getNodesByTagName('img'),function(n){\n if (/\\b(loaderrorclass)|(bloaderrorclass)\\b/.test(n.getAttr('class'))) {\n n.parentNode.removeChild(n);\n }\n });\n },\n commands: {\n 'simpleupload': {\n queryCommandState: function () {\n return isLoaded ? 0:-1;\n }\n }\n }\n }\n});\n\n// plugins/serverparam.js\n/**\n * 服务器提交的额外参数列表设置插件\n * @file\n * @since 1.2.6.1\n */\nUE.plugin.register('serverparam', function (){\n\n var me = this,\n serverParam = {};\n\n return {\n commands:{\n /**\n * 修改服务器提交的额外参数列表,清除所有项\n * @command serverparam\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.execCommand('serverparam');\n * editor.queryCommandValue('serverparam'); //返回空\n * ```\n */\n /**\n * 修改服务器提交的额外参数列表,删除指定项\n * @command serverparam\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } key 要清除的属性\n * @example\n * ```javascript\n * editor.execCommand('serverparam', 'name'); //删除属性name\n * ```\n */\n /**\n * 修改服务器提交的额外参数列表,使用键值添加项\n * @command serverparam\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { String } key 要添加的属性\n * @param { String } value 要添加属性的值\n * @example\n * ```javascript\n * editor.execCommand('serverparam', 'name', 'hello');\n * editor.queryCommandValue('serverparam'); //返回对象 {'name': 'hello'}\n * ```\n */\n /**\n * 修改服务器提交的额外参数列表,传入键值对对象添加多项\n * @command serverparam\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { Object } key 传入的键值对对象\n * @example\n * ```javascript\n * editor.execCommand('serverparam', {'name': 'hello'});\n * editor.queryCommandValue('serverparam'); //返回对象 {'name': 'hello'}\n * ```\n */\n /**\n * 修改服务器提交的额外参数列表,使用自定义函数添加多项\n * @command serverparam\n * @method execCommand\n * @param { String } cmd 命令字符串\n * @param { Function } key 自定义获取参数的函数\n * @example\n * ```javascript\n * editor.execCommand('serverparam', function(editor){\n * return {'key': 'value'};\n * });\n * editor.queryCommandValue('serverparam'); //返回对象 {'key': 'value'}\n * ```\n */\n\n /**\n * 获取服务器提交的额外参数列表\n * @command serverparam\n * @method queryCommandValue\n * @param { String } cmd 命令字符串\n * @example\n * ```javascript\n * editor.queryCommandValue( 'serverparam' ); //返回对象 {'key': 'value'}\n * ```\n */\n 'serverparam':{\n execCommand:function (cmd, key, value) {\n if (key === undefined || key === null) { //不传参数,清空列表\n serverParam = {};\n } else if (utils.isString(key)) { //传入键值\n if(value === undefined || value === null) {\n delete serverParam[key];\n } else {\n serverParam[key] = value;\n }\n } else if (utils.isObject(key)) { //传入对象,覆盖列表项\n utils.extend(serverParam, key, true);\n } else if (utils.isFunction(key)){ //传入函数,添加列表项\n utils.extend(serverParam, key(), true);\n }\n },\n queryCommandValue: function(){\n return serverParam || {};\n }\n }\n }\n }\n});\n\n\n// plugins/insertfile.js\n/**\n * 插入附件\n */\nUE.plugin.register('insertfile', function (){\n\n var me = this;\n\n function getFileIcon(url){\n var ext = url.substr(url.lastIndexOf('.') + 1).toLowerCase(),\n maps = {\n \"rar\":\"icon_rar.gif\",\n \"zip\":\"icon_rar.gif\",\n \"tar\":\"icon_rar.gif\",\n \"gz\":\"icon_rar.gif\",\n \"bz2\":\"icon_rar.gif\",\n \"doc\":\"icon_doc.gif\",\n \"docx\":\"icon_doc.gif\",\n \"pdf\":\"icon_pdf.gif\",\n \"mp3\":\"icon_mp3.gif\",\n \"xls\":\"icon_xls.gif\",\n \"chm\":\"icon_chm.gif\",\n \"ppt\":\"icon_ppt.gif\",\n \"pptx\":\"icon_ppt.gif\",\n \"avi\":\"icon_mv.gif\",\n \"rmvb\":\"icon_mv.gif\",\n \"wmv\":\"icon_mv.gif\",\n \"flv\":\"icon_mv.gif\",\n \"swf\":\"icon_mv.gif\",\n \"rm\":\"icon_mv.gif\",\n \"exe\":\"icon_exe.gif\",\n \"psd\":\"icon_psd.gif\",\n \"txt\":\"icon_txt.gif\",\n \"jpg\":\"icon_jpg.gif\",\n \"png\":\"icon_jpg.gif\",\n \"jpeg\":\"icon_jpg.gif\",\n \"gif\":\"icon_jpg.gif\",\n \"ico\":\"icon_jpg.gif\",\n \"bmp\":\"icon_jpg.gif\"\n };\n return maps[ext] ? maps[ext]:maps['txt'];\n }\n\n return {\n commands:{\n 'insertfile': {\n execCommand: function (command, filelist){\n filelist = utils.isArray(filelist) ? filelist : [filelist];\n\n var i, item, icon, title,\n html = '',\n URL = me.getOpt('UEDITOR_HOME_URL'),\n iconDir = URL + (URL.substr(URL.length - 1) == '/' ? '':'/') + 'dialogs/attachment/fileTypeImages/';\n for (i = 0; i < filelist.length; i++) {\n item = filelist[i];\n icon = iconDir + getFileIcon(item.url);\n title = item.title || item.url.substr(item.url.lastIndexOf('/') + 1);\n html += '

    ' +\n '' +\n '' + title + '' +\n '

    ';\n }\n me.execCommand('insertHtml', html);\n }\n }\n }\n }\n});\n\n\n\n\n// plugins/xssFilter.js\n/**\n * @file xssFilter.js\n * @desc xss过滤器\n * @author robbenmu\n */\n\nUE.plugins.xssFilter = function() {\n\n\tvar config = UEDITOR_CONFIG;\n\tvar whitList = config.whitList;\n\n\tfunction filter(node) {\n\n\t\tvar tagName = node.tagName;\n\t\tvar attrs = node.attrs;\n\n\t\tif (!whitList.hasOwnProperty(tagName)) {\n\t\t\tnode.parentNode.removeChild(node);\n\t\t\treturn false;\n\t\t}\n\n\t\tUE.utils.each(attrs, function (val, key) {\n\n\t\t\tif (whitList[tagName].indexOf(key) === -1) {\n\t\t\t\tnode.setAttr(key);\n\t\t\t}\n\t\t});\n\t}\n\n\t// 添加inserthtml\\paste等操作用的过滤规则\n\tif (whitList && config.xssFilterRules) {\n\t\tthis.options.filterRules = function () {\n\n\t\t\tvar result = {};\n\n\t\t\tUE.utils.each(whitList, function(val, key) {\n\t\t\t\tresult[key] = function (node) {\n\t\t\t\t\treturn filter(node);\n\t\t\t\t};\n\t\t\t});\n\n\t\t\treturn result;\n\t\t}();\n\t}\n\n\tvar tagList = [];\n\n\tUE.utils.each(whitList, function (val, key) {\n\t\ttagList.push(key);\n\t});\n\n\t// 添加input过滤规则\n\t//\n\tif (whitList && config.inputXssFilter) {\n\t\tthis.addInputRule(function (root) {\n\n\t\t\troot.traversal(function(node) {\n\t\t\t\tif (node.type !== 'element') {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tfilter(node);\n\t\t\t});\n\t\t});\n\t}\n\t// 添加output过滤规则\n\t//\n\tif (whitList && config.outputXssFilter) {\n\t\tthis.addOutputRule(function (root) {\n\n\t\t\troot.traversal(function(node) {\n\t\t\t\tif (node.type !== 'element') {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tfilter(node);\n\t\t\t});\n\t\t});\n\t}\n\n};\n\n\n// ui/ui.js\nvar baidu = baidu || {};\nbaidu.editor = baidu.editor || {};\nUE.ui = baidu.editor.ui = {};\n\n// ui/uiutils.js\n(function (){\n var browser = baidu.editor.browser,\n domUtils = baidu.editor.dom.domUtils;\n\n var magic = '$EDITORUI';\n var root = window[magic] = {};\n var uidMagic = 'ID' + magic;\n var uidCount = 0;\n\n var uiUtils = baidu.editor.ui.uiUtils = {\n uid: function (obj){\n return (obj ? obj[uidMagic] || (obj[uidMagic] = ++ uidCount) : ++ uidCount);\n },\n hook: function ( fn, callback ) {\n var dg;\n if (fn && fn._callbacks) {\n dg = fn;\n } else {\n dg = function (){\n var q;\n if (fn) {\n q = fn.apply(this, arguments);\n }\n var callbacks = dg._callbacks;\n var k = callbacks.length;\n while (k --) {\n var r = callbacks[k].apply(this, arguments);\n if (q === undefined) {\n q = r;\n }\n }\n return q;\n };\n dg._callbacks = [];\n }\n dg._callbacks.push(callback);\n return dg;\n },\n createElementByHtml: function (html){\n var el = document.createElement('div');\n el.innerHTML = html;\n el = el.firstChild;\n el.parentNode.removeChild(el);\n return el;\n },\n getViewportElement: function (){\n return (browser.ie && browser.quirks) ?\n document.body : document.documentElement;\n },\n getClientRect: function (element){\n var bcr;\n //trace IE6下在控制编辑器显隐时可能会报错,catch一下\n try{\n bcr = element.getBoundingClientRect();\n }catch(e){\n bcr={left:0,top:0,height:0,width:0}\n }\n var rect = {\n left: Math.round(bcr.left),\n top: Math.round(bcr.top),\n height: Math.round(bcr.bottom - bcr.top),\n width: Math.round(bcr.right - bcr.left)\n };\n var doc;\n while ((doc = element.ownerDocument) !== document &&\n (element = domUtils.getWindow(doc).frameElement)) {\n bcr = element.getBoundingClientRect();\n rect.left += bcr.left;\n rect.top += bcr.top;\n }\n rect.bottom = rect.top + rect.height;\n rect.right = rect.left + rect.width;\n return rect;\n },\n getViewportRect: function (){\n var viewportEl = uiUtils.getViewportElement();\n var width = (window.innerWidth || viewportEl.clientWidth) | 0;\n var height = (window.innerHeight ||viewportEl.clientHeight) | 0;\n return {\n left: 0,\n top: 0,\n height: height,\n width: width,\n bottom: height,\n right: width\n };\n },\n setViewportOffset: function (element, offset){\n var rect;\n var fixedLayer = uiUtils.getFixedLayer();\n if (element.parentNode === fixedLayer) {\n element.style.left = offset.left + 'px';\n element.style.top = offset.top + 'px';\n } else {\n domUtils.setViewportOffset(element, offset);\n }\n },\n getEventOffset: function (evt){\n var el = evt.target || evt.srcElement;\n var rect = uiUtils.getClientRect(el);\n var offset = uiUtils.getViewportOffsetByEvent(evt);\n return {\n left: offset.left - rect.left,\n top: offset.top - rect.top\n };\n },\n getViewportOffsetByEvent: function (evt){\n var el = evt.target || evt.srcElement;\n var frameEl = domUtils.getWindow(el).frameElement;\n var offset = {\n left: evt.clientX,\n top: evt.clientY\n };\n if (frameEl && el.ownerDocument !== document) {\n var rect = uiUtils.getClientRect(frameEl);\n offset.left += rect.left;\n offset.top += rect.top;\n }\n return offset;\n },\n setGlobal: function (id, obj){\n root[id] = obj;\n return magic + '[\"' + id + '\"]';\n },\n unsetGlobal: function (id){\n delete root[id];\n },\n copyAttributes: function (tgt, src){\n var attributes = src.attributes;\n var k = attributes.length;\n while (k --) {\n var attrNode = attributes[k];\n if ( attrNode.nodeName != 'style' && attrNode.nodeName != 'class' && (!browser.ie || attrNode.specified) ) {\n tgt.setAttribute(attrNode.nodeName, attrNode.nodeValue);\n }\n }\n if (src.className) {\n domUtils.addClass(tgt,src.className);\n }\n if (src.style.cssText) {\n tgt.style.cssText += ';' + src.style.cssText;\n }\n },\n removeStyle: function (el, styleName){\n if (el.style.removeProperty) {\n el.style.removeProperty(styleName);\n } else if (el.style.removeAttribute) {\n el.style.removeAttribute(styleName);\n } else throw '';\n },\n contains: function (elA, elB){\n return elA && elB && (elA === elB ? false : (\n elA.contains ? elA.contains(elB) :\n elA.compareDocumentPosition(elB) & 16\n ));\n },\n startDrag: function (evt, callbacks,doc){\n var doc = doc || document;\n var startX = evt.clientX;\n var startY = evt.clientY;\n function handleMouseMove(evt){\n var x = evt.clientX - startX;\n var y = evt.clientY - startY;\n callbacks.ondragmove(x, y,evt);\n if (evt.stopPropagation) {\n evt.stopPropagation();\n } else {\n evt.cancelBubble = true;\n }\n }\n if (doc.addEventListener) {\n function handleMouseUp(evt){\n doc.removeEventListener('mousemove', handleMouseMove, true);\n doc.removeEventListener('mouseup', handleMouseUp, true);\n window.removeEventListener('mouseup', handleMouseUp, true);\n callbacks.ondragstop();\n }\n doc.addEventListener('mousemove', handleMouseMove, true);\n doc.addEventListener('mouseup', handleMouseUp, true);\n window.addEventListener('mouseup', handleMouseUp, true);\n\n evt.preventDefault();\n } else {\n var elm = evt.srcElement;\n elm.setCapture();\n function releaseCaptrue(){\n elm.releaseCapture();\n elm.detachEvent('onmousemove', handleMouseMove);\n elm.detachEvent('onmouseup', releaseCaptrue);\n elm.detachEvent('onlosecaptrue', releaseCaptrue);\n callbacks.ondragstop();\n }\n elm.attachEvent('onmousemove', handleMouseMove);\n elm.attachEvent('onmouseup', releaseCaptrue);\n elm.attachEvent('onlosecaptrue', releaseCaptrue);\n evt.returnValue = false;\n }\n callbacks.ondragstart();\n },\n getFixedLayer: function (){\n var layer = document.getElementById('edui_fixedlayer');\n if (layer == null) {\n layer = document.createElement('div');\n layer.id = 'edui_fixedlayer';\n document.body.appendChild(layer);\n if (browser.ie && browser.version <= 8) {\n layer.style.position = 'absolute';\n bindFixedLayer();\n setTimeout(updateFixedOffset);\n } else {\n layer.style.position = 'fixed';\n }\n layer.style.left = '0';\n layer.style.top = '0';\n layer.style.width = '0';\n layer.style.height = '0';\n }\n return layer;\n },\n makeUnselectable: function (element){\n if (browser.opera || (browser.ie && browser.version < 9)) {\n element.unselectable = 'on';\n if (element.hasChildNodes()) {\n for (var i=0; i';\n }\n };\n utils.inherits(Separator, UIBase);\n\n})();\n\n\n// ui/mask.js\n///import core\n///import uicore\n(function (){\n var utils = baidu.editor.utils,\n domUtils = baidu.editor.dom.domUtils,\n UIBase = baidu.editor.ui.UIBase,\n uiUtils = baidu.editor.ui.uiUtils;\n\n var Mask = baidu.editor.ui.Mask = function (options){\n this.initOptions(options);\n this.initUIBase();\n };\n Mask.prototype = {\n getHtmlTpl: function (){\n return '
    ';\n },\n postRender: function (){\n var me = this;\n domUtils.on(window, 'resize', function (){\n setTimeout(function (){\n if (!me.isHidden()) {\n me._fill();\n }\n });\n });\n },\n show: function (zIndex){\n this._fill();\n this.getDom().style.display = '';\n this.getDom().style.zIndex = zIndex;\n },\n hide: function (){\n this.getDom().style.display = 'none';\n this.getDom().style.zIndex = '';\n },\n isHidden: function (){\n return this.getDom().style.display == 'none';\n },\n _onMouseDown: function (){\n return false;\n },\n _onClick: function (e, target){\n this.fireEvent('click', e, target);\n },\n _fill: function (){\n var el = this.getDom();\n var vpRect = uiUtils.getViewportRect();\n el.style.width = vpRect.width + 'px';\n el.style.height = vpRect.height + 'px';\n }\n };\n utils.inherits(Mask, UIBase);\n})();\n\n\n// ui/popup.js\n///import core\n///import uicore\n(function () {\n var utils = baidu.editor.utils,\n uiUtils = baidu.editor.ui.uiUtils,\n domUtils = baidu.editor.dom.domUtils,\n UIBase = baidu.editor.ui.UIBase,\n Popup = baidu.editor.ui.Popup = function (options){\n this.initOptions(options);\n this.initPopup();\n };\n\n var allPopups = [];\n function closeAllPopup( evt,el ){\n for ( var i = 0; i < allPopups.length; i++ ) {\n var pop = allPopups[i];\n if (!pop.isHidden()) {\n if (pop.queryAutoHide(el) !== false) {\n if(evt&&/scroll/ig.test(evt.type)&&pop.className==\"edui-wordpastepop\") return;\n pop.hide();\n }\n }\n }\n\n if(allPopups.length)\n pop.editor.fireEvent(\"afterhidepop\");\n }\n\n Popup.postHide = closeAllPopup;\n\n var ANCHOR_CLASSES = ['edui-anchor-topleft','edui-anchor-topright',\n 'edui-anchor-bottomleft','edui-anchor-bottomright'];\n Popup.prototype = {\n SHADOW_RADIUS: 5,\n content: null,\n _hidden: false,\n autoRender: true,\n canSideLeft: true,\n canSideUp: true,\n initPopup: function (){\n this.initUIBase();\n allPopups.push( this );\n },\n getHtmlTpl: function (){\n return '
    ' +\n '
    ' +\n ' ' +\n '
    ' +\n '
    ' +\n this.getContentHtmlTpl() +\n '
    ' +\n '
    ' +\n '
    ';\n },\n getContentHtmlTpl: function (){\n if(this.content){\n if (typeof this.content == 'string') {\n return this.content;\n }\n return this.content.renderHtml();\n }else{\n return ''\n }\n\n },\n _UIBase_postRender: UIBase.prototype.postRender,\n postRender: function (){\n\n\n if (this.content instanceof UIBase) {\n this.content.postRender();\n }\n\n //捕获鼠标滚轮\n if( this.captureWheel && !this.captured ) {\n\n this.captured = true;\n\n var winHeight = ( document.documentElement.clientHeight || document.body.clientHeight ) - 80,\n _height = this.getDom().offsetHeight,\n _top = uiUtils.getClientRect( this.combox.getDom() ).top,\n content = this.getDom('content'),\n ifr = this.getDom('body').getElementsByTagName('iframe'),\n me = this;\n\n ifr.length && ( ifr = ifr[0] );\n\n while( _top + _height > winHeight ) {\n _height -= 30;\n }\n content.style.height = _height + 'px';\n //同步更改iframe高度\n ifr && ( ifr.style.height = _height + 'px' );\n\n //阻止在combox上的鼠标滚轮事件, 防止用户的正常操作被误解\n if( window.XMLHttpRequest ) {\n\n domUtils.on( content, ( 'onmousewheel' in document.body ) ? 'mousewheel' :'DOMMouseScroll' , function(e){\n\n if(e.preventDefault) {\n e.preventDefault();\n } else {\n e.returnValue = false;\n }\n\n if( e.wheelDelta ) {\n\n content.scrollTop -= ( e.wheelDelta / 120 )*60;\n\n } else {\n\n content.scrollTop -= ( e.detail / -3 )*60;\n\n }\n\n });\n\n } else {\n\n //ie6\n domUtils.on( this.getDom(), 'mousewheel' , function(e){\n\n e.returnValue = false;\n\n me.getDom('content').scrollTop -= ( e.wheelDelta / 120 )*60;\n\n });\n\n }\n\n }\n this.fireEvent('postRenderAfter');\n this.hide(true);\n this._UIBase_postRender();\n },\n _doAutoRender: function (){\n if (!this.getDom() && this.autoRender) {\n this.render();\n }\n },\n mesureSize: function (){\n var box = this.getDom('content');\n return uiUtils.getClientRect(box);\n },\n fitSize: function (){\n if( this.captureWheel && this.sized ) {\n return this.__size;\n }\n this.sized = true;\n var popBodyEl = this.getDom('body');\n popBodyEl.style.width = '';\n popBodyEl.style.height = '';\n var size = this.mesureSize();\n if( this.captureWheel ) {\n popBodyEl.style.width = -(-20 -size.width) + 'px';\n var height = parseInt( this.getDom('content').style.height, 10 );\n !window.isNaN( height ) && ( size.height = height );\n } else {\n popBodyEl.style.width = size.width + 'px';\n }\n popBodyEl.style.height = size.height + 'px';\n this.__size = size;\n this.captureWheel && (this.getDom('content').style.overflow = 'auto');\n return size;\n },\n showAnchor: function ( element, hoz ){\n this.showAnchorRect( uiUtils.getClientRect( element ), hoz );\n },\n showAnchorRect: function ( rect, hoz, adj ){\n this._doAutoRender();\n var vpRect = uiUtils.getViewportRect();\n this.getDom().style.visibility = 'hidden';\n this._show();\n var popSize = this.fitSize();\n\n var sideLeft, sideUp, left, top;\n if (hoz) {\n sideLeft = this.canSideLeft && (rect.right + popSize.width > vpRect.right && rect.left > popSize.width);\n sideUp = this.canSideUp && (rect.top + popSize.height > vpRect.bottom && rect.bottom > popSize.height);\n left = (sideLeft ? rect.left - popSize.width : rect.right);\n top = (sideUp ? rect.bottom - popSize.height : rect.top);\n } else {\n sideLeft = this.canSideLeft && (rect.right + popSize.width > vpRect.right && rect.left > popSize.width);\n sideUp = this.canSideUp && (rect.top + popSize.height > vpRect.bottom && rect.bottom > popSize.height);\n left = (sideLeft ? rect.right - popSize.width : rect.left);\n top = (sideUp ? rect.top - popSize.height : rect.bottom);\n }\n\n var popEl = this.getDom();\n uiUtils.setViewportOffset(popEl, {\n left: left,\n top: top\n });\n domUtils.removeClasses(popEl, ANCHOR_CLASSES);\n popEl.className += ' ' + ANCHOR_CLASSES[(sideUp ? 1 : 0) * 2 + (sideLeft ? 1 : 0)];\n if(this.editor){\n popEl.style.zIndex = this.editor.container.style.zIndex * 1 + 10;\n baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex = popEl.style.zIndex - 1;\n }\n this.getDom().style.visibility = 'visible';\n\n },\n showAt: function (offset) {\n var left = offset.left;\n var top = offset.top;\n var rect = {\n left: left,\n top: top,\n right: left,\n bottom: top,\n height: 0,\n width: 0\n };\n this.showAnchorRect(rect, false, true);\n },\n _show: function (){\n if (this._hidden) {\n var box = this.getDom();\n box.style.display = '';\n this._hidden = false;\n// if (box.setActive) {\n// box.setActive();\n// }\n this.fireEvent('show');\n }\n },\n isHidden: function (){\n return this._hidden;\n },\n show: function (){\n this._doAutoRender();\n this._show();\n },\n hide: function (notNofity){\n if (!this._hidden && this.getDom()) {\n this.getDom().style.display = 'none';\n this._hidden = true;\n if (!notNofity) {\n this.fireEvent('hide');\n }\n }\n },\n queryAutoHide: function (el){\n return !el || !uiUtils.contains(this.getDom(), el);\n }\n };\n utils.inherits(Popup, UIBase);\n\n domUtils.on( document, 'mousedown', function ( evt ) {\n var el = evt.target || evt.srcElement;\n closeAllPopup( evt,el );\n } );\n domUtils.on( window, 'scroll', function (evt,el) {\n closeAllPopup( evt,el );\n } );\n\n})();\n\n\n// ui/colorpicker.js\n///import core\n///import uicore\n(function (){\n var utils = baidu.editor.utils,\n UIBase = baidu.editor.ui.UIBase,\n ColorPicker = baidu.editor.ui.ColorPicker = function (options){\n this.initOptions(options);\n this.noColorText = this.noColorText || this.editor.getLang(\"clearColor\");\n this.initUIBase();\n };\n\n ColorPicker.prototype = {\n getHtmlTpl: function (){\n return genColorPicker(this.noColorText,this.editor);\n },\n _onTableClick: function (evt){\n var tgt = evt.target || evt.srcElement;\n var color = tgt.getAttribute('data-color');\n if (color) {\n this.fireEvent('pickcolor', color);\n }\n },\n _onTableOver: function (evt){\n var tgt = evt.target || evt.srcElement;\n var color = tgt.getAttribute('data-color');\n if (color) {\n this.getDom('preview').style.backgroundColor = color;\n }\n },\n _onTableOut: function (){\n this.getDom('preview').style.backgroundColor = '';\n },\n _onPickNoColor: function (){\n this.fireEvent('picknocolor');\n }\n };\n utils.inherits(ColorPicker, UIBase);\n\n var COLORS = (\n 'ffffff,000000,eeece1,1f497d,4f81bd,c0504d,9bbb59,8064a2,4bacc6,f79646,' +\n 'f2f2f2,7f7f7f,ddd9c3,c6d9f0,dbe5f1,f2dcdb,ebf1dd,e5e0ec,dbeef3,fdeada,' +\n 'd8d8d8,595959,c4bd97,8db3e2,b8cce4,e5b9b7,d7e3bc,ccc1d9,b7dde8,fbd5b5,' +\n 'bfbfbf,3f3f3f,938953,548dd4,95b3d7,d99694,c3d69b,b2a2c7,92cddc,fac08f,' +\n 'a5a5a5,262626,494429,17365d,366092,953734,76923c,5f497a,31859b,e36c09,' +\n '7f7f7f,0c0c0c,1d1b10,0f243e,244061,632423,4f6128,3f3151,205867,974806,' +\n 'c00000,ff0000,ffc000,ffff00,92d050,00b050,00b0f0,0070c0,002060,7030a0,').split(',');\n\n function genColorPicker(noColorText,editor){\n var html = '
    ' +\n '
    ' +\n '
    ' +\n '
    '+ noColorText +'
    ' +\n '
    ' +\n '' +\n ''+\n '';\n for (var i=0; i':'')+'';\n }\n html += i<70 ? '':'';\n }\n html += '
    '+editor.getLang(\"themeColor\")+'
    '+editor.getLang(\"standardColor\")+'
    =60?'border-width:1px;':\n i>=10&&i<20?'border-width:1px 1px 0 1px;':\n\n 'border-width:0 1px 0 1px;')+\n '\"' +\n '>
    ';\n return html;\n }\n})();\n\n\n// ui/tablepicker.js\n///import core\n///import uicore\n(function (){\n var utils = baidu.editor.utils,\n uiUtils = baidu.editor.ui.uiUtils,\n UIBase = baidu.editor.ui.UIBase;\n\n var TablePicker = baidu.editor.ui.TablePicker = function (options){\n this.initOptions(options);\n this.initTablePicker();\n };\n TablePicker.prototype = {\n defaultNumRows: 10,\n defaultNumCols: 10,\n maxNumRows: 20,\n maxNumCols: 20,\n numRows: 10,\n numCols: 10,\n lengthOfCellSide: 22,\n initTablePicker: function (){\n this.initUIBase();\n },\n getHtmlTpl: function (){\n var me = this;\n return '
    ' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ';\n },\n _UIBase_render: UIBase.prototype.render,\n render: function (holder){\n this._UIBase_render(holder);\n this.getDom('label').innerHTML = '0'+this.editor.getLang(\"t_row\")+' x 0'+this.editor.getLang(\"t_col\");\n },\n _track: function (numCols, numRows){\n var style = this.getDom('overlay').style;\n var sideLen = this.lengthOfCellSide;\n style.width = numCols * sideLen + 'px';\n style.height = numRows * sideLen + 'px';\n var label = this.getDom('label');\n label.innerHTML = numCols +this.editor.getLang(\"t_col\")+' x ' + numRows + this.editor.getLang(\"t_row\");\n this.numCols = numCols;\n this.numRows = numRows;\n },\n _onMouseOver: function (evt, el){\n var rel = evt.relatedTarget || evt.fromElement;\n if (!uiUtils.contains(el, rel) && el !== rel) {\n this.getDom('label').innerHTML = '0'+this.editor.getLang(\"t_col\")+' x 0'+this.editor.getLang(\"t_row\");\n this.getDom('overlay').style.visibility = '';\n }\n },\n _onMouseOut: function (evt, el){\n var rel = evt.relatedTarget || evt.toElement;\n if (!uiUtils.contains(el, rel) && el !== rel) {\n this.getDom('label').innerHTML = '0'+this.editor.getLang(\"t_col\")+' x 0'+this.editor.getLang(\"t_row\");\n this.getDom('overlay').style.visibility = 'hidden';\n }\n },\n _onMouseMove: function (evt, el){\n var style = this.getDom('overlay').style;\n var offset = uiUtils.getEventOffset(evt);\n var sideLen = this.lengthOfCellSide;\n var numCols = Math.ceil(offset.left / sideLen);\n var numRows = Math.ceil(offset.top / sideLen);\n this._track(numCols, numRows);\n },\n _onClick: function (){\n this.fireEvent('picktable', this.numCols, this.numRows);\n }\n };\n utils.inherits(TablePicker, UIBase);\n})();\n\n\n// ui/stateful.js\n(function (){\n var browser = baidu.editor.browser,\n domUtils = baidu.editor.dom.domUtils,\n uiUtils = baidu.editor.ui.uiUtils;\n\n var TPL_STATEFUL = 'onmousedown=\"$$.Stateful_onMouseDown(event, this);\"' +\n ' onmouseup=\"$$.Stateful_onMouseUp(event, this);\"' +\n ( browser.ie ? (\n ' onmouseenter=\"$$.Stateful_onMouseEnter(event, this);\"' +\n ' onmouseleave=\"$$.Stateful_onMouseLeave(event, this);\"' )\n : (\n ' onmouseover=\"$$.Stateful_onMouseOver(event, this);\"' +\n ' onmouseout=\"$$.Stateful_onMouseOut(event, this);\"' ));\n\n baidu.editor.ui.Stateful = {\n alwalysHoverable: false,\n target:null,//目标元素和this指向dom不一样\n Stateful_init: function (){\n this._Stateful_dGetHtmlTpl = this.getHtmlTpl;\n this.getHtmlTpl = this.Stateful_getHtmlTpl;\n },\n Stateful_getHtmlTpl: function (){\n var tpl = this._Stateful_dGetHtmlTpl();\n // 使用function避免$转义\n return tpl.replace(/stateful/g, function (){ return TPL_STATEFUL; });\n },\n Stateful_onMouseEnter: function (evt, el){\n this.target=el;\n if (!this.isDisabled() || this.alwalysHoverable) {\n this.addState('hover');\n this.fireEvent('over');\n }\n },\n Stateful_onMouseLeave: function (evt, el){\n if (!this.isDisabled() || this.alwalysHoverable) {\n this.removeState('hover');\n this.removeState('active');\n this.fireEvent('out');\n }\n },\n Stateful_onMouseOver: function (evt, el){\n var rel = evt.relatedTarget;\n if (!uiUtils.contains(el, rel) && el !== rel) {\n this.Stateful_onMouseEnter(evt, el);\n }\n },\n Stateful_onMouseOut: function (evt, el){\n var rel = evt.relatedTarget;\n if (!uiUtils.contains(el, rel) && el !== rel) {\n this.Stateful_onMouseLeave(evt, el);\n }\n },\n Stateful_onMouseDown: function (evt, el){\n if (!this.isDisabled()) {\n this.addState('active');\n }\n },\n Stateful_onMouseUp: function (evt, el){\n if (!this.isDisabled()) {\n this.removeState('active');\n }\n },\n Stateful_postRender: function (){\n if (this.disabled && !this.hasState('disabled')) {\n this.addState('disabled');\n }\n },\n hasState: function (state){\n return domUtils.hasClass(this.getStateDom(), 'edui-state-' + state);\n },\n addState: function (state){\n if (!this.hasState(state)) {\n this.getStateDom().className += ' edui-state-' + state;\n }\n },\n removeState: function (state){\n if (this.hasState(state)) {\n domUtils.removeClasses(this.getStateDom(), ['edui-state-' + state]);\n }\n },\n getStateDom: function (){\n return this.getDom('state');\n },\n isChecked: function (){\n return this.hasState('checked');\n },\n setChecked: function (checked){\n if (!this.isDisabled() && checked) {\n this.addState('checked');\n } else {\n this.removeState('checked');\n }\n },\n isDisabled: function (){\n return this.hasState('disabled');\n },\n setDisabled: function (disabled){\n if (disabled) {\n this.removeState('hover');\n this.removeState('checked');\n this.removeState('active');\n this.addState('disabled');\n } else {\n this.removeState('disabled');\n }\n }\n };\n})();\n\n\n// ui/button.js\n///import core\n///import uicore\n///import ui/stateful.js\n(function (){\n var utils = baidu.editor.utils,\n UIBase = baidu.editor.ui.UIBase,\n Stateful = baidu.editor.ui.Stateful,\n Button = baidu.editor.ui.Button = function (options){\n if(options.name){\n var btnName = options.name;\n var cssRules = options.cssRules;\n if(!options.className){\n options.className = 'edui-for-' + btnName;\n }\n options.cssRules = '.edui-default .edui-for-'+ btnName +' .edui-icon {'+ cssRules +'}'\n }\n this.initOptions(options);\n this.initButton();\n };\n Button.prototype = {\n uiName: 'button',\n label: '',\n title: '',\n showIcon: true,\n showText: true,\n cssRules:'',\n initButton: function (){\n this.initUIBase();\n this.Stateful_init();\n if(this.cssRules){\n utils.cssRule('edui-customize-'+this.name+'-style',this.cssRules);\n }\n },\n getHtmlTpl: function (){\n return '
    ' +\n '
    ' +\n '
    ' +\n (this.showIcon ? '
    ' : '') +\n (this.showText ? '
    ' + this.label + '
    ' : '') +\n '
    ' +\n '
    ' +\n '
    ';\n },\n postRender: function (){\n this.Stateful_postRender();\n this.setDisabled(this.disabled)\n },\n _onMouseDown: function (e){\n var target = e.target || e.srcElement,\n tagName = target && target.tagName && target.tagName.toLowerCase();\n if (tagName == 'input' || tagName == 'object' || tagName == 'object') {\n return false;\n }\n },\n _onClick: function (){\n if (!this.isDisabled()) {\n this.fireEvent('click');\n }\n },\n setTitle: function(text){\n var label = this.getDom('label');\n label.innerHTML = text;\n }\n };\n utils.inherits(Button, UIBase);\n utils.extend(Button.prototype, Stateful);\n\n})();\n\n\n// ui/splitbutton.js\n///import core\n///import uicore\n///import ui/stateful.js\n(function (){\n var utils = baidu.editor.utils,\n uiUtils = baidu.editor.ui.uiUtils,\n domUtils = baidu.editor.dom.domUtils,\n UIBase = baidu.editor.ui.UIBase,\n Stateful = baidu.editor.ui.Stateful,\n SplitButton = baidu.editor.ui.SplitButton = function (options){\n this.initOptions(options);\n this.initSplitButton();\n };\n SplitButton.prototype = {\n popup: null,\n uiName: 'splitbutton',\n title: '',\n initSplitButton: function (){\n this.initUIBase();\n this.Stateful_init();\n var me = this;\n if (this.popup != null) {\n var popup = this.popup;\n this.popup = null;\n this.setPopup(popup);\n }\n },\n _UIBase_postRender: UIBase.prototype.postRender,\n postRender: function (){\n this.Stateful_postRender();\n this._UIBase_postRender();\n },\n setPopup: function (popup){\n if (this.popup === popup) return;\n if (this.popup != null) {\n this.popup.dispose();\n }\n popup.addListener('show', utils.bind(this._onPopupShow, this));\n popup.addListener('hide', utils.bind(this._onPopupHide, this));\n popup.addListener('postrender', utils.bind(function (){\n popup.getDom('body').appendChild(\n uiUtils.createElementByHtml('
    ')\n );\n popup.getDom().className += ' ' + this.className;\n }, this));\n this.popup = popup;\n },\n _onPopupShow: function (){\n this.addState('opened');\n },\n _onPopupHide: function (){\n this.removeState('opened');\n },\n getHtmlTpl: function (){\n return '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ';\n },\n showPopup: function (){\n // 当popup往上弹出的时候,做特殊处理\n var rect = uiUtils.getClientRect(this.getDom());\n rect.top -= this.popup.SHADOW_RADIUS;\n rect.height += this.popup.SHADOW_RADIUS;\n this.popup.showAnchorRect(rect);\n },\n _onArrowClick: function (event, el){\n if (!this.isDisabled()) {\n this.showPopup();\n }\n },\n _onButtonClick: function (){\n if (!this.isDisabled()) {\n this.fireEvent('buttonclick');\n }\n }\n };\n utils.inherits(SplitButton, UIBase);\n utils.extend(SplitButton.prototype, Stateful, true);\n\n})();\n\n\n// ui/colorbutton.js\n///import core\n///import uicore\n///import ui/colorpicker.js\n///import ui/popup.js\n///import ui/splitbutton.js\n(function (){\n var utils = baidu.editor.utils,\n uiUtils = baidu.editor.ui.uiUtils,\n ColorPicker = baidu.editor.ui.ColorPicker,\n Popup = baidu.editor.ui.Popup,\n SplitButton = baidu.editor.ui.SplitButton,\n ColorButton = baidu.editor.ui.ColorButton = function (options){\n this.initOptions(options);\n this.initColorButton();\n };\n ColorButton.prototype = {\n initColorButton: function (){\n var me = this;\n this.popup = new Popup({\n content: new ColorPicker({\n noColorText: me.editor.getLang(\"clearColor\"),\n editor:me.editor,\n onpickcolor: function (t, color){\n me._onPickColor(color);\n },\n onpicknocolor: function (t, color){\n me._onPickNoColor(color);\n }\n }),\n editor:me.editor\n });\n this.initSplitButton();\n },\n _SplitButton_postRender: SplitButton.prototype.postRender,\n postRender: function (){\n this._SplitButton_postRender();\n this.getDom('button_body').appendChild(\n uiUtils.createElementByHtml('
    ')\n );\n this.getDom().className += ' edui-colorbutton';\n },\n setColor: function (color){\n this.getDom('colorlump').style.backgroundColor = color;\n this.color = color;\n },\n _onPickColor: function (color){\n if (this.fireEvent('pickcolor', color) !== false) {\n this.setColor(color);\n this.popup.hide();\n }\n },\n _onPickNoColor: function (color){\n if (this.fireEvent('picknocolor') !== false) {\n this.popup.hide();\n }\n }\n };\n utils.inherits(ColorButton, SplitButton);\n\n})();\n\n\n// ui/tablebutton.js\n///import core\n///import uicore\n///import ui/popup.js\n///import ui/tablepicker.js\n///import ui/splitbutton.js\n(function (){\n var utils = baidu.editor.utils,\n Popup = baidu.editor.ui.Popup,\n TablePicker = baidu.editor.ui.TablePicker,\n SplitButton = baidu.editor.ui.SplitButton,\n TableButton = baidu.editor.ui.TableButton = function (options){\n this.initOptions(options);\n this.initTableButton();\n };\n TableButton.prototype = {\n initTableButton: function (){\n var me = this;\n this.popup = new Popup({\n content: new TablePicker({\n editor:me.editor,\n onpicktable: function (t, numCols, numRows){\n me._onPickTable(numCols, numRows);\n }\n }),\n 'editor':me.editor\n });\n this.initSplitButton();\n },\n _onPickTable: function (numCols, numRows){\n if (this.fireEvent('picktable', numCols, numRows) !== false) {\n this.popup.hide();\n }\n }\n };\n utils.inherits(TableButton, SplitButton);\n\n})();\n\n\n// ui/autotypesetpicker.js\n///import core\n///import uicore\n(function () {\n var utils = baidu.editor.utils,\n UIBase = baidu.editor.ui.UIBase;\n\n var AutoTypeSetPicker = baidu.editor.ui.AutoTypeSetPicker = function (options) {\n this.initOptions(options);\n this.initAutoTypeSetPicker();\n };\n AutoTypeSetPicker.prototype = {\n initAutoTypeSetPicker:function () {\n this.initUIBase();\n },\n getHtmlTpl:function () {\n var me = this.editor,\n opt = me.options.autotypeset,\n lang = me.getLang(\"autoTypeSet\");\n\n var textAlignInputName = 'textAlignValue' + me.uid,\n imageBlockInputName = 'imageBlockLineValue' + me.uid,\n symbolConverInputName = 'symbolConverValue' + me.uid;\n\n return '
    ' +\n '
    ' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '
    ' + lang.mergeLine + '' + lang.delLine + '
    ' + lang.removeFormat + '' + lang.indent + '
    ' + lang.alignment + '' +\n '' + me.getLang(\"justifyleft\") +\n '' + me.getLang(\"justifycenter\") +\n '' + me.getLang(\"justifyright\") +\n '
    ' + lang.imageFloat + '' +\n '' + me.getLang(\"default\") +\n '' + me.getLang(\"justifyleft\") +\n '' + me.getLang(\"justifycenter\") +\n '' + me.getLang(\"justifyright\") +\n '
    ' + lang.removeFontsize + '' + lang.removeFontFamily + '
    ' + lang.removeHtml + '
    ' + lang.pasteFilter + '
    ' + lang.symbol + '' +\n '' + lang.bdc2sb +\n '' + lang.tobdc + '' +\n '
    ' +\n '
    ' +\n '
    ';\n\n\n },\n _UIBase_render:UIBase.prototype.render\n };\n utils.inherits(AutoTypeSetPicker, UIBase);\n})();\n\n\n// ui/autotypesetbutton.js\n///import core\n///import uicore\n///import ui/popup.js\n///import ui/autotypesetpicker.js\n///import ui/splitbutton.js\n(function (){\n var utils = baidu.editor.utils,\n Popup = baidu.editor.ui.Popup,\n AutoTypeSetPicker = baidu.editor.ui.AutoTypeSetPicker,\n SplitButton = baidu.editor.ui.SplitButton,\n AutoTypeSetButton = baidu.editor.ui.AutoTypeSetButton = function (options){\n this.initOptions(options);\n this.initAutoTypeSetButton();\n };\n function getPara(me){\n\n var opt = {},\n cont = me.getDom(),\n editorId = me.editor.uid,\n inputType = null,\n attrName = null,\n ipts = domUtils.getElementsByTagName(cont,\"input\");\n for(var i=ipts.length-1,ipt;ipt=ipts[i--];){\n inputType = ipt.getAttribute(\"type\");\n if(inputType==\"checkbox\"){\n attrName = ipt.getAttribute(\"name\");\n opt[attrName] && delete opt[attrName];\n if(ipt.checked){\n var attrValue = document.getElementById( attrName + \"Value\" + editorId );\n if(attrValue){\n if(/input/ig.test(attrValue.tagName)){\n opt[attrName] = attrValue.value;\n } else {\n var iptChilds = attrValue.getElementsByTagName(\"input\");\n for(var j=iptChilds.length-1,iptchild;iptchild=iptChilds[j--];){\n if(iptchild.checked){\n opt[attrName] = iptchild.value;\n break;\n }\n }\n }\n } else {\n opt[attrName] = true;\n }\n } else {\n opt[attrName] = false;\n }\n } else {\n opt[ipt.getAttribute(\"value\")] = ipt.checked;\n }\n\n }\n\n var selects = domUtils.getElementsByTagName(cont,\"select\");\n for(var i=0,si;si=selects[i++];){\n var attr = si.getAttribute('name');\n opt[attr] = opt[attr] ? si.value : '';\n }\n\n utils.extend(me.editor.options.autotypeset,opt);\n\n me.editor.setPreferences('autotypeset', opt);\n }\n\n AutoTypeSetButton.prototype = {\n initAutoTypeSetButton: function (){\n\n var me = this;\n this.popup = new Popup({\n //传入配置参数\n content: new AutoTypeSetPicker({editor:me.editor}),\n 'editor':me.editor,\n hide : function(){\n if (!this._hidden && this.getDom()) {\n getPara(this);\n this.getDom().style.display = 'none';\n this._hidden = true;\n this.fireEvent('hide');\n }\n }\n });\n var flag = 0;\n this.popup.addListener('postRenderAfter',function(){\n var popupUI = this;\n if(flag)return;\n var cont = this.getDom(),\n btn = cont.getElementsByTagName('button')[0];\n\n btn.onclick = function(){\n getPara(popupUI);\n me.editor.execCommand('autotypeset');\n popupUI.hide()\n };\n\n domUtils.on(cont, 'click', function(e) {\n var target = e.target || e.srcElement,\n editorId = me.editor.uid;\n if (target && target.tagName == 'INPUT') {\n\n // 点击图片浮动的checkbox,去除对应的radio\n if (target.name == 'imageBlockLine' || target.name == 'textAlign' || target.name == 'symbolConver') {\n var checked = target.checked,\n radioTd = document.getElementById( target.name + 'Value' + editorId),\n radios = radioTd.getElementsByTagName('input'),\n defalutSelect = {\n 'imageBlockLine': 'none',\n 'textAlign': 'left',\n 'symbolConver': 'tobdc'\n };\n\n for (var i = 0; i < radios.length; i++) {\n if (checked) {\n if (radios[i].value == defalutSelect[target.name]) {\n radios[i].checked = 'checked';\n }\n } else {\n radios[i].checked = false;\n }\n }\n }\n // 点击radio,选中对应的checkbox\n if (target.name == ('imageBlockLineValue' + editorId) || target.name == ('textAlignValue' + editorId) || target.name == 'bdc') {\n var checkboxs = target.parentNode.previousSibling.getElementsByTagName('input');\n checkboxs && (checkboxs[0].checked = true);\n }\n\n getPara(popupUI);\n }\n });\n\n flag = 1;\n });\n this.initSplitButton();\n }\n };\n utils.inherits(AutoTypeSetButton, SplitButton);\n\n})();\n\n\n// ui/cellalignpicker.js\n///import core\n///import uicore\n(function () {\n var utils = baidu.editor.utils,\n Popup = baidu.editor.ui.Popup,\n Stateful = baidu.editor.ui.Stateful,\n UIBase = baidu.editor.ui.UIBase;\n\n /**\n * 该参数将新增一个参数: selected, 参数类型为一个Object, 形如{ 'align': 'center', 'valign': 'top' }, 表示单元格的初始\n * 对齐状态为: 竖直居上,水平居中; 其中 align的取值为:'center', 'left', 'right'; valign的取值为: 'top', 'middle', 'bottom'\n * @update 2013/4/2 hancong03@baidu.com\n */\n var CellAlignPicker = baidu.editor.ui.CellAlignPicker = function (options) {\n this.initOptions(options);\n this.initSelected();\n this.initCellAlignPicker();\n };\n CellAlignPicker.prototype = {\n //初始化选中状态, 该方法将根据传递进来的参数获取到应该选中的对齐方式图标的索引\n initSelected: function(){\n\n var status = {\n\n valign: {\n top: 0,\n middle: 1,\n bottom: 2\n },\n align: {\n left: 0,\n center: 1,\n right: 2\n },\n count: 3\n\n },\n result = -1;\n\n if( this.selected ) {\n this.selectedIndex = status.valign[ this.selected.valign ] * status.count + status.align[ this.selected.align ];\n }\n\n },\n initCellAlignPicker:function () {\n this.initUIBase();\n this.Stateful_init();\n },\n getHtmlTpl:function () {\n\n var alignType = [ 'left', 'center', 'right' ],\n COUNT = 9,\n tempClassName = null,\n tempIndex = -1,\n tmpl = [];\n\n\n for( var i= 0; i');\n\n tmpl.push( '
    ' );\n\n tempIndex === 2 && tmpl.push('');\n\n }\n\n return '
    ' +\n '
    ' +\n '' +\n tmpl.join('') +\n '
    ' +\n '
    ' +\n '
    ';\n },\n getStateDom: function (){\n return this.target;\n },\n _onClick: function (evt){\n var target= evt.target || evt.srcElement;\n if(/icon/.test(target.className)){\n this.items[target.parentNode.getAttribute(\"index\")].onclick();\n Popup.postHide(evt);\n }\n },\n _UIBase_render:UIBase.prototype.render\n };\n utils.inherits(CellAlignPicker, UIBase);\n utils.extend(CellAlignPicker.prototype, Stateful,true);\n})();\n\n\n\n\n\n// ui/pastepicker.js\n///import core\n///import uicore\n(function () {\n var utils = baidu.editor.utils,\n Stateful = baidu.editor.ui.Stateful,\n uiUtils = baidu.editor.ui.uiUtils,\n UIBase = baidu.editor.ui.UIBase;\n\n var PastePicker = baidu.editor.ui.PastePicker = function (options) {\n this.initOptions(options);\n this.initPastePicker();\n };\n PastePicker.prototype = {\n initPastePicker:function () {\n this.initUIBase();\n this.Stateful_init();\n },\n getHtmlTpl:function () {\n return '
    ' +\n '
    ' +\n '
    ' + this.editor.getLang(\"pasteOpt\") + '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n ''\n },\n getStateDom:function () {\n return this.target;\n },\n format:function (param) {\n this.editor.ui._isTransfer = true;\n this.editor.fireEvent('pasteTransfer', param);\n },\n _onClick:function (cur) {\n var node = domUtils.getNextDomNode(cur),\n screenHt = uiUtils.getViewportRect().height,\n subPop = uiUtils.getClientRect(node);\n\n if ((subPop.top + subPop.height) > screenHt)\n node.style.top = (-subPop.height - cur.offsetHeight) + \"px\";\n else\n node.style.top = \"\";\n\n if (/hidden/ig.test(domUtils.getComputedStyle(node, \"visibility\"))) {\n node.style.visibility = \"visible\";\n domUtils.addClass(cur, \"edui-state-opened\");\n } else {\n node.style.visibility = \"hidden\";\n domUtils.removeClasses(cur, \"edui-state-opened\")\n }\n },\n _UIBase_render:UIBase.prototype.render\n };\n utils.inherits(PastePicker, UIBase);\n utils.extend(PastePicker.prototype, Stateful, true);\n})();\n\n\n\n\n\n\n// ui/toolbar.js\n(function (){\n var utils = baidu.editor.utils,\n uiUtils = baidu.editor.ui.uiUtils,\n UIBase = baidu.editor.ui.UIBase,\n Toolbar = baidu.editor.ui.Toolbar = function (options){\n this.initOptions(options);\n this.initToolbar();\n };\n Toolbar.prototype = {\n items: null,\n initToolbar: function (){\n this.items = this.items || [];\n this.initUIBase();\n },\n add: function (item,index){\n if(index === undefined){\n this.items.push(item);\n }else{\n this.items.splice(index,0,item)\n }\n\n },\n getHtmlTpl: function (){\n var buff = [];\n for (var i=0; i' +\n buff.join('') +\n ''\n },\n postRender: function (){\n var box = this.getDom();\n for (var i=0; i
    ';\n },\n postRender:function () {\n },\n queryAutoHide:function () {\n return true;\n }\n };\n Menu.prototype = {\n items:null,\n uiName:'menu',\n initMenu:function () {\n this.items = this.items || [];\n this.initPopup();\n this.initItems();\n },\n initItems:function () {\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n if (item == '-') {\n this.items[i] = this.getSeparator();\n } else if (!(item instanceof MenuItem)) {\n item.editor = this.editor;\n item.theme = this.editor.options.theme;\n this.items[i] = this.createItem(item);\n }\n }\n },\n getSeparator:function () {\n return menuSeparator;\n },\n createItem:function (item) {\n //新增一个参数menu, 该参数存储了menuItem所对应的menu引用\n item.menu = this;\n return new MenuItem(item);\n },\n _Popup_getContentHtmlTpl:Popup.prototype.getContentHtmlTpl,\n getContentHtmlTpl:function () {\n if (this.items.length == 0) {\n return this._Popup_getContentHtmlTpl();\n }\n var buff = [];\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n buff[i] = item.renderHtml();\n }\n return ('
    ' + buff.join('') + '
    ');\n },\n _Popup_postRender:Popup.prototype.postRender,\n postRender:function () {\n var me = this;\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n item.ownerMenu = this;\n item.postRender();\n }\n domUtils.on(this.getDom(), 'mouseover', function (evt) {\n evt = evt || event;\n var rel = evt.relatedTarget || evt.fromElement;\n var el = me.getDom();\n if (!uiUtils.contains(el, rel) && el !== rel) {\n me.fireEvent('over');\n }\n });\n this._Popup_postRender();\n },\n queryAutoHide:function (el) {\n if (el) {\n if (uiUtils.contains(this.getDom(), el)) {\n return false;\n }\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n if (item.queryAutoHide(el) === false) {\n return false;\n }\n }\n }\n },\n clearItems:function () {\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n clearTimeout(item._showingTimer);\n clearTimeout(item._closingTimer);\n if (item.subMenu) {\n item.subMenu.destroy();\n }\n }\n this.items = [];\n },\n destroy:function () {\n if (this.getDom()) {\n domUtils.remove(this.getDom());\n }\n this.clearItems();\n },\n dispose:function () {\n this.destroy();\n }\n };\n utils.inherits(Menu, Popup);\n\n /**\n * @update 2013/04/03 hancong03 新增一个参数menu, 该参数存储了menuItem所对应的menu引用\n * @type {Function}\n */\n var MenuItem = baidu.editor.ui.MenuItem = function (options) {\n this.initOptions(options);\n this.initUIBase();\n this.Stateful_init();\n if (this.subMenu && !(this.subMenu instanceof Menu)) {\n if (options.className && options.className.indexOf(\"aligntd\") != -1) {\n var me = this;\n\n //获取单元格对齐初始状态\n this.subMenu.selected = this.editor.queryCommandValue( 'cellalignment' );\n\n this.subMenu = new Popup({\n content:new CellAlignPicker(this.subMenu),\n parentMenu:me,\n editor:me.editor,\n destroy:function () {\n if (this.getDom()) {\n domUtils.remove(this.getDom());\n }\n }\n });\n this.subMenu.addListener(\"postRenderAfter\", function () {\n domUtils.on(this.getDom(), \"mouseover\", function () {\n me.addState('opened');\n });\n });\n } else {\n this.subMenu = new Menu(this.subMenu);\n }\n }\n };\n MenuItem.prototype = {\n label:'',\n subMenu:null,\n ownerMenu:null,\n uiName:'menuitem',\n alwalysHoverable:true,\n getHtmlTpl:function () {\n return '
    ' +\n '
    ' +\n this.renderLabelHtml() +\n '
    ' +\n '
    ';\n },\n postRender:function () {\n var me = this;\n this.addListener('over', function () {\n me.ownerMenu.fireEvent('submenuover', me);\n if (me.subMenu) {\n me.delayShowSubMenu();\n }\n });\n if (this.subMenu) {\n this.getDom().className += ' edui-hassubmenu';\n this.subMenu.render();\n this.addListener('out', function () {\n me.delayHideSubMenu();\n });\n this.subMenu.addListener('over', function () {\n clearTimeout(me._closingTimer);\n me._closingTimer = null;\n me.addState('opened');\n });\n this.ownerMenu.addListener('hide', function () {\n me.hideSubMenu();\n });\n this.ownerMenu.addListener('submenuover', function (t, subMenu) {\n if (subMenu !== me) {\n me.delayHideSubMenu();\n }\n });\n this.subMenu._bakQueryAutoHide = this.subMenu.queryAutoHide;\n this.subMenu.queryAutoHide = function (el) {\n if (el && uiUtils.contains(me.getDom(), el)) {\n return false;\n }\n return this._bakQueryAutoHide(el);\n };\n }\n this.getDom().style.tabIndex = '-1';\n uiUtils.makeUnselectable(this.getDom());\n this.Stateful_postRender();\n },\n delayShowSubMenu:function () {\n var me = this;\n if (!me.isDisabled()) {\n me.addState('opened');\n clearTimeout(me._showingTimer);\n clearTimeout(me._closingTimer);\n me._closingTimer = null;\n me._showingTimer = setTimeout(function () {\n me.showSubMenu();\n }, 250);\n }\n },\n delayHideSubMenu:function () {\n var me = this;\n if (!me.isDisabled()) {\n me.removeState('opened');\n clearTimeout(me._showingTimer);\n if (!me._closingTimer) {\n me._closingTimer = setTimeout(function () {\n if (!me.hasState('opened')) {\n me.hideSubMenu();\n }\n me._closingTimer = null;\n }, 400);\n }\n }\n },\n renderLabelHtml:function () {\n return '
    ' +\n '
    ' +\n '
    ' + (this.label || '') + '
    ';\n },\n getStateDom:function () {\n return this.getDom();\n },\n queryAutoHide:function (el) {\n if (this.subMenu && this.hasState('opened')) {\n return this.subMenu.queryAutoHide(el);\n }\n },\n _onClick:function (event, this_) {\n if (this.hasState('disabled')) return;\n if (this.fireEvent('click', event, this_) !== false) {\n if (this.subMenu) {\n this.showSubMenu();\n } else {\n Popup.postHide(event);\n }\n }\n },\n showSubMenu:function () {\n var rect = uiUtils.getClientRect(this.getDom());\n rect.right -= 5;\n rect.left += 2;\n rect.width -= 7;\n rect.top -= 4;\n rect.bottom += 4;\n rect.height += 8;\n this.subMenu.showAnchorRect(rect, true, true);\n },\n hideSubMenu:function () {\n this.subMenu.hide();\n }\n };\n utils.inherits(MenuItem, UIBase);\n utils.extend(MenuItem.prototype, Stateful, true);\n})();\n\n\n// ui/combox.js\n///import core\n///import uicore\n///import ui/menu.js\n///import ui/splitbutton.js\n(function (){\n // todo: menu和item提成通用list\n var utils = baidu.editor.utils,\n uiUtils = baidu.editor.ui.uiUtils,\n Menu = baidu.editor.ui.Menu,\n SplitButton = baidu.editor.ui.SplitButton,\n Combox = baidu.editor.ui.Combox = function (options){\n this.initOptions(options);\n this.initCombox();\n };\n Combox.prototype = {\n uiName: 'combox',\n onbuttonclick:function () {\n this.showPopup();\n },\n initCombox: function (){\n var me = this;\n this.items = this.items || [];\n for (var i=0; i vpRect.right) {\n left = vpRect.right - rect.width;\n }\n var top = offset.top;\n if (top + rect.height > vpRect.bottom) {\n top = vpRect.bottom - rect.height;\n }\n el.style.left = Math.max(left, 0) + 'px';\n el.style.top = Math.max(top, 0) + 'px';\n },\n showAtCenter: function (){\n\n var vpRect = uiUtils.getViewportRect();\n\n if ( !this.fullscreen ) {\n this.getDom().style.display = '';\n var popSize = this.fitSize();\n var titleHeight = this.getDom('titlebar').offsetHeight | 0;\n var left = vpRect.width / 2 - popSize.width / 2;\n var top = vpRect.height / 2 - (popSize.height - titleHeight) / 2 - titleHeight;\n var popEl = this.getDom();\n this.safeSetOffset({\n left: Math.max(left | 0, 0),\n top: Math.max(top | 0, 0)\n });\n if (!domUtils.hasClass(popEl, 'edui-state-centered')) {\n popEl.className += ' edui-state-centered';\n }\n } else {\n var dialogWrapNode = this.getDom(),\n contentNode = this.getDom('content');\n\n dialogWrapNode.style.display = \"block\";\n\n var wrapRect = UE.ui.uiUtils.getClientRect( dialogWrapNode ),\n contentRect = UE.ui.uiUtils.getClientRect( contentNode );\n dialogWrapNode.style.left = \"-100000px\";\n\n contentNode.style.width = ( vpRect.width - wrapRect.width + contentRect.width ) + \"px\";\n contentNode.style.height = ( vpRect.height - wrapRect.height + contentRect.height ) + \"px\";\n\n dialogWrapNode.style.width = vpRect.width + \"px\";\n dialogWrapNode.style.height = vpRect.height + \"px\";\n dialogWrapNode.style.left = 0;\n\n //保存环境的overflow值\n this._originalContext = {\n html: {\n overflowX: document.documentElement.style.overflowX,\n overflowY: document.documentElement.style.overflowY\n },\n body: {\n overflowX: document.body.style.overflowX,\n overflowY: document.body.style.overflowY\n }\n };\n\n document.documentElement.style.overflowX = 'hidden';\n document.documentElement.style.overflowY = 'hidden';\n document.body.style.overflowX = 'hidden';\n document.body.style.overflowY = 'hidden';\n\n }\n\n this._show();\n },\n getContentHtml: function (){\n var contentHtml = '';\n if (typeof this.content == 'string') {\n contentHtml = this.content;\n } else if (this.iframeUrl) {\n contentHtml = '';\n }\n return contentHtml;\n },\n getHtmlTpl: function (){\n var footHtml = '';\n\n if (this.buttons) {\n var buff = [];\n for (var i=0; i' + buff.join('') + '' +\n '';\n }\n\n return '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '' + (this.title || '') + '' +\n '
    ' +\n this.closeButton.renderHtml() +\n '
    ' +\n '
    '+ ( this.autoReset ? '' : this.getContentHtml()) +'
    ' +\n footHtml +\n '
    ';\n },\n postRender: function (){\n // todo: 保持居中/记住上次关闭位置选项\n if (!this.modalMask.getDom()) {\n this.modalMask.render();\n this.modalMask.hide();\n }\n if (!this.dragMask.getDom()) {\n this.dragMask.render();\n this.dragMask.hide();\n }\n var me = this;\n this.addListener('show', function (){\n me.modalMask.show(this.getDom().style.zIndex - 2);\n });\n this.addListener('hide', function (){\n me.modalMask.hide();\n });\n if (this.buttons) {\n for (var i=0; i';\n me.editor.container.style.zIndex && (this.getDom().style.zIndex = me.editor.container.style.zIndex * 1 + 1);\n }\n }\n // canSideUp:false,\n // canSideLeft:false\n });\n this.onbuttonclick = function(){\n this.showPopup();\n };\n this.initSplitButton();\n }\n\n };\n\n utils.inherits(MultiMenuPop, SplitButton);\n})();\n\n\n// ui/shortcutmenu.js\n(function () {\n var UI = baidu.editor.ui,\n UIBase = UI.UIBase,\n uiUtils = UI.uiUtils,\n utils = baidu.editor.utils,\n domUtils = baidu.editor.dom.domUtils;\n\n var allMenus = [],//存储所有快捷菜单\n timeID,\n isSubMenuShow = false;//是否有子pop显示\n\n var ShortCutMenu = UI.ShortCutMenu = function (options) {\n this.initOptions (options);\n this.initShortCutMenu ();\n };\n\n ShortCutMenu.postHide = hideAllMenu;\n\n ShortCutMenu.prototype = {\n isHidden : true ,\n SPACE : 5 ,\n initShortCutMenu : function () {\n this.items = this.items || [];\n this.initUIBase ();\n this.initItems ();\n this.initEvent ();\n allMenus.push (this);\n } ,\n initEvent : function () {\n var me = this,\n doc = me.editor.document;\n\n domUtils.on (doc , \"mousemove\" , function (e) {\n if (me.isHidden === false) {\n //有pop显示就不隐藏快捷菜单\n if (me.getSubMenuMark () || me.eventType == \"contextmenu\") return;\n\n\n var flag = true,\n el = me.getDom (),\n wt = el.offsetWidth,\n ht = el.offsetHeight,\n distanceX = wt / 2 + me.SPACE,//距离中心X标准\n distanceY = ht / 2,//距离中心Y标准\n x = Math.abs (e.screenX - me.left),//离中心距离横坐标\n y = Math.abs (e.screenY - me.top);//离中心距离纵坐标\n\n clearTimeout (timeID);\n timeID = setTimeout (function () {\n if (y > 0 && y < distanceY) {\n me.setOpacity (el , \"1\");\n } else if (y > distanceY && y < distanceY + 70) {\n me.setOpacity (el , \"0.5\");\n flag = false;\n } else if (y > distanceY + 70 && y < distanceY + 140) {\n me.hide ();\n }\n\n if (flag && x > 0 && x < distanceX) {\n me.setOpacity (el , \"1\")\n } else if (x > distanceX && x < distanceX + 70) {\n me.setOpacity (el , \"0.5\")\n } else if (x > distanceX + 70 && x < distanceX + 140) {\n me.hide ();\n }\n });\n }\n });\n\n //ie\\ff下 mouseout不准\n if (browser.chrome) {\n domUtils.on (doc , \"mouseout\" , function (e) {\n var relatedTgt = e.relatedTarget || e.toElement;\n\n if (relatedTgt == null || relatedTgt.tagName == \"HTML\") {\n me.hide ();\n }\n });\n }\n\n me.editor.addListener (\"afterhidepop\" , function () {\n if (!me.isHidden) {\n isSubMenuShow = true;\n }\n });\n\n } ,\n initItems : function () {\n if (utils.isArray (this.items)) {\n for (var i = 0, len = this.items.length ; i < len ; i++) {\n var item = this.items[i].toLowerCase ();\n\n if (UI[item]) {\n this.items[i] = new UI[item] (this.editor);\n this.items[i].className += \" edui-shortcutsubmenu \";\n }\n }\n }\n } ,\n setOpacity : function (el , value) {\n if (browser.ie && browser.version < 9) {\n el.style.filter = \"alpha(opacity = \" + parseFloat (value) * 100 + \");\"\n } else {\n el.style.opacity = value;\n }\n } ,\n getSubMenuMark : function () {\n isSubMenuShow = false;\n var layerEle = uiUtils.getFixedLayer ();\n var list = domUtils.getElementsByTagName (layerEle , \"div\" , function (node) {\n return domUtils.hasClass (node , \"edui-shortcutsubmenu edui-popup\")\n });\n\n for (var i = 0, node ; node = list[i++] ;) {\n if (node.style.display != \"none\") {\n isSubMenuShow = true;\n }\n }\n return isSubMenuShow;\n } ,\n show : function (e , hasContextmenu) {\n var me = this,\n offset = {},\n el = this.getDom (),\n fixedlayer = uiUtils.getFixedLayer ();\n\n function setPos (offset) {\n if (offset.left < 0) {\n offset.left = 0;\n }\n if (offset.top < 0) {\n offset.top = 0;\n }\n el.style.cssText = \"position:absolute;left:\" + offset.left + \"px;top:\" + offset.top + \"px;\";\n }\n\n function setPosByCxtMenu (menu) {\n if (!menu.tagName) {\n menu = menu.getDom ();\n }\n offset.left = parseInt (menu.style.left);\n offset.top = parseInt (menu.style.top);\n offset.top -= el.offsetHeight + 15;\n setPos (offset);\n }\n\n\n me.eventType = e.type;\n el.style.cssText = \"display:block;left:-9999px\";\n\n if (e.type == \"contextmenu\" && hasContextmenu) {\n var menu = domUtils.getElementsByTagName (fixedlayer , \"div\" , \"edui-contextmenu\")[0];\n if (menu) {\n setPosByCxtMenu (menu)\n } else {\n me.editor.addListener (\"aftershowcontextmenu\" , function (type , menu) {\n setPosByCxtMenu (menu);\n });\n }\n } else {\n offset = uiUtils.getViewportOffsetByEvent (e);\n offset.top -= el.offsetHeight + me.SPACE;\n offset.left += me.SPACE + 20;\n setPos (offset);\n me.setOpacity (el , 0.2);\n }\n\n\n me.isHidden = false;\n me.left = e.screenX + el.offsetWidth / 2 - me.SPACE;\n me.top = e.screenY - (el.offsetHeight / 2) - me.SPACE;\n\n if (me.editor) {\n el.style.zIndex = me.editor.container.style.zIndex * 1 + 10;\n fixedlayer.style.zIndex = el.style.zIndex - 1;\n }\n } ,\n hide : function () {\n if (this.getDom ()) {\n this.getDom ().style.display = \"none\";\n }\n this.isHidden = true;\n } ,\n postRender : function () {\n if (utils.isArray (this.items)) {\n for (var i = 0, item ; item = this.items[i++] ;) {\n item.postRender ();\n }\n }\n } ,\n getHtmlTpl : function () {\n var buff;\n if (utils.isArray (this.items)) {\n buff = [];\n for (var i = 0 ; i < this.items.length ; i++) {\n buff[i] = this.items[i].renderHtml ();\n }\n buff = buff.join (\"\");\n } else {\n buff = this.items;\n }\n\n return '
    ' +\n buff +\n '
    ';\n }\n };\n\n utils.inherits (ShortCutMenu , UIBase);\n\n function hideAllMenu (e) {\n var tgt = e.target || e.srcElement,\n cur = domUtils.findParent (tgt , function (node) {\n return domUtils.hasClass (node , \"edui-shortcutmenu\") || domUtils.hasClass (node , \"edui-popup\");\n } , true);\n\n if (!cur) {\n for (var i = 0, menu ; menu = allMenus[i++] ;) {\n menu.hide ()\n }\n }\n }\n\n domUtils.on (document , 'mousedown' , function (e) {\n hideAllMenu (e);\n });\n\n domUtils.on (window , 'scroll' , function (e) {\n hideAllMenu (e);\n });\n\n}) ();\n\n\n// ui/breakline.js\n(function (){\n var utils = baidu.editor.utils,\n UIBase = baidu.editor.ui.UIBase,\n Breakline = baidu.editor.ui.Breakline = function (options){\n this.initOptions(options);\n this.initSeparator();\n };\n Breakline.prototype = {\n uiName: 'Breakline',\n initSeparator: function (){\n this.initUIBase();\n },\n getHtmlTpl: function (){\n return '
    ';\n }\n };\n utils.inherits(Breakline, UIBase);\n\n})();\n\n\n// ui/message.js\n///import core\n///import uicore\n(function () {\n var utils = baidu.editor.utils,\n domUtils = baidu.editor.dom.domUtils,\n UIBase = baidu.editor.ui.UIBase,\n Message = baidu.editor.ui.Message = function (options){\n this.initOptions(options);\n this.initMessage();\n };\n\n Message.prototype = {\n initMessage: function (){\n this.initUIBase();\n },\n getHtmlTpl: function (){\n return '
    ' +\n '
    ×
    ' +\n '
    ' +\n ' ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ';\n },\n reset: function(opt){\n var me = this;\n if (!opt.keepshow) {\n clearTimeout(this.timer);\n me.timer = setTimeout(function(){\n me.hide();\n }, opt.timeout || 4000);\n }\n\n opt.content !== undefined && me.setContent(opt.content);\n opt.type !== undefined && me.setType(opt.type);\n\n me.show();\n },\n postRender: function(){\n var me = this,\n closer = this.getDom('closer');\n closer && domUtils.on(closer, 'click', function(){\n me.hide();\n });\n },\n setContent: function(content){\n this.getDom('content').innerHTML = content;\n },\n setType: function(type){\n type = type || 'info';\n var body = this.getDom('body');\n body.className = body.className.replace(/edui-message-type-[\\w-]+/, 'edui-message-type-' + type);\n },\n getContent: function(){\n return this.getDom('content').innerHTML;\n },\n getType: function(){\n var arr = this.getDom('body').match(/edui-message-type-([\\w-]+)/);\n return arr ? arr[1]:'';\n },\n show: function (){\n this.getDom().style.display = 'block';\n },\n hide: function (){\n var dom = this.getDom();\n if (dom) {\n dom.style.display = 'none';\n dom.parentNode && dom.parentNode.removeChild(dom);\n }\n }\n };\n\n utils.inherits(Message, UIBase);\n\n})();\n\n\n// adapter/editorui.js\n//ui跟编辑器的适配層\n//那个按钮弹出是dialog,是下拉筐等都是在这个js中配置\n//自己写的ui也要在这里配置,放到baidu.editor.ui下边,当编辑器实例化的时候会根据ueditor.config中的toolbars找到相应的进行实例化\n(function () {\n var utils = baidu.editor.utils;\n var editorui = baidu.editor.ui;\n var _Dialog = editorui.Dialog;\n editorui.buttons = {};\n\n editorui.Dialog = function (options) {\n var dialog = new _Dialog(options);\n dialog.addListener('hide', function () {\n\n if (dialog.editor) {\n var editor = dialog.editor;\n try {\n if (browser.gecko) {\n var y = editor.window.scrollY,\n x = editor.window.scrollX;\n editor.body.focus();\n editor.window.scrollTo(x, y);\n } else {\n editor.focus();\n }\n\n\n } catch (ex) {\n }\n }\n });\n return dialog;\n };\n\n var iframeUrlMap = {\n 'anchor':'~/dialogs/anchor/anchor.html',\n 'insertimage':'~/dialogs/image/image.html',\n 'link':'~/dialogs/link/link.html',\n 'spechars':'~/dialogs/spechars/spechars.html',\n 'searchreplace':'~/dialogs/searchreplace/searchreplace.html',\n 'map':'~/dialogs/map/map.html',\n 'gmap':'~/dialogs/gmap/gmap.html',\n 'insertvideo':'~/dialogs/video/video.html',\n 'help':'~/dialogs/help/help.html',\n 'preview':'~/dialogs/preview/preview.html',\n 'emotion':'~/dialogs/emotion/emotion.html',\n 'wordimage':'~/dialogs/wordimage/wordimage.html',\n 'attachment':'~/dialogs/attachment/attachment.html',\n 'insertframe':'~/dialogs/insertframe/insertframe.html',\n 'edittip':'~/dialogs/table/edittip.html',\n 'edittable':'~/dialogs/table/edittable.html',\n 'edittd':'~/dialogs/table/edittd.html',\n 'webapp':'~/dialogs/webapp/webapp.html',\n 'snapscreen':'~/dialogs/snapscreen/snapscreen.html',\n 'scrawl':'~/dialogs/scrawl/scrawl.html',\n 'music':'~/dialogs/music/music.html',\n 'template':'~/dialogs/template/template.html',\n 'background':'~/dialogs/background/background.html',\n 'charts': '~/dialogs/charts/charts.html'\n };\n //为工具栏添加按钮,以下都是统一的按钮触发命令,所以写在一起\n var btnCmds = ['undo', 'redo', 'formatmatch',\n 'bold', 'italic', 'underline', 'fontborder', 'touppercase', 'tolowercase',\n 'strikethrough', 'subscript', 'superscript', 'source', 'indent', 'outdent',\n 'blockquote', 'pasteplain', 'pagebreak',\n 'selectall', 'print','horizontal', 'removeformat', 'time', 'date', 'unlink',\n 'insertparagraphbeforetable', 'insertrow', 'insertcol', 'mergeright', 'mergedown', 'deleterow',\n 'deletecol', 'splittorows', 'splittocols', 'splittocells', 'mergecells', 'deletetable', 'drafts'];\n\n for (var i = 0, ci; ci = btnCmds[i++];) {\n ci = ci.toLowerCase();\n editorui[ci] = function (cmd) {\n return function (editor) {\n var ui = new editorui.Button({\n className:'edui-for-' + cmd,\n title:editor.options.labelMap[cmd] || editor.getLang(\"labelMap.\" + cmd) || '',\n onclick:function () {\n editor.execCommand(cmd);\n },\n theme:editor.options.theme,\n showText:false\n });\n editorui.buttons[cmd] = ui;\n editor.addListener('selectionchange', function (type, causeByUi, uiReady) {\n var state = editor.queryCommandState(cmd);\n if (state == -1) {\n ui.setDisabled(true);\n ui.setChecked(false);\n } else {\n if (!uiReady) {\n ui.setDisabled(false);\n ui.setChecked(state);\n }\n }\n });\n return ui;\n };\n }(ci);\n }\n\n //清除文档\n editorui.cleardoc = function (editor) {\n var ui = new editorui.Button({\n className:'edui-for-cleardoc',\n title:editor.options.labelMap.cleardoc || editor.getLang(\"labelMap.cleardoc\") || '',\n theme:editor.options.theme,\n onclick:function () {\n if (confirm(editor.getLang(\"confirmClear\"))) {\n editor.execCommand('cleardoc');\n }\n }\n });\n editorui.buttons[\"cleardoc\"] = ui;\n editor.addListener('selectionchange', function () {\n ui.setDisabled(editor.queryCommandState('cleardoc') == -1);\n });\n return ui;\n };\n\n //排版,图片排版,文字方向\n var typeset = {\n 'justify':['left', 'right', 'center', 'justify'],\n 'imagefloat':['none', 'left', 'center', 'right'],\n 'directionality':['ltr', 'rtl']\n };\n\n for (var p in typeset) {\n\n (function (cmd, val) {\n for (var i = 0, ci; ci = val[i++];) {\n (function (cmd2) {\n editorui[cmd.replace('float', '') + cmd2] = function (editor) {\n var ui = new editorui.Button({\n className:'edui-for-' + cmd.replace('float', '') + cmd2,\n title:editor.options.labelMap[cmd.replace('float', '') + cmd2] || editor.getLang(\"labelMap.\" + cmd.replace('float', '') + cmd2) || '',\n theme:editor.options.theme,\n onclick:function () {\n editor.execCommand(cmd, cmd2);\n }\n });\n editorui.buttons[cmd] = ui;\n editor.addListener('selectionchange', function (type, causeByUi, uiReady) {\n ui.setDisabled(editor.queryCommandState(cmd) == -1);\n ui.setChecked(editor.queryCommandValue(cmd) == cmd2 && !uiReady);\n });\n return ui;\n };\n })(ci)\n }\n })(p, typeset[p])\n }\n\n //字体颜色和背景颜色\n for (var i = 0, ci; ci = ['backcolor', 'forecolor'][i++];) {\n editorui[ci] = function (cmd) {\n return function (editor) {\n var ui = new editorui.ColorButton({\n className:'edui-for-' + cmd,\n color:'default',\n title:editor.options.labelMap[cmd] || editor.getLang(\"labelMap.\" + cmd) || '',\n editor:editor,\n onpickcolor:function (t, color) {\n editor.execCommand(cmd, color);\n },\n onpicknocolor:function () {\n editor.execCommand(cmd, 'default');\n this.setColor('transparent');\n this.color = 'default';\n },\n onbuttonclick:function () {\n editor.execCommand(cmd, this.color);\n }\n });\n editorui.buttons[cmd] = ui;\n editor.addListener('selectionchange', function () {\n ui.setDisabled(editor.queryCommandState(cmd) == -1);\n });\n return ui;\n };\n }(ci);\n }\n\n\n var dialogBtns = {\n noOk:['searchreplace', 'help', 'spechars', 'webapp','preview'],\n ok:['attachment', 'anchor', 'link', 'insertimage', 'map', 'gmap', 'insertframe', 'wordimage',\n 'insertvideo', 'insertframe', 'edittip', 'edittable', 'edittd', 'scrawl', 'template', 'music', 'background', 'charts']\n };\n\n for (var p in dialogBtns) {\n (function (type, vals) {\n for (var i = 0, ci; ci = vals[i++];) {\n //todo opera下存在问题\n if (browser.opera && ci === \"searchreplace\") {\n continue;\n }\n (function (cmd) {\n editorui[cmd] = function (editor, iframeUrl, title) {\n iframeUrl = iframeUrl || (editor.options.iframeUrlMap || {})[cmd] || iframeUrlMap[cmd];\n title = editor.options.labelMap[cmd] || editor.getLang(\"labelMap.\" + cmd) || '';\n\n var dialog;\n //没有iframeUrl不创建dialog\n if (iframeUrl) {\n dialog = new editorui.Dialog(utils.extend({\n iframeUrl:editor.ui.mapUrl(iframeUrl),\n editor:editor,\n className:'edui-for-' + cmd,\n title:title,\n holdScroll: cmd === 'insertimage',\n fullscreen: /charts|preview/.test(cmd),\n closeDialog:editor.getLang(\"closeDialog\")\n }, type == 'ok' ? {\n buttons:[\n {\n className:'edui-okbutton',\n label:editor.getLang(\"ok\"),\n editor:editor,\n onclick:function () {\n dialog.close(true);\n }\n },\n {\n className:'edui-cancelbutton',\n label:editor.getLang(\"cancel\"),\n editor:editor,\n onclick:function () {\n dialog.close(false);\n }\n }\n ]\n } : {}));\n\n editor.ui._dialogs[cmd + \"Dialog\"] = dialog;\n }\n\n var ui = new editorui.Button({\n className:'edui-for-' + cmd,\n title:title,\n onclick:function () {\n if (dialog) {\n switch (cmd) {\n case \"wordimage\":\n var images = editor.execCommand(\"wordimage\");\n if (images && images.length) {\n dialog.render();\n dialog.open();\n }\n break;\n case \"scrawl\":\n if (editor.queryCommandState(\"scrawl\") != -1) {\n dialog.render();\n dialog.open();\n }\n\n break;\n default:\n dialog.render();\n dialog.open();\n }\n }\n },\n theme:editor.options.theme,\n disabled:(cmd == 'scrawl' && editor.queryCommandState(\"scrawl\") == -1) || ( cmd == 'charts' )\n });\n editorui.buttons[cmd] = ui;\n editor.addListener('selectionchange', function () {\n //只存在于右键菜单而无工具栏按钮的ui不需要检测状态\n var unNeedCheckState = {'edittable':1};\n if (cmd in unNeedCheckState)return;\n\n var state = editor.queryCommandState(cmd);\n if (ui.getDom()) {\n ui.setDisabled(state == -1);\n ui.setChecked(state);\n }\n\n });\n\n return ui;\n };\n })(ci.toLowerCase())\n }\n })(p, dialogBtns[p]);\n }\n\n editorui.snapscreen = function (editor, iframeUrl, title) {\n title = editor.options.labelMap['snapscreen'] || editor.getLang(\"labelMap.snapscreen\") || '';\n var ui = new editorui.Button({\n className:'edui-for-snapscreen',\n title:title,\n onclick:function () {\n editor.execCommand(\"snapscreen\");\n },\n theme:editor.options.theme\n\n });\n editorui.buttons['snapscreen'] = ui;\n iframeUrl = iframeUrl || (editor.options.iframeUrlMap || {})[\"snapscreen\"] || iframeUrlMap[\"snapscreen\"];\n if (iframeUrl) {\n var dialog = new editorui.Dialog({\n iframeUrl:editor.ui.mapUrl(iframeUrl),\n editor:editor,\n className:'edui-for-snapscreen',\n title:title,\n buttons:[\n {\n className:'edui-okbutton',\n label:editor.getLang(\"ok\"),\n editor:editor,\n onclick:function () {\n dialog.close(true);\n }\n },\n {\n className:'edui-cancelbutton',\n label:editor.getLang(\"cancel\"),\n editor:editor,\n onclick:function () {\n dialog.close(false);\n }\n }\n ]\n\n });\n dialog.render();\n editor.ui._dialogs[\"snapscreenDialog\"] = dialog;\n }\n editor.addListener('selectionchange', function () {\n ui.setDisabled(editor.queryCommandState('snapscreen') == -1);\n });\n return ui;\n };\n\n editorui.insertcode = function (editor, list, title) {\n list = editor.options['insertcode'] || [];\n title = editor.options.labelMap['insertcode'] || editor.getLang(\"labelMap.insertcode\") || '';\n // if (!list.length) return;\n var items = [];\n utils.each(list,function(key,val){\n items.push({\n label:key,\n value:val,\n theme:editor.options.theme,\n renderLabelHtml:function () {\n return '
    ' + (this.label || '') + '
    ';\n }\n });\n });\n\n var ui = new editorui.Combox({\n editor:editor,\n items:items,\n onselect:function (t, index) {\n editor.execCommand('insertcode', this.items[index].value);\n },\n onbuttonclick:function () {\n this.showPopup();\n },\n title:title,\n initValue:title,\n className:'edui-for-insertcode',\n indexByValue:function (value) {\n if (value) {\n for (var i = 0, ci; ci = this.items[i]; i++) {\n if (ci.value.indexOf(value) != -1)\n return i;\n }\n }\n\n return -1;\n }\n });\n editorui.buttons['insertcode'] = ui;\n editor.addListener('selectionchange', function (type, causeByUi, uiReady) {\n if (!uiReady) {\n var state = editor.queryCommandState('insertcode');\n if (state == -1) {\n ui.setDisabled(true);\n } else {\n ui.setDisabled(false);\n var value = editor.queryCommandValue('insertcode');\n if(!value){\n ui.setValue(title);\n return;\n }\n //trace:1871 ie下从源码模式切换回来时,字体会带单引号,而且会有逗号\n value && (value = value.replace(/['\"]/g, '').split(',')[0]);\n ui.setValue(value);\n\n }\n }\n\n });\n return ui;\n };\n editorui.fontfamily = function (editor, list, title) {\n\n list = editor.options['fontfamily'] || [];\n title = editor.options.labelMap['fontfamily'] || editor.getLang(\"labelMap.fontfamily\") || '';\n if (!list.length) return;\n for (var i = 0, ci, items = []; ci = list[i]; i++) {\n var langLabel = editor.getLang('fontfamily')[ci.name] || \"\";\n (function (key, val) {\n items.push({\n label:key,\n value:val,\n theme:editor.options.theme,\n renderLabelHtml:function () {\n return '
    ' + (this.label || '') + '
    ';\n }\n });\n })(ci.label || langLabel, ci.val)\n }\n var ui = new editorui.Combox({\n editor:editor,\n items:items,\n onselect:function (t, index) {\n editor.execCommand('FontFamily', this.items[index].value);\n },\n onbuttonclick:function () {\n this.showPopup();\n },\n title:title,\n initValue:title,\n className:'edui-for-fontfamily',\n indexByValue:function (value) {\n if (value) {\n for (var i = 0, ci; ci = this.items[i]; i++) {\n if (ci.value.indexOf(value) != -1)\n return i;\n }\n }\n\n return -1;\n }\n });\n editorui.buttons['fontfamily'] = ui;\n editor.addListener('selectionchange', function (type, causeByUi, uiReady) {\n if (!uiReady) {\n var state = editor.queryCommandState('FontFamily');\n if (state == -1) {\n ui.setDisabled(true);\n } else {\n ui.setDisabled(false);\n var value = editor.queryCommandValue('FontFamily');\n //trace:1871 ie下从源码模式切换回来时,字体会带单引号,而且会有逗号\n value && (value = value.replace(/['\"]/g, '').split(',')[0]);\n ui.setValue(value);\n\n }\n }\n\n });\n return ui;\n };\n\n editorui.fontsize = function (editor, list, title) {\n title = editor.options.labelMap['fontsize'] || editor.getLang(\"labelMap.fontsize\") || '';\n list = list || editor.options['fontsize'] || [];\n if (!list.length) return;\n var items = [];\n for (var i = 0; i < list.length; i++) {\n var size = list[i] + 'px';\n items.push({\n label:size,\n value:size,\n theme:editor.options.theme,\n renderLabelHtml:function () {\n return '
    ' + (this.label || '') + '
    ';\n }\n });\n }\n var ui = new editorui.Combox({\n editor:editor,\n items:items,\n title:title,\n initValue:title,\n onselect:function (t, index) {\n editor.execCommand('FontSize', this.items[index].value);\n },\n onbuttonclick:function () {\n this.showPopup();\n },\n className:'edui-for-fontsize'\n });\n editorui.buttons['fontsize'] = ui;\n editor.addListener('selectionchange', function (type, causeByUi, uiReady) {\n if (!uiReady) {\n var state = editor.queryCommandState('FontSize');\n if (state == -1) {\n ui.setDisabled(true);\n } else {\n ui.setDisabled(false);\n ui.setValue(editor.queryCommandValue('FontSize'));\n }\n }\n\n });\n return ui;\n };\n\n editorui.paragraph = function (editor, list, title) {\n title = editor.options.labelMap['paragraph'] || editor.getLang(\"labelMap.paragraph\") || '';\n list = editor.options['paragraph'] || [];\n if (utils.isEmptyObject(list)) return;\n var items = [];\n for (var i in list) {\n items.push({\n value:i,\n label:list[i] || editor.getLang(\"paragraph\")[i],\n theme:editor.options.theme,\n renderLabelHtml:function () {\n return '
    ' + (this.label || '') + '
    ';\n }\n })\n }\n var ui = new editorui.Combox({\n editor:editor,\n items:items,\n title:title,\n initValue:title,\n className:'edui-for-paragraph',\n onselect:function (t, index) {\n editor.execCommand('Paragraph', this.items[index].value);\n },\n onbuttonclick:function () {\n this.showPopup();\n }\n });\n editorui.buttons['paragraph'] = ui;\n editor.addListener('selectionchange', function (type, causeByUi, uiReady) {\n if (!uiReady) {\n var state = editor.queryCommandState('Paragraph');\n if (state == -1) {\n ui.setDisabled(true);\n } else {\n ui.setDisabled(false);\n var value = editor.queryCommandValue('Paragraph');\n var index = ui.indexByValue(value);\n if (index != -1) {\n ui.setValue(value);\n } else {\n ui.setValue(ui.initValue);\n }\n }\n }\n\n });\n return ui;\n };\n\n\n //自定义标题\n editorui.customstyle = function (editor) {\n var list = editor.options['customstyle'] || [],\n title = editor.options.labelMap['customstyle'] || editor.getLang(\"labelMap.customstyle\") || '';\n if (!list.length)return;\n var langCs = editor.getLang('customstyle');\n for (var i = 0, items = [], t; t = list[i++];) {\n (function (t) {\n var ck = {};\n ck.label = t.label ? t.label : langCs[t.name];\n ck.style = t.style;\n ck.className = t.className;\n ck.tag = t.tag;\n items.push({\n label:ck.label,\n value:ck,\n theme:editor.options.theme,\n renderLabelHtml:function () {\n return '
    ' + '<' + ck.tag + ' ' + (ck.className ? ' class=\"' + ck.className + '\"' : \"\")\n + (ck.style ? ' style=\"' + ck.style + '\"' : \"\") + '>' + ck.label + \"<\\/\" + ck.tag + \">\"\n + '
    ';\n }\n });\n })(t);\n }\n\n var ui = new editorui.Combox({\n editor:editor,\n items:items,\n title:title,\n initValue:title,\n className:'edui-for-customstyle',\n onselect:function (t, index) {\n editor.execCommand('customstyle', this.items[index].value);\n },\n onbuttonclick:function () {\n this.showPopup();\n },\n indexByValue:function (value) {\n for (var i = 0, ti; ti = this.items[i++];) {\n if (ti.label == value) {\n return i - 1\n }\n }\n return -1;\n }\n });\n editorui.buttons['customstyle'] = ui;\n editor.addListener('selectionchange', function (type, causeByUi, uiReady) {\n if (!uiReady) {\n var state = editor.queryCommandState('customstyle');\n if (state == -1) {\n ui.setDisabled(true);\n } else {\n ui.setDisabled(false);\n var value = editor.queryCommandValue('customstyle');\n var index = ui.indexByValue(value);\n if (index != -1) {\n ui.setValue(value);\n } else {\n ui.setValue(ui.initValue);\n }\n }\n }\n\n });\n return ui;\n };\n editorui.inserttable = function (editor, iframeUrl, title) {\n title = editor.options.labelMap['inserttable'] || editor.getLang(\"labelMap.inserttable\") || '';\n var ui = new editorui.TableButton({\n editor:editor,\n title:title,\n className:'edui-for-inserttable',\n onpicktable:function (t, numCols, numRows) {\n editor.execCommand('InsertTable', {numRows:numRows, numCols:numCols, border:1});\n },\n onbuttonclick:function () {\n this.showPopup();\n }\n });\n editorui.buttons['inserttable'] = ui;\n editor.addListener('selectionchange', function () {\n ui.setDisabled(editor.queryCommandState('inserttable') == -1);\n });\n return ui;\n };\n\n editorui.lineheight = function (editor) {\n var val = editor.options.lineheight || [];\n if (!val.length)return;\n for (var i = 0, ci, items = []; ci = val[i++];) {\n items.push({\n //todo:写死了\n label:ci,\n value:ci,\n theme:editor.options.theme,\n onclick:function () {\n editor.execCommand(\"lineheight\", this.value);\n }\n })\n }\n var ui = new editorui.MenuButton({\n editor:editor,\n className:'edui-for-lineheight',\n title:editor.options.labelMap['lineheight'] || editor.getLang(\"labelMap.lineheight\") || '',\n items:items,\n onbuttonclick:function () {\n var value = editor.queryCommandValue('LineHeight') || this.value;\n editor.execCommand(\"LineHeight\", value);\n }\n });\n editorui.buttons['lineheight'] = ui;\n editor.addListener('selectionchange', function () {\n var state = editor.queryCommandState('LineHeight');\n if (state == -1) {\n ui.setDisabled(true);\n } else {\n ui.setDisabled(false);\n var value = editor.queryCommandValue('LineHeight');\n value && ui.setValue((value + '').replace(/cm/, ''));\n ui.setChecked(state)\n }\n });\n return ui;\n };\n\n var rowspacings = ['top', 'bottom'];\n for (var r = 0, ri; ri = rowspacings[r++];) {\n (function (cmd) {\n editorui['rowspacing' + cmd] = function (editor) {\n var val = editor.options['rowspacing' + cmd] || [];\n if (!val.length) return null;\n for (var i = 0, ci, items = []; ci = val[i++];) {\n items.push({\n label:ci,\n value:ci,\n theme:editor.options.theme,\n onclick:function () {\n editor.execCommand(\"rowspacing\", this.value, cmd);\n }\n })\n }\n var ui = new editorui.MenuButton({\n editor:editor,\n className:'edui-for-rowspacing' + cmd,\n title:editor.options.labelMap['rowspacing' + cmd] || editor.getLang(\"labelMap.rowspacing\" + cmd) || '',\n items:items,\n onbuttonclick:function () {\n var value = editor.queryCommandValue('rowspacing', cmd) || this.value;\n editor.execCommand(\"rowspacing\", value, cmd);\n }\n });\n editorui.buttons[cmd] = ui;\n editor.addListener('selectionchange', function () {\n var state = editor.queryCommandState('rowspacing', cmd);\n if (state == -1) {\n ui.setDisabled(true);\n } else {\n ui.setDisabled(false);\n var value = editor.queryCommandValue('rowspacing', cmd);\n value && ui.setValue((value + '').replace(/%/, ''));\n ui.setChecked(state)\n }\n });\n return ui;\n }\n })(ri)\n }\n //有序,无序列表\n var lists = ['insertorderedlist', 'insertunorderedlist'];\n for (var l = 0, cl; cl = lists[l++];) {\n (function (cmd) {\n editorui[cmd] = function (editor) {\n var vals = editor.options[cmd],\n _onMenuClick = function () {\n editor.execCommand(cmd, this.value);\n }, items = [];\n for (var i in vals) {\n items.push({\n label:vals[i] || editor.getLang()[cmd][i] || \"\",\n value:i,\n theme:editor.options.theme,\n onclick:_onMenuClick\n })\n }\n var ui = new editorui.MenuButton({\n editor:editor,\n className:'edui-for-' + cmd,\n title:editor.getLang(\"labelMap.\" + cmd) || '',\n 'items':items,\n onbuttonclick:function () {\n var value = editor.queryCommandValue(cmd) || this.value;\n editor.execCommand(cmd, value);\n }\n });\n editorui.buttons[cmd] = ui;\n editor.addListener('selectionchange', function () {\n var state = editor.queryCommandState(cmd);\n if (state == -1) {\n ui.setDisabled(true);\n } else {\n ui.setDisabled(false);\n var value = editor.queryCommandValue(cmd);\n ui.setValue(value);\n ui.setChecked(state)\n }\n });\n return ui;\n };\n })(cl)\n }\n\n editorui.fullscreen = function (editor, title) {\n title = editor.options.labelMap['fullscreen'] || editor.getLang(\"labelMap.fullscreen\") || '';\n var ui = new editorui.Button({\n className:'edui-for-fullscreen',\n title:title,\n theme:editor.options.theme,\n onclick:function () {\n if (editor.ui) {\n editor.ui.setFullScreen(!editor.ui.isFullScreen());\n }\n this.setChecked(editor.ui.isFullScreen());\n }\n });\n editorui.buttons['fullscreen'] = ui;\n editor.addListener('selectionchange', function () {\n var state = editor.queryCommandState('fullscreen');\n ui.setDisabled(state == -1);\n ui.setChecked(editor.ui.isFullScreen());\n });\n return ui;\n };\n\n // 表情\n editorui[\"emotion\"] = function (editor, iframeUrl) {\n var cmd = \"emotion\";\n var ui = new editorui.MultiMenuPop({\n title:editor.options.labelMap[cmd] || editor.getLang(\"labelMap.\" + cmd + \"\") || '',\n editor:editor,\n className:'edui-for-' + cmd,\n iframeUrl:editor.ui.mapUrl(iframeUrl || (editor.options.iframeUrlMap || {})[cmd] || iframeUrlMap[cmd])\n });\n editorui.buttons[cmd] = ui;\n\n editor.addListener('selectionchange', function () {\n ui.setDisabled(editor.queryCommandState(cmd) == -1)\n });\n return ui;\n };\n\n editorui.autotypeset = function (editor) {\n var ui = new editorui.AutoTypeSetButton({\n editor:editor,\n title:editor.options.labelMap['autotypeset'] || editor.getLang(\"labelMap.autotypeset\") || '',\n className:'edui-for-autotypeset',\n onbuttonclick:function () {\n editor.execCommand('autotypeset')\n }\n });\n editorui.buttons['autotypeset'] = ui;\n editor.addListener('selectionchange', function () {\n ui.setDisabled(editor.queryCommandState('autotypeset') == -1);\n });\n return ui;\n };\n\n /* 简单上传插件 */\n editorui[\"simpleupload\"] = function (editor) {\n var name = 'simpleupload',\n ui = new editorui.Button({\n className:'edui-for-' + name,\n title:editor.options.labelMap[name] || editor.getLang(\"labelMap.\" + name) || '',\n onclick:function () {},\n theme:editor.options.theme,\n showText:false\n });\n editorui.buttons[name] = ui;\n editor.addListener('ready', function() {\n var b = ui.getDom('body'),\n iconSpan = b.children[0];\n editor.fireEvent('simpleuploadbtnready', iconSpan);\n });\n editor.addListener('selectionchange', function (type, causeByUi, uiReady) {\n var state = editor.queryCommandState(name);\n if (state == -1) {\n ui.setDisabled(true);\n ui.setChecked(false);\n } else {\n if (!uiReady) {\n ui.setDisabled(false);\n ui.setChecked(state);\n }\n }\n });\n return ui;\n };\n\n})();\n\n\n// adapter/editor.js\n///import core\n///commands 全屏\n///commandsName FullScreen\n///commandsTitle 全屏\n(function () {\n var utils = baidu.editor.utils,\n uiUtils = baidu.editor.ui.uiUtils,\n UIBase = baidu.editor.ui.UIBase,\n domUtils = baidu.editor.dom.domUtils;\n var nodeStack = [];\n\n function EditorUI(options) {\n this.initOptions(options);\n this.initEditorUI();\n }\n\n EditorUI.prototype = {\n uiName:'editor',\n initEditorUI:function () {\n this.editor.ui = this;\n this._dialogs = {};\n this.initUIBase();\n this._initToolbars();\n var editor = this.editor,\n me = this;\n\n editor.addListener('ready', function () {\n //提供getDialog方法\n editor.getDialog = function (name) {\n return editor.ui._dialogs[name + \"Dialog\"];\n };\n domUtils.on(editor.window, 'scroll', function (evt) {\n baidu.editor.ui.Popup.postHide(evt);\n });\n //提供编辑器实时宽高(全屏时宽高不变化)\n editor.ui._actualFrameWidth = editor.options.initialFrameWidth;\n\n UE.browser.ie && UE.browser.version === 6 && editor.container.ownerDocument.execCommand(\"BackgroundImageCache\", false, true);\n\n //display bottom-bar label based on config\n if (editor.options.elementPathEnabled) {\n editor.ui.getDom('elementpath').innerHTML = '
    ' + editor.getLang(\"elementPathTip\") + ':
    ';\n }\n if (editor.options.wordCount) {\n function countFn() {\n setCount(editor,me);\n domUtils.un(editor.document, \"click\", arguments.callee);\n }\n domUtils.on(editor.document, \"click\", countFn);\n editor.ui.getDom('wordcount').innerHTML = editor.getLang(\"wordCountTip\");\n }\n editor.ui._scale();\n if (editor.options.scaleEnabled) {\n if (editor.autoHeightEnabled) {\n editor.disableAutoHeight();\n }\n me.enableScale();\n } else {\n me.disableScale();\n }\n if (!editor.options.elementPathEnabled && !editor.options.wordCount && !editor.options.scaleEnabled) {\n editor.ui.getDom('elementpath').style.display = \"none\";\n editor.ui.getDom('wordcount').style.display = \"none\";\n editor.ui.getDom('scale').style.display = \"none\";\n }\n\n if (!editor.selection.isFocus())return;\n editor.fireEvent('selectionchange', false, true);\n\n\n });\n\n editor.addListener('mousedown', function (t, evt) {\n var el = evt.target || evt.srcElement;\n baidu.editor.ui.Popup.postHide(evt, el);\n baidu.editor.ui.ShortCutMenu.postHide(evt);\n\n });\n editor.addListener(\"delcells\", function () {\n if (UE.ui['edittip']) {\n new UE.ui['edittip'](editor);\n }\n editor.getDialog('edittip').open();\n });\n\n var pastePop, isPaste = false, timer;\n editor.addListener(\"afterpaste\", function () {\n if(editor.queryCommandState('pasteplain'))\n return;\n if(baidu.editor.ui.PastePicker){\n pastePop = new baidu.editor.ui.Popup({\n content:new baidu.editor.ui.PastePicker({editor:editor}),\n editor:editor,\n className:'edui-wordpastepop'\n });\n pastePop.render();\n }\n isPaste = true;\n });\n\n editor.addListener(\"afterinserthtml\", function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n if (pastePop && (isPaste || editor.ui._isTransfer)) {\n if(pastePop.isHidden()){\n var span = domUtils.createElement(editor.document, 'span', {\n 'style':\"line-height:0px;\",\n 'innerHTML':'\\ufeff'\n }),\n range = editor.selection.getRange();\n range.insertNode(span);\n var tmp= getDomNode(span, 'firstChild', 'previousSibling');\n tmp && pastePop.showAnchor(tmp.nodeType == 3 ? tmp.parentNode : tmp);\n domUtils.remove(span);\n }else{\n pastePop.show();\n }\n delete editor.ui._isTransfer;\n isPaste = false;\n }\n }, 200)\n });\n editor.addListener('contextmenu', function (t, evt) {\n baidu.editor.ui.Popup.postHide(evt);\n });\n editor.addListener('keydown', function (t, evt) {\n if (pastePop) pastePop.dispose(evt);\n var keyCode = evt.keyCode || evt.which;\n if(evt.altKey&&keyCode==90){\n UE.ui.buttons['fullscreen'].onclick();\n }\n });\n editor.addListener('wordcount', function (type) {\n setCount(this,me);\n });\n function setCount(editor,ui) {\n editor.setOpt({\n wordCount:true,\n maximumWords:10000,\n wordCountMsg:editor.options.wordCountMsg || editor.getLang(\"wordCountMsg\"),\n wordOverFlowMsg:editor.options.wordOverFlowMsg || editor.getLang(\"wordOverFlowMsg\")\n });\n var opt = editor.options,\n max = opt.maximumWords,\n msg = opt.wordCountMsg ,\n errMsg = opt.wordOverFlowMsg,\n countDom = ui.getDom('wordcount');\n if (!opt.wordCount) {\n return;\n }\n var count = editor.getContentLength(true);\n if (count > max) {\n countDom.innerHTML = errMsg;\n editor.fireEvent(\"wordcountoverflow\");\n } else {\n countDom.innerHTML = msg.replace(\"{#leave}\", max - count).replace(\"{#count}\", count);\n }\n }\n\n editor.addListener('selectionchange', function () {\n if (editor.options.elementPathEnabled) {\n me[(editor.queryCommandState('elementpath') == -1 ? 'dis' : 'en') + 'ableElementPath']()\n }\n if (editor.options.scaleEnabled) {\n me[(editor.queryCommandState('scale') == -1 ? 'dis' : 'en') + 'ableScale']();\n\n }\n });\n var popup = new baidu.editor.ui.Popup({\n editor:editor,\n content:'',\n className:'edui-bubble',\n _onEditButtonClick:function () {\n this.hide();\n editor.ui._dialogs.linkDialog.open();\n },\n _onImgEditButtonClick:function (name) {\n this.hide();\n editor.ui._dialogs[name] && editor.ui._dialogs[name].open();\n\n },\n _onImgSetFloat:function (value) {\n this.hide();\n editor.execCommand(\"imagefloat\", value);\n\n },\n _setIframeAlign:function (value) {\n var frame = popup.anchorEl;\n var newFrame = frame.cloneNode(true);\n switch (value) {\n case -2:\n newFrame.setAttribute(\"align\", \"\");\n break;\n case -1:\n newFrame.setAttribute(\"align\", \"left\");\n break;\n case 1:\n newFrame.setAttribute(\"align\", \"right\");\n break;\n }\n frame.parentNode.insertBefore(newFrame, frame);\n domUtils.remove(frame);\n popup.anchorEl = newFrame;\n popup.showAnchor(popup.anchorEl);\n },\n _updateIframe:function () {\n var frame = editor._iframe = popup.anchorEl;\n if(domUtils.hasClass(frame, 'ueditor_baidumap')) {\n editor.selection.getRange().selectNode(frame).select();\n editor.ui._dialogs.mapDialog.open();\n popup.hide();\n } else {\n editor.ui._dialogs.insertframeDialog.open();\n popup.hide();\n }\n },\n _onRemoveButtonClick:function (cmdName) {\n editor.execCommand(cmdName);\n this.hide();\n },\n queryAutoHide:function (el) {\n if (el && el.ownerDocument == editor.document) {\n if (el.tagName.toLowerCase() == 'img' || domUtils.findParentByTagName(el, 'a', true)) {\n return el !== popup.anchorEl;\n }\n }\n return baidu.editor.ui.Popup.prototype.queryAutoHide.call(this, el);\n }\n });\n popup.render();\n if (editor.options.imagePopup) {\n editor.addListener('mouseover', function (t, evt) {\n evt = evt || window.event;\n var el = evt.target || evt.srcElement;\n if (editor.ui._dialogs.insertframeDialog && /iframe/ig.test(el.tagName)) {\n var html = popup.formatHtml(\n '' + editor.getLang(\"property\") + ': ' + editor.getLang(\"default\") + '  ' + editor.getLang(\"justifyleft\") + '  ' + editor.getLang(\"justifyright\") + '  ' +\n ' ' + editor.getLang(\"modify\") + '');\n if (html) {\n popup.getDom('content').innerHTML = html;\n popup.anchorEl = el;\n popup.showAnchor(popup.anchorEl);\n } else {\n popup.hide();\n }\n }\n });\n editor.addListener('selectionchange', function (t, causeByUi) {\n if (!causeByUi) return;\n var html = '', str = \"\",\n img = editor.selection.getRange().getClosedNode(),\n dialogs = editor.ui._dialogs;\n if (img && img.tagName == 'IMG') {\n var dialogName = 'insertimageDialog';\n if (img.className.indexOf(\"edui-faked-video\") != -1 || img.className.indexOf(\"edui-upload-video\") != -1) {\n dialogName = \"insertvideoDialog\"\n }\n if (img.className.indexOf(\"edui-faked-webapp\") != -1) {\n dialogName = \"webappDialog\"\n }\n if (img.src.indexOf(\"http://api.map.baidu.com\") != -1) {\n dialogName = \"mapDialog\"\n }\n if (img.className.indexOf(\"edui-faked-music\") != -1) {\n dialogName = \"musicDialog\"\n }\n if (img.src.indexOf(\"http://maps.google.com/maps/api/staticmap\") != -1) {\n dialogName = \"gmapDialog\"\n }\n if (img.getAttribute(\"anchorname\")) {\n dialogName = \"anchorDialog\";\n html = popup.formatHtml(\n '' + editor.getLang(\"property\") + ': ' + editor.getLang(\"modify\") + '  ' +\n '' + editor.getLang(\"delete\") + '');\n }\n if (img.getAttribute(\"word_img\")) {\n //todo 放到dialog去做查询\n editor.word_img = [img.getAttribute(\"word_img\")];\n dialogName = \"wordimageDialog\"\n }\n if(domUtils.hasClass(img, 'loadingclass') || domUtils.hasClass(img, 'loaderrorclass')) {\n dialogName = \"\";\n }\n if (!dialogs[dialogName]) {\n return;\n }\n str = '' + editor.getLang(\"property\") + ': '+\n '' + editor.getLang(\"default\") + '  ' +\n '' + editor.getLang(\"justifyleft\") + '  ' +\n '' + editor.getLang(\"justifyright\") + '  ' +\n '' + editor.getLang(\"justifycenter\") + '  '+\n '' + editor.getLang(\"modify\") + '';\n\n !html && (html = popup.formatHtml(str))\n\n }\n if (editor.ui._dialogs.linkDialog) {\n var link = editor.queryCommandValue('link');\n var url;\n if (link && (url = (link.getAttribute('_href') || link.getAttribute('href', 2)))) {\n var txt = url;\n if (url.length > 30) {\n txt = url.substring(0, 20) + \"...\";\n }\n if (html) {\n html += '
    '\n }\n html += popup.formatHtml(\n '' + editor.getLang(\"anthorMsg\") + ': ' + txt + '' +\n ' ' + editor.getLang(\"modify\") + '' +\n ' ' + editor.getLang(\"clear\") + '');\n popup.showAnchor(link);\n }\n }\n\n if (html) {\n popup.getDom('content').innerHTML = html;\n popup.anchorEl = img || link;\n popup.showAnchor(popup.anchorEl);\n } else {\n popup.hide();\n }\n });\n }\n\n },\n _initToolbars:function () {\n var editor = this.editor;\n var toolbars = this.toolbars || [];\n var toolbarUis = [];\n for (var i = 0; i < toolbars.length; i++) {\n var toolbar = toolbars[i];\n var toolbarUi = new baidu.editor.ui.Toolbar({theme:editor.options.theme});\n for (var j = 0; j < toolbar.length; j++) {\n var toolbarItem = toolbar[j];\n var toolbarItemUi = null;\n if (typeof toolbarItem == 'string') {\n toolbarItem = toolbarItem.toLowerCase();\n if (toolbarItem == '|') {\n toolbarItem = 'Separator';\n }\n if(toolbarItem == '||'){\n toolbarItem = 'Breakline';\n }\n if (baidu.editor.ui[toolbarItem]) {\n toolbarItemUi = new baidu.editor.ui[toolbarItem](editor);\n }\n\n //fullscreen这里单独处理一下,放到首行去\n if (toolbarItem == 'fullscreen') {\n if (toolbarUis && toolbarUis[0]) {\n toolbarUis[0].items.splice(0, 0, toolbarItemUi);\n } else {\n toolbarItemUi && toolbarUi.items.splice(0, 0, toolbarItemUi);\n }\n\n continue;\n\n\n }\n } else {\n toolbarItemUi = toolbarItem;\n }\n if (toolbarItemUi && toolbarItemUi.id) {\n\n toolbarUi.add(toolbarItemUi);\n }\n }\n toolbarUis[i] = toolbarUi;\n }\n\n //接受外部定制的UI\n\n utils.each(UE._customizeUI,function(obj,key){\n var itemUI,index;\n if(obj.id && obj.id != editor.key){\n return false;\n }\n itemUI = obj.execFn.call(editor,editor,key);\n if(itemUI){\n index = obj.index;\n if(index === undefined){\n index = toolbarUi.items.length;\n }\n toolbarUi.add(itemUI,index)\n }\n });\n\n this.toolbars = toolbarUis;\n },\n getHtmlTpl:function () {\n return '
    ' +\n '
    ' +\n (this.toolbars.length ?\n '
    ' +\n this.renderToolbarBoxHtml() +\n '
    ' : '') +\n '
    ' +\n '
    ' + this.editor.getLang(\"clickToUpload\") + '
    ' +\n '
    x
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n //modify wdcount by matao\n '
    ' +\n '' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n '
    ';\n },\n showWordImageDialog:function () {\n this._dialogs['wordimageDialog'].open();\n },\n renderToolbarBoxHtml:function () {\n var buff = [];\n for (var i = 0; i < this.toolbars.length; i++) {\n buff.push(this.toolbars[i].renderHtml());\n }\n return buff.join('');\n },\n setFullScreen:function (fullscreen) {\n\n var editor = this.editor,\n container = editor.container.parentNode.parentNode;\n if (this._fullscreen != fullscreen) {\n this._fullscreen = fullscreen;\n this.editor.fireEvent('beforefullscreenchange', fullscreen);\n if (baidu.editor.browser.gecko) {\n var bk = editor.selection.getRange().createBookmark();\n }\n if (fullscreen) {\n while (container.tagName != \"BODY\") {\n var position = baidu.editor.dom.domUtils.getComputedStyle(container, \"position\");\n nodeStack.push(position);\n container.style.position = \"static\";\n container = container.parentNode;\n }\n this._bakHtmlOverflow = document.documentElement.style.overflow;\n this._bakBodyOverflow = document.body.style.overflow;\n this._bakAutoHeight = this.editor.autoHeightEnabled;\n this._bakScrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);\n\n this._bakEditorContaninerWidth = editor.iframe.parentNode.offsetWidth;\n if (this._bakAutoHeight) {\n //当全屏时不能执行自动长高\n editor.autoHeightEnabled = false;\n this.editor.disableAutoHeight();\n }\n\n document.documentElement.style.overflow = 'hidden';\n //修复,滚动条不收起的问题\n\n window.scrollTo(0,window.scrollY);\n this._bakCssText = this.getDom().style.cssText;\n this._bakCssText1 = this.getDom('iframeholder').style.cssText;\n editor.iframe.parentNode.style.width = '';\n this._updateFullScreen();\n } else {\n while (container.tagName != \"BODY\") {\n container.style.position = nodeStack.shift();\n container = container.parentNode;\n }\n this.getDom().style.cssText = this._bakCssText;\n this.getDom('iframeholder').style.cssText = this._bakCssText1;\n if (this._bakAutoHeight) {\n editor.autoHeightEnabled = true;\n this.editor.enableAutoHeight();\n }\n\n document.documentElement.style.overflow = this._bakHtmlOverflow;\n document.body.style.overflow = this._bakBodyOverflow;\n editor.iframe.parentNode.style.width = this._bakEditorContaninerWidth + 'px';\n window.scrollTo(0, this._bakScrollTop);\n }\n if (browser.gecko && editor.body.contentEditable === 'true') {\n var input = document.createElement('input');\n document.body.appendChild(input);\n editor.body.contentEditable = false;\n setTimeout(function () {\n input.focus();\n setTimeout(function () {\n editor.body.contentEditable = true;\n editor.fireEvent('fullscreenchanged', fullscreen);\n editor.selection.getRange().moveToBookmark(bk).select(true);\n baidu.editor.dom.domUtils.remove(input);\n fullscreen && window.scroll(0, 0);\n }, 0)\n }, 0)\n }\n\n if(editor.body.contentEditable === 'true'){\n this.editor.fireEvent('fullscreenchanged', fullscreen);\n this.triggerLayout();\n }\n\n }\n },\n _updateFullScreen:function () {\n if (this._fullscreen) {\n var vpRect = uiUtils.getViewportRect();\n this.getDom().style.cssText = 'border:0;position:absolute;left:0;top:' + (this.editor.options.topOffset || 0) + 'px;width:' + vpRect.width + 'px;height:' + vpRect.height + 'px;z-index:' + (this.getDom().style.zIndex * 1 + 100);\n uiUtils.setViewportOffset(this.getDom(), { left:0, top:this.editor.options.topOffset || 0 });\n this.editor.setHeight(vpRect.height - this.getDom('toolbarbox').offsetHeight - this.getDom('bottombar').offsetHeight - (this.editor.options.topOffset || 0),true);\n //不手动调一下,会导致全屏失效\n if(browser.gecko){\n try{\n window.onresize();\n }catch(e){\n\n }\n\n }\n }\n },\n _updateElementPath:function () {\n var bottom = this.getDom('elementpath'), list;\n if (this.elementPathEnabled && (list = this.editor.queryCommandValue('elementpath'))) {\n\n var buff = [];\n for (var i = 0, ci; ci = list[i]; i++) {\n buff[i] = this.formatHtml('' + ci + '');\n }\n bottom.innerHTML = '
    ' + this.editor.getLang(\"elementPathTip\") + ': ' + buff.join(' > ') + '
    ';\n\n } else {\n bottom.style.display = 'none'\n }\n },\n disableElementPath:function () {\n var bottom = this.getDom('elementpath');\n bottom.innerHTML = '';\n bottom.style.display = 'none';\n this.elementPathEnabled = false;\n\n },\n enableElementPath:function () {\n var bottom = this.getDom('elementpath');\n bottom.style.display = '';\n this.elementPathEnabled = true;\n this._updateElementPath();\n },\n _scale:function () {\n var doc = document,\n editor = this.editor,\n editorHolder = editor.container,\n editorDocument = editor.document,\n toolbarBox = this.getDom(\"toolbarbox\"),\n bottombar = this.getDom(\"bottombar\"),\n scale = this.getDom(\"scale\"),\n scalelayer = this.getDom(\"scalelayer\");\n\n var isMouseMove = false,\n position = null,\n minEditorHeight = 0,\n minEditorWidth = editor.options.minFrameWidth,\n pageX = 0,\n pageY = 0,\n scaleWidth = 0,\n scaleHeight = 0;\n\n function down() {\n position = domUtils.getXY(editorHolder);\n\n if (!minEditorHeight) {\n minEditorHeight = editor.options.minFrameHeight + toolbarBox.offsetHeight + bottombar.offsetHeight;\n }\n\n scalelayer.style.cssText = \"position:absolute;left:0;display:;top:0;background-color:#41ABFF;opacity:0.4;filter: Alpha(opacity=40);width:\" + editorHolder.offsetWidth + \"px;height:\"\n + editorHolder.offsetHeight + \"px;z-index:\" + (editor.options.zIndex + 1);\n\n domUtils.on(doc, \"mousemove\", move);\n domUtils.on(editorDocument, \"mouseup\", up);\n domUtils.on(doc, \"mouseup\", up);\n }\n\n var me = this;\n //by xuheng 全屏时关掉缩放\n this.editor.addListener('fullscreenchanged', function (e, fullScreen) {\n if (fullScreen) {\n me.disableScale();\n\n } else {\n if (me.editor.options.scaleEnabled) {\n me.enableScale();\n var tmpNode = me.editor.document.createElement('span');\n me.editor.body.appendChild(tmpNode);\n me.editor.body.style.height = Math.max(domUtils.getXY(tmpNode).y, me.editor.iframe.offsetHeight - 20) + 'px';\n domUtils.remove(tmpNode)\n }\n }\n });\n function move(event) {\n clearSelection();\n var e = event || window.event;\n pageX = e.pageX || (doc.documentElement.scrollLeft + e.clientX);\n pageY = e.pageY || (doc.documentElement.scrollTop + e.clientY);\n scaleWidth = pageX - position.x;\n scaleHeight = pageY - position.y;\n\n if (scaleWidth >= minEditorWidth) {\n isMouseMove = true;\n scalelayer.style.width = scaleWidth + 'px';\n }\n if (scaleHeight >= minEditorHeight) {\n isMouseMove = true;\n scalelayer.style.height = scaleHeight + \"px\";\n }\n }\n\n function up() {\n if (isMouseMove) {\n isMouseMove = false;\n editor.ui._actualFrameWidth = scalelayer.offsetWidth - 2;\n editorHolder.style.width = editor.ui._actualFrameWidth + 'px';\n\n editor.setHeight(scalelayer.offsetHeight - bottombar.offsetHeight - toolbarBox.offsetHeight - 2,true);\n }\n if (scalelayer) {\n scalelayer.style.display = \"none\";\n }\n clearSelection();\n domUtils.un(doc, \"mousemove\", move);\n domUtils.un(editorDocument, \"mouseup\", up);\n domUtils.un(doc, \"mouseup\", up);\n }\n\n function clearSelection() {\n if (browser.ie)\n doc.selection.clear();\n else\n window.getSelection().removeAllRanges();\n }\n\n this.enableScale = function () {\n //trace:2868\n if (editor.queryCommandState(\"source\") == 1) return;\n scale.style.display = \"\";\n this.scaleEnabled = true;\n domUtils.on(scale, \"mousedown\", down);\n };\n this.disableScale = function () {\n scale.style.display = \"none\";\n this.scaleEnabled = false;\n domUtils.un(scale, \"mousedown\", down);\n };\n },\n isFullScreen:function () {\n return this._fullscreen;\n },\n postRender:function () {\n UIBase.prototype.postRender.call(this);\n for (var i = 0; i < this.toolbars.length; i++) {\n this.toolbars[i].postRender();\n }\n var me = this;\n var timerId,\n domUtils = baidu.editor.dom.domUtils,\n updateFullScreenTime = function () {\n clearTimeout(timerId);\n timerId = setTimeout(function () {\n me._updateFullScreen();\n });\n };\n domUtils.on(window, 'resize', updateFullScreenTime);\n\n me.addListener('destroy', function () {\n domUtils.un(window, 'resize', updateFullScreenTime);\n clearTimeout(timerId);\n })\n },\n showToolbarMsg:function (msg, flag) {\n this.getDom('toolbarmsg_label').innerHTML = msg;\n this.getDom('toolbarmsg').style.display = '';\n //\n if (!flag) {\n var w = this.getDom('upload_dialog');\n w.style.display = 'none';\n }\n },\n hideToolbarMsg:function () {\n this.getDom('toolbarmsg').style.display = 'none';\n },\n mapUrl:function (url) {\n return url ? url.replace('~/', this.editor.options.UEDITOR_HOME_URL || '') : ''\n },\n triggerLayout:function () {\n var dom = this.getDom();\n if (dom.style.zoom == '1') {\n dom.style.zoom = '100%';\n } else {\n dom.style.zoom = '1';\n }\n }\n };\n utils.inherits(EditorUI, baidu.editor.ui.UIBase);\n\n\n var instances = {};\n\n\n UE.ui.Editor = function (options) {\n var editor = new UE.Editor(options);\n editor.options.editor = editor;\n utils.loadFile(document, {\n href:editor.options.themePath + editor.options.theme + \"/css/ueditor.css\",\n tag:\"link\",\n type:\"text/css\",\n rel:\"stylesheet\"\n });\n\n var oldRender = editor.render;\n editor.render = function (holder) {\n if (holder.constructor === String) {\n editor.key = holder;\n instances[holder] = editor;\n }\n utils.domReady(function () {\n editor.langIsReady ? renderUI() : editor.addListener(\"langReady\", renderUI);\n function renderUI() {\n editor.setOpt({\n labelMap:editor.options.labelMap || editor.getLang('labelMap')\n });\n new EditorUI(editor.options);\n if (holder) {\n if (holder.constructor === String) {\n holder = document.getElementById(holder);\n }\n holder && holder.getAttribute('name') && ( editor.options.textarea = holder.getAttribute('name'));\n if (holder && /script|textarea/ig.test(holder.tagName)) {\n var newDiv = document.createElement('div');\n holder.parentNode.insertBefore(newDiv, holder);\n var cont = holder.value || holder.innerHTML;\n editor.options.initialContent = /^[\\t\\r\\n ]*$/.test(cont) ? editor.options.initialContent :\n cont.replace(/>[\\n\\r\\t]+([ ]{4})+/g, '>')\n .replace(/[\\n\\r\\t]+([ ]{4})+[\\n\\r\\t]+<');\n holder.className && (newDiv.className = holder.className);\n holder.style.cssText && (newDiv.style.cssText = holder.style.cssText);\n if (/textarea/i.test(holder.tagName)) {\n editor.textarea = holder;\n editor.textarea.style.display = 'none';\n\n\n } else {\n holder.parentNode.removeChild(holder);\n\n\n }\n if(holder.id){\n newDiv.id = holder.id;\n domUtils.removeAttributes(holder,'id');\n }\n holder = newDiv;\n holder.innerHTML = '';\n }\n\n }\n domUtils.addClass(holder, \"edui-\" + editor.options.theme);\n editor.ui.render(holder);\n var opt = editor.options;\n //给实例添加一个编辑器的容器引用\n editor.container = editor.ui.getDom();\n var parents = domUtils.findParents(holder,true);\n var displays = [];\n for(var i = 0 ,ci;ci=parents[i];i++){\n displays[i] = ci.style.display;\n ci.style.display = 'block'\n }\n if (opt.initialFrameWidth) {\n opt.minFrameWidth = opt.initialFrameWidth;\n } else {\n opt.minFrameWidth = opt.initialFrameWidth = holder.offsetWidth;\n var styleWidth = holder.style.width;\n if(/%$/.test(styleWidth)) {\n opt.initialFrameWidth = styleWidth;\n }\n }\n if (opt.initialFrameHeight) {\n opt.minFrameHeight = opt.initialFrameHeight;\n } else {\n opt.initialFrameHeight = opt.minFrameHeight = holder.offsetHeight;\n }\n for(var i = 0 ,ci;ci=parents[i];i++){\n ci.style.display = displays[i]\n }\n //编辑器最外容器设置了高度,会导致,编辑器不占位\n //todo 先去掉,没有找到原因\n if(holder.style.height){\n holder.style.height = ''\n }\n editor.container.style.width = opt.initialFrameWidth + (/%$/.test(opt.initialFrameWidth) ? '' : 'px');\n editor.container.style.zIndex = opt.zIndex;\n oldRender.call(editor, editor.ui.getDom('iframeholder'));\n editor.fireEvent(\"afteruiready\");\n }\n })\n };\n return editor;\n };\n\n\n /**\n * @file\n * @name UE\n * @short UE\n * @desc UEditor的顶部命名空间\n */\n /**\n * @name getEditor\n * @since 1.2.4+\n * @grammar UE.getEditor(id,[opt]) => Editor实例\n * @desc 提供一个全局的方法得到编辑器实例\n *\n * * ''id'' 放置编辑器的容器id, 如果容器下的编辑器已经存在,就直接返回\n * * ''opt'' 编辑器的可选参数\n * @example\n * UE.getEditor('containerId',{onready:function(){//创建一个编辑器实例\n * this.setContent('hello')\n * }});\n * UE.getEditor('containerId'); //返回刚创建的实例\n *\n */\n UE.getEditor = function (id, opt) {\n var editor = instances[id];\n if (!editor) {\n editor = instances[id] = new UE.ui.Editor(opt);\n editor.render(id);\n }\n return editor;\n };\n\n\n UE.delEditor = function (id) {\n var editor;\n if (editor = instances[id]) {\n editor.key && editor.destroy();\n delete instances[id]\n }\n };\n\n UE.registerUI = function(uiName,fn,index,editorId){\n utils.each(uiName.split(/\\s+/), function (name) {\n UE._customizeUI[name] = {\n id : editorId,\n execFn:fn,\n index:index\n };\n })\n\n }\n\n})();\n\n// adapter/message.js\nUE.registerUI('message', function(editor) {\n\n var editorui = baidu.editor.ui;\n var Message = editorui.Message;\n var holder;\n var _messageItems = [];\n var me = editor;\n\n me.addListener('ready', function(){\n holder = document.getElementById(me.ui.id + '_message_holder');\n updateHolderPos();\n setTimeout(function(){\n updateHolderPos();\n }, 500);\n });\n\n me.addListener('showmessage', function(type, opt){\n opt = utils.isString(opt) ? {\n 'content': opt\n } : opt;\n var message = new Message({\n 'timeout': opt.timeout,\n 'type': opt.type,\n 'content': opt.content,\n 'keepshow': opt.keepshow,\n 'editor': me\n }),\n mid = opt.id || ('msg_' + (+new Date()).toString(36));\n message.render(holder);\n _messageItems[mid] = message;\n message.reset(opt);\n updateHolderPos();\n return mid;\n });\n\n me.addListener('updatemessage',function(type, id, opt){\n opt = utils.isString(opt) ? {\n 'content': opt\n } : opt;\n var message = _messageItems[id];\n message.render(holder);\n message && message.reset(opt);\n });\n\n me.addListener('hidemessage',function(type, id){\n var message = _messageItems[id];\n message && message.hide();\n });\n\n function updateHolderPos(){\n var toolbarbox = me.ui.getDom('toolbarbox');\n if (toolbarbox) {\n holder.style.top = toolbarbox.offsetHeight + 3 + 'px';\n }\n holder.style.zIndex = Math.max(me.options.zIndex, me.iframe.style.zIndex) + 1;\n }\n\n});\n\n\n// adapter/autosave.js\nUE.registerUI('autosave', function(editor) {\n var timer = null,uid = null;\n editor.on('afterautosave',function(){\n clearTimeout(timer);\n\n timer = setTimeout(function(){\n if(uid){\n editor.trigger('hidemessage',uid);\n }\n uid = editor.trigger('showmessage',{\n content : editor.getLang('autosave.success'),\n timeout : 2000\n });\n\n },2000)\n })\n\n});\n\n\n\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/UEditor/ueditor.all.js\n// module id = KkE4\n// module chunks = 218","\"use strict\";\r\nconst app = {\r\n state: {\r\n breadcrumb: {\r\n items: []\r\n },\r\n userSession: undefined,\r\n userNotice: undefined\r\n },\r\n mutations: {\r\n SET_BREADCRUMB: (state, breadcrumb) => {\r\n state.breadcrumb = breadcrumb;\r\n },\r\n SET_USER_SESSION: (state, userSession) => {\r\n state.userSession = userSession;\r\n },\r\n SET_USER_NOTICE: (state, userNotice) => {\r\n state.userNotice = userNotice;\r\n }\r\n },\r\n actions: {\r\n setBreadcrumb({commit}, breadcrumb) {\r\n return new Promise(function (resolve, reject) {\r\n commit('SET_BREADCRUMB', breadcrumb);\r\n resolve(breadcrumb);\r\n });\r\n },\r\n\r\n setUserSession({commit}, userSession) {\r\n return new Promise(function (resolve, reject) {\r\n commit('SET_USER_SESSION', userSession);\r\n resolve(userSession);\r\n });\r\n },\r\n\r\n setUserNotice({commit}, userNotice) {\r\n return new Promise(function (resolve, reject) {\r\n commit('SET_USER_NOTICE', userNotice);\r\n resolve(userNotice);\r\n });\r\n }\r\n }\r\n};\r\n\r\nexport default app\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/basement/service/store/modules/app.js","\"use strict\";\r\nconst getters = {\r\n breadcrumb: state => state.app.breadcrumb,\r\n userSession: state => state.app.userSession,\r\n userNotice: state => state.app.userNotice\r\n};\r\nexport default getters\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/basement/service/store/getters.js","\"use strict\";\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport app from './modules/app'\r\nimport getters from './getters'\r\n\r\nVue.use(Vuex);\r\n\r\nconst store = new Vuex.Store({\r\n modules: {\r\n app\r\n },\r\n getters\r\n});\r\n\r\nexport default store\n\n\n// WEBPACK FOOTER //\n// ./src/basement/service/store/index.js","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik05Ljk5MDMxIDkuNjk2MjVDOS4zOTc0OSA5LjY5NTI2IDguODI5MjEgOS40NTkzOCA4LjQwOTkzIDkuMDQwMjdDNy45OTA2NSA4LjYyMTE3IDcuNzU0NTMgOC4wNTI5OSA3Ljc1MzI4IDcuNDYwMTdDNy43NTQyOCA2Ljg2NzE3IDcuOTkwMjkgNi4yOTg3NiA4LjQwOTYgNS44Nzk0NUM4LjgyODkxIDUuNDYwMTQgOS4zOTczMiA1LjIyNDEzIDkuOTkwMzEgNS4yMjMxM0MxMC41ODMzIDUuMjI0MTMgMTEuMTUxNyA1LjQ2MDE0IDExLjU3MSA1Ljg3OTQ1QzExLjk5MDMgNi4yOTg3NiAxMi4yMjYzIDYuODY3MTcgMTIuMjI3MyA3LjQ2MDE3QzEyLjIyNjEgOC4wNTI5OSAxMS45OSA4LjYyMTE3IDExLjU3MDcgOS4wNDAyN0MxMS4xNTE0IDkuNDU5MzggMTAuNTgzMSA5LjY5NTI2IDkuOTkwMzEgOS42OTYyNVpNOS45OTAzMSA2LjI5MzQzQzkuNjgwODggNi4yOTM0MyA5LjM4NDExIDYuNDE2MzUgOS4xNjUzMSA2LjYzNTE2QzguOTQ2NSA2Ljg1Mzk2IDguODIzNTggNy4xNTA3MyA4LjgyMzU4IDcuNDYwMTdDOC44MjM1OCA3Ljc2OTYgOC45NDY1IDguMDY2MzcgOS4xNjUzMSA4LjI4NTE3QzkuMzg0MTEgOC41MDM5OCA5LjY4MDg4IDguNjI2OSA5Ljk5MDMxIDguNjI2OUMxMC4yOTk4IDguNjI2OSAxMC41OTY1IDguNTAzOTggMTAuODE1MyA4LjI4NTE3QzExLjAzNDEgOC4wNjYzNyAxMS4xNTcxIDcuNzY5NiAxMS4xNTcxIDcuNDYwMTdDMTEuMTU3MSA3LjE1MDczIDExLjAzNDEgNi44NTM5NiAxMC44MTUzIDYuNjM1MTZDMTAuNTk2NSA2LjQxNjM1IDEwLjI5OTggNi4yOTM0MyA5Ljk5MDMxIDYuMjkzNDNaTTguMzIyNDcgMTQuNjQyMUM3LjgwNzE3IDE0LjA4NDMgNy4yMzMyNiAxMy4yOTc2IDYuNzA1NjcgMTIuNDM1M0M2LjI1MTg0IDExLjY4NTYgNC43Njc0MSA5LjA5OTY1IDQuNzY3NDEgNy4yMTMzOUM0Ljc2NzQxIDUuODE3ODUgNS4zMTEwNyA0LjUwODM0IDYuMjk3MjIgMy41MjEyNUM2Ljc4MDY1IDMuMDM0NjIgNy4zNTU4MyAyLjY0ODc2IDcuOTg5NDQgMi4zODZDOC42MjMwNCAyLjEyMzI0IDkuMzAyNDkgMS45ODg4MSA5Ljk4ODQyIDEuOTkwNDlDMTAuNjc0NiAxLjk4ODg3IDExLjM1NDMgMi4xMjMzMiAxMS45ODgyIDIuMzg2MDdDMTIuNjIyMiAyLjY0ODgyIDEzLjE5NzcgMy4wMzQ2NSAxMy42ODE1IDMuNTIxMjVDMTQuMTY4IDQuMDA0OTMgMTQuNTUzNyA0LjU4MDMgMTQuODE2MyA1LjIxNDA3QzE1LjA3ODkgNS44NDc4MyAxNS4yMTMyIDYuNTI3MzggMTUuMjExMyA3LjIxMzM5QzE1LjIxMTMgOS4wOTk2NSAxMy43Mjc4IDExLjY4ODQgMTMuMjcyMSAxMi40MzUzQzEyLjc0NzQgMTMuMzAwNSAxMi4xNzQ0IDE0LjA4MzMgMTEuNjU4MiAxNC42NDIxQzEwLjk5ODIgMTUuMzU2OSAxMC40Njc4IDE1LjY5MTYgOS45OTAzMSAxNS42OTE2QzkuNTEyODQgMTUuNjkxNiA4Ljk4MjQyIDE1LjM1NjkgOC4zMjI0NyAxNC42NDIxWk01LjgzNzcxIDcuMjEzMzlDNS44Mzc3MSA3Ljc0NDc2IDYuMDEwNzQgOC40NzQ2OCA2LjM0MDcxIDkuMzIxODRDNi42ODUwNSAxMC4xODgyIDcuMTAxNTkgMTEuMDI0MiA3LjU4NTkzIDExLjgyMDhDOC4wNjgxMyAxMi42MTg4IDguNTkyODggMTMuMzQ0OSA5LjA1OSAxMy44NjNDOS42NzM1NyAxNC41NDM4IDkuOTU2MjggMTQuNjE2NiA5Ljk5MDMxIDE0LjYyMzJDMTAuMDI0NCAxNC42MTY2IDEwLjMwNzEgMTQuNTQzOCAxMC45MjE2IDEzLjg2M0MxMS4zOTA2IDEzLjM0NDkgMTEuOTEyNSAxMi42MTg4IDEyLjM5NDcgMTEuODIwOEMxMi44OTk2IDEwLjk4MTIgMTMuMzMwNyAxMC4xMTg5IDEzLjY0MDkgOS4zMjI3OUMxMy45Njk5IDguNDc0NjggMTQuMTQzOSA3Ljc0NDc2IDE0LjE0MzkgNy4yMTQzNEMxNC4xNDI5IDYuMTEzMDYgMTMuNzA0OSA1LjA1NzE3IDEyLjkyNjIgNC4yNzg0NEMxMi4xNDc1IDMuNDk5NzIgMTEuMDkxNiAzLjA2MTc5IDkuOTkwMzEgMy4wNjA3OUM4Ljg4OTIgMy4wNjIwNCA3LjgzMzU1IDMuNTAwMDggNy4wNTUwMyA0LjI3ODc4QzYuMjc2NTEgNS4wNTc0NyA1LjgzODcxIDYuMTEzMjIgNS44Mzc3MSA3LjIxNDM0VjcuMjEzMzlaTTE4LjQ3NjEgMTcuNzQ2MkMxOC41MjUzIDE4LjA2MSAxOC40MzU1IDE4LjM4MjUgMTguMjI1NiAxOC42MjU1QzE4LjEyMzQgMTguNzQ1OSAxNy45OTYyIDE4Ljg0MjcgMTcuODUyOCAxOC45MDg5QzE3LjcwOTQgMTguOTc1MiAxNy41NTM0IDE5LjAwOTUgMTcuMzk1NCAxOS4wMDk0SDIuNTgxNDRDMi40MjMzNiAxOS4wMTAxIDIuMjY3MDMgMTguOTc2MyAyLjEyMzM0IDE4LjkxMDRDMS45Nzk2NSAxOC44NDQ1IDEuODUyMDYgMTguNzQ4MSAxLjc0OTQ1IDE4LjYyNzhDMS42NDY4NCAxOC41MDc2IDEuNTcxNjkgMTguMzY2NCAxLjUyOTIyIDE4LjIxNDFDMS40ODY3NiAxOC4wNjE5IDEuNDc4MDEgMTcuOTAyMiAxLjUwMzU4IDE3Ljc0NjJMMi4zNTgzIDEyLjQxNTVDMi40MDg3NCAxMi4wOTI2IDIuNTczMjYgMTEuNzk4NCAyLjgyMjAzIDExLjU4NjRDMy4wNzA3OSAxMS4zNzQ1IDMuMzg3MyAxMS4yNTg3IDMuNzE0MTQgMTEuMjYwMUg1LjAwMjg0QzUuMTQ0NzcgMTEuMjYwMSA1LjI4MDg5IDExLjMxNjUgNS4zODEyNSAxMS40MTY4QzUuNDgxNjEgMTEuNTE3MiA1LjUzNzk5IDExLjY1MzMgNS41Mzc5OSAxMS43OTUyQzUuNTM3OTkgMTEuOTM3MiA1LjQ4MTYxIDEyLjA3MzMgNS4zODEyNSAxMi4xNzM3QzUuMjgwODkgMTIuMjc0IDUuMTQ0NzcgMTIuMzMwNCA1LjAwMjg0IDEyLjMzMDRIMy43MTYwM0MzLjY0NDEgMTIuMzMwNCAzLjU3NDU2IDEyLjM1NjIgMy41MTk5NCAxMi40MDNDMy40NjUzMyAxMi40NDk4IDMuNDI5MjUgMTIuNTE0NiAzLjQxODIgMTIuNTg1N0wyLjU2NDQyIDE3LjkxNTRDMi41NjQ0MiAxNy45MjAxIDIuNTYyNTMgMTcuOTI1OCAyLjU2ODIgMTcuOTMyNEMyLjU3MjkzIDE3LjkzOTEgMi41Nzk1NSAxNy45MzkxIDIuNTgzMzMgMTcuOTM5MUgxNy4zOTkyQzE3LjQwMiAxNy45MzkxIDE3LjQwODYgMTcuOTM5MSAxNy40MTQzIDE3LjkzMjRDMTcuNDIwOSAxNy45MjM5IDE3LjQxOSAxNy45MjAxIDE3LjQxOSAxNy45MTU0TDE2LjU2NDMgMTIuNTg0N0MxNi41NTM3IDEyLjUxMzcgMTYuNTE3OCAxMi40NDg4IDE2LjQ2MzMgMTIuNDAxOUMxNi40MDg4IDEyLjM1NTEgMTYuMzM5MyAxMi4zMjkzIDE2LjI2NzQgMTIuMzI5NUgxNC45Nzg3QzE0Ljg0MDggMTIuMzIzNiAxNC43MTA1IDEyLjI2NDggMTQuNjE0OSAxMi4xNjUxQzE0LjUxOTQgMTIuMDY1NSAxNC40NjYxIDExLjkzMjggMTQuNDY2MSAxMS43OTQ4QzE0LjQ2NjEgMTEuNjU2NyAxNC41MTk0IDExLjUyNCAxNC42MTQ5IDExLjQyNDRDMTQuNzEwNSAxMS4zMjQ4IDE0Ljg0MDggMTEuMjY1OSAxNC45Nzg3IDExLjI2MDFIMTYuMjY3NEMxNi45NDU0IDExLjI2MDEgMTcuNTE1NSAxMS43NDYxIDE3LjYyMjMgMTIuNDE1NUwxOC40NzYxIDE3Ljc0NjJaIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIwLjU2NzI5NSIvPg0KPC9zdmc+DQo=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/ic-jd.svg\n// module id = NB/m\n// module chunks = 218","'use strict';\r\nimport Vue from 'vue';\r\n\r\nif (!window.triggerSelectorChangeEvent) {\r\n window.triggerSelectorChangeEvent = function (_el, _value) {\r\n // console.log('Selector > triggerSelectorChangeEvent', _el, _value);\r\n let changeSelectorEvent = new Event('changeSelector');\r\n _el.value = _value;\r\n _el.dispatchEvent(changeSelectorEvent, _value);\r\n };\r\n}\r\n\r\nconst selector = Vue.directive('selector', {\r\n bind: function (_el, _binding) {\r\n },\r\n inserted: function (_el, _binding) {\r\n // console.log('Selector -> inserted', _el, _binding);\r\n bindSelectorInput(_el, _binding);\r\n },\r\n unbind: function (_el, _binding) {\r\n // console.log('Selector -> unbind', _el, _binding);\r\n }\r\n});\r\n\r\nconst bindSelectorInput = function (_el, _binding) {\r\n\r\n _el.onkeydown = function (_evt) {\r\n onSelectorKeyDownHandler(_el, _binding);\r\n return false;\r\n };\r\n\r\n _el.addEventListener('focus', function (_evt) {\r\n onSelectorFocusHandler(_el, _binding);\r\n });\r\n\r\n // console.log('Selector > add event changeSelector', _el);\r\n _el.addEventListener('changeSelector', function (_evt) {\r\n // console.log('Selector > changeSelector', _evt);\r\n triggerValidatorElementEvent(_el);\r\n });\r\n\r\n};\r\n\r\nconst onSelectorKeyDownHandler = function (_el, _binding) {\r\n // console.log('selector > onSelectorKeyDownHandler');\r\n return false;\r\n};\r\n\r\nconst onSelectorFocusHandler = function (_el, _binding) {\r\n let _key = _el.getAttribute('data-key');\r\n //console.log('selector > onSelectorFocusHandler', _el, _key);\r\n if (_key) {\r\n _binding.value(_key);\r\n } else {\r\n _binding.value();\r\n }\r\n return false;\r\n};\r\n\r\nexport default selector;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/basement/directives/selector.js","\"use strict\";\r\n\r\nimport Vue from 'vue';\r\n/** Directive import **/\r\nimport datePicker from './date-picker'\r\nimport validator from './validator'\r\nimport selector from './selector'\r\n\r\nVue.use(datePicker);\r\nVue.use(validator);\r\nVue.use(selector);\n\n\n// WEBPACK FOOTER //\n// ./src/basement/directives/index.js","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/components/message/toast.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container message-component\"},[_c('b-alert',{staticClass:\"container fixed-top w-25 mt-5\",attrs:{\"dismissible\":\"\",\"variant\":_vm.variant,\"show\":_vm.dismissCountDown},on:{\"dismissed\":function($event){_vm.dismissCountDown=0},\"dismiss-count-down\":_vm.countDownChanged}},[_vm._v(\"\\n \"+_vm._s(_vm.content)+\"\\n \")])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3b419b1e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/components/message/toast.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3b419b1e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./toast.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./toast.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./toast.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3b419b1e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./toast.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3b419b1e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/components/message/toast.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/components/message/confirm.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container message-component\"},[_c('b-modal',{ref:\"confirmModal\",attrs:{\"centered\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\",\"size\":\"sm\",\"button-size\":\"sm\",\"title-tag\":\"h6\",\"footer-class\":\"border-0 justify-content-center confirm-modal\",\"ok-title\":\"确定\",\"ok-variant\":\"primary\",\"cancel-variant\":\"secondary\",\"cancel-title\":\"取消\",\"title\":_vm.title,\"ok-only\":_vm.confirmMode},on:{\"ok\":function($event){return _vm.confirmHandler()},\"cancel\":function($event){return _vm.cancelHandler()}}},[_c('p',[_vm._v(_vm._s(_vm.content))])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-dd7b5878\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/components/message/confirm.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-dd7b5878\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./confirm.vue\")\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-dd7b5878\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=1!./confirm.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./confirm.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./confirm.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dd7b5878\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./confirm.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-dd7b5878\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/components/message/confirm.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/components/message/loading.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container loading-component\"})}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-59c1ca4e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/components/message/loading.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-59c1ca4e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./loading.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./loading.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./loading.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-59c1ca4e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./loading.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-59c1ca4e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/components/message/loading.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/components/message/layer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container message-component\"},[_c('b-modal',{ref:\"LayerModal\",attrs:{\"centered\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\",\"hide-footer\":\"\",\"size\":\"lg\",\"modal-class\":\"modal-layer\",\"button-size\":\"sm\",\"title-tag\":\"h6\",\"title\":_vm.title}},[_c('div',{ref:\"layerIFrameRef\"})]),_vm._v(\" \"),_c('div',{ref:\"layerIFrameTemp\",staticStyle:{\"display\":\"none\"}},[_c('iframe',{attrs:{\"id\":\"layerIFrame\"}})]),_vm._v(\" \"),_c('div',{ref:\"layerFormTemp\",staticStyle:{\"display\":\"none\"}},[_c('form',{attrs:{\"id\":\"layerForm\",\"action\":_vm.prop.action,\"method\":_vm.prop.method}},_vm._l((_vm.prop.params),function(param,_index){return _c('div',{key:_index},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":param.name,\"data-value\":_vm.prop.params[_index].value}})])}),0)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-38a1040a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/components/message/layer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-38a1040a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./layer.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./layer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./layer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-38a1040a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./layer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-38a1040a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/components/message/layer.vue\n// module id = null\n// module chunks = ","'use strict'\r\nimport Vue from 'vue';\r\n\r\nimport Toast from './message/toast.vue'\r\nimport Confirm from './message/confirm.vue'\r\nimport Loading from './message/loading.vue'\r\nimport Layer from './message/layer.vue'\r\n\r\nconst _Toast = {\r\n install: function (Vue) {\r\n // console.log('Components Toast -> install');\r\n Vue.component('Toast', Toast)\r\n }\r\n};\r\n\r\nconst _Confirm = {\r\n install: function (Vue) {\r\n // console.log('Components Confirm -> install');\r\n Vue.component('Confirm', Confirm);\r\n }\r\n};\r\n\r\nconst _Loading = {\r\n install: function (Vue) {\r\n // console.log('Components Loading -> install');\r\n Vue.component('Loading', Loading);\r\n }\r\n};\r\n\r\nconst _Layer = {\r\n install: function (Vue) {\r\n // console.log('Components Loading -> install');\r\n Vue.component('Layer', Layer);\r\n }\r\n};\r\n\r\nVue.use(_Toast);\r\nVue.use(_Confirm);\r\nVue.use(_Loading);\r\nVue.use(_Layer);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/basement/components/index.js","\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-container\"},[_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e8da95e4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e8da95e4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./app.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./app.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./app.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e8da95e4\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./app.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app.vue\n// module id = null\n// module chunks = ","\"use strict\";\r\nimport _Router, {\r\n _AsyncRouterMap4Console,\r\n _AsyncRouterMap4Govt,\r\n _AsyncRouterMap4Management,\r\n _AsyncRouterMap4Intermediary,\r\n _AsyncRouterMap4LeadinGgroup, _AsyncRouterHomeMap\r\n} from '../../router'\r\n\r\nimport store from '../../basement/service/store'\r\nimport {_sessionMe, _sessionStatus, _widgetToken} from \"../service/api/session-api\";\r\nimport {_noticeUnreadCount} from \"../service/api/notice-api\";\r\n\r\n// Redirect WHITE_LIST\r\nconst WHITE_LIST = ['/sign/in', '/sign/up', '/sign/pre-up', '/sign/identifying', '/sign/forget', '/sign/Success', '/error/401', '/error/403', '/error/404', '/error/500'];\r\n\r\n_Router.beforeEach((to, from, next) => {\r\n console.log(_Router)\r\n if (from && from.name && sessionStorage.getItem('prevRoute')!= from.name){\r\n sessionStorage.setItem('prevRoute', from.name);\r\n }\r\n _routerInterceptor(to, from, next);\r\n});\r\n\r\n// _Router.prototype.backLevel = function () {\r\n// // 获取之前的路由名称\r\n// const prevRouteName = sessionStorage.getItem('prevRoute');\r\n//\r\n// // 检查是否存在之前的路由名称\r\n// if (prevRouteName) {\r\n// // 使用路由器实例的 push 方法进行导航\r\n// this.push({ name: prevRouteName });\r\n// } else {\r\n// // 处理 'prevRoute' 不存在的情况,可能重定向到默认页面或抛出错误\r\n// console.error('Previous route not found in sessionStorage.');\r\n// // 这里可以添加更多处理逻辑\r\n// }\r\n// };\r\n\r\nconst _routerInterceptor = function (to, from, next) {\r\n\r\n console.log('Permission router > interceptor > ', 'from : ', from.path, 'to : ', to.path, to.query);\r\n\r\n // 1 白名单\r\n if (WHITE_LIST.indexOf(to.path) !== -1 || to.path.includes(\"portal\")) {\r\n console.log('Permission router > interceptor > WHITE_LIST');\r\n // 在免登录白名单\r\n routerHandler(to, from, next);\r\n return;\r\n }\r\n\r\n // 2 已经登录\r\n if (store.getters.userSession) {\r\n console.log('Permission router > interceptor > AUTHORIZED', store.getters.userSession);\r\n // 已登录\r\n routerHandler(to, from, next);\r\n return;\r\n }\r\n\r\n // 3 登录回调\r\n if (!store.getters.userSession) {\r\n\r\n // 登录检查\r\n _sessionStatus().then(function (response) {\r\n console.log(response);\r\n if (response.data.session && response.data.session === 'ANONYMOUS') {\r\n // 跳转登录\r\n console.log('Permission router > interceptor > ANONYMOUS', store.getters.userSession);\r\n routerHandler(to, from, next, '/sign/in');\r\n } else if (response.data.session && response.data.session === 'AUTHORIZED') {\r\n // 重新获取UserSession\r\n _sessionMe().then(function (response) {\r\n // 启动未读数量监听\r\n _noticeUnreadCountListener();\r\n store.dispatch('setUserSession', response.data).then(function (response) {\r\n console.log('Permission router > interceptor > AUTHORIZED', store.getters.userSession);\r\n routerHandler(to, from, next);\r\n });\r\n }).catch(function (error) {\r\n // TODO service error\r\n });\r\n }\r\n }).catch(function (error) {\r\n // TODO service error\r\n });\r\n }\r\n};\r\n\r\nfunction routerHandler(to, from, next, redirect) {\r\n // Initialize router\r\n if (store.getters.userSession && !_Router.initialized) {\r\n _initializeRouter(to, from, next);\r\n next({path: to.path, query: to.query});\r\n return;\r\n }\r\n if (redirect) {\r\n // Redirect path\r\n console.log('Permission router > routerHandler > redirect', redirect);\r\n next({path: redirect});\r\n } else {\r\n // Settings breadcrumb\r\n console.log('Permission router > routerHandler > proxy pass');\r\n _breadcrumbHandler(to, from);\r\n next();\r\n }\r\n}\r\n\r\nconst _initializeRouter = function (to, from, next) {\r\n\r\n if (store.getters.userSession && store.getters.userSession.org) {\r\n // 企业用户登录\r\n if (store.getters.userSession.org.type === 'ENTERPRISE') {\r\n _Router.addRoutes(_AsyncRouterMap4Console);\r\n console.log('Permission router > initialize > ENTERPRISE', _AsyncRouterMap4Console);\r\n }\r\n // 金融办用户\r\n if (store.getters.userSession.org.type === 'FINANCIAL') {\r\n _Router.addRoutes(_AsyncRouterMap4Govt);\r\n console.log('Permission router > initialize > FINANCIAL ', _AsyncRouterMap4Govt);\r\n }\r\n // 省政府 职能部门\r\n if (store.getters.userSession.org.type === 'FUNCTIONAL') {\r\n _Router.addRoutes(_AsyncRouterMap4LeadinGgroup);\r\n console.log('Permission router > initialize > FUNCTIONAL ', _AsyncRouterMap4LeadinGgroup);\r\n }\r\n // 系统管理员\r\n if (store.getters.userSession.authorities.indexOf('ADMIN') > -1) {\r\n _Router.addRoutes(_AsyncRouterMap4Management);\r\n console.log('Permission router > initialize > ADMIN ', _AsyncRouterMap4Management);\r\n }\r\n // 机构用户\r\n\r\n if (store.getters.userSession.org.type === 'BROKER'\r\n || store.getters.userSession.org.type === 'APPRAISAL_FIRM'\r\n || store.getters.userSession.org.type === 'LAW_FIRM'\r\n || store.getters.userSession.org.type === 'ACCOUNTING_FIRM'\r\n || store.getters.userSession.org.type === 'MONETARY'\r\n || store.getters.userSession.org.type === 'MEDIA'\r\n || store.getters.userSession.org.type === 'ADVICE_FIRM'\r\n || store.getters.userSession.org.type === 'OTHER'\r\n || store.getters.userSession.org.type === 'INVESTMENT'\r\n || store.getters.userSession.org.type === 'FUND_CUSTODIAN'\r\n || store.getters.userSession.org.type === 'FUND'\r\n\r\n\r\n\r\n\r\n ) {\r\n _Router.addRoutes(_AsyncRouterMap4Intermediary);\r\n console.log('Permission router > initialize > Intermediary ', _AsyncRouterMap4Intermediary);\r\n }\r\n }\r\n _Router.initialized = true;\r\n};\r\n\r\nconst _breadcrumbHandler = function (to, from) {\r\n console.log('Permission router > breadcrumb handler');\r\n if (to.matched && to.matched.length > 0) {\r\n store.dispatch('setBreadcrumb', {items: to.matched}).then(\r\n (_response) => {\r\n // ignore\r\n }, (_reason) => {\r\n // ignore\r\n }\r\n );\r\n } else {\r\n store.dispatch('setBreadcrumb', {items: []}).then(\r\n (_response) => {\r\n // ignore\r\n }, (_reason) => {\r\n // ignore\r\n }\r\n );\r\n }\r\n};\r\n\r\nlet NOTICE_LISTENER = undefined;\r\nconst _noticeUnreadCountListener = function () {\r\n console.log('Permission router > _noticeUnreadCountListener >');\r\n if (NOTICE_LISTENER) {\r\n window.clearInterval(NOTICE_LISTENER)\r\n }\r\n _noticeUnreadCountHandler();\r\n NOTICE_LISTENER = window.setInterval(_noticeUnreadCountHandler, 60000 * 5)\r\n};\r\n\r\nconst _noticeUnreadCountHandler = function () {\r\n console.log('Permission router > _noticeUnreadCountHandler >');\r\n _noticeUnreadCount().then(function (response) {\r\n store.dispatch('setUserNotice', response.data).then(function (response) {\r\n });\r\n }).catch(function (error) {\r\n })\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/security/permission.js","\"use strict\";\r\n/** import font-awesome **/\r\nimport 'font-awesome/css/font-awesome.css'\r\n\r\n/** import bootstrap-vue **/\r\nimport 'bootstrap/scss/bootstrap.scss'\r\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\r\nimport '../src/style/extends.scss'\r\nimport '../src/style/app.scss'\r\nimport BootstrapVue from 'bootstrap-vue'\r\nimport Vue from 'vue'\r\nimport axios from 'axios';\r\nimport '../src/style/portal.scss'\r\n// Javascript extends\r\nimport '../src/basement/utils/extends'\r\n/* Directive **/\r\nimport '../src/basement/directives';\r\n/* Components **/\r\nimport '../src/basement/components'\r\n/* Store **/\r\nimport store from '../src/basement/service/store'\r\n/** Application **/\r\nimport App from './app'\r\nimport router from './router'\r\n// Permission handler\r\nimport './app/security/permission';\r\n\r\n/* Ueditor**/\r\nimport '../static/UEditor/ueditor.config'\r\nimport '../static/UEditor/ueditor.all'\r\nimport '../static/UEditor/ueditor.parse'\r\nimport '../static/UEditor/lang/zh-cn/zh-cn.js'\r\n\r\n//element-ui\r\nimport ElementUI from 'element-ui';\r\nimport 'element-ui/lib/theme-chalk/index.css';\r\nimport './style/element-variables.scss'\r\nimport '../src/style/common.scss'\r\n//\r\nif (process.env.MOCK_MODE) {\r\n /* Mock api **/\r\n require('./app/service/mock')\r\n}\r\n\r\n\r\nVue.config.productionTip = false;\r\nVue.use(BootstrapVue);\r\nVue.prototype.axios = axios;\r\nVue.use(ElementUI);\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#application',\r\n router,\r\n store,\r\n components: {App}\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","\"use strict\";\r\n// laze load\r\nmodule.exports = file => () => import('@/app/views/' + file + '.vue');\n\n\n// WEBPACK FOOTER //\n// ./src/basement/router/_import_lazeload.js","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjgxMjUgOS44NzVDOS43MTg3NSA5Ljg3NSAxMS4yNSA4LjM0Mzc1IDExLjI1IDYuNDM3NUMxMS4yNSA0LjUzMTI1IDkuNzE4NzUgMyA3LjgxMjUgM0M1LjkwNjI1IDMgNC4zNzUgNC41MzEyNSA0LjM3NSA2LjQzNzVDNC4zNzUgOC4zNDM3NSA1LjkwNjI1IDkuODc1IDcuODEyNSA5Ljg3NVpNNy44MTI1IDQuMjVDOS4wMzEyNSA0LjI1IDEwIDUuMjE4NzUgMTAgNi40Mzc1QzEwIDcuNjU2MjUgOS4wMzEyNSA4LjYyNSA3LjgxMjUgOC42MjVDNi41OTM3NSA4LjYyNSA1LjYyNSA3LjY1NjI1IDUuNjI1IDYuNDM3NUM1LjYyNSA1LjIxODc1IDYuNTkzNzUgNC4yNSA3LjgxMjUgNC4yNVpNMTIuMTg3NSAzQzEzLjQwNjMgMyAxNC4zNzUgMy45Njg3NSAxNC4zNzUgNS4xODc1QzE0LjM3NSA2LjM3NSAxMy40Mzc1IDcuMzQzNzUgMTIuMjUgNy4zNzVIMTIuMTg3NVY4LjYyNUgxMi4yODEyQzE0LjE1NjIgOC41NjI1IDE1LjYyNSA3LjA2MjUgMTUuNjI1IDUuMTg3NUMxNS42MjUgMy4yODEyNSAxNC4wOTM3IDEuNzUgMTIuMTg3NSAxLjc1QzExLjU5MzggMS43NSAxMSAxLjkwNjI1IDEwLjQ2ODggMi4yMTg3NUwxMS4wOTM4IDMuMzEyNUMxMS40Mzc1IDMuMDkzNzUgMTEuODEyNSAzIDEyLjE4NzUgM1pNMTAgMTEuMTI1SDUuNjI1QzMuMjE4NzUgMTEuMTI1IDEuMjUgMTMuMDkzOCAxLjI1IDE1LjVWMTguMzEyNUgxNC4zNzVWMTUuNUMxNC4zNzUgMTMuMDkzOCAxMi40MDYyIDExLjEyNSAxMCAxMS4xMjVaTTEzLjEyNSAxNy4wNjI1SDIuNVYxNS41QzIuNSAxMy43ODEyIDMuOTA2MjUgMTIuMzc1IDUuNjI1IDEyLjM3NUgxMEMxMS43MTg4IDEyLjM3NSAxMy4xMjUgMTMuNzgxMiAxMy4xMjUgMTUuNVYxNy4wNjI1Wk0xNC4zNzUgOS44NzVIMTIuOTY4OFYxMS4xMjVIMTQuMzc1QzE2LjA5MzggMTEuMTI1IDE3LjUgMTIuNTMxMiAxNy41IDE0LjI1VjE1LjgxMjVIMTUuNjI1VjE3LjA2MjVIMTguNzVWMTQuMjVDMTguNzUgMTEuODQzOCAxNi43ODEyIDkuODc1IDE0LjM3NSA5Ljg3NVoiIGZpbGw9IndoaXRlIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjAuMiIvPg0KPC9zdmc+DQo=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/ic-peer.svg\n// module id = O0AN\n// module chunks = 218","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/logo.png\n// module id = QQ3S\n// module chunks = 218","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANzSURBVHgB1ZpdTupAFMdPjYkmmkjigz5p9cU3QTdwWQI70LsC712BuIPrCq5LcAdyF6CCiS8mSnkggQRyIYEEEsg4/7ZDSiml9Ez5+CWHlnZKz5lzZubMDAZpQAiRkoeclLQUU0pGSsoVheVKUUpJSsEwDIuWBZSWcivlScTnVcq1FJMWhUfx/0IvfxM3JCHF/dySblAzwnH3oigLXd6QP3Qlkq/1IPDOHHEQTsgsm3ghJVZDecV8RsgHcmL1uArS1QhQ3pSHVxofhFaBlpQL/+AXZECZnNGUxWAwoOFwaB93dnZIE0VpwIX3wqb3i3BizSQGULhardqCc/slm5t0cHBAx8fH9jmDjNQxL43IqwsjD7ihUyYGUPj5+Zn6/X7g/e3tbbq8vOQagVA6kUbgSBueG+wR8PPzc6ryoNfrUaVSISZom7/UF9sAt/aviQFqv16vzyyHMiq0GNwIJwMeeSBLTLrdbqRyUB6eYDLygjLghhaIBg+AH/jYcMMnQ0zm6SrRmDWQRRjBA1nSAHqWvb29meUODw91GQByMIBd+4qzszPa2tqaeh+KHx0dkUYyMCBNmoCC6XSa9vf3J+6lUik6Pz/XWfvANHSlDn7Q03Q6HbvBQnnNiissGCBofWmtuwFjqQSbWYMZQqrdbpNOkFUhKWLl/lAKOU6r1bIzTogfKP/29ma3CbQHlEGGyoXViKHMx8cHNRqNset+I7zKe8GYcHp6yslOLYRQkWKAXgaps195AG+orHOa8qBWq9HLywsnN7Jg+tz5LV5YKpVCU2cYoDLUsNwHvwUDY84TSrE88PX1Faq8wjsrCwNGvL+/UwyKMOBxnidQo0FhwwUdQZT5hI/Chjs1K0R9wrIsSgrM6OYAE3xLjQP/ojyBGooSOnFBuDWbzajF7/GhDPhDzngQShKh4wc9U0QK+LANcMPoftYTukdRxjse1AKXN5UI9QLcq2kqGAreESFM79TJyIBZXtAwEdfFnXd5MWhpEeuiE7M01AxG1UWwu7s7bVCzpPIn3gtrv7g7kU67BX7T6vFzrm1ZLKKK1SFPcRCrYUSeOAhnt2ZZm3zXpAPhbLOWxeLAlq5JuhHJhxRqPU9JIhxvPAi92IoLd8l8IbiG4I8anB38J67iBmlAOPGaJWcEV3+5MT1FWq5g9ldxj49qm4jDN0ZSNzZn8B8ZAAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/address.png\n// module id = R2WG\n// module chunks = 218","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xOC4zMDUgOS40MTI4QzE4Ljk3NjggOS40MTI4IDE5LjI1NzIgOC41NDk2OSAxOC43MTE1IDguMTUxODNMMTAuNDA4NyAyLjExMjIyQzEwLjI5MDEgMi4wMjUzNSAxMC4xNDY5IDEuOTc4NTIgOS45OTk5NSAxLjk3ODUyQzkuODUyOTYgMS45Nzg1MiA5LjcwOTc5IDIuMDI1MzUgOS41OTEyMiAyLjExMjIyTDEuMjg4MzggOC4xNTE4M0MwLjc0MjY4NyA4LjU0NzUyIDEuMDIzMTQgOS40MTI4IDEuNjk3MTEgOS40MTI4SDMuMDQyODdWMTcuNTQzOUgxLjQ3NzUzQzEuMzgxODcgMTcuNTQzOSAxLjMwMzYgMTcuNjIyMiAxLjMwMzYgMTcuNzE3OFYxOC44NDgzQzEuMzAzNiAxOC45NDQgMS4zODE4NyAxOS4wMjIzIDEuNDc3NTMgMTkuMDIyM0gxOC41MjI0QzE4LjYxOCAxOS4wMjIzIDE4LjY5NjMgMTguOTQ0IDE4LjY5NjMgMTguODQ4M1YxNy43MTc4QzE4LjY5NjMgMTcuNjIyMiAxOC42MTggMTcuNTQzOSAxOC41MjI0IDE3LjU0MzlIMTYuOTU3VjkuNDEyOEgxOC4zMDVaTTkuOTk5OTUgMy42NDQ5NUwxNS44OTM5IDcuOTMyMjVINC4xMDZMOS45OTk5NSAzLjY0NDk1Wk00LjYwODIxIDkuNDEyOEg3LjE1MTg5VjE3LjU0MzlINC42MDgyMVY5LjQxMjhaTTguNzE3MjQgOS40MTI4SDExLjI2MDlWMTcuNTQzOUg4LjcxNzI0VjkuNDEyOFpNMTUuMzkxNyAxNy41NDM5SDEyLjgyNjNWOS40MTI4SDE1LjM5MTdWMTcuNTQzOVoiIGZpbGw9IndoaXRlIi8+DQo8L3N2Zz4NCg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/ic-zw.svg\n// module id = TUiz\n// module chunks = 218","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xNi44MTI1IDMuMjE4NzFMOS45Mzc1IDEuOTA2MjFDOS41NjI1IDEuODQzNzEgOS4xODc1IDEuOTM3NDYgOC45MDYyNSAyLjE1NjIxQzguNTkzNzUgMi40MDYyMSA4LjQzNzUgMi43NDk5NiA4LjQzNzUgMy4xMjQ5NlY3LjgxMjQ3TDMuMTI1IDkuMTI0OTdDMi41NjI1IDkuMjQ5OTcgMi4xODc1IDkuNzQ5OTcgMi4xODc1IDEwLjM0MzdWMTkuMjVIMTcuODEyNVY0LjQ2ODcyQzE3LjgxMjUgMy44NDM3MiAxNy4zNzUgMy4zNDM3MSAxNi44MTI1IDMuMjE4NzFaTTguNDM3NSAxOEgzLjQzNzVWMTAuMzc1TDguNDM3NSA5LjEyNDk3VjE4Wk0xNi41NjI1IDE4SDkuNjg3NVYzLjEyNDk2TDE2LjU2MjUgNC40Mzc0N1YxOFoiIGZpbGw9IndoaXRlIi8+DQo8cGF0aCBkPSJNMTUuMzEyNSA3LjY4NzQ2SDEwLjkzNzVWOC45Mzc0NkgxNS4zMTI1VjcuNjg3NDZaIiBmaWxsPSJ3aGl0ZSIvPg0KPHBhdGggZD0iTTE1LjMxMjUgMTAuODEyNUgxMC45Mzc1VjEyLjA2MjVIMTUuMzEyNVYxMC44MTI1WiIgZmlsbD0id2hpdGUiLz4NCjxwYXRoIGQ9Ik0xNS4zMTI1IDEzLjkzNzVIMTAuOTM3NVYxNS4xODc1SDE1LjMxMjVWMTMuOTM3NVoiIGZpbGw9IndoaXRlIi8+DQo8cGF0aCBkPSJNNy41IDEzSDQuMzc1VjE0LjI1SDcuNVYxM1oiIGZpbGw9IndoaXRlIi8+DQo8cGF0aCBkPSJNMTYuODEyNSAzLjIxODcxTDkuOTM3NSAxLjkwNjIxQzkuNTYyNSAxLjg0MzcxIDkuMTg3NSAxLjkzNzQ2IDguOTA2MjUgMi4xNTYyMUM4LjU5Mzc1IDIuNDA2MjEgOC40Mzc1IDIuNzQ5OTYgOC40Mzc1IDMuMTI0OTZWNy44MTI0N0wzLjEyNSA5LjEyNDk3QzIuNTYyNSA5LjI0OTk3IDIuMTg3NSA5Ljc0OTk3IDIuMTg3NSAxMC4zNDM3VjE5LjI1SDE3LjgxMjVWNC40Njg3MkMxNy44MTI1IDMuODQzNzIgMTcuMzc1IDMuMzQzNzEgMTYuODEyNSAzLjIxODcxWk04LjQzNzUgMThIMy40Mzc1VjEwLjM3NUw4LjQzNzUgOS4xMjQ5N1YxOFpNMTYuNTYyNSAxOEg5LjY4NzVWMy4xMjQ5NkwxNi41NjI1IDQuNDM3NDdWMThaIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjAuMiIvPg0KPHBhdGggZD0iTTE1LjMxMjUgNy42ODc0NkgxMC45Mzc1VjguOTM3NDZIMTUuMzEyNVY3LjY4NzQ2WiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIwLjIiLz4NCjxwYXRoIGQ9Ik0xNS4zMTI1IDEwLjgxMjVIMTAuOTM3NVYxMi4wNjI1SDE1LjMxMjVWMTAuODEyNVoiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMC4yIi8+DQo8cGF0aCBkPSJNMTUuMzEyNSAxMy45Mzc1SDEwLjkzNzVWMTUuMTg3NUgxNS4zMTI1VjEzLjkzNzVaIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjAuMiIvPg0KPHBhdGggZD0iTTcuNSAxM0g0LjM3NVYxNC4yNUg3LjVWMTNaIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjAuMiIvPg0KPC9zdmc+DQo=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/ic-building.svg\n// module id = TorG\n// module chunks = 218","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJrSURBVHgB5VeLcdswDIVyHUCdwMwEcSeoMkGyQdQJuoI6gd0J7A2STmB3AqcTSJ5A7gQsYAH2E0VLspP2esm7w0EiiC9FEiJ670jOmey9z5jdMQl3TKmKdkzPSj+SJFnTa4Id50ylHw+Zm9NLwUYc0wYM1/C8UTnOqX07UHl2dAlY8QEciqFMK9ExzM8pOM6DiomNezoHogBZzMWBjh+cRHQsuA0ENQc7D2OdO98u9ULHMsu+R9f0MggCl8eNCaC0THwbNr7o0bWMH5lmQSKH6iCSwEDOTBxUTJ+o2WYFE5bPtpzM2cL4hI7bE7Fm+qZ2RfaFt+mSBrLPg3Hnz0fBNAUb0SVMcAKzlWTGEV4HAYihjWZ+yzTVbBxMq7Q6M5OxnW1gp6amqredwwrWb07dylj0KxqArr/gPiIrQh9XIL9R/hSx65RXNIzfytOIbK38cywAW69nOh3AloZRBTq9MvwGPP1D8Dew931F/wvg0JhEZPbxFCPsnJzrm5PR627YAytQKb+O2DXZhIbhAh1E5zvDAH4qzyKKO+UfaRiTngBsa/6ygQ8glO33VakIFC3iG9/cjBk128zBnEoJu6QQd+CrCziKs2B86s+HXEYObBx6CbQ9dBmJgRm1l2WncqlKeBlN6bjOhiXTd6ZHGrqMNAi7hleQTQ3j8x7dhc6R43gZqcrJXgKNhA3JviPyx/ug7tEtdU4GtkpIwtEYwHrZWqZBdfIenVLfU9U1XNQXYlOa+3ZTmlK7apZprtXCzHO6BIFhc2xBxdpy7yOtO70U/i/+mFzyayZrKb2DbDc8dCpqTtOnV/81e9P4A9F3RBhM3zr7AAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/ic-internet .png\n// module id = YGej\n// module chunks = 218","/**\n * ueditor完整配置项\n * 可以在这里配置整个编辑器的特性\n */\n/**************************提示********************************\n * 所有被注释的配置项均为UEditor默认值。\n * 修改默认配置请首先确保已经完全明确该参数的真实用途。\n * 主要有两种修改方案,一种是取消此处注释,然后修改成对应参数;另一种是在实例化编辑器时传入对应参数。\n * 当升级编辑器时,可直接使用旧版配置文件替换新版配置文件,不用担心旧版配置文件中因缺少新功能所需的参数而导致脚本报错。\n **************************提示********************************/\n\n(function () {\n\n /**\n * 编辑器资源文件根路径。它所表示的含义是:以编辑器实例化页面为当前路径,指向编辑器资源文件(即dialog等文件夹)的路径。\n * 鉴于很多同学在使用编辑器的时候出现的种种路径问题,此处强烈建议大家使用\"相对于网站根目录的相对路径\"进行配置。\n * \"相对于网站根目录的相对路径\"也就是以斜杠开头的形如\"/myProject/ueditor/\"这样的路径。\n * 如果站点中有多个不在同一层级的页面需要实例化编辑器,且引用了同一UEditor的时候,此处的URL可能不适用于每个页面的编辑器。\n * 因此,UEditor提供了针对不同页面的编辑器可单独配置的根路径,具体来说,在需要实例化编辑器的页面最顶部写上如下代码即可。当然,需要令此处的URL等于对应的配置。\n * window.UEDITOR_HOME_URL = \"/xxxx/xxxx/\";\n */\n window.UEDITOR_HOME_URL = \"/oa/static/UEditor/\";\n var URL = window.UEDITOR_HOME_URL || getUEBasePath();\n\n /**\n * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。\n */\n window.UEDITOR_CONFIG = {\n\n //为编辑器实例添加一个路径,这个不能被注释\n UEDITOR_HOME_URL: URL\n\n // 服务器统一请求接口路径\n // , serverUrl: URL + \"jsp/controller.jsp\"\n\t\t\t\t, serverUrl: window.location.origin + \"/console/api/portal/management/ueditor\"\n\n //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义\n // , toolbars: [[\n // 'fullscreen', 'source', '|', 'undo', 'redo', '|',\n // 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|',\n // 'rowspacingtop', 'rowspacingbottom', 'lineheight', '|',\n // 'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',\n // 'directionalityltr', 'directionalityrtl', 'indent', '|',\n // 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',\n // 'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',\n // 'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'webapp', 'pagebreak', 'template', 'background', '|',\n // 'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',\n // 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',\n // 'print', 'preview', 'searchreplace', 'drafts', 'help'\n // ]]\n , toolbars: [[\n 'fullscreen', 'source', '|', 'undo', 'redo', '|',\n 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|',\n 'rowspacingtop', 'rowspacingbottom', 'lineheight', '|',\n 'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',\n 'directionalityltr', 'directionalityrtl', 'indent', '|',\n 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',\n 'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',\n 'simpleupload','insertvideo','attachment', // 'insertimage', 'scrawl', 'insertvideo', ,'gmap','music', //注销单图上传、多图上传, 涂鸦, 视频, 附件, 音乐\n 'emotion', 'map', 'insertframe', 'insertcode', 'webapp', 'pagebreak', 'template', 'background', '|',\n 'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',\n 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',\n 'print', 'preview', 'searchreplace', 'drafts', 'help'\n ]]\n //当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准\n //,labelMap:{\n // 'anchor':'', 'undo':''\n //}\n\n //语言配置项,默认是zh-cn。有需要的话也可以使用如下这样的方式来自动多语言切换,当然,前提条件是lang文件夹下存在对应的语言文件:\n //lang值也可以通过自动获取 (navigator.language||navigator.browserLanguage ||navigator.userLanguage).toLowerCase()\n //,lang:\"zh-cn\"\n //,langPath:URL +\"lang/\"\n\n //主题配置项,默认是default。有需要的话也可以使用如下这样的方式来自动多主题切换,当然,前提条件是themes文件夹下存在对应的主题文件:\n //现有如下皮肤:default\n //,theme:'default'\n //,themePath:URL +\"themes/\"\n\n //,zIndex : 900 //编辑器层级的基数,默认是900\n\n //针对getAllHtml方法,会在对应的head标签中增加该编码设置。\n //,charset:\"utf-8\"\n\n //若实例化编辑器的页面手动修改的domain,此处需要设置为true\n //,customDomain:false\n\n //常用配置项目\n //,isShow : true //默认显示编辑器\n\n //,textarea:'editorValue' // 提交表单时,服务器获取编辑器提交内容的所用的参数,多实例时可以给容器name属性,会将name给定的值最为每个实例的键值,不用每次实例化的时候都设置这个值\n\n //,initialContent:'欢迎使用ueditor!' //初始化编辑器的内容,也可以通过textarea/script给值,看官网例子\n\n //,autoClearinitialContent:true //是否自动清除编辑器初始内容,注意:如果focus属性设置为true,这个也为真,那么编辑器一上来就会触发导致初始化的内容看不到了\n\n //,focus:false //初始化时,是否让编辑器获得焦点true或false\n\n //如果自定义,最好给p标签如下的行高,要不输入中文时,会有跳动感\n //,initialStyle:'p{line-height:1em}'//编辑器层级的基数,可以用来改变字体等\n\n //,iframeCssUrl: URL + '/themes/iframe.css' //给编辑区域的iframe引入一个css文件\n\n //indentValue\n //首行缩进距离,默认是2em\n //,indentValue:'2em'\n\n //,initialFrameWidth:1000 //初始化编辑器宽度,默认1000\n //,initialFrameHeight:320 //初始化编辑器高度,默认320\n\n //,readonly : false //编辑器初始化结束后,编辑区域是否是只读的,默认是false\n\n //,autoClearEmptyNode : true //getContent时,是否删除空的inlineElement节点(包括嵌套的情况)\n\n //启用自动保存\n //,enableAutoSave: true\n //自动保存间隔时间, 单位ms\n //,saveInterval: 500\n\n //,fullscreen : false //是否开启初始化时即全屏,默认关闭\n\n //,imagePopup:true //图片操作的浮层开关,默认打开\n\n //,autoSyncData:true //自动同步编辑器要提交的数据\n //,emotionLocalization:false //是否开启表情本地化,默认关闭。若要开启请确保emotion文件夹下包含官网提供的images表情文件夹\n\n //粘贴只保留标签,去除标签所有属性\n //,retainOnlyLabelPasted: false\n\n //,pasteplain:false //是否默认为纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴\n //纯文本粘贴模式下的过滤规则\n //'filterTxtRules' : function(){\n // function transP(node){\n // node.tagName = 'p';\n // node.setStyle();\n // }\n // return {\n // //直接删除及其字节点内容\n // '-' : 'script style object iframe embed input select',\n // 'p': {$:{}},\n // 'br':{$:{}},\n // 'div':{'$':{}},\n // 'li':{'$':{}},\n // 'caption':transP,\n // 'th':transP,\n // 'tr':transP,\n // 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP,\n // 'td':function(node){\n // //没有内容的td直接删掉\n // var txt = !!node.innerText();\n // if(txt){\n // node.parentNode.insertAfter(UE.uNode.createText('    '),node);\n // }\n // node.parentNode.removeChild(node,node.innerText())\n // }\n // }\n //}()\n\n //,allHtmlEnabled:false //提交到后台的数据是否包含整个html字符串\n\n //insertorderedlist\n //有序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准\n //,'insertorderedlist':{\n // //自定的样式\n // 'num':'1,2,3...',\n // 'num1':'1),2),3)...',\n // 'num2':'(1),(2),(3)...',\n // 'cn':'一,二,三....',\n // 'cn1':'一),二),三)....',\n // 'cn2':'(一),(二),(三)....',\n // //系统自带\n // 'decimal' : '' , //'1,2,3...'\n // 'lower-alpha' : '' , // 'a,b,c...'\n // 'lower-roman' : '' , //'i,ii,iii...'\n // 'upper-alpha' : '' , lang //'A,B,C'\n // 'upper-roman' : '' //'I,II,III...'\n //}\n\n //insertunorderedlist\n //无序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准\n //,insertunorderedlist : { //自定的样式\n // 'dash' :'— 破折号', //-破折号\n // 'dot':' 。 小圆圈', //系统自带\n // 'circle' : '', // '○ 小圆圈'\n // 'disc' : '', // '● 小圆点'\n // 'square' : '' //'■ 小方块'\n //}\n //,listDefaultPaddingLeft : '30'//默认的左边缩进的基数倍\n //,listiconpath : 'http://bs.baidu.com/listicon/'//自定义标号的路径\n //,maxListLevel : 3 //限制可以tab的级数, 设置-1为不限制\n\n //,autoTransWordToList:false //禁止word中粘贴进来的列表自动变成列表标签\n\n //fontfamily\n //字体设置 label留空支持多语言自动切换,若配置,则以配置值为准\n //,'fontfamily':[\n // { label:'',name:'songti',val:'宋体,SimSun'},\n // { label:'',name:'kaiti',val:'楷体,楷体_GB2312, SimKai'},\n // { label:'',name:'yahei',val:'微软雅黑,Microsoft YaHei'},\n // { label:'',name:'heiti',val:'黑体, SimHei'},\n // { label:'',name:'lishu',val:'隶书, SimLi'},\n // { label:'',name:'andaleMono',val:'andale mono'},\n // { label:'',name:'arial',val:'arial, helvetica,sans-serif'},\n // { label:'',name:'arialBlack',val:'arial black,avant garde'},\n // { label:'',name:'comicSansMs',val:'comic sans ms'},\n // { label:'',name:'impact',val:'impact,chicago'},\n // { label:'',name:'timesNewRoman',val:'times new roman'}\n //]\n\n //fontsize\n //字号\n //,'fontsize':[10, 11, 12, 14, 16, 18, 20, 24, 36]\n\n //paragraph\n //段落格式 值留空时支持多语言自动识别,若配置,则以配置值为准\n //,'paragraph':{'p':'', 'h1':'', 'h2':'', 'h3':'', 'h4':'', 'h5':'', 'h6':''}\n\n //rowspacingtop\n //段间距 值和显示的名字相同\n //,'rowspacingtop':['5', '10', '15', '20', '25']\n\n //rowspacingBottom\n //段间距 值和显示的名字相同\n //,'rowspacingbottom':['5', '10', '15', '20', '25']\n\n //lineheight\n //行内间距 值和显示的名字相同\n //,'lineheight':['1', '1.5','1.75','2', '3', '4', '5']\n\n //customstyle\n //自定义样式,不支持国际化,此处配置值即可最后显示值\n //block的元素是依据设置段落的逻辑设置的,inline的元素依据BIU的逻辑设置\n //尽量使用一些常用的标签\n //参数说明\n //tag 使用的标签名字\n //label 显示的名字也是用来标识不同类型的标识符,注意这个值每个要不同,\n //style 添加的样式\n //每一个对象就是一个自定义的样式\n //,'customstyle':[\n // {tag:'h1', name:'tc', label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'},\n // {tag:'h1', name:'tl',label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;margin:0 0 10px 0;'},\n // {tag:'span',name:'im', label:'', style:'font-style:italic;font-weight:bold'},\n // {tag:'span',name:'hi', label:'', style:'font-style:italic;font-weight:bold;color:rgb(51, 153, 204)'}\n //]\n\n //打开右键菜单功能\n //,enableContextMenu: true\n //右键菜单的内容,可以参考plugins/contextmenu.js里边的默认菜单的例子,label留空支持国际化,否则以此配置为准\n //,contextMenu:[\n // {\n // label:'', //显示的名称\n // cmdName:'selectall',//执行的command命令,当点击这个右键菜单时\n // //exec可选,有了exec就会在点击时执行这个function,优先级高于cmdName\n // exec:function () {\n // //this是当前编辑器的实例\n // //this.ui._dialogs['inserttableDialog'].open();\n // }\n // }\n //]\n\n //快捷菜单\n //,shortcutMenu:[\"fontfamily\", \"fontsize\", \"bold\", \"italic\", \"underline\", \"forecolor\", \"backcolor\", \"insertorderedlist\", \"insertunorderedlist\"]\n\n //elementPathEnabled\n //是否启用元素路径,默认是显示\n //,elementPathEnabled : true\n\n //wordCount\n //,wordCount:true //是否开启字数统计\n //,maximumWords:10000 //允许的最大字符数\n //字数统计提示,{#count}代表当前字数,{#leave}代表还可以输入多少字符数,留空支持多语言自动切换,否则按此配置显示\n //,wordCountMsg:'' //当前已输入 {#count} 个字符,您还可以输入{#leave} 个字符\n //超出字数限制提示 留空支持多语言自动切换,否则按此配置显示\n //,wordOverFlowMsg:'' //你输入的字符个数已经超出最大允许值,服务器可能会拒绝保存!\n\n //tab\n //点击tab键时移动的距离,tabSize倍数,tabNode什么字符做为单位\n //,tabSize:4\n //,tabNode:' '\n\n //removeFormat\n //清除格式时可以删除的标签和属性\n //removeForamtTags标签\n //,removeFormatTags:'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var'\n //removeFormatAttributes属性\n //,removeFormatAttributes:'class,style,lang,width,height,align,hspace,valign'\n\n //undo\n //可以最多回退的次数,默认20\n //,maxUndoCount:20\n //当输入的字符数超过该值时,保存一次现场\n //,maxInputCount:1\n\n //autoHeightEnabled\n // 是否自动长高,默认true\n //,autoHeightEnabled:true\n\n //scaleEnabled\n //是否可以拉伸长高,默认true(当开启时,自动长高失效)\n //,scaleEnabled:false\n //,minFrameWidth:800 //编辑器拖动时最小宽度,默认800\n //,minFrameHeight:220 //编辑器拖动时最小高度,默认220\n\n //autoFloatEnabled\n //是否保持toolbar的位置不动,默认true\n //,autoFloatEnabled:true\n //浮动时工具栏距离浏览器顶部的高度,用于某些具有固定头部的页面\n //,topOffset:30\n //编辑器底部距离工具栏高度(如果参数大于等于编辑器高度,则设置无效)\n //,toolbarTopOffset:400\n\n //设置远程图片是否抓取到本地保存\n //,catchRemoteImageEnable: true //设置是否抓取远程图片\n\n //pageBreakTag\n //分页标识符,默认是_ueditor_page_break_tag_\n //,pageBreakTag:'_ueditor_page_break_tag_'\n\n //autotypeset\n //自动排版参数\n //,autotypeset: {\n // mergeEmptyline: true, //合并空行\n // removeClass: true, //去掉冗余的class\n // removeEmptyline: false, //去掉空行\n // textAlign:\"left\", //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版\n // imageBlockLine: 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版\n // pasteFilter: false, //根据规则过滤没事粘贴进来的内容\n // clearFontSize: false, //去掉所有的内嵌字号,使用编辑器默认的字号\n // clearFontFamily: false, //去掉所有的内嵌字体,使用编辑器默认的字体\n // removeEmptyNode: false, // 去掉空节点\n // //可以去掉的标签\n // removeTagNames: {标签名字:1},\n // indent: false, // 行首缩进\n // indentValue : '2em', //行首缩进的大小\n // bdc2sb: false,\n // tobdc: false\n //}\n\n //tableDragable\n //表格是否可以拖拽\n //,tableDragable: true\n\n\n\n //sourceEditor\n //源码的查看方式,codemirror 是代码高亮,textarea是文本框,默认是codemirror\n //注意默认codemirror只能在ie8+和非ie中使用\n //,sourceEditor:\"codemirror\"\n //如果sourceEditor是codemirror,还用配置一下两个参数\n //codeMirrorJsUrl js加载的路径,默认是 URL + \"third-party/codemirror/codemirror.js\"\n //,codeMirrorJsUrl:URL + \"third-party/codemirror/codemirror.js\"\n //codeMirrorCssUrl css加载的路径,默认是 URL + \"third-party/codemirror/codemirror.css\"\n //,codeMirrorCssUrl:URL + \"third-party/codemirror/codemirror.css\"\n //编辑器初始化完成后是否进入源码模式,默认为否。\n //,sourceEditorFirst:false\n\n //iframeUrlMap\n //dialog内容的路径 ~会被替换成URL,垓属性一旦打开,将覆盖所有的dialog的默认路径\n //,iframeUrlMap:{\n // 'anchor':'~/dialogs/anchor/anchor.html',\n //}\n\n //allowLinkProtocol 允许的链接地址,有这些前缀的链接地址不会自动添加http\n //, allowLinkProtocols: ['http:', 'https:', '#', '/', 'ftp:', 'mailto:', 'tel:', 'git:', 'svn:']\n\n //webAppKey 百度应用的APIkey,每个站长必须首先去百度官网注册一个key后方能正常使用app功能,注册介绍,http://app.baidu.com/static/cms/getapikey.html\n //, webAppKey: \"\"\n\n //默认过滤规则相关配置项目\n //,disabledTableInTable:true //禁止表格嵌套\n //,allowDivTransToP:true //允许进入编辑器的div标签自动变成p标签\n //,rgb2Hex:true //默认产出的数据中的color自动从rgb格式变成16进制格式\n\n\t\t// xss 过滤是否开启,inserthtml等操作\n\t\t,xssFilterRules: true\n\t\t//input xss过滤\n\t\t,inputXssFilter: true\n\t\t//output xss过滤\n\t\t,outputXssFilter: true\n\t\t// xss过滤白名单 名单来源: https://raw.githubusercontent.com/leizongmin/js-xss/master/lib/default.js\n\t\t,whitList: {\n\t\t\ta: ['target', 'href', 'title', 'class', 'style'],\n\t\t\tabbr: ['title', 'class', 'style'],\n\t\t\taddress: ['class', 'style'],\n\t\t\tarea: ['shape', 'coords', 'href', 'alt'],\n\t\t\tarticle: [],\n\t\t\taside: [],\n\t\t\taudio: ['autoplay', 'controls', 'loop', 'preload', 'src', 'class', 'style'],\n\t\t\tb: ['class', 'style'],\n\t\t\tbdi: ['dir'],\n\t\t\tbdo: ['dir'],\n\t\t\tbig: [],\n\t\t\tblockquote: ['cite', 'class', 'style'],\n\t\t\tbr: [],\n\t\t\tcaption: ['class', 'style'],\n\t\t\tcenter: [],\n\t\t\tcite: [],\n\t\t\tcode: ['class', 'style'],\n\t\t\tcol: ['align', 'valign', 'span', 'width', 'class', 'style'],\n\t\t\tcolgroup: ['align', 'valign', 'span', 'width', 'class', 'style'],\n\t\t\tdd: ['class', 'style'],\n\t\t\tdel: ['datetime'],\n\t\t\tdetails: ['open'],\n\t\t\tdiv: ['class', 'style'],\n\t\t\tdl: ['class', 'style'],\n\t\t\tdt: ['class', 'style'],\n\t\t\tem: ['class', 'style'],\n\t\t\tfont: ['color', 'size', 'face'],\n\t\t\tfooter: [],\n\t\t\th1: ['class', 'style'],\n\t\t\th2: ['class', 'style'],\n\t\t\th3: ['class', 'style'],\n\t\t\th4: ['class', 'style'],\n\t\t\th5: ['class', 'style'],\n\t\t\th6: ['class', 'style'],\n\t\t\theader: [],\n\t\t\thr: [],\n\t\t\ti: ['class', 'style'],\n\t\t\timg: ['src', 'alt', 'title', 'width', 'height', 'id', '_src', 'loadingclass', 'class', 'data-latex'],\n\t\t\tins: ['datetime'],\n\t\t\tli: ['class', 'style'],\n\t\t\tmark: [],\n\t\t\tnav: [],\n\t\t\tol: ['class', 'style'],\n\t\t\tp: ['class', 'style'],\n\t\t\tpre: ['class', 'style'],\n\t\t\ts: [],\n\t\t\tsection:[],\n\t\t\tsmall: [],\n\t\t\tspan: ['class', 'style'],\n\t\t\tsub: ['class', 'style'],\n\t\t\tsup: ['class', 'style'],\n\t\t\tstrong: ['class', 'style'],\n\t\t\ttable: ['width', 'border', 'align', 'valign', 'class', 'style'],\n\t\t\ttbody: ['align', 'valign', 'class', 'style'],\n\t\t\ttd: ['width', 'rowspan', 'colspan', 'align', 'valign', 'class', 'style'],\n\t\t\ttfoot: ['align', 'valign', 'class', 'style'],\n\t\t\tth: ['width', 'rowspan', 'colspan', 'align', 'valign', 'class', 'style'],\n\t\t\tthead: ['align', 'valign', 'class', 'style'],\n\t\t\ttr: ['rowspan', 'align', 'valign', 'class', 'style'],\n\t\t\ttt: [],\n\t\t\tu: [],\n\t\t\tul: ['class', 'style'],\n\t\t\tvideo: ['autoplay', 'controls', 'loop', 'preload', 'src', 'height', 'width', 'class', 'style']\n\t\t}\n };\n\n function getUEBasePath(docUrl, confUrl) {\n\n return getBasePath(docUrl || self.document.URL || self.location.href, confUrl || getConfigFilePath());\n\n }\n\n function getConfigFilePath() {\n\n var configPath = document.getElementsByTagName('script');\n\n return configPath[ configPath.length - 1 ].src;\n\n }\n\n function getBasePath(docUrl, confUrl) {\n\n var basePath = confUrl;\n\n\n if (/^(\\/|\\\\\\\\)/.test(confUrl)) {\n\n basePath = /^.+?\\w(\\/|\\\\\\\\)/.exec(docUrl)[0] + confUrl.replace(/^(\\/|\\\\\\\\)/, '');\n\n } else if (!/^[a-z]+:/i.test(confUrl)) {\n\n docUrl = docUrl.split(\"#\")[0].split(\"?\")[0].replace(/[^\\\\\\/]+$/, '');\n\n basePath = docUrl + \"\" + confUrl;\n\n }\n\n return optimizationPath(basePath);\n\n }\n\n function optimizationPath(path) {\n\n var protocol = /^[a-z]+:\\/\\//.exec(path)[ 0 ],\n tmp = null,\n res = [];\n\n path = path.replace(protocol, \"\").split(\"?\")[0].split(\"#\")[0];\n\n path = path.replace(/\\\\/g, '/').split(/\\//);\n\n path[ path.length - 1 ] = \"\";\n\n while (path.length) {\n\n if (( tmp = path.shift() ) === \"..\") {\n res.pop();\n } else if (tmp !== \".\") {\n res.push(tmp);\n }\n\n }\n\n return protocol + res.join(\"/\");\n\n }\n\n window.UE = {\n getUEBasePath: getUEBasePath\n };\n\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/UEditor/ueditor.config.js\n// module id = YaRB\n// module chunks = 218","\"use strict\";\r\n\r\nimport Vue from 'vue';\r\n\r\n// Bootstrap validation classes\r\nconst BOOTSTRAP_NEED_VALIDATION_CLASS = 'needs-validation';\r\nconst BOOTSTRAP_VALIDATION_CLASS = 'was-validated';\r\nconst BOOTSTRAP_IS_INVALID = 'is-invalid';\r\nconst BOOTSTRAP_IS_VALID = 'is-valid';\r\n\r\n// Ensure the global event trigger function is defined\r\nif (!window.triggerValidatorElementEvent) {\r\n window.triggerValidatorElementEvent = function (_el) {\r\n let validatorElementEvent = new Event('validatorElement');\r\n _el.dispatchEvent(validatorElementEvent);\r\n };\r\n}\r\n\r\n// Validator directive definition\r\nconst validator = Vue.directive('validator', {\r\n bind: function (el, binding, vnode) {\r\n // Pass the Vue instance to the bindValidator function\r\n bindValidator(el, binding, vnode.context);\r\n },\r\n inserted: function (el, binding, vnode) {\r\n // No need for a separate insert action, as everything is handled in bind\r\n },\r\n unbind: function (el, binding) {\r\n // Clean up any event listeners or other resources if necessary\r\n }\r\n});\r\n\r\n// Bind validation to form submit and input events\r\nconst bindValidator = function (_el, _binding, vm) {\r\n // Register submit handler\r\n _el.addEventListener('submit', function (_evt) {\r\n _evt.preventDefault();\r\n onSubmitHandler(_evt, _el, _binding, vm); // Pass the Vue instance\r\n });\r\n\r\n // Register validation listener for each controlled element\r\n validationListener(_el, _binding, vm); // Pass the Vue instance\r\n};\r\n\r\n// Handle form submission\r\nconst onSubmitHandler = function (_evt, _el, _binding, vm) {\r\n const _result = validationForm(_el, _binding, vm);\r\n if (_result) {\r\n _el.classList.add(BOOTSTRAP_VALIDATION_CLASS);\r\n _binding.value.submitHandler();\r\n } else {\r\n _el.classList.remove(BOOTSTRAP_VALIDATION_CLASS);\r\n }\r\n};\r\n\r\n// Validate the entire form\r\nconst validationForm = function (_el, _binding, vm) {\r\n const _rules = _binding.value.rules || {};\r\n console.log(_rules);\r\n let hasInvalid = false;\r\n for (let _controller in _rules) {\r\n let _node = null;\r\n\r\n // Check if the controller is a ref of a Vue component\r\n if (vm.$refs[_controller]) {\r\n _node = vm.$refs[_controller];\r\n } else {\r\n _node = document.getElementById(_controller);\r\n }\r\n\r\n if (_node) {\r\n const result = controllerValidation(_el, _binding, _controller, _rules[_controller], _node, vm);\r\n console.log(result);\r\n if (!result) {\r\n hasInvalid = true;\r\n }\r\n }\r\n }\r\n console.log('validate form has invalid : ', hasInvalid);\r\n return !hasInvalid;\r\n};\r\n\r\n// Add event listeners for validation triggers\r\nconst validationListener = function (_el, _binding, vm) {\r\n const _rules = _binding.value.rules || {};\r\n for (let _controller in _rules) {\r\n let _node = null;\r\n\r\n // Check if the controller is a ref of a Vue component\r\n if (vm.$refs[_controller]) {\r\n _node = vm.$refs[_controller];\r\n } else {\r\n _node = document.getElementById(_controller);\r\n }\r\n\r\n if (_node) {\r\n addValidationEvents(_node, _el, _binding, _controller, _rules[_controller], vm);\r\n }\r\n }\r\n};\r\n\r\n// Attach validation events to the input elements\r\nconst addValidationEvents = function (_node, _el, _binding, _controller, _rule, vm) {\r\n const events = ['keyup', 'blur', 'change', 'validatorElement'];\r\n events.forEach(event => {\r\n _node.addEventListener(event, () => {\r\n controllerValidation(_el, _binding, _controller, _rule, _node, vm);\r\n });\r\n });\r\n};\r\n\r\n// Validate a single controller/input\r\nconst controllerValidation = function (_el, _binding, _controller, _rule, _node, vm) {\r\n if (_node.readOnly || _node.disabled) {\r\n return true;\r\n }\r\n\r\n let isValid = true;\r\n let failedProp = null;\r\n\r\n for (let prop in _rule) {\r\n const validationPass = validateRule(_node, _rule, prop, vm,_controller);\r\n if (!validationPass) {\r\n isValid = false;\r\n failedProp = prop; // Record the first failed rule\r\n break;\r\n }\r\n }\r\n\r\n updateValidationUI(_node, isValid, _binding, _controller, failedProp);\r\n\r\n return isValid;\r\n};\r\n\r\n// Validate a single rule\r\n// Validate a single rule\r\nconst validateRule = function (_node, _rule, prop, vm, _controller) {\r\n switch (prop) {\r\n case 'required':\r\n // Special handling for \r\n if (_controller === 'industryCodePath' ) {\r\n return !_rule[prop] || (vm.form.industry_code_path!=null && vm.form.industry_code_path !=undefined);\r\n }\r\n return !_rule[prop] || Boolean(_node.value);\r\n case 'regex':\r\n return !_rule[prop] || (_rule[prop].test(_node.value) || (!_rule.required && !_node.value));\r\n default:\r\n return true; // Ignore unknown rules\r\n }\r\n};\r\n\r\n// Update UI based on validation result\r\nconst updateValidationUI = function (_node, isValid, _binding, _controller, failedProp) {\r\n // For Vue components, we might not have a direct parent element\r\n let parentElement = null;\r\n\r\n // If it's an Element UI component, use its methods to get the parent container\r\n if (_node.$el) {\r\n parentElement = _node.$el.parentNode;\r\n } else {\r\n parentElement = _node.parentNode;\r\n }\r\n\r\n if (parentElement) {\r\n // Remove existing validation classes\r\n parentElement.classList.remove(BOOTSTRAP_IS_INVALID, BOOTSTRAP_IS_VALID);\r\n\r\n // Update class based on validation result\r\n if (isValid) {\r\n parentElement.classList.add(BOOTSTRAP_IS_VALID);\r\n removeErrorMessage(parentElement); // Clear error message if valid\r\n } else {\r\n parentElement.classList.add(BOOTSTRAP_IS_INVALID);\r\n updateErrorMessage(parentElement, _binding, _controller, failedProp);\r\n }\r\n }\r\n};\r\n\r\n// Update or create an error message based on the failed property\r\nconst updateErrorMessage = function (parentElement, _binding, _controller, failedProp) {\r\n const messageObj = _binding.value.message && _binding.value.message[_controller];\r\n let messageText = ''; // Default to empty string\r\n\r\n if (messageObj && failedProp && messageObj[failedProp]) {\r\n messageText = typeof messageObj[failedProp] === 'string' ? messageObj[failedProp] : JSON.stringify(messageObj[failedProp]);\r\n }\r\n\r\n const tipError = parentElement.querySelector('.invalid-feedback') || document.createElement('div');\r\n tipError.className = 'invalid-feedback';\r\n tipError.innerText = messageText; // Ensure only strings are set\r\n parentElement.appendChild(tipError);\r\n};\r\n\r\n// Remove any error messages for this input\r\nconst removeErrorMessage = function (parentElement) {\r\n const tipError = parentElement.querySelector('.invalid-feedback');\r\n if (tipError) {\r\n parentElement.removeChild(tipError);\r\n }\r\n};\r\n\r\nexport default validator;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/basement/directives/validator.js","/*!\n * UEditor\n * version: ueditor\n * build: Wed Aug 10 2016 11:06:16 GMT+0800 (CST)\n */\n\n(function(){\n\n(function(){\n UE = window.UE || {};\n var isIE = !!window.ActiveXObject;\n //定义utils工具\n var utils = {\n removeLastbs : function(url){\n return url.replace(/\\/$/,'')\n },\n extend : function(t,s){\n var a = arguments,\n notCover = this.isBoolean(a[a.length - 1]) ? a[a.length - 1] : false,\n len = this.isBoolean(a[a.length - 1]) ? a.length - 1 : a.length;\n for (var i = 1; i < len; i++) {\n var x = a[i];\n for (var k in x) {\n if (!notCover || !t.hasOwnProperty(k)) {\n t[k] = x[k];\n }\n }\n }\n return t;\n },\n isIE : isIE,\n cssRule : isIE ? function(key,style,doc){\n var indexList,index;\n doc = doc || document;\n if(doc.indexList){\n indexList = doc.indexList;\n }else{\n indexList = doc.indexList = {};\n }\n var sheetStyle;\n if(!indexList[key]){\n if(style === undefined){\n return ''\n }\n sheetStyle = doc.createStyleSheet('',index = doc.styleSheets.length);\n indexList[key] = index;\n }else{\n sheetStyle = doc.styleSheets[indexList[key]];\n }\n if(style === undefined){\n return sheetStyle.cssText\n }\n sheetStyle.cssText = sheetStyle.cssText + '\\n' + (style || '')\n } : function(key,style,doc){\n doc = doc || document;\n var head = doc.getElementsByTagName('head')[0],node;\n if(!(node = doc.getElementById(key))){\n if(style === undefined){\n return ''\n }\n node = doc.createElement('style');\n node.id = key;\n head.appendChild(node)\n }\n if(style === undefined){\n return node.innerHTML\n }\n if(style !== ''){\n node.innerHTML = node.innerHTML + '\\n' + style;\n }else{\n head.removeChild(node)\n }\n },\n domReady : function (onready) {\n var doc = window.document;\n if (doc.readyState === \"complete\") {\n onready();\n }else{\n if (isIE) {\n (function () {\n if (doc.isReady) return;\n try {\n doc.documentElement.doScroll(\"left\");\n } catch (error) {\n setTimeout(arguments.callee, 0);\n return;\n }\n onready();\n })();\n window.attachEvent('onload', function(){\n onready()\n });\n } else {\n doc.addEventListener(\"DOMContentLoaded\", function () {\n doc.removeEventListener(\"DOMContentLoaded\", arguments.callee, false);\n onready();\n }, false);\n window.addEventListener('load', function(){onready()}, false);\n }\n }\n\n },\n each : function(obj, iterator, context) {\n if (obj == null) return;\n if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if(iterator.call(context, obj[i], i, obj) === false)\n return false;\n }\n } else {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if(iterator.call(context, obj[key], key, obj) === false)\n return false;\n }\n }\n }\n },\n inArray : function(arr,item){\n var index = -1;\n this.each(arr,function(v,i){\n if(v === item){\n index = i;\n return false;\n }\n });\n return index;\n },\n pushItem : function(arr,item){\n if(this.inArray(arr,item)==-1){\n arr.push(item)\n }\n },\n trim: function (str) {\n return str.replace(/(^[ \\t\\n\\r]+)|([ \\t\\n\\r]+$)/g, '');\n },\n indexOf: function (array, item, start) {\n var index = -1;\n start = this.isNumber(start) ? start : 0;\n this.each(array, function (v, i) {\n if (i >= start && v === item) {\n index = i;\n return false;\n }\n });\n return index;\n },\n hasClass: function (element, className) {\n className = className.replace(/(^[ ]+)|([ ]+$)/g, '').replace(/[ ]{2,}/g, ' ').split(' ');\n for (var i = 0, ci, cls = element.className; ci = className[i++];) {\n if (!new RegExp('\\\\b' + ci + '\\\\b', 'i').test(cls)) {\n return false;\n }\n }\n return i - 1 == className.length;\n },\n addClass:function (elm, classNames) {\n if(!elm)return;\n classNames = this.trim(classNames).replace(/[ ]{2,}/g,' ').split(' ');\n for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){\n if(!new RegExp('\\\\b' + ci + '\\\\b').test(cls)){\n cls += ' ' + ci;\n }\n }\n elm.className = utils.trim(cls);\n },\n removeClass:function (elm, classNames) {\n classNames = this.isArray(classNames) ? classNames :\n this.trim(classNames).replace(/[ ]{2,}/g,' ').split(' ');\n for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){\n cls = cls.replace(new RegExp('\\\\b' + ci + '\\\\b'),'')\n }\n cls = this.trim(cls).replace(/[ ]{2,}/g,' ');\n elm.className = cls;\n !cls && elm.removeAttribute('className');\n },\n on: function (element, type, handler) {\n var types = this.isArray(type) ? type : type.split(/\\s+/),\n k = types.length;\n if (k) while (k--) {\n type = types[k];\n if (element.addEventListener) {\n element.addEventListener(type, handler, false);\n } else {\n if (!handler._d) {\n handler._d = {\n els : []\n };\n }\n var key = type + handler.toString(),index = utils.indexOf(handler._d.els,element);\n if (!handler._d[key] || index == -1) {\n if(index == -1){\n handler._d.els.push(element);\n }\n if(!handler._d[key]){\n handler._d[key] = function (evt) {\n return handler.call(evt.srcElement, evt || window.event);\n };\n }\n\n\n element.attachEvent('on' + type, handler._d[key]);\n }\n }\n }\n element = null;\n },\n off: function (element, type, handler) {\n var types = this.isArray(type) ? type : type.split(/\\s+/),\n k = types.length;\n if (k) while (k--) {\n type = types[k];\n if (element.removeEventListener) {\n element.removeEventListener(type, handler, false);\n } else {\n var key = type + handler.toString();\n try{\n element.detachEvent('on' + type, handler._d ? handler._d[key] : handler);\n }catch(e){}\n if (handler._d && handler._d[key]) {\n var index = utils.indexOf(handler._d.els,element);\n if(index!=-1){\n handler._d.els.splice(index,1);\n }\n handler._d.els.length == 0 && delete handler._d[key];\n }\n }\n }\n },\n loadFile : function () {\n var tmpList = [];\n function getItem(doc,obj){\n try{\n for(var i= 0,ci;ci=tmpList[i++];){\n if(ci.doc === doc && ci.url == (obj.src || obj.href)){\n return ci;\n }\n }\n }catch(e){\n return null;\n }\n\n }\n return function (doc, obj, fn) {\n var item = getItem(doc,obj);\n if (item) {\n if(item.ready){\n fn && fn();\n }else{\n item.funs.push(fn)\n }\n return;\n }\n tmpList.push({\n doc:doc,\n url:obj.src||obj.href,\n funs:[fn]\n });\n if (!doc.body) {\n var html = [];\n for(var p in obj){\n if(p == 'tag')continue;\n html.push(p + '=\"' + obj[p] + '\"')\n }\n doc.write('<' + obj.tag + ' ' + html.join(' ') + ' >');\n return;\n }\n if (obj.id && doc.getElementById(obj.id)) {\n return;\n }\n var element = doc.createElement(obj.tag);\n delete obj.tag;\n for (var p in obj) {\n element.setAttribute(p, obj[p]);\n }\n element.onload = element.onreadystatechange = function () {\n if (!this.readyState || /loaded|complete/.test(this.readyState)) {\n item = getItem(doc,obj);\n if (item.funs.length > 0) {\n item.ready = 1;\n for (var fi; fi = item.funs.pop();) {\n fi();\n }\n }\n element.onload = element.onreadystatechange = null;\n }\n };\n element.onerror = function(){\n throw Error('The load '+(obj.href||obj.src)+' fails,check the url')\n };\n doc.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n }()\n };\n utils.each(['String', 'Function', 'Array', 'Number', 'RegExp', 'Object','Boolean'], function (v) {\n utils['is' + v] = function (obj) {\n return Object.prototype.toString.apply(obj) == '[object ' + v + ']';\n }\n });\n var parselist = {};\n UE.parse = {\n register : function(parseName,fn){\n parselist[parseName] = fn;\n },\n load : function(opt){\n utils.each(parselist,function(v){\n v.call(opt,utils);\n })\n }\n };\n uParse = function(selector,opt){\n utils.domReady(function(){\n var contents;\n if(document.querySelectorAll){\n contents = document.querySelectorAll(selector)\n }else{\n if(/^#/.test(selector)){\n contents = [document.getElementById(selector.replace(/^#/,''))]\n }else if(/^\\./.test(selector)){\n var contents = [];\n utils.each(document.getElementsByTagName('*'),function(node){\n if(node.className && new RegExp('\\\\b' + selector.replace(/^\\./,'') + '\\\\b','i').test(node.className)){\n contents.push(node)\n }\n })\n }else{\n contents = document.getElementsByTagName(selector)\n }\n }\n utils.each(contents,function(v){\n UE.parse.load(utils.extend({root:v,selector:selector},opt))\n })\n })\n }\n})();\n\nUE.parse.register('insertcode',function(utils){\n var pres = this.root.getElementsByTagName('pre');\n if(pres.length){\n if(typeof XRegExp == \"undefined\"){\n var jsurl,cssurl;\n if(this.rootPath !== undefined){\n jsurl = utils.removeLastbs(this.rootPath) + '/third-party/SyntaxHighlighter/shCore.js';\n cssurl = utils.removeLastbs(this.rootPath) + '/third-party/SyntaxHighlighter/shCoreDefault.css';\n }else{\n jsurl = this.highlightJsUrl;\n cssurl = this.highlightCssUrl;\n }\n utils.loadFile(document,{\n id : \"syntaxhighlighter_css\",\n tag : \"link\",\n rel : \"stylesheet\",\n type : \"text/css\",\n href : cssurl\n });\n utils.loadFile(document,{\n id : \"syntaxhighlighter_js\",\n src : jsurl,\n tag : \"script\",\n type : \"text/javascript\",\n defer : \"defer\"\n },function(){\n utils.each(pres,function(pi){\n if(pi && /brush/i.test(pi.className)){\n SyntaxHighlighter.highlight(pi);\n }\n });\n });\n }else{\n utils.each(pres,function(pi){\n if(pi && /brush/i.test(pi.className)){\n SyntaxHighlighter.highlight(pi);\n }\n });\n }\n }\n\n});\nUE.parse.register('table', function (utils) {\n var me = this,\n root = this.root,\n tables = root.getElementsByTagName('table');\n if (tables.length) {\n var selector = this.selector;\n //追加默认的表格样式\n utils.cssRule('table',\n selector + ' table.noBorderTable td,' +\n selector + ' table.noBorderTable th,' +\n selector + ' table.noBorderTable caption{border:1px dashed #ddd !important}' +\n selector + ' table.sortEnabled tr.firstRow th,' + selector + ' table.sortEnabled tr.firstRow td{padding-right:20px; background-repeat: no-repeat;' +\n 'background-position: center right; background-image:url(' + this.rootPath + 'themes/default/images/sortable.png);}' +\n selector + ' table.sortEnabled tr.firstRow th:hover,' + selector + ' table.sortEnabled tr.firstRow td:hover{background-color: #EEE;}' +\n selector + ' table{margin-bottom:10px;border-collapse:collapse;display:table;}' +\n selector + ' td,' + selector + ' th{ background:white; padding: 5px 10px;border: 1px solid #DDD;}' +\n selector + ' caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}' +\n selector + ' th{border-top:1px solid #BBB;background:#F7F7F7;}' +\n selector + ' table tr.firstRow th{border-top:2px solid #BBB;background:#F7F7F7;}' +\n selector + ' tr.ue-table-interlace-color-single td{ background: #fcfcfc; }' +\n selector + ' tr.ue-table-interlace-color-double td{ background: #f7faff; }' +\n selector + ' td p{margin:0;padding:0;}',\n document);\n //填充空的单元格\n\n utils.each('td th caption'.split(' '), function (tag) {\n var cells = root.getElementsByTagName(tag);\n cells.length && utils.each(cells, function (node) {\n if (!node.firstChild) {\n node.innerHTML = ' ';\n\n }\n })\n });\n\n //表格可排序\n var tables = root.getElementsByTagName('table');\n utils.each(tables, function (table) {\n if (/\\bsortEnabled\\b/.test(table.className)) {\n utils.on(table, 'click', function(e){\n var target = e.target || e.srcElement,\n cell = findParentByTagName(target, ['td', 'th']);\n var table = findParentByTagName(target, 'table'),\n colIndex = utils.indexOf(table.rows[0].cells, cell),\n sortType = table.getAttribute('data-sort-type');\n if(colIndex != -1) {\n sortTable(table, colIndex, me.tableSortCompareFn || sortType);\n updateTable(table);\n }\n });\n }\n });\n\n //按照标签名查找父节点\n function findParentByTagName(target, tagNames) {\n var i, current = target;\n tagNames = utils.isArray(tagNames) ? tagNames:[tagNames];\n while(current){\n for(i = 0;i < tagNames.length; i++) {\n if(current.tagName == tagNames[i].toUpperCase()) return current;\n }\n current = current.parentNode;\n }\n return null;\n }\n //表格排序\n function sortTable(table, sortByCellIndex, compareFn) {\n var rows = table.rows,\n trArray = [],\n flag = rows[0].cells[0].tagName === \"TH\",\n lastRowIndex = 0;\n\n for (var i = 0,len = rows.length; i < len; i++) {\n trArray[i] = rows[i];\n }\n\n var Fn = {\n 'reversecurrent': function(td1,td2){\n return 1;\n },\n 'orderbyasc': function(td1,td2){\n var value1 = td1.innerText||td1.textContent,\n value2 = td2.innerText||td2.textContent;\n return value1.localeCompare(value2);\n },\n 'reversebyasc': function(td1,td2){\n var value1 = td1.innerHTML,\n value2 = td2.innerHTML;\n return value2.localeCompare(value1);\n },\n 'orderbynum': function(td1,td2){\n var value1 = td1[utils.isIE ? 'innerText':'textContent'].match(/\\d+/),\n value2 = td2[utils.isIE ? 'innerText':'textContent'].match(/\\d+/);\n if(value1) value1 = +value1[0];\n if(value2) value2 = +value2[0];\n return (value1||0) - (value2||0);\n },\n 'reversebynum': function(td1,td2){\n var value1 = td1[utils.isIE ? 'innerText':'textContent'].match(/\\d+/),\n value2 = td2[utils.isIE ? 'innerText':'textContent'].match(/\\d+/);\n if(value1) value1 = +value1[0];\n if(value2) value2 = +value2[0];\n return (value2||0) - (value1||0);\n }\n };\n\n //对表格设置排序的标记data-sort-type\n table.setAttribute('data-sort-type', compareFn && typeof compareFn === \"string\" && Fn[compareFn] ? compareFn:'');\n\n //th不参与排序\n flag && trArray.splice(0, 1);\n trArray = sort(trArray,function (tr1, tr2) {\n var result;\n if (compareFn && typeof compareFn === \"function\") {\n result = compareFn.call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);\n } else if (compareFn && typeof compareFn === \"number\") {\n result = 1;\n } else if (compareFn && typeof compareFn === \"string\" && Fn[compareFn]) {\n result = Fn[compareFn].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);\n } else {\n result = Fn['orderbyasc'].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);\n }\n return result;\n });\n var fragment = table.ownerDocument.createDocumentFragment();\n for (var j = 0, len = trArray.length; j < len; j++) {\n fragment.appendChild(trArray[j]);\n }\n var tbody = table.getElementsByTagName(\"tbody\")[0];\n if(!lastRowIndex){\n tbody.appendChild(fragment);\n }else{\n tbody.insertBefore(fragment,rows[lastRowIndex- range.endRowIndex + range.beginRowIndex - 1])\n }\n }\n //冒泡排序\n function sort(array, compareFn){\n compareFn = compareFn || function(item1, item2){ return item1.localeCompare(item2);};\n for(var i= 0,len = array.length; i 0){\n var t = array[i];\n array[i] = array[j];\n array[j] = t;\n }\n }\n }\n return array;\n }\n //更新表格\n function updateTable(table) {\n //给第一行设置firstRow的样式名称,在排序图标的样式上使用到\n if(!utils.hasClass(table.rows[0], \"firstRow\")) {\n for(var i = 1; i< table.rows.length; i++) {\n utils.removeClass(table.rows[i], \"firstRow\");\n }\n utils.addClass(table.rows[0], \"firstRow\");\n }\n }\n }\n});\nUE.parse.register('charts',function( utils ){\n\n utils.cssRule('chartsContainerHeight','.edui-chart-container { height:'+(this.chartContainerHeight||300)+'px}');\n var resourceRoot = this.rootPath,\n containers = this.root,\n sources = null;\n\n //不存在指定的根路径, 则直接退出\n if ( !resourceRoot ) {\n return;\n }\n\n if ( sources = parseSources() ) {\n\n loadResources();\n\n }\n\n\n function parseSources () {\n\n if ( !containers ) {\n return null;\n }\n\n return extractChartData( containers );\n\n }\n\n /**\n * 提取数据\n */\n function extractChartData ( rootNode ) {\n\n var data = [],\n tables = rootNode.getElementsByTagName( \"table\" );\n\n for ( var i = 0, tableNode; tableNode = tables[ i ]; i++ ) {\n\n if ( tableNode.getAttribute( \"data-chart\" ) !== null ) {\n\n data.push( formatData( tableNode ) );\n\n }\n\n }\n\n return data.length ? data : null;\n\n }\n\n function formatData ( tableNode ) {\n\n var meta = tableNode.getAttribute( \"data-chart\" ),\n metaConfig = {},\n data = [];\n\n //提取table数据\n for ( var i = 0, row; row = tableNode.rows[ i ]; i++ ) {\n\n var rowData = [];\n\n for ( var j = 0, cell; cell = row.cells[ j ]; j++ ) {\n\n var value = ( cell.innerText || cell.textContent || '' );\n rowData.push( cell.tagName == 'TH' ? value:(value | 0) );\n\n }\n\n data.push( rowData );\n\n }\n\n //解析元信息\n meta = meta.split( \";\" );\n for ( var i = 0, metaData; metaData = meta[ i ]; i++ ) {\n\n metaData = metaData.split( \":\" );\n metaConfig[ metaData[ 0 ] ] = metaData[ 1 ];\n\n }\n\n\n return {\n table: tableNode,\n meta: metaConfig,\n data: data\n };\n\n }\n\n //加载资源\n function loadResources () {\n\n loadJQuery();\n\n }\n\n function loadJQuery () {\n\n //不存在jquery, 则加载jquery\n if ( !window.jQuery ) {\n\n utils.loadFile(document,{\n src : resourceRoot + \"/third-party/jquery-1.10.2.min.js\",\n tag : \"script\",\n type : \"text/javascript\",\n defer : \"defer\"\n },function(){\n\n loadHighcharts();\n\n });\n\n } else {\n\n loadHighcharts();\n\n }\n\n }\n\n function loadHighcharts () {\n\n //不存在Highcharts, 则加载Highcharts\n if ( !window.Highcharts ) {\n\n utils.loadFile(document,{\n src : resourceRoot + \"/third-party/highcharts/highcharts.js\",\n tag : \"script\",\n type : \"text/javascript\",\n defer : \"defer\"\n },function(){\n\n loadTypeConfig();\n\n });\n\n } else {\n\n loadTypeConfig();\n\n }\n\n }\n\n //加载图表差异化配置文件\n function loadTypeConfig () {\n\n utils.loadFile(document,{\n src : resourceRoot + \"/dialogs/charts/chart.config.js\",\n tag : \"script\",\n type : \"text/javascript\",\n defer : \"defer\"\n },function(){\n\n render();\n\n });\n\n }\n\n //渲染图表\n function render () {\n\n var config = null,\n chartConfig = null,\n container = null;\n\n for ( var i = 0, len = sources.length; i < len; i++ ) {\n\n config = sources[ i ];\n\n chartConfig = analysisConfig( config );\n\n container = createContainer( config.table );\n\n renderChart( container, typeConfig[ config.meta.chartType ], chartConfig );\n\n }\n\n\n }\n\n /**\n * 渲染图表\n * @param container 图表容器节点对象\n * @param typeConfig 图表类型配置\n * @param config 图表通用配置\n * */\n function renderChart ( container, typeConfig, config ) {\n\n\n $( container ).highcharts( $.extend( {}, typeConfig, {\n\n credits: {\n enabled: false\n },\n exporting: {\n enabled: false\n },\n title: {\n text: config.title,\n x: -20 //center\n },\n subtitle: {\n text: config.subTitle,\n x: -20\n },\n xAxis: {\n title: {\n text: config.xTitle\n },\n categories: config.categories\n },\n yAxis: {\n title: {\n text: config.yTitle\n },\n plotLines: [{\n value: 0,\n width: 1,\n color: '#808080'\n }]\n },\n tooltip: {\n enabled: true,\n valueSuffix: config.suffix\n },\n legend: {\n layout: 'vertical',\n align: 'right',\n verticalAlign: 'middle',\n borderWidth: 1\n },\n series: config.series\n\n } ));\n\n }\n\n /**\n * 创建图表的容器\n * 新创建的容器会替换掉对应的table对象\n * */\n function createContainer ( tableNode ) {\n\n var container = document.createElement( \"div\" );\n container.className = \"edui-chart-container\";\n\n tableNode.parentNode.replaceChild( container, tableNode );\n\n return container;\n\n }\n\n //根据config解析出正确的类别和图表数据信息\n function analysisConfig ( config ) {\n\n var series = [],\n //数据类别\n categories = [],\n result = [],\n data = config.data,\n meta = config.meta;\n\n //数据对齐方式为相反的方式, 需要反转数据\n if ( meta.dataFormat != \"1\" ) {\n\n for ( var i = 0, len = data.length; i < len ; i++ ) {\n\n for ( var j = 0, jlen = data[ i ].length; j < jlen; j++ ) {\n\n if ( !result[ j ] ) {\n result[ j ] = [];\n }\n\n result[ j ][ i ] = data[ i ][ j ];\n\n }\n\n }\n\n data = result;\n\n }\n\n result = {};\n\n //普通图表\n if ( meta.chartType != typeConfig.length - 1 ) {\n\n categories = data[ 0 ].slice( 1 );\n\n for ( var i = 1, curData; curData = data[ i ]; i++ ) {\n series.push( {\n name: curData[ 0 ],\n data: curData.slice( 1 )\n } );\n }\n\n result.series = series;\n result.categories = categories;\n result.title = meta.title;\n result.subTitle = meta.subTitle;\n result.xTitle = meta.xTitle;\n result.yTitle = meta.yTitle;\n result.suffix = meta.suffix;\n\n } else {\n\n var curData = [];\n\n for ( var i = 1, len = data[ 0 ].length; i < len; i++ ) {\n\n curData.push( [ data[ 0 ][ i ], data[ 1 ][ i ] | 0 ] );\n\n }\n\n //饼图\n series[ 0 ] = {\n type: 'pie',\n name: meta.tip,\n data: curData\n };\n\n result.series = series;\n result.title = meta.title;\n result.suffix = meta.suffix;\n\n }\n\n return result;\n\n }\n\n});\nUE.parse.register('background', function (utils) {\n var me = this,\n root = me.root,\n p = root.getElementsByTagName('p'),\n styles;\n\n for (var i = 0,ci; ci = p[i++];) {\n styles = ci.getAttribute('data-background');\n if (styles){\n ci.parentNode.removeChild(ci);\n }\n }\n\n //追加默认的表格样式\n styles && utils.cssRule('ueditor_background', me.selector + '{' + styles + '}', document);\n});\nUE.parse.register('list',function(utils){\n var customCss = [],\n customStyle = {\n 'cn' : 'cn-1-',\n 'cn1' : 'cn-2-',\n 'cn2' : 'cn-3-',\n 'num' : 'num-1-',\n 'num1' : 'num-2-',\n 'num2' : 'num-3-',\n 'dash' : 'dash',\n 'dot' : 'dot'\n };\n\n\n utils.extend(this,{\n liiconpath : 'http://bs.baidu.com/listicon/',\n listDefaultPaddingLeft : '20'\n });\n\n var root = this.root,\n ols = root.getElementsByTagName('ol'),\n uls = root.getElementsByTagName('ul'),\n selector = this.selector;\n\n if(ols.length){\n applyStyle.call(this,ols);\n }\n\n if(uls.length){\n applyStyle.call(this,uls);\n }\n\n if(ols.length || uls.length){\n customCss.push(selector +' .list-paddingleft-1{padding-left:0}');\n customCss.push(selector +' .list-paddingleft-2{padding-left:'+ this.listDefaultPaddingLeft+'px}');\n customCss.push(selector +' .list-paddingleft-3{padding-left:'+ this.listDefaultPaddingLeft*2+'px}');\n\n utils.cssRule('list', selector +' ol,'+selector +' ul{margin:0;padding:0;}li{clear:both;}'+customCss.join('\\n'), document);\n }\n function applyStyle(nodes){\n var T = this;\n utils.each(nodes,function(list){\n if(list.className && /custom_/i.test(list.className)){\n var listStyle = list.className.match(/custom_(\\w+)/)[1];\n if(listStyle == 'dash' || listStyle == 'dot'){\n utils.pushItem(customCss,selector +' li.list-' + customStyle[listStyle] + '{background-image:url(' + T.liiconpath +customStyle[listStyle]+'.gif)}');\n utils.pushItem(customCss,selector +' ul.custom_'+listStyle+'{list-style:none;} '+ selector +' ul.custom_'+listStyle+' li{background-position:0 3px;background-repeat:no-repeat}');\n\n }else{\n var index = 1;\n utils.each(list.childNodes,function(li){\n if(li.tagName == 'LI'){\n utils.pushItem(customCss,selector + ' li.list-' + customStyle[listStyle] + index + '{background-image:url(' + T.liiconpath + 'list-'+customStyle[listStyle] +index + '.gif)}');\n index++;\n }\n });\n utils.pushItem(customCss,selector + ' ol.custom_'+listStyle+'{list-style:none;}'+selector+' ol.custom_'+listStyle+' li{background-position:0 3px;background-repeat:no-repeat}');\n }\n switch(listStyle){\n case 'cn':\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:25px}');\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}');\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:55px}');\n break;\n case 'cn1':\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:30px}');\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}');\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:55px}');\n break;\n case 'cn2':\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:40px}');\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:55px}');\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:68px}');\n break;\n case 'num':\n case 'num1':\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:25px}');\n break;\n case 'num2':\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:35px}');\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}');\n break;\n case 'dash':\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft{padding-left:35px}');\n break;\n case 'dot':\n utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft{padding-left:20px}');\n }\n }\n });\n }\n\n\n});\nUE.parse.register('vedio',function(utils){\n var video = this.root.getElementsByTagName('video'),\n audio = this.root.getElementsByTagName('audio');\n\n document.createElement('video');document.createElement('audio');\n if(video.length || audio.length){\n var sourcePath = utils.removeLastbs(this.rootPath),\n jsurl = sourcePath + '/third-party/video-js/video.js',\n cssurl = sourcePath + '/third-party/video-js/video-js.min.css',\n swfUrl = sourcePath + '/third-party/video-js/video-js.swf';\n\n if(window.videojs) {\n videojs.autoSetup();\n } else {\n utils.loadFile(document,{\n id : \"video_css\",\n tag : \"link\",\n rel : \"stylesheet\",\n type : \"text/css\",\n href : cssurl\n });\n utils.loadFile(document,{\n id : \"video_js\",\n src : jsurl,\n tag : \"script\",\n type : \"text/javascript\"\n },function(){\n videojs.options.flash.swf = swfUrl;\n videojs.autoSetup();\n });\n }\n\n }\n});\n\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/UEditor/ueditor.parse.js\n// module id = aMjp\n// module chunks = 218","import request from '../../../basement/service/request'\r\n\r\nexport function _getTitle() {\r\n return request({\r\n url: '/console/api/home/getTitle',\r\n method: 'get'\r\n })\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/header/header.js","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/header/light.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container header-component\"},[_c('b-navbar',{attrs:{\"toggleable\":\"md\"}},[_c('b-navbar-toggle',{attrs:{\"target\":\"nav_collapse\"}}),_vm._v(\" \"),_c('b-navbar-brand',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarHomeHandler()}}},[_c('img',{staticClass:\"float-left mr-2\",attrs:{\"src\":require(\"../../../../static/logo-title-dark.png\")}}),_vm._v(\" \"),_c('div',{staticClass:\"darkColor\"},[_vm._v(_vm._s(_vm.title))])]),_vm._v(\" \"),_c('b-navbar-nav',{staticClass:\"menuListStyle\"},_vm._l((_vm.menuList),function(item,index){return (item.isShow())?_c('b-nav-item',{key:index,class:{'HeaderActive':item.active},on:{\"click\":function($event){return _vm.MenuClickHandler(item,index)}}},[_vm._v(_vm._s(item.name)+\"\\n \")]):_vm._e()}),1),_vm._v(\" \"),_c('b-collapse',{attrs:{\"is-nav\":\"\",\"id\":\"nav_collapse\"}},[_c('b-navbar-nav',{staticClass:\"ml-auto\"},[_c('b-nav-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarPortalHandler()}}},[_c('img',{staticClass:\"iconClass\",attrs:{\"src\":require(\"../../../assets/ic-internet .png\"),\"alt\":\"\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"上市云\")])]),_vm._v(\" \"),(!_vm.userSession)?_c('b-navbar-nav',[_c('b-nav-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarSignUpHandler()}}},[_c('i',{staticClass:\"fa fa-plus-square-o\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"注册\")])]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarSignInHandler()}}},[_c('i',{staticClass:\"fa fa-sign-in\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"登录\")])])],1):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userNotice)?_c('b-navbar-nav',[_c('b-nav-item',{staticClass:\"position-relative\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarNoticeHandler()}}},[_c('img',{staticClass:\"iconClass\",attrs:{\"src\":require(\"../../../assets/ic-notice.png\"),\"alt\":\"\"}}),_vm._v(\" \"),(_vm.userNotice.count >= 1)?_c('b-badge',{staticClass:\"notice-badge position-absolute\"},[_vm._v(\"\\n \"+_vm._s(_vm.userNotice.count)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.userNotice.count < 1)?_c('b-badge',{staticClass:\"notice-badge position-absolute\",attrs:{\"variant\":\"secondary\"}},[_vm._v(\"\\n \"+_vm._s(_vm.userNotice.count)+\"\\n \")]):_vm._e()],1)],1):_vm._e(),_vm._v(\" \"),(_vm.userSession)?_c('b-nav-item-dropdown',{attrs:{\"right\":\"\"}},[_c('template',{slot:\"button-content\"},[_c('img',{staticClass:\"iconClass1\",attrs:{\"src\":require(\"../../../assets/address.png\"),\"alt\":\"\"}})]),_vm._v(\" \"),_c('b-dropdown-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarProfileHandler()}}},[_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"个人中心\")])]),_vm._v(\" \"),(_vm.userSession.authorities.indexOf('ADMIN')>-1)?_c('b-dropdown-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarSettingsHandler()}}},[_c('i',{staticClass:\"fa fa-cog\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"系统管理\")])]):_vm._e(),_vm._v(\" \"),_c('b-dropdown-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarSignOutHandler()}}},[_c('i',{staticClass:\"fa fa-sign-out\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"退出\")])])],2):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-d790828a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/header/light.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d790828a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./light.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./light.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./light.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d790828a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./light.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-d790828a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/header/light.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/footer/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container footer-component\"},[_c('div',{staticClass:\"footer-container container clearfix\"},[_c('div',{staticClass:\"footer-row\"},[_c('div',{staticClass:\"footer-block footer-licence\"},[_c('ul',{staticClass:\"d-flex justify-content-center flex-column\",staticStyle:{\"color\":\"#666666\"}},[_c('li',{staticClass:\"item\"},[_vm._v(\"\\n 版权所有 @2015-2019企业上市服务云平台由湖北省上市办指定上市云团队开发运营。联系电话:18986140327\\n \")]),_vm._v(\" \"),_c('li',{staticClass:\"item\"},[_c('span',[_c('a',{staticStyle:{\"color\":\"#86909C\"},attrs:{\"href\":\"https://beian.miit.gov.cn\",\"target\":\"_blank\"}},[_vm._v(\"粤ICP备15082162号\")])])])])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-75323f57\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/footer/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-75323f57\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-75323f57\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-75323f57\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/footer/index.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/screen.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-screen\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_c('div',{staticClass:\"container\"},[_c('router-view')],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"layout-footer\"},[_c('Footer')],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0cc42926\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/screen.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0cc42926\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./screen.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./screen.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./screen.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0cc42926\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./screen.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-0cc42926\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/screen.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/header/dark.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container header-component\"},[_c('b-navbar',{attrs:{\"toggleable\":\"md\"}},[_c('b-navbar-toggle',{attrs:{\"target\":\"nav_collapse\"}}),_vm._v(\" \"),_c('b-navbar-brand',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarHomeHandler()}}},[_c('img',{staticClass:\"float-left mr-2\",attrs:{\"src\":require(\"../../../../static/logo-title-light.png\")}}),_vm._v(\" \"),_c('div',{staticClass:\"darkColor\"},[_vm._v(_vm._s(_vm.title))])]),_vm._v(\" \"),_c('b-collapse',{attrs:{\"is-nav\":\"\",\"id\":\"nav_collapse\"}},[_c('b-navbar-nav',{staticClass:\"ml-auto\"},[_c('b-nav-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarPortalHandler()}}},[_c('img',{staticClass:\"iconClass\",attrs:{\"src\":require(\"../../../assets/ic-internet .png\"),\"alt\":\"\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"上市云\")])]),_vm._v(\" \"),(!_vm.userSession)?_c('b-navbar-nav',[_c('b-nav-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarSignUpHandler()}}},[_c('i',{staticClass:\"fa fa-plus-square-o\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"注册\")])]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarSignInHandler()}}},[_c('i',{staticClass:\"fa fa-sign-in\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"登录\")])])],1):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userNotice)?_c('b-navbar-nav',[_c('b-nav-item',{staticClass:\"position-relative\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarNoticeHandler()}}},[_c('i',{staticClass:\"fa fa-bullhorn\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"通知\")]),_vm._v(\" \"),(_vm.userNotice.count >= 1)?_c('b-badge',{staticClass:\"notice-badge position-absolute\",attrs:{\"variant\":\"info\"}},[_vm._v(\"\\n \"+_vm._s(_vm.userNotice.count)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.userNotice.count < 1)?_c('b-badge',{staticClass:\"notice-badge position-absolute\",attrs:{\"variant\":\"secondary\"}},[_vm._v(\"\\n \"+_vm._s(_vm.userNotice.count)+\"\\n \")]):_vm._e()],1)],1):_vm._e(),_vm._v(\" \"),(_vm.userSession)?_c('b-nav-item-dropdown',{attrs:{\"right\":\"\"}},[_c('template',{slot:\"button-content\"},[_c('img',{staticClass:\"iconClass1\",attrs:{\"src\":require(\"../../../assets/address.png\"),\"alt\":\"\"}})]),_vm._v(\" \"),_c('b-dropdown-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarProfileHandler()}}},[_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"个人中心\")])]),_vm._v(\" \"),(_vm.userSession.authorities.indexOf('ADMIN')>-1)?_c('b-dropdown-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarSettingsHandler()}}},[_c('i',{staticClass:\"fa fa-cog\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"系统管理\")])]):_vm._e(),_vm._v(\" \"),_c('b-dropdown-item',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.headerBarSignOutHandler()}}},[_c('i',{staticClass:\"fa fa-sign-out\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"退出\")])])],2):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-53a44d8e\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/header/dark.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-53a44d8e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./dark.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./dark.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./dark.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-53a44d8e\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./dark.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-53a44d8e\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/header/dark.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/signfooter/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container footer-component\"},[_c('div',{staticClass:\"footer-container container clearfix\"},[_c('div',{staticClass:\"footer-row\"},[_c('div',{staticClass:\"footer-block footer-licence\"},[_c('ul',{staticClass:\"d-flex justify-content-center flex-column\"},[_c('li',{staticClass:\"item\"},[_vm._v(\"\\n 版权所有 @2015-2019企业上市服务云平台由湖北省上市办指定上市云团队开发运营。联系电话:13260696279\\n \")]),_vm._v(\" \"),_c('li',{staticClass:\"item\"},[_c('span',[_vm._v(\"ICP证:粤ICP备15082162号-6\")])])])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-8a2c1060\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/signfooter/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-8a2c1060\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-8a2c1060\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-8a2c1060\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/signfooter/index.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/jumbotron/jumbotron1.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-jumbotron\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"container\"},[_c('router-view')],1)])]),_vm._v(\" \"),_c('div',[_c('Signfooter')],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"banner-container\"},[_c('div',{staticClass:\"banner-layer\",staticStyle:{\"margin-top\":\"-40px\"}},[_c('img',{attrs:{\"src\":require(\"../../../../static/images/layout/banner.png\")}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"captions\"},[_c('div',[_vm._v(\"精准培训 专家指导\")]),_vm._v(\" \"),_c('div',[_vm._v(\"种子企业 绿色通道\")]),_vm._v(\" \"),_c('div',[_vm._v(\"上市台账 走访调研\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ce054bc2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/jumbotron/jumbotron1.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ce054bc2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./jumbotron1.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./jumbotron1.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./jumbotron1.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ce054bc2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./jumbotron1.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-ce054bc2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/jumbotron/jumbotron1.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/jumbotron/jumbotron2.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-jumbotron\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"container\"},[_c('router-view')],1)])]),_vm._v(\" \"),_c('div',[_c('Signfooter')],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"banner-container\"},[_c('div',{staticClass:\"banner-layer\",staticStyle:{\"margin-top\":\"-40px\"}},[_c('img',{attrs:{\"src\":require(\"../../../../static/images/layout/banner.png\")}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"captions\"},[_c('div',[_vm._v(\"精准培训 专家指导\")]),_vm._v(\" \"),_c('div',[_vm._v(\"种子企业 绿色通道\")]),_vm._v(\" \"),_c('div',[_vm._v(\"上市台账 走访调研\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-17bffe40\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/jumbotron/jumbotron2.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-17bffe40\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./jumbotron2.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./jumbotron2.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./jumbotron2.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-17bffe40\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./jumbotron2.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-17bffe40\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/jumbotron/jumbotron2.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/jumbotron/jumbotron3.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-jumbotron\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"container\"},[_c('router-view')],1)])]),_vm._v(\" \"),_c('div',[_c('Signfooter')],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"banner-container\"},[_c('div',{staticClass:\"banner-layer\",staticStyle:{\"margin-top\":\"-40px\"}},[_c('img',{attrs:{\"src\":require(\"../../../../static/images/layout/banner.png\")}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"captions\"},[_c('div',[_vm._v(\"精准培训 专家指导\")]),_vm._v(\" \"),_c('div',[_vm._v(\"种子企业 绿色通道\")]),_vm._v(\" \"),_c('div',[_vm._v(\"上市台账 走访调研\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-52a28621\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/jumbotron/jumbotron3.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-52a28621\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./jumbotron3.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./jumbotron3.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./jumbotron3.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-52a28621\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./jumbotron3.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-52a28621\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/jumbotron/jumbotron3.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/sidebar/console.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container sidebar-component\"},[_c('ul',{staticClass:\"menu\"},[_vm._m(0),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/company/router\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"我的企业信息\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/company/history\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"历史企业信息\")])])])],1)])]),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/issue\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"重大事项\")])])])],1),_vm._v(\" \"),(_vm.userSession && !_vm.userSession.org.grades.includes('NORMAL_SEED'))?_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业台账列表\")])])])],1):_vm._e()])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0 && _vm.userSession.org.has_shortcut)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/problem/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"问题列表\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/research/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业调研函\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/research/record/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业调研记录\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/notification/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"通知发文列表\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/training/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"全省培训活动列表\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_vm._m(7)]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('a',{on:{\"click\":function($event){return _vm.collegeHandle()}}},[_vm._m(9)])])])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('a',{on:{\"click\":function($event){return _vm.hotIssuesHandle()}}},[_vm._m(11)])])])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/investmentFinancing/eninformationList\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"我的投融资信息\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/investmentFinancing/roadShowPlatform\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"燧石星火路演平台\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_vm._m(13)]):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/IpoItemIndex\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO知识图谱\")])])])],1)])]),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/reorganization_mergers\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"资产重组案例库\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/reorganization_tradeTarget\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"重组标的\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/ipoStatistics_overview\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO数据概览\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/ipoStatistics_detail\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO在审详情\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/ipoStatistics_Letters_init\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO函件\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/nationalSecuritiesInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"数量及市值规模统计\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/majorFinancialIndInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"财务情况\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/companyDisclosureInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"披露情况\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/marketIntelligenceTesting\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"上市智测\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget_ent/lawLibrary_ent\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"价值法库\")])])])],1)])]):_vm._e()])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"政务服务\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业信息\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业台账\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"绿色通道\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业调研\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"通知发文\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业培训服务\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"专业服务(试用)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"知识图谱\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"知识图谱\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"热点透析\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"热点透析\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"投融资路演\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"数据服务(试用)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO知识图谱\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"资产重组\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO数据\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO函件\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"上市公司统计\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"上市智测\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"法律法规\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-fb538020\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/sidebar/console.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-fb538020\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./console.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./console.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./console.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-fb538020\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./console.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-fb538020\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/sidebar/console.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/breadcrumb/index.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container breadcrumb-component\"})}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-03513950\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-03513950\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-03513950\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-03513950\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/breadcrumb/index.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/console.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-default\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_c('Breadcrumb'),_vm._v(\" \"),_c('keep-alive',[(_vm.$route.meta && _vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1),_vm._v(\" \"),(!(_vm.$route.meta && _vm.$route.meta.keepAlive))?_c('router-view'):_vm._e()],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-64796fc0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/console.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-64796fc0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./console.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./console.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./console.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-64796fc0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./console.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-64796fc0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/console.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/sidebar/govt.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container sidebar-component\"},[_c('ul',{staticClass:\"menu\"},[_vm._m(0),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/company/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业信息列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/csrc/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"在会企业周报\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/tutorial/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"在辅企业周报\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/golden/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"金种子企业月报\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/overseas/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"境外上市企业月报\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/silver/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"银种子企业季报\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/brief/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业台账简报\")])])])],1),_vm._v(\" \"),(_vm.summaryShow)?_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/summary/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"市、州推进企业上市工作情况月度总结\")])])])],1):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/report/issue\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"重大事项\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/problem/mgr/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"问题列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/research/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业调研函\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/research/record/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业调研记录\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/notification/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"通知发文列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/training/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"全省培训活动列表\")])])])],1)])]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/org/intermediary/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"中介机构库\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/org/investment/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"投资机构库\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/org/other/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"其他机构库\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/IpoItemIndex\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO知识图谱\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/hotIssues\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"热点透析\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/investmentFinancing/informationList\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"投融资信息列表\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/investmentFinancing/roadShowPlatform2\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"燧石星火路演平台\")])])])],1)])]),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/sentiment\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"舆情监控\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item hover-pointer\",on:{\"click\":function($event){return _vm.openWindow('https://www.baidu.com/')}}},[_c('a',{staticClass:\"fa fa-map\",attrs:{\"href\":\"javascript:void(0);\"}},[_vm._v(\"深交所燧石星火\")])])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item hover-pointer\",on:{\"click\":function($event){return _vm.openWindow('https://www.baidu.com/')}}},[_c('a',{staticClass:\"fa fa-map\",attrs:{\"href\":\"javascript:void(0);\"}},[_vm._v(\"深交所培育通\")])])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item hover-pointer\",on:{\"click\":function($event){return _vm.openWindow('https://www.baidu.com/')}}},[_c('a',{staticClass:\"fa fa-map\",attrs:{\"href\":\"javascript:void(0);\"}},[_vm._v(\"上交所星企航\")])])])])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/wisdomPolicyRecordList\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"上市智测列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/reorganization/mergers\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"资产重组案例库\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/reorganization/tradeTarget\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"重组标的\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/overview\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO数据概览\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/detail\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO在审详情\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/newCase\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO案例库\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/LettersInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO函件\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/announcement\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO公告\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/nationalSecuritiesInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"数量及市值规模统计\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/majorFinancialIndInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"财务情况\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/companyDisclosureInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"披露情况\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/lawLibrary\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"价值法库\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(22),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/agentQuery\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"资本运作服务检索\")])])])],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"政务服务\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业信息管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业台账管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"绿色通道管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业调研管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"通知发文管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业培训管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"专业服务\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"机构信息管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO知识图谱\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"热点透析\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"投融资路演\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"数据服务\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"舆情监控\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"沪深交易所\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"上市智测\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"资产重组\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO数据\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO函件\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO公告\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"上市公司统计\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"法律法规\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"资本运作机构\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-378149f1\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/sidebar/govt.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-378149f1\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./govt.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./govt.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./govt.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-378149f1\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./govt.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-378149f1\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/sidebar/govt.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/govt.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-default\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_c('Breadcrumb'),_vm._v(\" \"),_c('keep-alive',[(_vm.$route.meta && _vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1),_vm._v(\" \"),(!(_vm.$route.meta && _vm.$route.meta.keepAlive))?_c('router-view'):_vm._e()],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-63bc414f\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/govt.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-63bc414f\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./govt.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./govt.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./govt.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-63bc414f\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./govt.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-63bc414f\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/govt.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/sidebar/leadingGroup.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container sidebar-component\"},[_c('ul',{staticClass:\"menu\"},[_vm._m(0),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/problem/mgr/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"问题列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/company/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业信息列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/notification/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"通知发文列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/training/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"全省培训活动列表\")])])])],1)])]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/case-detail\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO案例详情\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('a',{on:{\"click\":function($event){return _vm.collegeHandle()}}},[_vm._m(8)])])])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('a',{on:{\"click\":function($event){return _vm.hotIssuesHandle()}}},[_vm._m(10)])])])]),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/reorganization/mergers\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"资产重组\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/reorganization/tradeTarget\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"重组标的\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/reorganization/case\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"重组案例\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/overview\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO数据概览\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/detail\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO在审详情\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/LettersInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO函件\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/nationalSecuritiesInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"数量及市值规模统计\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/majorFinancialIndInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"财务情况\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/companyDisclosureInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"披露情况\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/lawLibrary\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"价值法库\")])])])],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"政务服务\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"绿色通道管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业信息管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"通知发文管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业培训管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"专业服务\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO案例详情\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"知识图谱\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"知识图谱\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"热点透析\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"热点透析\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"数据服务\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"资产重组\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO数据\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO函件\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"上市公司统计\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"法律法规\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-763818dc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/sidebar/leadingGroup.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-763818dc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./leadingGroup.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./leadingGroup.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./leadingGroup.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-763818dc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./leadingGroup.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-763818dc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/sidebar/leadingGroup.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/leadingGroup.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-default\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_c('Breadcrumb'),_vm._v(\" \"),_c('keep-alive',[(_vm.$route.meta && _vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1),_vm._v(\" \"),(!(_vm.$route.meta && _vm.$route.meta.keepAlive))?_c('router-view'):_vm._e()],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-095f516c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/leadingGroup.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-095f516c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./leadingGroup.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./leadingGroup.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./leadingGroup.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-095f516c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./leadingGroup.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-095f516c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/leadingGroup.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/sidebar/admin.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container sidebar-component\"},[_c('ul',{staticClass:\"menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/management/area/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"行政区域数据\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/management/industry/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"行业分类数据\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/management/strategic/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"战略新兴产业分类数据\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/management/org/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"政府端组织机构列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/management/user/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"政府端用户列表\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/management/user/enterprise/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业端用户列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/portal/management/problem\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"绿色通道\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/portal/management/knowledge\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"知识图谱\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/portal/management/dynamic\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"工作动态\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/portal/management/policy\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"政策咨询\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/portal/management/exchange\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"沪深交易所\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/portal/management/hotProblem\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"热点问题\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{path:'/govt/index/home', query:{user:'admin'}}}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"审批列表\")])])])],1)])]),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{path:'/govt/index/statisticsTimes', query:{user:'admin'}}}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"功能使用次数统计\")])])])],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"数据字典管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"组织机构管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"用户权限管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"门户网站内容维护\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"管理员审批\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"功能统计\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2ea687e0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/sidebar/admin.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2ea687e0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./admin.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./admin.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./admin.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2ea687e0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./admin.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2ea687e0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/sidebar/admin.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/admin.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-default\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_c('Breadcrumb'),_vm._v(\" \"),_c('keep-alive',[(_vm.$route.meta && _vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1),_vm._v(\" \"),(!(_vm.$route.meta && _vm.$route.meta.keepAlive))?_c('router-view'):_vm._e()],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-15ac2350\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/admin.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-15ac2350\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./admin.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./admin.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./admin.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-15ac2350\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./admin.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-15ac2350\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/admin.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/sidebar/Intermediary.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"component-container sidebar-component\"},[_c('ul',{staticClass:\"menu\"},[_vm._m(0),_vm._v(\" \"),_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),(_vm.showFlag === 'intermediary')?_c('router-link',{attrs:{\"to\":\"/intermediary/profile\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"我的机构信息\")])])]):_vm._e(),_vm._v(\" \"),(_vm.showFlag === 'investment')?_c('router-link',{attrs:{\"to\":\"/investment/profile\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"我的机构信息\")])])]):_vm._e(),_vm._v(\" \"),(_vm.showFlag === 'other')?_c('router-link',{attrs:{\"to\":\"/other/profile\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"我的机构信息\")])])]):_vm._e()],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),(_vm.showFlag === 'intermediary')?_c('router-link',{attrs:{\"to\":\"/intermediary/history\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"历史版本\")])])]):_vm._e(),_vm._v(\" \"),(_vm.showFlag === 'investment')?_c('router-link',{attrs:{\"to\":\"/investment/history\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"历史版本\")])])]):_vm._e(),_vm._v(\" \"),(_vm.showFlag === 'other')?_c('router-link',{attrs:{\"to\":\"/other/history\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"历史版本\")])])]):_vm._e()],1)])]),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/intermediary/list\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"企业信息\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_vm._m(3)]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/case-detail\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO案例详情\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('a',{on:{\"click\":function($event){return _vm.collegeHandle()}}},[_vm._m(6)])])])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('a',{on:{\"click\":function($event){return _vm.hotIssuesHandle()}}},[_vm._m(8)])])])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_vm._m(9)]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/reorganization/mergers\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"资产重组\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/reorganization/tradeTarget\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"重组标的\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/reorganization/case\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"重组案例\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/overview\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO数据概览\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/detail\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO在审详情\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/ipoStatistics/LettersInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"IPO函件\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/nationalSecuritiesInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"数量及市值规模统计\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/majorFinancialIndInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"财务情况\")])])])],1),_vm._v(\" \"),_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/companyDisclosureInit\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"披露情况\")])])])],1)])]):_vm._e(),_vm._v(\" \"),(_vm.userSession && _vm.userSession.org.grades.indexOf('NOT_APPLICABLE')<0)?_c('li',{staticClass:\"menu-item pl-4\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-dashboard\"}),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"),_c('ul',{staticClass:\"sub-menu\"},[_c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":\"/widget/lawLibrary\"}},[_c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"价值法库\")])])])],1)])]):_vm._e()])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"menu-item\"},[_c('span',{staticClass:\"hover\"}),_vm._v(\" \"),_c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"政务服务\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"机构信息\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"企业信息管理\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"专业服务(试用)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO案例详情\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"知识图谱\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"知识图谱\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"热点透析\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('i',{staticClass:\"fa fa-map\"}),_vm._v(\" \"),_c('span',[_vm._v(\"热点透析\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-group-item\"},[_c('span',[_vm._v(\"数据服务(试用)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"资产重组\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO数据\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"IPO函件\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"上市公司统计\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',[_vm._v(\"法律法规\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-40c82335\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/sidebar/Intermediary.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-40c82335\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Intermediary.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Intermediary.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Intermediary.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-40c82335\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Intermediary.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-40c82335\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/sidebar/Intermediary.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/layout/Intermediary.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-default\"},[_c('div',{staticClass:\"layout-header\"},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\"},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_c('Breadcrumb'),_vm._v(\" \"),_c('keep-alive',[(_vm.$route.meta && _vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1),_vm._v(\" \"),(!(_vm.$route.meta && _vm.$route.meta.keepAlive))?_c('router-view'):_vm._e()],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-603db07a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/layout/Intermediary.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-603db07a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Intermediary.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Intermediary.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Intermediary.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-603db07a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Intermediary.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-603db07a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/layout/Intermediary.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/components/header/portal.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"headerComponent\"},[_c('div',{staticClass:\"headerComponent-top\"},[_c('div',{staticClass:\"headerComponent-tit\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"tit-right\"},[_c('span',{on:{\"click\":function($event){return _vm.headerBarIndexHandler()}}},[_vm._v(\"政务OA\")]),_vm._v(\" \"),(!_vm.getOrgInfoSafely())?_c('span',{on:{\"click\":function($event){return _vm.headerBarSignUpHandler()}}},[_vm._v(\"注册\")]):_vm._e(),_vm._v(\" \"),(!_vm.getOrgInfoSafely())?_c('span',{on:{\"click\":function($event){return _vm.headerBarSignInHandler()}}},[_vm._v(\"登录\")]):_vm._e()])])]),_vm._v(\" \"),_c('div',{staticClass:\"headerComponent-bot\"},[_c('div',{staticClass:\"headerComponentList\"},_vm._l((_vm.headerList),function(item,index){return _c('div',{key:index,staticClass:\"list-cell\",class:item.activate ? 'headerActive' : '',on:{\"click\":function($event){return _vm.goTo(item)}}},[_c('img',{staticClass:\"headerIcon\",attrs:{\"src\":item.icon,\"alt\":\"\"}}),_vm._v(\" \"),_c('span',{staticClass:\"headerName\"},[_vm._v(_vm._s(item.name))])])}),0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tit-left\"},[_c('img',{attrs:{\"src\":require(\"../../../assets/home/logo.png\"),\"alt\":\"\"}}),_vm._v(\" \"),_c('div',[_c('p',{staticClass:\"tit-tit\"},[_vm._v(\"湖北省企业上市政务服务云\")]),_vm._v(\" \"),_c('p',{staticClass:\"tit-tit1\"},[_vm._v(\"Enterprise Listing Government Service Cloud\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-b8313aa2\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/components/header/portal.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b8313aa2\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./portal.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./portal.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./portal.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b8313aa2\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./portal.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-b8313aa2\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/header/portal.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/app/layout/portal.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout-container layout-portal\"},[_c('div',{staticClass:\"layout-header\",staticStyle:{\"position\":\"fixed\",\"top\":\"0\",\"z-index\":\"1003\",\"width\":\"100%\"}},[_c('Header')],1),_vm._v(\" \"),_c('div',{staticClass:\"layout-main clearfix\",staticStyle:{\"min-height\":\"28.1rem\",\"margin-top\":\"219px\"}},[_c('div',{ref:\"bodyContainer\",staticClass:\"layout-body body-container\"},[_c('router-view')],1)]),_vm._v(\" \"),_c('div',{staticStyle:{\"background\":\"#EEEEEE\"}},[_c('Footer')],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7eba7f82\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/app/layout/portal.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7eba7f82\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./portal.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./portal.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./portal.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7eba7f82\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./portal.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7eba7f82\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/layout/portal.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/error/401.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-container container text-center\"},[_c('div',{staticClass:\"error-container\"},[_c('span',[_vm._v(\"4\")]),_vm._v(\" \"),_c('span',[_c('span',{staticClass:\"screen-reader-text\"},[_vm._v(\"0\")])]),_vm._v(\" \"),_c('span',[_vm._v(\"1\")])]),_vm._v(\" \"),_c('div',{staticClass:\"error-message\"},[_vm._v(\"\\n 抱歉,您需要登录后访问。\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-204dda94\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/error/401.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-204dda94\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./401.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./401.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./401.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-204dda94\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./401.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-204dda94\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/error/401.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/error/403.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-container container text-center\"},[_c('div',{staticClass:\"error-container\"},[_c('span',[_vm._v(\"4\")]),_vm._v(\" \"),_c('span',[_c('span',{staticClass:\"screen-reader-text\"},[_vm._v(\"0\")])]),_vm._v(\" \"),_c('span',[_vm._v(\"3\")])]),_vm._v(\" \"),_c('div',{staticClass:\"error-message\"},[_vm._v(\"\\n 抱歉,您没有权限访问该资源。\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-306a9e71\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/error/403.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-306a9e71\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./403.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./403.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./403.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-306a9e71\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./403.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-306a9e71\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/error/403.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/error/404.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-container container text-center\"},[_c('div',{staticClass:\"error-container\"},[_c('span',[_vm._v(\"4\")]),_vm._v(\" \"),_c('span',[_c('span',{staticClass:\"screen-reader-text\"},[_vm._v(\"0\")])]),_vm._v(\" \"),_c('span',[_vm._v(\"4\")])]),_vm._v(\" \"),_c('div',{staticClass:\"error-message\"},[_vm._v(\"\\n 糟糕,您要找的网页不存在。\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5174f805\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/error/404.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5174f805\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./404.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./404.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./404.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5174f805\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./404.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5174f805\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/error/404.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/basement/error/500.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-container container text-center\"},[_c('div',{staticClass:\"error-container\"},[_c('span',[_vm._v(\"5\")]),_vm._v(\" \"),_c('span',[_c('span',{staticClass:\"screen-reader-text\"},[_vm._v(\"0\")])]),_vm._v(\" \"),_c('span',[_vm._v(\"0\")])]),_vm._v(\" \"),_c('div',{staticClass:\"error-message\"},[_vm._v(\"\\n 抱歉,服务异常!请联系管理员解决。\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a29f4510\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/basement/error/500.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a29f4510\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"D:\\\\\\\\workspace\\\\\\\\capital-io-ipo\\\\\\\\capital-fe-console\\\\\\\\src\\\\\\\\style\\\\\\\\variables.scss\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./500.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./500.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./500.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a29f4510\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./500.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-a29f4510\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/basement/error/500.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\n/** Screen layout **/\r\nimport _ScreenLayout from '../src/basement/layout/screen'\r\n/** Jumbotron layout **/\r\nimport _Jumbotron1 from '../src/basement/layout/jumbotron/jumbotron1'\r\nimport _Jumbotron2 from '../src/basement/layout/jumbotron/jumbotron2'\r\nimport _Jumbotron3 from '../src/basement/layout/jumbotron/jumbotron3'\r\n/** Console layout **/\r\nimport _ConsoleLayout from '../src/basement/layout/console'\r\n/** Govt layout **/\r\nimport _GovtLayout from '../src/basement/layout/govt'\r\n\r\n/** LeadingGroup layout **/\r\nimport _LeadingGroup from '../src/basement/layout/leadingGroup'\r\n\r\n/** Admin layout **/\r\nimport _AdminLayout from '../src/basement/layout/admin'\r\n/** Intermediary layout **/\r\nimport _IntermediaryLayout from '../src/basement/layout/Intermediary'\r\n\r\nimport _PortalLayout from '../src/app/layout/portal.vue'\r\n/** Error Components **/\r\nimport _ERROR_401 from '../src/basement/error/401'\r\nimport _ERROR_403 from '../src/basement/error/403'\r\nimport _ERROR_404 from '../src/basement/error/404'\r\nimport _ERROR_500 from '../src/basement/error/500'\r\nimport {path} from 'chromedriver'\r\nimport store from \"./basement/service/store\";\r\n\r\n/** Laze loading mode **/\r\nconsole.log('Main process.env > ', process.env);\r\nconst _import = require('../src/basement/router/_import_' + (process.env.LAZE_MODE ? 'lazeload' : 'require'));\r\n\r\nVue.use(VueRouter);\r\n\r\nconst orgMap = {\r\n 'BROKER': \"intermediary\",\r\n 'ACCOUNTING_FIRM': \"intermediary\",\r\n 'LAW_FIRM': \"intermediary\",\r\n 'INVESTMENT': \"investment\",\r\n 'FUND': \"investment\",\r\n 'FUND_CUSTODIAN': \"investment\",\r\n 'MONETARY': \"other\",\r\n 'APPRAISAL_FIRM': \"other\",\r\n 'MEDIA': \"other\",\r\n 'ADVICE_FIRM': \"other\",\r\n 'OTHER': \"other\",\r\n}\r\n\r\nexport const _ConstantRouterMap = [\r\n // TODO remove Sample\r\n {\r\n path: '/sample',\r\n name: 'sample',\r\n component: _ScreenLayout,\r\n meta: {title: 'Sample', hidden: true},\r\n children: [\r\n {\r\n path: 'index',\r\n name: 'sample_index',\r\n component: _import('sample/index'),\r\n meta: {title: 'Sample', hidden: false}\r\n },\r\n {\r\n path: 'identifying',\r\n name: 'sample_identifying',\r\n component: _import('sample/identifying'),\r\n meta: {title: 'Identifying', hidden: false}\r\n },\r\n {\r\n path: 'form',\r\n name: 'sample_form',\r\n component: _import('sample/form-inline'),\r\n meta: {title: 'Form', hidden: false}\r\n },\r\n {\r\n path: 'grid',\r\n name: 'sample_grid',\r\n component: _import('sample/grid'),\r\n meta: {title: 'Grid', hidden: false}\r\n },\r\n {\r\n path: 'date',\r\n name: 'sample_date',\r\n component: _import('sample/date-picker'),\r\n meta: {title: 'Date', hidden: false}\r\n },\r\n {\r\n path: 'area',\r\n name: 'sample_area',\r\n component: _import('sample/area-selector'),\r\n meta: {title: 'Area', hidden: false}\r\n },\r\n {\r\n path: 'upload',\r\n name: 'sample_upload',\r\n component: _import('sample/file-upload'),\r\n meta: {title: 'Upload', hidden: false}\r\n },\r\n {\r\n path: 'download',\r\n name: 'sample_download',\r\n component: _import('sample/file-download'),\r\n meta: {title: 'Download', hidden: false}\r\n },\r\n {\r\n path: 'tinymce',\r\n name: 'sample_tinymce',\r\n component: _import('sample/tinymce'),\r\n meta: {title: 'Tinymce', hidden: false}\r\n }\r\n ]\r\n },\r\n // --\r\n // Sign\r\n {\r\n path: '/sign',\r\n name: 'sign_Jumbotron1',\r\n component: _Jumbotron1,\r\n meta: {title: 'Sign', hidden: true},\r\n children: [\r\n {\r\n path: 'in',\r\n name: 'sign_in',\r\n component: _import('sign/in'),\r\n meta: {title: '登录', hidden: false}\r\n }\r\n ]\r\n },\r\n {\r\n path: '/sign',\r\n name: 'sign_Jumbotron2',\r\n component: _Jumbotron2,\r\n meta: {title: 'Sign', hidden: true},\r\n children: [\r\n {\r\n path: 'out',\r\n name: 'sign_out',\r\n component: _import('sign/out'),\r\n meta: {title: '退出', hidden: false}\r\n }\r\n ]\r\n },\r\n {\r\n path: '/sign',\r\n name: 'sign_Jumbotron3',\r\n component: _Jumbotron3,\r\n meta: {title: 'Sign', hidden: true},\r\n children: [\r\n {\r\n path: 'up',\r\n name: 'sign_up',\r\n component: _import('sign/up-tabs'),\r\n meta: {title: '注册', hidden: false}\r\n },\r\n {\r\n path: 'pre-up',\r\n name: 'sign_up_pre',\r\n component: _import('sign/up-pre'),\r\n meta: {title: '选择身份', hidden: false}\r\n },\r\n {\r\n path: 'forget',\r\n name: 'forget',\r\n component: _import('sign/forget'),\r\n meta: {title: '重置密码', hidden: false}\r\n },\r\n {\r\n path: 'Success',\r\n name: 'reset_success',\r\n component: _import('sign/resetPasswordSuccess'),\r\n meta: {title: '重置密码成功', hidden: false}\r\n },\r\n // TODO remove find identifying\r\n {\r\n path: 'identifying',\r\n name: 'sign_identifying',\r\n component: _import('sign/identifying'),\r\n meta: {title: 'Identifying', hidden: false}\r\n }\r\n ]\r\n },\r\n // Profile\r\n {\r\n path: '/profile',\r\n name: 'profile',\r\n component: _ScreenLayout,\r\n meta: {title: '个人中心', hidden: true},\r\n children: [\r\n {\r\n path: 'attribute',\r\n name: 'profile_attribute',\r\n component: _import('profile/attribute'),\r\n meta: {title: '基本信息', hidden: true}\r\n }\r\n ]\r\n },\r\n // Notice\r\n {\r\n path: '/notice',\r\n name: 'notice',\r\n component: _ScreenLayout,\r\n meta: {title: '通知中心', hidden: true},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'notice_list',\r\n component: _import('notice/list'),\r\n meta: {title: '通知列表', hidden: true}\r\n }\r\n ]\r\n },\r\n // Error\r\n {\r\n path: '/error',\r\n name: 'error',\r\n component: _ScreenLayout,\r\n meta: {title: 'ERROR', hidden: true},\r\n children: [\r\n {path: '401', name: '401', component: _ERROR_401, meta: {title: '401', hidden: true}},\r\n {path: '403', name: '403', component: _ERROR_403, meta: {title: '403', hidden: true}},\r\n // {path: '404', name: '404', component: _ERROR_404, meta: {title: '404', hidden: true}},\r\n {path: '500', name: '500', component: _ERROR_500, meta: {title: '500', hidden: true}}\r\n ]\r\n }\r\n];\r\n\r\nexport const _AsyncRouterHomeMap = [\r\n\r\n // Index\r\n {\r\n path: '/portal',\r\n name: 'portal',\r\n component: _PortalLayout,\r\n meta: {title: '首页', hidden: false},\r\n children: [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: _import('index/home'),\r\n meta: {title: '首页', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'newsOne',\r\n name: 'newsOne',\r\n component: _import('index/newsOne'),\r\n meta: {title: '沪深交易新闻详情', hidden: false}\r\n },\r\n {\r\n path: 'newsTwo',\r\n name: 'newsTwo',\r\n component: _import('index/newsTwo'),\r\n meta: {title: '沪深交易新闻详情', hidden: false}\r\n },\r\n {\r\n path: 'news-details',\r\n name: 'news-details',\r\n component: _import('index/newsDetail'),\r\n meta: {title: '沪深交易新闻详情', hidden: false}\r\n },\r\n {\r\n path: 'dynamic',\r\n name: 'dynamic',\r\n component: _import('dynamic/dynamic'),\r\n meta: {title: '上市工作动态', hidden: false}\r\n },\r\n {\r\n path: 'policys',\r\n name: 'policys',\r\n component: _import('policy/policy'),\r\n meta: {title: '最新政策', hidden: false}\r\n },\r\n {\r\n path: 'policys_details',\r\n name: 'policyDetail',\r\n component: _import('policy/policyDetail'),\r\n meta: {title: '最新政策详情', hidden: false}\r\n },\r\n\r\n {\r\n path: 'policy',\r\n name: 'policy',\r\n component: _import('index/policy'),\r\n meta: {title: '政策', hidden: false}\r\n },\r\n {\r\n path: 'policy/content',\r\n name: 'policy-content',\r\n component: _import('index/policy-content'),\r\n meta: {title: '政策解读', hidden: false}\r\n },\r\n {\r\n path: 'work/dynamic',\r\n name: 'work-dynamic',\r\n component: _import('index/work-dynamic'),\r\n meta: {title: '工作动态', hidden: false}\r\n },\r\n {\r\n path: 'dynamic/dynamicDetail',\r\n name: 'dynamicDetail',\r\n component: _import('dynamic/dynamicDetail'),\r\n meta: {title: '工作动态', hidden: false}\r\n },\r\n {\r\n path: 'financing/dynamic',\r\n name: 'financing-dynamic',\r\n component: _import('index/financing-dynamic'),\r\n meta: {title: '融资动态', hidden: false}\r\n },\r\n // TODO invalid\r\n {\r\n path: 'listedCollege',\r\n name: 'listedCollege',\r\n component: _import('index/listedCollege'),\r\n meta: {title: '上市学院', hidden: false}\r\n },\r\n {\r\n path: 'college',\r\n name: 'college',\r\n component: _import('college/index'),\r\n meta: {title: '上市学院', hidden: false},\r\n },\r\n\r\n\r\n {\r\n path: 'breedingBase',\r\n name: 'breedingBase',\r\n component: _import('breedingBase/index'),\r\n meta: {title: '培育基地', hidden: false},\r\n },\r\n {\r\n path: 'greenChannel',\r\n name: 'greenChannel',\r\n component: _import('index/greenChannel'),\r\n meta: {title: '绿色通道', hidden: false}\r\n },\r\n {\r\n path: 'greenChannelThird',\r\n name: 'greenChannelThird',\r\n component: _import('index/greenChannelThird'),\r\n meta: {title: '绿色通道三级页面', hidden: false}\r\n },\r\n {\r\n path: 'greenChannelComponent',\r\n name: 'greenChannelComponent',\r\n component: _import('index/greenChannelComponent'),\r\n meta: {title: '绿色通道详细页面', hidden: false}\r\n },\r\n {\r\n path: 'company',\r\n name: 'company',\r\n component: _import('index/company'),\r\n meta: {title: '创业公司', hidden: false}\r\n },\r\n {\r\n path: 'seedCompanies',\r\n name: 'seedCompanies',\r\n component: _import('seedCompanies/seedCompaniesVue'),\r\n meta: {title: '种子企业', hidden: false}\r\n },\r\n {\r\n path: 'listedCenter',\r\n name: 'listedCenter',\r\n component: _import('listedCenter/listedCenterVue'),\r\n meta: {title: '上市中心', hidden: false}\r\n },\r\n {\r\n path: 'laws',\r\n name: 'laws_library',\r\n component: _import('widgets/LawsLibrary'),\r\n meta: {title: '价值法库', hidden: true}\r\n },\r\n // {\r\n // path: 'dashboard',\r\n // name: 'dashboard',\r\n // component: _Dashboard,\r\n // meta: {title: 'Dashboard', hidden: false}\r\n // },\r\n // {\r\n // path: 'hello',\r\n // name: 'hello',\r\n // component: _Hello,\r\n // meta: {title: 'Hello-World', hidden: false}\r\n // },\r\n {\r\n path: 'hotIssues',\r\n name: 'hotIssues',\r\n component: _import('hotIssues/hotIssues'),\r\n meta: {title: '热点问题', hidden: false},\r\n },\r\n {\r\n path: 'hotIssuesDetail',\r\n name: 'hotIssuesDetail',\r\n component: _import('hotIssues/hotIssuesDetail'),\r\n meta: {title: '热点问题', hidden: false},\r\n }\r\n ]\r\n },\r\n\r\n // {path: '*', redirect: '/error/404', hidden: false}\r\n\r\n];\r\n//企业路由\r\nexport const _AsyncRouterMap4Console = [\r\n // Index\r\n {\r\n path: '',\r\n name: 'home',\r\n component: _ConsoleLayout,\r\n meta: {title: '首页', hidden: true},\r\n children: [\r\n {\r\n path: '/',\r\n name: 'enterprise_home',\r\n component: _import('enterprise/index/home'),\r\n meta: {title: '企业端首页', hidden: false, keepAlive: true}\r\n }\r\n ]\r\n },\r\n\r\n // TODO add view router configuration for enterprise\r\n // 企业信息\r\n {\r\n path: '/company',\r\n name: 'company',\r\n component: _ConsoleLayout,\r\n meta: {title: '企业信息', hidden: true, group: 1},\r\n children: [\r\n {\r\n // 政府服务\r\n path: 'government',\r\n name: 'government_service',\r\n component: _import('govt/company/governmentList'),\r\n meta: {title: '政府服务', hidden: true, keepAlive: true}\r\n },\r\n {\r\n path: 'profile',\r\n name: 'company_profile',\r\n component: _import('enterprise/company/companyProfile'),\r\n meta: {title: '我的企业信息', hidden: true}\r\n },\r\n {\r\n path: 'router',\r\n name: 'company_router',\r\n component: _import('enterprise/company/companyRouter'),\r\n meta: {title: '我的企业信息', hidden: false, active: true}\r\n },\r\n {\r\n path: 'create',\r\n name: 'company_create',\r\n component: _import('enterprise/company/companyCreate'),\r\n meta: {title: '新增企业信息', hidden: true}\r\n },\r\n {\r\n path: 'history',\r\n name: 'company_history',\r\n component: _import('enterprise/company/companyHistory'),\r\n meta: {title: '历史企业信息', hidden: false, keepAlive: true}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/intermediary',\r\n name: 'intermediary',\r\n component: _ConsoleLayout,\r\n meta: {title: '企业信息', hidden: true},\r\n children: [\r\n {\r\n path: 'organization',\r\n name: 'organization_list',\r\n component: _import('govt/intermediary/organizationList'),\r\n meta: {title: '机构信息列表菜单', hidden: false, keepAlive: true}\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: '/ipo',\r\n name: 'ipo',\r\n component: _ConsoleLayout,\r\n meta: {title: 'ipo知识图谱', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'IpoItemIndex',\r\n name: 'IpoItemIndex',\r\n component: _import('enterprise/widgets/IpoItemIndex'),\r\n meta: {title: 'IPO知识图谱', hidden: false, active: true}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/hotIssues',\r\n name: 'hotIssues',\r\n component: _ConsoleLayout,\r\n meta: {title: '热点透析', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'hotIssues',\r\n name: 'hotIssues',\r\n component: _import('hotIssues/hotIssues'),\r\n meta: {title: '热点透析', hidden: false, active: true},\r\n },\r\n ]\r\n },\r\n\r\n\r\n // 我的投融资信息\r\n {\r\n path: '/investmentFinancing',\r\n name: 'investmentFinancing',\r\n component: _ConsoleLayout,\r\n meta: {title: '我的投融资信息', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'eninformationList',\r\n name: 'information_list',\r\n component: _import('enterprise/investmentFinancing/informationList'),\r\n meta: {title: '我的投融资信息列表', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'informationEdit',\r\n name: 'en_information_edit',\r\n component: _import('govt/investmentFinancing/informationEdit'),\r\n meta: {title: '我的投融资信息编辑', hidden: true}\r\n },\r\n {\r\n path: 'informationNewAdd',\r\n name: 'en_informationNewAdd',\r\n component: _import('govt/investmentFinancing/informationNewAdd'),\r\n meta: {title: '我的投融资信息增加', hidden: true}\r\n },\r\n {\r\n path: 'roadShowPlatform',\r\n name: 'en_roadShowPlatform',\r\n component: _import('enterprise/investmentFinancing/roadShowPlatform'),\r\n meta: {title: '燧石星火路演平台', hidden: false}\r\n },\r\n {\r\n path: 'roadShowProject',\r\n name: 'en_roadShowProject',\r\n component: _import('enterprise/investmentFinancing/roadShowProject'),\r\n meta: {title: '燧石星推送项目', hidden: true}\r\n },\r\n ]\r\n },\r\n // 企业台账\r\n {\r\n path: '/report',\r\n name: 'report',\r\n component: _ConsoleLayout,\r\n meta: {title: '企业台账', hidden: true, group: 1},\r\n children: [\r\n {\r\n path: 'issue',\r\n name: 'issue_list',\r\n component: _import('enterprise/report/issue/list'),\r\n meta: {title: '重大事项', hidden: false, keepAlive: true, active: true},\r\n },\r\n {\r\n path: 'list',\r\n name: 'report_list',\r\n isShow() {\r\n return store.getters.userSession && !store.getters.userSession.org.grades.includes('NORMAL_SEED')\r\n },\r\n component: _import('enterprise/report/list'),\r\n meta: {title: '企业台账列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'history',\r\n name: 'report_history',\r\n component: _import('enterprise/report/history'),\r\n meta: {title: '企业台账_历史版本', hidden: true}\r\n },\r\n {\r\n path: 'csrc/add',\r\n name: 'csrc_add',\r\n component: _import('enterprise/report/csrc/add'),\r\n meta: {title: '在会企业周报新增', hidden: true}\r\n },\r\n {\r\n path: 'csrc/edit',\r\n name: 'csrc_edit',\r\n component: _import('enterprise/report/csrc/edit'),\r\n meta: {title: '在会企业周报编辑', hidden: true}\r\n },\r\n\r\n {\r\n path: 'major/add',\r\n name: 'major_add',\r\n component: _import('enterprise/report/major/add'),\r\n meta: {title: '科创板(重点)新增', hidden: true}\r\n },\r\n {\r\n path: 'major/edit',\r\n name: 'major_edit',\r\n component: _import('enterprise/report/major/edit'),\r\n meta: {title: '科创板(重点)编辑', hidden: true}\r\n },\r\n\r\n {\r\n path: 'tutorial/add',\r\n name: 'tutorial_add',\r\n component: _import('enterprise/report/tutorial/add'),\r\n meta: {title: '在辅企业周报新增', hidden: true}\r\n },\r\n {\r\n path: 'tutorial/edit',\r\n name: 'tutorial_edit',\r\n component: _import('enterprise/report/tutorial/edit'),\r\n meta: {title: '在辅企业周报编辑', hidden: true}\r\n },\r\n {\r\n path: 'overseas/add',\r\n name: 'overseas_add',\r\n component: _import('enterprise/report/overseas/add'),\r\n meta: {title: '境外上市企业月报新增', hidden: true}\r\n },\r\n {\r\n path: 'overseas/edit',\r\n name: 'overseas_edit',\r\n component: _import('enterprise/report/overseas/edit'),\r\n meta: {title: '境外上市企业月报编辑', hidden: true}\r\n },\r\n {\r\n path: 'golden/add',\r\n name: 'golden_add',\r\n component: _import('enterprise/report/golden/add'),\r\n meta: {title: '金种子企业月报新增', hidden: true}\r\n },\r\n {\r\n path: 'golden/edit',\r\n name: 'golden_edit',\r\n component: _import('enterprise/report/golden/edit'),\r\n meta: {title: '金种子企业月报编辑', hidden: true}\r\n },\r\n\r\n {\r\n path: 'sci/add',\r\n name: 'sci_add',\r\n component: _import('enterprise/report/sci/add'),\r\n meta: {title: '科创板种子月报新增', hidden: true}\r\n },\r\n {\r\n path: 'sci/edit',\r\n name: 'sci_edit',\r\n component: _import('enterprise/report/sci/edit'),\r\n meta: {title: '科创板种子月报编辑', hidden: true}\r\n },\r\n\r\n {\r\n path: 'silver/add',\r\n name: 'silver_add',\r\n component: _import('enterprise/report/silver/add'),\r\n meta: {title: '银种子企业季报新增', hidden: true}\r\n },\r\n {\r\n path: 'silver/edit',\r\n name: 'silver_edit',\r\n component: _import('enterprise/report/silver/edit'),\r\n meta: {title: '银种子企业季报编辑', hidden: true}\r\n },\r\n\r\n {\r\n path: 'issue/edit',\r\n name: 'issue_edit',\r\n component: _import('enterprise/report/issue/edit'),\r\n meta: {title: '编辑', hidden: true}\r\n },\r\n {\r\n path: 'issue/history',\r\n name: 'issue_history',\r\n component: _import('enterprise/report/issue/historyList'),\r\n meta: {title: '历史记录', hidden: true}\r\n }\r\n ]\r\n },\r\n // 绿色通道\r\n {\r\n path: '/problem',\r\n name: 'problem',\r\n component: _ConsoleLayout,\r\n meta: {title: '绿色通道', hidden: false,group: 1},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'problem_list',\r\n component: _import('enterprise/problem/list'),\r\n meta: {title: '问题列表', hidden: false, keepAlive: true,active: true}\r\n },\r\n {\r\n path: 'edit',\r\n name: 'problem_edit',\r\n component: _import('enterprise/problem/edit'),\r\n meta: {title: '问题申报', hidden: true}\r\n }\r\n ]\r\n },\r\n // 企业调研\r\n {\r\n path: '/research',\r\n name: 'research',\r\n component: _ConsoleLayout,\r\n meta: {title: '企业调研', hidden: true, group: 1},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'research_list',\r\n component: _import('enterprise/research/list'),\r\n meta: {title: '企业调研函', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'research_detail',\r\n component: _import('enterprise/research/detail'),\r\n meta: {title: '调研函详情', hidden: true}\r\n },\r\n {\r\n path: 'record/list',\r\n name: 'record_list',\r\n component: _import('enterprise/research/record/list'),\r\n meta: {title: '企业调研记录列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'record/detail',\r\n name: 'record_detail',\r\n component: _import('enterprise/research/record/detail'),\r\n meta: {title: '企业调研记录', hidden: true}\r\n },\r\n ]\r\n },\r\n // 企业培训\r\n {\r\n path: '/training',\r\n name: 'training',\r\n component: _ConsoleLayout,\r\n meta: {title: '企业培训服务', hidden: true, group: 1},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'training_list',\r\n component: _import('enterprise/training/list'),\r\n meta: {title: '全省培训活动列表', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'enroll/list',\r\n name: 'training_enroll',\r\n component: _import('enterprise/training/enroll/list'),\r\n meta: {title: '报名信息', hidden: true}\r\n },\r\n {\r\n path: 'training/detail',\r\n name: 'training_detail',\r\n component: _import('enterprise/training/detail'),\r\n meta: {title: '培训信息', hidden: true}\r\n }\r\n ]\r\n },\r\n //通知发文\r\n {\r\n path: '/notification',\r\n name: 'notification',\r\n component: _ConsoleLayout,\r\n meta: {title: '通知发文', hidden: false, group: 1},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'notification_list',\r\n component: _import('enterprise/notification/list'),\r\n meta: {title: '通知发文列表', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'notification_detail',\r\n component: _import('enterprise/notification/detail'),\r\n meta: {title: '通知发文详情', hidden: true},\r\n },\r\n {\r\n path: 'reply',\r\n name: 'notification_reply',\r\n component: _import('enterprise/notification/reply'),\r\n meta: {title: '回复通知', hidden: true}\r\n }\r\n ]\r\n },\r\n {\r\n path: '/reorganization',\r\n name: 'reorganization',\r\n component: _ConsoleLayout,\r\n meta: {title: '资产重组', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'reorganization_mergers',\r\n name: 'reorganization_mergers',\r\n component: _import('enterprise/widgets/Reorganization'),\r\n props: {reorganizationType: 'mergers'},\r\n meta: {title: '资产重组案例库', hidden: false, active: true}\r\n },\r\n {\r\n path: 'reorganization_tradeTarget',\r\n name: 'reorganization_tradeTarget',\r\n component: _import('enterprise/widgets/ReorganizationTarget'),\r\n props: {reorganizationType: 'tradeTarget'},\r\n meta: {title: '重组标的', hidden: false}\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: '/ipoStatistics',\r\n name: 'ipoStatistics',\r\n component: _ConsoleLayout,\r\n meta: {title: 'ipo数据', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'ipoStatistics_overview',\r\n name: 'ipoStatistics_overview',\r\n component: _import('enterprise/widgets/IpoStatistics'),\r\n props: {ipoType: 'overview'},\r\n meta: {title: 'IPO数据概览', hidden: false, active: true}\r\n },\r\n {\r\n path: 'ipoStatistics_detail',\r\n name: 'ipoStatistics_detail',\r\n component: _import('enterprise/widgets/IpoStatisticsDetail'),\r\n props: {ipoType: 'detail'},\r\n meta: {title: 'IPO在审详情', hidden: false}\r\n },\r\n ]\r\n },\r\n {\r\n path: '/ipoStatisticsLetter',\r\n name: 'ipoStatisticsLetter',\r\n component: _ConsoleLayout,\r\n meta: {title: 'IPO函件', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'ipoStatistics_Letters_init',\r\n name: 'ipoStatistics_Letters_init',\r\n component: _import('enterprise/widgets/LettersInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: 'IPO函件', hidden: false, active: true}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/marketIntelligenceTesting',\r\n name: 'marketIntelligenceTesting',\r\n component: _ConsoleLayout,\r\n meta: {title: '上市智测', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'marketIntelligenceTesting',\r\n name: 'marketIntelligenceTesting',\r\n component: _import('enterprise/widgets/marketIntelligenceTesting'),\r\n meta: {title: '上市智测', hidden: false, active: true}\r\n },\r\n\r\n\r\n ]\r\n },\r\n {\r\n path: '/lawLibrary',\r\n name: 'lawLibrary',\r\n component: _ConsoleLayout,\r\n meta: {title: '法律法规', hidden: true, group: 3},\r\n children: [\r\n\r\n {\r\n path: 'lawLibrary_ent',\r\n name: 'lawLibrary_ent',\r\n component: _import('enterprise/widgets/LawsLibrary'),\r\n meta: {title: '价值法库', hidden: false, active: true}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/ipoStatisticsLetter',\r\n name: 'ipoStatisticsLetter',\r\n component: _ConsoleLayout,\r\n meta: {title: '上市公司统计', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'nationalSecuritiesInit',\r\n name: 'national_securities_init',\r\n component: _import('enterprise/widgets/nationalSecuritiesInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '数量及市值规模统计', hidden: false, active: true}\r\n },\r\n {\r\n path: 'majorFinancialIndInit',\r\n name: 'major_financialInd_Init',\r\n component: _import('enterprise/widgets/majorFinancialIndInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '财务情况', hidden: false}\r\n },\r\n {\r\n path: 'companyDisclosureInit',\r\n name: 'company_disclosure_init',\r\n component: _import('enterprise/widgets/companyDisclosureInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '披露情况', hidden: false}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/widget',\r\n name: 'widget',\r\n component: _ConsoleLayout,\r\n meta: {title: '微服务页面', hidden: true},\r\n children: [\r\n {\r\n path: 'reorganizationList',\r\n name: 'reorganizationList',\r\n component: _import('govt/widgets/reorganizationList'),\r\n meta: {title: '数据服务菜单', hidden: false}\r\n }]\r\n\r\n },\r\n\r\n // 企业端微服务\r\n {\r\n path: '/widget_ent',\r\n name: 'widget_ent',\r\n component: _ConsoleLayout,\r\n meta: {title: '微服务页面', hidden: true},\r\n children: [\r\n\r\n {\r\n path: 'lawLibrary_ent',\r\n name: 'lawLibrary_ent',\r\n component: _import('enterprise/widgets/LawsLibrary'),\r\n meta: {title: '价值法库', hidden: false}\r\n },\r\n // {\r\n // path: 'marketIntelligenceTesting',\r\n // name: 'marketIntelligenceTesting',\r\n // component: _import('enterprise/widgets/marketIntelligenceTesting'),\r\n // meta: {title: '上市智测', hidden: false}\r\n // },\r\n // {\r\n // path: 'reorganization_mergers',\r\n // name: 'reorganization_mergers',\r\n // component: _import('enterprise/widgets/Reorganization'),\r\n // props: {reorganizationType: 'mergers'},\r\n // meta: {title: '资产重组', hidden: false}\r\n // },\r\n // {\r\n // path: 'reorganization_tradeTarget',\r\n // name: 'reorganization_tradeTarget',\r\n // component: _import('enterprise/widgets/ReorganizationTarget'),\r\n // props: {reorganizationType: 'tradeTarget'},\r\n // meta: {title: '重组标的', hidden: false}\r\n // },\r\n {\r\n path: 'reorganization_case',\r\n name: 'reorganization_case',\r\n component: _import('enterprise/widgets/ReorganizationCase'),\r\n props: {reorganizationType: 'case'},\r\n meta: {title: '重组案例', hidden: false}\r\n },\r\n // {\r\n // path: 'ipoStatistics_overview',\r\n // name: 'ipoStatistics_overview',\r\n // component: _import('enterprise/widgets/IpoStatistics'),\r\n // props: {ipoType: 'overview'},\r\n // meta: {title: 'IPO数据概览', hidden: false}\r\n // },\r\n // {\r\n // path: 'ipoStatistics_detail',\r\n // name: 'ipoStatistics_detail',\r\n // component: _import('enterprise/widgets/IpoStatisticsDetail'),\r\n // props: {ipoType: 'detail'},\r\n // meta: {title: 'IPO在审详情', hidden: false}\r\n // },\r\n {\r\n path: 'ipoStatistics_case',\r\n name: 'ipoStatistics_case',\r\n component: _import('enterprise/widgets/IpoStatisticsCase'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例简析', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics_case_detail',\r\n name: 'ipoStatistics_case_detail',\r\n component: _import('enterprise/widgets/IpoStatisticsCaseDetail'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例详情', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics_Letters_init',\r\n name: 'ipoStatistics_Letters_init',\r\n component: _import('enterprise/widgets/LettersInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: 'IPO函件', hidden: false}\r\n },\r\n // {\r\n // path: 'nationalSecuritiesInit',\r\n // name: 'national_securities_init',\r\n // component: _import('enterprise/widgets/nationalSecuritiesInit'),\r\n // props: {ipoType: 'Init'},\r\n // meta: {title: '数量及市值规模统计', hidden: false}\r\n // },\r\n // {\r\n // path: 'majorFinancialIndInit',\r\n // name: 'major_financialInd_Init',\r\n // component: _import('enterprise/widgets/majorFinancialIndInit'),\r\n // props: {ipoType: 'Init'},\r\n // meta: {title: '财务情况', hidden: false}\r\n // },\r\n // {\r\n // path: 'companyDisclosureInit',\r\n // name: 'company_disclosure_init',\r\n // component: _import('enterprise/widgets/companyDisclosureInit'),\r\n // props: {ipoType: 'Init'},\r\n // meta: {title: '披露情况', hidden: false}\r\n // },\r\n\r\n ]\r\n },\r\n // workflow\r\n {\r\n path: '/workflow',\r\n name: 'workflow',\r\n component: _ConsoleLayout,\r\n meta: {title: '工作流', hidden: true},\r\n children: [\r\n {\r\n path: 'enterprise/process',\r\n name: 'workflow_enterprise_process',\r\n component: _import('workflow/enterprise-process'),\r\n meta: {title: '企业信息审核', hidden: false}\r\n },\r\n {\r\n path: 'problem/process',\r\n name: 'workflow_solution_process',\r\n component: _import('workflow/problem-process'),\r\n meta: {title: '绿色通道问题', hidden: false}\r\n },\r\n {\r\n path: 'investmentFinancing/process',\r\n name: 'workflow_investment_financing_process',\r\n component: _import('workflow/investmentFinancing-process'),\r\n meta: {title: '企业投融资信息心审核', hidden: false}\r\n },\r\n {\r\n path: 'research/process',\r\n name: 'workflow_research_process',\r\n component: _import('workflow/research-process'),\r\n meta: {title: '企业调研函', hidden: false}\r\n },\r\n {\r\n path: 'research/record/process',\r\n name: 'workflow_researchRecord_process',\r\n component: _import('workflow/researchRecord-process'),\r\n meta: {title: '企业调研记录', hidden: false}\r\n },\r\n {\r\n path: 'training/process',\r\n name: 'workflow_training_process',\r\n component: _import('workflow/training-process'),\r\n meta: {title: '培训报名审核', hidden: false}\r\n },\r\n {\r\n path: 'notification/process',\r\n name: 'workflow_notification_process',\r\n component: _import('workflow/notification-process'),\r\n meta: {title: '发文通知审核', hidden: false}\r\n }\r\n ]\r\n },\r\n // {path: '*', redirect: '/error/404', hidden: false}\r\n];\r\n//政府端路由\r\nexport const _AsyncRouterMap4Govt = [\r\n\r\n // Index\r\n {\r\n path: '',\r\n name: 'index',\r\n component: _GovtLayout,\r\n meta: {title: '首页', hidden: true},\r\n children: [\r\n\r\n {\r\n path: '/',\r\n name: 'govt_index',\r\n component: _import('govt/index/index'),\r\n meta: {title: '政府端首页', hidden: false, keepAlive: true}\r\n }\r\n ]\r\n },\r\n // TODO add view router configuration for govt\r\n // 企业信息\r\n {\r\n path: '/company',\r\n name: 'company',\r\n component: _GovtLayout,\r\n meta: {title: '信息管理', hidden: true},\r\n children: [\r\n {\r\n // 政府服务\r\n path: 'government',\r\n name: 'government_service',\r\n component: _import('govt/company/governmentList'),\r\n meta: {title: '政府服务', hidden: true, keepAlive: true}\r\n },\r\n {\r\n path: 'menuList',\r\n name: 'government_menuList',\r\n component: _import('govt/company/menuList'),\r\n meta: {title: '政府服务二级菜单', hidden: true, keepAlive: true}\r\n },\r\n {\r\n path: 'list',\r\n name: 'company_list',\r\n component: _import('govt/company/companyList'),\r\n meta: {title: '企业信息列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'profile',\r\n name: 'company_profile',\r\n component: _import('enterprise/company/companyProfile'),\r\n meta: {title: '企业信息', hidden: true}\r\n },\r\n {\r\n path: 'audit',\r\n name: 'company_audit',\r\n component: _import('govt/company/companyAudit'),\r\n meta: {title: '审核', hidden: true}\r\n },\r\n {\r\n path: 'history',\r\n name: 'company_history',\r\n component: _import('enterprise/company/companyHistory'),\r\n meta: {title: '历史企业信息', hidden: true, keepAlive: true}\r\n }\r\n ]\r\n },\r\n {\r\n path: '/org',\r\n name: 'org',\r\n component: _GovtLayout,\r\n meta: {title: '机构信息管理', hidden: true},\r\n children: [\r\n {\r\n path: 'intermediary/list',\r\n name: 'org_list',\r\n component: _import('govt/org/intermediaryList'),\r\n meta: {title: '中介机构库', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'investment/list',\r\n name: 'org_list',\r\n component: _import('govt/org/investmentList'),\r\n meta: {title: '投资机构库', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'other/list',\r\n name: 'org_list',\r\n component: _import('govt/org/otherList'),\r\n meta: {title: '其他机构库', hidden: false, keepAlive: true}\r\n },\r\n ]\r\n },\r\n // 投融资信息\r\n {\r\n path: '/investmentFinancing',\r\n name: 'investmentFinancing',\r\n component: _GovtLayout,\r\n meta: {title: '投融资信息', hidden: true},\r\n children: [\r\n\r\n {\r\n path: 'informationList',\r\n name: 'information_list',\r\n component: _import('govt/investmentFinancing/informationList'),\r\n meta: {title: '投融资信息列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'informationEdit',\r\n name: 'information_edit',\r\n component: _import('govt/investmentFinancing/informationEdit'),\r\n meta: {title: '投融资信息编辑', hidden: true}\r\n },\r\n {\r\n path: 'informationNewAdd',\r\n name: 'informationNewAdd',\r\n component: _import('govt/investmentFinancing/informationNewAdd'),\r\n meta: {title: '投融资信息新增', hidden: true}\r\n },\r\n {\r\n path: 'roadShowPlatform',\r\n name: 'en_roadShowPlatform',\r\n component: _import('enterprise/investmentFinancing/roadShowPlatform'),\r\n meta: {title: '燧石星火路演平台', hidden: true}\r\n },\r\n {\r\n path: 'roadShowPlatform2',\r\n name: 'en_roadShowPlatform2',\r\n component: _import('enterprise/investmentFinancing/platformLogin'),\r\n meta: {title: '燧石星火路演平台', hidden: true}\r\n },\r\n ]\r\n },\r\n // 机构信息 -> 中介机构库\r\n {\r\n path: '/intermediary',\r\n name: 'intermediary',\r\n component: _GovtLayout,\r\n meta: {title: '信息管理', hidden: true},\r\n children: [\r\n {\r\n path: 'organization',\r\n name: 'organization_list',\r\n component: _import('govt/intermediary/organizationList'),\r\n meta: {title: '机构信息列表菜单', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'list',\r\n name: 'intermediary_list',\r\n component: _import('govt/org/intermediaryList'),\r\n meta: {title: '机构信息列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'profile',\r\n name: 'intermediary_profile',\r\n component: _import('intermediaries/intermediary/intermediaryProfile'),\r\n meta: {title: '机构信息', hidden: true}\r\n },\r\n {\r\n path: 'history',\r\n name: 'intermediary_history',\r\n component: _import('intermediaries/intermediary/intermediaryHistory'),\r\n meta: {title: '历史机构信息', hidden: true}\r\n },\r\n ]\r\n },\r\n // 机构信息 -> 投资机构库\r\n {\r\n path: '/investment',\r\n name: 'investment',\r\n component: _GovtLayout,\r\n meta: {title: '信息管理', hidden: true},\r\n children: [\r\n {\r\n path: 'organization',\r\n name: 'organization_list',\r\n component: _import('govt/intermediary/organizationList'),\r\n meta: {title: '机构信息列表菜单', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'list',\r\n name: 'investment_list',\r\n component: _import('govt/org/investmentList'),\r\n meta: {title: '机构信息列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'profile',\r\n name: 'investment_profile',\r\n component: _import('investment/investment/investmentProfile'),\r\n meta: {title: '机构信息', hidden: true}\r\n },\r\n {\r\n path: 'history',\r\n name: 'investment_history',\r\n component: _import('investment/investment/investmentHistory'),\r\n meta: {title: '历史机构信息', hidden: true}\r\n },\r\n ]\r\n },\r\n // 机构信息 -> 其他机构库\r\n {\r\n path: '/other',\r\n name: 'other',\r\n component: _GovtLayout,\r\n meta: {title: '信息管理', hidden: true},\r\n children: [\r\n {\r\n path: 'organization',\r\n name: 'organization_list',\r\n component: _import('govt/intermediary/organizationList'),\r\n meta: {title: '机构信息列表菜单', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'list',\r\n name: 'other_list',\r\n component: _import('govt/org/otherList'),\r\n meta: {title: '机构信息列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'profile',\r\n name: 'other_profile',\r\n component: _import('other/other/otherProfile'),\r\n meta: {title: '机构信息', hidden: true}\r\n },\r\n {\r\n path: 'history',\r\n name: 'other_history',\r\n component: _import('other/other/otherHistory'),\r\n meta: {title: '历史机构信息', hidden: true}\r\n },\r\n ]\r\n },\r\n // 企业台账\r\n {\r\n path: '/report',\r\n name: 'report',\r\n component: _GovtLayout,\r\n meta: {title: '企业台账管理', hidden: true},\r\n children: [\r\n {\r\n path: 'history',\r\n name: 'report_history',\r\n component: _import('enterprise/report/history'),\r\n meta: {title: '企业台账_历史版本', hidden: false}\r\n },\r\n {\r\n path: 'csrc/list',\r\n name: 'csrc_list',\r\n component: _import('govt/report/csrc/list'),\r\n meta: {title: '在会企业周报', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'csrc/edit',\r\n name: 'csrc_edit',\r\n component: _import('enterprise/report/csrc/edit'),\r\n meta: {title: '在会企业周报编辑', hidden: false}\r\n },\r\n\r\n {\r\n path: 'major/list',\r\n name: 'major_list',\r\n component: _import('govt/report/major/list'),\r\n meta: {title: '科创板(重点)周报', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'major/edit',\r\n name: 'major_edit',\r\n component: _import('enterprise/report/major/edit'),\r\n meta: {title: '科创板(重点)周报编辑', hidden: false}\r\n },\r\n\r\n {\r\n path: 'tutorial/list',\r\n name: 'tutorial_list',\r\n component: _import('govt/report/tutorial/list'),\r\n meta: {title: '在辅企业周报', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'tutorial/edit',\r\n name: 'tutorial_edit',\r\n component: _import('enterprise/report/tutorial/edit'),\r\n meta: {title: '在辅企业周报编辑', hidden: false}\r\n },\r\n {\r\n path: 'overseas/list',\r\n name: 'overseas_list',\r\n component: _import('govt/report/overseas/list'),\r\n meta: {title: '境外上市企业月报', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'overseas/edit',\r\n name: 'overseas_edit',\r\n component: _import('enterprise/report/overseas/edit'),\r\n meta: {title: '境外上市企业月报编辑', hidden: false}\r\n },\r\n\r\n\r\n {\r\n path: 'golden/list',\r\n name: 'golden_list',\r\n component: _import('govt/report/golden/list'),\r\n meta: {title: '金种子企业月报', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'golden/edit',\r\n name: 'golden_edit',\r\n component: _import('enterprise/report/golden/edit'),\r\n meta: {title: '金种子企业月报编辑', hidden: false}\r\n },\r\n\r\n {\r\n path: 'sci/list',\r\n name: 'sci_list',\r\n component: _import('govt/report/sci/list'),\r\n meta: {title: '科创板种子月报', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'sci/edit',\r\n name: 'sci_edit',\r\n component: _import('enterprise/report/sci/edit'),\r\n meta: {title: '科创板种子月报', hidden: false}\r\n },\r\n\r\n {\r\n path: 'silver/list',\r\n name: 'silver_list',\r\n component: _import('govt/report/silver/list'),\r\n meta: {title: '银种子企业季报', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'silver/edit',\r\n name: 'silver_edit',\r\n component: _import('enterprise/report/silver/edit'),\r\n meta: {title: '银种子企业季报编辑', hidden: false}\r\n },\r\n\r\n {\r\n path: 'brief/list',\r\n name: 'brief_list',\r\n component: _import('govt/report/brief/list'),\r\n meta: {title: '企业台账简报', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'brief/edit',\r\n name: 'brief_edit',\r\n component: _import('govt/report/brief/edit'),\r\n meta: {title: '企业台账简报', hidden: false}\r\n },\r\n {\r\n path: 'summary/list',\r\n name: 'summary_list',\r\n component: _import('govt/report/summary/list'),\r\n meta: {title: '市、州推进企业上市工作情况月度总结', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'summary/edit',\r\n name: 'summary_edit',\r\n component: _import('govt/report/summary/edit'),\r\n meta: {title: '市、州推进企业上市工作情况月度总结', hidden: false}\r\n },\r\n {\r\n path: 'issue',\r\n name: 'issue_list',\r\n component: _import('govt/report/issue/list'),\r\n meta: {title: '重大事项', hidden: true, keepAlive: true},\r\n },\r\n {\r\n path: 'issue/edit',\r\n name: 'issue_edit',\r\n component: _import('govt/report/issue/edit'),\r\n meta: {title: '更新', hidden: true}\r\n },\r\n {\r\n path: 'issue/history',\r\n name: 'issue_history',\r\n component: _import('enterprise/report/issue/historyList'),\r\n meta: {title: '历史记录', hidden: true}\r\n }\r\n ]\r\n },\r\n // 绿色通道\r\n {\r\n path: '/problem',\r\n name: 'problem',\r\n component: _GovtLayout,\r\n meta: {title: '绿色通道', hidden: true},\r\n children: [\r\n {\r\n path: 'mgr/list',\r\n name: 'problem_mgrList',\r\n component: _import('govt/problem/list'),\r\n meta: {title: '问题列表', hidden: true, keepAlive: true}\r\n },\r\n {\r\n path: 'mgr/edit',\r\n name: 'problem_mgrEdit',\r\n component: _import('govt/problem/edit'),\r\n meta: {title: '问题详细', hidden: true}\r\n },\r\n {\r\n path: 'todoList',\r\n name: 'problem_todoList',\r\n component: _import('govt/problem/tabs'),\r\n meta: {title: '问题列表', hidden: true, keepAlive: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'problem_detail',\r\n component: _import('govt/problem/components/detail'),\r\n meta: {title: '问题查看', hidden: true}\r\n },\r\n {\r\n path: 'handle',\r\n name: 'problem_handle',\r\n component: _import('govt/problem/components/handle'),\r\n meta: {title: '问题处理', hidden: true}\r\n },\r\n {\r\n path: 'transfer',\r\n name: 'problem_transfer',\r\n component: _import('govt/problem/components/transfer'),\r\n meta: {title: '问题流转', hidden: true}\r\n },\r\n {\r\n path: 'assign',\r\n name: 'problem_assign',\r\n component: _import('govt/problem/components/assign'),\r\n meta: {title: '问题指派', hidden: true}\r\n }\r\n ]\r\n },\r\n // 企业调研\r\n {\r\n path: '/research',\r\n name: 'research',\r\n component: _GovtLayout,\r\n meta: {title: '企业调研管理', hidden: true},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'research_list',\r\n component: _import('govt/research/list'),\r\n meta: {title: '企业调研函', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'research_detail',\r\n component: _import('govt/research/detail'),\r\n meta: {title: '调研函详情', hidden: false}\r\n },\r\n {\r\n path: 'edit',\r\n name: 'research_edit',\r\n component: _import('govt/research/edit'),\r\n meta: {title: '编辑企业调研函', hidden: false}\r\n },\r\n {\r\n path: 'record/list',\r\n name: 'record_list',\r\n component: _import('govt/research/record/list'),\r\n meta: {title: '企业调研记录', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'record/detail',\r\n name: 'record_detail',\r\n component: _import('govt/research/record/detail'),\r\n meta: {title: '企业调研记录', hidden: false}\r\n },\r\n {\r\n path: 'record/edit',\r\n name: 'record_edit',\r\n component: _import('govt/research/record/edit'),\r\n meta: {title: '企业调研记录', hidden: false}\r\n }\r\n ]\r\n },\r\n // 企业培训\r\n {\r\n path: '/training',\r\n name: 'training',\r\n component: _GovtLayout,\r\n meta: {title: '企业培训管理', hidden: true},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'training_list',\r\n component: _import('govt/training/list'),\r\n meta: {title: '全省培训活动列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'training_detail',\r\n component: _import('enterprise/training/detail'),\r\n meta: {title: '培训信息', hidden: true}\r\n },\r\n {\r\n path: 'training',\r\n name: 'training_training',\r\n component: _import('govt/training/training'),\r\n meta: {title: '新建/编辑培训活动', hidden: true}\r\n },\r\n {\r\n path: 'enroll/list',\r\n name: 'enroll_list',\r\n component: _import('govt/training/enroll/list'),\r\n meta: {title: '培训报名情况列表', hidden: true, keepAlive: true}\r\n },\r\n {\r\n path: 'enroll/detail',\r\n name: 'enroll_detail',\r\n component: _import('govt/training/enroll/detail'),\r\n meta: {title: '培训报名详情', hidden: true}\r\n },\r\n\r\n ]\r\n },\r\n // 企业发文通知\r\n {\r\n path: '/notification',\r\n name: 'notification',\r\n component: _GovtLayout,\r\n meta: {title: '通知发文管理', hidden: true},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'notification_list',\r\n component: _import('govt/notification/list'),\r\n meta: {title: '通知发文列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'notification_detail',\r\n component: _import('govt/notification/detail'),\r\n meta: {title: '通知发文详情', hidden: true}\r\n },\r\n {\r\n path: 'reply',\r\n name: 'notification_reply',\r\n component: _import('govt/notification/reply'),\r\n meta: {title: '回复通知', hidden: true}\r\n },\r\n {\r\n path: 'send',\r\n name: 'notification_send',\r\n component: _import('govt/notification/send'),\r\n meta: {title: '发送通知', hidden: true}\r\n }\r\n ]\r\n },\r\n\r\n // 政府端微服务\r\n {\r\n path: '/widget',\r\n name: 'widget',\r\n component: _GovtLayout,\r\n meta: {title: '微服务页面', hidden: true},\r\n children: [\r\n {\r\n path: 'reorganizationList',\r\n name: 'reorganizationList',\r\n component: _import('govt/widgets/reorganizationList'),\r\n meta: {title: '数据服务菜单', hidden: false}\r\n },\r\n\r\n {\r\n path: 'lawLibrary',\r\n name: 'lawLibrary',\r\n component: _import('govt/widgets/LawsLibrary'),\r\n meta: {title: '价值法库', hidden: false}\r\n },\r\n {\r\n path: 'sentiment',\r\n name: 'sentiment',\r\n component: _import('govt/widgets/sentiment'),\r\n meta: {title: '舆情', hidden: false}\r\n },\r\n {\r\n path: 'wisdomPolicyRecordList',\r\n name: 'wisdomPolicyRecordList',\r\n component: _import('govt/widgets/wisdomPolicyRecordList'),\r\n meta: {title: '上市智测', hidden: false}\r\n },\r\n {\r\n path: 'IpoItemIndex',\r\n name: 'IpoItemIndex',\r\n component: _import('govt/widgets/IpoItemIndex'),\r\n meta: {title: 'IPO知识图谱', hidden: false}\r\n },\r\n {\r\n path: 'hotIssues',\r\n name: 'hotIssues',\r\n component: _import('hotIssues/hotIssues'),\r\n meta: {title: '热点透析', hidden: false},\r\n },\r\n {\r\n path: 'reorganization/mergers',\r\n name: 'reorganization_mergers',\r\n component: _import('govt/widgets/Reorganization'),\r\n props: {reorganizationType: 'mergers'},\r\n meta: {title: '资产重组', hidden: false}\r\n },\r\n {\r\n path: 'reorganization/tradeTarget',\r\n name: 'reorganization_tradeTarget',\r\n component: _import('govt/widgets/ReorganizationTarget'),\r\n props: {reorganizationType: 'tradeTarget'},\r\n meta: {title: '重组标的', hidden: false}\r\n },\r\n {\r\n path: 'reorganization/case',\r\n name: 'reorganization_case',\r\n component: _import('govt/widgets/ReorganizationCase'),\r\n props: {reorganizationType: 'case'},\r\n meta: {title: '重组案例', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/overview',\r\n name: 'ipoStatistics_overview',\r\n component: _import('govt/widgets/IpoStatistics'),\r\n props: {ipoType: 'overview'},\r\n meta: {title: 'IPO数据概览', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/detail',\r\n name: 'ipoStatistics_detail',\r\n component: _import('govt/widgets/IpoStatisticsDetail'),\r\n props: {ipoType: 'detail'},\r\n meta: {title: 'IPO在审详情', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/newCase',\r\n name: 'ipoStatistics_new_case',\r\n component: _import('govt/widgets/IpoCaseNew'),\r\n props: {ipoType: 'overview'},\r\n meta: {title: 'IPO案例库', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/case',\r\n name: 'ipoStatistics_case',\r\n component: _import('govt/widgets/IpoStatisticsCase'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例简析', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/case-detail',\r\n name: 'ipoStatistics_case_detail',\r\n component: _import('govt/widgets/IpoStatisticsCaseDetail'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例详情', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/LettersInit',\r\n name: 'ipoStatistics_Letters_init',\r\n component: _import('govt/widgets/LettersInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: 'IPO函件', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/announcement',\r\n name: 'ipoStatistics_Announcement',\r\n component: _import('govt/widgets/announcementIPO'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: 'IPO公告', hidden: false}\r\n },\r\n {\r\n path: 'nationalSecuritiesInit',\r\n name: 'national_securities_init',\r\n component: _import('govt/widgets/nationalSecuritiesInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '数量及市值规模统计', hidden: false}\r\n },\r\n {\r\n path: 'majorFinancialIndInit',\r\n name: 'major_financialInd_Init',\r\n component: _import('govt/widgets/majorFinancialIndInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '财务情况', hidden: false}\r\n },\r\n {\r\n path: 'companyDisclosureInit',\r\n name: 'company_disclosure_init',\r\n component: _import('govt/widgets/companyDisclosureInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '披露情况 ', hidden: false}\r\n },\r\n {\r\n path: 'agentQuery',\r\n name: 'agent_query',\r\n component: _import('govt/widgets/agentQuery'),\r\n meta: {title: '资本运作机构', hidden: false}\r\n },\r\n ]\r\n },\r\n // workflow\r\n {\r\n path: '/workflow',\r\n name: 'workflow',\r\n component: _GovtLayout,\r\n\r\n meta: {title: '工作流', hidden: true},\r\n children: [\r\n {\r\n path: 'enterprise/process',\r\n name: 'workflow_enterprise_process',\r\n component: _import('workflow/enterprise-process'),\r\n meta: {title: '企业信息审核', hidden: false}\r\n },\r\n {\r\n path: 'problem/process',\r\n name: 'workflow_solution_process',\r\n component: _import('workflow/problem-process'),\r\n meta: {title: '绿色通道问题', hidden: false}\r\n },\r\n {\r\n path: 'research/process',\r\n name: 'workflow_research_process',\r\n component: _import('workflow/research-process'),\r\n meta: {title: '企业调研函', hidden: false}\r\n },\r\n {\r\n path: 'research/record/process',\r\n name: 'workflow_researchRecord_process',\r\n component: _import('workflow/researchRecord-process'),\r\n meta: {title: '企业调研记录', hidden: false}\r\n },\r\n {\r\n path: 'training/process',\r\n name: 'workflow_training_process',\r\n component: _import('workflow/training-process'),\r\n meta: {title: '培训报名审核', hidden: false}\r\n },\r\n {\r\n path: 'notification/process',\r\n name: 'workflow_notification_process',\r\n component: _import('workflow/notification-process'),\r\n meta: {title: '发文通知审核', hidden: false}\r\n },\r\n {\r\n path: 'intermediary/process',\r\n name: 'workflow_intermediary_process',\r\n component: _import('workflow/intermediary-process'),\r\n meta: {title: '机构信息审核', hidden: false}\r\n },\r\n {\r\n path: 'investmentFinancing/process',\r\n name: 'workflow_investment_financing_process',\r\n component: _import('workflow/investmentFinancing-process'),\r\n meta: {title: '企业投融资信息心审核', hidden: false}\r\n },\r\n ]\r\n },\r\n // {path: '*', redirect: '/error/404', hidden: false}\r\n];\r\n//领导小组成员单位路由\r\nexport const _AsyncRouterMap4LeadinGgroup = [\r\n\r\n // Index\r\n {\r\n path: '',\r\n name: 'index',\r\n component: _LeadingGroup,\r\n meta: {title: '首页', hidden: true},\r\n children: [\r\n {\r\n path: '/',\r\n name: 'enterprise_home',\r\n component: _import('management/workflow/home'),\r\n meta: {title: '领导小组成员单位首页', hidden: false, keepAlive: true}\r\n }\r\n ]\r\n },\r\n {\r\n path: '/company',\r\n name: 'company',\r\n component: _LeadingGroup,\r\n meta: {title: '政务服务', hidden: true},\r\n children: [\r\n {\r\n // 政府服务\r\n path: 'government',\r\n name: 'government_service',\r\n component: _import('govt/company/governmentList'),\r\n meta: {title: '政府服务', hidden: true, keepAlive: true}\r\n },\r\n ]\r\n },\r\n {\r\n path: '/widget',\r\n name: 'widget',\r\n component: _LeadingGroup,\r\n meta: {title: '微服务页面', hidden: true},\r\n children: [\r\n {\r\n path: 'reorganizationList',\r\n name: 'reorganizationList',\r\n component: _import('govt/widgets/reorganizationList'),\r\n meta: {title: '数据服务菜单', hidden: false}\r\n }]\r\n\r\n },\r\n\r\n {\r\n path: '/intermediary',\r\n name: 'intermediary',\r\n component: _LeadingGroup,\r\n meta: {title: '企业信息', hidden: true},\r\n children: [\r\n {\r\n path: 'organization',\r\n name: 'organization_list',\r\n component: _import('govt/intermediary/organizationList'),\r\n meta: {title: '机构信息列表菜单', hidden: false, keepAlive: true}\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: '/reorganization',\r\n name: 'reorganization',\r\n component: _LeadingGroup,\r\n meta: {title: '资产重组', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'reorganization_mergers',\r\n name: 'reorganization_mergers',\r\n component: _import('enterprise/widgets/Reorganization'),\r\n props: {reorganizationType: 'mergers'},\r\n meta: {title: '资产重组案例库', hidden: false, active: true}\r\n },\r\n {\r\n path: 'reorganization_tradeTarget',\r\n name: 'reorganization_tradeTarget',\r\n component: _import('enterprise/widgets/ReorganizationTarget'),\r\n props: {reorganizationType: 'tradeTarget'},\r\n meta: {title: '重组标的', hidden: false}\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: '/ipoStatistics',\r\n name: 'ipoStatistics',\r\n component: _LeadingGroup,\r\n meta: {title: 'ipo数据', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'ipoStatistics_overview',\r\n name: 'ipoStatistics_overview',\r\n component: _import('enterprise/widgets/IpoStatistics'),\r\n props: {ipoType: 'overview'},\r\n meta: {title: 'IPO数据概览', hidden: false, active: true}\r\n },\r\n {\r\n path: 'ipoStatistics_detail',\r\n name: 'ipoStatistics_detail',\r\n component: _import('enterprise/widgets/IpoStatisticsDetail'),\r\n props: {ipoType: 'detail'},\r\n meta: {title: 'IPO在审详情', hidden: false}\r\n },\r\n ]\r\n },\r\n {\r\n path: '/ipoStatisticsLetter',\r\n name: 'ipoStatisticsLetter',\r\n component: _LeadingGroup,\r\n meta: {title: 'IPO函件', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'ipoStatistics_Letters_init',\r\n name: 'ipoStatistics_Letters_init',\r\n component: _import('enterprise/widgets/LettersInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: 'IPO函件', hidden: false, active: true}\r\n },\r\n\r\n ]\r\n },\r\n\r\n {\r\n path: '/lawLibrary',\r\n name: 'lawLibrary',\r\n component: _LeadingGroup,\r\n meta: {title: '法律法规', hidden: true, group: 3},\r\n children: [\r\n\r\n {\r\n path: 'lawLibrary_ent',\r\n name: 'lawLibrary_ent',\r\n component: _import('enterprise/widgets/LawsLibrary'),\r\n meta: {title: '价值法库', hidden: false, active: true}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/ipoStatisticsLetter',\r\n name: 'ipoStatisticsLetter',\r\n component: _LeadingGroup,\r\n meta: {title: '上市公司统计', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'nationalSecuritiesInit',\r\n name: 'national_securities_init',\r\n component: _import('enterprise/widgets/nationalSecuritiesInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '数量及市值规模统计', hidden: false, active: true}\r\n },\r\n {\r\n path: 'majorFinancialIndInit',\r\n name: 'major_financialInd_Init',\r\n component: _import('enterprise/widgets/majorFinancialIndInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '财务情况', hidden: false}\r\n },\r\n {\r\n path: 'companyDisclosureInit',\r\n name: 'company_disclosure_init',\r\n component: _import('enterprise/widgets/companyDisclosureInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '披露情况', hidden: false}\r\n },\r\n\r\n ]\r\n },\r\n\r\n\r\n // TODO add view router configuration for LeadingGroup\r\n\r\n // 企业信息\r\n {\r\n path: '/company',\r\n name: 'company',\r\n component: _LeadingGroup,\r\n meta: {title: '企业信息管理', hidden: false, group: 1},\r\n children: [\r\n\r\n {\r\n path: 'list',\r\n name: 'company_list',\r\n component: _import('govt/company/companyList'),\r\n meta: {title: '企业信息列表', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'profile',\r\n name: 'company_profile',\r\n component: _import('enterprise/company/companyProfile'),\r\n meta: {title: '企业信息', hidden: true}\r\n },\r\n {\r\n path: 'audit',\r\n name: 'company_audit',\r\n component: _import('govt/company/companyAudit'),\r\n meta: {title: '审核', hidden: true}\r\n },\r\n {\r\n path: 'history',\r\n name: 'company_history',\r\n component: _import('enterprise/company/companyHistory'),\r\n meta: {title: '历史企业信息', hidden: true, keepAlive: true}\r\n }\r\n ]\r\n },\r\n // 绿色通道\r\n {\r\n path: '/problem',\r\n name: 'problem',\r\n component: _LeadingGroup,\r\n meta: {title: '绿色通道', hidden: true, group: 1},\r\n children: [\r\n // {\r\n // path: 'mgr/list',\r\n // name: 'problem_mgrList',\r\n // component: _import('govt/index/home'),\r\n // meta: {title: '问题列表', hidden: true}\r\n // },\r\n {\r\n path: 'mgr/list',\r\n name: 'problem_mgrList',\r\n component: _import('govt/problem/list'),\r\n meta: {title: '问题列表', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'mgr/edit',\r\n name: 'problem_mgrEdit',\r\n component: _import('govt/problem/edit'),\r\n meta: {title: '问题详细', hidden: true}\r\n },\r\n {\r\n path: 'todoList',\r\n name: 'problem_todoList',\r\n component: _import('govt/problem/tabs'),\r\n meta: {title: '问题列表', hidden: true, keepAlive: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'problem_detail',\r\n component: _import('govt/problem/components/detail'),\r\n meta: {title: '问题查看', hidden: true}\r\n },\r\n {\r\n path: 'handle',\r\n name: 'problem_handle',\r\n component: _import('govt/problem/components/handle'),\r\n meta: {title: '问题处理', hidden: true}\r\n },\r\n {\r\n path: 'transfer',\r\n name: 'problem_transfer',\r\n component: _import('govt/problem/components/transfer'),\r\n meta: {title: '问题流转', hidden: true}\r\n },\r\n {\r\n path: 'assign',\r\n name: 'problem_assign',\r\n component: _import('govt/problem/components/assign'),\r\n meta: {title: '问题指派', hidden: true}\r\n }\r\n ]\r\n },\r\n // 企业培训\r\n {\r\n path: '/training',\r\n name: 'training',\r\n component: _LeadingGroup,\r\n meta: {title: '企业培训管理', hidden: true, group: 1},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'training_list',\r\n component: _import('enterprise/training/list'),\r\n meta: {title: '全省培训活动列表', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'training_detail',\r\n component: _import('enterprise/training/detail'),\r\n meta: {title: '培训信息', hidden: true}\r\n },\r\n {\r\n path: 'training',\r\n name: 'training_training',\r\n component: _import('govt/training/training'),\r\n meta: {title: '新建/编辑培训活动', hidden: true}\r\n },\r\n {\r\n path: 'enroll/list',\r\n name: 'enroll_list',\r\n component: _import('govt/training/enroll/list'),\r\n meta: {title: '培训报名情况列表', hidden: true, keepAlive: true}\r\n },\r\n {\r\n path: 'enroll/detail',\r\n name: 'enroll_detail',\r\n component: _import('govt/training/enroll/detail'),\r\n meta: {title: '培训报名详情', hidden: true}\r\n },\r\n {\r\n path: 'enroll/list',\r\n name: 'training_enroll',\r\n component: _import('enterprise/training/enroll/list'),\r\n meta: {title: '报名信息', hidden: true}\r\n },\r\n ]\r\n },\r\n // 通知发文\r\n {\r\n path: '/notification',\r\n name: 'notification',\r\n component: _LeadingGroup,\r\n meta: {title: '通知发文', hidden: false, group: 1},\r\n children: [\r\n {\r\n path: 'list',\r\n name: 'notification_list',\r\n component: _import('govt/notification/list'),\r\n meta: {title: '通知发文列表', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'detail',\r\n name: 'notification_detail',\r\n component: _import('govt/notification/detail'),\r\n meta: {title: '通知发文详情', hidden: true}\r\n },\r\n {\r\n path: 'reply',\r\n name: 'notification_reply',\r\n component: _import('govt/notification/reply'),\r\n meta: {title: '回复通知', hidden: true}\r\n },\r\n {\r\n path: 'send',\r\n name: 'notification_send',\r\n component: _import('govt/notification/send'),\r\n meta: {title: '发送通知', hidden: true}\r\n }\r\n ]\r\n },\r\n\r\n\r\n {\r\n path: '/ipo',\r\n name: 'ipo',\r\n component: _LeadingGroup,\r\n meta: {title: 'ipo知识图谱', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'IpoItemIndex',\r\n name: 'IpoItemIndex',\r\n component: _import('enterprise/widgets/IpoItemIndex'),\r\n meta: {title: 'IPO知识图谱', hidden: false, active: true}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/hotIssues',\r\n name: 'hotIssues',\r\n component: _LeadingGroup,\r\n meta: {title: '热点透析', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'hotIssues',\r\n name: 'hotIssues',\r\n component: _import('hotIssues/hotIssues'),\r\n meta: {title: '热点透析', hidden: false, active: true},\r\n },\r\n ]\r\n },\r\n {\r\n path: '/ipoStatistics',\r\n name: 'ipoStatistics',\r\n component: _LeadingGroup,\r\n meta: {title: 'IPO案例详情', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'ipoStatistics/case-detail',\r\n name: 'ipoStatistics_case_detail',\r\n component: _import('govt/widgets/IpoStatisticsCaseDetail'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例详情', hidden: false, active: true}\r\n },\r\n ]\r\n },\r\n\r\n // widget\r\n {\r\n path: '/widget',\r\n name: 'widget',\r\n component: _LeadingGroup,\r\n meta: {title: '微服务页面', hidden: true},\r\n children: [\r\n {\r\n path: 'lawLibrary',\r\n name: 'lawLibrary',\r\n component: _import('govt/widgets/LawsLibrary'),\r\n meta: {title: '价值法库', hidden: false}\r\n },\r\n {\r\n path: 'reorganization/mergers',\r\n name: 'reorganization_mergers',\r\n component: _import('govt/widgets/Reorganization'),\r\n props: {reorganizationType: 'mergers'},\r\n meta: {title: '资产重组', hidden: false}\r\n },\r\n {\r\n path: 'reorganization/tradeTarget',\r\n name: 'reorganization_tradeTarget',\r\n component: _import('govt/widgets/ReorganizationTarget'),\r\n props: {reorganizationType: 'tradeTarget'},\r\n meta: {title: '重组标的', hidden: false}\r\n },\r\n {\r\n path: 'reorganization/case',\r\n name: 'reorganization_case',\r\n component: _import('govt/widgets/ReorganizationCase'),\r\n props: {reorganizationType: 'case'},\r\n meta: {title: '重组案例', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/overview',\r\n name: 'ipoStatistics_overview',\r\n component: _import('govt/widgets/IpoStatistics'),\r\n props: {ipoType: 'overview'},\r\n meta: {title: 'IPO数据概览', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/detail',\r\n name: 'ipoStatistics_detail',\r\n component: _import('govt/widgets/IpoStatisticsDetail'),\r\n props: {ipoType: 'detail'},\r\n meta: {title: 'IPO在审详情', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/case',\r\n name: 'ipoStatistics_case',\r\n component: _import('govt/widgets/IpoStatisticsCase'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例简析', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/case-detail',\r\n name: 'ipoStatistics_case_detail',\r\n component: _import('govt/widgets/IpoStatisticsCaseDetail'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例详情', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/LettersInit',\r\n name: 'ipoStatistics_Letters_init',\r\n component: _import('govt/widgets/LettersInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: 'IPO函件', hidden: false}\r\n },\r\n {\r\n path: 'nationalSecuritiesInit',\r\n name: 'national_securities_init',\r\n component: _import('govt/widgets/nationalSecuritiesInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '数量及市值规模统计', hidden: false}\r\n },\r\n {\r\n path: 'majorFinancialIndInit',\r\n name: 'major_financialInd_Init',\r\n component: _import('govt/widgets/majorFinancialIndInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '财务情况', hidden: false}\r\n },\r\n {\r\n path: 'companyDisclosureInit',\r\n name: 'company_disclosure_init',\r\n component: _import('govt/widgets/companyDisclosureInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '披露情况 ', hidden: false}\r\n },\r\n ]\r\n },\r\n\r\n // workflow\r\n {\r\n path: '/workflow',\r\n name: 'workflow',\r\n component: _LeadingGroup,\r\n meta: {title: '工作流', hidden: true},\r\n children: [\r\n {\r\n path: 'enterprise/process',\r\n name: 'workflow_enterprise_process',\r\n component: _import('workflow/enterprise-process'),\r\n meta: {title: '企业信息审核', hidden: false}\r\n },\r\n {\r\n path: 'problem/process',\r\n name: 'workflow_solution_process',\r\n component: _import('workflow/problem-process'),\r\n meta: {title: '绿色通道问题', hidden: false}\r\n },\r\n {\r\n path: 'research/process',\r\n name: 'workflow_research_process',\r\n component: _import('workflow/research-process'),\r\n meta: {title: '企业调研函', hidden: false}\r\n },\r\n {\r\n path: 'investmentFinancing/process',\r\n name: 'workflow_investment_financing_process',\r\n component: _import('workflow/investmentFinancing-process'),\r\n meta: {title: '企业投融资信息心审核', hidden: false}\r\n },\r\n {\r\n path: 'research/record/process',\r\n name: 'workflow_researchRecord_process',\r\n component: _import('workflow/researchRecord-process'),\r\n meta: {title: '企业调研记录', hidden: false}\r\n },\r\n {\r\n path: 'training/process',\r\n name: 'workflow_training_process',\r\n component: _import('workflow/training-process'),\r\n meta: {title: '培训报名审核', hidden: false}\r\n },\r\n {\r\n path: 'notification/process',\r\n name: 'workflow_notification_process',\r\n component: _import('workflow/notification-process'),\r\n meta: {title: '发文通知审核', hidden: false}\r\n }\r\n ]\r\n },\r\n // {path: '*', redirect: '/error/404', hidden: false}\r\n];\r\n\r\nexport const _AsyncRouterMap4Management = [\r\n {\r\n path: '/management',\r\n name: 'management',\r\n component: _AdminLayout,\r\n meta: {title: '系统管理', hidden: true},\r\n children: [\r\n {\r\n path: 'mangementMenuList/list',\r\n name: 'managementMenuList',\r\n component: _import('management/mangementMenuList'),\r\n meta: {title: '系统管理', hidden: false, keepAlive: true}\r\n },\r\n ]\r\n },\r\n\r\n\r\n {\r\n path: '/management',\r\n name: 'dict',\r\n component: _AdminLayout,\r\n meta: {title: '数据字典管理', hidden: false, group: 4},\r\n children: [\r\n {\r\n path: 'industry/list',\r\n name: 'management_industry',\r\n component: _import('management/dictionary/industry-list'),\r\n meta: {title: '行业分类数据', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'strategic/list',\r\n name: 'management_strategic',\r\n component: _import('management/dictionary/strategic-list'),\r\n meta: {title: '战略新兴产业数据', hidden: false, keepAlive: true, active: false}\r\n },\r\n {\r\n path: 'area/list',\r\n name: 'management_area',\r\n component: _import('management/dictionary/area-list'),\r\n meta: {title: '行政区域数据', hidden: false, keepAlive: true, active: false}\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: '/management',\r\n name: 'org',\r\n component: _AdminLayout,\r\n meta: {title: '组织机构管理', hidden: false, group: 4},\r\n children: [\r\n {\r\n path: 'org/list',\r\n name: 'management_org',\r\n component: _import('management/org/list'),\r\n meta: {title: '政府端组织机构列表', hidden: false, keepAlive: true, active: true}\r\n },\r\n {\r\n path: 'user/enterprise/list',\r\n name: 'management_enterprise_user',\r\n component: _import('management/checkEnterprise/list'),\r\n meta: {title: '信息不匹配企业列表', hidden: false, keepAlive: true}\r\n },\r\n\r\n ]\r\n },\r\n\r\n\r\n {\r\n path: '/management',\r\n name: 'auth',\r\n component: _AdminLayout,\r\n meta: {title: '用户列表', hidden: false, group: 4},\r\n children: [\r\n {\r\n path: 'user/list',\r\n name: 'management_user',\r\n component: _import('management/user/govt/list'),\r\n meta: {title: '政府端用户列表', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'user/enterprise/list',\r\n name: 'management_enterprise_user',\r\n component: _import('management/user/enterprise/list'),\r\n meta: {title: '企业端用户列表', hidden: false, keepAlive: true}\r\n },\r\n\r\n ]\r\n },\r\n\r\n\r\n {\r\n path: '/management',\r\n name: 'management',\r\n component: _AdminLayout,\r\n meta: {title: '系统管理', hidden: true},\r\n children: [\r\n // {\r\n // path: 'industry/list',\r\n // name: 'management_industry',\r\n // component: _import('management/dictionary/industry-list'),\r\n // meta: {title: '行业分类数据', hidden: false, keepAlive: true}\r\n // },\r\n // {\r\n // path: 'strategic/list',\r\n // name: 'management_strategic',\r\n // component: _import('management/dictionary/strategic-list'),\r\n // meta: {title: '战略新兴产业数据', hidden: false, keepAlive: true}\r\n // },\r\n // {\r\n // path: 'area/list',\r\n // name: 'management_area',\r\n // component: _import('management/dictionary/area-list'),\r\n // meta: {title: '行政区域数据', hidden: false, keepAlive: true}\r\n // },\r\n // {\r\n // path: 'org/list',\r\n // name: 'management_org',\r\n // component: _import('management/org/list'),\r\n // meta: {title: '政府端组织机构列表', hidden: false, keepAlive: true}\r\n // },\r\n {\r\n path: 'org/add',\r\n name: 'management_org_add',\r\n component: _import('management/org/add'),\r\n meta: {title: '添加组织机构', hidden: false}\r\n },\r\n {\r\n path: 'org/editor',\r\n name: 'management_org_editor',\r\n component: _import('management/org/editor'),\r\n meta: {title: '行政区划名称修改', hidden: false}\r\n },\r\n // {\r\n // path: 'user/list',\r\n // name: 'management_user',\r\n // component: _import('management/user/govt/list'),\r\n // meta: {title: '政府端用户列表', hidden: false, keepAlive: true}\r\n // },\r\n // {\r\n // path: 'user/enterprise/list',\r\n // name: 'management_enterprise_user',\r\n // component: _import('management/user/enterprise/list'),\r\n // meta: {title: '企业端用户列表', hidden: false, keepAlive: true}\r\n // },\r\n {\r\n path: 'user/enterprise/edit',\r\n name: 'management_enterprise_user_edit',\r\n component: _import('management/user/enterprise/edit'),\r\n meta: {title: '企业端用户列表编辑', hidden: false}\r\n },\r\n {\r\n path: 'user/editor',\r\n name: 'management_user_editor',\r\n component: _import('management/user/govt/editor'),\r\n meta: {title: '用户编辑', hidden: false}\r\n },\r\n ]\r\n },\r\n {\r\n path: '/portal',\r\n name: 'portal',\r\n component: _AdminLayout,\r\n meta: {title: '门户网站维护', hidden: true, group: 4},\r\n children: [\r\n {\r\n path: 'management/problem',\r\n name: 'management_problem',\r\n component: _import('management/problem/list'),\r\n meta: {title: '绿色通道', hidden: false, keepAlive: true, active: true},\r\n },\r\n {\r\n path: 'problem/edit',\r\n name: 'management_problem_edit',\r\n component: _import('management/problem/edit'),\r\n meta: {title: '绿色通道维护', hidden: true}\r\n },\r\n {\r\n path: 'problem/preview',\r\n name: 'management_problem_preview',\r\n component: _import('management/problem/preview'),\r\n meta: {title: '绿色通道预览', hidden: true}\r\n },\r\n\r\n {\r\n path: 'management/knowledge',\r\n name: 'management_knowledge_List',\r\n component: _import('management/knowledge/list'),\r\n meta: {title: '知识图谱', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'management/knowledge/edit',\r\n name: 'management_knowledge_edit',\r\n component: _import('management/knowledge/edit'),\r\n meta: {title: '知识图谱维护', hidden: true}\r\n },\r\n\r\n\r\n {\r\n path: 'management/dynamic',\r\n name: 'management_dynamic',\r\n component: _import('management/dynamic/list'),\r\n meta: {title: '工作动态', hidden: false, keepAlive: true},\r\n },\r\n\r\n {\r\n path: 'dynamic/edit',\r\n name: 'management_dynamic_edit',\r\n component: _import('management/dynamic/edit'),\r\n meta: {title: '工作动态维护', hidden: true}\r\n },\r\n {\r\n path: 'dynamic/preview',\r\n name: 'management_dynamic_preview',\r\n component: _import('management/dynamic/preview'),\r\n meta: {title: '工作动态预览', hidden: true}\r\n },\r\n {\r\n path: 'management/policy',\r\n name: 'management_policy',\r\n component: _import('management/policy/list'),\r\n meta: {title: '政策咨询', hidden: false, keepAlive: true},\r\n },\r\n {\r\n path: 'policy/edit',\r\n name: 'management_policy_edit',\r\n component: _import('management/policy/edit'),\r\n meta: {title: '政策咨询编辑', hidden: true}\r\n },\r\n {\r\n path: 'management/exchange',\r\n name: 'management_exchange',\r\n component: _import('management/hsstockexchange/list'),\r\n meta: {title: '沪深交易所新闻', hidden: false, keepAlive: true},\r\n },\r\n {\r\n path: 'management/exchange/edit',\r\n name: 'management_exchange_edit',\r\n component: _import('management/hsstockexchange/edit'),\r\n meta: {title: '沪深交易所新闻维护编辑/新增', hidden: true},\r\n },\r\n {\r\n path: 'management/hotProblem',\r\n name: 'management_hotProblem_List',\r\n component: _import('management/hotProblem/list'),\r\n meta: {title: '热点问题列表页', hidden: false, keepAlive: true}\r\n },\r\n {\r\n path: 'management/hotProblem/edit',\r\n name: 'management_hotProblem_edit',\r\n component: _import('management/hotProblem/edit'),\r\n meta: {title: '热点问题编辑页维护', hidden: true,}\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: '/govt',\r\n name: 'govt',\r\n component: _AdminLayout,\r\n meta: {title: '管理员审批', hidden: true, group: 4},\r\n children: [\r\n {\r\n path: 'index/home',\r\n name: 'index_home',\r\n component: _import('management/workflow/home'),\r\n meta: {title: '审批列表', hidden: false, keepAlive: true, active: true},\r\n },\r\n\r\n ]\r\n },\r\n\r\n {\r\n path: '/govt',\r\n name: 'govt',\r\n component: _AdminLayout,\r\n meta: {title: '功能统计', hidden: true, group: 4},\r\n children: [\r\n\r\n {\r\n path: 'index/statisticsTimes',\r\n name: 'index_statisticsTimes',\r\n component: _import('management/statistics/statisticsTimes'),\r\n meta: {title: '功能统计', hidden: false, keepAlive: true, active: true},\r\n },\r\n ]\r\n }\r\n\r\n\r\n];\r\n\r\nexport const _AsyncRouterMap4Intermediary = [\r\n // Index\r\n {\r\n path: '',\r\n name: 'home',\r\n component: _IntermediaryLayout,\r\n meta: {title: '首页', hidden: true},\r\n children: [\r\n {\r\n path: '/',\r\n name: 'intermediary_home',\r\n component: _import('intermediaries/index/home'),\r\n meta: {title: '机构端首页', hidden: false, keepAlive: true}\r\n }\r\n ]\r\n },\r\n {\r\n path: '/company',\r\n name: 'company',\r\n component: _IntermediaryLayout,\r\n meta: {title: '政务服务', hidden: true},\r\n children: [\r\n {\r\n // 政府服务\r\n path: 'government',\r\n name: 'government_service',\r\n component: _import('govt/company/governmentList'),\r\n meta: {title: '政府服务', hidden: true, keepAlive: true}\r\n },\r\n ]\r\n },\r\n {\r\n path: '/intermediary',\r\n name: 'intermediary',\r\n component: _IntermediaryLayout,\r\n meta: {title: '企业信息', hidden: true},\r\n children: [\r\n {\r\n path: 'organization',\r\n name: 'organization_list',\r\n component: _import('govt/intermediary/organizationList'),\r\n meta: {title: '机构信息列表菜单', hidden: false, keepAlive: true}\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: '/ipo',\r\n name: 'ipo',\r\n component: _IntermediaryLayout,\r\n meta: {title: 'ipo知识图谱', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'IpoItemIndex',\r\n name: 'IpoItemIndex',\r\n component: _import('enterprise/widgets/IpoItemIndex'),\r\n meta: {title: 'IPO知识图谱', hidden: false, active: true}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/hotIssues',\r\n name: 'hotIssues',\r\n component: _IntermediaryLayout,\r\n meta: {title: '热点透析', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'hotIssues',\r\n name: 'hotIssues',\r\n component: _import('hotIssues/hotIssues'),\r\n meta: {title: '热点透析', hidden: false, active: true},\r\n },\r\n ]\r\n },\r\n {\r\n path: '/ipoStatistics',\r\n name: 'ipoStatistics',\r\n component: _IntermediaryLayout,\r\n meta: {title: 'IPO案例详情', hidden: true, group: 2},\r\n children: [\r\n {\r\n path: 'ipoStatistics/case-detail',\r\n name: 'ipoStatistics_case_detail',\r\n component: _import('govt/widgets/IpoStatisticsCaseDetail'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例详情', hidden: false}\r\n },\r\n ]\r\n },\r\n\r\n\r\n // 中介机构库\r\n {\r\n path: '/intermediary',\r\n name: 'intermediary',\r\n component: _IntermediaryLayout,\r\n isShow() {\r\n let showFlag = orgMap[store.getters.userSession.org.type];\r\n return showFlag == 'intermediary'\r\n },\r\n meta: {title: '信息管理', hidden: false, group: 1},\r\n children: [\r\n {\r\n path: 'profile',\r\n name: 'intermediary_profile',\r\n component: _import('intermediaries/intermediary/intermediaryProfile'),\r\n meta: {title: '我的信息', hidden: false}\r\n },\r\n {\r\n path: 'history',\r\n name: 'intermediary_history',\r\n component: _import('intermediaries/intermediary/intermediaryHistory'),\r\n meta: {title: '历史版本', hidden: false}\r\n },\r\n // {\r\n // path: 'list',\r\n // name: 'company_list',\r\n // component: _import('intermediaries/company/companyList'),\r\n // meta: {title: '企业信息列表', hidden: false, keepAlive: true}\r\n // },\r\n // {\r\n // path: 'companyProfile',\r\n // name: 'company_profile',\r\n // component: _import('enterprise/company/companyProfile'),\r\n // meta: {title: '企业信息', hidden: false}\r\n // },\r\n ]\r\n },\r\n // 投资机构库\r\n {\r\n path: '/investment',\r\n name: 'investment',\r\n isShow() {\r\n let showFlag = orgMap[store.getters.userSession.org.type];\r\n return showFlag == 'investment'\r\n },\r\n component: _IntermediaryLayout,\r\n meta: {title: '信息管理', hidden: false, group: 1},\r\n children: [\r\n {\r\n path: 'profile',\r\n name: 'investment_profile',\r\n component: _import('investment/investment/investmentProfile'),\r\n meta: {title: '我的信息', hidden: false}\r\n },\r\n {\r\n path: 'history',\r\n name: 'investment_history',\r\n component: _import('investment/investment/investmentHistory'),\r\n meta: {title: '历史版本', hidden: false}\r\n },\r\n // {\r\n // path: 'list',\r\n // name: 'company_list',\r\n // component: _import('intermediaries/company/companyList'),\r\n // meta: {title: '企业信息列表', hidden: false, keepAlive: true}\r\n // },\r\n // {\r\n // path: 'companyProfile',\r\n // name: 'company_profile',\r\n // component: _import('enterprise/company/companyProfile'),\r\n // meta: {title: '企业信息', hidden: false}\r\n // },\r\n ]\r\n },\r\n // 其他机构库\r\n {\r\n path: '/other',\r\n name: 'other',\r\n isShow() {\r\n let showFlag = orgMap[store.getters.userSession.org.type];\r\n return showFlag == 'other'\r\n\r\n },\r\n component: _IntermediaryLayout,\r\n meta: {title: '信息管理', hidden: false, group: 1},\r\n children: [\r\n {\r\n path: 'profile',\r\n name: 'other_profile',\r\n component: _import('other/other/otherProfile'),\r\n meta: {title: '我的信息', hidden: false}\r\n },\r\n {\r\n path: 'history',\r\n name: 'other_history',\r\n component: _import('other/other/otherHistory'),\r\n meta: {title: '历史版本', hidden: false}\r\n },\r\n // {\r\n // path: 'list',\r\n // name: 'company_list',\r\n // component: _import('intermediaries/company/companyList'),\r\n // meta: {title: '企业信息列表', hidden: false, keepAlive: true}\r\n // },\r\n // {\r\n // path: 'companyProfile',\r\n // name: 'company_profile',\r\n // component: _import('enterprise/company/companyProfile'),\r\n // meta: {title: '企业信息', hidden: false}\r\n // },\r\n ]\r\n },\r\n {\r\n path: '/widget',\r\n name: 'widget',\r\n component: _IntermediaryLayout,\r\n meta: {title: '微服务页面', hidden: true},\r\n children: [\r\n {\r\n path: 'reorganizationList',\r\n name: 'reorganizationList',\r\n component: _import('govt/widgets/reorganizationList'),\r\n meta: {title: '数据服务菜单', hidden: false}\r\n }]\r\n\r\n },\r\n\r\n\r\n {\r\n path: '/reorganization',\r\n name: 'reorganization',\r\n component: _IntermediaryLayout,\r\n meta: {title: '资产重组', hidden: false, group: 3},\r\n children: [\r\n {\r\n path: 'reorganization/mergers',\r\n name: 'reorganization_mergers',\r\n component: _import('govt/widgets/Reorganization'),\r\n props: {reorganizationType: 'mergers'},\r\n meta: {title: '资产重组', hidden: false}\r\n }, {\r\n path: 'reorganization/tradeTarget',\r\n name: 'reorganization_tradeTarget',\r\n component: _import('govt/widgets/ReorganizationTarget'),\r\n props: {reorganizationType: 'tradeTarget'},\r\n meta: {title: '重组标的', hidden: false}\r\n },\r\n {\r\n path: 'reorganization/case',\r\n name: 'reorganization_case',\r\n component: _import('govt/widgets/ReorganizationCase'),\r\n props: {reorganizationType: 'case'},\r\n meta: {title: '重组案例', hidden: false}\r\n }\r\n ]\r\n\r\n },\r\n\r\n\r\n {\r\n path: '/ipoStatistics',\r\n name: 'ipoStatistics',\r\n component: _IntermediaryLayout,\r\n meta: {title: 'ipo数据', hidden: false, group: 3},\r\n children: [\r\n {\r\n path: 'ipoStatistics/overview',\r\n name: 'ipoStatistics_overview',\r\n component: _import('govt/widgets/IpoStatistics'),\r\n props: {ipoType: 'overview'},\r\n meta: {title: 'IPO数据概览', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/detail',\r\n name: 'ipoStatistics_detail',\r\n component: _import('govt/widgets/IpoStatisticsDetail'),\r\n props: {ipoType: 'detail'},\r\n meta: {title: 'IPO在审详情', hidden: false}\r\n },\r\n ]\r\n\r\n },\r\n\r\n {\r\n path: '/ipoStatistics',\r\n name: 'ipoStatistics',\r\n component: _IntermediaryLayout,\r\n meta: {title: 'IPO函件', false: true, group: 3},\r\n children: [\r\n {\r\n path: 'ipoStatistics/LettersInit',\r\n name: 'ipoStatistics_Letters_init',\r\n component: _import('govt/widgets/LettersInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: 'IPO函件', hidden: false}\r\n },\r\n ]\r\n\r\n },\r\n {\r\n path: '/ipoStatisticsLetter',\r\n name: 'ipoStatisticsLetter',\r\n component: _ConsoleLayout,\r\n meta: {title: '上市公司统计', hidden: true, group: 3},\r\n children: [\r\n {\r\n path: 'nationalSecuritiesInit',\r\n name: 'national_securities_init',\r\n component: _import('govt/widgets/nationalSecuritiesInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '数量及市值规模统计', hidden: false, active: true}\r\n },\r\n {\r\n path: 'majorFinancialIndInit',\r\n name: 'major_financialInd_Init',\r\n component: _import('govt/widgets/majorFinancialIndInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '财务情况', hidden: false}\r\n },\r\n {\r\n path: 'companyDisclosureInit',\r\n name: 'company_disclosure_init',\r\n component: _import('govt/widgets/companyDisclosureInit'),\r\n props: {ipoType: 'Init'},\r\n meta: {title: '披露情况', hidden: false}\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: '/lawLibrary',\r\n name: 'lawLibrary',\r\n component: _ConsoleLayout,\r\n meta: {title: '法律法规', hidden: true, group: 3},\r\n children: [\r\n\r\n {\r\n path: 'lawLibrary_ent',\r\n name: 'lawLibrary_ent',\r\n component: _import('govt/widgets/LawsLibrary'),\r\n meta: {title: '价值法库', hidden: false, active: true}\r\n },\r\n\r\n ]\r\n },\r\n\r\n\r\n // widget\r\n {\r\n path: '/widget',\r\n name: 'widget',\r\n component: _IntermediaryLayout,\r\n meta: {title: '微服务页面', hidden: true,},\r\n children: [\r\n // {\r\n // path: 'lawLibrary',\r\n // name: 'lawLibrary',\r\n // component: _import('govt/widgets/LawsLibrary'),\r\n // meta: {title: '价值法库', hidden: false}\r\n // },\r\n // {\r\n // path: 'reorganization/mergers',\r\n // name: 'reorganization_mergers',\r\n // component: _import('govt/widgets/Reorganization'),\r\n // props: {reorganizationType: 'mergers'},\r\n // meta: {title: '资产重组', hidden: false}\r\n // },\r\n // {\r\n // path: 'reorganization/tradeTarget',\r\n // name: 'reorganization_tradeTarget',\r\n // component: _import('govt/widgets/ReorganizationTarget'),\r\n // props: {reorganizationType: 'tradeTarget'},\r\n // meta: {title: '重组标的', hidden: false}\r\n // },\r\n // {\r\n // path: 'reorganization/case',\r\n // name: 'reorganization_case',\r\n // component: _import('govt/widgets/ReorganizationCase'),\r\n // props: {reorganizationType: 'case'},\r\n // meta: {title: '重组案例', hidden: false}\r\n // },\r\n // {\r\n // path: 'ipoStatistics/overview',\r\n // name: 'ipoStatistics_overview',\r\n // component: _import('govt/widgets/IpoStatistics'),\r\n // props: {ipoType: 'overview'},\r\n // meta: {title: 'IPO数据概览', hidden: false}\r\n // },\r\n // {\r\n // path: 'ipoStatistics/detail',\r\n // name: 'ipoStatistics_detail',\r\n // component: _import('govt/widgets/IpoStatisticsDetail'),\r\n // props: {ipoType: 'detail'},\r\n // meta: {title: 'IPO在审详情', hidden: false}\r\n // },\r\n {\r\n path: 'ipoStatistics/case',\r\n name: 'ipoStatistics_case',\r\n component: _import('govt/widgets/IpoStatisticsCase'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例简析', hidden: false}\r\n },\r\n {\r\n path: 'ipoStatistics/case-detail',\r\n name: 'ipoStatistics_case_detail',\r\n component: _import('govt/widgets/IpoStatisticsCaseDetail'),\r\n props: {ipoType: 'case'},\r\n meta: {title: 'IPO案例详情', hidden: false}\r\n },\r\n // {\r\n // path: 'ipoStatistics/LettersInit',\r\n // name: 'ipoStatistics_Letters_init',\r\n // component: _import('govt/widgets/LettersInit'),\r\n // props: {ipoType: 'Init'},\r\n // meta: {title: 'IPO函件', hidden: false}\r\n // },\r\n // {\r\n // path: 'nationalSecuritiesInit',\r\n // name: 'national_securities_init',\r\n // component: _import('govt/widgets/nationalSecuritiesInit'),\r\n // props: {ipoType: 'Init'},\r\n // meta: {title: '数量及市值规模统计', hidden: false}\r\n // },\r\n // {\r\n // path: 'majorFinancialIndInit',\r\n // name: 'major_financialInd_Init',\r\n // component: _import('govt/widgets/majorFinancialIndInit'),\r\n // props: {ipoType: 'Init'},\r\n // meta: {title: '财务情况', hidden: false}\r\n // },\r\n // {\r\n // path: 'companyDisclosureInit',\r\n // name: 'company_disclosure_init',\r\n // component: _import('govt/widgets/companyDisclosureInit'),\r\n // props: {ipoType: 'Init'},\r\n // meta: {title: '披露情况 ', hidden: false}\r\n // }\r\n ]\r\n },\r\n // workflow\r\n {\r\n path: '/workflow',\r\n name: 'workflow',\r\n component: _IntermediaryLayout,\r\n meta: {title: '工作流', hidden: true},\r\n children: [\r\n {\r\n path: 'enterprise/process',\r\n name: 'workflow_enterprise_process',\r\n component: _import('workflow/enterprise-process'),\r\n meta: {title: '企业信息审核', hidden: false}\r\n },\r\n {\r\n path: 'intermediary/process',\r\n name: 'workflow_intermediary_process',\r\n component: _import('workflow/intermediary-process'),\r\n meta: {title: '机构信息审核', hidden: false}\r\n },\r\n {\r\n path: 'problem/process',\r\n name: 'workflow_solution_process',\r\n component: _import('workflow/problem-process'),\r\n meta: {title: '绿色通道问题', hidden: false}\r\n },\r\n {\r\n path: 'research/process',\r\n name: 'workflow_research_process',\r\n component: _import('workflow/research-process'),\r\n meta: {title: '企业调研函', hidden: false}\r\n },\r\n {\r\n path: 'research/record/process',\r\n name: 'workflow_researchRecord_process',\r\n component: _import('workflow/researchRecord-process'),\r\n meta: {title: '企业调研记录', hidden: false}\r\n },\r\n {\r\n path: 'training/process',\r\n name: 'workflow_training_process',\r\n component: _import('workflow/training-process'),\r\n meta: {title: '培训报名审核', hidden: false}\r\n },\r\n {\r\n path: 'notification/process',\r\n name: 'workflow_notification_process',\r\n component: _import('workflow/notification-process'),\r\n meta: {title: '发文通知审核', hidden: false}\r\n }\r\n ]\r\n },\r\n // {path: '*', redirect: '/error/404', hidden: false}\r\n\r\n\r\n];\r\nconst MergedRouterMap = [\r\n ..._ConstantRouterMap,\r\n ..._AsyncRouterHomeMap\r\n\r\n];\r\n\r\n\r\nconst _Router = new VueRouter({\r\n base: '/oa/',\r\n mode: 'history', // require service support\r\n scrollBehavior: () => ({y: 0}),\r\n routes: MergedRouterMap\r\n});\r\n\r\n_Router.backLevel = function () {\r\n console.log(\"测试34567\")\r\n const prevRouteName = sessionStorage.getItem('prevRoute');\r\n if (prevRouteName) {\r\n this.push({ name: prevRouteName });\r\n } else {\r\n console.error('Previous route not found in sessionStorage.');\r\n }\r\n};\r\n\r\n\r\n\r\n\r\nexport default _Router;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router.js","import CryptoJS from 'crypto-js/crypto-js'\r\n\r\n// 默认的 KEY 与 iv 与后端保持一致 ,不采用后端传值密钥\r\nconst KEY = CryptoJS.enc.Utf8.parse('aaDJL2d9DfhLZO0z');// 密钥\r\nconst IV = CryptoJS.enc.Utf8.parse('412ADDSSFA342442');// 偏移量\r\n/**\r\n * AES加密 :字符串 key iv 返回base64\r\n */\r\nexport function Encrypt(word, keyStr, ivStr) {\r\n let key = KEY;\r\n let iv = IV;\r\n\r\n if (keyStr) {\r\n key = CryptoJS.enc.Utf8.parse(keyStr);\r\n iv = CryptoJS.enc.Utf8.parse(ivStr);\r\n }\r\n\r\n let srcs = CryptoJS.enc.Utf8.parse(word);\r\n var encrypted = CryptoJS.AES.encrypt(srcs, key, {\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n\r\n return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);\r\n\r\n}\r\n/**\r\n * AES 解密 :字符串 key iv 返回base64\r\n *\r\n */\r\nexport function Decrypt(word, keyStr, ivStr) {\r\n let key = KEY;\r\n let iv = IV;\r\n\r\n if (keyStr) {\r\n key = CryptoJS.enc.Utf8.parse(keyStr);\r\n iv = CryptoJS.enc.Utf8.parse(ivStr);\r\n }\r\n\r\n let base64 = CryptoJS.enc.Base64.parse(word);\r\n let src = CryptoJS.enc.Base64.stringify(base64);\r\n\r\n var decrypt = CryptoJS.AES.decrypt(src, key, {\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n\r\n var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\r\n return decryptedStr.toString();\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/service/CryptoJS.js","import request from '../../../basement/service/request'\r\nimport qs from 'qs';\r\nimport {Encrypt} from \"../CryptoJS\";\r\n/* 认证状态 */\r\nexport function _sessionStatus() {\r\n return request({\r\n url: '/console/master/session/status',\r\n method: 'get'\r\n })\r\n}\r\n\r\n/* 登录用户信息 */\r\nexport function _sessionMe() {\r\n return request({\r\n url: '/console/api/session/me',\r\n method: 'get'\r\n })\r\n}\r\n\r\n/* 注册 - 登录 */\r\nexport function _signIn(_signInForm) {\r\n const params = {\r\n ajax: true\r\n };\r\n // const form = new FormData();\r\n // form.append('username', _signInForm.username);\r\n // form.append('password', _signInForm.password);\r\n // form.append('remember_me', _signInForm.rememberMe);\r\n _signInForm = JSON.parse(JSON.stringify(_signInForm))\r\n _signInForm.message = Encrypt(JSON.stringify(_signInForm));\r\n delete _signInForm.password;\r\n delete _signInForm.key;\r\n delete _signInForm.code;\r\n\r\n return request({\r\n url: '/console/login',\r\n method: 'post',\r\n headers: {\r\n 'content-type': 'application/x-www-form-urlencoded'\r\n },\r\n params: params,\r\n data: qs.stringify(_signInForm)\r\n })\r\n}\r\n\r\n/* 退出 */\r\nexport function _signOut() {\r\n const params = {\r\n ajax: true\r\n };\r\n return request({\r\n url: '/console/logout',\r\n method: 'get',\r\n params: params\r\n })\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/service/api/session-api.js","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xNy40Mzc1IDEyLjYyNUgxNS4zMTI1VjExLjAzMTJDMTUuMzEyNSAxMC40NDQ4IDE0LjgzNjQgOS45Njg3NSAxNC4yNSA5Ljk2ODc1SDEwLjUzMTJWOC4zNzVIMTIuMTI1QzEyLjcxMTQgOC4zNzUgMTMuMTg3NSA3Ljg5ODkyIDEzLjE4NzUgNy4zMTI1VjMuMDYyNUMxMy4xODc1IDIuNDc2MDggMTIuNzExNCAyIDEyLjEyNSAySDcuODc1QzcuMjg4NTggMiA2LjgxMjUgMi40NzYwOCA2LjgxMjUgMy4wNjI1VjcuMzEyNUM2LjgxMjUgNy44OTg5MiA3LjI4ODU4IDguMzc1IDcuODc1IDguMzc1SDkuNDY4NzVWOS45Njg3NUg1Ljc1QzUuMTYzNTggOS45Njg3NSA0LjY4NzUgMTAuNDQ0OCA0LjY4NzUgMTEuMDMxMlYxMi42MjVIMi41NjI1QzEuOTc2MDggMTIuNjI1IDEuNSAxMy4xMDExIDEuNSAxMy42ODc1VjE3LjkzNzVDMS41IDE4LjUyMzkgMS45NzYwOCAxOSAyLjU2MjUgMTlINi44MTI1QzcuMzk4OTIgMTkgNy44NzUgMTguNTIzOSA3Ljg3NSAxNy45Mzc1VjEzLjY4NzVDNy44NzUgMTMuMTAxMSA3LjM5ODkyIDEyLjYyNSA2LjgxMjUgMTIuNjI1SDUuNzVWMTEuMDMxMkgxNC4yNVYxMi42MjVIMTMuMTg3NUMxMi42MDExIDEyLjYyNSAxMi4xMjUgMTMuMTAxMSAxMi4xMjUgMTMuNjg3NVYxNy45Mzc1QzEyLjEyNSAxOC41MjM5IDEyLjYwMTEgMTkgMTMuMTg3NSAxOUgxNy40Mzc1QzE4LjAyMzkgMTkgMTguNSAxOC41MjM5IDE4LjUgMTcuOTM3NVYxMy42ODc1QzE4LjUgMTMuMTAxMSAxOC4wMjM5IDEyLjYyNSAxNy40Mzc1IDEyLjYyNVpNNy44NzUgNy4zMTI1VjMuMDYyNUgxMi4xMjVWNy4zMTI1SDcuODc1Wk02LjgxMjUgMTMuNjg3NVYxNy45Mzc1SDIuNTYyNVYxMy42ODc1SDYuODEyNVpNMTcuNDM3NSAxNy45Mzc1SDEzLjE4NzVWMTMuNjg3NUgxNy40Mzc1VjE3LjkzNzVaIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIwLjUyMzA3NyIvPg0KPC9zdmc+DQo=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/ic--jgrz.svg\n// module id = fYA5\n// module chunks = 218","(function(a){if(typeof define===\"function\"&&define.amd){define([\"jquery\"],a)}else{if(typeof exports===\"object\"){a(require(\"jquery\"))}else{a(jQuery)}}}(function(d,f){if(!(\"indexOf\" in Array.prototype)){Array.prototype.indexOf=function(k,j){if(j===f){j=0}if(j<0){j+=this.length}if(j<0){j=0}for(var l=this.length;jthis.endDate){o.push(\"disabled\")}else{if(Math.floor(this.date.getUTCMinutes()/this.minuteStep)===Math.floor(n.getUTCMinutes()/this.minuteStep)){o.push(\"active\")}}return o.concat((p?p:[]))};this.onRenderYear=function(o){var q=(j.onRenderYear||function(){return[]})(o);var p=[\"year\"];if(typeof q===\"string\"){q=[q]}if(this.date.getUTCFullYear()===o.getUTCFullYear()){p.push(\"active\")}var n=o.getUTCFullYear();var r=this.endDate.getUTCFullYear();if(or){p.push(\"disabled\")}return p.concat((q?q:[]))};this.onRenderMonth=function(n){var p=(j.onRenderMonth||function(){return[]})(n);var o=[\"month\"];if(typeof p===\"string\"){p=[p]}return o.concat((p?p:[]))};this.startDate=new Date(-8639968443048000);this.endDate=new Date(8639968443048000);this.datesDisabled=[];this.daysOfWeekDisabled=[];this.setStartDate(j.startDate||this.element.data(\"date-startdate\"));this.setEndDate(j.endDate||this.element.data(\"date-enddate\"));this.setDatesDisabled(j.datesDisabled||this.element.data(\"date-dates-disabled\"));this.setDaysOfWeekDisabled(j.daysOfWeekDisabled||this.element.data(\"date-days-of-week-disabled\"));this.setMinutesDisabled(j.minutesDisabled||this.element.data(\"date-minute-disabled\"));this.setHoursDisabled(j.hoursDisabled||this.element.data(\"date-hour-disabled\"));this.fillDow();this.fillMonths();this.update();this.showMode();if(this.isInline){this.show()}};g.prototype={constructor:g,_events:[],_attachEvents:function(){this._detachEvents();if(this.isInput){this._events=[[this.element,{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}]]}else{if(this.component&&this.hasInput){this._events=[[this.element.find(\"input\"),{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}],[this.component,{click:d.proxy(this.show,this)}]];if(this.componentReset){this._events.push([this.componentReset,{click:d.proxy(this.reset,this)}])}}else{if(this.element.is(\"div\")){this.isInline=true}else{this._events=[[this.element,{click:d.proxy(this.show,this)}]]}}}for(var j=0,k,l;j=this.startDate&&i<=this.endDate){this.date=i;this.setValue();this.viewDate=this.date;this.fill()}else{this.element.trigger({type:\"outOfRange\",date:i,startDate:this.startDate,endDate:this.endDate})}},setFormat:function(j){this.format=c.parseFormat(j,this.formatType);var i;if(this.isInput){i=this.element}else{if(this.component){i=this.element.find(\"input\")}}if(i&&i.val()){this.setValue()}},setValue:function(){var i=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find(\"input\").val(i)}this.element.data(\"date\",i)}else{this.element.val(i)}if(this.linkField){d(\"#\"+this.linkField).val(this.getFormattedDate(this.linkFormat))}},getFormattedDate:function(i){i=i||this.format;return c.formatDate(this.date,i,this.language,this.formatType,this.timezone)},setStartDate:function(i){this.startDate=i||this.startDate;if(this.startDate.valueOf()!==8639968443048000){this.startDate=c.parseDate(this.startDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setEndDate:function(i){this.endDate=i||this.endDate;if(this.endDate.valueOf()!==8639968443048000){this.endDate=c.parseDate(this.endDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setDatesDisabled:function(j){this.datesDisabled=j||[];if(!d.isArray(this.datesDisabled)){this.datesDisabled=this.datesDisabled.split(/,\\s*/)}var i=this;this.datesDisabled=d.map(this.datesDisabled,function(k){return c.parseDate(k,i.format,i.language,i.formatType,i.timezone).toDateString()});this.update();this.updateNavArrows()},setTitle:function(i,j){return this.picker.find(i).find(\"th:eq(1)\").text(this.title===false?j:this.title)},setDaysOfWeekDisabled:function(i){this.daysOfWeekDisabled=i||[];if(!d.isArray(this.daysOfWeekDisabled)){this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\\s*/)}this.daysOfWeekDisabled=d.map(this.daysOfWeekDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setMinutesDisabled:function(i){this.minutesDisabled=i||[];if(!d.isArray(this.minutesDisabled)){this.minutesDisabled=this.minutesDisabled.split(/,\\s*/)}this.minutesDisabled=d.map(this.minutesDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setHoursDisabled:function(i){this.hoursDisabled=i||[];if(!d.isArray(this.hoursDisabled)){this.hoursDisabled=this.hoursDisabled.split(/,\\s*/)}this.hoursDisabled=d.map(this.hoursDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}if(!this.zIndex){var j=0;d(\"div\").each(function(){var o=parseInt(d(this).css(\"zIndex\"),10);if(o>j){j=o}});this.zIndex=j+10}var n,m,l,k;if(this.container instanceof d){k=this.container.offset()}else{k=d(this.container).offset()}if(this.component){n=this.component.offset();l=n.left;if(this.pickerPosition===\"bottom-left\"||this.pickerPosition===\"top-left\"){l+=this.component.outerWidth()-this.picker.outerWidth()}}else{n=this.element.offset();l=n.left;if(this.pickerPosition===\"bottom-left\"||this.pickerPosition===\"top-left\"){l+=this.element.outerWidth()-this.picker.outerWidth()}}var i=document.body.clientWidth||window.innerWidth;if(l+220>i){l=i-220}if(this.pickerPosition===\"top-left\"||this.pickerPosition===\"top-right\"){m=n.top-this.picker.outerHeight()}else{m=n.top+this.height}m=m-k.top;l=l-k.left;this.picker.css({top:m,left:l,zIndex:this.zIndex})},hour_minute:\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]\",update:function(){var i,j=false;if(arguments&&arguments.length&&(typeof arguments[0]===\"string\"||arguments[0] instanceof Date)){i=arguments[0];j=true}else{i=(this.isInput?this.element.val():this.element.find(\"input\").val())||this.element.data(\"date\")||this.initialDate;if(typeof i===\"string\"){i=i.replace(/^\\s+|\\s+$/g,\"\")}}if(!i){i=new Date();j=false}if(typeof i===\"string\"){if(new RegExp(this.hour_minute).test(i)||new RegExp(this.hour_minute+\":[0-5][0-9]\").test(i)){i=this.getDate()}}this.date=c.parseDate(i,this.format,this.language,this.formatType,this.timezone);if(j){this.setValue()}if(this.datethis.endDate){this.viewDate=new Date(this.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var i=this.weekStart,j=\"\";while(i'+e[this.language].daysMin[(i++)%7]+\"\"}j+=\"\";this.picker.find(\".datetimepicker-days thead\").append(j)},fillMonths:function(){var l=\"\";var m=new Date(this.viewDate);for(var k=0;k<12;k++){m.setUTCMonth(k);var j=this.onRenderMonth(m);l+=''+e[this.language].monthsShort[k]+\"\"}this.picker.find(\".datetimepicker-months td\").html(l)},fill:function(){if(!this.date||!this.viewDate){return}var E=new Date(this.viewDate),t=E.getUTCFullYear(),G=E.getUTCMonth(),n=E.getUTCDate(),A=E.getUTCHours(),w=this.startDate.getUTCFullYear(),B=this.startDate.getUTCMonth(),p=this.endDate.getUTCFullYear(),x=this.endDate.getUTCMonth()+1,q=(new h(this.date.getUTCFullYear(),this.date.getUTCMonth(),this.date.getUTCDate())).valueOf(),D=new Date();this.setTitle(\".datetimepicker-days\",e[this.language].months[G]+\" \"+t);if(this.formatViewType===\"time\"){var k=this.getFormattedDate();this.setTitle(\".datetimepicker-hours\",k);this.setTitle(\".datetimepicker-minutes\",k)}else{this.setTitle(\".datetimepicker-hours\",n+\" \"+e[this.language].months[G]+\" \"+t);this.setTitle(\".datetimepicker-minutes\",n+\" \"+e[this.language].months[G]+\" \"+t)}this.picker.find(\"tfoot th.today\").text(e[this.language].today||e.en.today).toggle(this.todayBtn!==false);this.picker.find(\"tfoot th.clear\").text(e[this.language].clear||e.en.clear).toggle(this.clearBtn!==false);this.updateNavArrows();this.fillMonths();var I=h(t,G-1,28,0,0,0,0),z=c.getDaysInMonth(I.getUTCFullYear(),I.getUTCMonth());I.setUTCDate(z);I.setUTCDate(z-(I.getUTCDay()-this.weekStart+7)%7);var j=new Date(I);j.setUTCDate(j.getUTCDate()+42);j=j.valueOf();var r=[];var F;while(I.valueOf()\")}F=this.onRenderDay(I);if(I.getUTCFullYear()t||(I.getUTCFullYear()===t&&I.getUTCMonth()>G)){F.push(\"new\")}}if(this.todayHighlight&&I.getUTCFullYear()===D.getFullYear()&&I.getUTCMonth()===D.getMonth()&&I.getUTCDate()===D.getDate()){F.push(\"today\")}if(I.valueOf()===q){F.push(\"active\")}if((I.valueOf()+86400000)<=this.startDate||I.valueOf()>this.endDate||d.inArray(I.getUTCDay(),this.daysOfWeekDisabled)!==-1||d.inArray(I.toDateString(),this.datesDisabled)!==-1){F.push(\"disabled\")}r.push(''+I.getUTCDate()+\"\");if(I.getUTCDay()===this.weekEnd){r.push(\"\")}I.setUTCDate(I.getUTCDate()+1)}this.picker.find(\".datetimepicker-days tbody\").empty().append(r.join(\"\"));r=[];var u=\"\",C=\"\",s=\"\";var l=this.hoursDisabled||[];E=new Date(this.viewDate);for(var y=0;y<24;y++){E.setUTCHours(y);F=this.onRenderHour(E);if(l.indexOf(y)!==-1){F.push(\"disabled\")}var v=h(t,G,n,y);if((v.valueOf()+3600000)<=this.startDate||v.valueOf()>this.endDate){F.push(\"disabled\")}else{if(A===y){F.push(\"active\")}}if(this.showMeridian&&e[this.language].meridiem.length===2){C=(y<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==\"\"){r.push(\"\")}r.push('
    '+C.toUpperCase()+\"\")}s=C;u=(y%12?y%12:12);if(y<12){F.push(\"hour_am\")}else{F.push(\"hour_pm\")}r.push(''+u+\"\");if(y===23){r.push(\"
    \")}}else{u=y+\":00\";r.push(''+u+\"\")}}this.picker.find(\".datetimepicker-hours td\").html(r.join(\"\"));r=[];u=\"\";C=\"\";s=\"\";var m=this.minutesDisabled||[];E=new Date(this.viewDate);for(var y=0;y<60;y+=this.minuteStep){if(m.indexOf(y)!==-1){continue}E.setUTCMinutes(y);E.setUTCSeconds(0);F=this.onRenderMinute(E);if(this.showMeridian&&e[this.language].meridiem.length===2){C=(A<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==\"\"){r.push(\"\")}r.push('
    '+C.toUpperCase()+\"\")}s=C;u=(A%12?A%12:12);r.push(''+u+\":\"+(y<10?\"0\"+y:y)+\"\");if(y===59){r.push(\"
    \")}}else{u=y+\":00\";r.push(''+A+\":\"+(y<10?\"0\"+y:y)+\"\")}}this.picker.find(\".datetimepicker-minutes td\").html(r.join(\"\"));var J=this.date.getUTCFullYear();var o=this.setTitle(\".datetimepicker-months\",t).end().find(\".month\").removeClass(\"active\");if(J===t){o.eq(this.date.getUTCMonth()).addClass(\"active\")}if(tp){o.addClass(\"disabled\")}if(t===w){o.slice(0,B).addClass(\"disabled\")}if(t===p){o.slice(x).addClass(\"disabled\")}r=\"\";t=parseInt(t/10,10)*10;var H=this.setTitle(\".datetimepicker-years\",t+\"-\"+(t+9)).end().find(\"td\");t-=1;E=new Date(this.viewDate);for(var y=-1;y<11;y++){E.setUTCFullYear(t);F=this.onRenderYear(E);if(y===-1||y===10){F.push(b)}r+=''+t+\"\";t+=1}H.html(r);this.place()},updateNavArrows:function(){var m=new Date(this.viewDate),k=m.getUTCFullYear(),l=m.getUTCMonth(),j=m.getUTCDate(),i=m.getUTCHours();switch(this.viewMode){case 0:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()&&i<=this.startDate.getUTCHours()){this.picker.find(\".prev\").css({visibility:\"hidden\"})}else{this.picker.find(\".prev\").css({visibility:\"visible\"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()&&i>=this.endDate.getUTCHours()){this.picker.find(\".next\").css({visibility:\"hidden\"})}else{this.picker.find(\".next\").css({visibility:\"visible\"})}break;case 1:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()){this.picker.find(\".prev\").css({visibility:\"hidden\"})}else{this.picker.find(\".prev\").css({visibility:\"visible\"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()){this.picker.find(\".next\").css({visibility:\"hidden\"})}else{this.picker.find(\".next\").css({visibility:\"visible\"})}break;case 2:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()){this.picker.find(\".prev\").css({visibility:\"hidden\"})}else{this.picker.find(\".prev\").css({visibility:\"visible\"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()){this.picker.find(\".next\").css({visibility:\"hidden\"})}else{this.picker.find(\".next\").css({visibility:\"visible\"})}break;case 3:case 4:if(k<=this.startDate.getUTCFullYear()){this.picker.find(\".prev\").css({visibility:\"hidden\"})}else{this.picker.find(\".prev\").css({visibility:\"visible\"})}if(k>=this.endDate.getUTCFullYear()){this.picker.find(\".next\").css({visibility:\"hidden\"})}else{this.picker.find(\".next\").css({visibility:\"visible\"})}break}},mousewheel:function(j){j.preventDefault();j.stopPropagation();if(this.wheelPause){return}this.wheelPause=true;var i=j.originalEvent;var l=i.wheelDelta;var k=l>0?1:(l===0)?0:-1;if(this.wheelViewModeNavigationInverseDirection){k=-k}this.showMode(k);setTimeout(d.proxy(function(){this.wheelPause=false},this),this.wheelViewModeNavigationDelay)},click:function(m){m.stopPropagation();m.preventDefault();var n=d(m.target).closest(\"span, td, th, legend\");if(n.is(\".\"+this.icontype)){n=d(n).parent().closest(\"span, td, th, legend\")}if(n.length===1){if(n.is(\".disabled\")){this.element.trigger({type:\"outOfRange\",date:this.viewDate,startDate:this.startDate,endDate:this.endDate});return}switch(n[0].nodeName.toLowerCase()){case\"th\":switch(n[0].className){case\"switch\":this.showMode(1);break;case\"prev\":case\"next\":var i=c.modes[this.viewMode].navStep*(n[0].className===\"prev\"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveHour(this.viewDate,i);break;case 1:this.viewDate=this.moveDate(this.viewDate,i);break;case 2:this.viewDate=this.moveMonth(this.viewDate,i);break;case 3:case 4:this.viewDate=this.moveYear(this.viewDate,i);break}this.fill();this.element.trigger({type:n[0].className+\":\"+this.convertViewModeText(this.viewMode),date:this.viewDate,startDate:this.startDate,endDate:this.endDate});break;case\"clear\":this.reset();if(this.autoclose){this.hide()}break;case\"today\":var j=new Date();j=h(j.getFullYear(),j.getMonth(),j.getDate(),j.getHours(),j.getMinutes(),j.getSeconds(),0);if(jthis.endDate){j=this.endDate}}this.viewMode=this.startViewMode;this.showMode(0);this._setDate(j);this.fill();if(this.autoclose){this.hide()}break}break;case\"span\":if(!n.is(\".disabled\")){var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),q=this.viewDate.getUTCDate(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(\".month\")){this.viewDate.setUTCDate(1);o=n.parent().find(\"span\").index(n);q=this.viewDate.getUTCDate();this.viewDate.setUTCMonth(o);this.element.trigger({type:\"changeMonth\",date:this.viewDate});if(this.viewSelect>=3){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(\".year\")){this.viewDate.setUTCDate(1);p=parseInt(n.text(),10)||0;this.viewDate.setUTCFullYear(p);this.element.trigger({type:\"changeYear\",date:this.viewDate});if(this.viewSelect>=4){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(\".hour\")){r=parseInt(n.text(),10)||0;if(n.hasClass(\"hour_am\")||n.hasClass(\"hour_pm\")){if(r===12&&n.hasClass(\"hour_am\")){r=0}else{if(r!==12&&n.hasClass(\"hour_pm\")){r+=12}}}this.viewDate.setUTCHours(r);this.element.trigger({type:\"changeHour\",date:this.viewDate});if(this.viewSelect>=1){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(\".minute\")){k=parseInt(n.text().substr(n.text().indexOf(\":\")+1),10)||0;this.viewDate.setUTCMinutes(k);this.element.trigger({type:\"changeMinute\",date:this.viewDate});if(this.viewSelect>=0){this._setDate(h(p,o,q,r,k,s,0))}}}}}if(this.viewMode!==0){var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}}break;case\"td\":if(n.is(\".day\")&&!n.is(\".disabled\")){var q=parseInt(n.text(),10)||1;var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(\".old\")){if(o===0){o=11;p-=1}else{o-=1}}else{if(n.is(\".new\")){if(o===11){o=0;p+=1}else{o+=1}}}this.viewDate.setUTCFullYear(p);this.viewDate.setUTCMonth(o,q);this.element.trigger({type:\"changeDay\",date:this.viewDate});if(this.viewSelect>=2){this._setDate(h(p,o,q,r,k,s,0))}}var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}break}}},_setDate:function(i,k){if(!k||k===\"date\"){this.date=i}if(!k||k===\"view\"){this.viewDate=i}this.fill();this.setValue();var j;if(this.isInput){j=this.element}else{if(this.component){j=this.element.find(\"input\")}}if(j){j.change()}this.element.trigger({type:\"changeDate\",date:this.getDate()});if(i===null){this.date=this.viewDate}},moveMinute:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCMinutes(k.getUTCMinutes()+(i*this.minuteStep));return k},moveHour:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCHours(k.getUTCHours()+i);return k},moveDate:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCDate(k.getUTCDate()+i);return k},moveMonth:function(j,k){if(!k){return j}var n=new Date(j.valueOf()),r=n.getUTCDate(),o=n.getUTCMonth(),m=Math.abs(k),q,p;k=k>0?1:-1;if(m===1){p=k===-1?function(){return n.getUTCMonth()===o}:function(){return n.getUTCMonth()!==q};q=o+k;n.setUTCMonth(q);if(q<0||q>11){q=(q+12)%12}}else{for(var l=0;l=this.startDate&&i<=this.endDate},keydown:function(o){if(this.picker.is(\":not(:visible)\")){if(o.keyCode===27){this.show()}return}var k=false,j,i,n;switch(o.keyCode){case 27:this.hide();o.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation){break}j=o.keyCode===37?-1:1;var m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j);n=this.moveDate(this.viewDate,j)}else{if(m===1){i=this.moveHour(this.date,j);n=this.moveHour(this.viewDate,j)}else{if(m===0){i=this.moveMinute(this.date,j);n=this.moveMinute(this.viewDate,j)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 38:case 40:if(!this.keyboardNavigation){break}j=o.keyCode===38?-1:1;m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j*7);n=this.moveDate(this.viewDate,j*7)}else{if(m===1){if(this.showMeridian){i=this.moveHour(this.date,j*6);n=this.moveHour(this.viewDate,j*6)}else{i=this.moveHour(this.date,j*4);n=this.moveHour(this.viewDate,j*4)}}else{if(m===0){i=this.moveMinute(this.date,j*4);n=this.moveMinute(this.viewDate,j*4)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 13:if(this.viewMode!==0){var p=this.viewMode;this.showMode(-1);this.fill();if(p===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}o.preventDefault();break;case 9:this.hide();break}if(k){var l;if(this.isInput){l=this.element}else{if(this.component){l=this.element.find(\"input\")}}if(l){l.change()}this.element.trigger({type:\"changeDate\",date:this.getDate()})}},showMode:function(i){if(i){var j=Math.max(0,Math.min(c.modes.length-1,this.viewMode+i));if(j>=this.minView&&j<=this.maxView){this.element.trigger({type:\"changeMode\",date:this.viewDate,oldViewMode:this.viewMode,newViewMode:j});this.viewMode=j}}this.picker.find(\">div\").hide().filter(\".datetimepicker-\"+c.modes[this.viewMode].clsName).css(\"display\",\"block\");this.updateNavArrows()},reset:function(){this._setDate(null,\"date\")},convertViewModeText:function(i){switch(i){case 4:return\"decade\";case 3:return\"year\";case 2:return\"month\";case 1:return\"day\";case 0:return\"hour\"}}};var b=d.fn.datetimepicker;d.fn.datetimepicker=function(k){var i=Array.apply(null,arguments);i.shift();var j;this.each(function(){var n=d(this),m=n.data(\"datetimepicker\"),l=typeof k===\"object\"&&k;if(!m){n.data(\"datetimepicker\",(m=new g(this,d.extend({},d.fn.datetimepicker.defaults,l))))}if(typeof k===\"string\"&&typeof m[k]===\"function\"){j=m[k].apply(m,i);if(j!==f){return false}}});if(j!==f){return j}else{return this}};d.fn.datetimepicker.defaults={};d.fn.datetimepicker.Constructor=g;var e=d.fn.datetimepicker.dates={en:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\",\"Sunday\"],daysShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\"],daysMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\",\"Su\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthsShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],meridiem:[\"am\",\"pm\"],suffix:[\"st\",\"nd\",\"rd\",\"th\"],today:\"Today\",clear:\"Clear\"}};var c={modes:[{clsName:\"minutes\",navFnc:\"Hours\",navStep:1},{clsName:\"hours\",navFnc:\"Date\",navStep:1},{clsName:\"days\",navFnc:\"Month\",navStep:1},{clsName:\"months\",navFnc:\"FullYear\",navStep:1},{clsName:\"years\",navFnc:\"FullYear\",navStep:10}],isLeapYear:function(i){return(((i%4===0)&&(i%100!==0))||(i%400===0))},getDaysInMonth:function(i,j){return[31,(c.isLeapYear(i)?29:28),31,30,31,30,31,31,30,31,30,31][j]},getDefaultFormat:function(i,j){if(i===\"standard\"){if(j===\"input\"){return\"yyyy-mm-dd hh:ii\"}else{return\"yyyy-mm-dd hh:ii:ss\"}}else{if(i===\"php\"){if(j===\"input\"){return\"Y-m-d H:i\"}else{return\"Y-m-d H:i:s\"}}else{throw new Error(\"Invalid format type.\")}}},validParts:function(i){if(i===\"standard\"){return/t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g}else{if(i===\"php\"){return/[dDjlNwzFmMnStyYaABgGhHis]/g}else{throw new Error(\"Invalid format type.\")}}},nonpunctuation:/[^ -\\/:-@\\[-`{-~\\t\\n\\rTZ]+/g,parseFormat:function(l,j){var i=l.replace(this.validParts(j),\"\\0\").split(\"\\0\"),k=l.match(this.validParts(j));if(!i||!i.length||!k||k.length===0){throw new Error(\"Invalid date format.\")}return{separators:i,parts:k}},parseDate:function(A,y,v,j,r){if(A instanceof Date){var u=new Date(A.valueOf()-A.getTimezoneOffset()*60000);u.setMilliseconds(0);return u}if(/^\\d{4}\\-\\d{1,2}\\-\\d{1,2}$/.test(A)){y=this.parseFormat(\"yyyy-mm-dd\",j)}if(/^\\d{4}\\-\\d{1,2}\\-\\d{1,2}[T ]\\d{1,2}\\:\\d{1,2}$/.test(A)){y=this.parseFormat(\"yyyy-mm-dd hh:ii\",j)}if(/^\\d{4}\\-\\d{1,2}\\-\\d{1,2}[T ]\\d{1,2}\\:\\d{1,2}\\:\\d{1,2}[Z]{0,1}$/.test(A)){y=this.parseFormat(\"yyyy-mm-dd hh:ii:ss\",j)}if(/^[-+]\\d+[dmwy]([\\s,]+[-+]\\d+[dmwy])*$/.test(A)){var l=/([-+]\\d+)([dmwy])/,q=A.match(/([-+]\\d+)([dmwy])/g),t,p;A=new Date();for(var x=0;x',headTemplateV3:' ',contTemplate:'',footTemplate:''};c.template='
    '+c.headTemplate+c.contTemplate+c.footTemplate+'
    '+c.headTemplate+c.contTemplate+c.footTemplate+'
    '+c.headTemplate+\"\"+c.footTemplate+'
    '+c.headTemplate+c.contTemplate+c.footTemplate+'
    '+c.headTemplate+c.contTemplate+c.footTemplate+\"
    \";c.templateV3='
    '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
    '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
    '+c.headTemplateV3+\"\"+c.footTemplate+'
    '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
    '+c.headTemplateV3+c.contTemplate+c.footTemplate+\"
    \";d.fn.datetimepicker.DPGlobal=c;d.fn.datetimepicker.noConflict=function(){d.fn.datetimepicker=b;return this};d(document).on(\"focus.datetimepicker.data-api click.datetimepicker.data-api\",'[data-provide=\"datetimepicker\"]',function(j){var i=d(this);if(i.data(\"datetimepicker\")){return}j.preventDefault();i.datetimepicker(\"show\")});d(function(){d('[data-provide=\"datetimepicker-inline\"]').datetimepicker()})}));\n\n\n// WEBPACK FOOTER //\n// ./src/style/lib/datetime-picker/js/bootstrap-datetimepicker.min.js","\"use strict\";\r\n\r\nconsole.log('Main process.env > ', process.env);\r\n/* Console */\r\nif (!window.console || process.env.NODE_ENV === 'production') {\r\n var names = [\"log\", \"debug\", \"info\", \"warn\", \"error\", \"assert\", \"dir\", \"dirxml\", \"group\", \"groupEnd\", \"time\",\r\n \"timeEnd\", \"count\", \"trace\", \"profile\", \"profileEnd\", \"table\"];\r\n window.console = {};\r\n for (var i = 0; i < names.length; ++i) {\r\n window.console[names[i]] = function () {\r\n };\r\n }\r\n}\r\n\r\n/* Array */\r\nif (!Array.prototype.remove) {\r\n Array.prototype.remove = function (predicate) {\r\n if (this == null) {\r\n throw new TypeError('Array.prototype.remove called on null or undefined');\r\n }\r\n if (typeof predicate !== 'function') {\r\n throw new TypeError('predicate must be a function');\r\n }\r\n var list = Object(this);\r\n var length = list.length >>> 0;\r\n var thisArg = arguments[1];\r\n var value;\r\n\r\n for (var i = 0; i < length; i++) {\r\n value = list[i];\r\n if (predicate.call(thisArg, value, i, list)) {\r\n list.splice(i, 1);\r\n return;\r\n }\r\n }\r\n return undefined;\r\n };\r\n}\r\nif (!Array.prototype.find) {\r\n Array.prototype.find = function (predicate) {\r\n if (this == null) {\r\n throw new TypeError('Array.prototype.find called on null or undefined');\r\n }\r\n if (typeof predicate !== 'function') {\r\n throw new TypeError('predicate must be a function');\r\n }\r\n var list = Object(this);\r\n var length = list.length >>> 0;\r\n var thisArg = arguments[1];\r\n var value;\r\n\r\n for (var i = 0; i < length; i++) {\r\n value = list[i];\r\n if (predicate.call(thisArg, value, i, list)) {\r\n return value;\r\n }\r\n }\r\n return undefined;\r\n };\r\n}\r\n\r\n/* Date */\r\nif (!Date.prototype.format) {\r\n /**\r\n * 对Date的扩展,将 Date 转化为指定格式的String\r\n * 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,\r\n * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)\r\n * 例子:\r\n * (new Date()).format(\"yyyy-MM-dd hh:mm:ss.S\") ==> 2006-07-02 08:09:04.423\r\n * (new Date()).format(\"yyyy-M-d h:m:s.S\") ==> 2006-7-2 8:9:4.18\r\n * */\r\n\r\n Date.prototype.format = function (fmt) { // author: mattdamon\r\n var o = {\r\n \"M+\": this.getMonth() + 1, // 月份\r\n \"d+\": this.getDate(), // 日\r\n \"h+\": this.getHours(), // 小时\r\n \"m+\": this.getMinutes(), // 分\r\n \"s+\": this.getSeconds(), // 秒\r\n \"q+\": Math.floor((this.getMonth() + 3) / 3), // 季度\r\n \"S\": this.getMilliseconds() // 毫秒\r\n };\r\n if (/(y+)/.test(fmt))\r\n fmt = fmt.replace(RegExp.$1, (this.getFullYear() + \"\").substr(4 - RegExp.$1.length));\r\n for (var k in o)\r\n if (new RegExp(\"(\" + k + \")\").test(fmt))\r\n fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : ((\"00\" + o[k]).substr((\"\" + o[k]).length)));\r\n return fmt;\r\n };\r\n}\r\n\r\nif (!Date.prototype.dateAdd) {\r\n /* 得到日期年月日等加数字后的日期 */\r\n Date.prototype.dateAdd = function (interval, number) {\r\n var d = this;\r\n var k = {\r\n 'y': 'FullYear',\r\n 'q': 'Month',\r\n 'm': 'Month',\r\n 'w': 'Date',\r\n 'd': 'Date',\r\n 'h': 'Hours',\r\n 'n': 'Minutes',\r\n 's': 'Seconds',\r\n 'ms': 'MilliSeconds'\r\n };\r\n var n = {\r\n 'q': 3,\r\n 'w': 7\r\n };\r\n eval('d.set' + k[interval] + '(d.get' + k[interval] + '()+' + ((n[interval] || 1) * number) + ')');\r\n return d;\r\n };\r\n}\r\n\r\nif (!Date.prototype.dateDiff) {\r\n /* 计算两日期相差的日期年月日等 */\r\n Date.prototype.dateDiff = function (interval, objDate2) {\r\n var d = this, i = {}, t = d.getTime(), t2 = objDate2.getTime();\r\n i['y'] = objDate2.getFullYear() - d.getFullYear();\r\n i['q'] = i['y'] * 4 + Math.floor(objDate2.getMonth() / 4) - Math.floor(d.getMonth() / 4);\r\n i['m'] = i['y'] * 12 + objDate2.getMonth() - d.getMonth();\r\n i['ms'] = objDate2.getTime() - d.getTime();\r\n i['w'] = Math.floor((t2 + 345600000) / (604800000)) - Math.floor((t + 345600000) / (604800000));\r\n i['d'] = Math.floor(t2 / 86400000) - Math.floor(t / 86400000);\r\n i['h'] = Math.floor(t2 / 3600000) - Math.floor(t / 3600000);\r\n i['n'] = Math.floor(t2 / 60000) - Math.floor(t / 60000);\r\n i['s'] = Math.floor(t2 / 1000) - Math.floor(t / 1000);\r\n return i[interval];\r\n };\r\n}\r\n\r\n\r\n// Shielding ESC\r\n// window.document.addEventListener('keydown', function (event) {\r\n// if (event.keyCode === 27) {\r\n// event.stopPropagation();\r\n// return;\r\n// }\r\n// });\r\n//\r\n// function screenKey(e) {\r\n// var ev = e || window.event; //获取event对象\r\n// var obj = ev.target || ev.srcElement; //获取事件源\r\n// var t = obj.type || obj.getAttribute('type'); //获取事件源类型\r\n// var readonly = obj.readonly || obj.getAttribute(\"readonly\");\r\n// var disabled = obj.disabled || obj.getAttribute(\"disabled\");\r\n// console.log(t, readonly, disabled);\r\n// if (ev.keyCode === 8) {\r\n// if (t === \"password\" || t === \"text\" || t === \"textarea\") {\r\n// if (readonly || disabled) {\r\n// return false;\r\n// }\r\n// } else {\r\n// return false;\r\n// }\r\n// }\r\n// }\r\n//禁止后退键 作用于Firefox、Opera\r\n// window.document.onkeypress = screenKey;\r\n//禁止后退键 作用于IE、Chrome\r\n// window.document.onkeydown = screenKey;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/basement/utils/extends.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAjCAYAAADbqynIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAE1ElEQVRYhd3Ye+zVYxwH8NcpFd0kd0KoyOXnsoWQpIz5kTAstzCX2dQozDDLZcwlzC3lko1y2YymsebWsNq0uaxcK00zIyxM6er443MOp+/vfC/n/IrNe/vtt/M8n+fzfd7P87k+pXK57P+ELf7rDWxqbERozdp1m1r/NjgYwzEYe6Ib1mMlvsFcvIEF+LXRD3Tp3Gmj36Vak9uEhHqhFWNxeME17+ERvI7fin7o3yA0ELfj9CbXP4db8UUR4c1NaBgexn7t1PMRLsDCPMHNSagf3kGf9iipwYcYja+yhDYFoQE4RBDoiQ6Yjq8xCMcKc2vvLRHB4hSsSRNollAHnIExOEA4fY/K+AKcjL3RFe+ie2XseuzVBJFaXINJaZPNEGrBHeLku9WZHytu6E3si2V4Bo8K4veKw2gWX2IIfqw32QihEs7G/dgp5WOfiRwzGvfVjJeF7Y8XRO8WxDsUZVGD1RU9k+tNJgmlVQolnI+HhJ+kYS5WCDtPrt8HL+NGXCVIjtM4qS0xAo9VdGQijdCJIvz2yFi7AfOET7WkyHTGPZX/V2N3zeWnftgey/ME6xHaVZhIFhn4BYuE0/fOkZ2IxYLUIOyWt7EEeqKvJgh1xMXi1POwHqtEoCjlyHYSkaoFU3GLbNMrV3SXROTsK273g7xNJQntiivzFtWgJJ9MFX1wkXDuy7S9pXWYiVdF2bO6ont7HCgnwVaRJDQUOxTcYJXM2oLycCGewtsip1UxW5jlx9gDhwkzXivC9hRxQ+cJwqlVeZLQ8AY2113c6PfCPLoWWHOAqDRmCUJrRY57QLQXr+EgYcYd/WN648WtTRE57YrKd3MJHdoAoa7CFKaKvmZggTUlHFXZ+EoRfCbhNhHSO6asWyIspytGiQh7OX5OCiYJpSXQNAzGncJUihCC/iJ3PShC+pMiMadhuSivrqsZOwOf42aJ3JQk1OgDw2GiI30FZ9bRVw+dRAN3g7iVLDJE8t4gasNajMOzwsf+RnIDjWbxbYWjjxdJdkjBdRuwiyhes7BSlF7HY//EXE9xGBNrB5OE1hfcUC3OwwxRFb+tfgFbi7LwlROwc47s4yJcz0iZb5VD6AuN+9HWIrcMxgRRc2WhLCzhiBy5+aIVnyC9t2pTcSQJzRFtQqNoES3EGHFDqf1LBSXsmDE/T9z8UOFraWgTFZOEXhORo5kyfxSm4RL8ISr1tDBMeoUxH+eKan0atsrQ0cZFkoQ+F89IrRlKsnC6IHGhyOZPZGyoXkRdKsgMEK8/vXK+l5uHfhcnOwJdcpSl4VQRTseI25osu6eqYglGiv7naflkqFOs1ssbc0QvNKGAwjS04kWRm8aIaLVdhvxS/1jFLMUCU1kc3EaoR2iNyP4DcVIBxWk4TpA6S7Ty08VGq6ZW/b9UZP4/RZG6Z0H9M/F+cjAts/+MS8XJtofUcFEdn1b5my2ScUmE+xWV8Z/E20NRMotwkzqVflap8p1o9q4VbwJZESsLRwozahUmeIxoyZfhLnyLt8SLUREsFof9ab3JIs9YnXG0KNlHVn43g09EblkmWoLe4kBfkp9kq3hBuMMn1YH2vJx2E7lhWGUD/UUk6ibsPwtlEekW4hxxytVoNlIUq/Xy0mr8IKLZ8+J5eFWtQCah/wP+AmQqMULHU5EQAAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/logo-title-light.png\n// module id = kvMy\n// module chunks = 218","\"use strict\";\r\n\r\nimport axios from 'axios';\r\n\r\n// create an axios instance\r\nconst service = axios.create({\r\n baseURL: process.env.API_BASE,\r\n // request timeout\r\n timeout: 150000\r\n});\r\n\r\n// 发布订阅\r\nclass EventEmitter {\r\n constructor() {\r\n this.event = {}\r\n }\r\n on(type, cbres, cbrej) {\r\n if (!this.event[type]) {\r\n this.event[type] = [[cbres, cbrej]]\r\n } else {\r\n this.event[type].push([cbres, cbrej])\r\n }\r\n }\r\n\r\n emit(type, res, ansType) {\r\n if (!this.event[type]) return\r\n else {\r\n this.event[type].forEach(cbArr => {\r\n if(ansType === 'resolve') {\r\n cbArr[0](res)\r\n }else{\r\n cbArr[1](res)\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n// 存储已发送但未响应的请求\r\nconst pendingRequest = new Set();\r\n// 发布订阅容器\r\nconst ev = new EventEmitter()\r\n\r\n\r\n// 根据请求生成对应的key\r\nfunction generateReqKey(config, hash) {\r\n const { method, url, params, data } = config;\r\n return [method, url, JSON.stringify(params), JSON.stringify(data), hash].join(\"&\");\r\n}\r\n\r\nfunction isFileUploadApi(config) {\r\n return Object.prototype.toString.call(config.data) === \"[object FormData]\"\r\n}\r\n\r\n\r\n// request interceptor\r\nservice.interceptors.request.use(\r\n async function (config) {\r\n // TODO set accessToken with request header\r\n // config.headers['accessToken'] = getToken();\r\n // config.headers['refreshToken'] = getRefreshToken();\r\n // fixed GET request method caching problem\r\n config.headers['Cache-Control'] = 'no-cache';\r\n config.headers['Pragma'] = 'no-cache';\r\n // console.log('Service interceptors request config > ', config);\r\n /** 解决IE浏览器9+ 提交请求时,未填写的项目传递到后台为空字符串,无法通过验证的问题. 2019-3-20 start **/\r\n if(config.method == 'get'){\r\n if(config.params){\r\n for (var i in config.params){\r\n if(typeof(config.params[i]) == \"string\"){\r\n config.params[i] = config.params[i] == \"\" ? undefined : config.params[i]\r\n }\r\n }\r\n console.log(config.params,'当前数据get')\r\n }\r\n }else if (config.method == 'post' || config.method == 'put'){\r\n if(config.data && config.url != \"/console/login\"){\r\n for (var i in config.data){\r\n if(typeof(config.data[i]) == \"string\"){\r\n config.data[i] = config.data[i] == \"\" ? undefined : config.data[i]\r\n }\r\n }\r\n console.log(config.data,'当前数据 data put/post')\r\n\r\n let hash = location.hash\r\n // 生成请求Key\r\n let reqKey = generateReqKey(config, hash)\r\n\r\n if(!isFileUploadApi(config) && pendingRequest.has(reqKey)) {\r\n // 如果是相同请求,在这里将请求挂起,通过发布订阅来为该请求返回结果\r\n // 这里需注意,拿到结果后,无论成功与否,都需要return Promise.reject()来中断这次请求,否则请求会正常发送至服务器\r\n let res = null\r\n try {\r\n // 接口成功响应\r\n res = await new Promise((resolve, reject) => {\r\n ev.on(reqKey, resolve, reject)\r\n })\r\n return Promise.reject({\r\n type: 'limiteResSuccess',\r\n response: res\r\n })\r\n }catch(limitFunErr) {\r\n // 接口报错\r\n return Promise.reject({\r\n type: 'limiteResError',\r\n response: limitFunErr\r\n })\r\n }\r\n }else{\r\n // 将请求的key保存在config\r\n config.pendKey = reqKey\r\n pendingRequest.add(reqKey)\r\n }\r\n }\r\n }\r\n /** 解决IE浏览器9+ 提交请求时,未填写的项目传递到后台为空字符串,无法通过验证的问题. 2019-3-20 end **/\r\n return config\r\n },\r\n function (error) {\r\n //request error\r\n // console.log('Service interceptors request error > ', error);\r\n Promise.reject(error)\r\n }\r\n);\r\n\r\n// respone interceptor\r\nservice.interceptors.response.use(\r\n function (response) {\r\n // console.log('Service interceptors url>', response.config.url, 'response >', response);\r\n console.log('Service interceptors response>', response);\r\n const reqKey = response.config.pendKey\r\n if(pendingRequest.has(reqKey)) {\r\n let x = null\r\n try {\r\n x = JSON.parse(JSON.stringify(response))\r\n }catch(e) {\r\n x = response\r\n }\r\n pendingRequest.delete(reqKey)\r\n ev.emit(reqKey, x, 'resolve')\r\n delete ev.event[reqKey]\r\n }\r\n return response;\r\n },\r\n function (error) {\r\n // console.log('Service interceptors url>', error.config.url, 'error >', error, error.response);\r\n console.log('Service interceptors error>', error);\r\n let tipError = false;\r\n // TODO Reservation processing error response\r\n if (error && error.response) {\r\n switch (error.response.status) {\r\n case 400:\r\n tipError = false;\r\n break;\r\n case 401:\r\n tipError = false;\r\n break;\r\n case 403:\r\n tipError = false;\r\n if (error.response.data) {\r\n if (error.response.data.code === 'WEB_ACCESS_AUTH_REQUIRED') {\r\n window.location.href = '/sign/in';\r\n }\r\n if (error.response.data.code === 'WEB_ACCESS_DENIED') {\r\n error.message = error.response.data.message;\r\n tipError = true;\r\n }\r\n }\r\n break;\r\n case 404:\r\n tipError = false;\r\n break;\r\n case 405:\r\n tipError = false;\r\n break;\r\n case 409:\r\n tipError = false;\r\n break;\r\n case 422:\r\n tipError = false;\r\n break;\r\n case 500:\r\n error.message = '服务器内部错误';\r\n tipError = true;\r\n break;\r\n default:\r\n error.message = '服务器内部错误';\r\n tipError = true;\r\n break;\r\n }\r\n\r\n if(error.type && error.type === 'limiteResSuccess') {\r\n console.log('limiteResSuccess>');\r\n return Promise.resolve(error.response)\r\n }else if(error.type && error.type === 'limiteResError') {\r\n console.log('limiteResError>');\r\n return Promise.reject(error.response);\r\n }else{\r\n const reqKey = error.config.pendKey\r\n if(pendingRequest.has(reqKey)) {\r\n let x = null\r\n try {\r\n x = JSON.parse(JSON.stringify(error))\r\n }catch(e) {\r\n x = error\r\n }\r\n pendingRequest.delete(reqKey)\r\n ev.emit(reqKey, x, 'reject')\r\n delete ev.event[reqKey]\r\n }\r\n }\r\n }\r\n if (tipError) {\r\n // TODO error tip\r\n console.error('request tip errors > ', {\r\n message: error.message,\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n }\r\n return Promise.reject(error)\r\n });\r\n\r\nexport default service\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/basement/service/request.js","/**\n * Created with JetBrains PhpStorm.\n * User: taoqili\n * Date: 12-6-12\n * Time: 下午5:02\n * To change this template use File | Settings | File Templates.\n */\nUE.I18N['zh-cn'] = {\n 'labelMap':{\n 'anchor':'锚点', 'undo':'撤销', 'redo':'重做', 'bold':'加粗', 'indent':'首行缩进', 'snapscreen':'截图',\n 'italic':'斜体', 'underline':'下划线', 'strikethrough':'删除线', 'subscript':'下标','fontborder':'字符边框',\n 'superscript':'上标', 'formatmatch':'格式刷', 'source':'源代码', 'blockquote':'引用',\n 'pasteplain':'纯文本粘贴模式', 'selectall':'全选', 'print':'打印', 'preview':'预览',\n 'horizontal':'分隔线', 'removeformat':'清除格式', 'time':'时间', 'date':'日期',\n 'unlink':'取消链接', 'insertrow':'前插入行', 'insertcol':'前插入列', 'mergeright':'右合并单元格', 'mergedown':'下合并单元格',\n 'deleterow':'删除行', 'deletecol':'删除列', 'splittorows':'拆分成行',\n 'splittocols':'拆分成列', 'splittocells':'完全拆分单元格','deletecaption':'删除表格标题','inserttitle':'插入标题',\n 'mergecells':'合并多个单元格', 'deletetable':'删除表格', 'cleardoc':'清空文档','insertparagraphbeforetable':\"表格前插入行\",'insertcode':'代码语言',\n 'fontfamily':'字体', 'fontsize':'字号', 'paragraph':'段落格式', 'simpleupload':'单图上传', 'insertimage':'多图上传','edittable':'表格属性','edittd':'单元格属性', 'link':'超链接',\n 'emotion':'表情', 'spechars':'特殊字符', 'searchreplace':'查询替换', 'map':'Baidu地图', 'gmap':'Google地图',\n 'insertvideo':'视频', 'help':'帮助', 'justifyleft':'居左对齐', 'justifyright':'居右对齐', 'justifycenter':'居中对齐',\n 'justifyjustify':'两端对齐', 'forecolor':'字体颜色', 'backcolor':'背景色', 'insertorderedlist':'有序列表',\n 'insertunorderedlist':'无序列表', 'fullscreen':'全屏', 'directionalityltr':'从左向右输入', 'directionalityrtl':'从右向左输入',\n 'rowspacingtop':'段前距', 'rowspacingbottom':'段后距', 'pagebreak':'分页', 'insertframe':'插入Iframe', 'imagenone':'默认',\n 'imageleft':'左浮动', 'imageright':'右浮动', 'attachment':'附件', 'imagecenter':'居中', 'wordimage':'图片转存',\n 'lineheight':'行间距','edittip' :'编辑提示','customstyle':'自定义标题', 'autotypeset':'自动排版',\n 'webapp':'百度应用','touppercase':'字母大写', 'tolowercase':'字母小写','background':'背景','template':'模板','scrawl':'涂鸦',\n 'music':'音乐','inserttable':'插入表格','drafts': '从草稿箱加载', 'charts': '图表'\n },\n 'insertorderedlist':{\n 'num':'1,2,3...',\n 'num1':'1),2),3)...',\n 'num2':'(1),(2),(3)...',\n 'cn':'一,二,三....',\n 'cn1':'一),二),三)....',\n 'cn2':'(一),(二),(三)....',\n 'decimal':'1,2,3...',\n 'lower-alpha':'a,b,c...',\n 'lower-roman':'i,ii,iii...',\n 'upper-alpha':'A,B,C...',\n 'upper-roman':'I,II,III...'\n },\n 'insertunorderedlist':{\n 'circle':'○ 大圆圈',\n 'disc':'● 小黑点',\n 'square':'■ 小方块 ',\n 'dash' :'— 破折号',\n 'dot':' 。 小圆圈'\n },\n 'paragraph':{'p':'段落', 'h1':'标题 1', 'h2':'标题 2', 'h3':'标题 3', 'h4':'标题 4', 'h5':'标题 5', 'h6':'标题 6'},\n 'fontfamily':{\n 'songti':'宋体',\n 'kaiti':'楷体',\n 'heiti':'黑体',\n 'lishu':'隶书',\n 'yahei':'微软雅黑',\n 'andaleMono':'andale mono',\n 'arial': 'arial',\n 'arialBlack':'arial black',\n 'comicSansMs':'comic sans ms',\n 'impact':'impact',\n 'timesNewRoman':'times new roman'\n },\n 'customstyle':{\n 'tc':'标题居中',\n 'tl':'标题居左',\n 'im':'强调',\n 'hi':'明显强调'\n },\n 'autoupload': {\n 'exceedSizeError': '文件大小超出限制',\n 'exceedTypeError': '文件格式不允许',\n 'jsonEncodeError': '服务器返回格式错误',\n 'loading':\"正在上传...\",\n 'loadError':\"上传错误\",\n 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!'\n },\n 'simpleupload':{\n 'exceedSizeError': '文件大小超出限制',\n 'exceedTypeError': '文件格式不允许',\n 'jsonEncodeError': '服务器返回格式错误',\n 'loading':\"正在上传...\",\n 'loadError':\"上传错误\",\n 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!'\n },\n 'elementPathTip':\"元素路径\",\n 'wordCountTip':\"字数统计\",\n 'wordCountMsg':'当前已输入{#count}个字符, 您还可以输入{#leave}个字符。 ',\n 'wordOverFlowMsg':'字数超出最大允许值,服务器可能拒绝保存!',\n 'ok':\"确认\",\n 'cancel':\"取消\",\n 'closeDialog':\"关闭对话框\",\n 'tableDrag':\"表格拖动必须引入uiUtils.js文件!\",\n 'autofloatMsg':\"工具栏浮动依赖编辑器UI,您首先需要引入UI文件!\",\n 'loadconfigError': '获取后台配置项请求出错,上传功能将不能正常使用!',\n 'loadconfigFormatError': '后台配置项返回格式出错,上传功能将不能正常使用!',\n 'loadconfigHttpError': '请求后台配置项http错误,上传功能将不能正常使用!',\n 'snapScreen_plugin':{\n 'browserMsg':\"仅支持IE浏览器!\",\n 'callBackErrorMsg':\"服务器返回数据有误,请检查配置项之后重试。\",\n 'uploadErrorMsg':\"截图上传失败,请检查服务器端环境! \"\n },\n 'insertcode':{\n 'as3':'ActionScript 3',\n 'bash':'Bash/Shell',\n 'cpp':'C/C++',\n 'css':'CSS',\n 'cf':'ColdFusion',\n 'c#':'C#',\n 'delphi':'Delphi',\n 'diff':'Diff',\n 'erlang':'Erlang',\n 'groovy':'Groovy',\n 'html':'HTML',\n 'java':'Java',\n 'jfx':'JavaFX',\n 'js':'JavaScript',\n 'pl':'Perl',\n 'php':'PHP',\n 'plain':'Plain Text',\n 'ps':'PowerShell',\n 'python':'Python',\n 'ruby':'Ruby',\n 'scala':'Scala',\n 'sql':'SQL',\n 'vb':'Visual Basic',\n 'xml':'XML'\n },\n 'confirmClear':\"确定清空当前文档么?\",\n 'contextMenu':{\n 'delete':\"删除\",\n 'selectall':\"全选\",\n 'deletecode':\"删除代码\",\n 'cleardoc':\"清空文档\",\n 'confirmclear':\"确定清空当前文档么?\",\n 'unlink':\"删除超链接\",\n 'paragraph':\"段落格式\",\n 'edittable':\"表格属性\",\n 'aligntd':\"单元格对齐方式\",\n 'aligntable':'表格对齐方式',\n 'tableleft':'左浮动',\n 'tablecenter':'居中显示',\n 'tableright':'右浮动',\n 'edittd':\"单元格属性\",\n 'setbordervisible':'设置表格边线可见',\n 'justifyleft':'左对齐',\n 'justifyright':'右对齐',\n 'justifycenter':'居中对齐',\n 'justifyjustify':'两端对齐',\n 'table':\"表格\",\n 'inserttable':'插入表格',\n 'deletetable':\"删除表格\",\n 'insertparagraphbefore':\"前插入段落\",\n 'insertparagraphafter':'后插入段落',\n 'deleterow':\"删除当前行\",\n 'deletecol':\"删除当前列\",\n 'insertrow':\"前插入行\",\n 'insertcol':\"左插入列\",\n 'insertrownext':'后插入行',\n 'insertcolnext':'右插入列',\n 'insertcaption':'插入表格名称',\n 'deletecaption':'删除表格名称',\n 'inserttitle':'插入表格标题行',\n 'deletetitle':'删除表格标题行',\n 'inserttitlecol':'插入表格标题列',\n 'deletetitlecol':'删除表格标题列',\n 'averageDiseRow':'平均分布各行',\n 'averageDisCol':'平均分布各列',\n 'mergeright':\"向右合并\",\n 'mergeleft':\"向左合并\",\n 'mergedown':\"向下合并\",\n 'mergecells':\"合并单元格\",\n 'splittocells':\"完全拆分单元格\",\n 'splittocols':\"拆分成列\",\n 'splittorows':\"拆分成行\",\n 'tablesort':'表格排序',\n 'enablesort':'设置表格可排序',\n 'disablesort':'取消表格可排序',\n 'reversecurrent':'逆序当前',\n 'orderbyasc':'按ASCII字符升序',\n 'reversebyasc':'按ASCII字符降序',\n 'orderbynum':'按数值大小升序',\n 'reversebynum':'按数值大小降序',\n 'borderbk':'边框底纹',\n 'setcolor':'表格隔行变色',\n 'unsetcolor':'取消表格隔行变色',\n 'setbackground':'选区背景隔行',\n 'unsetbackground':'取消选区背景',\n 'redandblue':'红蓝相间',\n 'threecolorgradient':'三色渐变',\n 'copy':\"复制(Ctrl + c)\",\n 'copymsg': \"浏览器不支持,请使用 'Ctrl + c'\",\n 'paste':\"粘贴(Ctrl + v)\",\n 'pastemsg': \"浏览器不支持,请使用 'Ctrl + v'\"\n },\n 'copymsg': \"浏览器不支持,请使用 'Ctrl + c'\",\n 'pastemsg': \"浏览器不支持,请使用 'Ctrl + v'\",\n 'anthorMsg':\"链接\",\n 'clearColor':'清空颜色',\n 'standardColor':'标准颜色',\n 'themeColor':'主题颜色',\n 'property':'属性',\n 'default':'默认',\n 'modify':'修改',\n 'justifyleft':'左对齐',\n 'justifyright':'右对齐',\n 'justifycenter':'居中',\n 'justify':'默认',\n 'clear':'清除',\n 'anchorMsg':'锚点',\n 'delete':'删除',\n 'clickToUpload':\"点击上传\",\n 'unset':'尚未设置语言文件',\n 't_row':'行',\n 't_col':'列',\n 'more':'更多',\n 'pasteOpt':'粘贴选项',\n 'pasteSourceFormat':\"保留源格式\",\n 'tagFormat':'只保留标签',\n 'pasteTextFormat':'只保留文本',\n 'autoTypeSet':{\n 'mergeLine':\"合并空行\",\n 'delLine':\"清除空行\",\n 'removeFormat':\"清除格式\",\n 'indent':\"首行缩进\",\n 'alignment':\"对齐方式\",\n 'imageFloat':\"图片浮动\",\n 'removeFontsize':\"清除字号\",\n 'removeFontFamily':\"清除字体\",\n 'removeHtml':\"清除冗余HTML代码\",\n 'pasteFilter':\"粘贴过滤\",\n 'run':\"执行\",\n 'symbol':'符号转换',\n 'bdc2sb':'全角转半角',\n 'tobdc':'半角转全角'\n },\n\n 'background':{\n 'static':{\n 'lang_background_normal':'背景设置',\n 'lang_background_local':'在线图片',\n 'lang_background_set':'选项',\n 'lang_background_none':'无背景色',\n 'lang_background_colored':'有背景色',\n 'lang_background_color':'颜色设置',\n 'lang_background_netimg':'网络图片',\n 'lang_background_align':'对齐方式',\n 'lang_background_position':'精确定位',\n 'repeatType':{'options':[\"居中\", \"横向重复\", \"纵向重复\", \"平铺\",\"自定义\"]}\n\n },\n 'noUploadImage':\"当前未上传过任何图片!\",\n 'toggleSelect':\"单击可切换选中状态\\n原图尺寸: \"\n },\n //===============dialog i18N=======================\n 'insertimage':{\n 'static':{\n 'lang_tab_remote':\"插入图片\", //节点\n 'lang_tab_upload':\"本地上传\",\n 'lang_tab_online':\"在线管理\",\n 'lang_tab_search':\"图片搜索\",\n 'lang_input_url':\"地 址:\",\n 'lang_input_size':\"大 小:\",\n 'lang_input_width':\"宽度\",\n 'lang_input_height':\"高度\",\n 'lang_input_border':\"边 框:\",\n 'lang_input_vhspace':\"边 距:\",\n 'lang_input_title':\"描 述:\",\n 'lang_input_align':'图片浮动方式:',\n 'lang_imgLoading':\" 图片加载中……\",\n 'lang_start_upload':\"开始上传\",\n 'lock':{'title':\"锁定宽高比例\"}, //属性\n 'searchType':{'title':\"图片类型\", 'options':[\"新闻\", \"壁纸\", \"表情\", \"头像\"]}, //select的option\n 'searchTxt':{'value':\"请输入搜索关键词\"},\n 'searchBtn':{'value':\"百度一下\"},\n 'searchReset':{'value':\"清空搜索\"},\n 'noneAlign':{'title':'无浮动'},\n 'leftAlign':{'title':'左浮动'},\n 'rightAlign':{'title':'右浮动'},\n 'centerAlign':{'title':'居中独占一行'}\n },\n 'uploadSelectFile':'点击选择图片',\n 'uploadAddFile':'继续添加',\n 'uploadStart':'开始上传',\n 'uploadPause':'暂停上传',\n 'uploadContinue':'继续上传',\n 'uploadRetry':'重试上传',\n 'uploadDelete':'删除',\n 'uploadTurnLeft':'向左旋转',\n 'uploadTurnRight':'向右旋转',\n 'uploadPreview':'预览中',\n 'uploadNoPreview':'不能预览',\n 'updateStatusReady': '选中_张图片,共_KB。',\n 'updateStatusConfirm': '已成功上传_张照片,_张照片上传失败',\n 'updateStatusFinish': '共_张(_KB),_张上传成功',\n 'updateStatusError': ',_张上传失败。',\n 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。',\n 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!',\n 'errorExceedSize':'文件大小超出',\n 'errorFileType':'文件格式不允许',\n 'errorInterrupt':'文件传输中断',\n 'errorUploadRetry':'上传失败,请重试',\n 'errorHttp':'http请求错误',\n 'errorServerUpload':'服务器返回出错',\n 'remoteLockError':\"宽高不正确,不能所定比例\",\n 'numError':\"请输入正确的长度或者宽度值!例如:123,400\",\n 'imageUrlError':\"不允许的图片格式或者图片域!\",\n 'imageLoadError':\"图片加载失败!请检查链接地址或网络状态!\",\n 'searchRemind':\"请输入搜索关键词\",\n 'searchLoading':\"图片加载中,请稍后……\",\n 'searchRetry':\" :( ,抱歉,没有找到图片!请重试一次!\"\n },\n 'attachment':{\n 'static':{\n 'lang_tab_upload': '上传附件',\n 'lang_tab_online': '在线附件',\n 'lang_start_upload':\"开始上传\",\n 'lang_drop_remind':\"可以将文件拖到这里,单次最多可选100个文件\"\n },\n 'uploadSelectFile':'点击选择文件',\n 'uploadAddFile':'继续添加',\n 'uploadStart':'开始上传',\n 'uploadPause':'暂停上传',\n 'uploadContinue':'继续上传',\n 'uploadRetry':'重试上传',\n 'uploadDelete':'删除',\n 'uploadTurnLeft':'向左旋转',\n 'uploadTurnRight':'向右旋转',\n 'uploadPreview':'预览中',\n 'updateStatusReady': '选中_个文件,共_KB。',\n 'updateStatusConfirm': '已成功上传_个文件,_个文件上传失败',\n 'updateStatusFinish': '共_个(_KB),_个上传成功',\n 'updateStatusError': ',_张上传失败。',\n 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。',\n 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!',\n 'errorExceedSize':'文件大小超出',\n 'errorFileType':'文件格式不允许',\n 'errorInterrupt':'文件传输中断',\n 'errorUploadRetry':'上传失败,请重试',\n 'errorHttp':'http请求错误',\n 'errorServerUpload':'服务器返回出错'\n },\n 'insertvideo':{\n 'static':{\n 'lang_tab_insertV':\"插入视频\",\n 'lang_tab_searchV':\"搜索视频\",\n 'lang_tab_uploadV':\"上传视频\",\n 'lang_video_url':\"视频网址\",\n 'lang_video_size':\"视频尺寸\",\n 'lang_videoW':\"宽度\",\n 'lang_videoH':\"高度\",\n 'lang_alignment':\"对齐方式\",\n 'videoSearchTxt':{'value':\"请输入搜索关键字!\"},\n 'videoType':{'options':[\"全部\", \"热门\", \"娱乐\", \"搞笑\", \"体育\", \"科技\", \"综艺\"]},\n 'videoSearchBtn':{'value':\"百度一下\"},\n 'videoSearchReset':{'value':\"清空结果\"},\n\n 'lang_input_fileStatus':' 当前未上传文件',\n 'startUpload':{'style':\"background:url(upload.png) no-repeat;\"},\n\n 'lang_upload_size':\"视频尺寸\",\n 'lang_upload_width':\"宽度\",\n 'lang_upload_height':\"高度\",\n 'lang_upload_alignment':\"对齐方式\",\n 'lang_format_advice':\"建议使用mp4格式.\"\n\n },\n 'numError':\"请输入正确的数值,如123,400\",\n 'floatLeft':\"左浮动\",\n 'floatRight':\"右浮动\",\n '\"default\"':\"默认\",\n 'block':\"独占一行\",\n 'urlError':\"输入的视频地址有误,请检查后再试!\",\n 'loading':\"  视频加载中,请等待……\",\n 'clickToSelect':\"点击选中\",\n 'goToSource':'访问源视频',\n 'noVideo':\"    抱歉,找不到对应的视频,请重试!\",\n\n 'browseFiles':'浏览文件',\n 'uploadSuccess':'上传成功!',\n 'delSuccessFile':'从成功队列中移除',\n 'delFailSaveFile':'移除保存失败文件',\n 'statusPrompt':' 个文件已上传! ',\n 'flashVersionError':'当前Flash版本过低,请更新FlashPlayer后重试!',\n 'flashLoadingError':'Flash加载失败!请检查路径或网络状态',\n 'fileUploadReady':'等待上传……',\n 'delUploadQueue':'从上传队列中移除',\n 'limitPrompt1':'单次不能选择超过',\n 'limitPrompt2':'个文件!请重新选择!',\n 'delFailFile':'移除失败文件',\n 'fileSizeLimit':'文件大小超出限制!',\n 'emptyFile':'空文件无法上传!',\n 'fileTypeError':'文件类型不允许!',\n 'unknownError':'未知错误!',\n 'fileUploading':'上传中,请等待……',\n 'cancelUpload':'取消上传',\n 'netError':'网络错误',\n 'failUpload':'上传失败!',\n 'serverIOError':'服务器IO错误!',\n 'noAuthority':'无权限!',\n 'fileNumLimit':'上传个数限制',\n 'failCheck':'验证失败,本次上传被跳过!',\n 'fileCanceling':'取消中,请等待……',\n 'stopUploading':'上传已停止……',\n\n 'uploadSelectFile':'点击选择文件',\n 'uploadAddFile':'继续添加',\n 'uploadStart':'开始上传',\n 'uploadPause':'暂停上传',\n 'uploadContinue':'继续上传',\n 'uploadRetry':'重试上传',\n 'uploadDelete':'删除',\n 'uploadTurnLeft':'向左旋转',\n 'uploadTurnRight':'向右旋转',\n 'uploadPreview':'预览中',\n 'updateStatusReady': '选中_个文件,共_KB。',\n 'updateStatusConfirm': '成功上传_个,_个失败',\n 'updateStatusFinish': '共_个(_KB),_个成功上传',\n 'updateStatusError': ',_张上传失败。',\n 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。',\n 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!',\n 'errorExceedSize':'文件大小超出',\n 'errorFileType':'文件格式不允许',\n 'errorInterrupt':'文件传输中断',\n 'errorUploadRetry':'上传失败,请重试',\n 'errorHttp':'http请求错误',\n 'errorServerUpload':'服务器返回出错'\n },\n 'webapp':{\n 'tip1':\"本功能由百度APP提供,如看到此页面,请各位站长首先申请百度APPKey!\",\n 'tip2':\"申请完成之后请至ueditor.config.js中配置获得的appkey! \",\n 'applyFor':\"点此申请\",\n 'anthorApi':\"百度API\"\n },\n 'template':{\n 'static':{\n 'lang_template_bkcolor':'背景颜色',\n 'lang_template_clear' : '保留原有内容',\n 'lang_template_select' : '选择模板'\n },\n 'blank':\"空白文档\",\n 'blog':\"博客文章\",\n 'resume':\"个人简历\",\n 'richText':\"图文混排\",\n 'sciPapers':\"科技论文\"\n\n\n },\n 'scrawl':{\n 'static':{\n 'lang_input_previousStep':\"上一步\",\n 'lang_input_nextsStep':\"下一步\",\n 'lang_input_clear':'清空',\n 'lang_input_addPic':'添加背景',\n 'lang_input_ScalePic':'缩放背景',\n 'lang_input_removePic':'删除背景',\n 'J_imgTxt':{title:'添加背景图片'}\n },\n 'noScarwl':\"尚未作画,白纸一张~\",\n 'scrawlUpLoading':\"涂鸦上传中,别急哦~\",\n 'continueBtn':\"继续\",\n 'imageError':\"糟糕,图片读取失败了!\",\n 'backgroundUploading':'背景图片上传中,别急哦~'\n },\n 'music':{\n 'static':{\n 'lang_input_tips':\"输入歌手/歌曲/专辑,搜索您感兴趣的音乐!\",\n 'J_searchBtn':{value:'搜索歌曲'}\n },\n 'emptyTxt':'未搜索到相关音乐结果,请换一个关键词试试。',\n 'chapter':'歌曲',\n 'singer':'歌手',\n 'special':'专辑',\n 'listenTest':'试听'\n },\n 'anchor':{\n 'static':{\n 'lang_input_anchorName':'锚点名字:'\n }\n },\n 'charts':{\n 'static':{\n 'lang_data_source':'数据源:',\n 'lang_chart_format': '图表格式:',\n 'lang_data_align': '数据对齐方式',\n 'lang_chart_align_same': '数据源与图表X轴Y轴一致',\n 'lang_chart_align_reverse': '数据源与图表X轴Y轴相反',\n 'lang_chart_title': '图表标题',\n 'lang_chart_main_title': '主标题:',\n 'lang_chart_sub_title': '子标题:',\n 'lang_chart_x_title': 'X轴标题:',\n 'lang_chart_y_title': 'Y轴标题:',\n 'lang_chart_tip': '提示文字',\n 'lang_cahrt_tip_prefix': '提示文字前缀:',\n 'lang_cahrt_tip_description': '仅饼图有效, 当鼠标移动到饼图中相应的块上时,提示框内的文字的前缀',\n 'lang_chart_data_unit': '数据单位',\n 'lang_chart_data_unit_title': '单位:',\n 'lang_chart_data_unit_description': '显示在每个数据点上的数据的单位, 比如: 温度的单位 ℃',\n 'lang_chart_type': '图表类型:',\n 'lang_prev_btn': '上一个',\n 'lang_next_btn': '下一个'\n }\n },\n 'emotion':{\n 'static':{\n 'lang_input_choice':'精选',\n 'lang_input_Tuzki':'兔斯基',\n 'lang_input_BOBO':'BOBO',\n 'lang_input_lvdouwa':'绿豆蛙',\n 'lang_input_babyCat':'baby猫',\n 'lang_input_bubble':'泡泡',\n 'lang_input_youa':'有啊'\n }\n },\n 'gmap':{\n 'static':{\n 'lang_input_address':'地址',\n 'lang_input_search':'搜索',\n 'address':{value:\"北京\"}\n },\n searchError:'无法定位到该地址!'\n },\n 'help':{\n 'static':{\n 'lang_input_about':'关于UEditor',\n 'lang_input_shortcuts':'快捷键',\n 'lang_input_introduction':'UEditor是由百度web前端研发部开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点。开源基于BSD协议,允许自由使用和修改代码。',\n 'lang_Txt_shortcuts':'快捷键',\n 'lang_Txt_func':'功能',\n 'lang_Txt_bold':'给选中字设置为加粗',\n 'lang_Txt_copy':'复制选中内容',\n 'lang_Txt_cut':'剪切选中内容',\n 'lang_Txt_Paste':'粘贴',\n 'lang_Txt_undo':'重新执行上次操作',\n 'lang_Txt_redo':'撤销上一次操作',\n 'lang_Txt_italic':'给选中字设置为斜体',\n 'lang_Txt_underline':'给选中字加下划线',\n 'lang_Txt_selectAll':'全部选中',\n 'lang_Txt_visualEnter':'软回车',\n 'lang_Txt_fullscreen':'全屏'\n }\n },\n 'insertframe':{\n 'static':{\n 'lang_input_address':'地址:',\n 'lang_input_width':'宽度:',\n 'lang_input_height':'高度:',\n 'lang_input_isScroll':'允许滚动条:',\n 'lang_input_frameborder':'显示框架边框:',\n 'lang_input_alignMode':'对齐方式:',\n 'align':{title:\"对齐方式\", options:[\"默认\", \"左对齐\", \"右对齐\", \"居中\"]}\n },\n 'enterAddress':'请输入地址!'\n },\n 'link':{\n 'static':{\n 'lang_input_text':'文本内容:',\n 'lang_input_url':'链接地址:',\n 'lang_input_title':'标题:',\n 'lang_input_target':'是否在新窗口打开:'\n },\n 'validLink':'只支持选中一个链接时生效',\n 'httpPrompt':'您输入的超链接中不包含http等协议名称,默认将为您添加http://前缀'\n },\n 'map':{\n 'static':{\n lang_city:\"城市\",\n lang_address:\"地址\",\n city:{value:\"北京\"},\n lang_search:\"搜索\",\n lang_dynamicmap:\"插入动态地图\"\n },\n cityMsg:\"请选择城市\",\n errorMsg:\"抱歉,找不到该位置!\"\n },\n 'searchreplace':{\n 'static':{\n lang_tab_search:\"查找\",\n lang_tab_replace:\"替换\",\n lang_search1:\"查找\",\n lang_search2:\"查找\",\n lang_replace:\"替换\",\n lang_searchReg:'支持正则表达式,添加前后斜杠标示为正则表达式,例如“/表达式/”',\n lang_searchReg1:'支持正则表达式,添加前后斜杠标示为正则表达式,例如“/表达式/”',\n lang_case_sensitive1:\"区分大小写\",\n lang_case_sensitive2:\"区分大小写\",\n nextFindBtn:{value:\"下一个\"},\n preFindBtn:{value:\"上一个\"},\n nextReplaceBtn:{value:\"下一个\"},\n preReplaceBtn:{value:\"上一个\"},\n repalceBtn:{value:\"替换\"},\n repalceAllBtn:{value:\"全部替换\"}\n },\n getEnd:\"已经搜索到文章末尾!\",\n getStart:\"已经搜索到文章头部\",\n countMsg:\"总共替换了{#count}处!\"\n },\n 'snapscreen':{\n 'static':{\n lang_showMsg:\"截图功能需要首先安装UEditor截图插件! \",\n lang_download:\"点此下载\",\n lang_step1:\"第一步,下载UEditor截图插件并运行安装。\",\n lang_step2:\"第二步,插件安装完成后即可使用,如不生效,请重启浏览器后再试!\"\n }\n },\n 'spechars':{\n 'static':{},\n tsfh:\"特殊字符\",\n lmsz:\"罗马字符\",\n szfh:\"数学字符\",\n rwfh:\"日文字符\",\n xlzm:\"希腊字母\",\n ewzm:\"俄文字符\",\n pyzm:\"拼音字母\",\n yyyb:\"英语音标\",\n zyzf:\"其他\"\n },\n 'edittable':{\n 'static':{\n 'lang_tableStyle':'表格样式',\n 'lang_insertCaption':'添加表格名称行',\n 'lang_insertTitle':'添加表格标题行',\n 'lang_insertTitleCol':'添加表格标题列',\n 'lang_orderbycontent':\"使表格内容可排序\",\n 'lang_tableSize':'自动调整表格尺寸',\n 'lang_autoSizeContent':'按表格文字自适应',\n 'lang_autoSizePage':'按页面宽度自适应',\n 'lang_example':'示例',\n 'lang_borderStyle':'表格边框',\n 'lang_color':'颜色:'\n },\n captionName:'表格名称',\n titleName:'标题',\n cellsName:'内容',\n errorMsg:'有合并单元格,不可排序'\n },\n 'edittip':{\n 'static':{\n lang_delRow:'删除整行',\n lang_delCol:'删除整列'\n }\n },\n 'edittd':{\n 'static':{\n lang_tdBkColor:'背景颜色:'\n }\n },\n 'formula':{\n 'static':{\n }\n },\n 'wordimage':{\n 'static':{\n lang_resave:\"转存步骤\",\n uploadBtn:{src:\"upload.png\",alt:\"上传\"},\n clipboard:{style:\"background: url(copy.png) -153px -1px no-repeat;\"},\n lang_step:\"1、点击顶部复制按钮,将地址复制到剪贴板;2、点击添加照片按钮,在弹出的对话框中使用Ctrl+V粘贴地址;3、点击打开后选择图片上传流程。\"\n },\n 'fileType':\"图片\",\n 'flashError':\"FLASH初始化失败,请检查FLASH插件是否正确安装!\",\n 'netError':\"网络连接错误,请重试!\",\n 'copySuccess':\"图片地址已经复制!\",\n 'flashI18n':{} //留空默认中文\n },\n 'autosave': {\n 'saving':'保存中...',\n 'success':'本地保存成功'\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/UEditor/lang/zh-cn/zh-cn.js\n// module id = mOxW\n// module chunks = 218","import request from '../../../basement/service/request'\r\n\r\n\r\n/* 未读消息数量 */\r\nexport function _noticeUnreadCount() {\r\n return request({\r\n url: '/console/api/notice/count',\r\n method: 'get'\r\n })\r\n}\r\n\r\n/* 消息列表 */\r\nexport function _noticeList(_page, _size) {\r\n const _params = {\r\n page: _page,\r\n size: _size\r\n };\r\n return request({\r\n url: '/console/api/notice/',\r\n method: 'get',\r\n params: _params\r\n })\r\n}\r\n\r\n\r\n/* 已读消息数量 */\r\nexport function _noticeRead(_id) {\r\n const _params = {\r\n noticeId: _id\r\n };\r\n return request({\r\n url: '/console/api/notice/read',\r\n method: 'put',\r\n params: _params\r\n })\r\n}\r\n\r\n/* 已读消息数量 */\r\nexport function _noticeDiscarded(_id) {\r\n const _params = {\r\n noticeId: _id\r\n };\r\n return request({\r\n url: '/console/api/notice/discarded',\r\n method: 'delete',\r\n params: _params\r\n })\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/service/api/notice-api.js","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xOS40ODQ3IDguMDUzMzRMMTYuNzMwNyAyLjE1Mjg1QzE2LjQzNTcgMS43NTkwNSAxNi4wNDI1IDEuNDYzMzggMTUuNTUwNiAxLjQ2MzM4SDQuMTQyMUMzLjY1MDgzIDEuNDYzMzggMy4xNTg5IDEuNzU4NCAyLjk2MjAxIDIuMTUxNTVMMC4xMDk4ODYgOC4wNTMzNEMtMC4wODYzNjY2IDguNTQ1OTEgMC4wMTE3NTk4IDkuMTM1OTYgMC4zMDY3ODQgOS41MjkxMUw4Ljg2MzE0IDE4Ljc3MzZDOS4xNTgxNyAxOC45NzA1IDkuNDUzMTkgMTkuMTY3NCA5Ljg0NjM0IDE5LjE2NzRDMTAuMjQwMSAxOS4xNjc0IDEwLjUzNDUgMTguOTcwNSAxMC44MzAyIDE4Ljc3MzZMMTkuMjg3MSA5LjQzMDk4QzE5LjY4MDkgOS4wMzcxOCAxOS42ODA5IDguNTQ1OTEgMTkuNDg0NyA4LjA1Mzk4VjguMDUzMzRaTTkuODQ2MzQgMTcuMzk2TDEuNjgzNzggOC41NDUyNkw0LjMzODM2IDMuMDM3MjdIMTUuMjU0OUwxNy45MTAxIDguNTQ1MjZMOS44NDU3IDE3LjM5Nkg5Ljg0NjM0WiIgZmlsbD0id2hpdGUiLz4NCjxwYXRoIGQ9Ik0xNC4zNzAzIDcuMDY5NTZMOS44NDYxMyAxMi4xODM3TDUuNDIwNzYgNy4wNjk1NkM1LjEyNTc0IDYuNzc0NTMgNC42MzMxNyA2LjY3NjQgNC4yNDA2NyA2Ljk3MTQzQzMuODQ2ODcgNy4yNjY0NSAzLjg0Njg3IDcuNzU4MzggNC4xNDE4OSA4LjA1MzRMOC43NjQxNiAxMy4zNjM4QzkuMDU5MTkgMTMuNjU4OSA5LjQ1Mjk4IDEzLjg1NTggOS44NDYxMyAxMy44NTU4QzEwLjIzOTkgMTMuODU1OCAxMC42MzMxIDEzLjY1ODkgMTAuODMgMTMuMzYzOEwxNS42NDg1IDguMDUzNEMxNS45NDM1IDcuNzU4MzggMTUuODQ1NCA3LjI2NjQ1IDE1LjU1MDQgNi45NzE0M0MxNS4xNTY2IDYuNjc2NCAxNC42NjUzIDYuNzc0NTMgMTQuMzcwMyA3LjA2OTU2WiIgZmlsbD0id2hpdGUiLz4NCjwvc3ZnPg0K\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/home/ic-zy.svg\n// module id = oWsk\n// module chunks = 218","/**\r\n * Simplified Chinese translation for bootstrap-datetimepicker\r\n * Yuan Cheung \r\n */\r\n;(function ($) {\r\n $.fn.datetimepicker.dates['zh-CN'] = {\r\n days: [\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\", \"星期六\", \"星期日\"],\r\n daysShort: [\"周日\", \"周一\", \"周二\", \"周三\", \"周四\", \"周五\", \"周六\", \"周日\"],\r\n daysMin: [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"日\"],\r\n months: [\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十二月\"],\r\n monthsShort: [\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十二月\"],\r\n today: \"今天\",\r\n clear: \"清除\",\r\n suffix: [],\r\n meridiem: [\"上午\", \"下午\"]\r\n };\r\n}(jQuery));\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/lib/datetime-picker/js/locales/bootstrap-datetimepicker.zh-CN.js"],"sourceRoot":""}