@keyblade/tinymce-editor-vue2 0.0.12-alpha.32 → 0.0.12-alpha.33
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/es/editor.vue.js +1 -1
- package/es/editor.vue2.js +133 -131
- package/package.json +2 -2
- package/src/index.ts +1 -1
package/es/editor.vue.js
CHANGED
|
@@ -3,7 +3,7 @@ import m from "./_virtual/_plugin-vue2_normalizer.js";
|
|
|
3
3
|
var c = function() {
|
|
4
4
|
var l, i, s, d, u, r, p;
|
|
5
5
|
var a = this, e = a._self._c, o = a._self._setupProxy;
|
|
6
|
-
return e("div", { staticClass: "tinymce-editor" }, [e("textarea", { ref: "insRef" }), e("el-dialog", { staticClass: "tinymce-editor-dialog tinymce-editor-upload-image-dialog", attrs: { visible: o.uploadImage.dialogVisible, title: "插入图片", "append-to-body": !0, "close-on-click-modal": !1, "destroy-on-close": "" }, on: { close: o.onUploadImageClose } }, [e("el-form", { ref: "uploadImageFormRef", staticClass: "uploadImageForm", attrs: { model: o.uploadImage.formData } }, [e("el-form-item", { attrs: { prop: "images", rules: { required: !0, message: "必填项" } } }, [e(o.ImgPond, a._b({ ref: "uploadImageImgPondRef", attrs: { valueType: "array", accept: o.imgPondAccept, size: o.mergeImageUploadOptions.maxSize, count: o.mergeImageUploadOptions.maxCount, upload: o.onImageUploadUpload }, model: { value: o.uploadImage.formData.images, callback: function(t) {
|
|
6
|
+
return e("div", { staticClass: "tinymce-editor" }, [e("textarea", { ref: "insRef" }), e("el-dialog", { staticClass: "tinymce-editor-dialog tinymce-editor-upload-image-dialog", attrs: { visible: o.uploadImage.dialogVisible, title: "插入图片", "append-to-body": !0, "close-on-click-modal": !1, "destroy-on-close": "" }, on: { close: o.onUploadImageClose } }, [e("el-form", { ref: "uploadImageFormRef", staticClass: "uploadImageForm", attrs: { model: o.uploadImage.formData } }, [e("el-form-item", { attrs: { prop: "images", rules: { required: !0, message: "必填项" } } }, [e(o.ImgPond, a._b({ ref: "uploadImageImgPondRef", attrs: { valueType: "array", accept: o.imgPondAccept, size: o.mergeImageUploadOptions.maxSize, count: o.mergeImageUploadOptions.maxCount, upload: o.onImageUploadUpload }, on: { exceed: o.onImageUploadUploadExceed }, model: { value: o.uploadImage.formData.images, callback: function(t) {
|
|
7
7
|
a.$set(o.uploadImage.formData, "images", t);
|
|
8
8
|
}, expression: "uploadImage.formData.images" } }, "ImgPond", o.mergeImgPondOptions, !1))], 1), e("div", { staticClass: "tips" }, [e("span", { staticStyle: { "font-size": "15px", "font-weight": "bold" } }, [a._v("注意:")]), e("span", [a._v("1. 单次最多可同时选择" + a._s(o.mergeImageUploadOptions.maxCount) + "张图片")]), e("span", [a._v("2. 仅支持" + a._s((i = (l = o.mergeImageUploadOptions) == null ? void 0 : l.allowedType) == null ? void 0 : i.map((t) => t.toUpperCase()).join("、")) + "格式")]), e("span", [a._v("3. 单张图片大小不可超过" + a._s(o.mergeImageUploadOptions.maxSize) + "M")]), e("span", [a._v("4. 像素不低于" + a._s(o.mergeImageUploadOptions.minWidth) + "*" + a._s(o.mergeImageUploadOptions.minHeight) + "且像素不高于" + a._s(o.mergeImageUploadOptions.maxWidth) + "*" + a._s(o.mergeImageUploadOptions.maxHeight))])])], 1), e("div", { attrs: { slot: "footer" }, slot: "footer" }, [e("el-button", { on: { click: o.onUploadImageClose } }, [a._v("取消")]), e("el-button", { attrs: { type: "primary" }, on: { click: o.onUploadImageConfirm } }, [a._v("确定")])], 1)], 1), e("el-dialog", { staticClass: "tinymce-editor-dialog tinymce-editor-upload-audio-dialog", attrs: { visible: o.uploadAudio.dialogVisible, title: "插入音频", "append-to-body": !0, "close-on-click-modal": !1, "destroy-on-close": "" }, on: { close: o.onUploadAudioClose } }, [e("el-form", { ref: "uploadAudioFormRef", staticClass: "uploadAudioForm", attrs: { model: o.uploadAudio.formData, "label-width": "auto" } }, [e("el-form-item", { attrs: { label: "名称", prop: "name", rules: { required: !0, message: "必填项" } } }, [e("el-input", { attrs: { maxlength: "14", "show-word-limit": "", placeholder: "请输入" }, model: { value: o.uploadAudio.formData.name, callback: function(t) {
|
|
9
9
|
a.$set(o.uploadAudio.formData, "name", t);
|
package/es/editor.vue2.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import {
|
|
3
|
-
import { blobToFile as
|
|
1
|
+
import { defineComponent as xe, ref as h, computed as C, watch as S, onMounted as be, onUnmounted as we } from "vue";
|
|
2
|
+
import { oneTravelImgPondOnExceed as G, oneTravelImgPondBeforeAddFile as J, oneTravelImageCheckAndTransform as ye, oneTravelImageCompressor as K } from "@keyblade/one-travel";
|
|
3
|
+
import { blobToFile as Q, getFileExtension as X, getImagePixel as _e } from "./util.js";
|
|
4
4
|
import "./style.less.js";
|
|
5
|
-
import
|
|
6
|
-
import { conclude as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
5
|
+
import Te from "imgpond";
|
|
6
|
+
import { conclude as P } from "vue-global-config";
|
|
7
|
+
import Y from "tinymce";
|
|
8
|
+
import Ce from "./langs/zh_CN.js";
|
|
9
9
|
import "tinymce/skins/ui/oxide/skin";
|
|
10
10
|
import "tinymce/models/dom";
|
|
11
11
|
import "tinymce/themes/silver";
|
|
@@ -34,9 +34,9 @@ import "tinymce/plugins/table";
|
|
|
34
34
|
import "tinymce/plugins/visualblocks";
|
|
35
35
|
import "tinymce/plugins/visualchars";
|
|
36
36
|
import "tinymce/plugins/wordcount";
|
|
37
|
-
import { globalProps as
|
|
38
|
-
import { Message as
|
|
39
|
-
const
|
|
37
|
+
import { globalProps as A } from "./index.js";
|
|
38
|
+
import { Message as b } from "element-ui";
|
|
39
|
+
const da = /* @__PURE__ */ xe({
|
|
40
40
|
__name: "editor",
|
|
41
41
|
props: {
|
|
42
42
|
value: { default: "" },
|
|
@@ -50,9 +50,9 @@ const sa = /* @__PURE__ */ ge({
|
|
|
50
50
|
initComplete: null
|
|
51
51
|
},
|
|
52
52
|
emits: ["input"],
|
|
53
|
-
setup(
|
|
54
|
-
const m =
|
|
55
|
-
|
|
53
|
+
setup(Z, { emit: k }) {
|
|
54
|
+
const m = Z;
|
|
55
|
+
Y.addI18n("zh_CN", Ce);
|
|
56
56
|
const z = {
|
|
57
57
|
maxCount: 10,
|
|
58
58
|
tipText: "上传",
|
|
@@ -71,15 +71,15 @@ const sa = /* @__PURE__ */ ge({
|
|
|
71
71
|
enable: !0,
|
|
72
72
|
maxSize: 200,
|
|
73
73
|
allowedType: ["mp3", "m4a", "wav", "aac"]
|
|
74
|
-
}, H = h(),
|
|
74
|
+
}, H = h(), w = h(), D = h(!1), M = h(!1), f = h({
|
|
75
75
|
show: !1,
|
|
76
76
|
text: "图片上传中,请稍等"
|
|
77
|
-
}), d =
|
|
77
|
+
}), d = C(() => P([m.imageUploadOptions, A.imageUploadOptions, z]) || {}), c = C(() => P([m.videoUploadOptions, A.videoUploadOptions, V]) || {}), g = C(() => P([m.audioUploadOptions, A.audioUploadOptions, B]) || {}), U = C(() => P([m.imgPondOptions, A.imgPondOptions]) || {}), ee = C(() => {
|
|
78
78
|
var a, i;
|
|
79
|
-
return ((i = (a = d == null ? void 0 : d.value) == null ? void 0 : a.allowedType) == null ? void 0 : i.map((
|
|
80
|
-
}),
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
return ((i = (a = d == null ? void 0 : d.value) == null ? void 0 : a.allowedType) == null ? void 0 : i.map((t) => `.${t}`).join(",")) || "";
|
|
80
|
+
}), y = h();
|
|
81
|
+
S(() => y.value, () => {
|
|
82
|
+
y.value && (G(y.value), J(y.value, {
|
|
83
83
|
onStart: () => {
|
|
84
84
|
f.value = {
|
|
85
85
|
show: !0,
|
|
@@ -90,13 +90,13 @@ const sa = /* @__PURE__ */ ge({
|
|
|
90
90
|
f.value.show = !1;
|
|
91
91
|
},
|
|
92
92
|
onError: (a) => {
|
|
93
|
-
f.value.show = !1,
|
|
93
|
+
f.value.show = !1, b.error(a);
|
|
94
94
|
}
|
|
95
|
-
});
|
|
95
|
+
}));
|
|
96
96
|
}, { immediate: !0 });
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
const I = h();
|
|
98
|
+
S(() => I.value, () => {
|
|
99
|
+
I.value && (G(y.value), J(I.value, {
|
|
100
100
|
onStart: () => {
|
|
101
101
|
f.value = {
|
|
102
102
|
show: !0,
|
|
@@ -107,26 +107,26 @@ const sa = /* @__PURE__ */ ge({
|
|
|
107
107
|
f.value.show = !1;
|
|
108
108
|
},
|
|
109
109
|
onError: (a) => {
|
|
110
|
-
f.value.show = !1,
|
|
110
|
+
f.value.show = !1, b.error(a);
|
|
111
111
|
}
|
|
112
|
-
});
|
|
112
|
+
}));
|
|
113
113
|
}, { immediate: !0 });
|
|
114
|
-
const
|
|
114
|
+
const T = h({
|
|
115
115
|
dialogVisible: !1,
|
|
116
116
|
formData: {
|
|
117
117
|
images: []
|
|
118
118
|
}
|
|
119
119
|
}), R = h(), W = () => {
|
|
120
|
-
|
|
120
|
+
T.value.dialogVisible = !1, T.value.formData = {
|
|
121
121
|
images: []
|
|
122
122
|
};
|
|
123
|
-
},
|
|
123
|
+
}, ae = () => {
|
|
124
124
|
var a;
|
|
125
125
|
(a = R.value) == null || a.validate((i) => {
|
|
126
|
-
i && (
|
|
127
|
-
var
|
|
128
|
-
let e =
|
|
129
|
-
U.value.srcAt && (e = (
|
|
126
|
+
i && (T.value.formData.images.forEach((t) => {
|
|
127
|
+
var o;
|
|
128
|
+
let e = t;
|
|
129
|
+
U.value.srcAt && (e = (t == null ? void 0 : t[U.value.srcAt]) || ""), (o = w.value) == null || o.insertContent(`<img src=${e} alt="" />`);
|
|
130
130
|
}), W());
|
|
131
131
|
});
|
|
132
132
|
}, v = h({
|
|
@@ -141,17 +141,17 @@ const sa = /* @__PURE__ */ ge({
|
|
|
141
141
|
},
|
|
142
142
|
// 用于临时保存上传前的参数 { file: File }
|
|
143
143
|
additionalData: {}
|
|
144
|
-
}),
|
|
144
|
+
}), E = h(), $ = () => {
|
|
145
145
|
v.value.dialogVisible = !1, v.value.formData = {
|
|
146
146
|
name: "",
|
|
147
147
|
cover: [],
|
|
148
148
|
file: []
|
|
149
149
|
}, v.value.additionalData = {};
|
|
150
|
-
},
|
|
150
|
+
}, oe = () => {
|
|
151
151
|
var a;
|
|
152
|
-
(a =
|
|
153
|
-
var
|
|
154
|
-
i && ((e =
|
|
152
|
+
(a = E.value) == null || a.validate((i) => {
|
|
153
|
+
var t, e;
|
|
154
|
+
i && ((e = w.value) == null || e.insertContent(`<audio controls data-name="${v.value.formData.name}" data-poster="${v.value.formData.cover[0]}" src="${(t = v.value.formData.file[0]) == null ? void 0 : t.url}"></audio>`), $());
|
|
155
155
|
});
|
|
156
156
|
}, x = h({
|
|
157
157
|
dialogVisible: !1,
|
|
@@ -161,57 +161,59 @@ const sa = /* @__PURE__ */ ge({
|
|
|
161
161
|
},
|
|
162
162
|
// 用于临时保存上传前的参数 { file: File }
|
|
163
163
|
additionalData: {}
|
|
164
|
-
}),
|
|
164
|
+
}), j = h(), q = () => {
|
|
165
165
|
x.value.dialogVisible = !1, x.value.formData = {
|
|
166
166
|
file: []
|
|
167
167
|
}, x.value.additionalData = {};
|
|
168
168
|
}, te = () => {
|
|
169
169
|
var a;
|
|
170
|
-
(a =
|
|
171
|
-
var
|
|
172
|
-
i && ((e =
|
|
170
|
+
(a = j.value) == null || a.validate((i) => {
|
|
171
|
+
var t, e;
|
|
172
|
+
i && ((e = w.value) == null || e.insertContent(`<video controls controlslist="nodownload" src="${(t = x.value.formData.file[0]) == null ? void 0 : t.url}"></video>`), q());
|
|
173
173
|
});
|
|
174
|
-
},
|
|
174
|
+
}, ie = () => {
|
|
175
|
+
b.error(`单次最多可选择${d.value.maxCount}张图片`);
|
|
176
|
+
}, le = (a, i) => new Promise(async (t, e) => {
|
|
175
177
|
var r, l;
|
|
176
|
-
const
|
|
177
|
-
if (!
|
|
178
|
+
const o = await K(a);
|
|
179
|
+
if (!o.success) {
|
|
178
180
|
e(), setTimeout(() => {
|
|
179
|
-
i.onError(
|
|
181
|
+
i.onError(o.errorMessage);
|
|
180
182
|
});
|
|
181
183
|
return;
|
|
182
184
|
}
|
|
183
|
-
const n = await ((l = (r = d.value).handleRequest) == null ? void 0 : l.call(r,
|
|
185
|
+
const n = await ((l = (r = d.value).handleRequest) == null ? void 0 : l.call(r, Q(o.file, a.name), a.name, { extParameters: m.extParameters }));
|
|
184
186
|
if (!n || !(n != null && n.success)) {
|
|
185
187
|
e(), setTimeout(() => {
|
|
186
188
|
i.onError(n == null ? void 0 : n.errorMessage);
|
|
187
189
|
});
|
|
188
190
|
return;
|
|
189
191
|
}
|
|
190
|
-
|
|
192
|
+
t(n.url);
|
|
191
193
|
});
|
|
192
194
|
async function F(a) {
|
|
193
|
-
var
|
|
195
|
+
var t, e, o, n, r;
|
|
194
196
|
const i = a.getElementsByTagName("img");
|
|
195
197
|
for (let l of i) {
|
|
196
198
|
const s = l.src;
|
|
197
199
|
if (s.startsWith("data:image"))
|
|
198
|
-
(
|
|
200
|
+
(t = l == null ? void 0 : l.remove) == null || t.call(l);
|
|
199
201
|
else if (s.startsWith("http://") || s.startsWith("https://")) {
|
|
200
|
-
const u = await
|
|
202
|
+
const u = await _e(s);
|
|
201
203
|
if (u && (u.width < (d.value.minWidth || 0) && u.height < (d.value.minHeight || 0) || u.width > (d.value.maxWidth || 0) && u.height > (d.value.maxHeight || 0))) {
|
|
202
204
|
(e = l == null ? void 0 : l.remove) == null || e.call(l);
|
|
203
205
|
return;
|
|
204
206
|
}
|
|
205
|
-
const p =
|
|
206
|
-
if (!((n = (
|
|
207
|
+
const p = X(s);
|
|
208
|
+
if (!((n = (o = d.value) == null ? void 0 : o.allowedType) != null && n.includes(p.toLowerCase()))) {
|
|
207
209
|
(r = l == null ? void 0 : l.remove) == null || r.call(l);
|
|
208
210
|
return;
|
|
209
211
|
}
|
|
210
212
|
}
|
|
211
213
|
}
|
|
212
214
|
}
|
|
213
|
-
|
|
214
|
-
var
|
|
215
|
+
be(() => {
|
|
216
|
+
var t;
|
|
215
217
|
const a = {
|
|
216
218
|
// 设置语言
|
|
217
219
|
language: "zh_CN",
|
|
@@ -291,19 +293,19 @@ const sa = /* @__PURE__ */ ge({
|
|
|
291
293
|
convert_urls: !1,
|
|
292
294
|
paste_webkit_styles: "all",
|
|
293
295
|
paste_data_images: !0,
|
|
294
|
-
images_file_types: ((
|
|
296
|
+
images_file_types: ((t = d.value.allowedType) == null ? void 0 : t.join(",")) || "jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp",
|
|
295
297
|
// 粘贴前处理
|
|
296
|
-
paste_preprocess(e,
|
|
297
|
-
|
|
298
|
+
paste_preprocess(e, o) {
|
|
299
|
+
o.content = o.content.replace(/<video[^>]*(?:\/>|>[\s\S]*?<\/video>)/g, ""), o.content = o.content.replace(/<audio[^>]*(?:\/>|>[\s\S]*?<\/audio>)/g, ""), o.content = o.content.replace(/<nav/g, "<div").replace(/<\/nav>/g, "</div>"), o.content = o.content.replace(/<header/g, "<div").replace(/<\/header>/g, "</div>"), o.content = o.content.replace(/<footer/g, "<div").replace(/<\/footer>/g, "</div>"), o.content = o.content.replace(/<aside/g, "<div").replace(/<\/aside>/g, "</div>"), o.content = o.content.replace(/<section/g, "<div").replace(/<\/section>/g, "</div>"), o.content = o.content.replace(/<main/g, "<div").replace(/<\/main>/g, "</div>"), o.content = o.content.replace(/<article/g, "<div").replace(/<\/article>/g, "</div>"), o.content = o.content.replace(/<details/g, "<div").replace(/<\/details>/g, "</div>");
|
|
298
300
|
},
|
|
299
301
|
// 粘贴后处理(处理异步操作)
|
|
300
|
-
paste_postprocess(e,
|
|
301
|
-
F(
|
|
302
|
+
paste_postprocess(e, o) {
|
|
303
|
+
F(o.node);
|
|
302
304
|
},
|
|
303
305
|
images_upload_handler(e) {
|
|
304
|
-
return new Promise(async (
|
|
305
|
-
var
|
|
306
|
-
if (!((
|
|
306
|
+
return new Promise(async (o, n) => {
|
|
307
|
+
var _, N, O;
|
|
308
|
+
if (!((_ = d.value) != null && _.handleRequest))
|
|
307
309
|
return n({ message: "缺少图片上传配置", remove: !0 });
|
|
308
310
|
f.value = {
|
|
309
311
|
show: !0,
|
|
@@ -312,7 +314,7 @@ const sa = /* @__PURE__ */ ge({
|
|
|
312
314
|
let r = e.blob(), l = r.name ? r.name : e.filename();
|
|
313
315
|
if (!(r != null && r.name) && !(r != null && r.lastModified) && r.type === "image/png")
|
|
314
316
|
return f.value.show = !1, n({ message: "不允许粘贴", remove: !0 });
|
|
315
|
-
const s = await
|
|
317
|
+
const s = await ye(r, l, {
|
|
316
318
|
imageMaxSize: d.value.maxSize,
|
|
317
319
|
imageAllowedType: d.value.allowedType,
|
|
318
320
|
// imageAllowedMineType: mergeImageUploadOptions.value.allowedMineType,
|
|
@@ -328,19 +330,19 @@ const sa = /* @__PURE__ */ ge({
|
|
|
328
330
|
const L = l == null ? void 0 : l.split(".");
|
|
329
331
|
L.pop(), l = `${L.join(",")}.jpg`;
|
|
330
332
|
}
|
|
331
|
-
const u = await
|
|
333
|
+
const u = await K(r);
|
|
332
334
|
if (!u.success)
|
|
333
335
|
return f.value.show = !1, n({ message: u == null ? void 0 : u.errorMessage, remove: !0 });
|
|
334
|
-
const p = await ((O = (N = d.value).handleRequest) == null ? void 0 : O.call(N,
|
|
336
|
+
const p = await ((O = (N = d.value).handleRequest) == null ? void 0 : O.call(N, Q(u.file, l), l, { extParameters: m.extParameters }));
|
|
335
337
|
if (!p || !p.success)
|
|
336
338
|
return f.value.show = !1, n({ message: p.errorMessage, remove: !0 });
|
|
337
|
-
f.value.show = !1,
|
|
339
|
+
f.value.show = !1, o(p.url);
|
|
338
340
|
});
|
|
339
341
|
},
|
|
340
342
|
setup(e) {
|
|
341
343
|
var n, r;
|
|
342
|
-
const
|
|
343
|
-
|
|
344
|
+
const o = () => {
|
|
345
|
+
T.value.dialogVisible = !0, setTimeout(() => {
|
|
344
346
|
var s, u;
|
|
345
347
|
const l = (s = document == null ? void 0 : document.querySelector) == null ? void 0 : s.call(document, ".tinymce-editor-upload-image-dialog .el-upload__text > div");
|
|
346
348
|
l && (l.innerHTML = ((u = d.value) == null ? void 0 : u.tipText) || "上传");
|
|
@@ -349,11 +351,11 @@ const sa = /* @__PURE__ */ ge({
|
|
|
349
351
|
if (e.ui.registry.addMenuItem("localImage", {
|
|
350
352
|
text: "图片",
|
|
351
353
|
icon: "image",
|
|
352
|
-
onAction: () =>
|
|
354
|
+
onAction: () => o()
|
|
353
355
|
}), e.ui.registry.addButton("localImage", {
|
|
354
356
|
icon: "image",
|
|
355
357
|
tooltip: "图片",
|
|
356
|
-
onAction: () =>
|
|
358
|
+
onAction: () => o()
|
|
357
359
|
}), (n = g == null ? void 0 : g.value) != null && n.enable) {
|
|
358
360
|
const l = () => {
|
|
359
361
|
v.value.dialogVisible = !0, setTimeout(() => {
|
|
@@ -387,114 +389,114 @@ const sa = /* @__PURE__ */ ge({
|
|
|
387
389
|
});
|
|
388
390
|
}
|
|
389
391
|
}
|
|
390
|
-
}, i =
|
|
392
|
+
}, i = P(
|
|
391
393
|
[
|
|
392
394
|
m.options,
|
|
393
|
-
|
|
395
|
+
A.options,
|
|
394
396
|
a
|
|
395
397
|
],
|
|
396
398
|
{
|
|
397
|
-
mergeFunction: (e,
|
|
398
|
-
e(...n),
|
|
399
|
+
mergeFunction: (e, o) => (...n) => {
|
|
400
|
+
e(...n), o(...n);
|
|
399
401
|
},
|
|
400
402
|
type: Object
|
|
401
403
|
}
|
|
402
404
|
);
|
|
403
|
-
|
|
404
|
-
var
|
|
405
|
+
Y.init(i).then(([e]) => {
|
|
406
|
+
var o;
|
|
405
407
|
e && (e.customProps = { ...m }, e.on("change input Redo Undo SetContent", () => {
|
|
406
|
-
if (
|
|
407
|
-
|
|
408
|
+
if (M.value) {
|
|
409
|
+
M.value = !1;
|
|
408
410
|
return;
|
|
409
411
|
}
|
|
410
|
-
|
|
412
|
+
D.value = !0, k("input", e.getContent());
|
|
411
413
|
}), e.on("paste", (n) => {
|
|
412
414
|
var l, s;
|
|
413
415
|
const r = ((l = n.clipboardData) == null ? void 0 : l.files) || [];
|
|
414
416
|
for (let u of r) {
|
|
415
|
-
const p =
|
|
417
|
+
const p = X(u.name) || "";
|
|
416
418
|
(s = d.value.allowedType) != null && s.includes(p.toLowerCase()) || n.preventDefault();
|
|
417
419
|
}
|
|
418
|
-
}), (
|
|
420
|
+
}), (o = m.initComplete) == null || o.call(m, { editorIns: e }), w.value = e);
|
|
419
421
|
});
|
|
420
|
-
}),
|
|
422
|
+
}), we(() => {
|
|
421
423
|
var a;
|
|
422
|
-
(a =
|
|
424
|
+
(a = w.value) == null || a.destroy();
|
|
423
425
|
});
|
|
424
|
-
const
|
|
425
|
-
var i,
|
|
426
|
+
const ne = () => {
|
|
427
|
+
var i, t;
|
|
426
428
|
const a = { ...v.value.additionalData || {} };
|
|
427
|
-
return ((
|
|
428
|
-
},
|
|
429
|
-
var i,
|
|
429
|
+
return ((t = (i = g.value) == null ? void 0 : i.data) == null ? void 0 : t.call(i, { file: a, extParameters: m.extParameters })) || {};
|
|
430
|
+
}, re = () => {
|
|
431
|
+
var i, t;
|
|
430
432
|
const a = { ...v.value.additionalData || {} };
|
|
431
|
-
return ((
|
|
432
|
-
},
|
|
433
|
-
var
|
|
434
|
-
const e = (n = (
|
|
435
|
-
e != null && e.url ?
|
|
436
|
-
},
|
|
433
|
+
return ((t = (i = g.value) == null ? void 0 : i.headers) == null ? void 0 : t.call(i, { file: a, extParameters: m.extParameters })) || {};
|
|
434
|
+
}, se = (a, i, t) => {
|
|
435
|
+
var o, n;
|
|
436
|
+
const e = (n = (o = g == null ? void 0 : g.value) == null ? void 0 : o.handlerResponse) == null ? void 0 : n.call(o, a);
|
|
437
|
+
e != null && e.url ? t[t.length - 1].url = e.url : e != null && e.errorMessage && (b.error(e.errorMessage), t.splice(t.length - 1, 1)), v.value.formData.file = t;
|
|
438
|
+
}, ue = (a, i) => new Promise((t, e) => {
|
|
437
439
|
var n, r, l, s, u, p;
|
|
438
|
-
const
|
|
439
|
-
if (!((r = (n = g.value) == null ? void 0 : n.allowedType) != null && r.includes(
|
|
440
|
-
|
|
440
|
+
const o = a.name.split(".").filter(Boolean).pop() ? a.name.split(".").filter(Boolean).pop() : "";
|
|
441
|
+
if (!((r = (n = g.value) == null ? void 0 : n.allowedType) != null && r.includes(o.toLowerCase()))) {
|
|
442
|
+
b.error(`请上传格式为${(s = (l = g.value) == null ? void 0 : l.allowedType) == null ? void 0 : s.map((_) => _.toUpperCase()).join("、")}的音频`), e();
|
|
441
443
|
return;
|
|
442
444
|
}
|
|
443
445
|
if (a.size > (((u = g.value) == null ? void 0 : u.maxSize) || 0) * 1024 * 1024) {
|
|
444
|
-
|
|
446
|
+
b.error(`请上传${((p = g.value) == null ? void 0 : p.maxSize) || 0}M内的音频`), e();
|
|
445
447
|
return;
|
|
446
448
|
}
|
|
447
|
-
v.value.additionalData = { file: a },
|
|
448
|
-
}),
|
|
449
|
+
v.value.additionalData = { file: a }, t(!0);
|
|
450
|
+
}), de = (a, i) => {
|
|
449
451
|
v.value.formData.file = i;
|
|
450
|
-
},
|
|
451
|
-
|
|
452
|
-
},
|
|
453
|
-
var i,
|
|
452
|
+
}, me = (a, i, t) => {
|
|
453
|
+
b.error("上传发生错误,请重试!"), v.value.formData.file = t;
|
|
454
|
+
}, ce = () => {
|
|
455
|
+
var i, t;
|
|
454
456
|
const a = { ...x.value.additionalData || {} };
|
|
455
|
-
return ((
|
|
456
|
-
},
|
|
457
|
-
var i,
|
|
457
|
+
return ((t = (i = c.value) == null ? void 0 : i.data) == null ? void 0 : t.call(i, { file: a, extParameters: m.extParameters })) || {};
|
|
458
|
+
}, pe = () => {
|
|
459
|
+
var i, t;
|
|
458
460
|
const a = { ...x.value.additionalData || {} };
|
|
459
|
-
return ((
|
|
460
|
-
},
|
|
461
|
-
var
|
|
462
|
-
const e = (n = (
|
|
463
|
-
e != null && e.url ?
|
|
464
|
-
},
|
|
461
|
+
return ((t = (i = c.value) == null ? void 0 : i.headers) == null ? void 0 : t.call(i, { file: a, extParameters: m.extParameters })) || {};
|
|
462
|
+
}, ve = (a, i, t) => {
|
|
463
|
+
var o, n;
|
|
464
|
+
const e = (n = (o = c == null ? void 0 : c.value) == null ? void 0 : o.handlerResponse) == null ? void 0 : n.call(o, a);
|
|
465
|
+
e != null && e.url ? t[t.length - 1].url = e.url : e != null && e.errorMessage && (b.error(e.errorMessage), t.splice(t.length - 1, 1)), x.value.formData.file = t;
|
|
466
|
+
}, fe = (a, i) => new Promise((t, e) => {
|
|
465
467
|
var n, r, l, s, u, p;
|
|
466
|
-
const
|
|
467
|
-
if (!((r = (n = c == null ? void 0 : c.value) == null ? void 0 : n.allowedType) != null && r.includes(
|
|
468
|
-
|
|
468
|
+
const o = a.name.split(".").filter(Boolean).pop() ? a.name.split(".").filter(Boolean).pop() : "";
|
|
469
|
+
if (!((r = (n = c == null ? void 0 : c.value) == null ? void 0 : n.allowedType) != null && r.includes(o.toLowerCase()))) {
|
|
470
|
+
b.error(`请上传格式为${(s = (l = c == null ? void 0 : c.value) == null ? void 0 : l.allowedType) == null ? void 0 : s.map((_) => _.toUpperCase()).join("、")}的视频`), e();
|
|
469
471
|
return;
|
|
470
472
|
}
|
|
471
473
|
if (a.size > (((u = c == null ? void 0 : c.value) == null ? void 0 : u.maxSize) || 0) * 1024 * 1024) {
|
|
472
|
-
|
|
474
|
+
b.error(`请上传${((p = c == null ? void 0 : c.value) == null ? void 0 : p.maxSize) || 0}M内的视频`), e();
|
|
473
475
|
return;
|
|
474
476
|
}
|
|
475
|
-
x.value.additionalData = { file: a },
|
|
476
|
-
}),
|
|
477
|
+
x.value.additionalData = { file: a }, t(!0);
|
|
478
|
+
}), ge = (a, i) => {
|
|
477
479
|
x.value.formData.file = i;
|
|
478
|
-
},
|
|
479
|
-
|
|
480
|
+
}, he = (a, i, t) => {
|
|
481
|
+
b.error("上传发生错误,请重试!"), x.value.formData.file = t;
|
|
480
482
|
};
|
|
481
|
-
return
|
|
483
|
+
return S(() => [m.disabled, w.value], () => {
|
|
482
484
|
var a, i;
|
|
483
|
-
(i = (a =
|
|
484
|
-
}, { immediate: !0 }),
|
|
485
|
-
() => [m.value,
|
|
485
|
+
(i = (a = w.value) == null ? void 0 : a.mode) == null || i.set(m.disabled ? "readonly" : "design");
|
|
486
|
+
}, { immediate: !0 }), S(
|
|
487
|
+
() => [m.value, w.value],
|
|
486
488
|
() => {
|
|
487
489
|
var a;
|
|
488
|
-
if (
|
|
489
|
-
|
|
490
|
+
if (D.value) {
|
|
491
|
+
D.value = !1;
|
|
490
492
|
return;
|
|
491
493
|
}
|
|
492
|
-
|
|
494
|
+
M.value = !0, (a = w.value) == null || a.setContent(m.value ? m.value : "");
|
|
493
495
|
},
|
|
494
496
|
{ immediate: !0 }
|
|
495
|
-
), { __sfc: !0, defaultImageUploadOptions: z, defaultVideoUploadOptions: V, defaultAudioUploadOptions: B, props: m, emits: k, insRef: H, editorRef:
|
|
497
|
+
), { __sfc: !0, defaultImageUploadOptions: z, defaultVideoUploadOptions: V, defaultAudioUploadOptions: B, props: m, emits: k, insRef: H, editorRef: w, preventSettingContent: D, preventUpdatingModelValue: M, uploadLoadingConfig: f, mergeImageUploadOptions: d, mergeVideoUploadOptions: c, mergeAudioUploadOptions: g, mergeImgPondOptions: U, imgPondAccept: ee, uploadImageImgPondRef: y, audioImageImgPondRef: I, uploadImage: T, uploadImageFormRef: R, onUploadImageClose: W, onUploadImageConfirm: ae, uploadAudio: v, uploadAudioFormRef: E, onUploadAudioClose: $, onUploadAudioConfirm: oe, uploadVideo: x, uploadVideoFormRef: j, onUploadVideoClose: q, onUploadVideoConfirm: te, onImageUploadUploadExceed: ie, onImageUploadUpload: le, processPastedImage: F, getUploadAudioData: ne, getUploadAudioHeaders: re, onUploadAudioSuccess: se, onUploadAudioBeforeUpload: ue, onUploadAudioRemove: de, onUploadAudioError: me, getUploadVideoData: ce, getUploadVideoHeaders: pe, onUploadVideoSuccess: ve, onUploadVideoBeforeUpload: fe, onUploadVideoRemove: ge, onUploadVideoError: he, ImgPond: Te };
|
|
496
498
|
}
|
|
497
499
|
});
|
|
498
500
|
export {
|
|
499
|
-
|
|
501
|
+
da as default
|
|
500
502
|
};
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@keyblade/tinymce-editor-vue2",
|
|
3
3
|
"description": "KeyBlade Tinymce Editor Vue2",
|
|
4
4
|
"author": "yangshuai <704807396@qq.com>",
|
|
5
|
-
"version": "0.0.12-alpha.
|
|
5
|
+
"version": "0.0.12-alpha.33",
|
|
6
6
|
"private": false,
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "es/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"vue-global-config": "^0.2.6",
|
|
24
24
|
"tinymce": "^7.1.0",
|
|
25
25
|
"element-ui": "^2.15.14",
|
|
26
|
-
"@keyblade/one-travel": "^2.0.
|
|
26
|
+
"@keyblade/one-travel": "^2.0.4"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"vue": "^2.7.0",
|