zmdms-webui 0.0.1

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 (210) hide show
  1. package/README.md +104 -0
  2. package/dist/es/_virtual/_commonjsHelpers.js +5 -0
  3. package/dist/es/_virtual/_tslib.js +51 -0
  4. package/dist/es/_virtual/index.js +3 -0
  5. package/dist/es/_virtual/index2.js +3 -0
  6. package/dist/es/button/button.d.ts +10 -0
  7. package/dist/es/button/button.js +39 -0
  8. package/dist/es/button/index.d.ts +5 -0
  9. package/dist/es/button/index.js +5 -0
  10. package/dist/es/calendar/index.d.ts +6 -0
  11. package/dist/es/calendar/index.js +6 -0
  12. package/dist/es/config/ZtxkContext.d.ts +11 -0
  13. package/dist/es/config/ZtxkContext.js +8 -0
  14. package/dist/es/config/commonHooks.js +28 -0
  15. package/dist/es/config/i18n/en.js +5 -0
  16. package/dist/es/config/i18n/zh_cn.js +5 -0
  17. package/dist/es/config/index.js +3 -0
  18. package/dist/es/config/isEqual.js +44 -0
  19. package/dist/es/config/useLocale.js +21 -0
  20. package/dist/es/container/container.d.ts +13 -0
  21. package/dist/es/container/container.js +24 -0
  22. package/dist/es/container/index.d.ts +5 -0
  23. package/dist/es/container/index.js +5 -0
  24. package/dist/es/datepicker/index.d.ts +55 -0
  25. package/dist/es/datepicker/index.js +6 -0
  26. package/dist/es/dynamicsetting/dynamicDrawer.js +76 -0
  27. package/dist/es/dynamicsetting/dynamicSetting.d.ts +6 -0
  28. package/dist/es/dynamicsetting/dynamicSetting.js +38 -0
  29. package/dist/es/dynamicsetting/hooks.js +50 -0
  30. package/dist/es/dynamicsetting/index.d.ts +5 -0
  31. package/dist/es/dynamicsetting/index.js +5 -0
  32. package/dist/es/dynamicsetting/interface.d.ts +18 -0
  33. package/dist/es/dynamicsetting/sortable.js +68 -0
  34. package/dist/es/dynamicsetting/useDynamic.js +125 -0
  35. package/dist/es/footer/footer.d.ts +6 -0
  36. package/dist/es/footer/footer.js +37 -0
  37. package/dist/es/footer/index.d.ts +5 -0
  38. package/dist/es/footer/index.js +5 -0
  39. package/dist/es/footer/interface.d.ts +33 -0
  40. package/dist/es/forgetpassword/forgetPassword.js +9 -0
  41. package/dist/es/forgetpassword/index.js +5 -0
  42. package/dist/es/form/form.d.ts +16 -0
  43. package/dist/es/form/form.js +89 -0
  44. package/dist/es/form/formItems.js +14 -0
  45. package/dist/es/form/hooks.js +105 -0
  46. package/dist/es/form/index.d.ts +5 -0
  47. package/dist/es/form/index.js +5 -0
  48. package/dist/es/form/interface.d.ts +39 -0
  49. package/dist/es/formitem/formItem.d.ts +43 -0
  50. package/dist/es/formitem/formItem.js +128 -0
  51. package/dist/es/formitem/index.d.ts +5 -0
  52. package/dist/es/formitem/index.js +5 -0
  53. package/dist/es/icon/index.d.ts +6 -0
  54. package/dist/es/icon/index.js +7 -0
  55. package/dist/es/input/index.d.ts +5 -0
  56. package/dist/es/input/index.js +5 -0
  57. package/dist/es/input/input.d.ts +20 -0
  58. package/dist/es/input/input.js +16 -0
  59. package/dist/es/inputnumber/index.d.ts +5 -0
  60. package/dist/es/inputnumber/index.js +5 -0
  61. package/dist/es/inputnumber/inputNumber.d.ts +20 -0
  62. package/dist/es/inputnumber/inputNumber.js +26 -0
  63. package/dist/es/inputnumber/interface.d.ts +4 -0
  64. package/dist/es/inputnumber/utils.js +132 -0
  65. package/dist/es/login/index.d.ts +13 -0
  66. package/dist/es/login/index.js +26 -0
  67. package/dist/es/node_modules/@ant-design/colors/dist/index.esm.js +223 -0
  68. package/dist/es/node_modules/@ant-design/icons/es/components/AntdIcon.js +63 -0
  69. package/dist/es/node_modules/@ant-design/icons/es/components/Context.js +6 -0
  70. package/dist/es/node_modules/@ant-design/icons/es/components/Icon.js +69 -0
  71. package/dist/es/node_modules/@ant-design/icons/es/components/IconBase.js +63 -0
  72. package/dist/es/node_modules/@ant-design/icons/es/components/IconFont.js +71 -0
  73. package/dist/es/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js +23 -0
  74. package/dist/es/node_modules/@ant-design/icons/es/icons/SettingOutlined.js +15 -0
  75. package/dist/es/node_modules/@ant-design/icons/es/utils.js +76 -0
  76. package/dist/es/node_modules/@ant-design/icons-svg/es/asn/SettingOutlined.js +5 -0
  77. package/dist/es/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +7 -0
  78. package/dist/es/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +5 -0
  79. package/dist/es/node_modules/@babel/runtime/helpers/esm/defineProperty.js +18 -0
  80. package/dist/es/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +29 -0
  81. package/dist/es/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +5 -0
  82. package/dist/es/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +25 -0
  83. package/dist/es/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +19 -0
  84. package/dist/es/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +14 -0
  85. package/dist/es/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +10 -0
  86. package/dist/es/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +14 -0
  87. package/dist/es/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +9 -0
  88. package/dist/es/node_modules/@babel/runtime/helpers/esm/typeof.js +11 -0
  89. package/dist/es/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +12 -0
  90. package/dist/es/node_modules/@ctrl/tinycolor/dist/module/conversion.js +150 -0
  91. package/dist/es/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js +156 -0
  92. package/dist/es/node_modules/@ctrl/tinycolor/dist/module/format-input.js +186 -0
  93. package/dist/es/node_modules/@ctrl/tinycolor/dist/module/util.js +77 -0
  94. package/dist/es/node_modules/@react-dnd/asap/dist/AsapQueue.js +140 -0
  95. package/dist/es/node_modules/@react-dnd/asap/dist/RawTask.js +20 -0
  96. package/dist/es/node_modules/@react-dnd/asap/dist/TaskFactory.js +17 -0
  97. package/dist/es/node_modules/@react-dnd/asap/dist/asap.js +17 -0
  98. package/dist/es/node_modules/@react-dnd/asap/dist/makeRequestCall.js +77 -0
  99. package/dist/es/node_modules/@react-dnd/invariant/dist/index.js +36 -0
  100. package/dist/es/node_modules/@react-dnd/shallowequal/dist/index.js +34 -0
  101. package/dist/es/node_modules/classnames/index.js +64 -0
  102. package/dist/es/node_modules/dnd-core/dist/actions/dragDrop/beginDrag.js +85 -0
  103. package/dist/es/node_modules/dnd-core/dist/actions/dragDrop/drop.js +74 -0
  104. package/dist/es/node_modules/dnd-core/dist/actions/dragDrop/endDrag.js +24 -0
  105. package/dist/es/node_modules/dnd-core/dist/actions/dragDrop/hover.js +57 -0
  106. package/dist/es/node_modules/dnd-core/dist/actions/dragDrop/index.js +17 -0
  107. package/dist/es/node_modules/dnd-core/dist/actions/dragDrop/local/setClientOffset.js +13 -0
  108. package/dist/es/node_modules/dnd-core/dist/actions/dragDrop/publishDragSource.js +15 -0
  109. package/dist/es/node_modules/dnd-core/dist/actions/dragDrop/types.js +8 -0
  110. package/dist/es/node_modules/dnd-core/dist/actions/registry.js +38 -0
  111. package/dist/es/node_modules/dnd-core/dist/classes/DragDropManagerImpl.js +57 -0
  112. package/dist/es/node_modules/dnd-core/dist/classes/DragDropMonitorImpl.js +153 -0
  113. package/dist/es/node_modules/dnd-core/dist/classes/HandlerRegistryImpl.js +130 -0
  114. package/dist/es/node_modules/dnd-core/dist/contracts.js +22 -0
  115. package/dist/es/node_modules/dnd-core/dist/createDragDropManager.js +25 -0
  116. package/dist/es/node_modules/dnd-core/dist/interfaces.js +7 -0
  117. package/dist/es/node_modules/dnd-core/dist/reducers/dirtyHandlerIds.js +45 -0
  118. package/dist/es/node_modules/dnd-core/dist/reducers/dragOffset.js +62 -0
  119. package/dist/es/node_modules/dnd-core/dist/reducers/dragOperation.js +90 -0
  120. package/dist/es/node_modules/dnd-core/dist/reducers/index.js +51 -0
  121. package/dist/es/node_modules/dnd-core/dist/reducers/refCount.js +16 -0
  122. package/dist/es/node_modules/dnd-core/dist/reducers/stateId.js +5 -0
  123. package/dist/es/node_modules/dnd-core/dist/utils/coords.js +47 -0
  124. package/dist/es/node_modules/dnd-core/dist/utils/dirtiness.js +23 -0
  125. package/dist/es/node_modules/dnd-core/dist/utils/equality.js +32 -0
  126. package/dist/es/node_modules/dnd-core/dist/utils/getNextUniqueId.js +6 -0
  127. package/dist/es/node_modules/dnd-core/dist/utils/js_utils.js +51 -0
  128. package/dist/es/node_modules/dnd-core/dist/utils/matchesType.js +9 -0
  129. package/dist/es/node_modules/fast-deep-equal/index.js +50 -0
  130. package/dist/es/node_modules/immutability-helper/index.js +259 -0
  131. package/dist/es/node_modules/rc-picker/es/generate/dayjs.js +219 -0
  132. package/dist/es/node_modules/rc-util/es/Dom/canUseDom.js +5 -0
  133. package/dist/es/node_modules/rc-util/es/Dom/contains.js +22 -0
  134. package/dist/es/node_modules/rc-util/es/Dom/dynamicCSS.js +116 -0
  135. package/dist/es/node_modules/rc-util/es/warning.js +54 -0
  136. package/dist/es/node_modules/react-dnd/dist/core/DndContext.js +9 -0
  137. package/dist/es/node_modules/react-dnd/dist/core/DndProvider.js +92 -0
  138. package/dist/es/node_modules/react-dnd/dist/hooks/useCollectedProps.js +9 -0
  139. package/dist/es/node_modules/react-dnd/dist/hooks/useCollector.js +38 -0
  140. package/dist/es/node_modules/react-dnd/dist/hooks/useDrag/DragSourceImpl.js +49 -0
  141. package/dist/es/node_modules/react-dnd/dist/hooks/useDrag/connectors.js +16 -0
  142. package/dist/es/node_modules/react-dnd/dist/hooks/useDrag/useDrag.js +26 -0
  143. package/dist/es/node_modules/react-dnd/dist/hooks/useDrag/useDragSource.js +18 -0
  144. package/dist/es/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceConnector.js +33 -0
  145. package/dist/es/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceMonitor.js +13 -0
  146. package/dist/es/node_modules/react-dnd/dist/hooks/useDrag/useDragType.js +14 -0
  147. package/dist/es/node_modules/react-dnd/dist/hooks/useDrag/useRegisteredDragSource.js +28 -0
  148. package/dist/es/node_modules/react-dnd/dist/hooks/useDragDropManager.js +13 -0
  149. package/dist/es/node_modules/react-dnd/dist/hooks/useDrop/DropTargetImpl.js +28 -0
  150. package/dist/es/node_modules/react-dnd/dist/hooks/useDrop/connectors.js +10 -0
  151. package/dist/es/node_modules/react-dnd/dist/hooks/useDrop/useAccept.js +20 -0
  152. package/dist/es/node_modules/react-dnd/dist/hooks/useDrop/useDrop.js +23 -0
  153. package/dist/es/node_modules/react-dnd/dist/hooks/useDrop/useDropTarget.js +17 -0
  154. package/dist/es/node_modules/react-dnd/dist/hooks/useDrop/useDropTargetConnector.js +23 -0
  155. package/dist/es/node_modules/react-dnd/dist/hooks/useDrop/useDropTargetMonitor.js +13 -0
  156. package/dist/es/node_modules/react-dnd/dist/hooks/useDrop/useRegisteredDropTarget.js +26 -0
  157. package/dist/es/node_modules/react-dnd/dist/hooks/useIsomorphicLayoutEffect.js +6 -0
  158. package/dist/es/node_modules/react-dnd/dist/hooks/useMonitorOutput.js +23 -0
  159. package/dist/es/node_modules/react-dnd/dist/hooks/useOptionalFactory.js +15 -0
  160. package/dist/es/node_modules/react-dnd/dist/internals/DragSourceMonitorImpl.js +93 -0
  161. package/dist/es/node_modules/react-dnd/dist/internals/DropTargetMonitorImpl.js +68 -0
  162. package/dist/es/node_modules/react-dnd/dist/internals/SourceConnector.js +157 -0
  163. package/dist/es/node_modules/react-dnd/dist/internals/TargetConnector.js +89 -0
  164. package/dist/es/node_modules/react-dnd/dist/internals/isRef.js +6 -0
  165. package/dist/es/node_modules/react-dnd/dist/internals/registration.js +18 -0
  166. package/dist/es/node_modules/react-dnd/dist/internals/wrapConnectorHooks.js +74 -0
  167. package/dist/es/node_modules/react-dnd-html5-backend/dist/BrowserDetector.js +8 -0
  168. package/dist/es/node_modules/react-dnd-html5-backend/dist/EnterLeaveCounter.js +27 -0
  169. package/dist/es/node_modules/react-dnd-html5-backend/dist/HTML5BackendImpl.js +572 -0
  170. package/dist/es/node_modules/react-dnd-html5-backend/dist/MonotonicInterpolant.js +86 -0
  171. package/dist/es/node_modules/react-dnd-html5-backend/dist/NativeDragSources/NativeDragSource.js +50 -0
  172. package/dist/es/node_modules/react-dnd-html5-backend/dist/NativeDragSources/getDataFromDataTransfer.js +7 -0
  173. package/dist/es/node_modules/react-dnd-html5-backend/dist/NativeDragSources/index.js +28 -0
  174. package/dist/es/node_modules/react-dnd-html5-backend/dist/NativeDragSources/nativeTypesConfig.js +52 -0
  175. package/dist/es/node_modules/react-dnd-html5-backend/dist/NativeTypes.js +6 -0
  176. package/dist/es/node_modules/react-dnd-html5-backend/dist/OffsetUtils.js +100 -0
  177. package/dist/es/node_modules/react-dnd-html5-backend/dist/OptionsReader.js +31 -0
  178. package/dist/es/node_modules/react-dnd-html5-backend/dist/index.js +7 -0
  179. package/dist/es/node_modules/react-dnd-html5-backend/dist/utils/js_utils.js +30 -0
  180. package/dist/es/node_modules/redux/es/redux.js +383 -0
  181. package/dist/es/pagination/index.d.ts +5 -0
  182. package/dist/es/pagination/index.js +5 -0
  183. package/dist/es/pagination/pagination.d.ts +8 -0
  184. package/dist/es/pagination/pagination.js +12 -0
  185. package/dist/es/protectedroute/index.d.ts +14 -0
  186. package/dist/es/protectedroute/index.js +17 -0
  187. package/dist/es/suspensecomponent/index.d.ts +9 -0
  188. package/dist/es/suspensecomponent/index.js +10 -0
  189. package/dist/es/table/components/CopyIcon.js +10 -0
  190. package/dist/es/table/components/EnhanceCell.js +48 -0
  191. package/dist/es/table/components/EnhanceRow.js +11 -0
  192. package/dist/es/table/components/hooks.js +24 -0
  193. package/dist/es/table/constant.js +3 -0
  194. package/dist/es/table/hooks.js +24 -0
  195. package/dist/es/table/index.d.ts +5 -0
  196. package/dist/es/table/index.js +5 -0
  197. package/dist/es/table/interface.d.ts +43 -0
  198. package/dist/es/table/table.d.ts +5 -0
  199. package/dist/es/table/table.js +60 -0
  200. package/dist/es/table/useColumns.js +48 -0
  201. package/dist/es/table/useDynamicListByColumns.js +47 -0
  202. package/dist/es/table/utils.js +82 -0
  203. package/dist/es/timepicker/index.d.ts +9 -0
  204. package/dist/es/timepicker/index.js +11 -0
  205. package/dist/index.build.d.ts +19 -0
  206. package/dist/index.dark.css +2 -0
  207. package/dist/index.default.css +2 -0
  208. package/dist/index.es.js +19 -0
  209. package/dist/index.umd.js +6 -0
  210. package/package.json +103 -0
