linkmore-design 1.1.13-alpha.6 → 1.1.13-alpha.9

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 (40) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/dist/LmEditTable/EditTable.d.ts +1 -1
  3. package/dist/index.umd.js +87 -34
  4. package/dist/index.umd.min.js +2 -2
  5. package/dist/variables.css +29 -9
  6. package/es/LmEditTable/EditTable.d.ts +1 -1
  7. package/es/LmEditTable/EditTable.js +43 -17
  8. package/es/LmEditTable/style/index.css +6 -0
  9. package/es/LmEditTable/style/variables.css +6 -0
  10. package/es/LmEditTable/util.js +7 -2
  11. package/es/LmFilter/style/index.css +6 -9
  12. package/es/LmFilter/style/variables.css +6 -9
  13. package/es/LmTable/Table.js +14 -8
  14. package/es/LmUpload/UploadList/ItemPicture.js +2 -1
  15. package/es/LmUpload/UploadList/ItemPictureCard.js +11 -2
  16. package/es/LmUpload/UploadList/ItemText.js +2 -1
  17. package/es/LmUpload/UploadList/index.js +2 -1
  18. package/es/LmUpload/body/UploadCore.js +4 -1
  19. package/es/LmUpload/style/index.css +17 -0
  20. package/es/LmUpload/style/variables.css +17 -0
  21. package/es/TreeSelect/index.js +2 -1
  22. package/es/styles/variables.css +29 -9
  23. package/lib/LmEditTable/EditTable.d.ts +1 -1
  24. package/lib/LmEditTable/EditTable.js +42 -16
  25. package/lib/LmEditTable/style/index.css +6 -0
  26. package/lib/LmEditTable/style/variables.css +6 -0
  27. package/lib/LmEditTable/util.js +6 -1
  28. package/lib/LmFilter/style/index.css +6 -9
  29. package/lib/LmFilter/style/variables.css +6 -9
  30. package/lib/LmTable/Table.js +14 -8
  31. package/lib/LmUpload/UploadList/ItemPicture.js +2 -1
  32. package/lib/LmUpload/UploadList/ItemPictureCard.js +11 -2
  33. package/lib/LmUpload/UploadList/ItemText.js +2 -1
  34. package/lib/LmUpload/UploadList/index.js +2 -1
  35. package/lib/LmUpload/body/UploadCore.js +5 -1
  36. package/lib/LmUpload/style/index.css +17 -0
  37. package/lib/LmUpload/style/variables.css +17 -0
  38. package/lib/TreeSelect/index.js +2 -1
  39. package/lib/styles/variables.css +29 -9
  40. package/package.json +1 -1
@@ -9813,6 +9813,12 @@ p {
9813
9813
  padding-left: 8px;
9814
9814
  padding-right: 8px;
9815
9815
  }
