linkmore-design 1.1.5 → 1.1.7

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 (61) hide show
  1. package/dist/LmEditTable/util.d.ts +6 -0
  2. package/dist/LmFilter/filterFns/index.d.ts +1 -0
  3. package/dist/LmUpload/fns/index.d.ts +1 -1
  4. package/dist/index.umd.css +93 -93
  5. package/dist/index.umd.js +351 -170
  6. package/dist/index.umd.min.css +1 -1
  7. package/dist/index.umd.min.js +7 -7
  8. package/dist/variables.css +22 -8
  9. package/es/Button/index.js +4 -1
  10. package/es/Button/style/index.css +0 -4
  11. package/es/Button/style/variables.css +0 -4
  12. package/es/CardTable/style/index.css +19 -4
  13. package/es/CardTable/style/variables.css +19 -4
  14. package/es/CustomTableOption/index.js +0 -10
  15. package/es/Input/index.js +3 -3
  16. package/es/LmEditTable/EditTable.js +189 -116
  17. package/es/LmEditTable/style/index.css +3 -0
  18. package/es/LmEditTable/style/variables.css +3 -0
  19. package/es/LmEditTable/util.d.ts +6 -0
  20. package/es/LmEditTable/util.js +29 -1
  21. package/es/LmFilter/clearFilter/index.js +3 -1
  22. package/es/LmFilter/components/EmptyFilter.js +2 -2
  23. package/es/LmFilter/filterFns/index.d.ts +1 -0
  24. package/es/LmFilter/filterFns/index.js +6 -1
  25. package/es/LmFilter/wrapper/FilterRoot.js +1 -1
  26. package/es/LmTable/Table.js +1 -1
  27. package/es/LmUpload/LmUpload.js +1 -0
  28. package/es/LmUpload/fns/index.d.ts +1 -1
  29. package/es/LmUpload/fns/index.js +105 -33
  30. package/es/message/index.js +4 -1
  31. package/es/styles/variables.css +22 -8
  32. package/lib/Button/index.js +6 -1
  33. package/lib/Button/style/index.css +0 -4
  34. package/lib/Button/style/variables.css +0 -4
  35. package/lib/CardTable/style/index.css +19 -4
  36. package/lib/CardTable/style/variables.css +19 -4
  37. package/lib/CustomTableOption/index.js +0 -9
  38. package/lib/Input/index.js +3 -3
  39. package/lib/LmEditTable/EditTable.js +188 -115
  40. package/lib/LmEditTable/style/index.css +3 -0
  41. package/lib/LmEditTable/style/variables.css +3 -0
  42. package/lib/LmEditTable/util.d.ts +6 -0
  43. package/lib/LmEditTable/util.js +40 -1
  44. package/lib/LmFilter/clearFilter/index.js +3 -1
  45. package/lib/LmFilter/components/EmptyFilter.js +2 -2
  46. package/lib/LmFilter/filterFns/index.d.ts +1 -0
  47. package/lib/LmFilter/filterFns/index.js +6 -1
  48. package/lib/LmFilter/wrapper/FilterRoot.js +1 -1
  49. package/lib/LmTable/Table.js +1 -1
  50. package/lib/LmUpload/LmUpload.js +1 -0
  51. package/lib/LmUpload/fns/index.d.ts +1 -1
  52. package/lib/LmUpload/fns/index.js +105 -31
  53. package/lib/message/index.js +6 -1
  54. package/lib/styles/variables.css +22 -8
  55. package/package.json +1 -1
  56. package/es/CustomTableOption/assets/option1.png +0 -0
  57. package/es/CustomTableOption/assets/option2.png +0 -0
  58. package/es/CustomTableOption/assets/option3.png +0 -0
  59. package/lib/CustomTableOption/assets/option1.png +0 -0
  60. package/lib/CustomTableOption/assets/option2.png +0 -0
  61. package/lib/CustomTableOption/assets/option3.png +0 -0
