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;
@@ -15,12 +15,11 @@ var __rest = this && this.__rest || function (s, e) {
15
15
  };
16
16
 
17
17
  import classNames from 'classnames';
18
- import React from 'react';
18
+ import React, { forwardRef } from 'react';
19
19
  import DisabledContext from '../ConfigProvider/DisabledContext';
20
20
  import SizeContext from '../ConfigProvider/SizeContext';
21
21
  var prefixCls = 'lm_input-number';
22
-
23
- var LMInputNumber = function LMInputNumber(props) {
22
+ var LMInputNumber = /*#__PURE__*/forwardRef(function (props, ref) {
24
23
  var children = props.children,
25
24
  className = props.className,
26
25
  customDisabled = props.disabled,
@@ -35,23 +34,22 @@ var LMInputNumber = function LMInputNumber(props) {
35
34
  var size = React.useContext(SizeContext);
36
35
  var mergeSize = customizeSize || size;
37
36
  return /*#__PURE__*/React.createElement(_InputNumber, Object.assign({
37
+ ref: ref,
38
38
  className: classNames(className, prefixCls),
39
39
  placeholder: "\u8BF7\u8F93\u5165"
40
40
  }, rest, {
41
41
  size: mergeSize,
42
42
  disabled: mergedDisabled
43
43
  }));
44
- };
45
-
44
+ });
46
45
  var CInputNumber = LMInputNumber;
47
-
48
- CInputNumber.Price = function (props) {
46
+ CInputNumber.Price = /*#__PURE__*/forwardRef(function (props, ref) {
49
47
  return /*#__PURE__*/React.createElement(_InputNumber, Object.assign({
50
48
  prefix: "\uFFE5",
49
+ ref: ref,
51
50
  formatter: function formatter(value) {
52
51
  return "".concat(value).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
53
52
  }
54
53
  }, props));
55
- };
56
-
54
+ });
57
55
  export default CInputNumber;
@@ -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,18 +1,61 @@
1
- import React from 'react';
2
- import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors } from '@dnd-kit/core';
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { memo } from 'react';
3
+ import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors, DragOverlay } from '@dnd-kit/core';
3
4
  import { restrictToParentElement } from '@dnd-kit/modifiers';
4
- import { sortableKeyboardCoordinates } from '@dnd-kit/sortable'; // 可拖拽容器
5
+ import { sortableKeyboardCoordinates } from '@dnd-kit/sortable';
6
+ var DragOver = /*#__PURE__*/React.memo(function (_ref) {
7
+ var instance = _ref.instance;
8
+ var isDragging = instance.isDragging,
9
+ activeId = instance.activeId,
10
+ options = instance.options;
11
+ var item = activeId && options.find(function (v) {
12
+ return v.dataIndex === activeId;
13
+ });
14
+ return /*#__PURE__*/React.createElement(DragOverlay, {
15
+ adjustScale: false
16
+ }, isDragging ? /*#__PURE__*/React.createElement("div", {
17
+ className: "lm_editable_col_drag"
18
+ }, item === null || item === void 0 ? void 0 : item.title) : null);
19
+ }); // 可拖拽容器
20
+
21
+ var DndContainer = function DndContainer(_ref2) {
22
+ var children = _ref2.children,
23
+ move = _ref2.move,
24
+ options = _ref2.options,
25
+ rowKey = _ref2.rowKey;
26
+
27
+ var _React$useState = React.useState(false),
28
+ _React$useState2 = _slicedToArray(_React$useState, 2),
29
+ isDragging = _React$useState2[0],
30
+ setIsDragging = _React$useState2[1]; // 是否拖拽中
31
+
32
+
33
+ var _React$useState3 = React.useState(null),
34
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
35
+ activeId = _React$useState4[0],
36
+ setActiveId = _React$useState4[1]; // 是否拖拽中
37
+
5
38
 
6
- var DndContainer = function DndContainer(_ref) {
7
- var children = _ref.children,
8
- move = _ref.move;
9
39
  var sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
10
40
  coordinateGetter: sortableKeyboardCoordinates
11
- })); // 拖拽结束
41
+ })); // 开始拖拽
42
+
43
+ var handleDragStart = function handleDragStart(_ref3) {
44
+ var active = _ref3.active;
45
+ setIsDragging(true);
46
+
47
+ if (!active) {
48
+ return;
49
+ }
50
+
51
+ setActiveId(active.id);
52
+ }; // 拖拽结束
53
+
12
54
 
13
55
  var handleDragEnd = function handleDragEnd(event) {
14
56
  var active = event.active,
15
- over = event.over; // 未移入时触发
57
+ over = event.over;
58
+ setActiveId(null); // 未移入时触发
16
59
 
17
60
  if (!(over === null || over === void 0 ? void 0 : over.id)) {
18
61
  return;
@@ -24,12 +67,29 @@ var DndContainer = function DndContainer(_ref) {
24
67
  }
25
68
  };
26
69
 
70
+ var instance = {
71
+ isDragging: isDragging,
72
+ activeId: activeId,
73
+ options: options,
74
+ rowKey: rowKey,
75
+ children: children,
76
+ move: move,
77
+ items: options === null || options === void 0 ? void 0 : options.map(function (v) {
78
+ return v[rowKey];
79
+ })
80
+ };
27
81
  return /*#__PURE__*/React.createElement(DndContext, {
28
82
  sensors: sensors,
29
83
  collisionDetection: closestCenter,
84
+ onDragStart: handleDragStart,
30
85
  onDragEnd: handleDragEnd,
86
+ onDragCancel: function onDragCancel() {
87
+ return setActiveId(null);
88
+ },
31
89
  modifiers: [restrictToParentElement]
32
- }, children);
90
+ }, children, /*#__PURE__*/React.createElement(DragOver, {
91
+ instance: instance
92
+ }));
33
93
  };
34
94
 
35
- export default DndContainer;
95
+ export default /*#__PURE__*/memo(DndContainer);
@@ -17,7 +17,7 @@ export var Dragger = function Dragger(_ref) {
17
17
  touchAction: 'none',
18
18
  cursor: 'move'
19
19
  },
20
- className: 'icon_drag' + (isDragging ? 'bing' : '')
20
+ className: "icon_drag".concat(isDragging ? 'bing' : '')
21
21
  }));
22
22
  };
23
23
  export default Dragger;
@@ -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;