@vtx/components 4.0.0-beta.25 → 4.0.0-beta.27

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.
@@ -1,5 +1,12 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["confirm"];
2
+ var _excluded = ["confirm"],
3
+ _excluded2 = ["confirm"];
4
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
7
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
8
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
9
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
3
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
11
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
12
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -7,12 +14,6 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
7
14
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
15
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
16
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
11
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
14
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
15
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
16
17
  import { DownOutlined } from '@ant-design/icons';
17
18
  import { Divider, Dropdown, Popconfirm } from 'antd';
18
19
  import Icon from "../vtx-icon";
@@ -45,14 +46,32 @@ var renderColumnButtons = function renderColumnButtons(_ref) {
45
46
  /* eslint-disable */
46
47
  moreRender = /*#__PURE__*/_jsx(Dropdown, {
47
48
  menu: {
48
- items: (moreActions === null || moreActions === void 0 ? void 0 : moreActions.map(function (item, i) {
49
+ items: (moreActions === null || moreActions === void 0 ? void 0 : moreActions.map(function (item, index) {
50
+ var name = item.name,
51
+ popconfirm = item.popconfirm;
52
+ if (popconfirm) {
53
+ var confirm = popconfirm.confirm,
54
+ rest = _objectWithoutProperties(popconfirm, _excluded);
55
+ return {
56
+ key: item.name,
57
+ label: /*#__PURE__*/_jsx(Popconfirm, _objectSpread(_objectSpread({
58
+ trigger: ['hover'],
59
+ onConfirm: confirm ? function () {
60
+ return confirm(record, index);
61
+ } : undefined
62
+ }, rest), {}, {
63
+ children: name
64
+ }))
65
+ };
66
+ }
49
67
  return {
50
- key: i,
68
+ key: item.name,
51
69
  label: item.name
52
70
  };
53
71
  })) || [],
54
72
  onClick: function onClick(e) {
55
- moreActions[e.key].onClick(record, index);
73
+ var _moreActions$e$key;
74
+ (_moreActions$e$key = moreActions[e.key]) === null || _moreActions$e$key === void 0 || _moreActions$e$key.onClick(record, index);
56
75
  }
57
76
  },
58
77
  children: /*#__PURE__*/_jsxs("a", {
@@ -82,7 +101,7 @@ var renderColumnButtons = function renderColumnButtons(_ref) {
82
101
  }, name);
83
102
  if (popconfirm) {
84
103
  var confirm = popconfirm.confirm,
85
- rest = _objectWithoutProperties(popconfirm, _excluded);
104
+ rest = _objectWithoutProperties(popconfirm, _excluded2);
86
105
  btnNode = /*#__PURE__*/_createElement(Popconfirm, _objectSpread(_objectSpread({}, rest), {}, {
87
106
  onConfirm: confirm ? function () {
88
107
  return confirm(record, index);
@@ -17,14 +17,13 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
17
17
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
18
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
19
  /*eslint-disable*/
20
- import React, { forwardRef, useState, useEffect, useContext, useCallback } from 'react';
20
+ import React, { forwardRef, useState, useEffect, useContext, useCallback, useRef } from 'react';
21
21
  import PropTypes from 'prop-types';
22
22
  import { Editor, Toolbar } from '@wangeditor/editor-for-react';
23
23
  import attachmentModule from '@wangeditor/plugin-upload-attachment';
24
24
  import { Boot } from '@wangeditor/editor';
25
25
  import getToken from "../utils/getToken";
26
26
  import { withEmptyHtml, findAllImgSrcsFromHtml, extractImageDataFromRtf, replaceImagesFileSourceWithInlineRepresentation, replaceAllSpanFontSize, sanitizeHtml } from "./wangEditorUtil";
27
- import { ConfigProvider } from 'antd';
28
27
  import cls from 'classnames';
29
28
  import { useStyle } from "./style/index";
30
29
  import { FormItemInputContext } from 'antd/es/form/context';
@@ -62,6 +61,7 @@ var VtxWangEditor = function VtxWangEditor(props) {
62
61
  setError(error.message);
63
62
  // 可以在这里添加错误上报逻辑
64
63
  }, []);
64
+ var valueRef = useRef();
65
65
  var _React$useContext = React.useContext(FormItemInputContext),
66
66
  contextStatus = _React$useContext.status,
67
67
  hasFeedback = _React$useContext.hasFeedback,
@@ -108,6 +108,9 @@ var VtxWangEditor = function VtxWangEditor(props) {
108
108
  }
109
109
  };
110
110
  }, []);
111
+ useEffect(function () {
112
+ valueRef.current = value;
113
+ }, [value]);
111
114
 
112
115
  // 修改安全的粘贴处理函数
113
116
  var handleSafePaste = useCallback( /*#__PURE__*/function () {
@@ -230,10 +233,14 @@ var VtxWangEditor = function VtxWangEditor(props) {
230
233
  var newValue = editor.getHtml() || undefined;
231
234
  // 对输出内容也进行安全过滤
232
235
  var processedValue = enableSanitization && newValue !== undefined ? sanitizeHtml(newValue) : newValue;
233
- console.log('编辑器内容变化,处理前内容:', newValue);
234
- console.log('编辑器内容变化,处理后内容:', processedValue);
235
- if (processedValue !== value) {
236
- onChange(processedValue);
236
+ // console.log('编辑器内容变化,处理前内容:', newValue);
237
+ // console.log('编辑器内容变化,处理后内容:', processedValue);
238
+ if (processedValue !== valueRef.current) {
239
+ if (processedValue === undefined) {
240
+ onChange('');
241
+ } else {
242
+ onChange(processedValue);
243
+ }
237
244
  }
238
245
  } catch (error) {
239
246
  handleError(new Error('编辑器内容处理失败: ' + error.message));
@@ -268,7 +275,6 @@ var VtxWangEditor = function VtxWangEditor(props) {
268
275
  },
269
276
  customInsert: function customInsert(res, insertFn) {
270
277
  try {
271
- console.log(res, insertFn);
272
278
  // res 即服务端的返回结果
273
279
  // 从 res 中找到 url alt href ,然后插入图片
274
280
  if (res.result == 0) {
@@ -10,8 +10,15 @@ var _antd = require("antd");
10
10
  var _vtxIcon = _interopRequireDefault(require("../vtx-icon"));
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  var _react = require("react");
13
- var _excluded = ["confirm"];
13
+ var _excluded = ["confirm"],
14
+ _excluded2 = ["confirm"];
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
17
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
20
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
21
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
22
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
23
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
24
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -19,12 +26,6 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
19
26
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
27
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
28
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
22
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
23
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
24
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
26
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
27
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
28
29
  var renderColumnButtons = function renderColumnButtons(_ref) {
29
30
  var _renderButtons;
30
31
  var renderButtons = _ref.renderButtons,
@@ -51,14 +52,32 @@ var renderColumnButtons = function renderColumnButtons(_ref) {
51
52
  /* eslint-disable */
52
53
  moreRender = /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Dropdown, {
53
54
  menu: {
54
- items: (moreActions === null || moreActions === void 0 ? void 0 : moreActions.map(function (item, i) {
55
+ items: (moreActions === null || moreActions === void 0 ? void 0 : moreActions.map(function (item, index) {
56
+ var name = item.name,
57
+ popconfirm = item.popconfirm;
58
+ if (popconfirm) {
59
+ var confirm = popconfirm.confirm,
60
+ rest = _objectWithoutProperties(popconfirm, _excluded);
61
+ return {
62
+ key: item.name,
63
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Popconfirm, _objectSpread(_objectSpread({
64
+ trigger: ['hover'],
65
+ onConfirm: confirm ? function () {
66
+ return confirm(record, index);
67
+ } : undefined
68
+ }, rest), {}, {
69
+ children: name
70
+ }))
71
+ };
72
+ }
55
73
  return {
56
- key: i,
74
+ key: item.name,
57
75
  label: item.name
58
76
  };
59
77
  })) || [],
60
78
  onClick: function onClick(e) {
61
- moreActions[e.key].onClick(record, index);
79
+ var _moreActions$e$key;
80
+ (_moreActions$e$key = moreActions[e.key]) === null || _moreActions$e$key === void 0 || _moreActions$e$key.onClick(record, index);
62
81
  }
63
82
  },
64
83
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("a", {
@@ -88,7 +107,7 @@ var renderColumnButtons = function renderColumnButtons(_ref) {
88
107
  }, name);
89
108
  if (popconfirm) {
90
109
  var confirm = popconfirm.confirm,
91
- rest = _objectWithoutProperties(popconfirm, _excluded);
110
+ rest = _objectWithoutProperties(popconfirm, _excluded2);
92
111
  btnNode = /*#__PURE__*/(0, _react.createElement)(_antd.Popconfirm, _objectSpread(_objectSpread({}, rest), {}, {
93
112
  onConfirm: confirm ? function () {
94
113
  return confirm(record, index);
@@ -12,7 +12,6 @@ var _pluginUploadAttachment = _interopRequireDefault(require("@wangeditor/plugin
12
12
  var _editor = require("@wangeditor/editor");
13
13
  var _getToken = _interopRequireDefault(require("../utils/getToken"));
14
14
  var _wangEditorUtil = require("./wangEditorUtil");
15
- var _antd = require("antd");
16
15
  var _classnames = _interopRequireDefault(require("classnames"));
17
16
  var _index = require("./style/index");
18
17
  var _context2 = require("antd/es/form/context");
@@ -67,6 +66,7 @@ var VtxWangEditor = exports.VtxWangEditor = function VtxWangEditor(props) {
67
66
  setError(error.message);
68
67
  // 可以在这里添加错误上报逻辑
69
68
  }, []);
69
+ var valueRef = (0, _react.useRef)();
70
70
  var _React$useContext = _react.default.useContext(_context2.FormItemInputContext),
71
71
  contextStatus = _React$useContext.status,
72
72
  hasFeedback = _React$useContext.hasFeedback,
@@ -113,6 +113,9 @@ var VtxWangEditor = exports.VtxWangEditor = function VtxWangEditor(props) {
113
113
  }
114
114
  };
115
115
  }, []);
116
+ (0, _react.useEffect)(function () {
117
+ valueRef.current = value;
118
+ }, [value]);
116
119
 
117
120
  // 修改安全的粘贴处理函数
118
121
  var handleSafePaste = (0, _react.useCallback)( /*#__PURE__*/function () {
@@ -235,10 +238,14 @@ var VtxWangEditor = exports.VtxWangEditor = function VtxWangEditor(props) {
235
238
  var newValue = editor.getHtml() || undefined;
236
239
  // 对输出内容也进行安全过滤
237
240
  var processedValue = enableSanitization && newValue !== undefined ? (0, _wangEditorUtil.sanitizeHtml)(newValue) : newValue;
238
- console.log('编辑器内容变化,处理前内容:', newValue);
239
- console.log('编辑器内容变化,处理后内容:', processedValue);
240
- if (processedValue !== value) {
241
- onChange(processedValue);
241
+ // console.log('编辑器内容变化,处理前内容:', newValue);
242
+ // console.log('编辑器内容变化,处理后内容:', processedValue);
243
+ if (processedValue !== valueRef.current) {
244
+ if (processedValue === undefined) {
245
+ onChange('');
246
+ } else {
247
+ onChange(processedValue);
248
+ }
242
249
  }
243
250
  } catch (error) {
244
251
  handleError(new Error('编辑器内容处理失败: ' + error.message));
@@ -273,7 +280,6 @@ var VtxWangEditor = exports.VtxWangEditor = function VtxWangEditor(props) {
273
280
  },
274
281
  customInsert: function customInsert(res, insertFn) {
275
282
  try {
276
- console.log(res, insertFn);
277
283
  // res 即服务端的返回结果
278
284
  // 从 res 中找到 url alt href ,然后插入图片
279
285
  if (res.result == 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "4.0.0-beta.25",
3
+ "version": "4.0.0-beta.27",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",