@@ -467,6 +467,7 @@ var EditableCell = function EditableCell(props) {
467
467
 
468
468
  var Control = function Control(con) {
469
469
  var resultComponentProps = (0, _lodash.isFunction)(componentProps) ? componentProps === null || componentProps === void 0 ? void 0 : componentProps(record, col) : componentProps;
470
+ var clearAttrComponentProps = (0, _lodash.omit)(resultComponentProps, ['optionOnly', 'isOnlyValue']);
470
471
 
471
472
  switch (con) {
472
473
  case 'input':
@@ -475,7 +476,7 @@ var EditableCell = function EditableCell(props) {
475
476
  onBlur: handleFormItemChange,
476
477
  ref: inputRef,
477
478
  placeholder: "\u8BF7\u8F93\u5165"
478
- }, resultComponentProps, {
479
+ }, clearAttrComponentProps, {
479
480
  addonBefore: resultComponentProps.addonBefore ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Form.Item, {
480
481
  name: [col.dataIndex, 'addonBeforeValue'],
481
482
  noStyle: true
@@ -515,13 +516,13 @@ var EditableCell = function EditableCell(props) {
515
516
  },
516
517
  placeholder: "\u8BF7\u8F93\u5165",
517
518
  ref: inputRef
518
- }, resultComponentProps));
519
+ }, clearAttrComponentProps));
519
520
 
520
521
  case 'date':
521
522
  // @ts-ignore
522
523
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.DatePicker, Object.assign({
523
524
  onChange: handleFormItemChange
524
- }, resultComponentProps));
525
+ }, clearAttrComponentProps));
525
526
 
526
527
  case 'select':
527
528
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Select, Object.assign({
@@ -534,7 +535,7 @@ var EditableCell = function EditableCell(props) {
534
535
 
535
536
  return ((_b = (_a = option.children) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.indexOf(input.toLowerCase())) >= 0;
536
537
  }
537
- }, resultComponentProps, {
538
+ }, clearAttrComponentProps, {
538
539
  // open={true}
539
540
  onChange: handleFormItemChange
540
541
  }));
@@ -553,30 +554,30 @@ var EditableCell = function EditableCell(props) {
553
554
  },
554
555
  onChange: handleFormItemChange,
555
556
  onDeselect: handleFormItemChange
556
- }, resultComponentProps));
557
+ }, clearAttrComponentProps));
557
558
 
558
559
  case 'checkbox':
559
560
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox.Group, Object.assign({
560
561
  onChange: handleFormItemChange,
561
562
  ref: inputRef
562
- }, resultComponentProps));
563
+ }, clearAttrComponentProps));
563
564
 
564
565
  case 'radio':
565
566
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, Object.assign({
566
567
  onChange: handleFormItemChange,
567
568
  ref: inputRef
568
- }, resultComponentProps));
569
+ }, clearAttrComponentProps));
569
570
 
570
571
  case 'radioGroup':
571
572
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, Object.assign({
572
573
  onChange: handleFormItemChange,
573
574
  ref: inputRef
574
- }, resultComponentProps));
575
+ }, clearAttrComponentProps));
575
576
 
576
577
  case 'switch':
577
578
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Switch, Object.assign({
578
579
  size: 'small'
579
- }, resultComponentProps, {
580
+ }, clearAttrComponentProps, {
580
581
  onChange: handleFormItemChange
581
582
  }));
582
583
 
@@ -605,7 +606,7 @@ var EditableCell = function EditableCell(props) {
605
606
  var fromData = form.getFieldsValue();
606
607
  return render === null || render === void 0 ? void 0 : render(Object.assign(Object.assign({}, !(0, _util.isObjEmpty)(fromData) ? Object.assign(Object.assign({}, record), (0, _defineProperty2.default)({}, dataIndex, fromData[dataIndex])) : record), {
607
608
  onChange: save
608
- })); // return render?.({ ...(!isObjEmpty(fromData) ? {...record, ...fromData} : record), onChange: save })
609
+ }));
609
610
  }
610
611
 
611
612
  default:
@@ -637,7 +638,7 @@ var EditableCell = function EditableCell(props) {
637
638
  onClick: toggleEdit
638
639
  }, childNode);