@@ -0,0 +1,50 @@
1
+ import { useState, useCallback } from 'react';
2
+ import { getSetDynamicKey } from './useDynamic.js';
3
+
4
+ function useDrawer(currentDynamicList, setCurrentDynamicList, dynamicKey, parentDynamicKey, setTempDynamicList, list, onCurrentListChange) {
5
+ // 控制抽屉显示隐藏
6
+ var _a = useState(false), visible = _a[0], setVisible = _a[1];
7
+ // 设置缓存数据的方法
8
+ var setDynamicKey = useCallback(function () {
9
+ return getSetDynamicKey(parentDynamicKey, "".concat(parentDynamicKey, "_lru_key"));
10
+ }, [parentDynamicKey]);
11
+ // 关闭
12
+ var onClose = useCallback(function () {
13
+ setVisible(false);
14
+ setTempDynamicList(currentDynamicList);
15
+ }, [setTempDynamicList, currentDynamicList]);
16
+ // 重置 (回到用户配置状态)
17
+ var onReset = useCallback(function () {
18
+ setVisible(false);
19
+ setCurrentDynamicList(list);
20
+ onCurrentListChange(list);
21
+ setTempDynamicList(list);
22
+ setDynamicKey()(dynamicKey, list);
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, [
25
+ list,
26
+ setCurrentDynamicList,
27
+ dynamicKey,
28
+ setDynamicKey,
29
+ setTempDynamicList,
30
+ ]);
31
+ // 确认修改
32
+ var onSure = useCallback(function (newList) {
33
+ setVisible(false);
34
+ setCurrentDynamicList(newList);
35
+ setTempDynamicList(newList);
36
+ onCurrentListChange(newList);
37
+ setDynamicKey()(dynamicKey, newList);
38
+ },
39
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
+ [setCurrentDynamicList, dynamicKey, setDynamicKey, setTempDynamicList]);
41
+ return {
42
+ visible: visible,
43
+ setVisible: setVisible,
44
+ onClose: onClose,
45
+ onReset: onReset,
46
+ onSure: onSure,
47
+ };
48
+ }
49
+
50
+ export { useDrawer };
@@ -0,0 +1,5 @@
1
+ import _default from './dynamicSetting.js';
2
+
3
+
4
+
5
+ export { _default as default };
@@ -0,0 +1,5 @@
1
+ import DynamicSetting from './dynamicSetting.js';
2
+
3
+
4
+
5
+ export { DynamicSetting as default };
@@ -0,0 +1,18 @@
1
+ interface IDynamicItem {
2
+ key: string;
3
+ label?: React.ReactNode;
4
+ disabled?: boolean;
5
+ checked?: boolean;
6
+ [props: string]: any;
7
+ }
8
+ interface IDynamicSettingProps {
9
+ parentDynamicKey: string;
10
+ dynamicKey: string;
11
+ defaultList: IDynamicItem[];
12
+ onCurrentListChange?: (currentList: IDynamicItem[]) => void;
13
+ children?: JSX.Element;
14
+ title?: string;
15
+ hiddenOperationIcon?: boolean;
16
+ }
17
+
18
+ export { IDynamicItem, IDynamicSettingProps };
@@ -0,0 +1,68 @@
1
+ import { __assign } from '../_virtual/_tslib.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useRef } from 'react';
4
+ import classNames from '../node_modules/classnames/index.js';
5
+ import { useDrop } from '../node_modules/react-dnd/dist/hooks/useDrop/useDrop.js';
6
+ import { useDrag } from '../node_modules/react-dnd/dist/hooks/useDrag/useDrag.js';
7
+
8
+ var Sortable = function (_a) {
9
+ var type = _a.type, onMoveItem = _a.onMoveItem, index = _a.index, id = _a.id, children = _a.children, style = _a.style, className = _a.className;
10
+ var ref = useRef(null);
11
+ var classes = classNames("zt-sortable", className, {});
12
+ /**
13
+ * @description 定义可放置对象
14
+ */
15
+ var _b = useDrop({
16
+ accept: type,
17
+ hover: function (item, monitor) {
18
+ var _a;
19
+ if (!ref.current) {
20
+ return;
21
+ }
22
+ // 当前拖动项索引
23
+ var dragIndex = item.index;
24
+ // 当前放置位置索引
25
+ var hoverIndex = index;
26
+ // 不要将项目本身替换
27
+ if (dragIndex === hoverIndex) {
28
+ return;
29
+ }
30
+ // 获取当前项的位置信息
31
+ var hoverBoundingRect = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
32
+ // 元素高度的一半
33
+ var hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
34
+ // 确定鼠标位置
35
+ var clientOffset = monitor.getClientOffset();
36
+ // 鼠标位置纵坐标 与 当前hover元素顶部位置差
37
+ var hoverClientY = clientOffset.y - hoverBoundingRect.top;
38
+ // 临界值判断
39
+ // 如果当前拖拽元素本身在当前放置元素之上 并且 鼠标位置与当前放置元素之差 要小于中间位置
40
+ if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {
41
+ return;
42
+ }
43
+ // 如果当前拖拽元素本身在当前放置元素之下 并且鼠标位置与当前放置元素之差要 大于 中间位置
44
+ if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {
45
+ return;
46
+ }
47
+ onMoveItem(dragIndex, hoverIndex);
48
+ item.index = hoverIndex;
49
+ },
50
+ }), drop = _b[1];
51
+ /**
52
+ * @description 定义可拖动对象
53
+ */
54
+ var _c = useDrag({
55
+ type: type,
56
+ item: function () {
57
+ return { id: id, index: index };
58
+ },
59
+ collect: function (monitor) { return ({
60
+ isDragging: monitor.isDragging(),
61
+ }); },
62
+ }), isDragging = _c[0].isDragging, drag = _c[1];
63
+ var opacity = isDragging ? 0 : 1;
64
+ drag(drop(ref));
65
+ return (jsx("div", __assign({ ref: ref, className: classes, style: __assign(__assign({}, style), { opacity: opacity }) }, { children: children })));
66
+ };
67
+
68
+ export { Sortable as default };
@@ -0,0 +1,125 @@
1
+ import { __assign } from '../_virtual/_tslib.js';
2
+ import { useMemo, useState, useEffect } from 'react';
3
+
4
+ var LOCALSTORAGE_LRU_MAX_SIZE = 500;
5
+ // 从缓存中 取到缓存的数据
6
+ function getCurrentDynamicItems(dynamicKey, parentDynamicKey, list) {
7
+ if (dynamicKey && parentDynamicKey && Array.isArray(list)) {
8
+ // 从storage中取到历史数据
9
+ var dynamicList = [];
10
+ try {
11
+ var obj = JSON.parse(localStorage.getItem(parentDynamicKey) || "{}") || {};
12
+ dynamicList = obj[dynamicKey];
13
+ }
14
+ catch (err) {
15
+ console.log(err);
16
+ }
17
+ var currentDynamicList_1 = Array.isArray(dynamicList) && dynamicList.length > 0 ? dynamicList : [];
18
+ // 如果缓存中没值的话,那么直接取当前配置相关字段
19
+ if (!dynamicList || dynamicList.length === 0) {
20
+ // 如果缓存中没值,那么以传入的配置为准
21
+ list.forEach(function (item) {
22
+ var result = __assign(__assign({}, item), { checked: item.checked !== undefined ? item.checked : true });
23
+ currentDynamicList_1.push(__assign(__assign({}, result), { isFind: true }));
24
+ });
25
+ }
26
+ else {
27
+ // 如果缓存中有值,那么以缓存中的值为准
28
+ list.forEach(function (item, index) {
29
+ var result = __assign({ checked: true }, item);
30
+ // 将最新的名字等同步
31
+ // 如果之前有数据,那么需要验证数据的准确性,比如修改了名字但是key没替换
32
+ var currentData = currentDynamicList_1.find(function (currentDynamic) { return currentDynamic.key === result.key; });
33
+ if (currentData) {
34
+ currentData.isFind = true; // 代表当前这个字段被找到
35
+ }
36
+ else {
37
+ // 没有从之前的字段中被找到的话,说明是业务新增的 需要添加上
38
+ currentDynamicList_1.push(__assign(__assign({}, result), { isFind: true }));
39
+ }
40
+ });
41
+ }
42
+ // 最终需要过滤掉 没从传入配置中找到的字段
43
+ // 如果没从传入配置中找到改字段 说明 该字段已经被业务弃用删除了
44
+ return currentDynamicList_1
45
+ .filter(function (item) { return item.isFind; })
46
+ .map(function (item) {
47
+ var result = __assign({}, item);
48
+ Reflect.deleteProperty(result, "isFind");
49
+ return result;
50
+ });
51
+ }
52
+ return [];
53
+ }
54
+ /**
55
+ * @description 将动态配置存在本地存储中
56
+ * @param dynamicStorageKey 保留的key值
57
+ * @param value 值
58
+ */
59
+ function getSetDynamicKey(LOCALSTORAGE_KEY, LOCALSTORAGE_LRU_KEY) {
60
+ return function (dynamicStorageKey, value) {
61
+ var obj = {};
62
+ var lruKeys = [];
63
+ try {
64
+ obj = JSON.parse(localStorage.getItem(LOCALSTORAGE_KEY) || "{}") || {};
65
+ lruKeys =
66
+ JSON.parse(localStorage.getItem(LOCALSTORAGE_LRU_KEY) || "[]") || [];
67
+ }
68
+ catch (err) {
69
+ console.error(err);
70
+ }
71
+ // 需要初始化lru排序数据
72
+ if (lruKeys.length !== Object.keys(obj).length) {
73
+ lruKeys = Object.keys(obj);
74
+ }
75
+ // 设置值之前,先判断是否满足LRU条件,最后面的最新鲜
76
+ var currentKeyIndex = lruKeys.findIndex(function (lruKey) { return lruKey === dynamicStorageKey; });
77
+ // 如果新增key本身就在原keys里面,那删除原key,将原key添加最新鲜的位置
78
+ // 如果不在原keys里面,那么直接添加到最新鲜的位置
79
+ if (currentKeyIndex !== -1) {
80
+ lruKeys.splice(currentKeyIndex, 1);
81
+ lruKeys.push(dynamicStorageKey);
82
+ }
83
+ else {
84
+ lruKeys.push(dynamicStorageKey);
85
+ }
86
+ var length = lruKeys.length;
87
+ // 长度是否有问题
88
+ // 如果长度大于最大可存储长度,那么删除最老旧的元素
89
+ // 把对象里面存储的最老旧元素清除
90
+ if (length > LOCALSTORAGE_LRU_MAX_SIZE) {
91
+ var oldKey = lruKeys.shift();
92
+ try {
93
+ delete obj[oldKey];
94
+ }
95
+ catch (err) {
96
+ //
97
+ }
98
+ }
99
+ obj[dynamicStorageKey] = value;
100
+ localStorage.setItem(LOCALSTORAGE_KEY, JSON.stringify(obj));
101
+ localStorage.setItem(LOCALSTORAGE_LRU_KEY, JSON.stringify(lruKeys));
102
+ };
103
+ }
104
+ function useDynamic(dynamicKey, parentDynamicKey, list) {
105
+ // 内部可操作的动态列配置
106
+ var currentDynamicListMemo = useMemo(function () {
107
+ return getCurrentDynamicItems(dynamicKey, parentDynamicKey, list);
108
+ }, [dynamicKey, parentDynamicKey, list]);
109
+ var _a = useState(currentDynamicListMemo), currentDynamicList = _a[0], setCurrentDynamicList = _a[1];
110
+ var _b = useState(currentDynamicListMemo), tempDynamicList = _b[0], setTempDynamicList = _b[1];
111
+ useEffect(function () {
112
+ if (currentDynamicListMemo) {
113
+ setCurrentDynamicList(currentDynamicListMemo);
114
+ setTempDynamicList(currentDynamicListMemo);
115
+ }
116
+ }, [currentDynamicListMemo]);
117
+ return {
118
+ currentDynamicList: currentDynamicList,
119
+ setCurrentDynamicList: setCurrentDynamicList,
120
+ tempDynamicList: tempDynamicList,
121
+ setTempDynamicList: setTempDynamicList,
122
+ };
123
+ }
124
+
125
+ export { getCurrentDynamicItems, getSetDynamicKey, useDynamic };
@@ -0,0 +1,6 @@
1
+ import React__default from 'react';
2
+ import { IFooterProps } from './interface.js';
3
+
4
+ declare const _default: React__default.NamedExoticComponent<IFooterProps>;
5
+
6
+ export { _default as default };
@@ -0,0 +1,37 @@
1
+ import { __assign } from '../_virtual/_tslib.js';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { memo } from 'react';
4
+ import classNames from '../node_modules/classnames/index.js';
5
+ import Button from '../button/button.js';
6
+ import Pagination from '../pagination/pagination.js';
7
+
8
+ var defaultPageSizeOptions = ["10", "20", "30", "100"];
9
+ var Footer = function (props) {
10
+ console.log("渲染");
11
+ var children = props.children, className = props.className, _a = props.align, align = _a === void 0 ? "left" : _a, footerDom = props.footerDom;
12
+ var classes = classNames("ztxk-footer", className);
13
+ return (jsx("footer", __assign({ className: classes, style: {
14
+ justifyContent: align === "left"
15
+ ? "flex-start"
16
+ : align === "center"
17
+ ? "center"
18
+ : "flex-end",
19
+ } }, { children: footerDom ? (jsxs("div", __assign({ className: "ztxk-footer--group" }, { children: [footerDom.map(function (item, index) {
20
+ var DOMType = item.DOMType, render = item.render;
21
+ if (DOMType === "button") {
22
+ var type = item.type, loading = item.loading, disabled = item.disabled, onClick = item.onClick;
23
+ return (jsx(Button, __assign({ type: type, loading: loading, disabled: disabled, onClick: onClick }, { children: item.text }), index));
24
+ }
25
+ if (DOMType === "pagination") {
26
+ var total = item.total, pageSize = item.pageSize, current = item.current, onChange = item.onChange, onShowSizeChange = item.onShowSizeChange, pageSizeOptions = item.pageSizeOptions;
27
+ return (jsx(Pagination, { total: total, pageSize: pageSize, current: current, onChange: onChange, onShowSizeChange: onShowSizeChange, showTotal: function (total) { return "\u5171".concat(total, "\u6761"); }, showSizeChanger: true, pageSizeOptions: pageSizeOptions ? pageSizeOptions : defaultPageSizeOptions }, index));
28
+ }
29
+ if (render) {
30
+ return render();
31
+ }
32
+ return null;
33
+ }), children] }))) : null })));
34
+ };
35
+ var Footer$1 = memo(Footer);
36
+
37
+ export { Footer$1 as default };
@@ -0,0 +1,5 @@
1
+ import _default from './footer.js';
2
+
3
+
4
+
5
+ export { _default as default };
@@ -0,0 +1,5 @@
1
+ import Footer from './footer.js';
2
+
3
+
4
+
5
+ export { Footer as default };
@@ -0,0 +1,33 @@
1
+ import { ButtonType } from 'antd/lib/button';
2
+
3
+ interface IPagination {
4
+ total: number;
5
+ pageSize: number;
6
+ current: number;
7
+ onChange: (page: number, pageSize: number | undefined) => void;
8
+ onShowSizeChange?: (current: number, size: number) => void;
9
+ pageSizeOptions?: any;
10
+ }
11
+ interface IBtn {
12
+ type?: ButtonType;
13
+ text: React.ReactNode;
14
+ loading?: boolean;
15
+ disabled?: boolean;
16
+ onClick: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) | undefined;
17
+ }
18
+ interface IDropdown {
19
+ text: string;
20
+ overlay: any;
21
+ }
22
+ interface IFooterDom extends Partial<IPagination & IBtn & IDropdown> {
23
+ DOMType?: "button" | "pagination" | "dropdown";
24
+ render?: () => React.ReactElement;
25
+ }
26
+ interface IFooterProps {
27
+ children?: React.ReactNode;
28
+ className?: string;
29
+ align?: "left" | "center" | "right";
30
+ footerDom?: IFooterDom[] | null;
31
+ }
32
+
33
+ export { IFooterDom, IFooterProps };
@@ -0,0 +1,9 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { Modal } from 'antd';
3
+
4
+ var ForgetPassword = function () {
5
+ return jsx(Modal, {});
6
+ };
7
+ ForgetPassword.displayName = "ZTXK_WEBUI_ForgetPassword";
8
+
9
+ export { ForgetPassword as default };
@@ -0,0 +1,5 @@
1
+ import ForgetPassword from './forgetPassword.js';
2
+
3
+
4
+
5
+ export { ForgetPassword as default };
@@ -0,0 +1,16 @@
1
+ import React__default from 'react';
2
+ import { Form } from 'antd';
3
+ import { IProFormProps } from './interface.js';
4
+
5
+ interface FormComponent extends React__default.FC<IProFormProps> {
6
+ useForm: typeof Form.useForm;
7
+ Item: typeof Form.Item;
8
+ List: typeof Form.List;
9
+ ErrorList: typeof Form.ErrorList;
10
+ Provider: typeof Form.Provider;
11
+ useFormInstance: typeof Form.useFormInstance;
12
+ useWatch: typeof Form.useWatch;
13
+ }
14
+ declare const MemoForm: FormComponent;
15
+
16
+ export { MemoForm as default };
@@ -0,0 +1,89 @@
1
+ import { __rest, __assign } from '../_virtual/_tslib.js';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { memo, useMemo, useCallback } from 'react';
4
+ import { Form as Form$1 } from 'antd';
5
+ import classNames from '../node_modules/classnames/index.js';
6
+ import { useFormConfigInfoCreateNewItems, useDynamicListByItems, useBtnHandle } from './hooks.js';
7
+ import FormItems from './formItems.js';
8
+ import DynamicSetting from '../dynamicsetting/dynamicSetting.js';
9
+ import Button from '../button/button.js';
10
+
11
+ var FORM_DYNAMIC_KEY = "ztxk-webui-dynamic-form";
12
+ // 动态列配置 与 表单配置 是否存在冲突?
13
+ // 如果配置了动态列配置
14
+ // 表单配置是否就不需要了
15
+ // 如果两者同时存在 是否不需要动态列配置了呢?
16
+ // 如果两者同时存在
17
+ // 用户配置优先,先从远端获取到 表单配置信息。
18
+ // 给子元素设置好了表单配置信息后 接下来的内容 交给动态列配置接管
19
+ var Form = function (props) {
20
+ var form = props.form, bottomBorder = props.bottomBorder, _a = props.isFlex, isFlex = _a === void 0 ? true : _a, wrapClassName = props.wrapClassName, leftClassName = props.leftClassName; props.itemClassName; var rightWrapVisible = props.rightWrapVisible, rightClassName = props.rightClassName, children = props.children, dynamicKey = props.dynamicKey, formConfigInfo = props.formConfigInfo, items = props.items, outsideState = props.outsideState, onValuesChange = props.onValuesChange, onResetHandle = props.onResetHandle, onSearchHandle = props.onSearchHandle, restProps = __rest(props, ["form", "bottomBorder", "isFlex", "wrapClassName", "leftClassName", "itemClassName", "rightWrapVisible", "rightClassName", "children", "dynamicKey", "formConfigInfo", "items", "outsideState", "onValuesChange", "onResetHandle", "onSearchHandle"]);
21
+ // 获取新的items
22
+ var configInfoItems = useFormConfigInfoCreateNewItems(formConfigInfo, items).configInfoItems;
23
+ // 根据items 和 dynamicKey 获取到动态列配置信息
24
+ var _b = useDynamicListByItems(configInfoItems, dynamicKey, formConfigInfo), dynamicList = _b.dynamicList, onCurrentListChange = _b.onCurrentListChange, newItems = _b.newItems, dynamicSettingRef = _b.dynamicSettingRef;
25
+ // 主容器类名
26
+ var wrapClasses = classNames("ztxk-form", wrapClassName, {
27
+ "ztxk-form--bottom-border": bottomBorder,
28
+ });
29
+ // 左容器类名
30
+ var leftClasses = classNames("ztxk-form__left", leftClassName, {
31
+ "ztxk-form__left--flex": isFlex,
32
+ });
33
+ // 右容器类名
34
+ var rightClasses = classNames("ztxk-form__right", rightClassName);
35
+ // 获取依赖项关联
36
+ var itemsShouldUpdate = useMemo(function () {
37
+ var result = {};
38
+ if (items) {
39
+ for (var i = 0; i < items.length; i++) {
40
+ var item = items[i];
41
+ if (typeof item.name === "string" &&
42
+ item.shouldUpdateNames &&
43
+ item.shouldUpdateClear) {
44
+ result[item.name] =
45
+ typeof item.shouldUpdateClear === "boolean"
46
+ ? item.shouldUpdateNames
47
+ : item.shouldUpdateClear;
48
+ }
49
+ }
50
+ }
51
+ return result;
52
+ }, [items]);
53
+ // 依赖关系发生改变 是否需要清空依赖项逻辑
54
+ var onValuesChangeHandle = useCallback(function (changedValues, allValues) {
55
+ if (changedValues) {
56
+ var keys_1 = Object.keys(changedValues);
57
+ var nameKeys = Object.keys(itemsShouldUpdate);
58
+ nameKeys.forEach(function (nameKey) {
59
+ var _a;
60
+ var _b;
61
+ var shouldUpdateClear = itemsShouldUpdate[nameKey]
62
+ ? itemsShouldUpdate[nameKey]
63
+ : [];
64
+ if (keys_1.find(function (key) { return shouldUpdateClear.includes(key); })) {
65
+ (_b = form === null || form === void 0 ? void 0 : form.setFieldsValue) === null || _b === void 0 ? void 0 : _b.call(form, (_a = {},
66
+ _a[nameKey] = undefined,
67
+ _a));
68
+ }
69
+ });
70
+ }
71
+ onValuesChange && onValuesChange(changedValues, allValues);
72
+ }, [onValuesChange, itemsShouldUpdate, form]);
73
+ var _c = useBtnHandle(form, {
74
+ onSearchHandle: onSearchHandle,
75
+ onResetHandle: onResetHandle,
76
+ }), onSearchHandleInner = _c.onSearchHandleInner, onResetHandleInner = _c.onResetHandleInner;
77
+ return (jsxs(Form$1, __assign({ form: form, onValuesChange: onValuesChangeHandle }, restProps, { className: wrapClasses }, { children: [jsx("div", __assign({ className: leftClasses }, { children: items ? (jsx(FormItems, { items: dynamicKey ? newItems : configInfoItems, outsideState: outsideState })) : (children) })), dynamicKey ? (jsx(DynamicSetting, { dynamicKey: dynamicKey, parentDynamicKey: FORM_DYNAMIC_KEY, defaultList: dynamicList, onCurrentListChange: onCurrentListChange, ref: dynamicSettingRef })) : null, rightWrapVisible ? (jsxs("div", __assign({ className: rightClasses }, { children: [jsx(Button, __assign({ type: "default", onClick: onResetHandleInner }, { children: "\u91CD\u7F6E" })), jsx(Button, __assign({ type: "primary", onClick: onSearchHandleInner }, { children: "\u67E5\u8BE2" }))] }))) : null] })));
78
+ };
79
+ var MemoForm = memo(Form);
80
+ MemoForm.displayName = "ZTXK_WEBUI_Form";
81
+ MemoForm.useForm = Form$1.useForm;
82
+ MemoForm.Item = Form$1.Item;
83
+ MemoForm.List = Form$1.List;
84
+ MemoForm.ErrorList = Form$1.ErrorList;
85
+ MemoForm.Provider = Form$1.Provider;
86
+ MemoForm.useFormInstance = Form$1.useFormInstance;
87
+ MemoForm.useWatch = Form$1.useWatch;
88
+
89
+ export { FORM_DYNAMIC_KEY, MemoForm as default };
@@ -0,0 +1,14 @@
1
+ import { __assign } from '../_virtual/_tslib.js';
2
+ import { jsx, Fragment } from 'react/jsx-runtime';
3
+ import FormItem from '../formitem/formItem.js';
4
+
5
+ var FormItems = function (props) {
6
+ var items = props.items, outsideState = props.outsideState;
7
+ return (jsx(Fragment, { children: Array.isArray(items)
8
+ ? items === null || items === void 0 ? void 0 : items.map(function (item, index) {
9
+ return (jsx(FormItem, __assign({ index: index }, item, { outsideState: outsideState }), "".concat(item.name)));
10
+ })
11
+ : null }));
12
+ };
13
+
14
+ export { FormItems as default };
@@ -0,0 +1,105 @@
1
+ import { __assign } from '../_virtual/_tslib.js';
2
+ import { useMemo, useRef, useEffect, useState, useCallback } from 'react';
3
+ import { getCurrentDynamicItems } from '../dynamicsetting/useDynamic.js';
4
+ import { FORM_DYNAMIC_KEY } from './form.js';
5
+
6
+ // 根据表单配置信息 及 表单项items 生成新的表单项items
7
+ function useFormConfigInfoCreateNewItems(formConfigInfo, items) {
8
+ var configInfoItems = useMemo(function () {
9
+ if (formConfigInfo) {
10
+ return items === null || items === void 0 ? void 0 : items.map(function (item) {
11
+ var _a, _b, _c;
12
+ var name = item.name, configName = item.configName;
13
+ var key = configName || name;
14
+ return __assign(__assign({}, item), { isDisplay: (_a = formConfigInfo[key]) === null || _a === void 0 ? void 0 : _a.isDisplay, isRequired: (_b = formConfigInfo[key]) === null || _b === void 0 ? void 0 : _b.isRequired, isChangeable: (_c = formConfigInfo[key]) === null || _c === void 0 ? void 0 : _c.isChangeable });
15
+ });
16
+ }
17
+ return items;
18
+ }, [formConfigInfo, items]);
19
+ return { configInfoItems: configInfoItems };
20
+ }
21
+ // 根据新的表单项items 经过 dynamic处理后 得到最新的配置信息
22
+ function useDynamicListByItems(items, dynamicKey, formConfigInfo) {
23
+ // 动态列配置手动刷新基础配置
24
+ var dynamicSettingRef = useRef({});
25
+ // 根据子元素生成动态列配置信息
26
+ var dynamicList = useMemo(function () {
27
+ var result = [];
28
+ if (dynamicKey && items) {
29
+ result = items.map(function (item) {
30
+ var name = item.name, label = item.label, dynamicDisabled = item.dynamicDisabled, isDisplay = item.isDisplay;
31
+ return {
32
+ key: name,
33
+ label: label,
34
+ disabled: dynamicDisabled === true ? true : false,
35
+ // 如果用户传入了 isDisplay
36
+ // 如果缓存中有值,还是以缓存为主
37
+ // 如果缓存中无值,那么以这个传入的为主
38
+ checked: isDisplay === false ? false : true,
39
+ };
40
+ });
41
+ }
42
+ return result;
43
+ }, [dynamicKey, items]);
44
+ // 如果表单配置信息发生改变,那么重置下初始化值
45
+ useEffect(function () {
46
+ var _a, _b;
47
+ if (formConfigInfo && dynamicKey) {
48
+ (_b = (_a = dynamicSettingRef.current) === null || _a === void 0 ? void 0 : _a.setList) === null || _b === void 0 ? void 0 : _b.call(_a, dynamicList);
49
+ }
50
+ // eslint-disable-next-line react-hooks/exhaustive-deps
51
+ }, [formConfigInfo, dynamicKey]);
52
+ // 变化的动态列配置信息
53
+ var _a = useState(function () {
54
+ return getCurrentDynamicItems(dynamicKey, FORM_DYNAMIC_KEY, dynamicList);
55
+ }), currentDynamicList = _a[0], setCurrentDynamicList = _a[1];
56
+ var onCurrentListChange = useCallback(function (newDynamicList) {
57
+ setCurrentDynamicList(newDynamicList);
58
+ }, []);
59
+ // 获取新的子元素
60
+ var newItems = useMemo(function () {
61
+ var result = [];
62
+ if (Array.isArray(currentDynamicList) && currentDynamicList.length > 0) {
63
+ currentDynamicList.forEach(function (item) {
64
+ var key = item.key, checked = item.checked;
65
+ var childrenItem = items === null || items === void 0 ? void 0 : items.find(function (item) { return (item === null || item === void 0 ? void 0 : item.name) === key; });
66
+ if (childrenItem) {
67
+ if (!checked) {
68
+ childrenItem.isDisplay = false;
69
+ }
70
+ else {
71
+ childrenItem.isDisplay = true;
72
+ }
73
+ result.push(childrenItem);
74
+ }
75
+ });
76
+ }
77
+ return result;
78
+ }, [items, currentDynamicList]);
79
+ return {
80
+ dynamicList: dynamicList,
81
+ currentDynamicList: currentDynamicList,
82
+ onCurrentListChange: onCurrentListChange,
83
+ newItems: newItems,
84
+ dynamicSettingRef: dynamicSettingRef,
85
+ };
86
+ }
87
+ // 右侧按钮组
88
+ function useBtnHandle(form, handleObj) {
89
+ var onResetHandle = handleObj.onResetHandle, onSearchHandle = handleObj.onSearchHandle;
90
+ var onResetHandleInner = useCallback(function () {
91
+ form === null || form === void 0 ? void 0 : form.resetFields();
92
+ onResetHandle && onResetHandle();
93
+ }, [form, onResetHandle]);
94
+ var onSearchHandleInner = useCallback(function () {
95
+ // 当前表单数据
96
+ var currentFormParams = form === null || form === void 0 ? void 0 : form.getFieldsValue();
97
+ onSearchHandle && onSearchHandle(currentFormParams);
98
+ }, [form, onSearchHandle]);
99
+ return {
100
+ onResetHandleInner: onResetHandleInner,
101
+ onSearchHandleInner: onSearchHandleInner,
102
+ };
103
+ }
104
+
105
+ export { useBtnHandle, useDynamicListByItems, useFormConfigInfoCreateNewItems };
@@ -0,0 +1,5 @@
1
+ import MemoForm from './form.js';
2
+
3
+
4
+
5
+ export { MemoForm as default };
@@ -0,0 +1,5 @@
1
+ import MemoForm from './form.js';
2
+
3
+
4
+
5
+ export { MemoForm as default };