9816
+ .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 {
9817
+ background-color: rgba(0, 0, 0, 0.06) !important;
9818
+ }
9819
+ .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 {
9820
+ background-color: rgba(0, 0, 0, 0.06) !important;
9821
+ }
9816
9822
  .lm_editTable_warpper .ant-picker {
9817
9823
  height: 24px !important;
9818
9824
  padding: 2px 8px;
@@ -9968,15 +9974,6 @@ p {
9968
9974
  }
9969
9975
  .lm_filter_basic_item .filter_item_icon .icon_clear {
9970
9976
  display: none;
9971
- opacity: 0;
9972
- }
9973
- .lm_filter_basic_item .filter_item_icon:hover .icon_down {
9974
- display: none;
9975
- opacity: 0;
9976
- }
9977
- .lm_filter_basic_item .filter_item_icon:hover .icon_clear {
9978
- display: inline-block;
9979
- opacity: 1;
9980
9977
  }
9981
9978
  .lm_filter_basic_item.expand .filter_item_icon.addon_after {
9982
9979
  transform: rotateX(180deg);
@@ -9991,6 +9988,12 @@ p {
9991
9988
  .lm_filter_basic_item.active.lm_filter_complex_item .filter_item_label {
9992
9989
  color: var(--primary-color);
9993
9990
  }
9991
+ .lm_filter_basic_item.active:hover .icon_down {
9992
+ display: none;
9993
+ }
9994
+ .lm_filter_basic_item.active:hover .icon_clear {
9995
+ display: inline-block;
9996
+ }
9994
9997
  .ant-dropdown.filter_dropdown_container_cascader > div {
9995
9998
  transform: translateY(-4px);
9996
9999
  }
@@ -11909,6 +11912,7 @@ button.ant-table-row-expand-icon::after {
11909
11912
  gap: 8px;
11910
11913
  }
11911
11914
  .lm_upload_wrapper .lm_upload_core {
11915
+ position: relative;
11912
11916
  display: inline-flex;
11913
11917
  vertical-align: middle;
11914
11918
  }
@@ -11923,6 +11927,12 @@ button.ant-table-row-expand-icon::after {
11923
11927
  cursor: pointer;
11924
11928
  transition: all 0.3s;
11925
11929
  }
11930
+ .lm_upload_wrapper .lm_upload_core .lm_upload_core_picture::after {
11931
+ position: absolute;
11932
+ background-color: var(--disabled-bg-color);
11933
+ cursor: not-allowed;
11934
+ inset: 0;
11935
+ }
11926
11936
  .lm_upload_wrapper .lm_upload_core .lm_upload_core_picture:hover {
11927
11937
  border-color: var(--primary-color);
11928
11938
  }
@@ -11938,6 +11948,16 @@ button.ant-table-row-expand-icon::after {
11938
11948
  margin-top: var(--gap);
11939
11949
  color: var(--color-45);
11940
11950
  }
11951
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture {
11952
+ border-color: var(--disabled-border-color);
11953
+ }
11954
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture::after {
11955
+ content: '';
11956
+ }
11957
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture .lm_upload_core_picture_action .action_plus,
11958
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture .lm_upload_core_picture_action .tip {
11959
+ color: var(--disabled-font-color);
11960
+ }
11941
11961
  .lm_upload_wrapper .lm_upload_progress {
11942
11962
  width: 100%;
11943
11963
  height: 2px;
@@ -33,7 +33,7 @@ export interface CountdownHandle {
33
33
  clearSelect: () => void;
34
34
  customSetCheckboxRecords: (data: any[]) => void;
35
35
  deleteRowData: (record: string | Record<string, any>) => void;
36
- addRowData: (record: string | Record<string, any>, defaultValue?: Record<string, any> | Record<string, any>[], addInChild?: boolean) => void;
36
+ addRowData: (record: string | Record<string, any>, defaultValue?: Record<string, any> | Record<string, any>[], addInChild?: boolean | 'replace') => void;
37
37
  valid: () => void;
38
38
  }
39
39
  interface ILmColumns extends TableColumnType<any> {
@@ -54,7 +54,7 @@ import { PlusCircleOutlined } from '@ant-design/icons';
54
54
  import moment from 'moment';
55
55
  import { arrayMove } from '@dnd-kit/sortable';
56
56
  import { Button, Checkbox, IconFont, Input, InputNumber, Radio, Select, Table, Switch, DatePicker, Form, Popover } from 'linkmore-design';
57
- import { get, set, isFunction, omit, isEqual, pick, isBoolean, isObject } from 'lodash';
57
+ import { get, set, isFunction, omit, isEqual, pick, isBoolean, isObject, debounce } from 'lodash';
58
58
  import React, { forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState, memo, useCallback } from 'react';
59
59
  import { useControllableValue } from 'ahooks';
60
60
  import { produce } from 'immer';
@@ -640,7 +640,8 @@ var EditableCell = function EditableCell(props) {
640
640
  valuePropName: editable === 'switch' ? 'checked' : 'value',
641
641
  style: {
642
642
  margin: 0
643
- }
643
+ },
644
+ noStyle: formProps ? false : true
644
645
  }, formProps, {
645
646
  name: dataIndex
646
647
  }), Control(editable)));
@@ -652,6 +653,7 @@ var EditableCell = function EditableCell(props) {
652
653
  margin: 0
653
654
  }
654
655
  }, formProps, {
656
+ noStyle: formProps ? false : true,
655
657
  name: [dataIndex, 'value']
656
658
  }), Control(editable)));