639
640
  } else if (isEdit && editable) {
640
- childNode = /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Form.Item, Object.assign({
641
+ childNode = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _util.isExpandRow)(childNode) && childNode[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Form.Item, Object.assign({
641
642
  errorPlacement: "right",
642
643
  valuePropName: editable === 'switch' ? 'checked' : 'value',
643
644
  style: {
@@ -645,17 +646,17 @@ var EditableCell = function EditableCell(props) {
645
646
  }
646
647
  }, formProps, {
647
648
  name: dataIndex
648
- }), Control(editable));
649
+ }), Control(editable)));
649
650
 
650
651
  if (editable === 'input' && ((resultComponentProps === null || resultComponentProps === void 0 ? void 0 : resultComponentProps.addonBefore) || (resultComponentProps === null || resultComponentProps === void 0 ? void 0 : resultComponentProps.addonAfter))) {
651
- childNode = /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Form.Item, Object.assign({
652
+ childNode = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _util.isExpandRow)(childNode) && childNode[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Form.Item, Object.assign({
652
653
  errorPlacement: "right",
653
654
  style: {
654
655
  margin: 0
655
656
  }
656
657
  }, formProps, {
657
658
  name: [dataIndex, 'value']
658
- }), Control(editable));
659
+ }), Control(editable)));
659
660
  }
