{"version":3,"sources":["webpack:///./src/views/Program/Wording/CoverPageEdit.vue?ce68","webpack:///./src/views/Program/Wording/CoverPageEdit.vue?e4a1","webpack:///./src/views/Program/Wording/CoverPageEdit.vue","webpack:///./src/views/Program/Wording/CoverPageEdit.vue?c7b4"],"names":["_withScopeId","n","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","style","_hoisted_6","_hoisted_7","id","render","_ctx","_cache","$props","$setup","$data","$options","_component_Breadcrumb","_component_a_button","dataSource","name","type","activeWording","onClick","$event","handleWording","default","_","handleSaveWording","isFixed","setup","instance","setHTML","batchId","coverCn","coverEn","getHTML","txt","html","value","String","replaceAll","init","destroy","E","window","wangEditor","params","sessionStorage","getItem","Object","assign","JSON","parse","then","res","BtnMenu","editor","$elem","$","clickHandler","this","isEmptySelection","selection","isSelectionEmpty","$selectionElem","getSelectionContainerElem","elems","getSelectionText","document","getElementById","cmd","do","collapseRange","restoreSelection","tryChangeActive","active","registerMenu","CustomColorMenu","config","excludeMenus","uploadImgShowBase64","showLinkImg","Hr","create","colorSelector","createElement","setAttribute","message","success","acitve","addEventListener","documentElement","scrollTop","__exports__"],"mappings":"gHAAA,W,gFCEMA,EAAe,SAAAC,GAAK,OAAC,yBAAa,mBAAmBA,EAAEA,IAAI,0BAAcA,GACzEC,EAAa,CAAEC,MAAO,oBACtBC,EAAa,CAAED,MAAO,0BACtBE,EAA0B,6BAAiB,uBAC3CC,EAA0B,6BAAiB,uBAC3CC,EAA2BP,GAAa,WAAmB,uCAAoB,OAAQ,CAAEQ,MAAO,CAAC,KAAO,MAAQ,MAAO,MACvHC,EAA0B,6BAAiB,QAC3CC,EAA2BV,GAAa,WAAmB,uCAAoB,MAAO,CAC1FW,GAAI,iBACJR,MAAO,QACN,MAAO,MAEH,SAASS,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,IAAMC,EAAwB,8BAAkB,cAC1CC,EAAsB,8BAAkB,YAE9C,OAAQ,yBAAc,gCAAoB,MAAOlB,EAAY,CAC3D,yBAAaiB,EAAuB,CAAEE,WAAY,CAAC,CAACC,KAAM,iBAC1D,gCAAoB,MAAOlB,EAAY,CACrC,yBAAagB,EAAqB,CAChCjB,MAAO,oBACPoB,KAA6B,IAAvBV,EAAKW,cAAsB,UAAW,UAC5CC,QAASX,EAAO,KAAOA,EAAO,GAAK,SAACY,GAAgB,OAACb,EAAKc,cAAc,MACvE,CACDC,QAAS,sBAAS,WAAM,OACtBvB,MAEFwB,EAAG,GACF,EAAG,CAAC,SACP,yBAAaT,EAAqB,CAChCjB,MAAO,aACPoB,KAA6B,IAAvBV,EAAKW,cAAsB,UAAY,UAC7CC,QAASX,EAAO,KAAOA,EAAO,GAAK,SAACY,GAAgB,OAACb,EAAKc,cAAc,MACvE,CACDC,QAAS,sBAAS,WAAM,OACtBtB,MAEFuB,EAAG,GACF,EAAG,CAAC,SACPtB,EACA,yBAAaa,EAAqB,CAChCG,KAAM,UACNpB,MAAO,SACPsB,QAASZ,EAAKiB,mBACb,CACDF,QAAS,sBAAS,WAAM,OACtBnB,MAEFoB,EAAG,GACF,EAAG,CAAC,cAET,gCAAoB,MAAO,CACzBlB,GAAI,oBACJR,MAAO,4BAAgB,CAAC,gBAAiBU,EAAKkB,WAC7C,KAAM,GACTrB,I,wCCrDW,+BAAgB,CAC3BY,KAAM,kBACNU,MAAA,WAEI,IASIC,EATET,EAAgB,iBAAY,GAG5BU,EAAU,iBAAI,CAChBC,QAAS,GACTC,QAAS,GACTC,QAAS,KAMPC,EAAU,WACZL,EAASM,IAAIC,KAAK,IAA2B,IAAxBhB,EAAciB,MAAcC,OAAOR,EAAQO,MAAMJ,SAASM,WAAW,UAAW,cAAgBD,OAAOR,EAAQO,MAAML,SAASO,WAAW,UAAW,iBAGvKC,EAAO,WACLX,IACAA,EAASY,UACTZ,EAAW,MAGf,IAAMa,EAAIC,OAAOC,WACjBf,EAAW,IAAIc,OAAOC,WAAW,qBAAsB,mBACvD,IAAMC,EAAS,CACXd,QAAS,IAETe,eAAeC,QAAQ,kBAAgE,OAA5CD,eAAeC,QAAQ,kBAClEC,OAAOC,OAAOJ,EAAQK,KAAKC,MAAML,eAAeC,QAAQ,mBAE5D,eAA6B,CAACF,OAAQA,IAASO,MAAK,SAAAC,GAChDvB,EAAQO,MAAQgB,EAChBnB,OAGI,IAAAoB,EAA+DZ,EAAC,QAExE,GAFuEA,EAAC,aAADA,EAAC,UAADA,EAAC,SAADA,EAAC,MAADA,EAAC,QAExE,YACI,WAAYa,GAAZ,WACUC,EAAQd,EAAEe,EACZ,yK,OAKJ,cAAMD,EAAOD,IAAO,K,EAoC5B,OA5C8B,oBAW1B,YAAAG,aAAA,W,MACUH,EAASI,KAAKJ,OACdK,EAAmBL,EAAOM,UAAUC,mBACpCC,EAA6D,QAA5C,EAAAR,EAAOM,UAAUG,mCAA2B,eAAEC,MAAM,GAE3E,GAAsB,MAAlBF,EAAJ,CAGuBR,EAAOM,UAAUK,mBASpCC,WAAqB,OAARA,eAAQ,IAARA,cAAQ,EAARA,SAAUC,eAAe,UAA8B/B,OACpEkB,EAAOc,IAAIC,GAAG,aAAsB,OAARH,eAAQ,IAARA,cAAQ,EAARA,SAAUC,eAAe,UAA8B/B,OAInFuB,IAEAL,EAAOM,UAAUU,gBACjBhB,EAAOM,UAAUW,sBAIzB,YAAAC,gBAAA,WACId,KAAKe,UAGb,EA5CA,CAA8BpB,IA8C9BZ,EAAEiC,aAAa,kBAAmBC,GAGlC/C,EAASgD,OAAOC,aAAe,CAC3B,WACA,SAMJjD,EAASgD,OAAOE,qBAAsB,EAEtClD,EAASgD,OAAOG,aAAc,EAC9BnD,EAASgD,OAAOI,IAAK,EACrBpD,EAASqD,SACT,IAAMC,EAAgBhB,SAASiB,cAAc,SAC7CD,EAAcE,aAAa,KAAM,SACjCF,EAAcE,aAAa,cAAe,YAKxC3D,EAAoB,WACtB,IAAMmB,EAIF,CACAd,QAAS,IAEbc,EAAOd,QAAUmB,KAAKC,MAAML,eAAeC,QAAQ,kBAA4BhB,QACvD,IAAxBX,EAAciB,MAAcQ,EAAOZ,QAAUJ,EAASM,IAAIC,OAASS,EAAOb,QAAUH,EAASM,IAAIC,OACjG,eAAsBS,GAAQO,MAAK,WAC/BkC,EAAA,KAAQC,QAAQ,mBAChB/C,QAKFjB,EAAgB,SAACiE,GACnBpE,EAAciB,MAAQmD,EACtBtD,KAGEP,EAAU,kBAAI,GAcpB,OAbA,wBAAU,WACNa,IACAG,OAAO8C,iBAAiB,UAAU,WAC9B9D,EAAQU,MAAQ8B,SAASuB,gBAAgBC,UAAY,UAK7D,8BAAgB,WACZ9D,EAASY,UACTZ,EAAW,QAGR,CACHF,QAAO,EACPD,kBAAiB,EACjBN,cAAa,EACbG,cAAa,M,iCCnJzB,MAAMqE,EAA2B,IAAgB,EAAQ,CAAC,CAAC,SAASpF,GAAQ,CAAC,YAAY,qBAE1E","file":"js/chunk-3a04464d.d633913a.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./CoverPageEdit.vue?vue&type=style&index=0&id=42a1402e&lang=scss&scoped=true\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-42a1402e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"p-r wording-edit\" }\nconst _hoisted_2 = { class: \"flex-div m-t-10 m-l-10\" }\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\"External Wording EN\")\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\"External Wording CN\")\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { style: {\"flex\":\"1\"} }, null, -1))\nconst _hoisted_6 = /*#__PURE__*/_createTextVNode(\"Save\")\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n id: \"text-container\",\n class: \"text\"\n}, null, -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Breadcrumb = _resolveComponent(\"Breadcrumb\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Breadcrumb, { dataSource: [{name: 'Cover Page'}] }),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_a_button, {\n class: \"m-r-10 f-l m-b-10\",\n type: _ctx.activeWording === 1 ? 'primary': 'default',\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.handleWording(1)))\n }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }, 8, [\"type\"]),\n _createVNode(_component_a_button, {\n class: \"f-l m-b-10\",\n type: _ctx.activeWording === 2 ? 'primary' : 'default',\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.handleWording(2)))\n }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }, 8, [\"type\"]),\n _hoisted_5,\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"m-r-10\",\n onClick: _ctx.handleSaveWording\n }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _createElementVNode(\"div\", {\n id: \"toolbar-container\",\n class: _normalizeClass({'toolbar-fixed': _ctx.isFixed})\n }, null, 2),\n _hoisted_7\n ]))\n}","\nimport { defineComponent, onMounted, onBeforeUnmount, ref } from 'vue';\nimport { saveReleaseBatchCover, getReleaseBatchCovereContent } from '@/API/program'\nimport { message } from \"ant-design-vue\"\nexport default defineComponent({\n name: 'Cover Page Edit',\n setup() {\n // 切换当前中英文\n const activeWording = ref(1)\n\n // 渲染用的数据\n const setHTML = ref({\n batchId: '',\n coverCn: '',\n coverEn: ''\n })\n\n let instance: any;\n\n // 渲染到编辑器\n const getHTML = () => {\n instance.txt.html(`${activeWording.value === 1 ? String(setHTML.value.coverEn).replaceAll(' {\n if (instance) {\n instance.destroy()\n instance = null\n }\n \n const E = window.wangEditor\n instance = new window.wangEditor('#toolbar-container', '#text-container')\n const params = {\n batchId: '',\n }\n if (sessionStorage.getItem('batchIdParams') && sessionStorage.getItem('batchIdParams') !== null) {\n Object.assign(params, JSON.parse(sessionStorage.getItem('batchIdParams') as string))\n }\n getReleaseBatchCovereContent({params: params}).then(res => {\n setHTML.value = res\n getHTML()\n })\n // 隐藏表情,和视频菜单\n const { BtnMenu, DropListMenu, PanelMenu, DropList, Panel, Tooltip } = E\n // 创建 class\n class CustomColorMenu extends BtnMenu {\n constructor(editor: any) {\n const $elem = E.$(\n `
\n \n
`\n \n )\n super($elem, editor)\n }\n // 菜单点击事件\n clickHandler() {\n const editor = this.editor\n const isEmptySelection = editor.selection.isSelectionEmpty()\n const $selectionElem = editor.selection.getSelectionContainerElem()?.elems[0]\n\n if ($selectionElem == null) return\n\n // 获取选区范围的文字\n const $selectionText = editor.selection.getSelectionText()\n // // 如果设置的是 a 标签就特殊处理一下,避免回车换行设置颜色无效的情况\n // // 只处理选中a标签内全部文字的情况,因为选中部分文字不存在换行颜色失效的情况\n // if ($selectionElem.nodeName === 'A' && $selectionElem.textContent === $selectionText) {\n // // 创建一个相当于占位的元素\n // const _payloadElem = $('').getNode()\n // // 添加到a标签之后\n // $selectionElem.appendChild(_payloadElem)\n // }\n if (document && (document?.getElementById('color') as HTMLInputElement).value) {\n editor.cmd.do('foreColor', (document?.getElementById('color') as HTMLInputElement).value)\n }\n \n\n if (isEmptySelection) {\n // 需要将选区范围折叠起来\n editor.selection.collapseRange()\n editor.selection.restoreSelection()\n }\n }\n // 菜单激活状态\n tryChangeActive() {\n this.active() // 菜单激活\n // this.unActive() // 菜单不激活\n }\n }\n // 注册菜单 [全局模式注册菜单]\n E.registerMenu('CustomColorMenu', CustomColorMenu)\n\n\n instance.config.excludeMenus = [\n 'emoticon',\n 'video'\n ]\n // 可使用 base64 格式保存图片。即,可选择本地图片,编辑器用 base64 格式显示图片。\n // 上传图服务器\n // instance.config.uploadImgServer = '/upload-img'\n // uploadImgShowBase64(base64 格式)和 uploadImgServer(上传图片到服务器)两者不能同时使用\n instance.config.uploadImgShowBase64 = true\n // 隐藏网络图片\n instance.config.showLinkImg = false\n instance.config.Hr = false\n instance.create()\n const colorSelector = document.createElement('INPUT')\n colorSelector.setAttribute('id', 'color')\n colorSelector.setAttribute('placeholder', '请输入颜色英文')\n }\n \n \n // 保存编辑后的wording\n const handleSaveWording = () => {\n const params: {\n batchId: string;\n coverEn?: string;\n coverCn?: string;\n } = {\n batchId: ''\n }\n params.batchId = JSON.parse(sessionStorage.getItem('batchIdParams') as string).batchId\n activeWording.value === 1 ? params.coverEn = instance.txt.html() : params.coverCn = instance.txt.html()\n saveReleaseBatchCover(params).then(() => {\n message.success('Save successed!')\n init()\n })\n }\n\n // 切换中英文\n const handleWording = (acitve: number) => {\n activeWording.value = acitve\n getHTML()\n }\n\n const isFixed = ref(false)\n onMounted(() => {\n init()\n window.addEventListener('scroll', () => {\n isFixed.value = document.documentElement.scrollTop > 200\n })\n })\n\n // 在路由卸载之后,需要清掉编辑器\n onBeforeUnmount(() => {\n instance.destroy()\n instance = null\n })\n\n return {\n isFixed,\n handleSaveWording,\n activeWording,\n handleWording\n }\n }\n})\n","import { render } from \"./CoverPageEdit.vue?vue&type=template&id=42a1402e&scoped=true&ts=true\"\nimport script from \"./CoverPageEdit.vue?vue&type=script&lang=ts\"\nexport * from \"./CoverPageEdit.vue?vue&type=script&lang=ts\"\n\nimport \"./CoverPageEdit.vue?vue&type=style&index=0&id=42a1402e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-42a1402e\"]])\n\nexport default __exports__"],"sourceRoot":""}