657
659
  }
@@ -662,7 +664,7 @@ var EditableCell = function EditableCell(props) {
662
664
  }
663
665
 
664
666
  return childNode;
665
- }, [col, isEdit, editing, getLength]); // 出现死循环找我
667
+ }, [col, isEdit, editing, getLength, record]); // 出现死循环找我
666
668
 
667
669
  useEffect(function () {
668
670
  var editable = col.editable,
@@ -709,10 +711,14 @@ var MemoEditableCell = /*#__PURE__*/memo(EditableCell, function (prev, next) {
709
711
  var pickProps = ['record', 'colIndex'];
710
712
  var p = pick(prev, pickProps);
711
713
  var n = pick(next, pickProps);
712
- console.log(prev, next, 222); // console.log(prev, next, '22', checkMemoShouldUploadSpecialFun(prev, next), isEqual(p, n))
714
+
715
+ if (next === null || next === void 0 ? void 0 : next.shouldUpdate) {
716
+ return false;
717
+ } // console.log('333', checkMemoShouldUploadSpecialFun(prev, next), isEqual(p, n))
713
718
 
714
719
  /** TODO: 在record中带有children,子列表数据修改之后,会导致父级的record对比不一样 */
715
720
 
721
+
716
722
  if (!checkMemoShouldUploadSpecialFun(prev, next)) {
717
723
  return false;
718
724
  }
@@ -823,7 +829,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
823
829
  /** 点击添加按钮添加 */
824
830
 
825
831
 
826
- var handleAdd = function handleAdd(row) {
832
+ var handleAdd = debounce(function (row) {
827
833
  var _a;
828
834
 
829
835
  var addDataInfo = isFunction(recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.initData) ? (_a = recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.initData) === null || _a === void 0 ? void 0 : _a.call(recordCreatorProps) : recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.initData;
@@ -831,7 +837,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
831
837
  draft.push(Object.assign(_defineProperty({}, _rowKey, "".concat(Date.now())), addDataInfo || {}));
832
838
  });
833
839
  setDataSource(res); // onChange?.(res)
834
- };
840
+ }, 40);
835
841
  /** 本地缓存一个选择数据 */
836
842
  // useEffect(() => {
837
843
  // if (rowSelection) {
@@ -846,7 +852,6 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
846
852
  // ;(rowSelection?.onChange as any)?.(selectRows)
847
853
  // }
848
854
 
849
-
850
855
  var handleSave = function handleSave(row, options) {
851
856
  var _a, _b;
852
857
 
@@ -933,7 +938,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
933
938
  }; // @ts-ignore
934
939
 
935
940
 
936
- var handleTableRowDelete = function handleTableRowDelete(key) {
941
+ var handleTableRowDelete = debounce(function (key) {
937
942
  var _a, _b, _c;
938
943
 
939
944
  var rkey = isObject(key) ? key[_rowKey] : key;
@@ -977,16 +982,38 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
977
982
 
978
983
  setDataSource(_res);
979
984
  }
980
- };
981
- /** 快捷添加 */
985
+ }, 40);
986
+ var handleTableRowReplace = debounce(function (record, defaultRecord) {
987
+ var _a, _b;
982
988
 
989
+ var rkey = isObject(record) ? record[_rowKey] : record;
990
+ var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[rkey]) === null || _b === void 0 ? void 0 : _b.preKeys; // const res = cloneDeep(dataSourceRef.current)
991
+
992
+ var deep = function deep(children) {
993
+ return children.map(function (item) {
994
+ if (item[_rowKey] === rkey) {
995
+ return defaultRecord;
996
+ } else if (preKeys.includes(item[_rowKey]) && item.children) {
997
+ var child = deep(item.children);
998
+ return Object.assign(Object.assign({}, item), {
999
+ children: child
1000
+ });
1001
+ } else {
1002
+ return item;
1003
+ }
1004
+ });
1005
+ };
983
1006
 
984
- var handleTableRowAdd = function handleTableRowAdd(record, isAppendInChindren, defaultRecord) {
1007
+ var res = deep(dataSourceRef.current);
1008
+ setDataSource(res);
1009
+ }, 40);
1010
+ /** 快捷添加 */
1011
+
1012
+ var handleTableRowAdd = debounce(function (record, isAppendInChindren, defaultRecord) {
985
1013
  var _a, _b;
986
1014
 
987
1015
  var rkey = isObject(record) ? record[_rowKey] : record;
988
1016
  var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[rkey]) === null || _b === void 0 ? void 0 : _b.preKeys;
989
- console.log(record, isAppendInChindren, defaultRecord, '333', preKeys);
990
1017
  var res = produce(dataSourceRef.current, function (draft) {
991
1018
  var _a, _b, _c, _d, _e;
992
1019
 
@@ -1052,10 +1079,8 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1052
1079
  !expandedRowKeys.includes((_d = draft[index]) === null || _d === void 0 ? void 0 : _d[_rowKey]) && setExpandedRowKeys([].concat(_toConsumableArray(expandedRowKeys), [(_e = draft[index]) === null || _e === void 0 ? void 0 : _e[_rowKey]]));
1053
1080
  } else {
1054
1081
  if (Array.isArray(defaultRecord)) {
1055
- console.log(1);
1056
1082
  draft.splice.apply(draft, [index + 1, 0].concat(_toConsumableArray(defaultRecord)));
1057
1083
  } else {
1058
- console.log(2);
1059
1084
  draft.splice(index + 1, 0, defaultRecord || _defineProperty({}, _rowKey, "".concat(Date.now())));
1060
1085
  }
1061
1086
  }
@@ -1063,7 +1088,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1063
1088
  }
1064
1089
  });
