linkmore-design 1.0.18 → 1.0.21

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 (59) hide show
  1. package/dist/index.umd.js +1001 -53
  2. package/dist/index.umd.min.js +6 -6
  3. package/es/Button/style/style.css +2 -2
  4. package/es/CkFilter/baseFilter/moreFilters.js +29 -4
  5. package/es/CkFilter/components/Controls.js +3 -1
  6. package/es/CkFilter/components/filterTypes.js +81 -44
  7. package/es/CkFilter/style/style.css +12 -2
  8. package/es/Input/style/style.css +21 -7
  9. package/es/InputNumber/style/index.css +1 -0
  10. package/es/LeftTable/style/style.css +1 -0
  11. package/es/LmTable/ImgList/body.js +111 -0
  12. package/es/LmTable/ImgList/cardCell.js +192 -0
  13. package/es/LmTable/ImgList/context.js +12 -0
  14. package/es/LmTable/ImgList/empty.js +24 -0
  15. package/es/LmTable/ImgList/footer.js +59 -0
  16. package/es/LmTable/ImgList/imgCell.js +181 -0
  17. package/es/LmTable/ImgList/imgTable.js +110 -0
  18. package/es/LmTable/ImgList/index.js +13 -0
  19. package/es/LmTable/Table.js +390 -0
  20. package/es/LmTable/VList.js +594 -0
  21. package/es/LmTable/autosize.js +170 -0
  22. package/es/LmTable/context.js +12 -0
  23. package/es/LmTable/detectElementResize.js +225 -0
  24. package/es/LmTable/index.js +19 -0
  25. package/es/LmTable/resetConfig.js +39 -0
  26. package/es/LmTable/style/index.js +3 -0
  27. package/es/LmTable/style/style.css +1068 -0
  28. package/es/ProTable/style/style.css +0 -3
  29. package/es/Radio/style/style.css +3 -0
  30. package/es/index.js +9 -1
  31. package/lib/Button/style/style.css +2 -2
  32. package/lib/CkFilter/baseFilter/moreFilters.js +29 -4
  33. package/lib/CkFilter/components/Controls.js +3 -1
  34. package/lib/CkFilter/components/filterTypes.js +81 -44
  35. package/lib/CkFilter/style/style.css +12 -2
  36. package/lib/Input/style/style.css +21 -7
  37. package/lib/InputNumber/style/index.css +1 -0
  38. package/lib/LeftTable/style/style.css +1 -0
  39. package/lib/LmTable/ImgList/body.js +111 -0
  40. package/lib/LmTable/ImgList/cardCell.js +192 -0
  41. package/lib/LmTable/ImgList/context.js +12 -0
  42. package/lib/LmTable/ImgList/empty.js +24 -0
  43. package/lib/LmTable/ImgList/footer.js +59 -0
  44. package/lib/LmTable/ImgList/imgCell.js +181 -0
  45. package/lib/LmTable/ImgList/imgTable.js +110 -0
  46. package/lib/LmTable/ImgList/index.js +13 -0
  47. package/lib/LmTable/Table.js +390 -0
  48. package/lib/LmTable/VList.js +594 -0
  49. package/lib/LmTable/autosize.js +170 -0
  50. package/lib/LmTable/context.js +12 -0
  51. package/lib/LmTable/detectElementResize.js +225 -0
  52. package/lib/LmTable/index.js +19 -0
  53. package/lib/LmTable/resetConfig.js +39 -0
  54. package/lib/LmTable/style/index.js +3 -0
  55. package/lib/LmTable/style/style.css +1068 -0
  56. package/lib/ProTable/style/style.css +0 -3
  57. package/lib/Radio/style/style.css +3 -0
  58. package/lib/index.js +9 -1
  59. package/package.json +1 -1
