@vipl520/dk-ui 1.0.68 → 1.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +4 -1
- package/dist/index.min.js +4 -4
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +4 -4
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +4 -1
- package/dist/web-types.json +1 -1
- package/es/tiny-editor/src/config.mjs +1 -1
- package/es/tiny-editor/src/config.mjs.map +1 -1
- package/es/tiny-editor/src/tiny-editor.vue2.mjs +3 -0
- package/es/tiny-editor/src/tiny-editor.vue2.mjs.map +1 -1
- package/lib/tiny-editor/src/config.js +1 -1
- package/lib/tiny-editor/src/config.js.map +1 -1
- package/lib/tiny-editor/src/tiny-editor.vue2.js +3 -0
- package/lib/tiny-editor/src/tiny-editor.vue2.js.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -1344,7 +1344,7 @@ const init = {
|
|
1344
1344
|
editimage_cors_hosts: ["picsum.photos"],
|
1345
1345
|
menubar: "file edit view insert format tools table help",
|
1346
1346
|
toolbar: "showImage bold italic underline strikethrough fontfamily fontsize blocks alignleft aligncenter alignright alignjustify numlist bullist forecolor backcolor removeformat image media link emoticons code preview fullscreen |",
|
1347
|
-
toolbar_sticky:
|
1347
|
+
toolbar_sticky: false,
|
1348
1348
|
// content_css: 'document',
|
1349
1349
|
height: 400,
|
1350
1350
|
quickbars_selection_toolbar: "bold italic | quicklink h2 h3 blockquote showImage",
|
@@ -1477,13 +1477,16 @@ var _sfc_main$1f = /* @__PURE__ */ defineComponent({
|
|
1477
1477
|
reject(err);
|
1478
1478
|
});
|
1479
1479
|
});
|
1480
|
+
const tinymceId = ref("vue-tinymce-" + +/* @__PURE__ */ new Date() + ((Math.random() * 1e3).toFixed(0) + ""));
|
1480
1481
|
const init = ref({
|
1482
|
+
selector: "#" + tinymceId.value,
|
1481
1483
|
...config$1,
|
1482
1484
|
height: props.height,
|
1483
1485
|
content_css: props.document ? "document" : "",
|
1484
1486
|
images_upload_handler: handleImageUpload,
|
1485
1487
|
initialContent: "Loading editor..."
|
1486
1488
|
});
|
1489
|
+
console.log("init", init);
|
1487
1490
|
const tinymceSrc = ref("https://cdn-1251560393.cos.ap-chengdu.myqcloud.com/lib/tinymce/tinymce.min.js");
|
1488
1491
|
const attachmentRef = ref();
|
1489
1492
|
const editorRef = ref();
|
package/dist/web-types.json
CHANGED
@@ -9,7 +9,7 @@ const init = {
|
|
9
9
|
editimage_cors_hosts: ["picsum.photos"],
|
10
10
|
menubar: "file edit view insert format tools table help",
|
11
11
|
toolbar: "showImage bold italic underline strikethrough fontfamily fontsize blocks alignleft aligncenter alignright alignjustify numlist bullist forecolor backcolor removeformat image media link emoticons code preview fullscreen |",
|
12
|
-
toolbar_sticky:
|
12
|
+
toolbar_sticky: false,
|
13
13
|
// content_css: 'document',
|
14
14
|
height: 400,
|
15
15
|
quickbars_selection_toolbar: "bold italic | quicklink h2 h3 blockquote showImage",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.mjs","sources":["../../../src/tiny-editor/src/config.ts"],"sourcesContent":["// import { useStorage } from '@/package/hooks/web/useStorage'\n// let isDark = useStorage().getStorage('isDark')\n// TODO 这里还未实现动态切换黑色皮肤\n// window.addEventListener('setStorage', () => {\n// isDark = useStorage().getStorage('isDark')\n// })\n\nconst init = {\n language: 'zh-Hans',\n branding: false,\n skin: 'oxide',\n icons: 'jam',\n promotion: false, // 这是一个高级功能升级的促销按钮\n plugins:\n 'showImage preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image ' +\n 'link media codesample table pagebreak nonbreaking anchor insertdatetime advlist lists wordcount ' +\n ' quickbars emoticons imageSize',\n editimage_cors_hosts: ['picsum.photos'],\n menubar: 'file edit view insert format tools table help',\n toolbar:\n 'showImage bold italic underline strikethrough fontfamily fontsize blocks alignleft aligncenter alignright alignjustify numlist bullist forecolor backcolor removeformat image media link emoticons code preview fullscreen |',\n toolbar_sticky:
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../../../src/tiny-editor/src/config.ts"],"sourcesContent":["// import { useStorage } from '@/package/hooks/web/useStorage'\n// let isDark = useStorage().getStorage('isDark')\n// TODO 这里还未实现动态切换黑色皮肤\n// window.addEventListener('setStorage', () => {\n// isDark = useStorage().getStorage('isDark')\n// })\n\nconst init = {\n language: 'zh-Hans',\n branding: false,\n skin: 'oxide',\n icons: 'jam',\n promotion: false, // 这是一个高级功能升级的促销按钮\n plugins:\n 'showImage preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image ' +\n 'link media codesample table pagebreak nonbreaking anchor insertdatetime advlist lists wordcount ' +\n ' quickbars emoticons imageSize',\n editimage_cors_hosts: ['picsum.photos'],\n menubar: 'file edit view insert format tools table help',\n toolbar:\n 'showImage bold italic underline strikethrough fontfamily fontsize blocks alignleft aligncenter alignright alignjustify numlist bullist forecolor backcolor removeformat image media link emoticons code preview fullscreen |',\n toolbar_sticky: false,\n // content_css: 'document',\n height: 400,\n quickbars_selection_toolbar: 'bold italic | quicklink h2 h3 blockquote showImage', // 快速工具栏\n quickbars_insert_toolbar: '',\n quickbars_image_toolbar: 'imageSize100 imageSize50 imageSize20 imageDel',\n toolbar_mode: '',\n convert_urls: false,\n // contextmenu: 'link image table'\n}\nexport default init\n"],"names":[],"mappings":"AAOA,MAAM,IAAO,GAAA;AAAA,EACX,QAAU,EAAA,SAAA;AAAA,EACV,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,OAAA;AAAA,EACN,KAAO,EAAA,KAAA;AAAA,EACP,SAAW,EAAA,KAAA;AAAA;AAAA,EACX,OACE,EAAA,kQAAA;AAAA,EAGF,oBAAA,EAAsB,CAAC,eAAe,CAAA;AAAA,EACtC,OAAS,EAAA,+CAAA;AAAA,EACT,OACE,EAAA,0OAAA;AAAA,EACF,cAAgB,EAAA,KAAA;AAAA;AAAA,EAEhB,MAAQ,EAAA,GAAA;AAAA,EACR,2BAA6B,EAAA,oDAAA;AAAA;AAAA,EAC7B,wBAA0B,EAAA,EAAA;AAAA,EAC1B,uBAAyB,EAAA,+CAAA;AAAA,EACzB,YAAc,EAAA,EAAA;AAAA,EACd,YAAc,EAAA,KAAA;AAAA;AAEhB;;;;"}
|
@@ -30,13 +30,16 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
30
30
|
reject(err);
|
31
31
|
});
|
32
32
|
});
|
33
|
+
const tinymceId = ref("vue-tinymce-" + +/* @__PURE__ */ new Date() + ((Math.random() * 1e3).toFixed(0) + ""));
|
33
34
|
const init$1 = ref({
|
35
|
+
selector: "#" + tinymceId.value,
|
34
36
|
...init,
|
35
37
|
height: props.height,
|
36
38
|
content_css: props.document ? "document" : "",
|
37
39
|
images_upload_handler: handleImageUpload,
|
38
40
|
initialContent: "Loading editor..."
|
39
41
|
});
|
42
|
+
console.log("init", init$1);
|
40
43
|
const tinymceSrc = ref("https://cdn-1251560393.cos.ap-chengdu.myqcloud.com/lib/tinymce/tinymce.min.js");
|
41
44
|
const attachmentRef = ref();
|
42
45
|
const editorRef = ref();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tiny-editor.vue2.mjs","sources":["../../../src/tiny-editor/src/tiny-editor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkTinyEditor',\n});\n</script>\n<template>\n <div ref=\"el\" class=\"dk-tiny-editor\">\n <div v-if=\"showDialog\">\n <Editor ref=\"editorRef\" v-model=\"content\" :init=\"init\" :tinymce-script-src=\"tinymceSrc\" @dblclick=\"ondblclick\" />\n </div>\n <div v-else>\n <el-button type=\"primary\" plain style=\"width: 100%\" @click=\"showEditor = true\">{{ props.buttonText }}</el-button>\n <dk-dialog v-model=\"showEditor\" title=\"编辑\" width=\"900px\" :z-index=\"1298\">\n <Editor\n ref=\"editorRef\"\n v-model=\"content\"\n :init=\"init\"\n :tinymce-script-src=\"tinymceSrc\"\n @dblclick=\"ondblclick\"\n />\n <template #footer>\n <div class=\"text-center\">\n <el-button type=\"primary\" style=\"width: 200px\" @click=\"showEditor = false\">确定</el-button>\n </div>\n </template>\n </dk-dialog>\n </div>\n <dk-attachment-dialog ref=\"attachmentRef\" :type=\"1\" @confirm=\"onSubmit\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport config from './config'\nimport Editor from '@tinymce/tinymce-vue'\nimport { nextTick, onMounted, ref, watch, computed } from 'vue'\nimport { UploadAttachment } from '../../api'\nimport { tinyEditorProps } from './props'\nimport { useElementSize } from '@vueuse/core'\nconst el: any = ref(null)\nconst { width } = useElementSize(el) // 当前组件宽度\n\n\nconst props = defineProps(tinyEditorProps)\nconst content = ref(props.modelValue)\nconst showEditor = ref(false)\n// 上传的地址\nconst handleImageUpload = (blobInfo: any, progress: any) =>\n new Promise((resolve, reject) => {\n UploadAttachment(blobInfo.blob())\n .then((res) => {\n progress(100)\n resolve(res.data.url)\n })\n .catch((err) => {\n reject(err)\n })\n })\n\nconst init = ref({\n ...config,\n height: props.height,\n content_css: props.document ? 'document' : '',\n images_upload_handler: handleImageUpload,\n initialContent: 'Loading editor...',\n})\
|
1
|
+
{"version":3,"file":"tiny-editor.vue2.mjs","sources":["../../../src/tiny-editor/src/tiny-editor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkTinyEditor',\n});\n</script>\n<template>\n <div ref=\"el\" class=\"dk-tiny-editor\">\n <div v-if=\"showDialog\">\n <Editor ref=\"editorRef\" v-model=\"content\" :init=\"init\" :tinymce-script-src=\"tinymceSrc\" @dblclick=\"ondblclick\" />\n </div>\n <div v-else>\n <el-button type=\"primary\" plain style=\"width: 100%\" @click=\"showEditor = true\">{{ props.buttonText }}</el-button>\n <dk-dialog v-model=\"showEditor\" title=\"编辑\" width=\"900px\" :z-index=\"1298\">\n <Editor\n ref=\"editorRef\"\n v-model=\"content\"\n :init=\"init\"\n :tinymce-script-src=\"tinymceSrc\"\n @dblclick=\"ondblclick\"\n />\n <template #footer>\n <div class=\"text-center\">\n <el-button type=\"primary\" style=\"width: 200px\" @click=\"showEditor = false\">确定</el-button>\n </div>\n </template>\n </dk-dialog>\n </div>\n <dk-attachment-dialog ref=\"attachmentRef\" :type=\"1\" @confirm=\"onSubmit\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport config from './config'\nimport Editor from '@tinymce/tinymce-vue'\nimport { nextTick, onMounted, ref, watch, computed } from 'vue'\nimport { UploadAttachment } from '../../api'\nimport { tinyEditorProps } from './props'\nimport { useElementSize } from '@vueuse/core'\nconst el: any = ref(null)\nconst { width } = useElementSize(el) // 当前组件宽度\n\n\nconst props = defineProps(tinyEditorProps)\nconst content = ref(props.modelValue)\nconst showEditor = ref(false)\n// 上传的地址\nconst handleImageUpload = (blobInfo: any, progress: any) =>\n new Promise((resolve, reject) => {\n UploadAttachment(blobInfo.blob())\n .then((res) => {\n progress(100)\n resolve(res.data.url)\n })\n .catch((err) => {\n reject(err)\n })\n })\n\nconst tinymceId = ref('vue-tinymce-' + +new Date() + ((Math.random() * 1000).toFixed(0) + ''))\nconst init = ref({\n selector: '#' + tinymceId.value,\n ...config,\n height: props.height,\n content_css: props.document ? 'document' : '',\n images_upload_handler: handleImageUpload,\n initialContent: 'Loading editor...',\n})\nconsole.log('init', init)\n// const tinymceSrc = ref('https://unpkg.com/dk-tinymce@latest/tinymce.min.js')\n// const tinymceSrc = ref('https://cdn.jsdelivr.net/npm/dk-tinymce/tinymce.min.js')\nconst tinymceSrc = ref('https://cdn-1251560393.cos.ap-chengdu.myqcloud.com/lib/tinymce/tinymce.min.js')\n// const tinymceSrc = ref('https://cdn.staticfile.net/tinymce/6.8.2/tinymce.min.js')\nconst attachmentRef = ref()\nconst editorRef = ref()\nconst emit = defineEmits(['input', 'update:modelValue', 'change'])\n\nconst showDialog = computed(() => {\n return width.value >= props.showDialogWidth\n})\n\nwatch(\n () => props.modelValue,\n (newValue) => {\n content.value = newValue\n }\n)\n\nwatch(\n () => content.value,\n (newValue) => {\n emit('update:modelValue', newValue)\n emit('input', newValue)\n emit('change', newValue)\n }\n)\n\nonMounted(() => {\n nextTick(() => {\n initShowImage()\n })\n})\n\nwatch(\n () => editorRef.value,\n () => {\n if (editorRef.value?.getEditor()) {\n editorRef.value.getEditor().on('showImage', () => {\n attachmentRef.value.open()\n })\n }\n }\n)\n\nconst initShowImage = () => {\n if (!editorRef.value?.getEditor()) {\n setTimeout(() => {\n initShowImage()\n }, 1000)\n } else {\n editorRef.value.getEditor().on('showImage', () => {\n attachmentRef.value.open()\n })\n }\n}\n\nconst onSubmit = (chooseFileList: any) => {\n const editor = editorRef.value.getEditor()\n let html = ''\n chooseFileList.forEach((item: any) => {\n html += '<img src=\"' + item.url + '\" alt=\"\" width=\"100%\">'\n })\n editor.insertContent(html)\n}\n\nconst ondblclick = (editor: any) => {\n console.log(editor)\n}\n</script>\n"],"names":["__MACROS_defineComponent","init","config"],"mappings":";;;;;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,cAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AAmCD,IAAM,MAAA,EAAA,GAAU,IAAI,IAAI,CAAA,CAAA;AACxB,IAAA,MAAM,EAAE,KAAA,EAAU,GAAA,cAAA,CAAe,EAAE,CAAA,CAAA;AAInC,IAAM,MAAA,OAAA,GAAU,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AACpC,IAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAE5B,IAAM,MAAA,iBAAA,GAAoB,CAAC,QAAe,EAAA,QAAA,KACxC,IAAI,OAAQ,CAAA,CAAC,SAAS,MAAW,KAAA;AAC/B,MAAA,gBAAA,CAAiB,SAAS,IAAK,EAAC,CAC7B,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA;AACb,QAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AACZ,QAAQ,OAAA,CAAA,GAAA,CAAI,KAAK,GAAG,CAAA,CAAA;AAAA,OACrB,CAAA,CACA,KAAM,CAAA,CAAC,GAAQ,KAAA;AACd,QAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA,OACX,CAAA,CAAA;AAAA,KACJ,CAAA,CAAA;AAEH,IAAA,MAAM,SAAY,GAAA,GAAA,CAAI,cAAiB,GAAA,qBAAK,IAAK,EAAA,IAAA,CAAM,IAAK,CAAA,MAAA,EAAW,GAAA,GAAA,EAAM,OAAQ,CAAA,CAAC,IAAI,EAAG,CAAA,CAAA,CAAA;AAC7F,IAAA,MAAMC,SAAO,GAAI,CAAA;AAAA,MACf,QAAA,EAAU,MAAM,SAAU,CAAA,KAAA;AAAA,MAC1B,GAAGC,IAAA;AAAA,MACH,QAAQ,KAAM,CAAA,MAAA;AAAA,MACd,WAAA,EAAa,KAAM,CAAA,QAAA,GAAW,UAAa,GAAA,EAAA;AAAA,MAC3C,qBAAuB,EAAA,iBAAA;AAAA,MACvB,cAAgB,EAAA,mBAAA;AAAA,KACjB,CAAA,CAAA;AACD,IAAQ,OAAA,CAAA,GAAA,CAAI,QAAQD,MAAI,CAAA,CAAA;AAGxB,IAAM,MAAA,UAAA,GAAa,IAAI,+EAA+E,CAAA,CAAA;AAEtG,IAAA,MAAM,gBAAgB,GAAI,EAAA,CAAA;AAC1B,IAAA,MAAM,YAAY,GAAI,EAAA,CAAA;AAGtB,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,MAAO,OAAA,KAAA,CAAM,SAAS,KAAM,CAAA,eAAA,CAAA;AAAA,KAC7B,CAAA,CAAA;AAED,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,QAAa,KAAA;AACZ,QAAA,OAAA,CAAQ,KAAQ,GAAA,QAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,OAAQ,CAAA,KAAA;AAAA,MACd,CAAC,QAAa,KAAA;AACZ,QAAA,IAAA,CAAK,qBAAqB,QAAQ,CAAA,CAAA;AAClC,QAAA,IAAA,CAAK,SAAS,QAAQ,CAAA,CAAA;AACtB,QAAA,IAAA,CAAK,UAAU,QAAQ,CAAA,CAAA;AAAA,OACzB;AAAA,KACF,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,QAAA,CAAS,MAAM;AACb,QAAc,aAAA,EAAA,CAAA;AAAA,OACf,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAA,KAAA;AAAA,MACE,MAAM,SAAU,CAAA,KAAA;AAAA,MAChB,MAAM;AACJ,QAAI,IAAA,SAAA,CAAU,KAAO,EAAA,SAAA,EAAa,EAAA;AAChC,UAAA,SAAA,CAAU,KAAM,CAAA,SAAA,EAAY,CAAA,EAAA,CAAG,aAAa,MAAM;AAChD,YAAA,aAAA,CAAc,MAAM,IAAK,EAAA,CAAA;AAAA,WAC1B,CAAA,CAAA;AAAA,SACH;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAA,IAAI,CAAC,SAAA,CAAU,KAAO,EAAA,SAAA,EAAa,EAAA;AACjC,QAAA,UAAA,CAAW,MAAM;AACf,UAAc,aAAA,EAAA,CAAA;AAAA,WACb,GAAI,CAAA,CAAA;AAAA,OACF,MAAA;AACL,QAAA,SAAA,CAAU,KAAM,CAAA,SAAA,EAAY,CAAA,EAAA,CAAG,aAAa,MAAM;AAChD,UAAA,aAAA,CAAc,MAAM,IAAK,EAAA,CAAA;AAAA,SAC1B,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,CAAC,cAAwB,KAAA;AACxC,MAAM,MAAA,MAAA,GAAS,SAAU,CAAA,KAAA,CAAM,SAAU,EAAA,CAAA;AACzC,MAAA,IAAI,IAAO,GAAA,EAAA,CAAA;AACX,MAAe,cAAA,CAAA,OAAA,CAAQ,CAAC,IAAc,KAAA;AACpC,QAAQ,IAAA,IAAA,YAAA,GAAe,KAAK,GAAM,GAAA,wBAAA,CAAA;AAAA,OACnC,CAAA,CAAA;AACD,MAAA,MAAA,CAAO,cAAc,IAAI,CAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,CAAC,MAAgB,KAAA;AAClC,MAAA,OAAA,CAAQ,IAAI,MAAM,CAAA,CAAA;AAAA,KACpB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -13,7 +13,7 @@ const init = {
|
|
13
13
|
editimage_cors_hosts: ["picsum.photos"],
|
14
14
|
menubar: "file edit view insert format tools table help",
|
15
15
|
toolbar: "showImage bold italic underline strikethrough fontfamily fontsize blocks alignleft aligncenter alignright alignjustify numlist bullist forecolor backcolor removeformat image media link emoticons code preview fullscreen |",
|
16
|
-
toolbar_sticky:
|
16
|
+
toolbar_sticky: false,
|
17
17
|
// content_css: 'document',
|
18
18
|
height: 400,
|
19
19
|
quickbars_selection_toolbar: "bold italic | quicklink h2 h3 blockquote showImage",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../../../src/tiny-editor/src/config.ts"],"sourcesContent":["// import { useStorage } from '@/package/hooks/web/useStorage'\n// let isDark = useStorage().getStorage('isDark')\n// TODO 这里还未实现动态切换黑色皮肤\n// window.addEventListener('setStorage', () => {\n// isDark = useStorage().getStorage('isDark')\n// })\n\nconst init = {\n language: 'zh-Hans',\n branding: false,\n skin: 'oxide',\n icons: 'jam',\n promotion: false, // 这是一个高级功能升级的促销按钮\n plugins:\n 'showImage preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image ' +\n 'link media codesample table pagebreak nonbreaking anchor insertdatetime advlist lists wordcount ' +\n ' quickbars emoticons imageSize',\n editimage_cors_hosts: ['picsum.photos'],\n menubar: 'file edit view insert format tools table help',\n toolbar:\n 'showImage bold italic underline strikethrough fontfamily fontsize blocks alignleft aligncenter alignright alignjustify numlist bullist forecolor backcolor removeformat image media link emoticons code preview fullscreen |',\n toolbar_sticky:
|
1
|
+
{"version":3,"file":"config.js","sources":["../../../src/tiny-editor/src/config.ts"],"sourcesContent":["// import { useStorage } from '@/package/hooks/web/useStorage'\n// let isDark = useStorage().getStorage('isDark')\n// TODO 这里还未实现动态切换黑色皮肤\n// window.addEventListener('setStorage', () => {\n// isDark = useStorage().getStorage('isDark')\n// })\n\nconst init = {\n language: 'zh-Hans',\n branding: false,\n skin: 'oxide',\n icons: 'jam',\n promotion: false, // 这是一个高级功能升级的促销按钮\n plugins:\n 'showImage preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image ' +\n 'link media codesample table pagebreak nonbreaking anchor insertdatetime advlist lists wordcount ' +\n ' quickbars emoticons imageSize',\n editimage_cors_hosts: ['picsum.photos'],\n menubar: 'file edit view insert format tools table help',\n toolbar:\n 'showImage bold italic underline strikethrough fontfamily fontsize blocks alignleft aligncenter alignright alignjustify numlist bullist forecolor backcolor removeformat image media link emoticons code preview fullscreen |',\n toolbar_sticky: false,\n // content_css: 'document',\n height: 400,\n quickbars_selection_toolbar: 'bold italic | quicklink h2 h3 blockquote showImage', // 快速工具栏\n quickbars_insert_toolbar: '',\n quickbars_image_toolbar: 'imageSize100 imageSize50 imageSize20 imageDel',\n toolbar_mode: '',\n convert_urls: false,\n // contextmenu: 'link image table'\n}\nexport default init\n"],"names":[],"mappings":";;;;AAOA,MAAM,IAAO,GAAA;AAAA,EACX,QAAU,EAAA,SAAA;AAAA,EACV,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,OAAA;AAAA,EACN,KAAO,EAAA,KAAA;AAAA,EACP,SAAW,EAAA,KAAA;AAAA;AAAA,EACX,OACE,EAAA,kQAAA;AAAA,EAGF,oBAAA,EAAsB,CAAC,eAAe,CAAA;AAAA,EACtC,OAAS,EAAA,+CAAA;AAAA,EACT,OACE,EAAA,0OAAA;AAAA,EACF,cAAgB,EAAA,KAAA;AAAA;AAAA,EAEhB,MAAQ,EAAA,GAAA;AAAA,EACR,2BAA6B,EAAA,oDAAA;AAAA;AAAA,EAC7B,wBAA0B,EAAA,EAAA;AAAA,EAC1B,uBAAyB,EAAA,+CAAA;AAAA,EACzB,YAAc,EAAA,EAAA;AAAA,EACd,YAAc,EAAA,KAAA;AAAA;AAEhB;;;;"}
|
@@ -34,13 +34,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
34
34
|
reject(err);
|
35
35
|
});
|
36
36
|
});
|
37
|
+
const tinymceId = vue.ref("vue-tinymce-" + +/* @__PURE__ */ new Date() + ((Math.random() * 1e3).toFixed(0) + ""));
|
37
38
|
const init = vue.ref({
|
39
|
+
selector: "#" + tinymceId.value,
|
38
40
|
...config.default,
|
39
41
|
height: props.height,
|
40
42
|
content_css: props.document ? "document" : "",
|
41
43
|
images_upload_handler: handleImageUpload,
|
42
44
|
initialContent: "Loading editor..."
|
43
45
|
});
|
46
|
+
console.log("init", init);
|
44
47
|
const tinymceSrc = vue.ref("https://cdn-1251560393.cos.ap-chengdu.myqcloud.com/lib/tinymce/tinymce.min.js");
|
45
48
|
const attachmentRef = vue.ref();
|
46
49
|
const editorRef = vue.ref();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tiny-editor.vue2.js","sources":["../../../src/tiny-editor/src/tiny-editor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkTinyEditor',\n});\n</script>\n<template>\n <div ref=\"el\" class=\"dk-tiny-editor\">\n <div v-if=\"showDialog\">\n <Editor ref=\"editorRef\" v-model=\"content\" :init=\"init\" :tinymce-script-src=\"tinymceSrc\" @dblclick=\"ondblclick\" />\n </div>\n <div v-else>\n <el-button type=\"primary\" plain style=\"width: 100%\" @click=\"showEditor = true\">{{ props.buttonText }}</el-button>\n <dk-dialog v-model=\"showEditor\" title=\"编辑\" width=\"900px\" :z-index=\"1298\">\n <Editor\n ref=\"editorRef\"\n v-model=\"content\"\n :init=\"init\"\n :tinymce-script-src=\"tinymceSrc\"\n @dblclick=\"ondblclick\"\n />\n <template #footer>\n <div class=\"text-center\">\n <el-button type=\"primary\" style=\"width: 200px\" @click=\"showEditor = false\">确定</el-button>\n </div>\n </template>\n </dk-dialog>\n </div>\n <dk-attachment-dialog ref=\"attachmentRef\" :type=\"1\" @confirm=\"onSubmit\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport config from './config'\nimport Editor from '@tinymce/tinymce-vue'\nimport { nextTick, onMounted, ref, watch, computed } from 'vue'\nimport { UploadAttachment } from '../../api'\nimport { tinyEditorProps } from './props'\nimport { useElementSize } from '@vueuse/core'\nconst el: any = ref(null)\nconst { width } = useElementSize(el) // 当前组件宽度\n\n\nconst props = defineProps(tinyEditorProps)\nconst content = ref(props.modelValue)\nconst showEditor = ref(false)\n// 上传的地址\nconst handleImageUpload = (blobInfo: any, progress: any) =>\n new Promise((resolve, reject) => {\n UploadAttachment(blobInfo.blob())\n .then((res) => {\n progress(100)\n resolve(res.data.url)\n })\n .catch((err) => {\n reject(err)\n })\n })\n\nconst init = ref({\n ...config,\n height: props.height,\n content_css: props.document ? 'document' : '',\n images_upload_handler: handleImageUpload,\n initialContent: 'Loading editor...',\n})\
|
1
|
+
{"version":3,"file":"tiny-editor.vue2.js","sources":["../../../src/tiny-editor/src/tiny-editor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkTinyEditor',\n});\n</script>\n<template>\n <div ref=\"el\" class=\"dk-tiny-editor\">\n <div v-if=\"showDialog\">\n <Editor ref=\"editorRef\" v-model=\"content\" :init=\"init\" :tinymce-script-src=\"tinymceSrc\" @dblclick=\"ondblclick\" />\n </div>\n <div v-else>\n <el-button type=\"primary\" plain style=\"width: 100%\" @click=\"showEditor = true\">{{ props.buttonText }}</el-button>\n <dk-dialog v-model=\"showEditor\" title=\"编辑\" width=\"900px\" :z-index=\"1298\">\n <Editor\n ref=\"editorRef\"\n v-model=\"content\"\n :init=\"init\"\n :tinymce-script-src=\"tinymceSrc\"\n @dblclick=\"ondblclick\"\n />\n <template #footer>\n <div class=\"text-center\">\n <el-button type=\"primary\" style=\"width: 200px\" @click=\"showEditor = false\">确定</el-button>\n </div>\n </template>\n </dk-dialog>\n </div>\n <dk-attachment-dialog ref=\"attachmentRef\" :type=\"1\" @confirm=\"onSubmit\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport config from './config'\nimport Editor from '@tinymce/tinymce-vue'\nimport { nextTick, onMounted, ref, watch, computed } from 'vue'\nimport { UploadAttachment } from '../../api'\nimport { tinyEditorProps } from './props'\nimport { useElementSize } from '@vueuse/core'\nconst el: any = ref(null)\nconst { width } = useElementSize(el) // 当前组件宽度\n\n\nconst props = defineProps(tinyEditorProps)\nconst content = ref(props.modelValue)\nconst showEditor = ref(false)\n// 上传的地址\nconst handleImageUpload = (blobInfo: any, progress: any) =>\n new Promise((resolve, reject) => {\n UploadAttachment(blobInfo.blob())\n .then((res) => {\n progress(100)\n resolve(res.data.url)\n })\n .catch((err) => {\n reject(err)\n })\n })\n\nconst tinymceId = ref('vue-tinymce-' + +new Date() + ((Math.random() * 1000).toFixed(0) + ''))\nconst init = ref({\n selector: '#' + tinymceId.value,\n ...config,\n height: props.height,\n content_css: props.document ? 'document' : '',\n images_upload_handler: handleImageUpload,\n initialContent: 'Loading editor...',\n})\nconsole.log('init', init)\n// const tinymceSrc = ref('https://unpkg.com/dk-tinymce@latest/tinymce.min.js')\n// const tinymceSrc = ref('https://cdn.jsdelivr.net/npm/dk-tinymce/tinymce.min.js')\nconst tinymceSrc = ref('https://cdn-1251560393.cos.ap-chengdu.myqcloud.com/lib/tinymce/tinymce.min.js')\n// const tinymceSrc = ref('https://cdn.staticfile.net/tinymce/6.8.2/tinymce.min.js')\nconst attachmentRef = ref()\nconst editorRef = ref()\nconst emit = defineEmits(['input', 'update:modelValue', 'change'])\n\nconst showDialog = computed(() => {\n return width.value >= props.showDialogWidth\n})\n\nwatch(\n () => props.modelValue,\n (newValue) => {\n content.value = newValue\n }\n)\n\nwatch(\n () => content.value,\n (newValue) => {\n emit('update:modelValue', newValue)\n emit('input', newValue)\n emit('change', newValue)\n }\n)\n\nonMounted(() => {\n nextTick(() => {\n initShowImage()\n })\n})\n\nwatch(\n () => editorRef.value,\n () => {\n if (editorRef.value?.getEditor()) {\n editorRef.value.getEditor().on('showImage', () => {\n attachmentRef.value.open()\n })\n }\n }\n)\n\nconst initShowImage = () => {\n if (!editorRef.value?.getEditor()) {\n setTimeout(() => {\n initShowImage()\n }, 1000)\n } else {\n editorRef.value.getEditor().on('showImage', () => {\n attachmentRef.value.open()\n })\n }\n}\n\nconst onSubmit = (chooseFileList: any) => {\n const editor = editorRef.value.getEditor()\n let html = ''\n chooseFileList.forEach((item: any) => {\n html += '<img src=\"' + item.url + '\" alt=\"\" width=\"100%\">'\n })\n editor.insertContent(html)\n}\n\nconst ondblclick = (editor: any) => {\n console.log(editor)\n}\n</script>\n"],"names":["__MACROS_defineComponent","ref","useElementSize","UploadAttachment","config","computed","watch","onMounted","nextTick"],"mappings":";;;;;;;;;;;;;;;AAEA,MAA6B,cAAAA,mBAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,cAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AAmCD,IAAM,MAAA,EAAA,GAAUC,QAAI,IAAI,CAAA,CAAA;AACxB,IAAA,MAAM,EAAE,KAAA,EAAU,GAAAC,mBAAA,CAAe,EAAE,CAAA,CAAA;AAInC,IAAM,MAAA,OAAA,GAAUD,OAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AACpC,IAAM,MAAA,UAAA,GAAaA,QAAI,KAAK,CAAA,CAAA;AAE5B,IAAM,MAAA,iBAAA,GAAoB,CAAC,QAAe,EAAA,QAAA,KACxC,IAAI,OAAQ,CAAA,CAAC,SAAS,MAAW,KAAA;AAC/B,MAAAE,2BAAA,CAAiB,SAAS,IAAK,EAAC,CAC7B,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA;AACb,QAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AACZ,QAAQ,OAAA,CAAA,GAAA,CAAI,KAAK,GAAG,CAAA,CAAA;AAAA,OACrB,CAAA,CACA,KAAM,CAAA,CAAC,GAAQ,KAAA;AACd,QAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA,OACX,CAAA,CAAA;AAAA,KACJ,CAAA,CAAA;AAEH,IAAA,MAAM,SAAY,GAAAF,OAAA,CAAI,cAAiB,GAAA,qBAAK,IAAK,EAAA,IAAA,CAAM,IAAK,CAAA,MAAA,EAAW,GAAA,GAAA,EAAM,OAAQ,CAAA,CAAC,IAAI,EAAG,CAAA,CAAA,CAAA;AAC7F,IAAA,MAAM,OAAOA,OAAI,CAAA;AAAA,MACf,QAAA,EAAU,MAAM,SAAU,CAAA,KAAA;AAAA,MAC1B,GAAGG,cAAA;AAAA,MACH,QAAQ,KAAM,CAAA,MAAA;AAAA,MACd,WAAA,EAAa,KAAM,CAAA,QAAA,GAAW,UAAa,GAAA,EAAA;AAAA,MAC3C,qBAAuB,EAAA,iBAAA;AAAA,MACvB,cAAgB,EAAA,mBAAA;AAAA,KACjB,CAAA,CAAA;AACD,IAAQ,OAAA,CAAA,GAAA,CAAI,QAAQ,IAAI,CAAA,CAAA;AAGxB,IAAM,MAAA,UAAA,GAAaH,QAAI,+EAA+E,CAAA,CAAA;AAEtG,IAAA,MAAM,gBAAgBA,OAAI,EAAA,CAAA;AAC1B,IAAA,MAAM,YAAYA,OAAI,EAAA,CAAA;AAGtB,IAAM,MAAA,UAAA,GAAaI,aAAS,MAAM;AAChC,MAAO,OAAA,KAAA,CAAM,SAAS,KAAM,CAAA,eAAA,CAAA;AAAA,KAC7B,CAAA,CAAA;AAED,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,QAAa,KAAA;AACZ,QAAA,OAAA,CAAQ,KAAQ,GAAA,QAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AAEA,IAAAA,SAAA;AAAA,MACE,MAAM,OAAQ,CAAA,KAAA;AAAA,MACd,CAAC,QAAa,KAAA;AACZ,QAAA,IAAA,CAAK,qBAAqB,QAAQ,CAAA,CAAA;AAClC,QAAA,IAAA,CAAK,SAAS,QAAQ,CAAA,CAAA;AACtB,QAAA,IAAA,CAAK,UAAU,QAAQ,CAAA,CAAA;AAAA,OACzB;AAAA,KACF,CAAA;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAAC,YAAA,CAAS,MAAM;AACb,QAAc,aAAA,EAAA,CAAA;AAAA,OACf,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAAF,SAAA;AAAA,MACE,MAAM,SAAU,CAAA,KAAA;AAAA,MAChB,MAAM;AACJ,QAAI,IAAA,SAAA,CAAU,KAAO,EAAA,SAAA,EAAa,EAAA;AAChC,UAAA,SAAA,CAAU,KAAM,CAAA,SAAA,EAAY,CAAA,EAAA,CAAG,aAAa,MAAM;AAChD,YAAA,aAAA,CAAc,MAAM,IAAK,EAAA,CAAA;AAAA,WAC1B,CAAA,CAAA;AAAA,SACH;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAA,IAAI,CAAC,SAAA,CAAU,KAAO,EAAA,SAAA,EAAa,EAAA;AACjC,QAAA,UAAA,CAAW,MAAM;AACf,UAAc,aAAA,EAAA,CAAA;AAAA,WACb,GAAI,CAAA,CAAA;AAAA,OACF,MAAA;AACL,QAAA,SAAA,CAAU,KAAM,CAAA,SAAA,EAAY,CAAA,EAAA,CAAG,aAAa,MAAM;AAChD,UAAA,aAAA,CAAc,MAAM,IAAK,EAAA,CAAA;AAAA,SAC1B,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,CAAC,cAAwB,KAAA;AACxC,MAAM,MAAA,MAAA,GAAS,SAAU,CAAA,KAAA,CAAM,SAAU,EAAA,CAAA;AACzC,MAAA,IAAI,IAAO,GAAA,EAAA,CAAA;AACX,MAAe,cAAA,CAAA,OAAA,CAAQ,CAAC,IAAc,KAAA;AACpC,QAAQ,IAAA,IAAA,YAAA,GAAe,KAAK,GAAM,GAAA,wBAAA,CAAA;AAAA,OACnC,CAAA,CAAA;AACD,MAAA,MAAA,CAAO,cAAc,IAAI,CAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,CAAC,MAAgB,KAAA;AAClC,MAAA,OAAA,CAAQ,IAAI,MAAM,CAAA,CAAA;AAAA,KACpB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|