zmdms-webui 0.0.76 → 0.0.78

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.
Files changed (81) hide show
  1. package/dist/es/_virtual/Draggable.js +3 -0
  2. package/dist/es/_virtual/DraggableCore.js +3 -0
  3. package/dist/es/_virtual/Resizable.js +3 -0
  4. package/dist/es/_virtual/ResizableBox.js +3 -0
  5. package/dist/es/_virtual/_commonjsHelpers.js +29 -1
  6. package/dist/es/_virtual/cjs.js +3 -0
  7. package/dist/es/_virtual/clsx.m.js +6 -0
  8. package/dist/es/_virtual/domFns.js +3 -0
  9. package/dist/es/_virtual/getPrefix.js +3 -0
  10. package/dist/es/_virtual/index3.js +3 -0
  11. package/dist/es/_virtual/index4.js +3 -0
  12. package/dist/es/_virtual/index5.js +3 -0
  13. package/dist/es/_virtual/log.js +3 -0
  14. package/dist/es/_virtual/positionFns.js +3 -0
  15. package/dist/es/_virtual/propTypes.js +3 -0
  16. package/dist/es/_virtual/react-is.development.js +3 -0
  17. package/dist/es/_virtual/react-is.production.min.js +3 -0
  18. package/dist/es/_virtual/shims.js +3 -0
  19. package/dist/es/_virtual/utils.js +3 -0
  20. package/dist/es/button/button.js +14 -9
  21. package/dist/es/button/interface.d.ts +2 -0
  22. package/dist/es/dynamicsetting/dynamicDrawer.js +88 -5
  23. package/dist/es/dynamicsetting/dynamicSetting.js +7 -2
  24. package/dist/es/dynamicsetting/interface.d.ts +4 -0
  25. package/dist/es/dynamicsetting/moreConfig.js +36 -0
  26. package/dist/es/dynamicsetting/useDynamic.js +65 -25
  27. package/dist/es/form/form.d.ts +1 -1
  28. package/dist/es/form/form.js +18 -6
  29. package/dist/es/form/hooks.js +37 -5
  30. package/dist/es/form/interface.d.ts +7 -0
  31. package/dist/es/form/toggle.js +16 -0
  32. package/dist/es/node_modules/@ant-design/icons/es/icons/MenuOutlined.js +15 -0
  33. package/dist/es/node_modules/@ant-design/icons/es/utils.js +3 -1
  34. package/dist/es/node_modules/@ant-design/icons-svg/es/asn/MenuOutlined.js +5 -0
  35. package/dist/es/node_modules/@ant-design/icons-svg/es/asn/PlusOutlined.js +1 -1
  36. package/dist/es/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +19 -19
  37. package/dist/es/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +15 -15
  38. package/dist/es/node_modules/@babel/runtime/helpers/esm/typeof.js +6 -6
  39. package/dist/es/node_modules/antd-img-crop/dist/antd-img-crop.esm.js +7 -7
  40. package/dist/es/node_modules/clsx/dist/clsx.m.js +3 -0
  41. package/dist/es/node_modules/compare-versions/lib/esm/compareVersions.js +31 -0
  42. package/dist/es/node_modules/compare-versions/lib/esm/{index.js → utils.js} +1 -28
  43. package/dist/es/node_modules/object-assign/index.js +99 -0
  44. package/dist/es/node_modules/prop-types/checkPropTypes.js +115 -0
  45. package/dist/es/node_modules/prop-types/factoryWithThrowingShims.js +74 -0
  46. package/dist/es/node_modules/prop-types/factoryWithTypeCheckers.js +625 -0
  47. package/dist/es/node_modules/prop-types/index.js +28 -0
  48. package/dist/es/node_modules/prop-types/lib/ReactPropTypesSecret.js +21 -0
  49. package/dist/es/node_modules/prop-types/lib/has.js +11 -0
  50. package/dist/es/node_modules/react-draggable/build/cjs/Draggable.js +474 -0
  51. package/dist/es/node_modules/react-draggable/build/cjs/DraggableCore.js +580 -0
  52. package/dist/es/node_modules/react-draggable/build/cjs/cjs.js +18 -0
  53. package/dist/es/node_modules/react-draggable/build/cjs/utils/domFns.js +361 -0
  54. package/dist/es/node_modules/react-draggable/build/cjs/utils/getPrefix.js +85 -0
  55. package/dist/es/node_modules/react-draggable/build/cjs/utils/log.js +10 -0
  56. package/dist/es/node_modules/react-draggable/build/cjs/utils/positionFns.js +214 -0
  57. package/dist/es/node_modules/react-draggable/build/cjs/utils/shims.js +64 -0
  58. package/dist/es/node_modules/react-easy-crop/index.module.js +51 -18
  59. package/dist/es/node_modules/react-is/cjs/react-is.development.js +190 -0
  60. package/dist/es/node_modules/react-is/cjs/react-is.production.min.js +26 -0
  61. package/dist/es/node_modules/react-is/index.js +19 -0
  62. package/dist/es/node_modules/react-resizable/build/Resizable.js +262 -0
  63. package/dist/es/node_modules/react-resizable/build/ResizableBox.js +117 -0
  64. package/dist/es/node_modules/react-resizable/build/propTypes.js +120 -0
  65. package/dist/es/node_modules/react-resizable/build/utils.js +24 -0
  66. package/dist/es/node_modules/react-resizable/index.js +14 -0
  67. package/dist/es/node_modules/virtuallist-antd/dist/index.es.js +942 -0
  68. package/dist/es/table/components/EnhanceBodyRow.js +24 -0
  69. package/dist/es/table/components/EnhanceHeaderCell.js +41 -0
  70. package/dist/es/table/components/TitleOperation.js +1 -1
  71. package/dist/es/table/components/useDragRef.js +10 -11
  72. package/dist/es/table/interface.d.ts +14 -0
  73. package/dist/es/table/table.js +72 -25
  74. package/dist/es/table/useColumns.js +144 -66
  75. package/dist/es/table/useDynamicListByColumns.js +63 -20
  76. package/dist/es/table/utils.js +59 -21
  77. package/dist/index.dark.css +1 -1
  78. package/dist/index.default.css +1 -1
  79. package/package.json +5 -4
  80. package/dist/es/table/components/EnhanceRow.js +0 -21
  81. /package/dist/es/table/components/{EnhanceCell.js → EnhanceBodyCell.js} +0 -0
