linkmore-design 1.1.26 → 1.1.27-alpha.0

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 (105) hide show
  1. package/dist/LmEditTable/DndContainer.d.ts +6 -3
  2. package/dist/LmEditTable/EditTable.d.ts +10 -5
  3. package/dist/LmEditTable/components/DraggableContainer.d.ts +10 -0
  4. package/dist/LmEditTable/components/QuickOpetate.d.ts +12 -0
  5. package/dist/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  6. package/dist/LmEditTable/components/index.d.ts +16 -0
  7. package/dist/LmEditTable/hooks/useForkRef.d.ts +2 -0
  8. package/dist/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  9. package/dist/LmEditTable/sortableItem.d.ts +3 -2
  10. package/dist/LmEditTable/util.d.ts +7 -0
  11. package/dist/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  12. package/dist/LmEditTable/virtual/VirtualRowBack.d.ts +6 -0
  13. package/dist/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  14. package/dist/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  15. package/dist/LmEditTable/virtual/context.d.ts +13 -0
  16. package/dist/LmEditTable/virtual/index.d.ts +4 -0
  17. package/dist/index.d.ts +1 -2
  18. package/dist/index.umd.js +1140 -529
  19. package/dist/index.umd.min.js +8 -8
  20. package/dist/variables.css +65 -0
  21. package/es/InputNumber/index.js +7 -9
  22. package/es/LmEditTable/DndContainer.d.ts +6 -3
  23. package/es/LmEditTable/DndContainer.js +70 -10
  24. package/es/LmEditTable/DragHandle.js +1 -1
  25. package/es/LmEditTable/EditTable.d.ts +10 -5
  26. package/es/LmEditTable/EditTable.js +352 -360
  27. package/es/LmEditTable/components/DraggableContainer.d.ts +10 -0
  28. package/es/LmEditTable/components/DraggableContainer.js +39 -0
  29. package/es/LmEditTable/components/QuickOpetate.d.ts +12 -0
  30. package/es/LmEditTable/components/QuickOpetate.js +82 -0
  31. package/es/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  32. package/es/LmEditTable/components/bottomOpetateComponent.js +23 -0
  33. package/es/LmEditTable/components/index.d.ts +16 -0
  34. package/es/LmEditTable/components/index.js +7 -0
  35. package/es/LmEditTable/hooks/useForkRef.d.ts +2 -0
  36. package/es/LmEditTable/hooks/useForkRef.js +22 -0
  37. package/es/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  38. package/es/LmEditTable/rowSort/DndContainerRow.js +81 -0
  39. package/es/LmEditTable/sortableItem.d.ts +3 -2
  40. package/es/LmEditTable/sortableItem.js +16 -4
  41. package/es/LmEditTable/sortableItemCol.js +40 -10
  42. package/es/LmEditTable/style/index.css +65 -0
  43. package/es/LmEditTable/style/variables.css +65 -0
  44. package/es/LmEditTable/util.d.ts +7 -0
  45. package/es/LmEditTable/util.js +92 -7
  46. package/es/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  47. package/es/LmEditTable/virtual/VirtualRow.js +62 -0
  48. package/es/LmEditTable/virtual/VirtualRowBack.d.ts +6 -0
  49. package/es/LmEditTable/virtual/VirtualRowBack.js +100 -0
  50. package/es/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  51. package/es/LmEditTable/virtual/VirtualTable.js +54 -0
  52. package/es/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  53. package/es/LmEditTable/virtual/VirtualWrapper.js +60 -0
  54. package/es/LmEditTable/virtual/context.d.ts +13 -0
  55. package/es/LmEditTable/virtual/context.js +54 -0
  56. package/es/LmEditTable/virtual/index.d.ts +4 -0
  57. package/es/LmEditTable/virtual/index.js +4 -0
  58. package/es/LmFilter/filterFns/index.js +7 -2
  59. package/es/LmTable/virTual/VirtualRow.js +12 -14
  60. package/es/hooks/useEvent/index.js +1 -1
  61. package/es/index.d.ts +1 -2
  62. package/es/styles/variables.css +65 -0
  63. package/lib/InputNumber/index.js +9 -9
  64. package/lib/LmEditTable/DndContainer.d.ts +6 -3
  65. package/lib/LmEditTable/DndContainer.js +74 -9
  66. package/lib/LmEditTable/DragHandle.js +1 -1
  67. package/lib/LmEditTable/EditTable.d.ts +10 -5
  68. package/lib/LmEditTable/EditTable.js +349 -357
  69. package/lib/LmEditTable/components/DraggableContainer.d.ts +10 -0
  70. package/lib/LmEditTable/components/DraggableContainer.js +52 -0
  71. package/lib/LmEditTable/components/QuickOpetate.d.ts +12 -0
  72. package/lib/LmEditTable/components/QuickOpetate.js +96 -0
  73. package/lib/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  74. package/lib/LmEditTable/components/bottomOpetateComponent.js +34 -0
  75. package/lib/LmEditTable/components/index.d.ts +16 -0
  76. package/lib/LmEditTable/components/index.js +37 -0
  77. package/lib/LmEditTable/hooks/useForkRef.d.ts +2 -0
  78. package/lib/LmEditTable/hooks/useForkRef.js +29 -0
  79. package/lib/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  80. package/lib/LmEditTable/rowSort/DndContainerRow.js +99 -0
  81. package/lib/LmEditTable/sortableItem.d.ts +3 -2
  82. package/lib/LmEditTable/sortableItem.js +19 -5
  83. package/lib/LmEditTable/sortableItemCol.js +37 -8
  84. package/lib/LmEditTable/style/index.css +65 -0
  85. package/lib/LmEditTable/style/variables.css +65 -0
  86. package/lib/LmEditTable/util.d.ts +7 -0
  87. package/lib/LmEditTable/util.js +97 -6
  88. package/lib/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  89. package/lib/LmEditTable/virtual/VirtualRow.js +78 -0
  90. package/lib/LmEditTable/virtual/VirtualRowBack.d.ts +6 -0
  91. package/lib/LmEditTable/virtual/VirtualRowBack.js +113 -0
  92. package/lib/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  93. package/lib/LmEditTable/virtual/VirtualTable.js +71 -0
  94. package/lib/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  95. package/lib/LmEditTable/virtual/VirtualWrapper.js +73 -0
  96. package/lib/LmEditTable/virtual/context.d.ts +13 -0
  97. package/lib/LmEditTable/virtual/context.js +64 -0
  98. package/lib/LmEditTable/virtual/index.d.ts +4 -0
  99. package/lib/LmEditTable/virtual/index.js +31 -0
  100. package/lib/LmFilter/filterFns/index.js +7 -2
  101. package/lib/LmTable/virTual/VirtualRow.js +12 -14
  102. package/lib/hooks/useEvent/index.js +1 -1
  103. package/lib/index.d.ts +1 -2
  104. package/lib/styles/variables.css +65 -0
  105. package/package.json +7 -9