660
661
  } else if (!isEdit && (componentProps === null || componentProps === void 0 ? void 0 : componentProps.options)) {
661
662
  return ((_b = (_a = componentProps === null || componentProps === void 0 ? void 0 : componentProps.options) === null || _a === void 0 ? void 0 : _a.find(function (item) {
@@ -683,7 +684,7 @@ var EditableCell = function EditableCell(props) {
683
684
  // }
684
685
 
685
686
  }, [record]);
686
- return /*#__PURE__*/_react.default.createElement("td", Object.assign({}, clearProps, {
687
+ return /*#__PURE__*/_react.default.createElement("td", Object.assign({}, (0, _lodash.omit)(clearProps, ['dataIndex']), {
687
688
  className: (0, _classnames.default)(clearProps === null || clearProps === void 0 ? void 0 : clearProps.className, 'lm_custom_cell_td'),
688
689
  key: "r".concat(rowIndex, "_c").concat(colIndex)
689
690
  }), getMemoChildNode);
@@ -736,9 +737,17 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
736
737
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
737
738
  sortEditTable = _useState12[0],
738
739
  setCallBackFalg = _useState12[1];
740
+ /** 当前展开的列 */
741
+
742
+
743
+ var _useState13 = (0, _react.useState)([]),
744
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
745
+ expandedRowKeys = _useState14[0],
746
+ setExpandedRowKeys = _useState14[1];
739
747
 
740
748
  var dataSourceRef = (0, _react.useRef)([]);
741
749
  var sortDataSorceRef = (0, _react.useRef)([]);
750
+ var deepDataSourceRef = (0, _react.useRef)([]);
742
751
 
743
752
  var onSortEnd = function onSortEnd(active, over) {
744
753
  var cloneArr = (0, _toConsumableArray2.default)(dataSourceRef.current);
@@ -830,26 +839,72 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
830
839
  };
831
840
 
832
841
  var handleSave = function handleSave(row, options) {
842
+ var _a, _b;
843
+
844
+ var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[row[_rowKey]]) === null || _b === void 0 ? void 0 : _b.preKeys;
833
845
  var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
834
846
  if (options === null || options === void 0 ? void 0 : options.only) {
835
847
  var _ref2 = options === null || options === void 0 ? void 0 : options.only,
836
848
  key = _ref2.key,
837
849
  value = _ref2.value;
838
850
 
839
- draft.forEach(function (item, index) {
840
- if (row[_rowKey] === item[_rowKey]) {
841
- draft[index] = row;
842
- } else {
843
- draft[index][key] = value;
844
- }
845
- });
851
+ if ((preKeys === null || preKeys === void 0 ? void 0 : preKeys.length) > 1) {
852
+ var deeps = function deeps(children) {
853
+ children.forEach(function (item) {
854
+ var _a;
855
+
856
+ if (preKeys.includes(item[_rowKey])) {
857
+ if (item[_rowKey] === row[_rowKey]) {
858
+ children.forEach(function (c) {
859
+ c[key] = value;
860
+ });
861
+ (_a = Object.keys(item)) === null || _a === void 0 ? void 0 : _a.forEach(function (v) {
862
+ item[v] = row[v] || item[v];
863
+ });
864
+ } else if (item.children) {
865
+ deeps(item.children);
866
+ }
867
+ }
868
+ });
869
+ };
870
+
871
+ deeps(draft);
872
+ } else {
873
+ draft.forEach(function (item, index) {
874
+ if (row[_rowKey] === item[_rowKey]) {
875
+ draft[index] = row;
876
+ } else {
877
+ draft[index][key] = value;
878
+ }
879
+ });
880
+ }
846
881
  } else {
847
- var index = draft.findIndex(function (item) {
848
- return row[_rowKey] === item[_rowKey];
849
- });
882
+ if ((preKeys === null || preKeys === void 0 ? void 0 : preKeys.length) > 1) {
883
+ var _deeps = function _deeps(children) {
884
+ children.forEach(function (item) {
885
+ var _a;
886
+
887
+ if (preKeys.includes(item[_rowKey])) {
888
+ if (item[_rowKey] === row[_rowKey]) {
889
+ (_a = Object.keys(row)) === null || _a === void 0 ? void 0 : _a.forEach(function (v) {
890
+ item[v] = row[v] || item[v];
891
+ });
892
+ } else if (item.children) {
893
+ _deeps(item.children);
894
+ }
895
+ }
896
+ });
897
+ };
850
898
 
851
- if (index !== -1) {
852
- draft[index] = row;
899
+ _deeps(draft);
900
+ } else {
901
+ var index = draft.findIndex(function (item) {
902
+ return row[_rowKey] === item[_rowKey];
903
+ });
904
+
905
+ if (index !== -1) {
906
+ draft[index] = row;
907
+ }
853
908
  }
854
909
  }
855
910
  });
@@ -871,60 +926,93 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
871
926
  return item;
872
927
  });
873
928
  });
874
- }; // 校验保存
875
- // const save = async (row) => {
876
- // try {
877
- // const values = row || (await form.getFieldsValue())
878
- // handleSave({ ...record, ...values })
879
- // await form.validateFields()
880
- // // 清空异常校验
881
- // setValid((old) => {
882
- // const obj = { ...old }
883
- // delete obj[record[rowKey]]
884
- // return obj
885
- // })
886
- // } catch (errInfo) {
887
- // // 加入异常校验
888
- // setValid((old) => ({ ...old, [record[rowKey]]: errInfo.errorFields }))
889
- // }
890
- // }
891
- // @ts-ignore
929
+ }; // @ts-ignore
892
930
 
893
931
 
894
932
  var handleTableRowDelete = function handleTableRowDelete(key) {
895
- var _a;
933
+ var _a, _b, _c;
896
934
 
897
- if (((_a = dataSourceRef.current) === null || _a === void 0 ? void 0 : _a.length) === 1 && !quickOpetateClearAll) {
898
- return false;
899
- }
935
+ var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.preKeys;
900
936
 
901
- var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
902
- var index = draft.findIndex(function (item) {
903
- return key === item[_rowKey];
904
- });
937
+ if (preKeys.length > 1) {
938
+ /** 说明删除的是children中的数据 */
939
+ var filter = function filter(data, key) {
940
+ var newData = data.filter(function (x) {
941
+ return x[_rowKey] !== key;
942
+ });
943
+ newData.forEach(function (x) {
944
+ if (x.children) {
945
+ var c = filter(x.children, key);
946
+ x.children = c;
947
+
948
+ if (!c.length) {
949
+ delete x.children;
950
+ }
951
+ }
952
+ });
953
+ return newData;
954
+ };
905
955
 
906
- if (index !== -1) {
907
- draft.splice(index, 1);
908
- }
909
- });
956
+ var res = filter(dataSource, key);
910
957
 