@@ -1,29 +1,61 @@
1
- import { useRef, useMemo, useState, useCallback } from 'react';
1
+ import { useRef, useMemo, useState, useEffect, useCallback } from 'react';
2
2
  import { getCurrentDynamicItems } from '../dynamicsetting/useDynamic.js';
3
3
  import { TABLE_DYNAMIC_KEY } from './constant.js';
4
+ import isEqual from 'lodash/isEqual';
4
5
 
6
+ // 处理列信息
7
+ function parseColumn(column, index) {
8
+ var _a = column, key = _a.key, dataIndex = _a.dataIndex, title = _a.title, dynamicTitle = _a.dynamicTitle, dynamicDisabled = _a.dynamicDisabled, width = _a.width, fixed = _a.fixed;
9
+ // 动态列配置 title必须为一个字符串
10
+ if (title && !dynamicTitle && typeof title !== "string") {
11
+ console.error("\u4F60\u4F20\u5165\u7684title\u4E0D\u662F\u4E00\u4E2A\u5B57\u7B26\u4E32,\u5E76\u4E14\u4F60\u6CA1\u6709\u4F20\u5165dynamicTitle\u7684\u914D\u7F6E\u3002\n \u95EE\u9898\u53EF\u80FD\u51FA\u73B0\u518D:".concat(key || dataIndex, " \u5217\u3002\u8BF7\u4F20\u5165\u4E00\u4E2AdynamicTitle \u4F5C\u4E3A\u52A8\u6001\u5217\u914D\u7F6E\u7684title\u503C"));
12
+ }
13
+ // 固定列也进入到可排序的列表中,固定列必须传入key值
14
+ // if (!fixed) {
15
+ // dataIndex 可能是 ['key1', 'key2'] 这种格式
16
+ // 尽量避免使用这种模式 如果非得使用这种模式 那么请把key值传入
17
+ var _key = key ? key : dataIndex;
18
+ // 如果开发没有传入一个key值,那么组件自动生成一个。生成规则就是根据索引 和 标题生成
19
+ // 但是会发出警告
20
+ var myKey = _key ||
21
+ "".concat(index, "-").concat(typeof title === "string" ? title : dynamicTitle);
22
+ var item = {
23
+ key: myKey,
24
+ label: dynamicTitle ? dynamicTitle : title,
25
+ disabled: dynamicDisabled === true ? true : false,
26
+ checked: true,
27
+ width: width,
28
+ fixed: fixed,
29
+ };
30
+ column.key = myKey;
31
+ if (!_key) {
32
+ console.error("\u4F60\u8868\u683C\u6709\u5217\u6CA1\u6709\u4F20\u5165key\u503C\uFF0C\u8BF7\u4F20\u5165key\u503C\uFF0C\u7EC4\u4EF6\u4F1A\u7ED9\u4F60\u9ED8\u8BA4\u751F\u6210\u4E00\u4E2AKEY\u503C\uFF0C\u4F46\u662F\u6700\u597D\u8FD8\u662F\u7ED9\u5217\u914D\u7F6E\u4E00\u4E2Akey", item);
33
+ }
34
+ return item;
35
+ // }
36
+ }
37
+ // 将多级表头统一提取出来处理
38
+ function recursionColumns(columns, result) {
39
+ if (Array.isArray(columns)) {
40
+ columns.forEach(function (column, index) {
41
+ var item = parseColumn(column, index);
42
+ if (column.children && Array.isArray(column.children)) {
43
+ var columnChildrenResult = [];
44
+ recursionColumns(column.children, columnChildrenResult);
45
+ item.children = columnChildrenResult;
46
+ }
47
+ result.push(item);
48
+ });
49
+ }
50
+ }
5
51
  // 根据columns 生成动态列配置信息
