@flatbiz/antd 5.2.6 → 5.2.8
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/content-CXmBn9B0.js +297 -0
- package/dist/content-CXmBn9B0.js.map +1 -0
- package/dist/content-DnpCk2LR.js +556 -0
- package/dist/content-DnpCk2LR.js.map +1 -0
- package/dist/{drag-DUY7Olcc.js → drag-D3i6_WRS.js} +2 -2
- package/dist/{drag-DUY7Olcc.js.map → drag-D3i6_WRS.js.map} +1 -1
- package/dist/drag-editable-table/index.css +1 -1
- package/dist/drag-editable-table/index.d.ts +3 -0
- package/dist/drag-editable-table/index.js +3 -4
- package/dist/editable-table/index.css +1 -1
- package/dist/editable-table/index.d.ts +3 -0
- package/dist/editable-table/index.js +2 -3
- package/dist/{editable-table-DYR12TJM.js → editable-table-BaKnBuHT.js} +2 -2
- package/dist/{editable-table-DYR12TJM.js.map → editable-table-BaKnBuHT.js.map} +1 -1
- package/dist/index.d.ts +46 -3
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor/index.css +1 -0
- package/dist/markdown-editor/index.d.ts +7 -2
- package/dist/markdown-editor/index.js +53 -2
- package/dist/markdown-editor/index.js.map +1 -1
- package/dist/pre-defined-class-name/index.css +1 -1
- package/dist/upload-multi-type/index.css +1 -0
- package/dist/upload-multi-type/index.d.ts +37 -0
- package/dist/upload-multi-type/index.js +44 -0
- package/dist/upload-multi-type/index.js.map +1 -0
- package/dist/upload-wrapper/index.css +1 -1
- package/dist/upload-wrapper/index.d.ts +4 -1
- package/dist/upload-wrapper/index.js +1 -2
- package/dist/{upload-wrapper-BovR_RV6.js → upload-wrapper-DmZglNR4.js} +29 -13
- package/dist/upload-wrapper-DmZglNR4.js.map +1 -0
- package/package.json +5 -1
- package/dist/content-DQTZHavT.js +0 -404
- package/dist/content-DQTZHavT.js.map +0 -1
- package/dist/upload-wrapper-BovR_RV6.js.map +0 -1
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
|
|
3
|
+
import { _ as _objectWithoutProperties, a as _slicedToArray, b as _objectSpread2 } from './_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
4
|
+
import _CloseCircleFilled from '@ant-design/icons/es/icons/CloseCircleFilled.js';
|
|
5
|
+
import { useRef, useState, useEffect, useCallback, useMemo } from 'react';
|
|
6
|
+
import { Button, InputNumber, message, Spin } from 'antd';
|
|
7
|
+
import { openNewWindow, getUuid, loadScripts, loadStyles } from '@flatbiz/utils';
|
|
8
|
+
import { classNames } from '@dimjs/utils/class-names/class-names';
|
|
9
|
+
import { useMemoizedFn, useSize } from 'ahooks';
|
|
10
|
+
import { C as CardLayout } from './card-layout-P-Qb5pCT.js';
|
|
11
|
+
import { C as CodeRender } from './code-Dbu2QlhZ.js';
|
|
12
|
+
import { d as dialogModal } from './dialog-modal-CGMNBSgq.js';
|
|
13
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
14
|
+
import { getCodeString } from 'rehype-rewrite';
|
|
15
|
+
import { isObject } from '@dimjs/lang/is-object';
|
|
16
|
+
import { isString } from '@dimjs/lang/is-string';
|
|
17
|
+
import { A as AlertWrapper } from './alert-DGRFbqqK.js';
|
|
18
|
+
import { E as EasyForm } from './form-ByFljQr9.js';
|
|
19
|
+
import { F as FormItemHidden } from './form-item-hidden-BtQvJEx7.js';
|
|
20
|
+
import { F as FormItemWrapper } from './form-item-wrapper-Ci7-5IKi.js';
|
|
21
|
+
import { G as Gap } from './gap-5v_ndf2v.js';
|
|
22
|
+
import { U as UploadMultiType } from './content-CXmBn9B0.js';
|
|
23
|
+
|
|
24
|
+
var MermaidViewBtn = function MermaidViewBtn() {
|
|
25
|
+
var handeClick = function handeClick() {
|
|
26
|
+
dialogModal.open({
|
|
27
|
+
title: 'Mermaid图形示例',
|
|
28
|
+
content: function content() {
|
|
29
|
+
return /*#__PURE__*/jsxs("div", {
|
|
30
|
+
children: [/*#__PURE__*/jsx(CardLayout, {
|
|
31
|
+
title: '示例',
|
|
32
|
+
subTitle: '在Markdown中使用Mermaid图形',
|
|
33
|
+
layoutType: "tight",
|
|
34
|
+
children: /*#__PURE__*/jsx(CodeRender, {
|
|
35
|
+
code: "```mermaid\nsequenceDiagram\n native->>haipay\u670D\u52A1\u7AEF:\u83B7\u53D6accessToken\n haipay\u670D\u52A1\u7AEF->>tc\u670D\u52A1\u7AEF: \u8C03\u7528tc\u7684\u63A5\u53E3\u83B7\u53D6accessToken\n tc\u670D\u52A1\u7AEF->>haipay\u670D\u52A1\u7AEF: \u8FD4\u56DEaccessToken\n haipay\u670D\u52A1\u7AEF-->>native: \u5C06accessToken\u8FD4\u56DEnative\n native->>tch5: \u5C06accessToken\u8FD4\u56DE\u7ED9tch5\uFF0C\u8FDB\u884C\u767B\u5F55"
|
|
36
|
+
})
|
|
37
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
38
|
+
block: true,
|
|
39
|
+
type: "primary",
|
|
40
|
+
ghost: true,
|
|
41
|
+
style: {
|
|
42
|
+
marginTop: 20
|
|
43
|
+
},
|
|
44
|
+
onClick: function onClick() {
|
|
45
|
+
openNewWindow('https://docs.min2k.com/zh/mermaid/syntax/pie.html');
|
|
46
|
+
},
|
|
47
|
+
children: "\u67E5\u770B\u66F4\u591A\u793A\u4F8B"
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
okHidden: true,
|
|
52
|
+
cancelHidden: true
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
return /*#__PURE__*/jsx(Button, {
|
|
56
|
+
type: "default",
|
|
57
|
+
size: "small",
|
|
58
|
+
style: {
|
|
59
|
+
fontSize: 12
|
|
60
|
+
},
|
|
61
|
+
onClick: handeClick,
|
|
62
|
+
children: "\u652F\u6301Mermaid\u56FE\u5F62"
|
|
63
|
+
}, "imageUpload");
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var _excluded$1 = ["children", "className"];
|
|
67
|
+
var PluginMermaidCode = function PluginMermaidCode(_ref) {
|
|
68
|
+
var _ref$children = _ref.children,
|
|
69
|
+
children = _ref$children === void 0 ? [] : _ref$children,
|
|
70
|
+
className = _ref.className,
|
|
71
|
+
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
72
|
+
var demoid = useRef(getUuid());
|
|
73
|
+
var _useState = useState(''),
|
|
74
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
75
|
+
svgContent = _useState2[0],
|
|
76
|
+
setSvgContent = _useState2[1];
|
|
77
|
+
var renderAbortRef = useRef(false);
|
|
78
|
+
var isMermaid = className && /^language-mermaid/.test(className.toLocaleLowerCase());
|
|
79
|
+
var code = children ? getCodeString(props.node.children) : children[0] || '';
|
|
80
|
+
useEffect(function () {
|
|
81
|
+
if (isMermaid && code) {
|
|
82
|
+
// 标记之前的渲染为已取消
|
|
83
|
+
renderAbortRef.current = true;
|
|
84
|
+
|
|
85
|
+
// 重置取消标志
|
|
86
|
+
renderAbortRef.current = false;
|
|
87
|
+
|
|
88
|
+
// 生成新的唯一 ID
|
|
89
|
+
var currentId = getUuid();
|
|
90
|
+
demoid.current = currentId;
|
|
91
|
+
|
|
92
|
+
// 创建一个临时的隐藏容器用于 Mermaid 渲染
|
|
93
|
+
var tempContainer = document.createElement('div');
|
|
94
|
+
tempContainer.style.position = 'absolute';
|
|
95
|
+
tempContainer.style.visibility = 'hidden';
|
|
96
|
+
tempContainer.style.width = '0';
|
|
97
|
+
tempContainer.style.height = '0';
|
|
98
|
+
tempContainer.style.top = '-9999px';
|
|
99
|
+
tempContainer.style.left = '-9999px';
|
|
100
|
+
tempContainer.id = currentId;
|
|
101
|
+
document.body.appendChild(tempContainer);
|
|
102
|
+
|
|
103
|
+
// 使用 requestAnimationFrame 确保在正确的时机渲染
|
|
104
|
+
var frameId = requestAnimationFrame(function () {
|
|
105
|
+
if (renderAbortRef.current) {
|
|
106
|
+
// 清理临时容器
|
|
107
|
+
try {
|
|
108
|
+
if (tempContainer.parentNode) {
|
|
109
|
+
document.body.removeChild(tempContainer);
|
|
110
|
+
}
|
|
111
|
+
} catch (_unused) {
|
|
112
|
+
// 忽略清理错误
|
|
113
|
+
}
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
var mermaid = window['mermaid'];
|
|
117
|
+
// 在临时容器中渲染
|
|
118
|
+
mermaid.render(currentId, code).then(function (_ref2) {
|
|
119
|
+
var svg = _ref2.svg;
|
|
120
|
+
// 检查是否已被取消
|
|
121
|
+
if (renderAbortRef.current) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// 使用 React state 更新 SVG 内容,而不是直接操作 DOM
|
|
126
|
+
setSvgContent(svg);
|
|
127
|
+
}).catch(function (error) {
|
|
128
|
+
if (!renderAbortRef.current) {
|
|
129
|
+
console.log('Mermaid render error:', error);
|
|
130
|
+
setSvgContent('');
|
|
131
|
+
}
|
|
132
|
+
}).finally(function () {
|
|
133
|
+
// 清理临时容器
|
|
134
|
+
try {
|
|
135
|
+
if (tempContainer.parentNode) {
|
|
136
|
+
document.body.removeChild(tempContainer);
|
|
137
|
+
}
|
|
138
|
+
} catch (_unused2) {
|
|
139
|
+
// 忽略清理错误
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
// 清理函数:取消正在进行的渲染
|
|
145
|
+
return function () {
|
|
146
|
+
renderAbortRef.current = true;
|
|
147
|
+
cancelAnimationFrame(frameId);
|
|
148
|
+
|
|
149
|
+
// 清理临时容器
|
|
150
|
+
try {
|
|
151
|
+
if (tempContainer.parentNode) {
|
|
152
|
+
document.body.removeChild(tempContainer);
|
|
153
|
+
}
|
|
154
|
+
} catch (_unused3) {
|
|
155
|
+
// 忽略清理错误
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
} else {
|
|
159
|
+
setSvgContent('');
|
|
160
|
+
}
|
|
161
|
+
return undefined;
|
|
162
|
+
}, [isMermaid, code]);
|
|
163
|
+
if (isMermaid) {
|
|
164
|
+
return /*#__PURE__*/jsx("code", {
|
|
165
|
+
className: className,
|
|
166
|
+
"data-name": "mermaid",
|
|
167
|
+
dangerouslySetInnerHTML: {
|
|
168
|
+
__html: svgContent
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return /*#__PURE__*/jsx("code", {
|
|
173
|
+
className: className,
|
|
174
|
+
children: children
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
function getImageDimensions(url) {
|
|
179
|
+
return new Promise(function (resolve, reject) {
|
|
180
|
+
var img = new Image();
|
|
181
|
+
img.onload = function () {
|
|
182
|
+
resolve({
|
|
183
|
+
width: img.naturalWidth,
|
|
184
|
+
height: img.naturalHeight
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
img.onerror = function () {
|
|
188
|
+
reject(new Error('图片加载失败'));
|
|
189
|
+
};
|
|
190
|
+
img.src = url;
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
var UploadImageContent = function UploadImageContent(props) {
|
|
194
|
+
var onValuesChange = useCallback(function (changedFields) {
|
|
195
|
+
return new Promise(function ($return, $error) {
|
|
196
|
+
if (changedFields.imageUrls) {
|
|
197
|
+
var imageUrls = changedFields.imageUrls;
|
|
198
|
+
if (!(imageUrls !== null && imageUrls !== void 0 && imageUrls.length)) return $return();
|
|
199
|
+
var imageUrl = isString(imageUrls[0]) ? imageUrls[0] : imageUrls[0].url;
|
|
200
|
+
getImageDimensions(imageUrl).then(function (_ref) {
|
|
201
|
+
var width = _ref.width,
|
|
202
|
+
height = _ref.height;
|
|
203
|
+
props.form.setFieldsValue({
|
|
204
|
+
width: width,
|
|
205
|
+
height: height
|
|
206
|
+
});
|
|
207
|
+
}).catch(function () {});
|
|
208
|
+
}
|
|
209
|
+
return $return();
|
|
210
|
+
});
|
|
211
|
+
}, [props.form]);
|
|
212
|
+
var onUploadFile = useMemoizedFn(function (file) {
|
|
213
|
+
return new Promise(function ($return, $error) {
|
|
214
|
+
var _props$onUploadImage, formData, respData;
|
|
215
|
+
formData = new FormData();
|
|
216
|
+
formData.append('file', file);
|
|
217
|
+
return Promise.resolve((_props$onUploadImage = props.onUploadImage) === null || _props$onUploadImage === void 0 ? void 0 : _props$onUploadImage.call(props, file)).then(function ($await_1) {
|
|
218
|
+
try {
|
|
219
|
+
respData = $await_1;
|
|
220
|
+
return $return(respData);
|
|
221
|
+
} catch ($boundEx) {
|
|
222
|
+
return $error($boundEx);
|
|
223
|
+
}
|
|
224
|
+
}, $error);
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
return /*#__PURE__*/jsxs(EasyForm, {
|
|
228
|
+
form: props.form,
|
|
229
|
+
onValuesChange: onValuesChange,
|
|
230
|
+
initialValues: {
|
|
231
|
+
file: [{
|
|
232
|
+
url: 'https://file.40017.cn/jinfu/arbitrarily/umm4vdnm25z6kffm.png',
|
|
233
|
+
name: 'xxx1.png'
|
|
234
|
+
}, {
|
|
235
|
+
url: 'https://file.40017.cn/jinfu/arbitrarily/umm4vdnm25z6kffm.png',
|
|
236
|
+
name: 'xxx2.png'
|
|
237
|
+
}]
|
|
238
|
+
},
|
|
239
|
+
children: [/*#__PURE__*/jsx(FormItemHidden, {
|
|
240
|
+
name: "height"
|
|
241
|
+
}), /*#__PURE__*/jsx(FormItemWrapper, {
|
|
242
|
+
name: "imageUrls",
|
|
243
|
+
label: "\u56FE\u7247",
|
|
244
|
+
rules: [{
|
|
245
|
+
required: true,
|
|
246
|
+
message: '请选择或粘贴图片'
|
|
247
|
+
}],
|
|
248
|
+
noStyle: true,
|
|
249
|
+
children: /*#__PURE__*/jsx(UploadMultiType, {
|
|
250
|
+
onUploadFile: onUploadFile,
|
|
251
|
+
maxCount: 1
|
|
252
|
+
})
|
|
253
|
+
}), /*#__PURE__*/jsx(Gap, {
|
|
254
|
+
height: 12
|
|
255
|
+
}), /*#__PURE__*/jsx(FormItemWrapper, {
|
|
256
|
+
name: "width",
|
|
257
|
+
label: "\u5BBD\u5EA6",
|
|
258
|
+
children: /*#__PURE__*/jsx(InputNumber, {
|
|
259
|
+
placeholder: "\u8BF7\u8F93\u5165\u5BBD\u5EA6",
|
|
260
|
+
style: {
|
|
261
|
+
width: '200px'
|
|
262
|
+
},
|
|
263
|
+
addonAfter: "px"
|
|
264
|
+
})
|
|
265
|
+
}), /*#__PURE__*/jsx(AlertWrapper, {
|
|
266
|
+
size: "small",
|
|
267
|
+
description: "\u53EF\u4FEE\u6539\u5BBD\u5EA6\u8FDB\u884C\u7B49\u6BD4\u7F29\u653E\u663E\u793A"
|
|
268
|
+
})]
|
|
269
|
+
});
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
var UploadImageBtn = function UploadImageBtn(props) {
|
|
273
|
+
var handleImageClick = function handleImageClick() {
|
|
274
|
+
dialogModal.open({
|
|
275
|
+
title: '上传图片',
|
|
276
|
+
content: function content(form) {
|
|
277
|
+
return /*#__PURE__*/jsx(UploadImageContent, {
|
|
278
|
+
form: form,
|
|
279
|
+
onUploadImage: props.onUploadImage
|
|
280
|
+
});
|
|
281
|
+
},
|
|
282
|
+
okText: '确定',
|
|
283
|
+
onOk: function onOk(form) {
|
|
284
|
+
return new Promise(function ($return, $error) {
|
|
285
|
+
var values, imageUrls, imageItem, _props$onUploadResult, _props$onUploadResult2, name;
|
|
286
|
+
return Promise.resolve(form.validateFields()).then(function ($await_2) {
|
|
287
|
+
try {
|
|
288
|
+
values = $await_2;
|
|
289
|
+
try {
|
|
290
|
+
imageUrls = values.imageUrls;
|
|
291
|
+
if (!(imageUrls !== null && imageUrls !== void 0 && imageUrls.length)) return $return();
|
|
292
|
+
imageItem = imageUrls[0];
|
|
293
|
+
if (isObject(imageItem)) {
|
|
294
|
+
(_props$onUploadResult = props.onUploadResult) === null || _props$onUploadResult === void 0 || _props$onUploadResult.call(props, {
|
|
295
|
+
url: imageItem.url,
|
|
296
|
+
name: imageItem.name,
|
|
297
|
+
width: values.width
|
|
298
|
+
});
|
|
299
|
+
} else {
|
|
300
|
+
name = imageItem.split('/').pop();
|
|
301
|
+
(_props$onUploadResult2 = props.onUploadResult) === null || _props$onUploadResult2 === void 0 || _props$onUploadResult2.call(props, {
|
|
302
|
+
url: imageItem,
|
|
303
|
+
name: name,
|
|
304
|
+
width: values.width
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
} catch (error) {
|
|
308
|
+
message.error((error === null || error === void 0 ? void 0 : error['message']) || '上传图片失败');
|
|
309
|
+
return $return(Promise.reject());
|
|
310
|
+
}
|
|
311
|
+
return $return(Promise.resolve());
|
|
312
|
+
} catch ($boundEx) {
|
|
313
|
+
return $error($boundEx);
|
|
314
|
+
}
|
|
315
|
+
}, $error);
|
|
316
|
+
});
|
|
317
|
+
},
|
|
318
|
+
onCancel: function onCancel() {
|
|
319
|
+
console.log('onCancel');
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
};
|
|
323
|
+
return /*#__PURE__*/jsx(Button, {
|
|
324
|
+
type: "default",
|
|
325
|
+
size: "small",
|
|
326
|
+
style: {
|
|
327
|
+
fontSize: 12
|
|
328
|
+
},
|
|
329
|
+
onClick: handleImageClick,
|
|
330
|
+
children: "\u4E0A\u4F20\u56FE\u7247"
|
|
331
|
+
});
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
var _excluded = ["value", "onChange", "onUploadImage", "readonly", "isDarkMode", "className", "style", "readonlyHeightAuto", "height", "hideBorder"];
|
|
335
|
+
var ReactMdEditor = function ReactMdEditor(props) {
|
|
336
|
+
var value = props.value,
|
|
337
|
+
onChange = props.onChange,
|
|
338
|
+
onUploadImage = props.onUploadImage,
|
|
339
|
+
readonly = props.readonly,
|
|
340
|
+
isDarkMode = props.isDarkMode,
|
|
341
|
+
className = props.className,
|
|
342
|
+
style = props.style,
|
|
343
|
+
readonlyHeightAuto = props.readonlyHeightAuto,
|
|
344
|
+
height = props.height,
|
|
345
|
+
hideBorder = props.hideBorder,
|
|
346
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
347
|
+
var _useState = useState(value),
|
|
348
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
349
|
+
innerValue = _useState2[0],
|
|
350
|
+
setInnerValue = _useState2[1];
|
|
351
|
+
var readonlyHeightAutoFt = readonlyHeightAuto !== null && readonlyHeightAuto !== void 0 ? readonlyHeightAuto : true;
|
|
352
|
+
useEffect(function () {
|
|
353
|
+
console.log('props.value', props.value);
|
|
354
|
+
setInnerValue(props.value);
|
|
355
|
+
}, [props.value]);
|
|
356
|
+
|
|
357
|
+
// 编辑器实例引用(用于操作内容)
|
|
358
|
+
var editorRef = useRef(null);
|
|
359
|
+
// 隐藏的文件选择器ref
|
|
360
|
+
useRef(null);
|
|
361
|
+
var onInnerChange = function onInnerChange(value) {
|
|
362
|
+
setInnerValue(value);
|
|
363
|
+
onChange === null || onChange === void 0 || onChange(value);
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
// 处理图片选择(核心:读取图片并插入)
|
|
367
|
+
var onUploadResult = function onUploadResult(respData) {
|
|
368
|
+
try {
|
|
369
|
+
var imageMarkdown = "\n<img src=\"".concat(respData.url, "\" width=\"").concat(respData.width, "\" alt=\"").concat(respData.name, "\">\n");
|
|
370
|
+
// 将图片Markdown插入到编辑器光标位置
|
|
371
|
+
if (editorRef.current) {
|
|
372
|
+
var _editorRef$current;
|
|
373
|
+
var textarea = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current['textarea'];
|
|
374
|
+
var cursorPosition = textarea.selectionStart;
|
|
375
|
+
var newContent = (innerValue === null || innerValue === void 0 ? void 0 : innerValue.slice(0, cursorPosition)) + imageMarkdown + (innerValue === null || innerValue === void 0 ? void 0 : innerValue.slice(cursorPosition));
|
|
376
|
+
onInnerChange(newContent);
|
|
377
|
+
}
|
|
378
|
+
} catch (error) {
|
|
379
|
+
message.error((error === null || error === void 0 ? void 0 : error['message']) || '添加图片失败');
|
|
380
|
+
}
|
|
381
|
+
};
|
|
382
|
+
var imageUploadCommand = onUploadImage ? {
|
|
383
|
+
name: 'imageUpload',
|
|
384
|
+
keyCommand: 'imageUpload',
|
|
385
|
+
render: function render() {
|
|
386
|
+
return /*#__PURE__*/jsx(UploadImageBtn, {
|
|
387
|
+
onUploadResult: onUploadResult,
|
|
388
|
+
onUploadImage: onUploadImage
|
|
389
|
+
// type="default"
|
|
390
|
+
// size="small"
|
|
391
|
+
// style={{ fontSize: 12 }}
|
|
392
|
+
// onClick={handleImageClick}
|
|
393
|
+
}, "imageUpload");
|
|
394
|
+
}
|
|
395
|
+
} : null;
|
|
396
|
+
// 支持 mermaid 语法
|
|
397
|
+
var mermaidCommand = {
|
|
398
|
+
name: 'mermaid',
|
|
399
|
+
keyCommand: 'mermaid',
|
|
400
|
+
render: function render() {
|
|
401
|
+
return /*#__PURE__*/jsx(MermaidViewBtn
|
|
402
|
+
// type="default"
|
|
403
|
+
, {}, "mermaid");
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
var MDEditor = window['@uiw/react-md-editor'].default;
|
|
407
|
+
var commands = window['@uiw/react-md-editor'].commands;
|
|
408
|
+
var extraCommands = [];
|
|
409
|
+
if (imageUploadCommand && !readonly) {
|
|
410
|
+
extraCommands = [imageUploadCommand, commands.divider, mermaidCommand, commands.divider, commands.fullscreen];
|
|
411
|
+
} else {
|
|
412
|
+
extraCommands = [mermaidCommand, commands.divider, commands.fullscreen];
|
|
413
|
+
}
|
|
414
|
+
var preview = readonly ? 'preview' : 'live';
|
|
415
|
+
var dataColorMode = isDarkMode ? 'dark' : 'light';
|
|
416
|
+
var commandsFt = useMemo(function () {
|
|
417
|
+
if (readonly) return [];
|
|
418
|
+
return undefined;
|
|
419
|
+
}, [readonly]);
|
|
420
|
+
var id = useMemo(function () {
|
|
421
|
+
return getUuid();
|
|
422
|
+
}, []);
|
|
423
|
+
var wmdeMarkdownSize = useSize(function () {
|
|
424
|
+
return document.querySelector("#".concat(id, " .wmde-markdown"));
|
|
425
|
+
});
|
|
426
|
+
var autoHeight = useMemo(function () {
|
|
427
|
+
return readonly && readonlyHeightAutoFt;
|
|
428
|
+
}, [readonly, readonlyHeightAutoFt]);
|
|
429
|
+
var heightFt = useMemo(function () {
|
|
430
|
+
if (autoHeight) {
|
|
431
|
+
var _wmdeMarkdownSize$hei;
|
|
432
|
+
return ((_wmdeMarkdownSize$hei = wmdeMarkdownSize === null || wmdeMarkdownSize === void 0 ? void 0 : wmdeMarkdownSize.height) !== null && _wmdeMarkdownSize$hei !== void 0 ? _wmdeMarkdownSize$hei : 0) + 25;
|
|
433
|
+
}
|
|
434
|
+
return height;
|
|
435
|
+
}, [autoHeight, wmdeMarkdownSize === null || wmdeMarkdownSize === void 0 ? void 0 : wmdeMarkdownSize.height, height]);
|
|
436
|
+
var visibleDragbarFt = useMemo(function () {
|
|
437
|
+
if (autoHeight) return false;
|
|
438
|
+
return restProps.visibleDragbar;
|
|
439
|
+
}, [autoHeight, restProps.visibleDragbar]);
|
|
440
|
+
return /*#__PURE__*/jsx("div", {
|
|
441
|
+
style: style,
|
|
442
|
+
className: classNames('v-markdown-editor', className),
|
|
443
|
+
id: id,
|
|
444
|
+
children: /*#__PURE__*/jsx(MDEditor, _objectSpread2(_objectSpread2({
|
|
445
|
+
highlightEnable: true
|
|
446
|
+
}, restProps), {}, {
|
|
447
|
+
style: {
|
|
448
|
+
boxShadow: hideBorder ? 'none' : undefined
|
|
449
|
+
},
|
|
450
|
+
height: heightFt,
|
|
451
|
+
ref: editorRef,
|
|
452
|
+
value: innerValue,
|
|
453
|
+
preview: preview,
|
|
454
|
+
onChange: onInnerChange,
|
|
455
|
+
visibleDragbar: visibleDragbarFt,
|
|
456
|
+
"data-color-mode": dataColorMode,
|
|
457
|
+
extraCommands: extraCommands,
|
|
458
|
+
commands: commandsFt,
|
|
459
|
+
previewOptions: {
|
|
460
|
+
components: {
|
|
461
|
+
code: PluginMermaidCode
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}))
|
|
465
|
+
});
|
|
466
|
+
};
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* markdown编辑器
|
|
470
|
+
* ```
|
|
471
|
+
* 1. 使用@uiw/react-md-editor组件
|
|
472
|
+
* 2. 动态加载 mermaid.js 和 mdeditor.js 和 mdeditor.css
|
|
473
|
+
* //oss.ly.com/newpay/cdn/react-md-editor/mermaid.11.12.0.min.js
|
|
474
|
+
* //oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.js
|
|
475
|
+
* //oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.css
|
|
476
|
+
* ```
|
|
477
|
+
*/
|
|
478
|
+
var MarkdownEditor = function MarkdownEditor(props) {
|
|
479
|
+
var _useState = useState(false),
|
|
480
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
481
|
+
renderFlag = _useState2[0],
|
|
482
|
+
setRenderFlag = _useState2[1];
|
|
483
|
+
var _useState3 = useState(null),
|
|
484
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
485
|
+
errorMsg = _useState4[0],
|
|
486
|
+
setErrorMsg = _useState4[1];
|
|
487
|
+
useEffect(function () {
|
|
488
|
+
Promise.all([loadScripts({
|
|
489
|
+
scriptUrls: ['//oss.ly.com/newpay/cdn/react-md-editor/mermaid.11.12.0.min.js', '//oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.js'],
|
|
490
|
+
checkFn: function checkFn() {
|
|
491
|
+
var isLoaded = window['@uiw/react-md-editor'] && window['mermaid'];
|
|
492
|
+
return isLoaded;
|
|
493
|
+
},
|
|
494
|
+
intervalMs: 20
|
|
495
|
+
}), loadStyles({
|
|
496
|
+
styleUrls: ['//oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.css']
|
|
497
|
+
})]).then(function () {
|
|
498
|
+
setRenderFlag(true);
|
|
499
|
+
}).catch(function (error) {
|
|
500
|
+
console.error(error);
|
|
501
|
+
setRenderFlag(true);
|
|
502
|
+
setErrorMsg((error === null || error === void 0 ? void 0 : error.message) || 'Markdown编辑器加载失败');
|
|
503
|
+
});
|
|
504
|
+
}, []);
|
|
505
|
+
if (!renderFlag) {
|
|
506
|
+
return /*#__PURE__*/jsx(Spin, {
|
|
507
|
+
tip: /*#__PURE__*/jsx("div", {
|
|
508
|
+
style: {
|
|
509
|
+
marginTop: 10
|
|
510
|
+
},
|
|
511
|
+
children: "Markdown\u7F16\u8F91\u5668\u52A0\u8F7D\u4E2D"
|
|
512
|
+
}),
|
|
513
|
+
size: "small",
|
|
514
|
+
children: /*#__PURE__*/jsx("div", {
|
|
515
|
+
style: {
|
|
516
|
+
padding: 50,
|
|
517
|
+
background: 'rgba(0, 0, 0, 0.05)',
|
|
518
|
+
borderRadius: 4
|
|
519
|
+
}
|
|
520
|
+
})
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
if (errorMsg) {
|
|
524
|
+
return /*#__PURE__*/jsxs("div", {
|
|
525
|
+
style: {
|
|
526
|
+
textAlign: 'center',
|
|
527
|
+
padding: 20,
|
|
528
|
+
background: '#fff'
|
|
529
|
+
},
|
|
530
|
+
children: [/*#__PURE__*/jsx(_CloseCircleFilled, {
|
|
531
|
+
style: {
|
|
532
|
+
color: '#f00',
|
|
533
|
+
fontSize: 30
|
|
534
|
+
}
|
|
535
|
+
}), /*#__PURE__*/jsx("div", {
|
|
536
|
+
style: {
|
|
537
|
+
color: '#f00',
|
|
538
|
+
marginTop: 10,
|
|
539
|
+
fontSize: 16
|
|
540
|
+
},
|
|
541
|
+
children: "Markdown\u7F16\u8F91\u5668\u52A0\u8F7D\u5931\u8D25"
|
|
542
|
+
}), /*#__PURE__*/jsx("div", {
|
|
543
|
+
style: {
|
|
544
|
+
color: '#898989',
|
|
545
|
+
marginTop: 5,
|
|
546
|
+
fontSize: 12
|
|
547
|
+
},
|
|
548
|
+
children: errorMsg
|
|
549
|
+
})]
|
|
550
|
+
});
|
|
551
|
+
}
|
|
552
|
+
return /*#__PURE__*/jsx(ReactMdEditor, _objectSpread2({}, props));
|
|
553
|
+
};
|
|
554
|
+
|
|
555
|
+
export { MarkdownEditor as M };
|
|
556
|
+
//# sourceMappingURL=content-DnpCk2LR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-DnpCk2LR.js","sources":["@flatbiz/antd/src/markdown-editor/mermaid-view/index.tsx","@flatbiz/antd/src/markdown-editor/plugin-mermaid.tsx","@flatbiz/antd/src/markdown-editor/upload-image/content.tsx","@flatbiz/antd/src/markdown-editor/upload-image/index.tsx","@flatbiz/antd/src/markdown-editor/editor.tsx","@flatbiz/antd/src/markdown-editor/content.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { openNewWindow } from '@flatbiz/utils';\nimport { CardLayout } from '../../card-layout/card-layout.jsx';\nimport { CodeRender } from '../../code-render/code.jsx';\nimport { dialogModal } from '../../dialog-modal/dialog-modal.jsx';\n\nexport const MermaidViewBtn = () => {\n const handeClick = () => {\n dialogModal.open({\n title: 'Mermaid图形示例',\n content: () => {\n return (\n <div>\n <CardLayout\n title={'示例'}\n subTitle={'在Markdown中使用Mermaid图形'}\n layoutType=\"tight\"\n >\n <CodeRender\n code={`\\`\\`\\`mermaid\nsequenceDiagram\n native->>haipay服务端:获取accessToken\n haipay服务端->>tc服务端: 调用tc的接口获取accessToken\n tc服务端->>haipay服务端: 返回accessToken\n haipay服务端-->>native: 将accessToken返回native\n native->>tch5: 将accessToken返回给tch5,进行登录`}\n />\n </CardLayout>\n <Button\n block\n type=\"primary\"\n ghost\n style={{ marginTop: 20 }}\n onClick={() => {\n openNewWindow(\n 'https://docs.min2k.com/zh/mermaid/syntax/pie.html'\n );\n }}\n >\n 查看更多示例\n </Button>\n </div>\n );\n },\n okHidden: true,\n cancelHidden: true,\n });\n };\n\n return (\n <Button\n key=\"imageUpload\"\n type=\"default\"\n size=\"small\"\n style={{ fontSize: 12 }}\n onClick={handeClick}\n >\n 支持Mermaid图形\n </Button>\n );\n};\n","import { useEffect, useRef, useState } from 'react';\nimport { getCodeString } from 'rehype-rewrite';\nimport { getUuid } from '@flatbiz/utils';\n\nexport const PluginMermaidCode = ({\n children = [],\n className,\n ...props\n}: any) => {\n const demoid = useRef(getUuid());\n const [svgContent, setSvgContent] = useState<string>('');\n const renderAbortRef = useRef<boolean>(false);\n const isMermaid =\n className && /^language-mermaid/.test(className.toLocaleLowerCase());\n const code = children\n ? getCodeString(props.node.children)\n : children[0] || '';\n\n useEffect(() => {\n if (isMermaid && code) {\n // 标记之前的渲染为已取消\n renderAbortRef.current = true;\n\n // 重置取消标志\n renderAbortRef.current = false;\n\n // 生成新的唯一 ID\n const currentId = getUuid();\n demoid.current = currentId;\n\n // 创建一个临时的隐藏容器用于 Mermaid 渲染\n const tempContainer = document.createElement('div');\n tempContainer.style.position = 'absolute';\n tempContainer.style.visibility = 'hidden';\n tempContainer.style.width = '0';\n tempContainer.style.height = '0';\n tempContainer.style.top = '-9999px';\n tempContainer.style.left = '-9999px';\n tempContainer.id = currentId;\n document.body.appendChild(tempContainer);\n\n // 使用 requestAnimationFrame 确保在正确的时机渲染\n const frameId = requestAnimationFrame(() => {\n if (renderAbortRef.current) {\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n return;\n }\n const mermaid = window['mermaid'];\n // 在临时容器中渲染\n mermaid\n .render(currentId, code)\n .then(({ svg }) => {\n // 检查是否已被取消\n if (renderAbortRef.current) {\n return;\n }\n\n // 使用 React state 更新 SVG 内容,而不是直接操作 DOM\n setSvgContent(svg);\n })\n .catch((error) => {\n if (!renderAbortRef.current) {\n console.log('Mermaid render error:', error);\n setSvgContent('');\n }\n })\n .finally(() => {\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n });\n });\n\n // 清理函数:取消正在进行的渲染\n return () => {\n renderAbortRef.current = true;\n cancelAnimationFrame(frameId);\n\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n };\n } else {\n setSvgContent('');\n }\n\n return undefined;\n }, [isMermaid, code]);\n\n if (isMermaid) {\n return (\n <code\n className={className}\n data-name=\"mermaid\"\n dangerouslySetInnerHTML={{ __html: svgContent }}\n />\n );\n }\n return <code className={className}>{children}</code>;\n};\n","import { useCallback } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport type { FormInstance } from 'antd';\nimport { InputNumber } from 'antd';\nimport { isString } from '@dimjs/lang';\nimport { AlertWrapper } from '../../alert-wrapper/alert.jsx';\nimport { EasyForm } from '../../easy-form/form.jsx';\nimport { FormItemHidden } from '../../form-item-hidden/form-item-hidden.jsx';\nimport { FormItemWrapper } from '../../form-item-wrapper/form-item-wrapper.jsx';\nimport { Gap } from '../../gap/gap.jsx';\nimport { UploadMultiType } from '../../upload-multi-type/content.jsx';\n\nfunction getImageDimensions(\n url: string\n): Promise<{ width: number; height: number }> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.naturalWidth, height: img.naturalHeight });\n };\n img.onerror = () => {\n reject(new Error('图片加载失败'));\n };\n img.src = url;\n });\n}\n\nexport const UploadImageContent = (props: {\n form: FormInstance;\n onUploadImage: (file: File) => Promise<{ url: string; name: string }>;\n}) => {\n const onValuesChange = useCallback(\n async (changedFields: any) => {\n if (changedFields.imageUrls) {\n const imageUrls = changedFields.imageUrls;\n if (!imageUrls?.length) return;\n const imageUrl = isString(imageUrls[0])\n ? imageUrls[0]\n : imageUrls[0].url;\n getImageDimensions(imageUrl)\n .then(({ width, height }) => {\n props.form.setFieldsValue({ width, height });\n })\n .catch(() => {});\n }\n },\n [props.form]\n );\n\n const onUploadFile = useMemoizedFn(async (file: File) => {\n const formData = new FormData();\n formData.append('file', file);\n const respData = await props.onUploadImage?.(file);\n return respData;\n });\n\n return (\n <EasyForm\n form={props.form}\n onValuesChange={onValuesChange}\n initialValues={{\n file: [\n {\n url: 'https://file.40017.cn/jinfu/arbitrarily/umm4vdnm25z6kffm.png',\n name: 'xxx1.png',\n },\n {\n url: 'https://file.40017.cn/jinfu/arbitrarily/umm4vdnm25z6kffm.png',\n name: 'xxx2.png',\n },\n ],\n }}\n >\n <FormItemHidden name=\"height\" />\n <FormItemWrapper\n name=\"imageUrls\"\n label=\"图片\"\n rules={[{ required: true, message: '请选择或粘贴图片' }]}\n noStyle\n >\n <UploadMultiType onUploadFile={onUploadFile} maxCount={1} />\n </FormItemWrapper>\n <Gap height={12} />\n <FormItemWrapper name=\"width\" label=\"宽度\">\n <InputNumber\n placeholder=\"请输入宽度\"\n style={{ width: '200px' }}\n addonAfter=\"px\"\n />\n </FormItemWrapper>\n\n <AlertWrapper size=\"small\" description=\"可修改宽度进行等比缩放显示\" />\n </EasyForm>\n );\n};\n","import { Button, message } from 'antd';\nimport { isObject } from '@dimjs/lang';\nimport { dialogModal } from '../../dialog-modal/dialog-modal.jsx';\nimport { UploadImageContent } from './content.jsx';\n\nexport const UploadImageBtn = (props: {\n onUploadResult: (respData: {\n url: string;\n name: string;\n width: number;\n }) => void;\n onUploadImage: (file: File) => Promise<{ url: string; name: string }>;\n}) => {\n const handleImageClick = () => {\n dialogModal.open({\n title: '上传图片',\n content: (form) => {\n return (\n <UploadImageContent form={form} onUploadImage={props.onUploadImage} />\n );\n },\n okText: '确定',\n onOk: async (form) => {\n const values = await form.validateFields();\n try {\n const imageUrls = values.imageUrls;\n if (!imageUrls?.length) return;\n const imageItem = imageUrls[0];\n if (isObject(imageItem)) {\n props.onUploadResult?.({\n url: imageItem.url,\n name: imageItem.name,\n width: values.width,\n });\n } else {\n const name = imageItem.split('/').pop();\n props.onUploadResult?.({\n url: imageItem,\n name: name,\n width: values.width,\n });\n }\n } catch (error) {\n message.error(error?.['message'] || '上传图片失败');\n return Promise.reject();\n }\n return Promise.resolve();\n },\n onCancel: () => {\n console.log('onCancel');\n },\n });\n };\n\n return (\n <Button\n type=\"default\"\n size=\"small\"\n style={{ fontSize: 12 }}\n onClick={handleImageClick}\n >\n 上传图片\n </Button>\n );\n};\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useSize } from 'ahooks';\nimport { message } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { getUuid } from '@flatbiz/utils';\nimport { MermaidViewBtn } from './mermaid-view/index.jsx';\nimport { PluginMermaidCode } from './plugin-mermaid.jsx';\nimport type { MarkdownEditorProps } from './type.js';\nimport { UploadImageBtn } from './upload-image/index.jsx';\n// import MDEditor from '@uiw/react-md-editor';\n\n/**\n * ```\n * 使用:@uiw/react-md-editor 组件\n * 文档:https://www.npmjs.com/package/@uiw/react-md-editor\n * ```\n */\nexport const ReactMdEditor = (props: MarkdownEditorProps) => {\n const {\n value,\n onChange,\n onUploadImage,\n readonly,\n isDarkMode,\n className,\n style,\n readonlyHeightAuto,\n height,\n hideBorder,\n ...restProps\n } = props;\n const [innerValue, setInnerValue] = useState<string | undefined>(value);\n\n const readonlyHeightAutoFt = readonlyHeightAuto ?? true;\n\n useEffect(() => {\n console.log('props.value', props.value);\n setInnerValue(props.value);\n }, [props.value]);\n\n // 编辑器实例引用(用于操作内容)\n const editorRef = useRef(null);\n // 隐藏的文件选择器ref\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n // 触发文件选择框\n const handleImageClick = () => {\n fileInputRef.current?.click();\n };\n\n const onInnerChange = (value?: string) => {\n setInnerValue(value);\n onChange?.(value);\n };\n\n // 处理图片选择(核心:读取图片并插入)\n const onUploadResult = (respData: {\n url: string;\n name: string;\n width: number;\n }) => {\n try {\n const imageMarkdown = `\\n<img src=\"${respData.url}\" width=\"${respData.width}\" alt=\"${respData.name}\">\\n`;\n // 将图片Markdown插入到编辑器光标位置\n if (editorRef.current) {\n const textarea = editorRef.current?.['textarea'] as HTMLTextAreaElement;\n const cursorPosition = textarea.selectionStart;\n const newContent =\n innerValue?.slice(0, cursorPosition) +\n imageMarkdown +\n innerValue?.slice(cursorPosition);\n onInnerChange(newContent);\n }\n } catch (error) {\n message.error(error?.['message'] || '添加图片失败');\n }\n };\n\n const imageUploadCommand = onUploadImage\n ? {\n name: 'imageUpload',\n keyCommand: 'imageUpload',\n render: () => {\n return (\n <UploadImageBtn\n key=\"imageUpload\"\n onUploadResult={onUploadResult}\n onUploadImage={onUploadImage}\n // type=\"default\"\n // size=\"small\"\n // style={{ fontSize: 12 }}\n // onClick={handleImageClick}\n />\n );\n },\n }\n : null;\n // 支持 mermaid 语法\n const mermaidCommand = {\n name: 'mermaid',\n keyCommand: 'mermaid',\n render: () => {\n return (\n <MermaidViewBtn\n // type=\"default\"\n key=\"mermaid\"\n // size=\"small\"\n // style={{ fontSize: 12 }}\n // onClick={() => {\n // openNewWindow('https://docs.min2k.com/zh/mermaid/syntax/pie.html');\n // }}\n />\n );\n },\n };\n\n const MDEditor = window['@uiw/react-md-editor'].default;\n const commands = window['@uiw/react-md-editor'].commands;\n\n let extraCommands: any[] = [];\n\n if (imageUploadCommand && !readonly) {\n extraCommands = [\n imageUploadCommand,\n commands.divider,\n mermaidCommand,\n commands.divider,\n commands.fullscreen,\n ];\n } else {\n extraCommands = [mermaidCommand, commands.divider, commands.fullscreen];\n }\n\n const preview = readonly ? 'preview' : 'live';\n\n const dataColorMode = isDarkMode ? 'dark' : 'light';\n\n const commandsFt = useMemo(() => {\n if (readonly) return [];\n return undefined;\n }, [readonly]);\n\n const id = useMemo(() => {\n return getUuid();\n }, []);\n\n const wmdeMarkdownSize = useSize(() =>\n document.querySelector(`#${id} .wmde-markdown`)\n );\n\n const autoHeight = useMemo(() => {\n return readonly && readonlyHeightAutoFt;\n }, [readonly, readonlyHeightAutoFt]);\n\n const heightFt = useMemo(() => {\n if (autoHeight) {\n return (wmdeMarkdownSize?.height ?? 0) + 25;\n }\n return height;\n }, [autoHeight, wmdeMarkdownSize?.height, height]);\n\n const visibleDragbarFt = useMemo(() => {\n if (autoHeight) return false;\n return restProps.visibleDragbar;\n }, [autoHeight, restProps.visibleDragbar]);\n return (\n <div\n style={style}\n className={classNames('v-markdown-editor', className)}\n id={id}\n >\n <MDEditor\n highlightEnable={true}\n {...restProps}\n style={{ boxShadow: hideBorder ? 'none' : undefined }}\n height={heightFt}\n ref={editorRef}\n value={innerValue}\n preview={preview}\n onChange={onInnerChange}\n visibleDragbar={visibleDragbarFt}\n data-color-mode={dataColorMode}\n extraCommands={extraCommands}\n commands={commandsFt}\n previewOptions={{\n components: {\n code: PluginMermaidCode,\n },\n }}\n />\n {/* 隐藏的文件选择输入框 */}\n {/* <input\n type=\"file\"\n ref={fileInputRef}\n accept=\"image/*\" // 只允许选择图片\n onChange={handleFileChange}\n style={{ display: 'none' }}\n /> */}\n </div>\n );\n};\n","import { useEffect, useState } from 'react';\nimport { Spin } from 'antd';\nimport { CloseCircleFilled } from '@ant-design/icons';\nimport { loadScripts, loadStyles } from '@flatbiz/utils';\nimport { ReactMdEditor } from './editor.jsx';\nimport type { MarkdownEditorProps } from './type.js';\n\n/**\n * markdown编辑器\n * ```\n * 1. 使用@uiw/react-md-editor组件\n * 2. 动态加载 mermaid.js 和 mdeditor.js 和 mdeditor.css\n * //oss.ly.com/newpay/cdn/react-md-editor/mermaid.11.12.0.min.js\n * //oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.js\n * //oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.css\n * ```\n */\nexport const MarkdownEditor = (props: MarkdownEditorProps) => {\n const [renderFlag, setRenderFlag] = useState(false);\n const [errorMsg, setErrorMsg] = useState<string | null>(null);\n\n useEffect(() => {\n Promise.all([\n loadScripts({\n scriptUrls: [\n '//oss.ly.com/newpay/cdn/react-md-editor/mermaid.11.12.0.min.js',\n '//oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.js',\n ],\n checkFn: () => {\n const isLoaded = window['@uiw/react-md-editor'] && window['mermaid'];\n return isLoaded;\n },\n intervalMs: 20,\n }),\n loadStyles({\n styleUrls: [\n '//oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.css',\n ],\n }),\n ])\n .then(() => {\n setRenderFlag(true);\n })\n .catch((error) => {\n console.error(error);\n setRenderFlag(true);\n setErrorMsg(error?.message || 'Markdown编辑器加载失败');\n });\n }, []);\n\n if (!renderFlag) {\n return (\n <Spin\n tip={<div style={{ marginTop: 10 }}>Markdown编辑器加载中</div>}\n size=\"small\"\n >\n <div\n style={{\n padding: 50,\n background: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 4,\n }}\n />\n </Spin>\n );\n }\n\n if (errorMsg) {\n return (\n <div style={{ textAlign: 'center', padding: 20, background: '#fff' }}>\n <CloseCircleFilled style={{ color: '#f00', fontSize: 30 }} />\n <div style={{ color: '#f00', marginTop: 10, fontSize: 16 }}>\n Markdown编辑器加载失败\n </div>\n <div style={{ color: '#898989', marginTop: 5, fontSize: 12 }}>\n {errorMsg}\n </div>\n </div>\n );\n }\n\n return <ReactMdEditor {...props} />;\n};\n"],"names":["MermaidViewBtn","handeClick","dialogModal","open","title","content","_jsxs","children","_jsx","CardLayout","subTitle","layoutType","CodeRender","code","Button","block","type","ghost","style","marginTop","onClick","openNewWindow","okHidden","cancelHidden","size","fontSize","PluginMermaidCode","_ref","_ref$children","className","props","_objectWithoutProperties","_excluded","demoid","useRef","getUuid","_useState","useState","_useState2","_slicedToArray","svgContent","setSvgContent","renderAbortRef","isMermaid","test","toLocaleLowerCase","getCodeString","node","useEffect","current","currentId","tempContainer","document","createElement","position","visibility","width","height","top","left","id","body","appendChild","frameId","requestAnimationFrame","parentNode","removeChild","_unused","mermaid","window","render","then","_ref2","svg","catch","error","console","log","finally","_unused2","cancelAnimationFrame","_unused3","undefined","dangerouslySetInnerHTML","__html","getImageDimensions","url","Promise","resolve","reject","img","Image","onload","naturalWidth","naturalHeight","onerror","Error","src","UploadImageContent","onValuesChange","useCallback","changedFields","$return","$error","imageUrls","length","imageUrl","_isString","form","setFieldsValue","onUploadFile","useMemoizedFn","file","_props$onUploadImage","formData","respData","FormData","append","onUploadImage","call","$await_1","$boundEx","EasyForm","initialValues","name","FormItemHidden","FormItemWrapper","label","rules","required","message","noStyle","UploadMultiType","maxCount","Gap","InputNumber","placeholder","addonAfter","AlertWrapper","description","UploadImageBtn","handleImageClick","okText","onOk","values","imageItem","_props$onUploadResult","_props$onUploadResult2","validateFields","$await_2","_isObject","onUploadResult","split","pop","onCancel","ReactMdEditor","value","onChange","readonly","isDarkMode","readonlyHeightAuto","hideBorder","restProps","innerValue","setInnerValue","readonlyHeightAutoFt","editorRef","onInnerChange","imageMarkdown","concat","_editorRef$current","textarea","cursorPosition","selectionStart","newContent","slice","imageUploadCommand","keyCommand","mermaidCommand","MDEditor","default","commands","extraCommands","divider","fullscreen","preview","dataColorMode","commandsFt","useMemo","wmdeMarkdownSize","useSize","querySelector","autoHeight","heightFt","_wmdeMarkdownSize$hei","visibleDragbarFt","visibleDragbar","_classNames","_objectSpread","highlightEnable","boxShadow","ref","previewOptions","components","MarkdownEditor","renderFlag","setRenderFlag","_useState3","_useState4","errorMsg","setErrorMsg","all","loadScripts","scriptUrls","checkFn","isLoaded","intervalMs","loadStyles","styleUrls","Spin","tip","padding","background","borderRadius","textAlign","_CloseCircleFilled","color"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { Form } from 'antd';
|
|
|
5
5
|
import { useSensors, useSensor, PointerSensor, DndContext } from '@dnd-kit/core';
|
|
6
6
|
import { restrictToVerticalAxis } from '@dnd-kit/modifiers';
|
|
7
7
|
import { useSortable, SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable';
|
|
8
|
-
import { E as EditableTable } from './editable-table-
|
|
8
|
+
import { E as EditableTable } from './editable-table-BaKnBuHT.js';
|
|
9
9
|
import { fbaHooks } from './fba-hooks/index.js';
|
|
10
10
|
import _DragOutlined from '@ant-design/icons/es/icons/DragOutlined.js';
|
|
11
11
|
import { createElement, Children, cloneElement } from 'react';
|
|
@@ -178,4 +178,4 @@ var DragEditableTable = function DragEditableTable(props) {
|
|
|
178
178
|
};
|
|
179
179
|
|
|
180
180
|
export { DragEditableTable as D };
|
|
181
|
-
//# sourceMappingURL=drag-
|
|
181
|
+
//# sourceMappingURL=drag-D3i6_WRS.js.map
|