linkmore-design 1.0.57 → 1.0.60

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 (103) hide show
  1. package/dist/CardTable/LmCardTable.d.ts +1 -0
  2. package/dist/CardTable/fns/index.d.ts +1 -0
  3. package/dist/Empty/demos/custom.d.ts +2 -0
  4. package/dist/Empty/empty.d.ts +2 -0
  5. package/dist/Empty/index.d.ts +18 -3
  6. package/dist/Empty/simple.d.ts +2 -0
  7. package/dist/Form/container.d.ts +8 -0
  8. package/dist/Form/demos/error-tip.d.ts +2 -0
  9. package/dist/Form/demos/responsive.d.ts +2 -0
  10. package/dist/Form/index.d.ts +10 -2
  11. package/dist/LmEditTable/demos/sinleEdit.d.ts +2 -0
  12. package/dist/LmFilter/customFilter/index.d.ts +3 -1
  13. package/dist/LmFilter/filterFns/index.d.ts +4 -1
  14. package/dist/LmFilter/utils.d.ts +1 -1
  15. package/dist/index.umd.js +498 -208
  16. package/dist/index.umd.min.js +6 -6
  17. package/es/CardTable/LmCardTable.js +4 -1
  18. package/es/CardTable/body/TableBodyCell.js +10 -5
  19. package/es/CardTable/card/PictureTextRow.js +8 -3
  20. package/es/CardTable/fns/index.js +29 -2
  21. package/es/CardTable/style/index.css +8 -1
  22. package/es/CardTable/table/TableRoot.js +46 -13
  23. package/es/CustomTableOption/cardSort.js +0 -3
  24. package/es/CustomTableOption/columnsSort.js +2 -4
  25. package/es/CustomTableOption/filterSort.js +0 -3
  26. package/es/CustomTableOption/index.js +2 -2
  27. package/es/Dropdown/index.js +2 -2
  28. package/es/Dropdown/style/index.css +19 -1
  29. package/es/Empty/empty.d.ts +2 -0
  30. package/es/Empty/empty.js +55 -0
  31. package/es/Empty/index.d.ts +18 -3
  32. package/es/Empty/index.js +100 -1
  33. package/es/Empty/simple.d.ts +2 -0
  34. package/es/Empty/simple.js +36 -0
  35. package/es/Empty/style/index.css +44 -0
  36. package/es/Form/container.d.ts +8 -0
  37. package/es/Form/container.js +97 -0
  38. package/es/Form/index.d.ts +10 -2
  39. package/es/Form/index.js +30 -2
  40. package/es/Form/style/index.css +116 -0
  41. package/es/IconFont/index.js +1 -1
  42. package/es/LmEditTable/EditTable.js +47 -17
  43. package/es/LmFilter/Controls/index.js +32 -2
  44. package/es/LmFilter/LmFilter.js +1 -1
  45. package/es/LmFilter/baseFilter/index.js +2 -1
  46. package/es/LmFilter/complexFilter/drawer.js +33 -32
  47. package/es/LmFilter/components/CascaderFilter.js +35 -35
  48. package/es/LmFilter/components/CheckboxFilter.js +13 -21
  49. package/es/LmFilter/components/DateFilter.js +53 -29
  50. package/es/LmFilter/components/DropdownFIlter.js +51 -22
  51. package/es/LmFilter/components/SelectFilter.js +2 -3
  52. package/es/LmFilter/components/index.js +5 -61
  53. package/es/LmFilter/customFilter/index.js +3 -2
  54. package/es/LmFilter/filterFns/index.js +65 -25
  55. package/es/LmFilter/style/style.css +2 -1
  56. package/es/LmFilter/utils.js +63 -14
  57. package/es/LmFilter/wrapper/Filter.js +6 -3
  58. package/es/LmFilter/wrapper/FilterRoot.js +29 -22
  59. package/es/LmTable/Table.js +8 -6
  60. package/lib/CardTable/LmCardTable.js +4 -1
  61. package/lib/CardTable/body/TableBodyCell.js +10 -5
  62. package/lib/CardTable/card/PictureTextRow.js +8 -3
  63. package/lib/CardTable/fns/index.js +29 -2
  64. package/lib/CardTable/style/index.css +8 -1
  65. package/lib/CardTable/table/TableRoot.js +46 -13
  66. package/lib/CustomTableOption/cardSort.js +0 -3
  67. package/lib/CustomTableOption/columnsSort.js +2 -4
  68. package/lib/CustomTableOption/filterSort.js +0 -3
  69. package/lib/CustomTableOption/index.js +2 -2
  70. package/lib/Dropdown/index.js +2 -2
  71. package/lib/Dropdown/style/index.css +19 -1
  72. package/lib/Empty/empty.d.ts +2 -0
  73. package/lib/Empty/empty.js +66 -0
  74. package/lib/Empty/index.d.ts +18 -3
  75. package/lib/Empty/index.js +107 -1
  76. package/lib/Empty/simple.d.ts +2 -0
  77. package/lib/Empty/simple.js +47 -0
  78. package/lib/Empty/style/index.css +44 -0
  79. package/lib/Form/container.d.ts +8 -0
  80. package/lib/Form/container.js +112 -0
  81. package/lib/Form/index.d.ts +10 -2
  82. package/lib/Form/index.js +30 -2
  83. package/lib/Form/style/index.css +116 -0
  84. package/lib/IconFont/index.js +1 -1
  85. package/lib/LmEditTable/EditTable.js +47 -17
  86. package/lib/LmFilter/Controls/index.js +32 -2
  87. package/lib/LmFilter/LmFilter.js +1 -1
  88. package/lib/LmFilter/baseFilter/index.js +2 -1
  89. package/lib/LmFilter/complexFilter/drawer.js +33 -32
  90. package/lib/LmFilter/components/CascaderFilter.js +35 -35
  91. package/lib/LmFilter/components/CheckboxFilter.js +13 -21
  92. package/lib/LmFilter/components/DateFilter.js +53 -29
  93. package/lib/LmFilter/components/DropdownFIlter.js +51 -22
  94. package/lib/LmFilter/components/SelectFilter.js +2 -3
  95. package/lib/LmFilter/components/index.js +5 -61
  96. package/lib/LmFilter/customFilter/index.js +3 -2
  97. package/lib/LmFilter/filterFns/index.js +65 -25
  98. package/lib/LmFilter/style/style.css +2 -1
  99. package/lib/LmFilter/utils.js +63 -14
  100. package/lib/LmFilter/wrapper/Filter.js +6 -3
  101. package/lib/LmFilter/wrapper/FilterRoot.js +29 -22
  102. package/lib/LmTable/Table.js +8 -6
  103. package/package.json +1 -1
