@ibiz-template/mob-vue3-components 0.7.41-alpha.17 → 0.7.41-alpha.18
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/ibiz-markdown-editor-CpFrKPxk.js +2 -0
- package/dist/ibiz-markdown-editor-CpFrKPxk.js.map +1 -0
- package/dist/{index-CLxzVzNz.js → index-DO9R8HNp.js} +13 -13
- package/dist/index-DO9R8HNp.js.map +1 -0
- package/dist/index.min.css +3 -3
- package/dist/index.system.min.js +1 -1
- package/dist/{quill-CG16aqds.js → quill-DKjojHxx.js} +2 -2
- package/dist/{quill-CG16aqds.js.map → quill-DKjojHxx.js.map} +1 -1
- package/dist/quill-editor-B4FDYSA7.js +2 -0
- package/dist/quill-editor-B4FDYSA7.js.map +1 -0
- package/dist/{quill-editor-preview-YXGzGLmQ.js → quill-editor-preview-6GV-nd2y.js} +2 -2
- package/dist/{quill-editor-preview-YXGzGLmQ.js.map → quill-editor-preview-6GV-nd2y.js.map} +1 -1
- package/es/editor/cascader/ibiz-cascader/ibiz-cascader.mjs +3 -0
- package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.mjs +8 -2
- package/es/editor/date-range/date-range-editor.controller.mjs +4 -1
- package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +12 -0
- package/es/editor/html/html-editor.controller.mjs +52 -1
- package/es/editor/html/quill-editor/quill-editor.mjs +10 -1
- package/es/editor/index.mjs +13 -3
- package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +10 -1
- package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +25 -0
- package/es/editor/upload/ibiz-image-select/ibiz-image-select.mjs +5 -2
- package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.mjs +5 -2
- package/es/editor/upload/upload-editor.controller.mjs +29 -1
- package/es/editor/upload/use/use-van-upload.mjs +8 -1
- package/es/platform/ios-platform-provider.mjs +11 -0
- package/es/platform/wechat-official-platform-provider.mjs +11 -0
- package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.cjs +3 -0
- package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.cjs +8 -2
- package/lib/editor/date-range/date-range-editor.controller.cjs +4 -1
- package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +12 -0
- package/lib/editor/html/html-editor.controller.cjs +52 -1
- package/lib/editor/html/quill-editor/quill-editor.cjs +10 -1
- package/lib/editor/index.cjs +14 -4
- package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +10 -1
- package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +25 -0
- package/lib/editor/upload/ibiz-image-select/ibiz-image-select.cjs +5 -2
- package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.cjs +5 -2
- package/lib/editor/upload/upload-editor.controller.cjs +29 -1
- package/lib/editor/upload/use/use-van-upload.cjs +8 -1
- package/lib/platform/ios-platform-provider.cjs +11 -0
- package/lib/platform/wechat-official-platform-provider.cjs +11 -0
- package/package.json +5 -5
- package/dist/ibiz-markdown-editor-B7D3K0dJ.js +0 -2
- package/dist/ibiz-markdown-editor-B7D3K0dJ.js.map +0 -1
- package/dist/index-CLxzVzNz.js.map +0 -1
- package/dist/quill-editor-C7zYyQrk.js +0 -2
- package/dist/quill-editor-C7zYyQrk.js.map +0 -1
|
@@ -12,7 +12,7 @@ const IBizCheckbox = /* @__PURE__ */ vue.defineComponent({
|
|
|
12
12
|
setup(props, {
|
|
13
13
|
emit
|
|
14
14
|
}) {
|
|
15
|
-
var _a, _b;
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
16
|
const ns = vue3Util.useNamespace("checkbox");
|
|
17
17
|
const c = props.controller;
|
|
18
18
|
const editorModel = c.model;
|
|
@@ -21,9 +21,15 @@ const IBizCheckbox = /* @__PURE__ */ vue.defineComponent({
|
|
|
21
21
|
if ((_a = editorModel.editorParams) == null ? void 0 : _a.selectValue) {
|
|
22
22
|
selectValue = editorModel.editorParams.selectValue;
|
|
23
23
|
}
|
|
24
|
-
if ((_b = editorModel.editorParams) == null ? void 0 : _b.
|
|
24
|
+
if ((_b = editorModel.editorParams) == null ? void 0 : _b.selectvalue) {
|
|
25
|
+
selectValue = editorModel.editorParams.selectvalue;
|
|
26
|
+
}
|
|
27
|
+
if ((_c = editorModel.editorParams) == null ? void 0 : _c.nullValue) {
|
|
25
28
|
nullValue = editorModel.editorParams.nullValue;
|
|
26
29
|
}
|
|
30
|
+
if ((_d = editorModel.editorParams) == null ? void 0 : _d.nullvalue) {
|
|
31
|
+
nullValue = editorModel.editorParams.nullvalue;
|
|
32
|
+
}
|
|
27
33
|
const currentVal = vue.computed({
|
|
28
34
|
get() {
|
|
29
35
|
if (props.value === selectValue) {
|
|
@@ -28,7 +28,7 @@ class DateRangeEditorController extends runtime.EditorController {
|
|
|
28
28
|
* @memberof DateRangeEditorController
|
|
29
29
|
*/
|
|
30
30
|
async onInit() {
|
|
31
|
-
var _a;
|
|
31
|
+
var _a, _b;
|
|
32
32
|
super.onInit();
|
|
33
33
|
if (!this.placeHolder) {
|
|
34
34
|
this.placeHolder = ibiz.i18n.t("editor.dateRangePicker.selectRange");
|
|
@@ -36,6 +36,9 @@ class DateRangeEditorController extends runtime.EditorController {
|
|
|
36
36
|
if (((_a = this.editorParams) == null ? void 0 : _a.SHOWMODE) === "CALENDAR") {
|
|
37
37
|
this.showmode = "CALENDAR";
|
|
38
38
|
}
|
|
39
|
+
if (((_b = this.editorParams) == null ? void 0 : _b.showmode) === "CALENDAR") {
|
|
40
|
+
this.showmode = "CALENDAR";
|
|
41
|
+
}
|
|
39
42
|
}
|
|
40
43
|
/**
|
|
41
44
|
* 根据编辑器类型获取格式化
|
|
@@ -49,15 +49,27 @@ const IBizDateRangePicker = /* @__PURE__ */ vue.defineComponent({
|
|
|
49
49
|
if (editorModel.editorParams.valueSeparator) {
|
|
50
50
|
valueSeparator = editorModel.editorParams.valueSeparator;
|
|
51
51
|
}
|
|
52
|
+
if (editorModel.editorParams.valueseparator) {
|
|
53
|
+
valueSeparator = editorModel.editorParams.valueseparator;
|
|
54
|
+
}
|
|
52
55
|
if (editorModel.editorParams.startPlaceHolder) {
|
|
53
56
|
startPlaceHolder = editorModel.editorParams.startPlaceHolder;
|
|
54
57
|
}
|
|
58
|
+
if (editorModel.editorParams.startplaceholder) {
|
|
59
|
+
startPlaceHolder = editorModel.editorParams.startplaceholder;
|
|
60
|
+
}
|
|
55
61
|
if (editorModel.editorParams.endPlaceHolder) {
|
|
56
62
|
endPlaceHolder = editorModel.editorParams.endPlaceHolder;
|
|
57
63
|
}
|
|
64
|
+
if (editorModel.editorParams.endplaceholder) {
|
|
65
|
+
endPlaceHolder = editorModel.editorParams.endplaceholder;
|
|
66
|
+
}
|
|
58
67
|
if (editorModel.editorParams.rangeSeparator) {
|
|
59
68
|
rangeSeparator = editorModel.editorParams.rangeSeparator;
|
|
60
69
|
}
|
|
70
|
+
if (editorModel.editorParams.rangeseparator) {
|
|
71
|
+
rangeSeparator = editorModel.editorParams.rangeseparator;
|
|
72
|
+
}
|
|
61
73
|
}
|
|
62
74
|
const format = vue.ref("YYYY-MM-DD");
|
|
63
75
|
const valueFormat = c.valueFormat;
|
|
@@ -83,7 +83,15 @@ class HtmlEditorController extends runtime.EditorController {
|
|
|
83
83
|
IMAGEMODE,
|
|
84
84
|
MODULES,
|
|
85
85
|
DEFAULTHEIGHT,
|
|
86
|
-
SHOWCOLLAPSE
|
|
86
|
+
SHOWCOLLAPSE,
|
|
87
|
+
uploadparams,
|
|
88
|
+
exportparams,
|
|
89
|
+
showtoolbar,
|
|
90
|
+
valuemode,
|
|
91
|
+
imagemode,
|
|
92
|
+
modules,
|
|
93
|
+
defaultheight,
|
|
94
|
+
showcollapse
|
|
87
95
|
} = this.editorParams;
|
|
88
96
|
if (uploadParams) {
|
|
89
97
|
try {
|
|
@@ -96,6 +104,17 @@ class HtmlEditorController extends runtime.EditorController {
|
|
|
96
104
|
);
|
|
97
105
|
}
|
|
98
106
|
}
|
|
107
|
+
if (uploadparams) {
|
|
108
|
+
try {
|
|
109
|
+
this.uploadParams = JSON.parse(uploadparams);
|
|
110
|
+
} catch (error) {
|
|
111
|
+
ibiz.log.error(
|
|
112
|
+
`\u7F16\u8F91\u5668[${ibiz.log.error(
|
|
113
|
+
error
|
|
114
|
+
)}]\u7F16\u8F91\u5668\u53C2\u6570 uploadParams \u975E json \u683C\u5F0F`
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
99
118
|
if (exportParams) {
|
|
100
119
|
try {
|
|
101
120
|
this.exportParams = JSON.parse(exportParams);
|
|
@@ -107,27 +126,59 @@ class HtmlEditorController extends runtime.EditorController {
|
|
|
107
126
|
);
|
|
108
127
|
}
|
|
109
128
|
}
|
|
129
|
+
if (exportparams) {
|
|
130
|
+
try {
|
|
131
|
+
this.exportParams = JSON.parse(exportparams);
|
|
132
|
+
} catch (error) {
|
|
133
|
+
ibiz.log.error(
|
|
134
|
+
`\u7F16\u8F91\u5668[${ibiz.log.error(
|
|
135
|
+
error
|
|
136
|
+
)}]\u7F16\u8F91\u5668\u53C2\u6570 exportParams \u975E json \u683C\u5F0F`
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
110
140
|
if (SHOWTOOLBAR) {
|
|
111
141
|
this.showToolbar = this.toBoolean(SHOWTOOLBAR);
|
|
112
142
|
}
|
|
143
|
+
if (showtoolbar) {
|
|
144
|
+
this.showToolbar = this.toBoolean(showtoolbar);
|
|
145
|
+
}
|
|
113
146
|
if (VALUEMODE) {
|
|
114
147
|
this.valueMode = VALUEMODE.toLowerCase();
|
|
115
148
|
}
|
|
149
|
+
if (valuemode) {
|
|
150
|
+
this.valueMode = valuemode.toLowerCase();
|
|
151
|
+
}
|
|
116
152
|
if (IMAGEMODE) {
|
|
117
153
|
this.imageMode = IMAGEMODE.toLowerCase();
|
|
118
154
|
}
|
|
155
|
+
if (imagemode) {
|
|
156
|
+
this.imageMode = imagemode.toLowerCase();
|
|
157
|
+
}
|
|
119
158
|
if (MODULES) {
|
|
120
159
|
this.modules = runtime.ScriptFactory.execScriptFn(
|
|
121
160
|
{ controller: this },
|
|
122
161
|
MODULES
|
|
123
162
|
);
|
|
124
163
|
}
|
|
164
|
+
if (modules) {
|
|
165
|
+
this.modules = runtime.ScriptFactory.execScriptFn(
|
|
166
|
+
{ controller: this },
|
|
167
|
+
modules
|
|
168
|
+
);
|
|
169
|
+
}
|
|
125
170
|
if (DEFAULTHEIGHT) {
|
|
126
171
|
this.defaultHeight = Number(DEFAULTHEIGHT);
|
|
127
172
|
}
|
|
173
|
+
if (defaultheight) {
|
|
174
|
+
this.defaultHeight = Number(defaultheight);
|
|
175
|
+
}
|
|
128
176
|
if (SHOWCOLLAPSE) {
|
|
129
177
|
this.showCollapse = this.toBoolean(SHOWCOLLAPSE);
|
|
130
178
|
}
|
|
179
|
+
if (showcollapse) {
|
|
180
|
+
this.showCollapse = this.toBoolean(showcollapse);
|
|
181
|
+
}
|
|
131
182
|
}
|
|
132
183
|
}
|
|
133
184
|
}
|
|
@@ -95,7 +95,16 @@ const IBizQuill = /* @__PURE__ */ vue.defineComponent({
|
|
|
95
95
|
});
|
|
96
96
|
vue.watch(() => props.data, (newVal) => {
|
|
97
97
|
if (newVal) {
|
|
98
|
-
const
|
|
98
|
+
const editorParams = {
|
|
99
|
+
...c.editorParams
|
|
100
|
+
};
|
|
101
|
+
if (editorParams.uploadparams) {
|
|
102
|
+
editorParams.uploadParams = JSON.parse(editorParams.uploadparams);
|
|
103
|
+
}
|
|
104
|
+
if (editorParams.exportparams) {
|
|
105
|
+
editorParams.exportParams = JSON.parse(editorParams.exportparams);
|
|
106
|
+
}
|
|
107
|
+
const urls = ibiz.util.file.calcFileUpDownUrl(c.context, c.params, newVal, editorParams);
|
|
99
108
|
uploadUrl.value = urls.uploadUrl;
|
|
100
109
|
downloadUrl.value = urls.downloadUrl;
|
|
101
110
|
}
|
package/lib/editor/index.cjs
CHANGED
|
@@ -56,6 +56,7 @@ var ibizPickerSelectView = require('./data-picker/ibiz-picker-select-view/ibiz-p
|
|
|
56
56
|
var ibizCarousel = require('./upload/ibiz-carousel/ibiz-carousel.cjs');
|
|
57
57
|
var ibizQrcode = require('./qrcode/ibiz-qrcode/ibiz-qrcode.cjs');
|
|
58
58
|
var ibizImageCropping = require('./upload/ibiz-image-cropping/ibiz-image-cropping.cjs');
|
|
59
|
+
var ibizCheckbox = require('./check-box/ibiz-checkbox/ibiz-checkbox.cjs');
|
|
59
60
|
var spanEditor_provider = require('./span/span-editor.provider.cjs');
|
|
60
61
|
var textBoxEditor_provider = require('./text-box/text-box-editor.provider.cjs');
|
|
61
62
|
var dropdownListEditor_provider = require('./dropdown-list/dropdown-list-editor.provider.cjs');
|
|
@@ -74,12 +75,11 @@ var pickerEditor_provider = require('./data-picker/picker-editor.provider.cjs');
|
|
|
74
75
|
var uploadEditor_provider = require('./upload/upload-editor.provider.cjs');
|
|
75
76
|
var numberRangeEditor_provider = require('./number-range/number-range-editor.provider.cjs');
|
|
76
77
|
var dateRangeEditor_provider = require('./date-range/date-range-editor.provider.cjs');
|
|
78
|
+
var checkBoxEditor_provider = require('./check-box/check-box-editor.provider.cjs');
|
|
77
79
|
var checkboxListEditor_provider = require('./check-box-list/checkbox-list-editor.provider.cjs');
|
|
78
80
|
var qrcodeEditor_provider = require('./qrcode/qrcode-editor.provider.cjs');
|
|
79
81
|
var cascaderEditor_controller = require('./cascader/cascader-editor.controller.cjs');
|
|
80
|
-
var ibizCheckbox = require('./check-box/ibiz-checkbox/ibiz-checkbox.cjs');
|
|
81
82
|
var checkBoxEditor_controller = require('./check-box/check-box-editor.controller.cjs');
|
|
82
|
-
var checkBoxEditor_provider = require('./check-box/check-box-editor.provider.cjs');
|
|
83
83
|
var checkboxListEditor_controller = require('./check-box-list/checkbox-list-editor.controller.cjs');
|
|
84
84
|
var pickerEditor_controller = require('./data-picker/picker-editor.controller.cjs');
|
|
85
85
|
var datePickerEditor_controller = require('./date-picker/date-picker-editor.controller.cjs');
|
|
@@ -134,6 +134,7 @@ const IBizEditor = {
|
|
|
134
134
|
v.component(ibizCarousel.IBizEditorCarousel.name, ibizCarousel.IBizEditorCarousel);
|
|
135
135
|
v.component(ibizQrcode.IBizQrcode.name, ibizQrcode.IBizQrcode);
|
|
136
136
|
v.component(ibizImageCropping.IBizImageCropping.name, ibizImageCropping.IBizImageCropping);
|
|
137
|
+
v.component(ibizCheckbox.IBizCheckbox.name, ibizCheckbox.IBizCheckbox);
|
|
137
138
|
v.component(
|
|
138
139
|
"IBizMarkDown",
|
|
139
140
|
vue.defineAsyncComponent(
|
|
@@ -171,6 +172,10 @@ const IBizEditor = {
|
|
|
171
172
|
"MOBTEXT_SIGNATURE",
|
|
172
173
|
() => new textBoxEditor_provider.TextBoxEditorProvider("SIGNATURE")
|
|
173
174
|
);
|
|
175
|
+
runtime.registerEditorProvider(
|
|
176
|
+
"TEXTBOX_SIGNATURE",
|
|
177
|
+
() => new textBoxEditor_provider.TextBoxEditorProvider("SIGNATURE")
|
|
178
|
+
);
|
|
174
179
|
runtime.registerEditorProvider(
|
|
175
180
|
"MOBDROPDOWNLIST",
|
|
176
181
|
() => new dropdownListEditor_provider.DropDownListEditorProvider()
|
|
@@ -183,6 +188,10 @@ const IBizEditor = {
|
|
|
183
188
|
"MOBDROPDOWNLIST_EMOJI_PICKER",
|
|
184
189
|
() => new dropdownListEditor_provider.DropDownListEditorProvider("EMOJI_PICKER")
|
|
185
190
|
);
|
|
191
|
+
runtime.registerEditorProvider(
|
|
192
|
+
"DROPDOWNLIST_EMOJI_PICKER",
|
|
193
|
+
() => new dropdownListEditor_provider.DropDownListEditorProvider("EMOJI_PICKER")
|
|
194
|
+
);
|
|
186
195
|
runtime.registerEditorProvider(
|
|
187
196
|
"ROPDOWNLIST_CASCADER",
|
|
188
197
|
() => new dropdownListEditor_provider.DropDownListEditorProvider("MOBDROPDOWNLIST_CASCADER")
|
|
@@ -334,6 +343,7 @@ const IBizEditor = {
|
|
|
334
343
|
"DATERANGE_NOTIME",
|
|
335
344
|
() => new dateRangeEditor_provider.DateRangeEditorProvider()
|
|
336
345
|
);
|
|
346
|
+
runtime.registerEditorProvider("CHECKBOX", () => new checkBoxEditor_provider.CheckBoxEditorProvider());
|
|
337
347
|
runtime.registerEditorProvider(
|
|
338
348
|
"FIELD_IMAGE_PICTURE_ONE",
|
|
339
349
|
() => new uploadEditor_provider.FileUploaderEditorProvider("MOBPICTURE_RAW")
|
|
@@ -424,6 +434,7 @@ exports.IBizColorPicker = ibizColorPicker.IBizColorPicker;
|
|
|
424
434
|
exports.IBizPickerSelectView = ibizPickerSelectView.IBizPickerSelectView;
|
|
425
435
|
exports.IBizEditorCarousel = ibizCarousel.IBizEditorCarousel;
|
|
426
436
|
exports.IBizImageCropping = ibizImageCropping.IBizImageCropping;
|
|
437
|
+
exports.IBizCheckbox = ibizCheckbox.IBizCheckbox;
|
|
427
438
|
exports.SpanEditorProvider = spanEditor_provider.SpanEditorProvider;
|
|
428
439
|
exports.TextBoxEditorProvider = textBoxEditor_provider.TextBoxEditorProvider;
|
|
429
440
|
exports.DropDownListEditorProvider = dropdownListEditor_provider.DropDownListEditorProvider;
|
|
@@ -441,11 +452,10 @@ exports.DataPickerEditorProvider = pickerEditor_provider.DataPickerEditorProvide
|
|
|
441
452
|
exports.FileUploaderEditorProvider = uploadEditor_provider.FileUploaderEditorProvider;
|
|
442
453
|
exports.NumberRangeEditorProvider = numberRangeEditor_provider.NumberRangeEditorProvider;
|
|
443
454
|
exports.DateRangeEditorProvider = dateRangeEditor_provider.DateRangeEditorProvider;
|
|
455
|
+
exports.CheckBoxEditorProvider = checkBoxEditor_provider.CheckBoxEditorProvider;
|
|
444
456
|
exports.CheckBoxListEditorProvider = checkboxListEditor_provider.CheckBoxListEditorProvider;
|
|
445
457
|
exports.CascaderEditorController = cascaderEditor_controller.CascaderEditorController;
|
|
446
|
-
exports.IBizCheckbox = ibizCheckbox.IBizCheckbox;
|
|
447
458
|
exports.CheckBoxEditorController = checkBoxEditor_controller.CheckBoxEditorController;
|
|
448
|
-
exports.CheckBoxEditorProvider = checkBoxEditor_provider.CheckBoxEditorProvider;
|
|
449
459
|
exports.CheckBoxListEditorController = checkboxListEditor_controller.CheckBoxListEditorController;
|
|
450
460
|
exports.PickerEditorController = pickerEditor_controller.PickerEditorController;
|
|
451
461
|
exports.DatePickerEditorController = datePickerEditor_controller.DatePickerEditorController;
|
|
@@ -38,7 +38,16 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
|
|
|
38
38
|
const cssVars = vue.ref({});
|
|
39
39
|
vue.watch(() => props.data, (newVal) => {
|
|
40
40
|
if (newVal) {
|
|
41
|
-
const
|
|
41
|
+
const editorParams = {
|
|
42
|
+
...c.editorParams
|
|
43
|
+
};
|
|
44
|
+
if (editorParams.uploadparams) {
|
|
45
|
+
editorParams.uploadParams = JSON.parse(editorParams.uploadparams);
|
|
46
|
+
}
|
|
47
|
+
if (editorParams.exportparams) {
|
|
48
|
+
editorParams.exportParams = JSON.parse(editorParams.exportparams);
|
|
49
|
+
}
|
|
50
|
+
const urls = ibiz.util.file.calcFileUpDownUrl(c.context, c.params, newVal, editorParams);
|
|
42
51
|
uploadUrl.value = urls.uploadUrl;
|
|
43
52
|
downloadUrl.value = urls.downloadUrl;
|
|
44
53
|
}
|
|
@@ -33,12 +33,21 @@ const IBizSlider = /* @__PURE__ */ vue.defineComponent({
|
|
|
33
33
|
if (editorModel.editorParams.stepValue) {
|
|
34
34
|
step = lodashEs.toNumber(editorModel.editorParams.stepValue);
|
|
35
35
|
}
|
|
36
|
+
if (editorModel.editorParams.stepvalue) {
|
|
37
|
+
step = lodashEs.toNumber(editorModel.editorParams.stepvalue);
|
|
38
|
+
}
|
|
36
39
|
if (editorModel.editorParams.maxValue) {
|
|
37
40
|
max = lodashEs.toNumber(editorModel.editorParams.maxValue);
|
|
38
41
|
}
|
|
42
|
+
if (editorModel.editorParams.maxvalue) {
|
|
43
|
+
max = lodashEs.toNumber(editorModel.editorParams.maxvalue);
|
|
44
|
+
}
|
|
39
45
|
if (editorModel.editorParams.minValue) {
|
|
40
46
|
min = lodashEs.toNumber(editorModel.editorParams.minValue);
|
|
41
47
|
}
|
|
48
|
+
if (editorModel.editorParams.minvalue) {
|
|
49
|
+
min = lodashEs.toNumber(editorModel.editorParams.minvalue);
|
|
50
|
+
}
|
|
42
51
|
if (editorModel.editorParams.range) {
|
|
43
52
|
range = c.toBoolean(editorModel.editorParams.range);
|
|
44
53
|
}
|
|
@@ -48,9 +57,15 @@ const IBizSlider = /* @__PURE__ */ vue.defineComponent({
|
|
|
48
57
|
if (editorModel.editorParams.textItem) {
|
|
49
58
|
textItem = editorModel.editorParams.textItem;
|
|
50
59
|
}
|
|
60
|
+
if (editorModel.editorParams.textitem) {
|
|
61
|
+
textItem = editorModel.editorParams.textitem;
|
|
62
|
+
}
|
|
51
63
|
if (editorModel.editorParams.showText) {
|
|
52
64
|
showText = c.toBoolean(editorModel.editorParams.showText);
|
|
53
65
|
}
|
|
66
|
+
if (editorModel.editorParams.showtext) {
|
|
67
|
+
showText = c.toBoolean(editorModel.editorParams.showtext);
|
|
68
|
+
}
|
|
54
69
|
if (editorModel.editorParams.format) {
|
|
55
70
|
format = editorModel.editorParams.format;
|
|
56
71
|
}
|
|
@@ -141,6 +156,16 @@ const IBizSlider = /* @__PURE__ */ vue.defineComponent({
|
|
|
141
156
|
return vue.createVNode("div", {
|
|
142
157
|
"class": this.ns.b("button")
|
|
143
158
|
}, [this.currentVal]);
|
|
159
|
+
},
|
|
160
|
+
"left-button": () => {
|
|
161
|
+
return vue.createVNode("div", {
|
|
162
|
+
"class": this.ns.b("button")
|
|
163
|
+
}, [Array.isArray(this.currentVal) ? this.currentVal[0] : this.currentVal]);
|
|
164
|
+
},
|
|
165
|
+
"right-button": () => {
|
|
166
|
+
return vue.createVNode("div", {
|
|
167
|
+
"class": this.ns.b("button")
|
|
168
|
+
}, [Array.isArray(this.currentVal) ? this.currentVal[1] : this.currentVal]);
|
|
144
169
|
}
|
|
145
170
|
});
|
|
146
171
|
}
|
|
@@ -14,10 +14,13 @@ const IBizImageSelect = /* @__PURE__ */ vue.defineComponent({
|
|
|
14
14
|
setup(props, {
|
|
15
15
|
emit
|
|
16
16
|
}) {
|
|
17
|
-
var _a;
|
|
17
|
+
var _a, _b;
|
|
18
18
|
const ns = vue3Util.useNamespace("image-select");
|
|
19
19
|
const c = props.controller;
|
|
20
|
-
|
|
20
|
+
let result = ((_a = c.editorParams) == null ? void 0 : _a.STOPPROPAGATION) !== "false";
|
|
21
|
+
if ((_b = c.editorParams) == null ? void 0 : _b.stoppropagation) {
|
|
22
|
+
result = c.editorParams.stoppropagation !== "false";
|
|
23
|
+
}
|
|
21
24
|
const svg = vue.ref("");
|
|
22
25
|
const {
|
|
23
26
|
files
|
|
@@ -14,10 +14,13 @@ const IBizImageUpload = /* @__PURE__ */ vue.defineComponent({
|
|
|
14
14
|
setup(props, {
|
|
15
15
|
emit
|
|
16
16
|
}) {
|
|
17
|
-
var _a;
|
|
17
|
+
var _a, _b;
|
|
18
18
|
const ns = vue3Util.useNamespace("image-upload");
|
|
19
19
|
const c = props.controller;
|
|
20
|
-
|
|
20
|
+
let result = ((_a = c.editorParams) == null ? void 0 : _a.STOPPROPAGATION) !== "false";
|
|
21
|
+
if ((_b = c.editorParams) == null ? void 0 : _b.stoppropagation) {
|
|
22
|
+
result = c.editorParams.stoppropagation !== "false";
|
|
23
|
+
}
|
|
21
24
|
const {
|
|
22
25
|
uploadUrl,
|
|
23
26
|
headers,
|
|
@@ -146,7 +146,15 @@ class UploadEditorController extends runtime.EditorController {
|
|
|
146
146
|
this.multiple = false;
|
|
147
147
|
}
|
|
148
148
|
if (this.editorParams) {
|
|
149
|
-
const {
|
|
149
|
+
const {
|
|
150
|
+
isDrag,
|
|
151
|
+
multiple,
|
|
152
|
+
accept,
|
|
153
|
+
uploadParams,
|
|
154
|
+
exportParams,
|
|
155
|
+
uploadparams,
|
|
156
|
+
exportparams
|
|
157
|
+
} = this.editorParams;
|
|
150
158
|
if (isDrag) {
|
|
151
159
|
this.isDrag = Boolean(isDrag);
|
|
152
160
|
}
|
|
@@ -166,6 +174,16 @@ class UploadEditorController extends runtime.EditorController {
|
|
|
166
174
|
);
|
|
167
175
|
}
|
|
168
176
|
}
|
|
177
|
+
if (uploadparams) {
|
|
178
|
+
try {
|
|
179
|
+
this.uploadParams = JSON.parse(uploadparams);
|
|
180
|
+
} catch (error) {
|
|
181
|
+
throw new core.RuntimeModelError(
|
|
182
|
+
uploadparams,
|
|
183
|
+
ibiz.i18n.t("editor.upload.uploadJsonFormatErr")
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
169
187
|
if (exportParams) {
|
|
170
188
|
try {
|
|
171
189
|
this.exportParams = JSON.parse(exportParams);
|
|
@@ -176,6 +194,16 @@ class UploadEditorController extends runtime.EditorController {
|
|
|
176
194
|
);
|
|
177
195
|
}
|
|
178
196
|
}
|
|
197
|
+
if (exportparams) {
|
|
198
|
+
try {
|
|
199
|
+
this.exportParams = JSON.parse(exportparams);
|
|
200
|
+
} catch (error) {
|
|
201
|
+
throw new core.RuntimeModelError(
|
|
202
|
+
exportparams,
|
|
203
|
+
ibiz.i18n.t("editor.upload.exportJsonFormatErr")
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
179
207
|
}
|
|
180
208
|
}
|
|
181
209
|
/**
|
|
@@ -23,11 +23,18 @@ function useVanUpload(props, valueChange, c) {
|
|
|
23
23
|
() => props.data,
|
|
24
24
|
(newVal) => {
|
|
25
25
|
if (newVal) {
|
|
26
|
+
const editorParams = { ...c.editorParams };
|
|
27
|
+
if (editorParams.uploadparams) {
|
|
28
|
+
editorParams.uploadParams = JSON.parse(editorParams.uploadparams);
|
|
29
|
+
}
|
|
30
|
+
if (editorParams.exportparams) {
|
|
31
|
+
editorParams.exportParams = JSON.parse(editorParams.exportparams);
|
|
32
|
+
}
|
|
26
33
|
const urls = ibiz.util.file.calcFileUpDownUrl(
|
|
27
34
|
c.context,
|
|
28
35
|
c.params,
|
|
29
36
|
newVal,
|
|
30
|
-
|
|
37
|
+
editorParams
|
|
31
38
|
);
|
|
32
39
|
uploadUrl.value = urls.uploadUrl;
|
|
33
40
|
downloadUrl.value = urls.downloadUrl;
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var runtime = require('@ibiz-template/runtime');
|
|
4
4
|
var vue = require('vue');
|
|
5
|
+
require('../util/index.cjs');
|
|
6
|
+
var viewStack = require('../util/store/view-stack/view-stack.cjs');
|
|
5
7
|
|
|
6
8
|
"use strict";
|
|
7
9
|
class IosPlatformProvider extends runtime.PlatformProviderBase {
|
|
@@ -34,6 +36,15 @@ class IosPlatformProvider extends runtime.PlatformProviderBase {
|
|
|
34
36
|
true
|
|
35
37
|
);
|
|
36
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* 返回事件
|
|
41
|
+
*
|
|
42
|
+
* @memberof IosPlatformProvider
|
|
43
|
+
*/
|
|
44
|
+
back() {
|
|
45
|
+
const { goBack } = viewStack.useViewStack();
|
|
46
|
+
goBack();
|
|
47
|
+
}
|
|
37
48
|
}
|
|
38
49
|
|
|
39
50
|
exports.IosPlatformProvider = IosPlatformProvider;
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var core = require('@ibiz-template/core');
|
|
4
4
|
var runtime = require('@ibiz-template/runtime');
|
|
5
|
+
require('../util/index.cjs');
|
|
6
|
+
var viewStack = require('../util/store/view-stack/view-stack.cjs');
|
|
5
7
|
|
|
6
8
|
"use strict";
|
|
7
9
|
class WeChatOfficialPlatformProvider extends runtime.PlatformProviderBase {
|
|
@@ -24,6 +26,15 @@ class WeChatOfficialPlatformProvider extends runtime.PlatformProviderBase {
|
|
|
24
26
|
}
|
|
25
27
|
return super.download(url, name);
|
|
26
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* 返回事件
|
|
31
|
+
*
|
|
32
|
+
* @memberof WeChatOfficialPlatformProvider
|
|
33
|
+
*/
|
|
34
|
+
back() {
|
|
35
|
+
const { goBack } = viewStack.useViewStack();
|
|
36
|
+
goBack();
|
|
37
|
+
}
|
|
27
38
|
}
|
|
28
39
|
|
|
29
40
|
exports.WeChatOfficialPlatformProvider = WeChatOfficialPlatformProvider;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/mob-vue3-components",
|
|
3
|
-
"version": "0.7.41-alpha.
|
|
3
|
+
"version": "0.7.41-alpha.18",
|
|
4
4
|
"description": "移动端组件库(vue3)",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -28,13 +28,13 @@
|
|
|
28
28
|
"@floating-ui/dom": "^1.5.3",
|
|
29
29
|
"@ibiz-template-package/vs-tree-ex": "^0.1.1",
|
|
30
30
|
"@ibiz-template/core": "0.7.41-alpha.28",
|
|
31
|
-
"@ibiz-template/model-helper": "0.7.41-alpha.
|
|
32
|
-
"@ibiz-template/runtime": "0.7.41-alpha.
|
|
31
|
+
"@ibiz-template/model-helper": "0.7.41-alpha.29",
|
|
32
|
+
"@ibiz-template/runtime": "0.7.41-alpha.29",
|
|
33
33
|
"@ibiz-template/theme": "0.7.39",
|
|
34
|
-
"@ibiz-template/vue3-util": "0.7.41-alpha.
|
|
34
|
+
"@ibiz-template/vue3-util": "0.7.41-alpha.29",
|
|
35
35
|
"@ibiz-template/devtool": "0.0.12",
|
|
36
36
|
"@ibiz/model-core": "^0.1.82",
|
|
37
|
-
"@ibiz-template/mob-theme": "3.1.
|
|
37
|
+
"@ibiz-template/mob-theme": "3.1.1",
|
|
38
38
|
"async-validator": "^4.2.5",
|
|
39
39
|
"cherry-markdown": "^0.8.26",
|
|
40
40
|
"dingtalk-jsapi": "^3.0.38",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
System.register(["vue","@ibiz-template/vue3-util","qx-util","cherry-markdown","@ibiz-template/core"],function($){"use strict";var C,r,u,s,c,k,I,f,U,M,P,N,m,w,z,O;return{setters:[function(n){C=n.defineComponent,r=n.createVNode,u=n.resolveComponent,s=n.ref,c=n.watch,k=n.onMounted,I=n.onUnmounted,f=n.nextTick},function(n){U=n.getEditorEmits,M=n.getMarkDownProps,P=n.useNamespace,N=n.useUIStore},function(n){m=n.createUUID},function(n){w=n.default},function(n){z=n.getAppCookie,O=n.CoreConst}],execute:function(){const n=$("default",C({name:"IBizMarkDown",props:M(),emits:U(),setup(a,{emit:V}){const j=P("markdown"),y=a.controller,l=s(""),i=s(null),v=s(null),A=m(),b=m(),D=s({[`${ibiz.env.tokenHeader}Authorization`]:`${ibiz.env.tokenPrefix}Bearer ${z(O.TOKEN)}`}),E=s(""),_=s(""),{UIStore:x}=N(),d=s(x.theme),B=s("editOnly"),g=s(""),q=s({});c(()=>a.data,e=>{if(e){const t=ibiz.util.file.calcFileUpDownUrl(y.context,y.params,e,y.editorParams);E.value=t.uploadUrl,_.value=t.downloadUrl}},{immediate:!0,deep:!0});const F=async(e,t)=>{const o=await ibiz.util.file.fileUpload(E.value,e,D.value),p=_.value.replace("%fileId%",o.fileid);t(p)},K=()=>{var e;return(e=i.value)==null?void 0:e.getHtml()},h=()=>{var e;return(e=i.value)==null?void 0:e.getMarkdown()},T=e=>{var t,o;(t=i.value)==null||t.setMarkdown(e,!1),(o=v.value)==null||o.setMarkdown(e,!1)},W=e=>{var t;(t=v.value)==null||t.setMarkdown(e,!0)};c(()=>a.value,(e,t)=>{e!==t&&(e?l.value=e:l.value="")},{immediate:!0}),c(l,(e,t)=>{const o=h();e!==t&&o!==e&&T(e)});const J=e=>{W(h()),V("change",h())},L=(e,t)=>({[e]:t}),S={value:l.value,theme:d.value,fileUpload:F,emoji:{useUnicode:!0},header:{anchorStyle:"autonumber"},editor:{height:"100%",defaultModel:B.value,codemirror:{autofocus:!1}},toolbars:{theme:d.value,toolbar:["switchModel","bold","italic","strikethrough","header",{insert:["image","audio","video","link","hr","br","code","formula","toc","table","pdf","word"]},"settings"]}},Q=()=>{const e={id:A,...S,callback:{afterChange:J,beforeImageMounted:L},value:l.value};f(()=>{i.value=new w(e)})},R=()=>{const e={id:b,...S,editor:{defaultModel:"previewOnly"}};f(()=>{v.value=new w(e)})};k(()=>{R()}),c(()=>x.theme,e=>{var t;d.value=e,(t=i.value)==null||t.setTheme(d.value)}),I(()=>{i.value=null,v.value=null});const G=s(!1),X=e=>{const t={type:"",url:""};return e.nodeName==="A"?(t.type="A",t.url=e.hash):e.parentNode&&e.parentNode.nodeName==="A"?(t.type="A",t.url=e.parentNode.hash):e.nodeName==="IMG"&&(t.type="IMG",t.url=e.src),t};return{ns:j,currentVal:l,id:A,previewId:b,editor:i,headers:D,theme:d,defaultModel:B,cssVars:q,getCherryHtml:K,getCherryContent:h,setCherryContent:T,openPicker:async e=>{const{target:t}=e;if(t){const o=X(t);if(o.type==="A"&&o.url.startsWith("#")){e.preventDefault(),e.stopPropagation();const p=o.url.slice(1);if(p){if(document.getElementById(b)){const H=document.getElementById(p);H&&H.scrollIntoView({behavior:"smooth"})}return}}if(o.type==="IMG"&&o.url){g.value=o.url;return}}a.disabled||a.readonly||(G.value=!0,i.value||Q())},isOpen:G,previewImage:g,handlePreviewClose:()=>{g.value=""}}},render(){return r("div",{class:[this.ns.b(),this.disabled?this.ns.m("disabled"):"",this.readonly?this.ns.m("readonly"):""]},[r(u("van-field"),{readonly:!0,disabled:this.disabled,onClick:this.openPicker},{input:r("div",{id:this.previewId,style:this.cssVars,class:this.ns.b("cherry")},null)}),r(u("van-popup"),{class:this.ns.b("image-popup"),show:!!this.previewImage,"close-on-popstate":!0,onClose:this.handlePreviewClose},{default:()=>[r(u("iBizPreviewImage"),{url:this.previewImage},null)]}),r(u("van-dialog"),{show:this.isOpen,"onUpdate:show":a=>this.isOpen=a,className:this.ns.b("dialog"),"close-on-popstate":!0},{default:()=>r("div",{id:this.id,style:this.cssVars,class:[this.ns.b("cherry"),this.ns.is("hidden",!this.isOpen)]},null)})])}}))}}});
|
|
2
|
-
//# sourceMappingURL=ibiz-markdown-editor-B7D3K0dJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ibiz-markdown-editor-B7D3K0dJ.js","sources":["../src/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.tsx"],"sourcesContent":["import {\n defineComponent,\n nextTick,\n onMounted,\n onUnmounted,\n Ref,\n ref,\n watch,\n} from 'vue';\nimport {\n getMarkDownProps,\n getEditorEmits,\n useUIStore,\n useNamespace,\n} from '@ibiz-template/vue3-util';\nimport { createUUID } from 'qx-util';\nimport Cherry from 'cherry-markdown';\nimport { CoreConst, getAppCookie } from '@ibiz-template/core';\nimport { MarkDownEditorController } from '../markdown-editor.controller';\nimport './ibiz-markdown-editor.scss';\n\n/**\n * 移动端Markdown编辑框\n * @primary\n * @description 基于cherry-markdown深度定制可扩展的Markdown编辑器,用于Markdown文档编辑。支持编辑器类型包含:`移动端Markdown编辑框`\n * @editorparams {name:uploadparams,parameterType:IData,defaultvalue:{},description:上传参数}\n * @editorparams {name:exportparams,parameterType:IData,defaultvalue:{},description:下载参数}\n * @ignoreprops autoFocus | overflowMode\n * @ignoreemits infoTextChange | enter\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst IBizMarkDown: any = defineComponent({\n name: 'IBizMarkDown',\n props: getMarkDownProps<MarkDownEditorController>(),\n emits: getEditorEmits(),\n setup(props, { emit }) {\n const ns = useNamespace('markdown');\n\n const c = props.controller!;\n\n const currentVal = ref<string>('');\n\n const editor = ref<Cherry | null>(null);\n const editorPreview = ref<Cherry | null>(null);\n\n const id = createUUID();\n const previewId = createUUID();\n\n // 请求头\n const headers: Ref<IData> = ref({\n [`${ibiz.env.tokenHeader}Authorization`]: `${\n ibiz.env.tokenPrefix\n }Bearer ${getAppCookie(CoreConst.TOKEN)}`,\n });\n\n // 上传文件路径\n const uploadUrl: Ref<string> = ref('');\n\n // 下载文件路径\n const downloadUrl: Ref<string> = ref('');\n\n // 编辑器主题\n const { UIStore } = useUIStore();\n const theme = ref(UIStore.theme);\n\n // 编辑器模式\n const defaultModel = ref('editOnly');\n\n // 预览态预览图片地址\n const previewImage: Ref<string> = ref('');\n\n // 样式变量\n const cssVars = ref({});\n\n // data响应式变更基础路径\n watch(\n () => props.data,\n newVal => {\n if (newVal) {\n const urls = ibiz.util.file.calcFileUpDownUrl(\n c.context,\n c.params,\n newVal,\n c.editorParams,\n );\n uploadUrl.value = urls.uploadUrl;\n downloadUrl.value = urls.downloadUrl;\n }\n },\n { immediate: true, deep: true },\n );\n\n // // 自定义图片上传\n const fileUpload = async (file: Blob, callback: (_url: string) => void) => {\n const data = await ibiz.util.file.fileUpload(\n uploadUrl.value,\n file,\n headers.value,\n );\n const url = downloadUrl.value.replace('%fileId%', data.fileid);\n callback(url);\n };\n\n // 获取渲染后html内容\n const getCherryHtml = () => {\n const result = editor.value?.getHtml();\n return result;\n };\n\n // 获取markdown内容\n const getCherryContent = () => {\n const result = editor.value?.getMarkdown();\n return result;\n };\n\n // 设置markdown内容\n const setCherryContent = (val: string) => {\n editor.value?.setMarkdown(val, false);\n editorPreview.value?.setMarkdown(val, false);\n };\n const setCherryContent2 = (val: string) => {\n editorPreview.value?.setMarkdown(val, true);\n };\n watch(\n () => props.value,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (!newVal) {\n currentVal.value = '';\n } else {\n currentVal.value = newVal;\n }\n }\n },\n { immediate: true },\n );\n\n watch(currentVal, (newVal, oldVal) => {\n const content = getCherryContent();\n if (newVal !== oldVal && content !== newVal) {\n setCherryContent(newVal);\n }\n });\n\n // 变更事件回调\n const afterChange = (_e: IData) => {\n setCherryContent2(getCherryContent()!);\n emit('change', getCherryContent());\n };\n\n // 图片加载回调\n const beforeImageMounted = (e: string, src: string) => {\n return { [e]: src };\n };\n\n const editorOpts = {\n value: currentVal.value,\n theme: theme.value,\n fileUpload,\n emoji: {\n useUnicode: true,\n },\n header: {\n anchorStyle: 'autonumber',\n },\n editor: {\n // 编辑器的高度,默认100%,如果挂载点存在内联设置的height则以内联样式为主\n height: '100%',\n // defaultModel 编辑器初始化后的默认模式,一共有三种模式:1、双栏编辑预览模式;2、纯编辑模式;3、预览模式\n // edit&preview: 双栏编辑预览模式\n // editOnly: 纯编辑模式(没有预览,可通过toolbar切换成双栏或预览模式)\n // previewOnly: 预览模式(没有编辑框,toolbar只显示“返回编辑”按钮,可通过toolbar切换成编辑模式)\n defaultModel: defaultModel.value,\n codemirror: {\n // 是否自动focus 默认为true\n autofocus: false,\n },\n },\n toolbars: {\n theme: theme.value,\n toolbar: [\n 'switchModel',\n 'bold',\n 'italic',\n 'strikethrough',\n 'header',\n // 'list',\n {\n insert: [\n 'image',\n 'audio',\n 'video',\n 'link',\n 'hr',\n 'br',\n 'code',\n 'formula',\n 'toc',\n 'table',\n 'pdf',\n 'word',\n ],\n },\n 'settings',\n ],\n },\n };\n\n // 默认编辑态\n const editorInit = () => {\n const cherryOptions = {\n id,\n ...editorOpts,\n callback: {\n afterChange,\n beforeImageMounted,\n },\n value: currentVal.value,\n };\n nextTick(() => {\n editor.value = new Cherry(cherryOptions as IData);\n });\n };\n\n // 初始界面预览态\n const editorPreviewInit = () => {\n const cherryOptions = {\n id: previewId,\n ...editorOpts,\n editor: { defaultModel: 'previewOnly' },\n };\n nextTick(() => {\n editorPreview.value = new Cherry(cherryOptions as IData);\n });\n };\n\n onMounted(() => {\n editorPreviewInit();\n });\n\n watch(\n () => UIStore.theme,\n newVal => {\n theme.value = newVal;\n editor.value?.setTheme(theme.value);\n },\n );\n\n onUnmounted(() => {\n editor.value = null;\n editorPreview.value = null;\n });\n const isOpen = ref(false);\n\n // 计算触发元素类型\n const calcTargetType = (\n target: HTMLElement,\n ): {\n type: string;\n url: string;\n } => {\n const result = {\n type: '',\n url: '',\n };\n if (target.nodeName === 'A') {\n result.type = 'A';\n result.url = (target as HTMLAnchorElement).hash;\n } else if (target.parentNode && target.parentNode.nodeName === 'A') {\n result.type = 'A';\n result.url = (target.parentNode as HTMLAnchorElement).hash;\n } else if (target.nodeName === 'IMG') {\n result.type = 'IMG';\n result.url = (target as HTMLImageElement).src;\n }\n return result;\n };\n\n const openPicker = async (event: TouchEvent) => {\n // 如果点击项是a标签,并且有href,值为#开头,且后续值为页面内的元素的id,就走页面滚动导航\n // 如果是图片,则进行放大预览\n // 其他情况,就走打开编辑界面\n const { target } = event;\n if (target) {\n const result = calcTargetType(target as HTMLElement);\n if (result.type === 'A' && result.url.startsWith('#')) {\n // 点击a标签,本页面内滑动,阻止其他变化\n event.preventDefault();\n event.stopPropagation();\n const targetid = result.url.slice(1);\n if (targetid) {\n const preview = document.getElementById(previewId);\n if (preview) {\n const anchor = document.getElementById(targetid);\n if (anchor) {\n anchor.scrollIntoView({ behavior: 'smooth' });\n }\n }\n return;\n }\n }\n if (result.type === 'IMG' && result.url) {\n // 点击图片,展开预览\n previewImage.value = result.url;\n return;\n }\n }\n if (props.disabled || props.readonly) {\n return;\n }\n // 其他情况打开编辑态\n isOpen.value = true;\n if (!editor.value) {\n editorInit();\n }\n };\n\n // 关闭图片预览时清除预览图片地址\n const handlePreviewClose = () => {\n previewImage.value = '';\n };\n\n return {\n ns,\n currentVal,\n id,\n previewId,\n editor,\n headers,\n theme,\n defaultModel,\n cssVars,\n getCherryHtml,\n getCherryContent,\n setCherryContent,\n openPicker,\n isOpen,\n previewImage,\n handlePreviewClose,\n };\n },\n render() {\n return (\n <div\n class={[\n this.ns.b(),\n this.disabled ? this.ns.m('disabled') : '',\n this.readonly ? this.ns.m('readonly') : '',\n ]}\n >\n <van-field readonly disabled={this.disabled} onClick={this.openPicker}>\n {{\n input: (\n <div\n id={this.previewId}\n style={this.cssVars}\n class={this.ns.b('cherry')}\n ></div>\n ),\n }}\n </van-field>\n\n <van-popup\n class={this.ns.b('image-popup')}\n show={!!this.previewImage}\n close-on-popstate={true}\n onClose={this.handlePreviewClose}\n >\n <iBizPreviewImage url={this.previewImage}></iBizPreviewImage>\n </van-popup>\n <van-dialog\n v-model:show={this.isOpen}\n className={this.ns.b('dialog')}\n close-on-popstate={true}\n >\n {{\n default: () => {\n return (\n <div\n id={this.id}\n style={this.cssVars}\n class={[\n this.ns.b('cherry'),\n this.ns.is('hidden', !this.isOpen),\n ]}\n ></div>\n );\n },\n }}\n </van-dialog>\n </div>\n );\n },\n});\n\nexport default IBizMarkDown;\n"],"names":["IBizMarkDown","exports","defineComponent","getMarkDownProps","getEditorEmits","props","emit","ns","useNamespace","c","currentVal","ref","editorPreview","controller","UIStore","useUIStore","id","createUUID","previewId","cssVars","watch","headers","newVal","ibiz","urls","downloadUrl","fileUpload","file","callback","data","uploadUrl","_a","previewImage","editor","setCherryContent","val","_b","util","calcFileUpDownUrl","params","immediate","deep","oldVal","getCherryHtml","result","getHtml","content","getCherryContent","setCherryContent2","getMarkdown","editorOpts","afterChange","beforeImageMounted","value","emoji","useUnicode","cherryOptions","header","anchorStyle","height","nextTick","Cherry","codemirror","editorPreviewInit","autofocus","toolbars","theme","onMounted","editorInit","isOpen","target","defaultModel","behavior","event","onUnmounted","anchor","calcTargetType","type","parentNode","url","src","openPicker","_createVNode","_resolveComponent","$event","handlePreviewClose"],"mappings":"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"}
|