@@ -0,0 +1,390 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = exports.Summary = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
21
+
22
+ var _proTable = _interopRequireDefault(require("@ant-design/pro-table"));
23
+
24
+ var _lodash = require("lodash");
25
+
26
+ var _react = _interopRequireWildcard(require("react"));
27
+
28
+ var _resetConfig = _interopRequireDefault(require("./resetConfig"));
29
+
30
+ var _excluded = ["dataSource", "autoSize", "columns", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "customCheck"];
31
+ var Summary = _proTable.default.Summary;
32
+ exports.Summary = Summary;
33
+ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
34
+ var dataSource = props.dataSource,
35
+ autoSize = props.autoSize,
36
+ columns = props.columns,
37
+ rowClick = props.rowClick,
38
+ _onDoubleClick = props.onDoubleClick,
39
+ checkConfig = props.checkConfig,
40
+ _summary = props.summary,
41
+ pagination = props.pagination,
42
+ hiddenPage = props.hiddenPage,
43
+ loading = props.loading,
44
+ _props$virtual = props.virtual,
45
+ virtual = _props$virtual === void 0 ? false : _props$virtual,
46
+ customCheck = props.customCheck,
47
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
48
+ console.log(virtual, '--virtual', autoSize);
49
+ var _resetProps$rowKey = resetProps.rowKey,
50
+ rowKey = _resetProps$rowKey === void 0 ? 'id' : _resetProps$rowKey;
51
+
52
+ var _useState = (0, _react.useState)({
53
+ selectedRows: []
54
+ }),
55
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
56
+ useSelectedRows = _useState2[0],
57
+ setSelectedRows = _useState2[1]; // 复选中的值
58
+
59
+
60
+ var _useState3 = (0, _react.useState)(''),
61
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
62
+ useActiveKey = _useState4[0],
63
+ setActiveKey = _useState4[1]; // 行选中
64
+
65
+
66
+ var _useState5 = (0, _react.useState)([]),
67
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
68
+ useColumns = _useState6[0],
69
+ setColumns = _useState6[1]; // 列设置
70
+
71
+
72
+ var _useState7 = (0, _react.useState)(),
73
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
74
+ columnsStateMap = _useState8[0],
75
+ setColumnsStateMap = _useState8[1]; // 原宽度,先宽度,序号
76
+
77
+
78
+ var handleResize = function handleResize(sc, size, index) {
79
+ var preCountW = (0, _lodash.sumBy)(useColumns, 'width') + 36;
80
+ var curCountW = preCountW - sc + size;
81
+ var scale = curCountW > preCountW ? subtract(preCountW, size) / subtract(preCountW, sc) : subtract(autoSize.width, size) / subtract(autoSize.width, sc);
82
+ var nValue = useColumns.map(function (v, idx) {
83
+ var w = curCountW < autoSize.width ? scale * v.width : v.width;
84
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, v), {}, {
85
+ width: idx === index ? size : w
86
+ });
87
+ });
88
+ setColumns((0, _toConsumableArray2.default)(nValue));
89
+ };
90
+
91
+ var resetColumns = (0, _react.useCallback)(function () {
92
+ return useColumns.map(function (col, index) {
93
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, col), {}, {
94
+ width: col.width,
95
+ onHeaderCell: function onHeaderCell(column) {
96
+ return {
97
+ width: column.width,
98
+ onResize: function onResize(e, size) {
99
+ return handleResize(e, size, index);
100
+ }
101
+ };
102
+ }
103
+ });
104
+ });
105
+ }, [useColumns]);
106
+ (0, _react.useEffect)(function () {
107
+ setColumns(columns);
108
+ }, [columns]); // 行点击事件
109
+
110
+ var onRecord = function onRecord(record) {
111
+ var _Object$assign = Object.assign(_resetConfig.default.checkConfig, checkConfig),
112
+ trigger = _Object$assign.trigger,
113
+ highlight = _Object$assign.highlight;
114
+
115
+ if (highlight) {
116
+ setActiveKey(record[rowKey]);
117
+ }
118
+
119
+ if (trigger === 'row') {
120
+ var selectedRows = useSelectedRows.selectedRows;
121
+ var selectedRowKeys = selectedRows.map(function (v) {
122
+ return v[rowKey];
123
+ });
124
+ var Idx = selectedRowKeys.indexOf(record[rowKey]);
125
+ Idx >= 0 ? selectedRows.splice(Idx, 1) : selectedRows.push(record);
126
+ setSelectedRows({
127
+ selectedRows: selectedRows
128
+ });
129
+ }
130
+
131
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(record);
132
+ }; // 重写表格,增加虚拟滚动
133
+ // const vComponents = useMemo(() => {
134
+ // return VList({
135
+ // height: autoSize.height, // 此值和scrollY值相同. 必传.
136
+ // })
137
+ // }, [autoSize.height])
138
+ // 复选框配置
139
+
140
+
141
+ var config = (0, _react.useMemo)(function () {
142
+ return (0, _objectSpread2.default)({
143
+ defaultSize: 'small',
144
+ tableLayout: 'fixed',
145
+ rowKey: rowKey,
146
+ debounceTime: 300,
147
+ revalidateOnFocus: false,
148
+ options: {
149
+ setting: true,
150
+ density: false,
151
+ fullScreen: false,
152
+ reload: false
153
+ },
154
+ columnsState: {
155
+ value: columnsStateMap,
156
+ onChange: function onChange(k) {
157
+ setColumnsStateMap(k);
158
+ }
159
+ },
160
+ search: false,
161
+ tableAlertRender: false,
162
+ checkConfig: checkConfig,
163
+ // components: vComponents,
164
+ scroll: (0, _objectSpread2.default)({
165
+ y: autoSize.height
166
+ }, props.scroll),
167
+ pagination: !hiddenPage && (0, _objectSpread2.default)({
168
+ showSizeChanger: true,
169
+ showQuickJumper: true,
170
+ showTotal: function showTotal(total) {
171
+ return "\u5171 ".concat(total, " \u6761");
172
+ }
173
+ }, pagination),
174
+ rowSelection: {
175
+ fixed: true,
176
+ type: 'checkbox',
177
+ columnWidth: 36,
178
+ selectedRowKeys: useSelectedRows.selectedRows.map(function (v) {
179
+ return v[rowKey];
180
+ }),
181
+ onChange: function onChange(selectedRowKeys, selectedRows, t, s) {
182
+ setSelectedRows({
183
+ selectedRows: selectedRows
184
+ });
185
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(selectedRows);
186
+ }
187
+ },
188
+ onRow: function onRow(record) {
189
+ return {
190
+ onClick: function onClick(e) {
191
+ onRecord(record);
192
+ },
193
+ onDoubleClick: function onDoubleClick() {
194
+ _onDoubleClick === null || _onDoubleClick === void 0 ? void 0 : _onDoubleClick(record);
195
+ }
196
+ };
197
+ },
198
+ rowClassName: function rowClassName(record) {
199
+ return record[rowKey] === useActiveKey ? 'row-active' : '';
200
+ },
201
+ columns: resetColumns()
202
+ }, resetProps);
203
+ }, [useColumns, useSelectedRows, columnsStateMap, resetProps, autoSize.height]);
204
+ var resultColumns = (0, _react.useMemo)(function () {
205
+ var result = useColumns.map(function (item, index) {
206
+ var _columnsStateMap$item, _columnsStateMap$item2, _columnsStateMap$item3, _columnsStateMap$item4;
207
+
208
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
209
+ colSort: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item === void 0 ? void 0 : _columnsStateMap$item.order) === undefined ? index : (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item2 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item2 === void 0 ? void 0 : _columnsStateMap$item2.order) || index,
210
+ fixed: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item3 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item3 === void 0 ? void 0 : _columnsStateMap$item3.fixed) || item.fixed || undefined,
211
+ show: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item4 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item4 === void 0 ? void 0 : _columnsStateMap$item4.show) !== false
212
+ });
213
+ }).filter(function (item) {
214
+ return !!item.show;
215
+ });
216
+ result.sort(function (a, b) {
217
+ return (a.fixed === 'left' ? a.colSort : a.fixed === 'right' ? 500 + a.colSort : a.colSort + 50) - (b.fixed === 'left' ? b.colSort : b.fixed === 'right' ? 500 + b.colSort : b.colSort + 50);
218
+ });
219
+ return result;
220
+ }, [columnsStateMap, useColumns]); // useEffect(() => {
221
+ // const countW = sumBy(columns, 'width') + 36
222
+ // const nValue = columns.map((col) => {
223
+ // const rw = countW < autoSize.width ? (autoSize.width / countW) * col.width : col.width
224
+ // return {
225
+ // ...col,
226
+ // width: round(rw),
227
+ // }
228
+ // })
229
+ // setColumns(nValue)
230
+ // }, [columns, autoSize.width])
231
+
232
+ (0, _react.useEffect)(function () {
233
+ var obj = {};
234
+ columns === null || columns === void 0 ? void 0 : columns.forEach(function (item) {
235
+ if (item.fixed) {
236
+ obj[item.dataIndex || item.key] = {
237
+ fixed: item.fixed
238
+ };
239
+ }
240
+ });
241
+ setColumnsStateMap(obj);
242
+ }, []); // useEffect(() => {
243
+ // rowClick?.()
244
+ // }, [useSelectedRows])
245
+ // 将节点方法给外部使用
246
+
247
+ _react.default.useImperativeHandle(ref, function () {
248
+ return {
249
+ getCheckboxRecords: function getCheckboxRecords() {
250
+ return useSelectedRows.selectedRows;
251
+ },
252
+ // 用于按钮触发事件
253
+ clearSelect: function clearSelect() {
254
+ setSelectedRows({
255
+ selectedRows: []
256
+ });
257
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick([]);
258
+ },
259
+ customSetCheckboxRecords: function customSetCheckboxRecords(value) {
260
+ setSelectedRows({
261
+ selectedRows: value
262
+ });
263
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(value);
264
+ }
265
+ };
266
+ }); // loading触发清空选中状态
267
+
268
+
269
+ (0, _react.useEffect)(function () {
270
+ setSelectedRows({
271
+ selectedRows: []
272
+ });
273
+ }, [loading]);
274
+ return /*#__PURE__*/_react.default.createElement("div", {
275
+ style: {
276
+ height: '100%',
277
+ width: '100%'
278
+ }
279
+ }, /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
280
+ loading: loading,
281
+ dataSource: dataSource,
282
+ components: virtual ? vComponents : null,
283
+ tableClassName: "lm_protable",
284
+ summary: function summary(pageData) {
285
+ return _summary && _summary(pageData, resultColumns);
286
+ }
287
+ })), !!customCheck && /*#__PURE__*/_react.default.createElement("div", {
288
+ className: "lm_customCheck"
289
+ }, customCheck));
290
+ }); // 监听大小: 这里的高度是整个表格的高度,表体需要减去列头和分页的高度
291
+
292
+ /** 1: 使用scroll.x y 来控制宽高 默认都是100% */
293
+
294
+ var ResizeSize = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
295
+ var _useState9 = (0, _react.useState)({
296
+ width: '100%',
297
+ height: '100%'
298
+ }),
299
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
300
+ tableSize = _useState10[0],
301
+ setTableSize = _useState10[1];
302
+
303
+ var defaultRef = ref || (0, _react.useRef)(null);
304
+ var tableWarpRef = (0, _react.useRef)(null);
305
+ var resizeRef = (0, _react.useRef)(null);
306
+ var resetHeight = (0, _react.useMemo)(function () {
307
+ var height = tableSize.height;
308
+ console.log(3);
309
+ var h = height - 48;
310
+
311
+ if (!props.hiddenPage || props.customCheck) {
312
+ h -= 32;
313
+ }
314
+
315
+ if (props.columns.some(function (v) {
316
+ return v.children;
317
+ })) {
318
+ h -= 32;
319
+ }
320
+
321
+ return h;
322
+ }, [props.hiddenPage, props.customCheck, props.column, tableSize]);
323
+ var throttleSize = (0, _react.useCallback)(function () {
324
+ var width = tableSize.width,
325
+ height = tableSize.height;
326
+ return /*#__PURE__*/_react.default.createElement(ResetTable, (0, _extends2.default)({
327
+ ref: defaultRef
328
+ }, props, {
329
+ autoSize: {
330
+ height: resetHeight,
331
+ width: width
332
+ }
333
+ }));
334
+ }, [tableSize, props]);
335
+
336
+ var changeSize = function changeSize() {
337
+ var _tableWarpRef$current4;
338
+
339
+ var value = props.summary ? 48 : 0;
340
+
341
+ var _tableWarpRef$current = (_tableWarpRef$current4 = tableWarpRef.current) === null || _tableWarpRef$current4 === void 0 ? void 0 : _tableWarpRef$current4.getBoundingClientRect(),
342
+ _tableWarpRef$current2 = _tableWarpRef$current.width,
343
+ width = _tableWarpRef$current2 === void 0 ? '100%' : _tableWarpRef$current2,
344
+ _tableWarpRef$current3 = _tableWarpRef$current.height,
345
+ height = _tableWarpRef$current3 === void 0 ? '100%' : _tableWarpRef$current3;
346
+
347
+ setTableSize({
348
+ width: width,
349
+ height: typeof height === 'string' ? "calc(".concat(height, " - ").concat(value, "px)") : height - value
350
+ });
351
+ };
352
+
353
+ var handResize = (0, _lodash.throttle)(changeSize, 600);
354
+ (0, _react.useEffect)(function () {
355
+ var _tableWarpRef$current8;
356
+
357
+ var hiddenPage = props.hiddenPage,
358
+ customCheck = props.customCheck,
359
+ summary = props.summary;
360
+
361
+ var _tableWarpRef$current5 = (_tableWarpRef$current8 = tableWarpRef.current) === null || _tableWarpRef$current8 === void 0 ? void 0 : _tableWarpRef$current8.getBoundingClientRect(),
362
+ _tableWarpRef$current6 = _tableWarpRef$current5.width,
363
+ width = _tableWarpRef$current6 === void 0 ? '100%' : _tableWarpRef$current6,
364
+ _tableWarpRef$current7 = _tableWarpRef$current5.height,
365
+ height = _tableWarpRef$current7 === void 0 ? '100%' : _tableWarpRef$current7;
366
+
367
+ console.log(width, height, '--tableWarpReftableWarpRef', tableWarpRef.current);
368
+ var value = summary ? 48 : 0;
369
+ resizeRef.current = window.addEventListener('resize', handResize);
370
+ setTableSize({
371
+ width: width,
372
+ height: typeof height === 'string' ? "calc(".concat(height, " - ").concat(value, "px)") : height - value - 32
373
+ });
374
+ return function () {
375
+ window.removeEventListener('resize', handResize);
376
+ };
377
+ }, []);
378
+ return /*#__PURE__*/_react.default.createElement("div", {
379
+ ref: tableWarpRef,
380
+ id: "lm_protable_warp",
381
+ style: {
382
+ width: '100%',
383
+ height: '100%'
384
+ }
385
+ }, throttleSize());
386
+ });
387
+
388
+ var _default = /*#__PURE__*/(0, _react.memo)(ResizeSize);
389
+
390
+ exports.default = _default;