package/lib/Form/index.js CHANGED
@@ -25,6 +25,8 @@ var _context = require("antd/lib/form/context");
25
25
 
26
26
  var _Form2 = require("antd/lib/form/Form");
27
27
 
28
+ var _container = _interopRequireDefault(require("./container"));
29
+
28
30
  var __rest = void 0 && (void 0).__rest || function (s, e) {
29
31
  var t = {};
30
32
 
@@ -38,12 +40,24 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
38
40
  return t;
39
41
  };
40
42
 
43
+ // import useFormItemStatus from 'antd/lib/form/hooks/useFormItemStatus';
41
44
  var classNamePrefix = 'lm_form';
42
45
 
43
46
  var LMForm = function LMForm(props, ref) {
44
47
  var children = props.children,
45
48
  className = props.className,
46
- restProps = __rest(props, ["children", "className"]);
49
+ responsive = props.responsive,
50
+ restProps = __rest(props, ["children", "className", "responsive"]);
51
+
52
+ if (responsive) {
53
+ return /*#__PURE__*/_react.default.createElement(_container.default, {
54
+ responsive: true
55
+ }, /*#__PURE__*/_react.default.createElement(_form.default, Object.assign({
56
+ ref: ref,
57
+ className: (0, _classnames.default)(classNamePrefix, className),
58
+ colon: false
59
+ }, restProps), children));
60
+ }
47
61
 
48
62
  return /*#__PURE__*/_react.default.createElement(_form.default, Object.assign({
49
63
  ref: ref,
@@ -54,8 +68,22 @@ var LMForm = function LMForm(props, ref) {
54
68
 
55
69
  var Reform = /*#__PURE__*/_react.default.forwardRef(LMForm);
56
70
 
71
+ var LMFormItem = function LMFormItem(props) {
72
+ var children = props.children,
73
+ className = props.className,
74
+ _props$errorPlacement = props.errorPlacement,
75
+ errorPlacement = _props$errorPlacement === void 0 ? 'default' : _props$errorPlacement,
76
+ restProps = __rest(props, ["children", "className", "errorPlacement"]);
77
+
78
+ var tipClassName = errorPlacement === 'default' ? '' : "lm_form-item-tip-error lm_form-item-tip-error-".concat(errorPlacement);
79
+ var classes = (0, _classnames.default)(className, tipClassName);
80
+ return /*#__PURE__*/_react.default.createElement(_form.default.Item, Object.assign({
81
+ className: classes
82
+ }, restProps), children);
83
+ };
84
+
57
85
  var Form = Reform;
58
- Form.Item = _form.default.Item;
86
+ Form.Item = LMFormItem;
59
87
  Form.List = _list.default;
60
88
  Form.ErrorList = _form.default.ErrorList;
61
89
  Form.useForm = _Form2.useForm;
@@ -506,6 +506,9 @@ html {
506
506
  .lm_form .ant-form-item {
507
507
  margin-bottom: 16px;
508
508
  }
509
+ .lm_form .ant-form-item .ant-form-item-explain {
510
+ line-height: 24px;
511
+ }
509
512
  .lm_form .ant-form-item-label {
510
513
  display: flex !important;
511
514
  align-items: center;
@@ -529,3 +532,116 @@ html {
529
532
  .lm_form .ant-form-item-control {
530
533
  width: 240px;
531
534
  }
535
+ .lm_container_wrapper {
536
+ overflow: auto;
537
+ }
538
+ .lm_container_wrapper .lm_container.responsive {
539
+ min-width: 990px;
540
+ }
541
+ .lm_container_wrapper .lm_container.responsive .lm_form {
542
+ display: flex;
543
+ flex-direction: row;
544
+ flex-wrap: wrap;
545
+ }
546
+ .lm_container_wrapper .lm_container.responsive .lm_form .ant-form-item {
547
+ margin-right: 24px;
548
+ }
549
+ .lm_container_wrapper .lm_container.responsive.lm_col_3 .ant-form-item {
550
+ width: calc(33.3333% - 16px);
551
+ }
552
+ .lm_container_wrapper .lm_container.responsive.lm_col_3 .ant-form-item:nth-of-type(3n) {
553
+ margin-right: 0;
554
+ }
555
+ .lm_container_wrapper .lm_container.responsive.lm_col_4 .ant-form-item {
556
+ width: calc(25% - 18px);
557
+ }
558
+ .lm_container_wrapper .lm_container.responsive.lm_col_4 .ant-form-item:nth-of-type(4n) {
559
+ margin-right: 0;
560
+ }
561
+ .lm_container_wrapper .lm_container.responsive.lm_col_5 .ant-form-item {
562
+ width: calc(20% - 96px / 5);
563
+ }
564
+ .lm_container_wrapper .lm_container.responsive.lm_col_5 .ant-form-item:nth-of-type(5n) {
565
+ margin-right: 0;
566
+ }
567
+ .lm_form .lm_form-item-tip-error .ant-form-item-explain {
568
+ position: absolute;
569
+ display: flex;
570
+ top: 0;
571
+ left: 100%;
572
+ z-index: 100;
573
+ color: #FA4F53;
574
+ pointer-events: none;
575
+ }
576
+ .lm_form .lm_form-item-tip-error .ant-form-item-explain::before {
577
+ content: ' ';
578
+ position: absolute;
579
+ z-index: 10;
580
+ display: inline-block;
581
+ height: 0;
582
+ width: 0;
583
+ background-color: #fff;
584
+ transform: rotate(45deg);
585
+ border-width: 4px;
586
+ border-style: solid;
587
+ }
588
+ .lm_form .lm_form-item-tip-error .ant-form-item-explain .ant-form-item-explain-error {
589
+ line-height: 20px;
590
+ font-size: 12px;
591
+ background-color: #fff;
592
+ padding: 6px 8px;
593
+ box-shadow: 0 0 6px 2px #e3e3e3;
594
+ border-radius: 2px;
595
+ }
596
+ .lm_form .lm_form-item-tip-error-right .ant-form-item-explain::before {
597
+ box-shadow: -1px 1px 1px 0px #f0f0f0;
598
+ border-color: transparent transparent #fff #fff;
599
+ margin-left: 3px;
600
+ margin-top: 12px;
601
+ }
602
+ .lm_form .lm_form-item-tip-error-right .ant-form-item-explain .ant-form-item-explain-error {
603
+ margin-left: 7px;
604
+ }
605
+ .lm_form .lm_form-item-tip-error-left .ant-form-item-explain {
606
+ left: -100%;
607
+ justify-content: flex-end;
608
+ padding-right: 7px;
609
+ }
610
+ .lm_form .lm_form-item-tip-error-left .ant-form-item-explain::before {
611
+ box-shadow: 1px -1px 1px 0px #f0f0f0;
612
+ border-color: #fff #fff transparent transparent;
613
+ margin-left: -11px;
614
+ margin-top: 12px;
615
+ left: 100%;
616
+ }
617
+ .lm_form .lm_form-item-tip-error-left .ant-form-item-explain .ant-form-item-explain-error {
618
+ margin-left: -4px;
619
+ }
620
+ .lm_form .lm_form-item-tip-error-top .ant-form-item-explain {
621
+ top: -39px;
622
+ left: 0;
623
+ justify-content: center;
624
+ }
625
+ .lm_form .lm_form-item-tip-error-top .ant-form-item-explain::before {
626
+ box-shadow: 1px 1px 1px 0px #f0f0f0;
627
+ border-color: transparent #fff #fff transparent;
628
+ background-color: #fff;
629
+ margin-top: 28px;
630
+ }
631
+ .lm_form .lm_form-item-tip-error-top .ant-form-item-explain .ant-form-item-explain-error {
632
+ margin-left: -4px;
633
+ }
634
+ .lm_form .lm_form-item-tip-error-bottom .ant-form-item-explain {
635
+ top: 39px;
636
+ left: 0;
637
+ justify-content: center;
638
+ }
639
+ .lm_form .lm_form-item-tip-error-bottom .ant-form-item-explain::before {
640
+ box-shadow: -1px -1px 1px 0px #f0f0f0;
641
+ border-color: #fff transparent transparent #fff;
642
+ background-color: #fff;
643
+ margin-top: -4px;
644
+ }
645
+ .lm_form .lm_form-item-tip-error-bottom .ant-form-item-explain .ant-form-item-explain-error {
646
+ margin-left: -4px;
647
+ }
@@ -8,7 +8,7 @@ exports.default = void 0;
8
8
  var _icons = require("@ant-design/icons");
9
9
 
10
10
  var IconFont = (0, _icons.createFromIconfontCN)({
11
- scriptUrl: '//at.alicdn.com/t/c/font_2966019_sw56tprypkb.js' // 在 iconfont.cn 上生成
11
+ scriptUrl: '//at.alicdn.com/t/c/font_2966019_totaqlvhjak.js' // 在 iconfont.cn 上生成
12
12
  // scriptUrl: require('./font/iconfont.js'),
13
13
 
14
14
  });
@@ -267,10 +267,11 @@ var EditableCell = function EditableCell(props) {
267
267
  handleSave = props.handleSave,
268
268
  handleAdd = props.handleAdd,
269
269
  handleDelete = props.handleDelete,
270
+ handleCopy = props.handleCopy,
270
271
  itemProps = props.itemProps,
271
272
  setValid = props.setValid,
272
273
  reWriteOriginSource = props.reWriteOriginSource,
273
- restProps = __rest(props, ["record", "rowKey", "isEdit", "col", "handleTableRowDelete", "handleTableRowAdd", "getLength", "isHoverEdit", "editEnum", "valueType", "children", "handleSave", "handleAdd", "handleDelete", "itemProps", "setValid", "reWriteOriginSource"]);
274
+ restProps = __rest(props, ["record", "rowKey", "isEdit", "col", "handleTableRowDelete", "handleTableRowAdd", "getLength", "isHoverEdit", "editEnum", "valueType", "children", "handleSave", "handleAdd", "handleDelete", "handleCopy", "itemProps", "setValid", "reWriteOriginSource"]);
274
275
  /** 去除移入移出功能,保留最纯粹的功能,优化性能 */
275
276
 
276
277
 
@@ -294,44 +295,45 @@ var EditableCell = function EditableCell(props) {
294
295
  while (1) {
295
296
  switch (_context.prev = _context.next) {
296
297
  case 0:
297
- console.log(row, 'rrr', form.getFieldsValue(), record);
298
- _context.prev = 1;
298
+ _context.prev = 0;
299
299
  _context.t0 = row;
300
300
 
301
301
  if (_context.t0) {
302
- _context.next = 7;
302
+ _context.next = 6;
303
303
  break;
304
304
  }
305
305
 
306
- _context.next = 6;
306
+ _context.next = 5;
307
307
  return form.getFieldsValue();
308
308
 
309
- case 6:
309
+ case 5:
310
310
  _context.t0 = _context.sent;
311
311
 
312
- case 7:
312
+ case 6:
313
313
  values = _context.t0;
314
- console.log(Object.assign(Object.assign({}, values), (0, _defineProperty2.default)({}, rowKey, record === null || record === void 0 ? void 0 : record[rowKey])), 'vvvv');
314
+ console.log(Object.assign(Object.assign({
315
+ record: record
316
+ }, values), (0, _defineProperty2.default)({}, rowKey, record === null || record === void 0 ? void 0 : record[rowKey])), 'vvvv');
315
317
  console.time('testForEach');
316
- handleSave(Object.assign(Object.assign({}, values), (0, _defineProperty2.default)({}, rowKey, record === null || record === void 0 ? void 0 : record[rowKey])));
318
+ handleSave(Object.assign(Object.assign(Object.assign({}, record), values), (0, _defineProperty2.default)({}, rowKey, record === null || record === void 0 ? void 0 : record[rowKey])));
317
319
  console.timeEnd('testForEach');
318
- _context.next = 14;
320
+ _context.next = 13;
319
321
  return form.validateFields();
320
322
 
321
- case 14:
322
- _context.next = 18;
323
+ case 13:
324
+ _context.next = 17;
323
325
  break;
324
326
 
325
- case 16:
326
- _context.prev = 16;
327
- _context.t1 = _context["catch"](1);
327
+ case 15:
328
+ _context.prev = 15;
329
+ _context.t1 = _context["catch"](0);
328
330
 
329
- case 18:
331
+ case 17:
330
332
  case "end":
331
333
  return _context.stop();
332
334
  }
333
335
  }
334
- }, _callee, null, [[1, 16]]);
336
+ }, _callee, null, [[0, 15]]);
335
337
  }));
336
338
  }; // 触发保存
337
339
 
@@ -339,6 +341,15 @@ var EditableCell = function EditableCell(props) {
339
341
  var handleFormItemChange = function handleFormItemChange(e) {
340
342
  save === null || save === void 0 ? void 0 : save();
341
343
  };
344
+ /** 快捷刷子,把当前的所有列的值,刷成当前的选中的列 */
345
+
346
+
347
+ var copyKey = function copyKey(e) {
348
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
349
+ console.log(rowKey, record[rowKey], 'fff');
350
+ var dataIndex = col.dataIndex;
351
+ handleCopy === null || handleCopy === void 0 ? void 0 : handleCopy(dataIndex, record[dataIndex]);
352
+ };
342
353
 
343
354
  var Control = function Control(con) {
344
355
  switch (con) {
@@ -360,6 +371,10 @@ var EditableCell = function EditableCell(props) {
360
371
  noStyle: true
361
372
  }, /*#__PURE__*/_react.default.cloneElement(componentProps.addonAfter, {
362
373
  onChange: handleFormItemChange
374
+ })) : null,
375
+ suffix: componentProps.quickcopy ? /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
376
+ onClick: copyKey,
377
+ type: 'lmweb-icon_m_brush'
363
378
  })) : null
364
379
  }));