@@ -9738,6 +9738,9 @@ p {
9738
9738
  width: 32px;
9739
9739
  padding: 0 8px;
9740
9740
  }
9741
+ .lm_editTable_warpper .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {
9742
+ height: 100%;
9743
+ }
9741
9744
  .lm_editTable_warpper .lm_editTable_cell {
9742
9745
  cursor: pointer;
9743
9746
  height: 40px;
@@ -9749,6 +9752,21 @@ p {
9749
9752
  letter-spacing: 0px;
9750
9753
  color: var(--color-85);
9751
9754
  }
9755
+ .lm_editTable_warpper .lm_custom_cell_td {
9756
+ position: relative;
9757
+ }
9758
+ .lm_editTable_warpper .lm_custom_cell_td.ant-table-cell-with-append {
9759
+ display: flex;
9760
+ flex-direction: row;
9761
+ flex-wrap: nowrap;
9762
+ }
9763
+ .lm_editTable_warpper .lm_custom_cell_td.ant-table-cell-with-append .ant-table-row-expand-icon {
9764
+ margin-right: 8px;
9765
+ flex: none;
9766
+ }
9767
+ .lm_editTable_warpper .lm_custom_cell_td > .ant-form-item {
9768
+ flex: 1 1 auto;
9769
+ }
9752
9770
  .lm_editTable_warpper .lm_custom_cell_td .ant-form-item-control-input-content {
9753
9771
  display: flex;
9754
9772
  flex-direction: row;
@@ -9760,6 +9778,32 @@ p {
9760
9778
  .lm_editTable_warpper .lm_custom_cell_td .ant-table-row-expand-icon {
9761
9779
  margin-top: 6px;
9762
9780
  }
9781
+ .lm_editTable_warpper .lm_custom_cell_td .quick_copy_warp {
9782
+ font-size: 8px;
9783
+ position: absolute;
9784
+ left: calc(50% - 10px);
9785
+ z-index: 100;
9786
+ width: 20px;
9787
+ height: 10px;
9788
+ background-color: var(--color-6);
9789
+ display: flex;
9790
+ align-items: center;
9791
+ justify-content: center;
9792
+ color: #D8D8D8;
9793
+ }
9794
+ .lm_editTable_warpper .lm_custom_cell_td .quick_copy_warp:hover {
9795
+ cursor: pointer;
9796
+ background-color: var(--primary-color);
9797
+ color: #fff;
9798
+ }
9799
+ .lm_editTable_warpper .lm_custom_cell_td .quick_copy_up {
9800
+ top: -4px;
9801
+ left: calc(50% - 10px);
9802
+ }
9803
+ .lm_editTable_warpper .lm_custom_cell_td .quick_copy_down {
9804
+ bottom: -6px;
9805
+ left: calc(50% - 10px);
9806
+ }
9763
9807
  .lm_editTable_warpper .lm_editTable_cell_edit {
9764
9808
  height: 40px;
9765
9809
  padding: 8px 8px !important;
@@ -9771,6 +9815,9 @@ p {
9771
9815
  .lm_editTable_warpper .lm_table_quickcopy .anticon {
9772
9816
  color: var(--text-color);
9773
9817
  }
9818
+ .lm_editTable_warpper .ant-table-body {
9819
+ scroll-behavior: smooth;
9820
+ }
9774
9821
  .lm_editTable_warpper .icon_drag {
9775
9822
  color: var(--tip-text-color);
9776
9823
  }
@@ -9787,6 +9834,9 @@ p {
9787
9834
  .lm_editTable_warpper .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {
9788
9835
  background-color: rgba(0, 0, 0, 0.06) !important;
9789
9836
  }
9837
+ .lm_editTable_warpper .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {
9838
+ background-color: rgba(0, 0, 0, 0.06) !important;
9839
+ }
9790
9840
  .lm_editTable_warpper .ant-picker {
9791
9841
  height: 24px !important;
9792
9842
  padding: 2px 8px;
@@ -9830,6 +9880,21 @@ p {
9830
9880
  .lm_table_append_add_popover .ant-popover-inner-content ul li:hover {
9831
9881
  background-color: var(--color-15);
9832
9882
  }
9883
+ .lm_edittable_col_sort_item {
9884
+ overflow: hidden;
9885
+ }
9886
+ .lm_editable_col_drag {
9887
+ background-color: #fff;
9888
+ font-size: 12px;
9889
+ display: flex;
9890
+ box-sizing: border-box;
9891
+ transform: translate3d(var(--translate-x, 0), var(--translate-y, 0), 0) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1));
9892
+ transform-origin: 0 0;
9893
+ touch-action: manipulation;
9894
+ scale: 1.05;
9895
+ box-shadow: 0 0 0 calc(1px / var(--scale-x, 1)) rgba(63, 63, 68, 0.05), 0 1px calc(3px / var(--scale-x, 1)) 0 rgba(34, 33, 81, 0.15);
9896
+ padding: 8px;
9897
+ }
9833
9898
  .lm_filter_wrapper .lm_filter_container .lm_filter {
9834
9899
  display: flex;
9835
9900
  flex-wrap: wrap;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -13,7 +15,7 @@ var _inputNumber = _interopRequireDefault(require("antd/es/input-number"));
13
15
 
14
16
  var _classnames = _interopRequireDefault(require("classnames"));
15
17
 
16
- var _react = _interopRequireDefault(require("react"));
18
+ var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _DisabledContext = _interopRequireDefault(require("../ConfigProvider/DisabledContext"));
19
21
 
@@ -33,8 +35,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
33
35
  };
34
36
 
35
37
  var prefixCls = 'lm_input-number';
36
-
37
- var LMInputNumber = function LMInputNumber(props) {
38
+ var LMInputNumber = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
38
39
  var children = props.children,
39
40
  className = props.className,
40
41
  customDisabled = props.disabled,
@@ -51,24 +52,23 @@ var LMInputNumber = function LMInputNumber(props) {
51
52
 
52
53
  var mergeSize = customizeSize || size;
53
54
  return /*#__PURE__*/_react.default.createElement(_inputNumber.default, Object.assign({
55
+ ref: ref,
54
56
  className: (0, _classnames.default)(className, prefixCls),
55
57
  placeholder: "\u8BF7\u8F93\u5165"
56
58
  }, rest, {
57
59
  size: mergeSize,
58
60
  disabled: mergedDisabled
59
61
  }));
60
- };
61
-
62
+ });
62
63
  var CInputNumber = LMInputNumber;
63
-
64
- CInputNumber.Price = function (props) {
64
+ CInputNumber.Price = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
65
65
  return /*#__PURE__*/_react.default.createElement(_inputNumber.default, Object.assign({
66
66
  prefix: "\uFFE5",
67
+ ref: ref,
67
68
  formatter: function formatter(value) {
68
69
  return "".concat(value).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
69
70
  }
70
71
  }, props));
71
- };
72
-
72
+ });
73
73
  var _default = CInputNumber;
74
74
  exports.default = _default;
@@ -1,5 +1,8 @@
1
- declare const DndContainer: ({ children, move }: {
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<({ children, move, options, rowKey }: {
2
3
  children: any;
3
4
  move: any;
4
- }) => JSX.Element;
5
- export default DndContainer;
5
+ options: any;
6
+ rowKey: any;
7
+ }) => JSX.Element>;
8
+ export default _default;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -7,7 +9,9 @@ Object.defineProperty(exports, "__esModule", {
7
9
  });
8
10
  exports.default = void 0;
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
11
15
 
12
16
  var _core = require("@dnd-kit/core");
13
17
 
@@ -15,17 +19,60 @@ var _modifiers = require("@dnd-kit/modifiers");
15
19
 
16
20
  var _sortable = require("@dnd-kit/sortable");
17
21
 
18
- // 可拖拽容器
19
- var DndContainer = function DndContainer(_ref) {
20
- var children = _ref.children,
21
- move = _ref.move;
22
+ var DragOver = /*#__PURE__*/_react.default.memo(function (_ref) {
23
+ var instance = _ref.instance;
24
+ var isDragging = instance.isDragging,
25
+ activeId = instance.activeId,
26
+ options = instance.options;
27
+ var item = activeId && options.find(function (v) {
28
+ return v.dataIndex === activeId;
29
+ });
30
+ return /*#__PURE__*/_react.default.createElement(_core.DragOverlay, {
31
+ adjustScale: false
32
+ }, isDragging ? /*#__PURE__*/_react.default.createElement("div", {
33
+ className: "lm_editable_col_drag"
34
+ }, item === null || item === void 0 ? void 0 : item.title) : null);
35
+ }); // 可拖拽容器
36
+
37
+
38
+ var DndContainer = function DndContainer(_ref2) {
39
+ var children = _ref2.children,
40
+ move = _ref2.move,
41
+ options = _ref2.options,
42
+ rowKey = _ref2.rowKey;
43
+
44
+ var _React$useState = _react.default.useState(false),
45
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
46
+ isDragging = _React$useState2[0],
47
+ setIsDragging = _React$useState2[1]; // 是否拖拽中
48
+
49
+
50
+ var _React$useState3 = _react.default.useState(null),
51
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
52
+ activeId = _React$useState4[0],
53
+ setActiveId = _React$useState4[1]; // 是否拖拽中
54
+
55
+
22
56
  var sensors = (0, _core.useSensors)((0, _core.useSensor)(_core.PointerSensor), (0, _core.useSensor)(_core.KeyboardSensor, {
23
57
  coordinateGetter: _sortable.sortableKeyboardCoordinates
24
- })); // 拖拽结束
58
+ })); // 开始拖拽
59
+
60
+ var handleDragStart = function handleDragStart(_ref3) {
61
+ var active = _ref3.active;
62
+ setIsDragging(true);
63
+
64
+ if (!active) {
65
+ return;
66
+ }
67
+
68
+ setActiveId(active.id);
69
+ }; // 拖拽结束
70
+
25
71
 
26
72
  var handleDragEnd = function handleDragEnd(event) {
27
73
  var active = event.active,
28
- over = event.over; // 未移入时触发
74
+ over = event.over;
75
+ setActiveId(null); // 未移入时触发
29
76
 
30
77
  if (!(over === null || over === void 0 ? void 0 : over.id)) {
31
78
  return;
@@ -37,13 +84,31 @@ var DndContainer = function DndContainer(_ref) {
37
84
  }
38
85
  };
39
86
 
87
+ var instance = {
88
+ isDragging: isDragging,
89
+ activeId: activeId,
90
+ options: options,
91
+ rowKey: rowKey,
92
+ children: children,
93
+ move: move,
94
+ items: options === null || options === void 0 ? void 0 : options.map(function (v) {
95
+ return v[rowKey];
96
+ })
97
+ };
40
98
  return /*#__PURE__*/_react.default.createElement(_core.DndContext, {
41
99
  sensors: sensors,
42
100
  collisionDetection: _core.closestCenter,
101
+ onDragStart: handleDragStart,
43
102
  onDragEnd: handleDragEnd,
103
+ onDragCancel: function onDragCancel() {
104
+ return setActiveId(null);
105
+ },
44
106
  modifiers: [_modifiers.restrictToParentElement]
45
- }, children);
107
+ }, children, /*#__PURE__*/_react.default.createElement(DragOver, {
108
+ instance: instance
109
+ }));
46
110
  };