911
- if (onChange) {
912
- onChange === null || onChange === void 0 ? void 0 : onChange(res);
958
+ if (onChange) {
959
+ onChange === null || onChange === void 0 ? void 0 : onChange(res);
960
+ } else {
961
+ setDataSource(res);
962
+ }
913
963
  } else {
914
- setDataSource(res);
915
- } // setDataSource(res)
916
- // onChange?.(res)
964
+ if (((_c = dataSourceRef.current) === null || _c === void 0 ? void 0 : _c.length) === 1 && !quickOpetateClearAll) {
965
+ return false;
966
+ }
967
+
968
+ var _res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
969
+ var index = draft.findIndex(function (item) {
970
+ return key === item[_rowKey];
971
+ });
972
+
973
+ if (index !== -1) {
974
+ draft.splice(index, 1);
975
+ }
976
+ });
917
977
 
978
+ if (onChange) {
979
+ onChange === null || onChange === void 0 ? void 0 : onChange(_res);
980
+ } else {
981
+ setDataSource(_res);
982
+ }
983
+ }
918
984
  };
985
+ /** 快捷添加 */
986
+
919
987
 
920
988
  var handleTableRowAdd = function handleTableRowAdd(record) {
989
+ var _a, _b;
990
+
991
+ console.log(record, '-rrrrr');
992
+ var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[record[_rowKey]]) === null || _b === void 0 ? void 0 : _b.preKeys;
921
993
  var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
922
- var index = draft.findIndex(function (item) {
923
- return record[_rowKey] === item[_rowKey];
924
- });
994
+ if (preKeys.length > 1) {
995
+ var deeps = function deeps(children) {
996
+ children.forEach(function (item, index) {
997
+ if (preKeys.includes(item[_rowKey])) {
998
+ if (item[_rowKey] === record[_rowKey]) {
999
+ children.splice(index + 1, 0, (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
1000
+ } else if (item.children) {
1001
+ deeps(item.children);
1002
+ }
1003
+ }
1004
+ });
1005
+ };
1006
+
1007
+ deeps(draft);
1008
+ } else {
1009
+ var index = draft.findIndex(function (item) {
1010
+ return record[_rowKey] === item[_rowKey];
1011
+ });
925
1012
 
926
- if (index !== -1) {
927
- draft.splice(index + 1, 0, (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
1013
+ if (index !== -1) {
1014
+ draft.splice(index + 1, 0, (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
1015
+ }
928
1016
  }
929
1017
  });
930
1018
 
@@ -1105,52 +1193,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1105
1193
 
1106
1194
  var res = localColumns.map(function (col, index) {
1107
1195
  return mapColumns(col, index);
1108
- }); // const res = localColumns.map((col, index) => {
1109
- // if (!col.editable) {
1110
- // return col
1111
- // }
1112
- // return {
1113
- // ...col,
1114
- // shouldCellUpdate: (record, prevRecord) => {
1115
- // const { dataIndex, editable, relevanceCols } = col
1116
- // if (col?.fixed ||
1117
- // (hasDisableOptions && hasDisableOptions.includes(dataIndex)) ||
1118
- // col.componentProps?.options ||
1119
- // editable === 'render' ||
1120
- // !!relevanceCols || !!shouldUpdate) {
1121
- // return true
1122
- // }
1123
- // return record[dataIndex] !== prevRecord[dataIndex]
1124
- // },
1125
- // onCell: (record, rowIndex) => {
1126
- // return {
1127
- // getLength: dataSource.length,
1128
- // rowKey,
1129
- // record,
1130
- // col,
1131
- // rowIndex,
1132
- // colIndex: index,
1133
- // quickOpetateClearAll,
1134
- // handleTableRowDelete,
1135
- // handleTableRowAdd,
1136
- // editable: col.editable,
1137
- // dataIndex: col.dataIndex,
1138
- // itemProps: col.itemProps,
1139
- // setValid,
1140
- // isEdit,
1141
- // isHoverEdit,
1142
- // handleAdd,
1143
- // handleDelete,
1144
- // handleCopy,
1145
- // editEnum: typeof col.editEnum === 'function' ? col.editEnum(record) : col.editEnum,
1146
- // valueType: typeof col.valueType === 'function' ? col.valueType(record) : col.valueType,
1147
- // handleSave,
1148
- // reWriteOriginSource,
1149
- // }
1150
- // },
1151
- // }
1152
- // })
1153
-
1196
+ });
1154
1197
  return res;
1155
1198
  }, [columns, isAdd, sortOpen, useQuickOpetate, sortEditTable, dataSource, (0, _toConsumableArray2.default)(memoOptions)]);
1156
1199
  var DraggableContainer = (0, _react.useCallback)(function (_a) {
@@ -1210,9 +1253,32 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1210
1253
  }, resetProps);
1211
1254
  }, [resultColumns, dataSource, sortOpen, colSortOpen, size]);