6
52
  function getDynamicList(dynamicKey, columns) {
7
53
  var result = [];
8
- if (dynamicKey && columns) {
9
- columns.forEach(function (column) {
10
- var _a = column, key = _a.key, dataIndex = _a.dataIndex, title = _a.title, dynamicTitle = _a.dynamicTitle, dynamicDisabled = _a.dynamicDisabled, fixed = _a.fixed;
11
- // 动态列配置 title必须为一个字符串
12
- if (title && !dynamicTitle && typeof title !== "string") {
13
- console.error("\u4F60\u4F20\u5165\u7684title\u4E0D\u662F\u4E00\u4E2A\u5B57\u7B26\u4E32,\u5E76\u4E14\u4F60\u6CA1\u6709\u4F20\u5165dynamicTitle\u7684\u914D\u7F6E\u3002\n \u95EE\u9898\u53EF\u80FD\u51FA\u73B0\u518D:".concat(key || dataIndex, " \u5217\u3002\u8BF7\u4F20\u5165\u4E00\u4E2AdynamicTitle \u4F5C\u4E3A\u52A8\u6001\u5217\u914D\u7F6E\u7684title\u503C"));
14
- }
15
- if (!fixed) {
16
- // dataIndex 可能是 ['key1', 'key2'] 这种格式
17
- // 尽量避免使用这种模式 如果非得使用这种模式 那么请把key值传入
18
- var _key = key ? key : dataIndex;
19
- result.push({
20
- key: _key,
21
- label: dynamicTitle ? dynamicTitle : title,
22
- disabled: dynamicDisabled === true ? true : false,
23
- checked: true,
24
- });
25
- }
26
- });
54
+ // 就算没有传入 dynamicKey 也可以生成一个动态列配置的逻辑
55
+ // if (dynamicKey && columns) {
56
+ if (columns) {
57
+ // 将多级表头 递归生成列配置信息
58
+ recursionColumns(columns, result);
27
59
  }
28
60
  return result;
29
61
  }
@@ -38,6 +70,17 @@ function useDynamicListByColumns(columns, dynamicKey) {
38
70
  var _a = useState(function () {
39
71
  return getCurrentDynamicItems(dynamicKey, TABLE_DYNAMIC_KEY, defaultDynamicList);
40
72
  }), currentDynamicList = _a[0], setCurrentDynamicList = _a[1];
73
+ // columns发生变化时,更新数据默认配置
74
+ useEffect(function () {
75
+ var _a, _b;
76
+ var defaultDynamicList = getDynamicList(dynamicKey, columns);
77
+ (_b = (_a = dynamicSettingRef === null || dynamicSettingRef === void 0 ? void 0 : dynamicSettingRef.current) === null || _a === void 0 ? void 0 : _a.setList) === null || _b === void 0 ? void 0 : _b.call(_a, function (preList) {
78
+ if (isEqual(preList, defaultDynamicList)) {
79
+ return preList;
80
+ }
81
+ return defaultDynamicList;
82
+ });
83
+ }, [dynamicKey, columns]);
41
84
  var onCurrentListChange = useCallback(function (newDynamicList) {
42
85
  console.log(newDynamicList);
43
86
  setCurrentDynamicList(newDynamicList);
@@ -1,18 +1,13 @@
1
- import { __spreadArray } from '../_virtual/_tslib.js';
1
+ import { __spreadArray, __assign } from '../_virtual/_tslib.js';
2
2
  import { message } from 'antd';
3
3
 
4
- // 根据动态列配置信息 以及当前的columns信息
5
- // 得到最新的columns信息
6
- function getTableColumns(columns, currentDynamicList) {
4
+ // 递归处理columns
5
+ function recursionColumns(columns, currentDynamicList, newColumns) {
7
6
  if (Array.isArray(currentDynamicList) &&
8
7
  currentDynamicList.length > 0 &&
9
8
  columns) {
10
- var preColumns_1 = [];
11
- var middleColumns_1 = [];
12
- var afterColumns_1 = [];
13
- // 先从动态列配置信息中 找出column并按配置信息进行排序
14
9
  currentDynamicList.forEach(function (item) {
15
- var key = item.key, checked = item.checked;
10
+ var key = item.key, checked = item.checked, width = item.width, fixed = item.fixed, dynamicChildrenList = item.children;
16
11
  // 这里肯定是能找到的 因为之前就以columns过滤了一遍dynamicList了
17
12
  var result = columns.find(function (column) {
18
13
  return ((column.key === key ||
@@ -20,21 +15,64 @@ function getTableColumns(columns, currentDynamicList) {
20
15
  checked);
21
16
  });
22
17
  if (result) {
23
- middleColumns_1.push(result);
18
+ var newColumn = __assign(__assign({}, result), { width: width ? width : result.width, fixed: fixed != null ? fixed : result.fixed });
19
+ // 如果有子元素
20
+ if (result.children) {
21
+ newColumn.children = [];
22
+ recursionColumns(result.children, dynamicChildrenList, newColumn.children);
23
+ }
24
+ newColumns.push(newColumn);
24
25
  }
25
26
  });
27
+ }
28
+ }
29
+ // 根据动态列配置信息 以及当前的columns信息
30
+ // 得到最新的columns信息
31
+ function getTableColumns(columns, currentDynamicList) {
32
+ if (Array.isArray(currentDynamicList) &&
33
+ currentDynamicList.length > 0 &&
34
+ columns) {
35
+ var preColumns = [];
36
+ var middleColumns = [];
37
+ var afterColumns = [];
38
+ // 先从动态列配置信息中 找出column并按配置信息进行排序
39
+ recursionColumns(columns, currentDynamicList, middleColumns);
40
+ // currentDynamicList.forEach((item) => {
41
+ // const { key, checked, width, fixed } = item;
42
+ // // 这里肯定是能找到的 因为之前就以columns过滤了一遍dynamicList了
43
+ // const result = columns.find((column) => {
44
+ // return (
45
+ // (column.key === key ||
46
+ // ((column as any)?.dataIndex as string) === key) &&
47
+ // checked
48
+ // );
49
+ // });
50
+ // if (result) {
51
+ // middleColumns.push({
52
+ // ...result,
53
+ // width: width ? width : result.width,
54
+ // fixed: fixed != null ? fixed : result.fixed,
55
+ // });
56
+ // }
57
+ // });
26
58
  // 将前固定列 和 后固定列找出
27
- columns
28
- .filter(function (column) { return column.fixed; })
29
- .forEach(function (column) {
30
- if (column.fixed === "left") {
31
- preColumns_1.push(column);
32
- }
33
- else if (column.fixed === "right") {
34
- afterColumns_1.push(column);
35
- }
36
- });
37
- return __spreadArray(__spreadArray(__spreadArray([], preColumns_1, true), middleColumns_1, true), afterColumns_1, true);
59
+ // 固定列也将放入到 动态列配置中去,这里逻辑取消
60
+ // columns
61
+ // .filter((column) => column.fixed)
62
+ // .forEach((column) => {
63
+ // if (column.fixed === "left") {
64
+ // preColumns.push(column);
65
+ // } else if (column.fixed === "right") {
66
+ // afterColumns.push(column);
67
+ // }
68
+ // });
69
+ // 如果没有找到一条数据,可以认为这次做了全量更新,需要直接覆盖
70
+ if (preColumns.length === 0 &&
71
+ middleColumns.length === 0 &&
72
+ afterColumns.length === 0) {
73
+ return columns;
74
+ }
75
+ return __spreadArray(__spreadArray(__spreadArray([], preColumns, true), middleColumns, true), afterColumns, true);
38
76
  }
39
77
  return columns;
40
78
  }