db7c24f693c814f03020c575dfd89557.json 13 KB

1
  1. {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\components\\Editor\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\components\\Editor\\index.vue","mtime":1619333322695},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KDQppbXBvcnQgUXVpbGwgZnJvbSAicXVpbGwiOw0KaW1wb3J0ICJxdWlsbC9kaXN0L3F1aWxsLmNvcmUuY3NzIjsNCmltcG9ydCAicXVpbGwvZGlzdC9xdWlsbC5zbm93LmNzcyI7DQppbXBvcnQgInF1aWxsL2Rpc3QvcXVpbGwuYnViYmxlLmNzcyI7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogIkVkaXRvciIsDQogIHByb3BzOiB7DQogICAgLyog57yW6L6R5Zmo55qE5YaF5a65ICovDQogICAgdmFsdWU6IHsNCiAgICAgIHR5cGU6IFN0cmluZywNCiAgICAgIGRlZmF1bHQ6ICIiLA0KICAgIH0sDQogICAgLyog6auY5bqmICovDQogICAgaGVpZ2h0OiB7DQogICAgICB0eXBlOiBOdW1iZXIsDQogICAgICBkZWZhdWx0OiBudWxsLA0KICAgIH0sDQogICAgLyog5pyA5bCP6auY5bqmICovDQogICAgbWluSGVpZ2h0OiB7DQogICAgICB0eXBlOiBOdW1iZXIsDQogICAgICBkZWZhdWx0OiBudWxsLA0KICAgIH0sDQogICAgLyog5Y+q6K+7ICovDQogICAgcmVhZE9ubHk6IHsNCiAgICAgIHR5cGU6IEJvb2xlYW4sDQogICAgICBkZWZhdWx0OiBmYWxzZSwNCiAgICB9DQogIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIFF1aWxsOiBudWxsLA0KICAgICAgY3VycmVudFZhbHVlOiAiIiwNCiAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgdGhlbWU6ICJzbm93IiwNCiAgICAgICAgYm91bmRzOiBkb2N1bWVudC5ib2R5LA0KICAgICAgICBkZWJ1ZzogIndhcm4iLA0KICAgICAgICBtb2R1bGVzOiB7DQogICAgICAgICAgLy8g5bel5YW35qCP6YWN572uDQogICAgICAgICAgdG9vbGJhcjogWw0KICAgICAgICAgICAgWyJib2xkIiwgIml0YWxpYyIsICJ1bmRlcmxpbmUiLCAic3RyaWtlIl0sICAgICAgIC8vIOWKoOeylyDmlpzkvZMg5LiL5YiS57q/IOWIoOmZpOe6vw0KICAgICAgICAgICAgWyJibG9ja3F1b3RlIiwgImNvZGUtYmxvY2siXSwgICAgICAgICAgICAgICAgICAgIC8vIOW8leeUqCAg5Luj56CB5Z2XDQogICAgICAgICAgICBbeyBsaXN0OiAib3JkZXJlZCIgfSwgeyBsaXN0OiAiYnVsbGV0IiB9XSwgICAgICAgLy8g5pyJ5bqP44CB5peg5bqP5YiX6KGoDQogICAgICAgICAgICBbeyBpbmRlbnQ6ICItMSIgfSwgeyBpbmRlbnQ6ICIrMSIgfV0sICAgICAgICAgICAgLy8g57yp6L+bDQogICAgICAgICAgICBbeyBzaXplOiBbInNtYWxsIiwgZmFsc2UsICJsYXJnZSIsICJodWdlIl0gfV0sICAgLy8g5a2X5L2T5aSn5bCPDQogICAgICAgICAgICBbeyBoZWFkZXI6IFsxLCAyLCAzLCA0LCA1LCA2LCBmYWxzZV0gfV0sICAgICAgICAgLy8g5qCH6aKYDQogICAgICAgICAgICBbeyBjb2xvcjogW10gfSwgeyBiYWNrZ3JvdW5kOiBbXSB9XSwgICAgICAgICAgICAgLy8g5a2X5L2T6aKc6Imy44CB5a2X5L2T6IOM5pmv6aKc6ImyDQogICAgICAgICAgICBbeyBhbGlnbjogW10gfV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+56b2Q5pa55byPDQogICAgICAgICAgICBbImNsZWFuIl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5riF6Zmk5paH5pys5qC85byPDQogICAgICAgICAgICBbImxpbmsiLCAiaW1hZ2UiLCAidmlkZW8iXSAgICAgICAgICAgICAgICAgICAgICAgLy8g6ZO+5o6l44CB5Zu+54mH44CB6KeG6aKRDQogICAgICAgICAgXSwNCiAgICAgICAgfSwNCiAgICAgICAgcGxhY2Vob2xkZXI6ICLor7fovpPlhaXlhoXlrrkiLA0KICAgICAgICByZWFkT25seTogdGhpcy5yZWFkT25seSwNCiAgICAgIH0sDQogICAgfTsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICBzdHlsZXMoKSB7DQogICAgICBsZXQgc3R5bGUgPSB7fTsNCiAgICAgIGlmICh0aGlzLm1pbkhlaWdodCkgew0KICAgICAgICBzdHlsZS5taW5IZWlnaHQgPSBgJHt0aGlzLm1pbkhlaWdodH1weGA7DQogICAgICB9DQogICAgICBpZiAodGhpcy5oZWlnaHQpIHsNCiAgICAgICAgc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5oZWlnaHR9cHhgOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIHN0eWxlOw0KICAgIH0sDQogIH0sDQogIHdhdGNoOiB7DQogICAgdmFsdWU6IHsNCiAgICAgIGhhbmRsZXIodmFsKSB7DQogICAgICAgIGlmICh2YWwgIT09IHRoaXMuY3VycmVudFZhbHVlKSB7DQogICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWwgPT09IG51bGwgPyAiIiA6IHZhbDsNCiAgICAgICAgICBpZiAodGhpcy5RdWlsbCkgew0KICAgICAgICAgICAgdGhpcy5RdWlsbC5wYXN0ZUhUTUwodGhpcy5jdXJyZW50VmFsdWUpOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfSwNCiAgICAgIGltbWVkaWF0ZTogdHJ1ZSwNCiAgICB9LA0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIHRoaXMuaW5pdCgpOw0KICB9LA0KICBiZWZvcmVEZXN0cm95KCkgew0KICAgIHRoaXMuUXVpbGwgPSBudWxsOw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgaW5pdCgpIHsNCiAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuJHJlZnMuZWRpdG9yOw0KICAgICAgdGhpcy5RdWlsbCA9IG5ldyBRdWlsbChlZGl0b3IsIHRoaXMub3B0aW9ucyk7DQogICAgICB0aGlzLlF1aWxsLnBhc3RlSFRNTCh0aGlzLmN1cnJlbnRWYWx1ZSk7DQogICAgICB0aGlzLlF1aWxsLm9uKCJ0ZXh0LWNoYW5nZSIsIChkZWx0YSwgb2xkRGVsdGEsIHNvdXJjZSkgPT4gew0KICAgICAgICBjb25zdCBodG1sID0gdGhpcy4kcmVmcy5lZGl0b3IuY2hpbGRyZW5bMF0uaW5uZXJIVE1MOw0KICAgICAgICBjb25zdCB0ZXh0ID0gdGhpcy5RdWlsbC5nZXRUZXh0KCk7DQogICAgICAgIGNvbnN0IHF1aWxsID0gdGhpcy5RdWlsbDsNCiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBodG1sOw0KICAgICAgICB0aGlzLiRlbWl0KCJpbnB1dCIsIGh0bWwpOw0KICAgICAgICB0aGlzLiRlbWl0KCJvbi1jaGFuZ2UiLCB7IGh0bWwsIHRleHQsIHF1aWxsIH0pOw0KICAgICAgfSk7DQogICAgICB0aGlzLlF1aWxsLm9uKCJ0ZXh0LWNoYW5nZSIsIChkZWx0YSwgb2xkRGVsdGEsIHNvdXJjZSkgPT4gew0KICAgICAgICB0aGlzLiRlbWl0KCJvbi10ZXh0LWNoYW5nZSIsIGRlbHRhLCBvbGREZWx0YSwgc291cmNlKTsNCiAgICAgIH0pOw0KICAgICAgdGhpcy5RdWlsbC5vbigic2VsZWN0aW9uLWNoYW5nZSIsIChyYW5nZSwgb2xkUmFuZ2UsIHNvdXJjZSkgPT4gew0KICAgICAgICB0aGlzLiRlbWl0KCJvbi1zZWxlY3Rpb24tY2hhbmdlIiwgcmFuZ2UsIG9sZFJhbmdlLCBzb3VyY2UpOw0KICAgICAgfSk7DQogICAgICB0aGlzLlF1aWxsLm9uKCJlZGl0b3ItY2hhbmdlIiwgKGV2ZW50TmFtZSwgLi4uYXJncykgPT4gew0KICAgICAgICB0aGlzLiRlbWl0KCJvbi1lZGl0b3ItY2hhbmdlIiwgZXZlbnROYW1lLCAuLi5hcmdzKTsNCiAgICAgIH0pOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/components/Editor","sourcesContent":["<template>\r\n <div class=\"editor\" ref=\"editor\" :style=\"styles\"></div>\r\n</template>\r\n\r\n<script>\r\nimport Quill from \"quill\";\r\nimport \"quill/dist/quill.core.css\";\r\nimport \"quill/dist/quill.snow.css\";\r\nimport \"quill/dist/quill.bubble.css\";\r\n\r\nexport default {\r\n name: \"Editor\",\r\n props: {\r\n /* 编辑器的内容 */\r\n value: {\r\n type: String,\r\n default: \"\",\r\n },\r\n /* 高度 */\r\n height: {\r\n type: Number,\r\n default: null,\r\n },\r\n /* 最小高度 */\r\n minHeight: {\r\n type: Number,\r\n default: null,\r\n },\r\n /* 只读 */\r\n readOnly: {\r\n type: Boolean,\r\n default: false,\r\n }\r\n },\r\n data() {\r\n return {\r\n Quill: null,\r\n currentValue: \"\",\r\n options: {\r\n theme: \"snow\",\r\n bounds: document.body,\r\n debug: \"warn\",\r\n modules: {\r\n // 工具栏配置\r\n toolbar: [\r\n [\"bold\", \"italic\", \"underline\", \"strike\"], // 加粗 斜体 下划线 删除线\r\n [\"blockquote\", \"code-block\"], // 引用 代码块\r\n [{ list: \"ordered\" }, { list: \"bullet\" }], // 有序、无序列表\r\n [{ indent: \"-1\" }, { indent: \"+1\" }], // 缩进\r\n [{ size: [\"small\", false, \"large\", \"huge\"] }], // 字体大小\r\n [{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题\r\n [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色\r\n [{ align: [] }], // 对齐方式\r\n [\"clean\"], // 清除文本格式\r\n [\"link\", \"image\", \"video\"] // 链接、图片、视频\r\n ],\r\n },\r\n placeholder: \"请输入内容\",\r\n readOnly: this.readOnly,\r\n },\r\n };\r\n },\r\n computed: {\r\n styles() {\r\n let style = {};\r\n if (this.minHeight) {\r\n style.minHeight = `${this.minHeight}px`;\r\n }\r\n if (this.height) {\r\n style.height = `${this.height}px`;\r\n }\r\n return style;\r\n },\r\n },\r\n watch: {\r\n value: {\r\n handler(val) {\r\n if (val !== this.currentValue) {\r\n this.currentValue = val === null ? \"\" : val;\r\n if (this.Quill) {\r\n this.Quill.pasteHTML(this.currentValue);\r\n }\r\n }\r\n },\r\n immediate: true,\r\n },\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n beforeDestroy() {\r\n this.Quill = null;\r\n },\r\n methods: {\r\n init() {\r\n const editor = this.$refs.editor;\r\n this.Quill = new Quill(editor, this.options);\r\n this.Quill.pasteHTML(this.currentValue);\r\n this.Quill.on(\"text-change\", (delta, oldDelta, source) => {\r\n const html = this.$refs.editor.children[0].innerHTML;\r\n const text = this.Quill.getText();\r\n const quill = this.Quill;\r\n this.currentValue = html;\r\n this.$emit(\"input\", html);\r\n this.$emit(\"on-change\", { html, text, quill });\r\n });\r\n this.Quill.on(\"text-change\", (delta, oldDelta, source) => {\r\n this.$emit(\"on-text-change\", delta, oldDelta, source);\r\n });\r\n this.Quill.on(\"selection-change\", (range, oldRange, source) => {\r\n this.$emit(\"on-selection-change\", range, oldRange, source);\r\n });\r\n this.Quill.on(\"editor-change\", (eventName, ...args) => {\r\n this.$emit(\"on-editor-change\", eventName, ...args);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style>\r\n.editor, .ql-toolbar {\r\n white-space: pre-wrap!important;\r\n line-height: normal !important;\r\n}\r\n.quill-img {\r\n display: none;\r\n}\r\n.ql-snow .ql-tooltip[data-mode=\"link\"]::before {\r\n content: \"请输入链接地址:\";\r\n}\r\n.ql-snow .ql-tooltip.ql-editing a.ql-action::after {\r\n border-right: 0px;\r\n content: \"保存\";\r\n padding-right: 0px;\r\n}\r\n\r\n.ql-snow .ql-tooltip[data-mode=\"video\"]::before {\r\n content: \"请输入视频地址:\";\r\n}\r\n\r\n.ql-snow .ql-picker.ql-size .ql-picker-label::before,\r\n.ql-snow .ql-picker.ql-size .ql-picker-item::before {\r\n content: \"14px\";\r\n}\r\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=\"small\"]::before,\r\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=\"small\"]::before {\r\n content: \"10px\";\r\n}\r\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=\"large\"]::before,\r\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=\"large\"]::before {\r\n content: \"18px\";\r\n}\r\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=\"huge\"]::before,\r\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=\"huge\"]::before {\r\n content: \"32px\";\r\n}\r\n\r\n.ql-snow .ql-picker.ql-header .ql-picker-label::before,\r\n.ql-snow .ql-picker.ql-header .ql-picker-item::before {\r\n content: \"文本\";\r\n}\r\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before,\r\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before {\r\n content: \"标题1\";\r\n}\r\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before,\r\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before {\r\n content: \"标题2\";\r\n}\r\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before,\r\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before {\r\n content: \"标题3\";\r\n}\r\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before,\r\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before {\r\n content: \"标题4\";\r\n}\r\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before,\r\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before {\r\n content: \"标题5\";\r\n}\r\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before,\r\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before {\r\n content: \"标题6\";\r\n}\r\n\r\n.ql-snow .ql-picker.ql-font .ql-picker-label::before,\r\n.ql-snow .ql-picker.ql-font .ql-picker-item::before {\r\n content: \"标准字体\";\r\n}\r\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=\"serif\"]::before,\r\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=\"serif\"]::before {\r\n content: \"衬线字体\";\r\n}\r\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=\"monospace\"]::before,\r\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=\"monospace\"]::before {\r\n content: \"等宽字体\";\r\n}\r\n</style>\r\n"]}]}