1212
1255
  (0, _react.useEffect)(function () {
1213
- setDataSource(defaultData === null || defaultData === void 0 ? void 0 : defaultData.map(function (v, idx) {
1256
+ // setDataSource(defaultData?.map((v, idx) => ({ ...v, [rowKey]: v[rowKey] || `v${idx + 1}` })))
1257
+ var addRowKey = function addRowKey(children, pkey) {
1258
+ return children === null || children === void 0 ? void 0 : children.map(function (item, index) {
1259
+ if (item.children) {
1260
+ var _Object$assign5;
1261
+
1262
+ var rchildren = addRowKey(item.children, "".concat(pkey, "_").concat(index + 1));
1263
+ return Object.assign(Object.assign({}, item), (_Object$assign5 = {}, (0, _defineProperty2.default)(_Object$assign5, _rowKey, item[_rowKey] || "".concat(pkey, "_").concat(index + 1)), (0, _defineProperty2.default)(_Object$assign5, "children", rchildren), _Object$assign5));
1264
+ }
1265
+
1266
+ return Object.assign(Object.assign({}, item), (0, _defineProperty2.default)({}, _rowKey, item[_rowKey] || "".concat(pkey, "_").concat(index + 1)));
1267
+ });
1268
+ };
1269
+
1270
+ var res = defaultData === null || defaultData === void 0 ? void 0 : defaultData.map(function (v, idx) {
1271
+ if (v.children) {
1272
+ var _Object$assign7;
1273
+
1274
+ var rchildren = addRowKey(v.children, v[_rowKey] || "v".concat(idx + 1));
1275
+ return Object.assign(Object.assign({}, v), (_Object$assign7 = {}, (0, _defineProperty2.default)(_Object$assign7, _rowKey, v[_rowKey] || "v".concat(idx + 1)), (0, _defineProperty2.default)(_Object$assign7, "children", rchildren), _Object$assign7));
1276
+ }
1277
+
1214
1278
  return Object.assign(Object.assign({}, v), (0, _defineProperty2.default)({}, _rowKey, v[_rowKey] || "v".concat(idx + 1)));
1215
- }));
1279
+ });
1280
+ deepDataSourceRef.current = (0, _util.deepDataSourcePreKeys)(res, _rowKey);
1281
+ setDataSource(res);
1216
1282
  }, [defaultData]);