1065
1090
  setDataSource(res);
1066
- };
1091
+ }, 40);
1067
1092
 
1068
1093
  var handleCopy = function handleCopy(key, value, type, rowIndex) {
1069
1094
  var res = produce(dataSourceRef.current, function (draft) {
@@ -1150,7 +1175,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1150
1175
  fixed: 'left',
1151
1176
  render: function render(_, record) {
1152
1177
  return /*#__PURE__*/React.createElement(DragHandle, {
1153
- id: record[_rowKey] || (record === null || record === void 0 ? void 0 : record.id)
1178
+ id: (record === null || record === void 0 ? void 0 : record[_rowKey]) || (record === null || record === void 0 ? void 0 : record.id)
1154
1179
  });
1155
1180
  }
1156
1181
  } : null, indexCol ? isBoolean(indexCol) ? {
@@ -1235,6 +1260,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1235
1260
  editable: col.editable,
1236
1261
  dataIndex: col.dataIndex,
1237
1262
  itemProps: col.itemProps,
1263
+ shouldUpdate: shouldUpdate,
1238
1264
  setValid: setValid,
1239
1265
  isEdit: isEdit,
1240
1266
  isHoverEdit: isHoverEdit,
@@ -1301,7 +1327,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1301
1327
  return handleTableRowDelete(data);
1302
1328
  },
1303
1329
  addRowData: function addRowData(data, defaultValue, addInChild) {
1304
- return handleTableRowAdd(data, addInChild, defaultValue);
1330
+ return addInChild === 'replace' ? handleTableRowReplace(data, defaultValue) : handleTableRowAdd(data, addInChild, defaultValue);
1305
1331
  },
1306
1332
  clearSelect: function clearSelect() {
1307
1333
  setLocalRowSelectList({
@@ -613,6 +613,12 @@ p {
613
613
  padding-left: 8px;
614
614
  padding-right: 8px;
615
615
  }
616
+ .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 {
617
+ background-color: rgba(0, 0, 0, 0.06) !important;
618
+ }
619
+ .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 {
620
+ background-color: rgba(0, 0, 0, 0.06) !important;
621
+ }
616
622
  .lm_editTable_warpper .ant-picker {
617
623
  height: 24px !important;
618
624
  padding: 2px 8px;
@@ -101,6 +101,12 @@
101
101
  padding-left: 8px;
102
102
  padding-right: 8px;
103
103
  }
104
+ .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 {
105
+ background-color: rgba(0, 0, 0, 0.06) !important;
106
+ }
107
+ .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 {
108
+ background-color: rgba(0, 0, 0, 0.06) !important;
109
+ }
104
110
  .lm_editTable_warpper .ant-picker {
105
111
  height: 24px !important;
106
112
  padding: 2px 8px;
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
- import { keyBy, isEqual, pick, isFunction } from 'lodash';
3
+ import { keyBy, isEqual, pick, isFunction, omit } from 'lodash';
4
4
  export function isObjEmpty(obj) {
5
5
  var _a;
6
6
 
@@ -77,7 +77,12 @@ export function checkMemoShouldUploadSpecialFun(prev, next) {
77
77
  return false;
78
78
  }
79
79
 
80
- if (((prevCol === null || prevCol === void 0 ? void 0 : prevCol.editable) === 'render' || (nextCol === null || nextCol === void 0 ? void 0 : nextCol.editable) === 'render') && (((_a = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _a === void 0 ? void 0 : _a.render) || ((_b = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _b === void 0 ? void 0 : _b.render)) && !isEqual(pick(prev, ['colIndex', 'record', 'rowIndex']), pick(next, ['colIndex', 'record', 'rowIndex']))) {
80
+ if (prev.isEdit !== next.isEdit) {
81
+ return false;
82
+ } // console.log(22, prevCol?.editable === 'render', nextCol?.editable === 'render', prevCol?.componentProps, prevCol?.componentProps)
83
+
84
+
85
+ if (((prevCol === null || prevCol === void 0 ? void 0 : prevCol.editable) === 'render' || (nextCol === null || nextCol === void 0 ? void 0 : nextCol.editable) === 'render') && (((_a = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _a === void 0 ? void 0 : _a.render) || ((_b = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _b === void 0 ? void 0 : _b.render)) && (!isEqual(omit(prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps, ['render']), omit(nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps, ['render'])) || !isEqual(pick(prev, ['colIndex', 'record', 'rowIndex']), pick(next, ['colIndex', 'record', 'rowIndex'])))) {
81
86
  return false;
82
87
  }
83
88
 
@@ -110,15 +110,6 @@
110
110
  }
111
111
  .lm_filter_basic_item .filter_item_icon .icon_clear {
112
112
  display: none;
113
- opacity: 0;
114
- }
115
- .lm_filter_basic_item .filter_item_icon:hover .icon_down {
116
- display: none;
117
- opacity: 0;
118
- }
119
- .lm_filter_basic_item .filter_item_icon:hover .icon_clear {
120
- display: inline-block;
121
- opacity: 1;
122
113
  }
123
114
  .lm_filter_basic_item.expand .filter_item_icon.addon_after {
124
115
  transform: rotateX(180deg);
@@ -133,6 +124,12 @@
133
124
  .lm_filter_basic_item.active.lm_filter_complex_item .filter_item_label {
134
125
  color: var(--primary-color);
135
126
  }
127
+ .lm_filter_basic_item.active:hover .icon_down {
128
+ display: none;
129
+ }
130
+ .lm_filter_basic_item.active:hover .icon_clear {
131
+ display: inline-block;
132
+ }
136
133
  .ant-dropdown.filter_dropdown_container_cascader > div {
137
134
  transform: translateY(-4px);
138
135
  }
@@ -110,15 +110,6 @@
110
110
  }
111
111
  .lm_filter_basic_item .filter_item_icon .icon_clear {
112
112
  display: none;
113
- opacity: 0;
114
- }
115
- .lm_filter_basic_item .filter_item_icon:hover .icon_down {
116
- display: none;
117
- opacity: 0;
118
- }
119
- .lm_filter_basic_item .filter_item_icon:hover .icon_clear {
120
- display: inline-block;
121
- opacity: 1;
122
113
  }
123
114
  .lm_filter_basic_item.expand .filter_item_icon.addon_after {
124
115
  transform: rotateX(180deg);
@@ -133,6 +124,12 @@
133
124
  .lm_filter_basic_item.active.lm_filter_complex_item .filter_item_label {
134
125
  color: var(--primary-color);
135
126
  }
127
+ .lm_filter_basic_item.active:hover .icon_down {
128
+ display: none;
129
+ }
130
+ .lm_filter_basic_item.active:hover .icon_clear {
131
+ display: inline-block;
132
+ }
136
133
  .ant-dropdown.filter_dropdown_container_cascader > div {
137
134
  transform: translateY(-4px);
138
135
  }
@@ -1086,13 +1086,19 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1086
1086
  var selectedRows = useSelectedRows.selectedRows;
1087
1087
 
1088
1088
  if (tableRowType === 'select' || tableRowType === 'default' && selectedRows.length) {
1089
- var selectIndex = selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.findIndex(function (v) {
1090
- return (0, _lodash.isObject)(v) ? v[rowKey] === record[rowKey] : v === record[rowKey];
1091
- });
1092
- selectIndex >= 0 ? selectedRows.splice(selectIndex, 1) : selectedRows.push((0, _lodash.isObject)(selectedRows[0]) || !selectedRows.length ? record : record[rowKey]);
1093
- setSelectedRows({
1094
- selectedRows: (0, _lodash.cloneDeep)(selectedRows)
1095
- }); // rowClick?.(selectedRows)
1089
+ if ((rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.type) === 'radio') {
1090
+ setSelectedRows({
1091
+ selectedRows: [(0, _lodash.isObject)(selectedRows[0]) || !selectedRows.length ? record : record[rowKey]]
1092
+ });
1093
+ } else {
1094
+ var selectIndex = selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.findIndex(function (v) {
1095
+ return (0, _lodash.isObject)(v) ? v[rowKey] === record[rowKey] : v === record[rowKey];
1096
+ });
1097
+ selectIndex >= 0 ? selectedRows.splice(selectIndex, 1) : selectedRows.push((0, _lodash.isObject)(selectedRows[0]) || !selectedRows.length ? record : record[rowKey]);
1098
+ setSelectedRows({
1099
+ selectedRows: (0, _lodash.cloneDeep)(selectedRows)
1100
+ });
1101
+ }
1096
1102
  }
1097
1103
  } else {
1098
1104
  rowClick === null || rowClick === void 0 ? void 0 : rowClick(record);
@@ -1176,7 +1182,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1176
1182
  }); // rowClick?.(reulstSelect)
1177
1183
  } : undefined,
1178
1184
  onSelect: (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.selectedRows) ? function (record, selected) {
1179
- var reulstSelect = selected ? (0, _lodash.uniqBy)([].concat((0, _toConsumableArray2.default)(rowSelection.selectedRows), [record]), rowKey) : rowSelection.selectedRows.filter(function (item) {
1185
+ var reulstSelect = rowSelection.type === 'radio' ? [record] : selected ? (0, _lodash.uniqBy)([].concat((0, _toConsumableArray2.default)(rowSelection.selectedRows), [record]), rowKey) : rowSelection.selectedRows.filter(function (item) {
1180
1186
  return item[rowKey] !== record[rowKey];
1181
1187
  });
1182
1188
  setSelectedRows({
@@ -6,6 +6,7 @@ var PictureItem = function PictureItem(_ref) {
6
6
  var file = _ref.file,
7
7
  instance = _ref.instance;
8
8
  var readOnly = instance.readOnly,
9
+ disabled = instance.disabled,
9
10
  remove = instance.remove,
10
11
  preview = instance.preview,
11
12
  download = instance.download,
@@ -27,7 +28,7 @@ var PictureItem = function PictureItem(_ref) {
27
28
  onClick: function onClick() {
28
29
  return download(file);
29
30
  }
30
- }, file[fileNames.fileName])), !readOnly && /*#__PURE__*/React.createElement("div", {
31
+ }, file[fileNames.fileName])), !readOnly && !disabled && /*#__PURE__*/React.createElement("div", {
31
32
  className: "picture_right lm_upload_item_action"
32
33
  }, /*#__PURE__*/React.createElement("div", {
33
34
  className: "action_delete",
@@ -67,6 +67,7 @@ var PictureItem = function PictureItem(_ref) {
67
67
  instance = _ref.instance,
68
68
  listeners = _ref.listeners;
69
69
  var dispatch = instance.dispatch,
70
+ disabled = instance.disabled,
70
71
  readOnly = instance.readOnly,
71
72
  size = instance.size,
72
73
  remove = instance.remove,
@@ -140,7 +141,15 @@ var PictureItem = function PictureItem(_ref) {
140
141
  })), /*#__PURE__*/React.createElement("div", {
141
142
  className: "lm_upload_item_mask"
142
143
  }, /*#__PURE__*/React.createElement("div", {
143
- className: "lm_upload_item_action"
144
+ className: "lm_upload_item_action",
145
+ onKeyDown: function onKeyDown(e) {
146
+ e.stopPropagation();
147
+ e.preventDefault();
148
+ },
149
+ onPointerDown: function onPointerDown(e) {
150
+ e.stopPropagation();
151
+ e.preventDefault();
152
+ }
144
153
  }, /*#__PURE__*/React.createElement("div", {
145
154
  className: "action_preview",
146
155
  onClick: handlePreview
@@ -149,7 +158,7 @@ var PictureItem = function PictureItem(_ref) {
149
158
  style: {
150
159
  fontSize: resetSize.fontSize
151
160
  }
152
- })), !readOnly && /*#__PURE__*/React.createElement("div", {
161
+ })), !readOnly && !disabled && /*#__PURE__*/React.createElement("div", {
153
162
  className: "action_delete",
154
163
  onClick: function onClick() {
155
164
  return remove(file);
@@ -6,6 +6,7 @@ var TextItem = function TextItem(_ref) {
6
6
  var file = _ref.file,
7
7
  instance = _ref.instance;
8
8
  var readOnly = instance.readOnly,
9
+ disabled = instance.disabled,
9
10
  remove = instance.remove,
10
11
  download = instance.download,
11
12
  fileNames = instance.fileNames;
@@ -22,7 +23,7 @@ var TextItem = function TextItem(_ref) {
22
23
  onClick: function onClick() {
23
24
  return download(file);
24
25
  }
25
- }, file[fileNames.fileName])), !readOnly && /*#__PURE__*/React.createElement("div", {
26
+ }, file[fileNames.fileName])), !readOnly && !disabled && /*#__PURE__*/React.createElement("div", {
26
27
  className: "text_right lm_upload_item_text_action"
27
28
  }, /*#__PURE__*/React.createElement("div", {
28
29
  className: "action_delete",
@@ -11,6 +11,7 @@ var LmUploadList = function LmUploadList(_ref) {
11
11
  itemRender = instance.itemRender,
12
12
  listType = instance.listType,
13
13
  showUploadList = instance.showUploadList,
14
+ disabled = instance.disabled,
14
15
  enableDrag = instance.enableDrag,
15
16
  fileNames = instance.fileNames,
16
17
  move = instance.move;
@@ -46,7 +47,7 @@ var LmUploadList = function LmUploadList(_ref) {
46
47
  }
47
48
  };
48
49
 
49
- if (enableDrag) {
50
+ if (!disabled && enableDrag) {
50
51
  return /*#__PURE__*/React.createElement(LmDrag, {
51
52
  options: fileList,
52
53
  rowKey: uid,
@@ -1,4 +1,5 @@
1
1
  import React, { useCallback } from 'react';
2
+ import cn from 'classnames';
2
3
  import UploadPicture from './UploadPicture'; // 上传核心
3
4
  // 渲染上传区域样式, 仅用于触发上传事件
4
5
  // type: 'card' 图片 | 'drag' 拖拽
@@ -10,6 +11,7 @@ var UploadCore = function UploadCore(_ref) {
10
11
 
11
12
  var inputRef = React.useRef(null);
12
13
  var accept = instance.accept,
14
+ disabled = instance.disabled,
13
15
  children = instance.children,
14
16
  beforeUpload = instance.beforeUpload,
15
17
  getUploadStatus = instance.getUploadStatus,
@@ -18,6 +20,7 @@ var UploadCore = function UploadCore(_ref) {
18
20
  var handleClick = useCallback(function () {
19
21
  var _a;
20
22
 
23
+ if (disabled) return;
21
24
  var isUploading = getUploadStatus().uploading;
22
25
  if (isUploading) return;
23
26
  (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.click();
@@ -43,7 +46,7 @@ var UploadCore = function UploadCore(_ref) {
43
46
  };
44
47
  return !getIsMaxCount() && /*#__PURE__*/React.createElement("div", {
45
48
  onClick: handleClick,
46
- className: "lm_upload_core"
49
+ className: cn('lm_upload_core', disabled && 'disabled')
47
50
  }, children || /*#__PURE__*/React.createElement(UploadPicture, {
48
51
  instance: instance
49
52
  }), /*#__PURE__*/React.createElement("input", Object.assign({
@@ -122,6 +122,7 @@
122
122
  gap: 8px;
123
123
  }
124
124
  .lm_upload_wrapper .lm_upload_core {
125
+ position: relative;
125
126
  display: inline-flex;
126
127
  vertical-align: middle;
127
128
  }
@@ -136,6 +137,12 @@
136
137
  cursor: pointer;
137
138
  transition: all 0.3s;
138
139
  }
140
+ .lm_upload_wrapper .lm_upload_core .lm_upload_core_picture::after {
141
+ position: absolute;
142
+ background-color: var(--disabled-bg-color);
143
+ cursor: not-allowed;
144
+ inset: 0;
145
+ }
139
146
  .lm_upload_wrapper .lm_upload_core .lm_upload_core_picture:hover {
140
147
  border-color: var(--primary-color);
141
148
  }
@@ -151,6 +158,16 @@
151
158
  margin-top: var(--gap);
152
159
  color: var(--color-45);
153
160
  }
161
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture {
162
+ border-color: var(--disabled-border-color);
163
+ }
164
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture::after {
165
+ content: '';
166
+ }
167
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture .lm_upload_core_picture_action .action_plus,
168
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture .lm_upload_core_picture_action .tip {
169
+ color: var(--disabled-font-color);
170
+ }
154
171
  .lm_upload_wrapper .lm_upload_progress {
155
172
  width: 100%;
156
173
  height: 2px;
@@ -122,6 +122,7 @@
122
122
  gap: 8px;
123
123
  }
124
124
  .lm_upload_wrapper .lm_upload_core {
125
+ position: relative;
125
126
  display: inline-flex;
126
127
  vertical-align: middle;
127
128
  }
@@ -136,6 +137,12 @@
136
137
  cursor: pointer;
137
138
  transition: all 0.3s;
138
139
  }
140
+ .lm_upload_wrapper .lm_upload_core .lm_upload_core_picture::after {
141
+ position: absolute;
142
+ background-color: var(--disabled-bg-color);
143
+ cursor: not-allowed;
144
+ inset: 0;
145
+ }
139
146
  .lm_upload_wrapper .lm_upload_core .lm_upload_core_picture:hover {
140
147
  border-color: var(--primary-color);
141
148
  }
@@ -151,6 +158,16 @@
151
158
  margin-top: var(--gap);
152
159
  color: var(--color-45);
153
160
  }
161
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture {
162
+ border-color: var(--disabled-border-color);
163
+ }
164
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture::after {
165
+ content: '';
166
+ }
167
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture .lm_upload_core_picture_action .action_plus,
168
+ .lm_upload_wrapper .lm_upload_core.disabled .lm_upload_core_picture .lm_upload_core_picture_action .tip {
169
+ color: var(--disabled-font-color);
170
+ }
154
171
  .lm_upload_wrapper .lm_upload_progress {
155
172
  width: 100%;
156
173
  height: 2px;
@@ -82,7 +82,8 @@ var CLMTreeSelect = /*#__PURE__*/forwardRef(function (props, ref) {
82
82
  className: 'lm_tree_select',
83
83
  value: resetValue,
84
84
  size: mergeSize,
85
- disabled: mergedDisabled
85
+ disabled: mergedDisabled,
86
+ treeData: treeData
86
87
  }, resetProps), children);
87
88
  });
88
89
  var LMTreeSelect = CLMTreeSelect;