47
111
 
48
- var _default = DndContainer;
112
+ var _default = /*#__PURE__*/(0, _react.memo)(DndContainer);
113
+
49
114
  exports.default = _default;
@@ -29,7 +29,7 @@ var Dragger = function Dragger(_ref) {
29
29
  touchAction: 'none',
30
30
  cursor: 'move'
31
31
  },
32
- className: 'icon_drag' + (isDragging ? 'bing' : '')
32
+ className: "icon_drag".concat(isDragging ? 'bing' : '')
33
33
  }));
34
34
  };
35
35
 
@@ -5,6 +5,7 @@ interface ILmEditTable extends TableProps<any> {
5
5
  isEdit?: boolean;
6
6
  isAdd?: boolean;
7
7
  rowKey?: string;
8
+ disabled?: boolean;
8
9
  rowHoverEdit?: boolean;
9
10
  isUseForm?: boolean;
10
11
  isHoverEdit?: boolean;
@@ -13,6 +14,7 @@ interface ILmEditTable extends TableProps<any> {
13
14
  sortOpen?: boolean;
14
15
  size?: TableProps<any>['size'];
15
16
  colSortOpen?: boolean;
17
+ indexCol?: boolean | Record<string, any>;
16
18
  filterChange?: (data: TableProps<any>['columns']) => void;
17
19
  recordCreatorProps?: {
18
20
  creatorButtonText?: string;
@@ -31,7 +33,8 @@ export interface CountdownHandle {
31
33
  getCheckboxRecords: () => any[];
32
34
  clearSelect: () => void;
33
35
  customSetCheckboxRecords: (data: any[]) => void;
34
- valid: () => void;
36
+ deleteRowData: (record: string | Record<string, any>) => void;
37
+ addRowData: (record: string | Record<string, any>, defaultValue?: Record<string, any> | Record<string, any>[], addInChild?: boolean | 'replace') => void;
35
38
  }
36
39
  interface ILmColumns extends TableColumnType<any> {
37
40
  editable?: 'input' | 'number' | 'inputRange' | 'date' | 'select' | 'multiple' | 'checkbox' | 'radio' | 'switch' | 'upload' | 'operate' | 'lm_edit_opetate' | 'render';
@@ -43,12 +46,14 @@ interface ILmColumns extends TableColumnType<any> {
43
46
  componentProps?: Record<string, any>;
44
47
  relevanceCols?: boolean;
45
48
  }
46
- export declare type TLmEditTable = ILmEditTable & {
49
+ export declare type TLmEditTable = {
47
50
  onChange?: (data: any[]) => void;
48
51
  columns: ILmColumns[];
49
- };
50
- declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<ILmEditTable & {
52
+ virtual?: boolean;
53
+ } & ILmEditTable;
54
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<{
51
55
  onChange?: (data: any[]) => void;
52
56
  columns: ILmColumns[];
53
- } & React.RefAttributes<CountdownHandle>>>;
57
+ virtual?: boolean;
58
+ } & ILmEditTable & React.RefAttributes<CountdownHandle>>>;
54
59
  export default _default;