1217
1283
  (0, _react.useImperativeHandle)(ref, function () {
1218
1284
  return {
@@ -1276,6 +1342,13 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1276
1342
  bordered: true,
1277
1343
  pagination: false,
1278
1344
  // components={tableComponents}
1345
+ expandable: (resetProps === null || resetProps === void 0 ? void 0 : resetProps.expandable) || {
1346
+ expandedRowKeys: expandedRowKeys,
1347
+ fixed: true,
1348
+ onExpandedRowsChange: function onExpandedRowsChange(expandedRows) {
1349
+ return setExpandedRowKeys(expandedRows);
1350
+ }
1351
+ },
1279
1352
  rowSelection: !rowSelection ? undefined : {
1280
1353
  fixed: true,
1281
1354
  type: 'checkbox',
@@ -556,6 +556,9 @@ p {
556
556
  flex: 1;
557
557
  max-width: 100%;
558
558
  }
559
+ .lm_editTable_warpper .lm_custom_cell_td .ant-table-row-expand-icon {
560
+ margin-top: 6px;
561
+ }
559
562
  .lm_editTable_warpper .lm_editTable_cell_edit {
560
563
  height: 40px;
561
564
  padding: 8px 8px !important;
@@ -45,6 +45,9 @@
45
45
  flex: 1;
46
46
  max-width: 100%;
47
47
  }
48
+ .lm_editTable_warpper .lm_custom_cell_td .ant-table-row-expand-icon {
49
+ margin-top: 6px;
50
+ }
48
51
  .lm_editTable_warpper .lm_editTable_cell_edit {
49
52
  height: 40px;
50
53
  padding: 8px 8px !important;
@@ -1 +1,7 @@
1
1
  export declare function isObjEmpty(obj: Record<string, any>): boolean;
2
+ export declare function deepDataSourcePreKeys(dataSource: any[], rowKey: string): any;
3
+ export declare function isExpandRow(children: any): boolean;
4
+ declare const _default: {
5
+ isObjEmpty: typeof isObjEmpty;
6
+ };
7
+ export default _default;
@@ -1,12 +1,51 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
8
+ exports.deepDataSourcePreKeys = deepDataSourcePreKeys;
9
+ exports.default = void 0;
10
+ exports.isExpandRow = isExpandRow;
6
11
  exports.isObjEmpty = isObjEmpty;
7
12
 
13
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
+
15
+ var _lodash = require("lodash");
16
+
8
17
  function isObjEmpty(obj) {
9
18
  var _a;
10
19
 
11
20
  return ((_a = Object.keys(obj || {})) === null || _a === void 0 ? void 0 : _a.length) === 0;
12
- }
21
+ }
22
+
23
+ function deepDataSourcePreKeys(dataSource, rowKey) {
24
+ var deepDataSource = [];
25
+
26
+ var eachChildren = function eachChildren(children, preKeys) {
27
+ children.forEach(function (item) {
28
+ deepDataSource.push(Object.assign(Object.assign({}, item), {
29
+ preKeys: [].concat((0, _toConsumableArray2.default)(preKeys), [item[rowKey]])
30
+ }));
31
+
32
+ if (item.children) {
33
+ eachChildren(item.children, [].concat((0, _toConsumableArray2.default)(preKeys), [item[rowKey]])); // deepDataSource.push({ ...item, preKeys: [...preKeys, item[rowKey]] })
34
+ }
35
+ });
36
+ };
37
+
38
+ eachChildren(dataSource, []);
39
+ return (0, _lodash.keyBy)(deepDataSource, rowKey);
40
+ }
41
+
42
+ function isExpandRow(children) {
43
+ var _a, _b, _c, _d, _e;
44
+
45
+ return ['Collapse row', 'Expand row'].includes((_e = (_d = (_c = (_b = (_a = children === null || children === void 0 ? void 0 : children[0]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.children) === null || _c === void 0 ? void 0 : _c[1]) === null || _d === void 0 ? void 0 : _d.props) === null || _e === void 0 ? void 0 : _e['aria-label']);
46
+ }
47
+
48
+ var _default = {
49
+ isObjEmpty: isObjEmpty
50
+ };
51
+ exports.default = _default;
@@ -13,7 +13,9 @@ var _linkmoreDesign = require("linkmore-design");
13
13
 
14
14
  var LmFilterClear = /*#__PURE__*/_react.default.memo(function (_ref) {
15
15
  var instance = _ref.instance;
16
- var onClearChange = instance.onClearChange;
16
+ var onClearChange = instance.onClearChange,
17
+ getHasFilter = instance.getHasFilter;
18
+ if (!getHasFilter()) return null;
17
19
 
18
20
  var handleClear = function handleClear() {
19
21
  onClearChange();
@@ -9,13 +9,13 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _empty = _interopRequireDefault(require("../assets/empty.png"));
12
+ var emptyBase64 = "data:image/png;base64,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";
13
13
 
14
14
  var EmptyFilter = function EmptyFilter() {
15
15
  return /*#__PURE__*/_react.default.createElement("div", {
16
16
  className: "filter_empty"
17
17
  }, /*#__PURE__*/_react.default.createElement("img", {
18
- src: _empty.default,
18
+ src: emptyBase64,
19
19
  alt: "empty",
20
20
  width: 81
21
21
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -51,6 +51,7 @@ declare const useCoreOptions: ({ state, dispatch, props }: {
51
51
  };
52
52
  type: string;
53
53
  };
54
+ getHasFilter: () => boolean;
54
55
  setFilterValue: (itemValue: any, item: any) => void;
55
56
  setFilterFieldValue: (field: any, value: any) => void;
56
57
  setLocalization: (localization?: any) => void;
@@ -167,7 +167,11 @@ var useCoreOptions = function useCoreOptions(_ref) {
167
167
  searchKey = props.searchKey,
168
168
  searchConfig = props.searchConfig,
169
169
  customOptions = props.customOptions,
170
- enableAutoString = props.enableAutoString; // 转换一级查询结构 object => array
170
+ enableAutoString = props.enableAutoString; // 获取是否存在过滤值
171
+
172
+ var getHasFilter = (0, _react.useCallback)(function () {
173
+ return (0, _utils.getIsHas)(state.basicFilter) || (0, _utils.getIsHas)(state.searchFilter);
174
+ }, [state.basicFilter, state.searchFilter]); // 转换一级查询结构 object => array
171
175
 
172
176
  var tranformGlobalQuery = (0, _react.useCallback)(function (obj) {
173
177
  var _a;
@@ -628,6 +632,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
628
632
  },
629
633
  getFilterValue: getFilterValue,
630
634
  getFilterQuery: getFilterQuery,
635
+ getHasFilter: getHasFilter,
631
636
  setFilterValue: setFilterValue,
632
637
  setFilterFieldValue: setFilterFieldValue,
633
638
  setLocalization: setLocalization,
@@ -132,7 +132,7 @@ var getInitialState = function getInitialState(props) {
132
132
  basicFilter = _initLocalization.basicFilter,
133
133
  basicQuery = _initLocalization.basicQuery,
134
134
  customQuery = _initLocalization.customQuery,
135
- customFilter = _initLocalization.customFilter; // 字段对应关系 basicQuery => filterQuery; customQuery => globalQuery; searchQuery => fuzzyQuery
135
+ customFilter = _initLocalization.customFilter; // 字段对应关系 basicQuery => filterQuery; customQuery => globalQuery; searchQuery => fuzzyQuery
136
136
 
137
137
 
138
138
  return {
@@ -1126,7 +1126,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1126
1126
  items_per_page: '/条',
1127
1127
  jump_to: '前往',
1128
1128
  page: '页'
1129
- } : locale.Pagination || {},
1129
+ } : (locale === null || locale === void 0 ? void 0 : locale.Pagination) || {},
1130
1130
  size: 'small'
1131
1131
  }, pagination),
1132
1132
  rowSelection: rowSelection === false ? undefined : (0, _objectSpread2.default)({
@@ -84,6 +84,7 @@ var LmUpload = function LmUpload(_a, ref) {
84
84
  var defaultProps = Object.assign({
85
85
  size: 100,
86
86
  fileSize: 10,
87
+ fileSizeType: 'M',
87
88
  uid: 'uid',
88
89
  accept: '',
89
90
  type: ['jpg', 'jpeg', 'png'],
@@ -6,7 +6,7 @@ declare const useCoreOptions: ({ state, dispatch, props }: {
6
6
  CoreMethods: {
7
7
  getIsMaxCount: () => boolean;
8
8
  getFileFields: (fileParams: any) => {};
9
- beforeUpload: (e: any) => false | import("../../message").MessageType;
9
+ beforeUpload: (e: any) => Promise<void>;
10
10
  checkOver: (file: any) => Promise<void>;
11
11
  getUploadStatus: () => {
12
12
  uploading: boolean;