linkmore-design 1.1.27-alpha.1 → 1.1.27-alpha.4

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/dist/LmEditTable/EditTable.d.ts +4 -0
  2. package/dist/LmEditTable/util.d.ts +3 -1
  3. package/dist/index.umd.js +428 -43
  4. package/dist/index.umd.min.js +21 -21
  5. package/dist/variables.css +17 -0
  6. package/es/CustomTableOption/style/index.css +3 -0
  7. package/es/CustomTableOption/style/variables.css +3 -0
  8. package/es/LmEditTable/EditTable.d.ts +4 -0
  9. package/es/LmEditTable/EditTable.js +329 -12
  10. package/es/LmEditTable/rowSort/DndContainerRow.js +4 -2
  11. package/es/LmEditTable/style/index.css +14 -0
  12. package/es/LmEditTable/style/variables.css +14 -0
  13. package/es/LmEditTable/util.d.ts +3 -1
  14. package/es/LmEditTable/util.js +61 -8
  15. package/es/LmEditTable/virtual/VirtualRow.js +11 -5
  16. package/es/LmEditTable/virtual/VirtualTable.js +3 -1
  17. package/es/LmFilter/baseFilter/index.js +3 -2
  18. package/es/LmFilter/filterFns/index.js +4 -2
  19. package/es/LmUpload/body/UploadCore.js +1 -1
  20. package/es/Radio/index.js +9 -1
  21. package/es/Switch/index.js +7 -2
  22. package/es/styles/variables.css +17 -0
  23. package/lib/CustomTableOption/style/index.css +3 -0
  24. package/lib/CustomTableOption/style/variables.css +3 -0
  25. package/lib/LmEditTable/EditTable.d.ts +4 -0
  26. package/lib/LmEditTable/EditTable.js +328 -11
  27. package/lib/LmEditTable/rowSort/DndContainerRow.js +3 -2
  28. package/lib/LmEditTable/style/index.css +14 -0
  29. package/lib/LmEditTable/style/variables.css +14 -0
  30. package/lib/LmEditTable/util.d.ts +3 -1
  31. package/lib/LmEditTable/util.js +62 -7
  32. package/lib/LmEditTable/virtual/VirtualRow.js +11 -5
  33. package/lib/LmEditTable/virtual/VirtualTable.js +3 -1
  34. package/lib/LmFilter/baseFilter/index.js +3 -2
  35. package/lib/LmFilter/filterFns/index.js +4 -2
  36. package/lib/LmUpload/body/UploadCore.js +1 -1
  37. package/lib/Radio/index.js +9 -1
  38. package/lib/Switch/index.js +9 -2
  39. package/lib/styles/variables.css +17 -0
  40. package/package.json +1 -1