365
380
 
@@ -742,6 +757,20 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
742
757
  }
743
758
  };
744
759
 
760
+ var handleCopy = function handleCopy(key, value) {
761
+ var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
762
+ draft.forEach(function (item) {
763
+ return item[key] = value;
764
+ });
765
+ });
766
+
767
+ if (onChange) {
768
+ onChange === null || onChange === void 0 ? void 0 : onChange(res);
769
+ } else {
770
+ setDataSource(res);
771
+ }
772
+ };
773
+
745
774
  var resultColumns = (0, _react.useMemo)(function () {
746
775
  var localColumns = [sortOpen ? {
747
776
  title: '',
@@ -815,6 +844,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
815
844
  isHoverEdit: isHoverEdit,
816
845
  handleAdd: handleAdd,
817
846
  handleDelete: handleDelete,
847
+ handleCopy: handleCopy,
818
848
  editEnum: typeof col.editEnum === 'function' ? col.editEnum(record) : col.editEnum,
819
849
  valueType: typeof col.valueType === 'function' ? col.valueType(record) : col.valueType,
820
850
  handleSave: handleSave,
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -13,12 +15,18 @@ var _input = _interopRequireDefault(require("antd/es/input"));
13
15
 
14
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
17
 
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
16
20
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
21
 
18
- var _react = _interopRequireDefault(require("react"));
22
+ var _react = _interopRequireWildcard(require("react"));
19
23
 
20
24
  var _CheckboxTags = _interopRequireDefault(require("./CheckboxTags"));
21
25
 
26
+ var _CascaderFilter = _interopRequireDefault(require("../components/CascaderFilter"));
27
+
28
+ var _DateFilter = _interopRequireDefault(require("../components/DateFilter"));
29
+
22
30
  var _excluded = ["item", "options"];
23
31
 
24
32
  var Controls = function Controls(props) {
@@ -27,6 +35,19 @@ var Controls = function Controls(props) {
27
35
  options = props.options,
28
36
  resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
29
37
  var type = item.type;
38
+
39
+ var _useState = (0, _react.useState)(false),
40
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
41
+ visible = _useState2[0],
42
+ setVisible = _useState2[1];
43
+
44
+ var instance = {
45
+ filterValue: resetProps.value,
46
+ setFilterValue: resetProps.onChange,
47
+ visible: visible,
48
+ setVisible: setVisible,
49
+ children: null
50
+ };
30
51
  var obj = {
31
52
  'select': /*#__PURE__*/_react.default.createElement(_CheckboxTags.default, (0, _extends2.default)({
32
53
  options: options
@@ -34,7 +55,16 @@ var Controls = function Controls(props) {
34
55
  'checkbox': /*#__PURE__*/_react.default.createElement(_CheckboxTags.default, (0, _extends2.default)({
35
56
  options: options
36
57
  }, resetProps)),
37
- // 'cascader': <CascaderFilter options={options} {...resetProps} />,
58
+ 'cascader': /*#__PURE__*/_react.default.createElement(_CascaderFilter.default, {
59
+ instance: instance,
60
+ item: item,
61
+ options: options
62
+ }),
63
+ 'date': /*#__PURE__*/_react.default.createElement(_DateFilter.default, {
64
+ instance: instance,
65
+ item: item,
66
+ options: options
67
+ }),
38
68
  'input': /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({
39
69
  placeholder: "\u8BF7\u8F93\u5165"
40
70
  }, resetProps)) // 'nested': <Nested options={options} {...resetProps} />,
@@ -19,7 +19,7 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _FilterRoot = _interopRequireDefault(require("./wrapper/FilterRoot"));
21
21
 
22
- var _localization = require("./localization.tsx");
22
+ var _localization = require("./localization");
23
23
 
24
24
  var _excluded = ["localization"];
25
25
 
@@ -22,7 +22,8 @@ var LmFilterBase = /*#__PURE__*/_react.default.memo(function (_ref) {
22
22
  }, /*#__PURE__*/_react.default.createElement(_fuzzySearch.default, {
23
23
  instance: instance
24
24
  }), dataSource.map(function (v, index) {
25
- return /*#__PURE__*/_react.default.createElement(_components.default, {
25
+ var isHidden = !v.show && typeof v.show === 'boolean';
26
+ return isHidden ? null : /*#__PURE__*/_react.default.createElement(_components.default, {
26
27
  key: (v === null || v === void 0 ? void 0 : v.field) || index,
27
28
  instance: instance,
28
29
  item: v
@@ -49,31 +49,8 @@ var ListItemChecked = function ListItemChecked(_ref) {
49
49
  }, [field, valueObj.originField, dataSource]); // 选中值的处理
50
50
 
51
51
  var resetValue = (0, _react.useMemo)(function () {
52
- if (getItem.type === 'cascader') {
53
- var _valueObj$value;
54
-
55
- return (_valueObj$value = valueObj.value) === null || _valueObj$value === void 0 ? void 0 : _valueObj$value.map(function (v) {
56
- return v[v.length - 1];
57
- });
58
- }
59
-
60
52
  return valueObj.value;
61
- }, [getItem, valueObj.value]); // 遍历树结构
62
-
63
- var deepChildren = function deepChildren(arr, preArr) {
64
- arr.forEach(function (item) {
65
- var _item$children;
66
-
67
- if (resetValue.includes(item.value)) {
68
- preArr.push(item);
69
- }
70
-
71
- if ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) {
72
- deepChildren(item.children, preArr);
73
- }
74
- });
75
- }; // 选中的数据
76
-
53
+ }, [valueObj.value]); // 选中的数据
77
54
 
78
55
  var checkedValues = (0, _react.useMemo)(function () {
79
56
  var checkedValue = valueObj.value;
@@ -81,14 +58,21 @@ var ListItemChecked = function ListItemChecked(_ref) {
81
58
  if (Array.isArray(checkedValue)) {
82
59
  var _getItem$data;
83
60
 
61
+ if (['date'].includes(getItem.type)) {
62
+ return [{
63
+ value: resetValue,
64
+ label: "".concat(resetValue[0], " ~ ").concat(resetValue[1])
65
+ }];
66
+ }
67
+
84
68
  if (getItem.type === 'nested') {
85
69
  return checkedValue;
86
70
  }
87
71
 
88
72
  if (getItem.type === 'cascader') {
89
- var arr = [];
90
- deepChildren(getItem.data, arr);
91
- return arr;
73
+ var _getItem$props;
74
+
75
+ return (0, _utils.getFlatItem)((getItem === null || getItem === void 0 ? void 0 : (_getItem$props = getItem.props) === null || _getItem$props === void 0 ? void 0 : _getItem$props.multiple) ? checkedValue : [checkedValue], getItem.data, 'parent');
92
76
  }
93
77
 
94
78
  return (_getItem$data = getItem.data) === null || _getItem$data === void 0 ? void 0 : _getItem$data.filter(function (v) {
@@ -96,7 +80,7 @@ var ListItemChecked = function ListItemChecked(_ref) {
96
80
  });
97
81
  }
98
82
 
99
- if (getItem.type === 'input') {
83
+ if (['input', 'date'].includes(getItem.type)) {
100
84
  return resetValue ? [{
101
85
  value: resetValue,
102
86
  label: resetValue
@@ -137,10 +121,24 @@ var ListItemChecked = function ListItemChecked(_ref) {
137
121
 
138
122
  var onTagClose = function onTagClose(val) {
139
123
  var originData = (0, _objectSpread3.default)({}, complexDrawer.data);
140
- var filterValues = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData), {}, (0, _defineProperty2.default)({}, field, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData[field]), {}, {
141
- value: originData[field].value.filter(function (v) {
124
+ var nValue = '';
125
+
126
+ if (['select', 'checkbox'].includes(getItem.type)) {
127
+ nValue = originData[field].value.filter(function (v) {
142
128
  return !v.includes(val);
143
- })
129
+ });
130
+ }
131
+
132
+ if (['input'].includes(getItem.type)) {
133
+ nValue = '';
134
+ }
135
+
136
+ if (['cascader'].includes(getItem.type)) {
137
+ nValue = [];
138
+ }
139
+
140
+ var filterValues = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData), {}, (0, _defineProperty2.default)({}, field, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData[field]), {}, {
141
+ value: nValue
144
142
  })));
145
143
  dispatch({
146
144
  type: 'changeComplexDrawer',
@@ -304,7 +302,10 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
304
302
  complexFilter: complexDrawer.data
305
303
  });
306
304
  onClose();
307
- onChange === null || onChange === void 0 ? void 0 : onChange(null, complexDrawer.data);
305
+ onChange === null || onChange === void 0 ? void 0 : onChange({
306
+ complexFilter: complexDrawer.data,
307
+ type: 'complex'
308
+ });
308
309
  }; // 初始化筛选
309
310
 
310
311
 
@@ -13,6 +13,8 @@ require("antd/es/cascader/style");
13
13
 
14
14
  var _cascader = _interopRequireDefault(require("antd/es/cascader"));
15
15
 
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
+
16
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
19
 
18
20
  var _react = _interopRequireWildcard(require("react"));
@@ -21,14 +23,15 @@ var _linkmoreDesign = require("linkmore-design");
21
23
 
22
24
  var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
23
25
 
26
+ var _hooks = require("../hooks");
27
+
24
28
  // 重置级联弹框
25
29
  var DropdownRender = function DropdownRender(_ref) {
26
30
  var dom = _ref.dom,
27
31
  instance = _ref.instance,
28
32
  item = _ref.item,
29
33
  setOptions = _ref.setOptions,
30
- checkedValues = _ref.checkedValues,
31
- setCheckedValues = _ref.setCheckedValues;
34
+ checkedValues = _ref.checkedValues;
32
35
  var _instance$filterValue = instance.filterValue,
33
36
  filterValue = _instance$filterValue === void 0 ? [] : _instance$filterValue,
34
37
  setFilterValue = instance.setFilterValue,
@@ -37,6 +40,12 @@ var DropdownRender = function DropdownRender(_ref) {
37
40
  var _item$data = item.data,
38
41
  filters = _item$data === void 0 ? [] : _item$data;
39
42
  var inputRef = (0, _react.useRef)(null);
43
+ var delayedFn = (0, _hooks.useDelayedFn)();
44
+ var isShowFoot = (0, _react.useMemo)(function () {
45
+ var _item$props;
46
+
47
+ return item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.multiple;
48
+ }, [item]);
40
49
 
41
50
  var handleFilter = function handleFilter(val) {
42
51
  var serachValues = filters.filter(function (v) {
@@ -48,28 +57,23 @@ var DropdownRender = function DropdownRender(_ref) {
48
57
 
49
58
  var handleSure = function handleSure() {
50
59
  setFilterValue(checkedValues);
51
- setVisible(false);
60
+ setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
52
61
  }; // 取消
53
62
 
54
63
 
55
64
  var handleReset = function handleReset() {
56
- setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
65
+ return setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
57
66
  };
58
67
 
59
68
  (0, _react.useEffect)(function () {
60
69
  if (visible) {
61
- var _inputRef$current2, _inputRef$current2$se;
62
-
63
- setTimeout(function () {
64
- var _inputRef$current;
70
+ delayedFn(function () {
71
+ var _inputRef$current, _inputRef$current$foc;
65
72
 
66
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
73
+ return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : (_inputRef$current$foc = _inputRef$current.focus) === null || _inputRef$current$foc === void 0 ? void 0 : _inputRef$current$foc.call(_inputRef$current, {
67
74
  cursor: 'all'
68
75
  });
69
- }, 200);
70
- setCheckedValues(filterValue);
71
- (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : (_inputRef$current2$se = _inputRef$current2.setValue) === null || _inputRef$current2$se === void 0 ? void 0 : _inputRef$current2$se.call(_inputRef$current2, '');
72
- handleFilter('');
76
+ });
73
77
  }
74
78
  }, [visible]);
75
79
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -80,7 +84,7 @@ var DropdownRender = function DropdownRender(_ref) {
80
84
  ref: inputRef,
81
85
  onSearch: handleFilter,
82
86
  onChange: handleFilter
83
- })), dom, /*#__PURE__*/_react.default.createElement("div", {
87
+ })), dom, isShowFoot && /*#__PURE__*/_react.default.createElement("div", {
84
88
  className: "filter_footer"
85
89
  }, /*#__PURE__*/_react.default.createElement("div", {
86
90
  className: "footer_clear",
@@ -99,7 +103,9 @@ var CascaderFilter = function CascaderFilter(_ref2) {
99
103
  filterValue = _instance$filterValue2 === void 0 ? [] : _instance$filterValue2,
100
104
  setFilterValue = instance.setFilterValue,
101
105
  visible = instance.visible,
102
- setVisible = instance.setVisible;
106
+ setVisible = instance.setVisible,
107
+ _instance$children = instance.children,
108
+ children = _instance$children === void 0 ? /*#__PURE__*/_react.default.createElement("div", null) : _instance$children;
103
109
  var _itemProps$data = itemProps.data,
104
110
  filters = _itemProps$data === void 0 ? [] : _itemProps$data;
105
111
 
@@ -113,35 +119,29 @@ var CascaderFilter = function CascaderFilter(_ref2) {
113
119
  checkedValues = _useState4[0],
114
120
  setCheckedValues = _useState4[1];
115
121
 
116
- var checkedKeys = (0, _react.useMemo)(function () {
117
- return checkedValues.map(function (v) {
118
- return v.value;
119
- });
120
- }, [checkedValues]);
121
122
  var defaultValue = (0, _react.useMemo)(function () {
122
- var flatKeys = function flatKeys(arr) {
123
- return arr.map(function (v) {
124
- return v.value;
125
- });
126
- };
127
-
128
- var nKey = filterValue.map(function (v) {
129
- return Array.isArray(v) ? flatKeys(v) : v.value;
130
- });
131
- return nKey;
123
+ return filterValue;
132
124
  }, [filterValue]);
133
125
 
134
126
  var onChange = function onChange(item, selectedOptions) {
135
- console.log('item', item, '===', selectedOptions);
136
- setCheckedValues(selectedOptions);
127
+ var _itemProps$props;
128
+
129
+ console.log('item', item);
130
+ setCheckedValues(item);
131
+
132
+ if (!(itemProps === null || itemProps === void 0 ? void 0 : (_itemProps$props = itemProps.props) === null || _itemProps$props === void 0 ? void 0 : _itemProps$props.multiple)) {
133
+ setFilterValue(item);
134
+ }
137
135
  };
138
136
 
139
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, {
140
- multiple: true,
137
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, (0, _extends2.default)({}, itemProps.props, {
141
138
  options: options,
142
139
  onChange: onChange,
143
140
  defaultValue: defaultValue,
144
141
  open: visible,
142
+ onDropdownVisibleChange: function onDropdownVisibleChange(vis) {
143
+ return setVisible(vis);
144
+ },
145
145
  dropdownRender: function dropdownRender(dom) {
146
146
  return /*#__PURE__*/_react.default.createElement(DropdownRender, {
147
147
  dom: dom,
@@ -152,7 +152,7 @@ var CascaderFilter = function CascaderFilter(_ref2) {
152
152
  setOptions: setOptions
153
153
  });
154
154
  }
155
- }, /*#__PURE__*/_react.default.createElement("div", null)));
155
+ }), children));
156
156
  };
157
157
 
158
158
  var _default = CascaderFilter;