@@ -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, omit } from 'lodash';
3
+ import { keyBy, isEqual, pick, isFunction, omit, isObject } from 'lodash';
4
4
  export function isObjEmpty(obj) {
5
5
  var _a;
6
6
 
@@ -62,7 +62,7 @@ export function getExpandStatus(children) {
62
62
  return isExpandRow(children) ? (_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'] : '';
63
63
  }
64
64
  export function checkMemoShouldUploadSpecialFun(prev, next) {
65
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
65
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
66
66
 
67
67
  var checkExpandStatus = getExpandStatus(prev.children) === getExpandStatus(next.children);
68
68
 
@@ -116,13 +116,17 @@ export function checkMemoShouldUploadSpecialFun(prev, next) {
116
116
  return isEqual(prev.style, next.style);
117
117
  }
118
118
 
119
+ if (((_l = next.className) === null || _l === void 0 ? void 0 : _l.indexOf('ant-table-row-expand-icon-cell')) > -1) {
120
+ return false;
121
+ }
122
+
119
123
  if (next.className.indexOf('ant-table-selection-column') > -1) {
120
- return isEqual((_m = (_l = prev.children) === null || _l === void 0 ? void 0 : _l[1]) === null || _m === void 0 ? void 0 : _m.props, (_p = (_o = next.children) === null || _o === void 0 ? void 0 : _o[1]) === null || _p === void 0 ? void 0 : _p.props);
124
+ return isEqual((_o = (_m = prev.children) === null || _m === void 0 ? void 0 : _m[1]) === null || _o === void 0 ? void 0 : _o.props, (_q = (_p = next.children) === null || _p === void 0 ? void 0 : _p[1]) === null || _q === void 0 ? void 0 : _q.props);
121
125
  }
122
126
  /** 如果启用了快速复制功能,需要实时判断rowIndex与getLength */
123
127
 
124
128
 
125
- if (((_q = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _q === void 0 ? void 0 : _q.quickcopy) || ((_r = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _r === void 0 ? void 0 : _r.quickcopy)) {
129
+ if (((_r = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _r === void 0 ? void 0 : _r.quickcopy) || ((_s = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _s === void 0 ? void 0 : _s.quickcopy)) {
126
130
  var pickProps = ['record', 'colIndex', 'rowIndex', 'getLength'];
127
131
  var p = pick(prev, pickProps);
128
132
  var n = pick(next, pickProps);
@@ -140,17 +144,66 @@ export function checkExpandIconColumnIndex(_ref) {
140
144
  });
141
145
  return arr.length;
142
146
  }
143
- export function checkDataSourceIsEmpty(config, dataSource) {
147
+ export function checkDataSourceIsEmpty(config, dataSource, scrollInfo) {
148
+ var _a, _b;
149
+
150
+ var resultConfig = Object.assign({}, config);
151
+
152
+ if (scrollInfo) {
153
+ resultConfig = Object.assign(Object.assign({}, resultConfig), {
154
+ scroll: {
155
+ x: ((_a = resultConfig.scroll) === null || _a === void 0 ? void 0 : _a.x) || '100%',
156
+ y: scrollInfo.height || ((_b = resultConfig.scroll) === null || _b === void 0 ? void 0 : _b.y)
157
+ }
158
+ });
159
+ }
160
+
144
161
  if (dataSource.length) {
145
- return config;
162
+ return resultConfig;
146
163
  }
147
164
 
148
- return Object.assign(Object.assign({}, config), {
149
- components: Object.assign(Object.assign({}, config.components), {
165
+ return Object.assign(Object.assign({}, resultConfig), {
166
+ components: Object.assign(Object.assign({}, resultConfig.components), {
150
167
  body: {}
151
168
  })
152
169
  });
153
170
  }
171
+ /** 根据传入的disabedRows, 得出最终需要disabed的rowKeys */
172
+
173
+ export function checkTableRowIsDisable(deepDataSource, disabledRows, rowKey) {
174
+ var disabledRkeys = [];
175
+
176
+ if (!disabledRows.length) {
177
+ return disabledRkeys;
178
+ }
179
+
180
+ var disableIds = disabledRows.map(function (item) {
181
+ return isObject(item) ? item === null || item === void 0 ? void 0 : item[rowKey] : item;
182
+ });
183
+
184
+ function deep(children, arrs) {
185
+ children === null || children === void 0 ? void 0 : children.forEach(function (item) {
186
+ arrs.push(item[rowKey]);
187
+
188
+ if (item.children) {
189
+ deep(item.children, arrs);
190
+ }
191
+ });
192
+ }
193
+
194
+ if (disableIds.length) {
195
+ disableIds === null || disableIds === void 0 ? void 0 : disableIds.forEach(function (item) {
196
+ disabledRkeys.push(item);
197
+ var record = deepDataSource[item];
198
+
199
+ if (record === null || record === void 0 ? void 0 : record.children) {
200
+ deep(record.children, disabledRkeys);
201
+ }
202
+ });
203
+ }
204
+
205
+ return disabledRkeys;
206
+ }
154
207
  export default {
155
208
  isObjEmpty: isObjEmpty
156
209
  };
@@ -20,6 +20,8 @@ var useOptions = function useOptions(_ref) {
20
20
  ref = _ref.ref,
21
21
  trRef = _ref.trRef;
22
22
 
23
+ var _a;
24
+
23
25
  var _useStore = useStore(),
24
26
  state = _useStore.state,
25
27
  dispatch = _useStore.dispatch,
@@ -29,7 +31,9 @@ var useOptions = function useOptions(_ref) {
29
31
  var rowHeight = state.rowHeight,
30
32
  totalLen = state.totalLen;
31
33
  var sliceColumns = useMemo(function () {
32
- return children === null || children === void 0 ? void 0 : children.reduce(function (pre, cur) {
34
+ var _a;
35
+
36
+ return (_a = children === null || children === void 0 ? void 0 : children.reduce) === null || _a === void 0 ? void 0 : _a.call(children, function (pre, cur) {
33
37
  var _a, _b;
34
38
 
35
39
  if (typeof ((_a = cur.props) === null || _a === void 0 ? void 0 : _a.fixLeft) === 'number') {
@@ -58,9 +62,9 @@ var useOptions = function useOptions(_ref) {
58
62
  }, [sliceColumns]); // 非固定列长度
59
63
 
60
64
  var centerColumnsLen = useMemo(function () {
61
- var _a;
65
+ var _a, _b;
62
66
 
63
- return (_a = sliceColumns.centerColumns.length) !== null && _a !== void 0 ? _a : 0;
67
+ return (_b = (_a = sliceColumns === null || sliceColumns === void 0 ? void 0 : sliceColumns.centerColumns) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
64
68
  }, [sliceColumns]);
65
69
  useEffect(function () {
66
70
  if (state.columnsLen !== centerColumnsLen) {
@@ -94,8 +98,10 @@ var useOptions = function useOptions(_ref) {
94
98
  }, [virtualItems]); // 右侧隐藏数量
95
99
 
96
100
  var rightColSpan = useMemo(function () {
97
- return sliceColumns.centerColumns.length - virtualItems.length - leftColSpan || 0;
98
- }, [sliceColumns.centerColumns.length, virtualItems.length, leftColSpan]);
101
+ var _a;
102
+
103
+ return ((_a = sliceColumns === null || sliceColumns === void 0 ? void 0 : sliceColumns.centerColumns) === null || _a === void 0 ? void 0 : _a.length) - (virtualItems === null || virtualItems === void 0 ? void 0 : virtualItems.length) - leftColSpan || 0;
104
+ }, [(_a = sliceColumns === null || sliceColumns === void 0 ? void 0 : sliceColumns.centerColumns) === null || _a === void 0 ? void 0 : _a.length, virtualItems.length, leftColSpan]);
99
105
  return Object.assign(Object.assign({
100
106
  virtualItems: virtualItems
101
107
  }, sliceColumns), {
@@ -5,6 +5,7 @@ import { TableContext, useRealive } from './context';
5
5
  var VirtualTable = /*#__PURE__*/React.memo(function (tableProps) {
6
6
  var _a, _b, _c, _d;
7
7
 
8
+ var fn = tableProps.fn;
8
9
  var bodyRef = useRef(null);
9
10
 
10
11
  var _useRealive = useRealive(),
@@ -23,7 +24,8 @@ var VirtualTable = /*#__PURE__*/React.memo(function (tableProps) {
23
24
  return state.rowHeight;
24
25
  }, [state.rowHeight]),
25
26
  overscan: 5
26
- }); // 列动态宽度
27
+ });
28
+ fn.current = rowVirtual.scrollToIndex; // 列动态宽度
27
29
 
28
30
  var columnEstimateSize = useCallback(function (i) {
29
31
  var _a, _b;
@@ -16,8 +16,9 @@ var _components = _interopRequireDefault(require("../components"));
16
16
  // 二级过滤 => 基础过滤组件
17
17
  var LmFilterBase = /*#__PURE__*/_react.default.memo(function (_ref) {
18
18
  var instance = _ref.instance;
19
- var dataSource = instance.dataSource;
20
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_fuzzySearch.default, {
19
+ var dataSource = instance.dataSource,
20
+ enableSearch = instance.enableSearch;
21
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, enableSearch && /*#__PURE__*/_react.default.createElement(_fuzzySearch.default, {
21
22
  instance: instance
22
23
  }), dataSource.map(function (v, index) {
23
24
  var isHidden = !v.show && typeof v.show === 'boolean';
@@ -168,6 +168,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
168
168
 
169
169
  if (getIsHas(itemValue) && !!item) {
170
170
  return [].concat(_toConsumableArray(pre), [{
171
+ relation: obj[cur].mode || 'and',
171
172
  fieldName: cur,
172
173
  fieldType: (item === null || item === void 0 ? void 0 : item.valueType) || 'string',
173
174
  type: item.type,
@@ -177,7 +178,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
177
178
  * and 等同于逻辑关系contains: 选中的值包含所有值
178
179
  * or 等同于逻辑关系in: 选中的值存在于所有值之中
179
180
  */
180
- operator: obj[cur].mode === 'and' ? 'contains' : 'in'
181
+ operator: 'in'
181
182
  }]);
182
183
  }
183
184
 
@@ -344,11 +345,12 @@ var useCoreOptions = function useCoreOptions(_ref) {
344
345
  if (getIsHas(itemValue) && !!item) {
345
346
  // eslint-disable-next-line no-param-reassign
346
347
  pre[cur] = {
348
+ relation: complexFilter[cur].mode || 'and',
347
349
  fieldName: cur,
348
350
  fieldType: (item === null || item === void 0 ? void 0 : item.valueType) || 'string',
349
351
  type: item.type,
350
352
  value: Array.isArray(itemValue) ? itemValue : [itemValue],
351
- operator: complexFilter[cur].mode === 'and' ? 'contains' : 'in'
353
+ operator: 'in'
352
354
  };
353
355
  }
354
356
 
@@ -24,7 +24,7 @@ var UploadCore = function UploadCore(_ref) {
24
24
  var isUploading = getUploadStatus().uploading;
25
25
  if (isUploading) return;
26
26
  (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.click();
27
- }, [getUploadStatus]); // 上传触发事件
27
+ }, [disabled, getUploadStatus]); // 上传触发事件
28
28
 
29
29
  var uploadChange = useCallback(function (e) {
30
30
  var _a;
package/es/Radio/index.js CHANGED
@@ -19,13 +19,21 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
20
  var _react = _interopRequireDefault(require("react"));
21
21
 
22
- var _excluded = ["children"],
22
+ var _DisabledContext = _interopRequireDefault(require("../ConfigProvider/DisabledContext"));
23
+
24
+ var _excluded = ["children", "disabled"],
23
25
  _excluded2 = ["children", "size", "buttonStyle", "direction", "className"];
24
26
 
25
27
  var LMRadio = function LMRadio(props) {
26
28
  var children = props.children,
29
+ customDisabled = props.disabled,
27
30
  restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
31
+
32
+ var disabled = _react.default.useContext(_DisabledContext.default);
33
+
34
+ var mergedDisabled = customDisabled || disabled;
28
35
  return /*#__PURE__*/_react.default.createElement(_radio.default, (0, _extends2.default)({
36
+ disabled: mergedDisabled,
29
37
  className: "lm-radio"
30
38
  }, restProps), children);
31
39
  };
@@ -17,16 +17,21 @@ var __rest = this && this.__rest || function (s, e) {
17
17
 
18
18
  import React from 'react';
19
19
  import cls from 'classnames';
20
+ import DisabledContext from '../ConfigProvider/DisabledContext';
20
21
 
21
22
  var Switch = function Switch(props) {
22
23
  var _props$size = props.size,
23
24
  size = _props$size === void 0 ? 'default' : _props$size,
24
25
  className = props.className,
25
- restProps = __rest(props, ["size", "className"]);
26
+ customDisabled = props.disabled,
27
+ restProps = __rest(props, ["size", "className", "disabled"]);
26
28
 
29
+ var disabled = React.useContext(DisabledContext);
30
+ var mergedDisabled = customDisabled || disabled;
27
31
  var classs = cls('lm-switch', className, _defineProperty({}, "lm-switch-".concat(size), size));
28
32
  return /*#__PURE__*/React.createElement(_Switch, Object.assign({
29
- className: classs
33
+ className: classs,
34
+ disabled: mergedDisabled
30
35
  }, restProps, {
31
36
  size: size
32
37
  }));
@@ -1759,6 +1759,9 @@ p {
1759
1759
  color: var(--primary-color);
1760
1760
  cursor: pointer;
1761
1761
  }
1762
+ .lm_custom_option_columns .custom_hiddle {
1763
+ display: none;
1764
+ }
1762
1765
  .lm_custom_option_columns .fixed_title {
1763
1766
  color: var(--color-45);
1764
1767
  font-size: 12px;
@@ -9870,6 +9873,20 @@ p {
9870
9873
  padding-left: 7px;
9871
9874
  box-sizing: border-box;
9872
9875
  }
9876
+ .lm_editTable_warpper.lm_editable_autosize .ant-table-wrapper,
9877
+ .lm_editTable_warpper.lm_editable_autosize .ant-spin-nested-loading,
9878
+ .lm_editTable_warpper.lm_editable_autosize .ant-spin-container,
9879
+ .lm_editTable_warpper.lm_editable_autosize .ant-table,
9880
+ .lm_editTable_warpper.lm_editable_autosize .ant-table-container {
9881
+ height: 100%;
9882
+ }
9883
+ .lm_editTable_warpper.lm_editable_autosize .ant-table-wrapper .ant-table-body,
9884
+ .lm_editTable_warpper.lm_editable_autosize .ant-spin-nested-loading .ant-table-body,
9885
+ .lm_editTable_warpper.lm_editable_autosize .ant-spin-container .ant-table-body,
9886
+ .lm_editTable_warpper.lm_editable_autosize .ant-table .ant-table-body,
9887
+ .lm_editTable_warpper.lm_editable_autosize .ant-table-container .ant-table-body {
9888
+ height: calc(100% - 41px);
9889
+ }
9873
9890
  .lm_editTable_wrapperRange .inputRange {
9874
9891
  display: inline-flex;
9875
9892
  align-items: center;
@@ -536,6 +536,9 @@ p {
536
536
  color: var(--primary-color);
537
537
  cursor: pointer;
538
538
  }
539
+ .lm_custom_option_columns .custom_hiddle {
540
+ display: none;
541
+ }
539
542
  .lm_custom_option_columns .fixed_title {
540
543
  color: var(--color-45);
541
544
  font-size: 12px;
@@ -24,6 +24,9 @@
24
24
  color: var(--primary-color);
25
25
  cursor: pointer;
26
26
  }
27
+ .lm_custom_option_columns .custom_hiddle {
28
+ display: none;
29
+ }
27
30
  .lm_custom_option_columns .fixed_title {
28
31
  color: var(--color-45);
29
32
  font-size: 12px;
@@ -15,6 +15,7 @@ interface ILmEditTable extends TableProps<any> {
15
15
  size?: TableProps<any>['size'];
16
16
  colSortOpen?: boolean;
17
17
  indexCol?: boolean | Record<string, any>;
18
+ autoSizer?: boolean;
18
19
  filterChange?: (data: TableProps<any>['columns']) => void;
19
20
  recordCreatorProps?: {
20
21
  creatorButtonText?: string;
@@ -27,6 +28,9 @@ interface ILmEditTable extends TableProps<any> {
27
28
  rowSelection?: TableProps<any>['rowSelection'] & {
28
29
  selectedRows?: Record<string, any>;
29
30
  };
31
+ rowDisabled?: {
32
+ disabledRows?: Record<string, any>;
33
+ };
30
34
  }
31
35
  export interface CountdownHandle {
32
36
  setRow: (data: any) => void;