linkmore-design 1.1.13-alpha.2 → 1.1.13-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 (120) hide show
  1. package/CHANGELOG.md +44 -10
  2. package/dist/ConfigProvider/context.d.ts +1 -0
  3. package/dist/Descriptions/index.d.ts +1 -1
  4. package/dist/Form/FormWrapper.d.ts +3 -0
  5. package/dist/Form/WrapperItem.d.ts +4 -0
  6. package/dist/Form/demos/responsive.d.ts +0 -1
  7. package/dist/Form/index.d.ts +2 -0
  8. package/dist/Form/interface.d.ts +12 -0
  9. package/dist/IconFont/demos/ConfigProvider.d.ts +2 -0
  10. package/dist/IconFont/index.d.ts +1 -2
  11. package/dist/LmTable/demos/summuy.d.ts +2 -0
  12. package/dist/QuickMenu/demos/useInDraw.d.ts +2 -0
  13. package/dist/QuickMenu/index.d.ts +1 -0
  14. package/dist/TreeSelect/demos/treedata.d.ts +3 -0
  15. package/dist/index.umd.js +1271 -1039
  16. package/dist/index.umd.min.js +17 -17
  17. package/dist/variables.css +162 -98
  18. package/es/Cascader/index.js +16 -2
  19. package/es/Cascader/style/index.css +1 -0
  20. package/es/Cascader/style/variables.css +1 -0
  21. package/es/ConfigProvider/context.d.ts +1 -0
  22. package/es/ConfigProvider/index.js +5 -3
  23. package/es/Descriptions/index.d.ts +1 -1
  24. package/es/Descriptions/index.js +3 -3
  25. package/es/Descriptions/style/index.css +3 -0
  26. package/es/Descriptions/style/variables.css +3 -0
  27. package/es/Form/Form.js +13 -4
  28. package/es/Form/FormItem/ItemHolder.js +1 -10
  29. package/es/Form/FormWrapper.d.ts +3 -0
  30. package/es/Form/FormWrapper.js +22 -0
  31. package/es/Form/WrapperItem.d.ts +4 -0
  32. package/es/Form/WrapperItem.js +217 -0
  33. package/es/Form/container.js +1 -13
  34. package/es/Form/images/icon_collapse.svg +1 -0
  35. package/es/Form/index.d.ts +2 -0
  36. package/es/Form/index.js +2 -0
  37. package/es/Form/interface.d.ts +12 -0
  38. package/es/Form/style/index.css +34 -44
  39. package/es/Form/style/variables.css +34 -44
  40. package/es/IconFont/index.d.ts +1 -2
  41. package/es/IconFont/index.js +18 -4
  42. package/es/ImageViewer/components/Operate.js +4 -7
  43. package/es/InputNumber/index.js +11 -4
  44. package/es/InputNumber/style/index.css +7 -0
  45. package/es/InputNumber/style/variables.css +7 -0
  46. package/es/LmEditTable/EditTable.js +3 -3
  47. package/es/LmEditTable/sortableItemCol.js +8 -5
  48. package/es/LmEditTable/util.js +1 -1
  49. package/es/LmFilter/components/CheckboxFilter.js +9 -4
  50. package/es/LmFilter/components/DropdownFIlter.js +166 -115
  51. package/es/LmFilter/components/SelectFilter.js +4 -3
  52. package/es/LmFilter/filterFns/index.js +4 -6
  53. package/es/LmFilter/style/index.css +73 -54
  54. package/es/LmFilter/style/variables.css +73 -54
  55. package/es/LmFilter/utils.js +6 -6
  56. package/es/LmSelect/style/index.css +1 -0
  57. package/es/LmSelect/style/variables.css +1 -0
  58. package/es/LmTable/style/index.css +39 -0
  59. package/es/LmTable/style/variables.css +39 -0
  60. package/es/LmUpload/UploadList/ItemText.js +5 -1
  61. package/es/QuickMenu/index.d.ts +1 -0
  62. package/es/QuickMenu/index.js +12 -8
  63. package/es/Select/style/index.css +1 -0
  64. package/es/Select/style/variables.css +1 -0
  65. package/es/TreeSelect/index.js +16 -2
  66. package/es/TreeSelect/style/index.css +3 -0
  67. package/es/TreeSelect/style/variables.css +3 -0
  68. package/es/styles/variables.css +162 -98
  69. package/lib/Cascader/index.js +20 -2
  70. package/lib/Cascader/style/index.css +1 -0
  71. package/lib/Cascader/style/variables.css +1 -0
  72. package/lib/ConfigProvider/context.d.ts +1 -0
  73. package/lib/ConfigProvider/index.js +5 -3
  74. package/lib/Descriptions/index.d.ts +1 -1
  75. package/lib/Descriptions/index.js +3 -3
  76. package/lib/Descriptions/style/index.css +3 -0
  77. package/lib/Descriptions/style/variables.css +3 -0
  78. package/lib/Form/Form.js +13 -4
  79. package/lib/Form/FormItem/ItemHolder.js +1 -10
  80. package/lib/Form/FormWrapper.d.ts +3 -0
  81. package/lib/Form/FormWrapper.js +34 -0
  82. package/lib/Form/WrapperItem.d.ts +4 -0
  83. package/lib/Form/WrapperItem.js +235 -0
  84. package/lib/Form/container.js +1 -13
  85. package/lib/Form/images/icon_collapse.svg +1 -0
  86. package/lib/Form/index.d.ts +2 -0
  87. package/lib/Form/index.js +3 -0
  88. package/lib/Form/interface.d.ts +12 -0
  89. package/lib/Form/style/index.css +34 -44
  90. package/lib/Form/style/variables.css +34 -44
  91. package/lib/IconFont/index.d.ts +1 -2
  92. package/lib/IconFont/index.js +25 -4
  93. package/lib/ImageViewer/components/Operate.js +4 -8
  94. package/lib/InputNumber/index.js +13 -4
  95. package/lib/InputNumber/style/index.css +7 -0
  96. package/lib/InputNumber/style/variables.css +7 -0
  97. package/lib/LmEditTable/EditTable.js +3 -3
  98. package/lib/LmEditTable/sortableItemCol.js +8 -5
  99. package/lib/LmEditTable/util.js +1 -1
  100. package/lib/LmFilter/components/CheckboxFilter.js +9 -4
  101. package/lib/LmFilter/components/DropdownFIlter.js +166 -115
  102. package/lib/LmFilter/components/SelectFilter.js +4 -3
  103. package/lib/LmFilter/filterFns/index.js +4 -6
  104. package/lib/LmFilter/style/index.css +73 -54
  105. package/lib/LmFilter/style/variables.css +73 -54
  106. package/lib/LmFilter/utils.js +6 -6
  107. package/lib/LmSelect/style/index.css +1 -0
  108. package/lib/LmSelect/style/variables.css +1 -0
  109. package/lib/LmTable/style/index.css +39 -0
  110. package/lib/LmTable/style/variables.css +39 -0
  111. package/lib/LmUpload/UploadList/ItemText.js +5 -1
  112. package/lib/QuickMenu/index.d.ts +1 -0
  113. package/lib/QuickMenu/index.js +11 -7
  114. package/lib/Select/style/index.css +1 -0
  115. package/lib/Select/style/variables.css +1 -0
  116. package/lib/TreeSelect/index.js +20 -2
  117. package/lib/TreeSelect/style/index.css +3 -0
  118. package/lib/TreeSelect/style/variables.css +3 -0
  119. package/lib/styles/variables.css +162 -98
  120. package/package.json +1 -1
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { IconFont } from 'linkmore-design';
3
- import { ZoomOutOutlined } from '@ant-design/icons';
4
3
 
5
4
  var Operate = function Operate(_ref) {
6
5
  var instance = _ref.instance;
@@ -20,20 +19,18 @@ var Operate = function Operate(_ref) {
20
19
  onClick: function onClick(e) {
21
20
  return handleTranform(e, 'zoomIn');
22
21
  }
23
- }), /*#__PURE__*/React.createElement(ZoomOutOutlined, {
22
+ }), /*#__PURE__*/React.createElement(IconFont, {
23
+ type: "lmweb-icon_m_narrow",
24
24
  onClick: function onClick(e) {
25
25
  return handleTranform(e, 'zoomOut');
26
- },
27
- style: {
28
- fontSize: 22
29
26
  }
30
27
  }), /*#__PURE__*/React.createElement(IconFont, {
31
- type: "lmweb-undo",
28
+ type: "lmweb-icon_m_turnleft-01",
32
29
  onClick: function onClick(e) {
33
30
  return handleTranform(e, 'rotateLeft');
34
31
  }
35
32
  }), /*#__PURE__*/React.createElement(IconFont, {
36
- type: "lmweb-redo",
33
+ type: "lmweb-reload",
37
34
  onClick: function onClick(e) {
38
35
  return handleTranform(e, 'rotateRight');
39
36
  }
@@ -17,23 +17,30 @@ var __rest = this && this.__rest || function (s, e) {
17
17
  import classNames from 'classnames';
18
18
  import React from 'react';
19
19
  import DisabledContext from '../ConfigProvider/DisabledContext';
20
+ import SizeContext from '../ConfigProvider/SizeContext';
20
21
  var prefixCls = 'lm_input-number';
21
22
 
22
23
  var LMInputNumber = function LMInputNumber(props) {
23
24
  var children = props.children,
24
25
  className = props.className,
25
26
  customDisabled = props.disabled,
27
+ customizeSize = props.size,
26
28
  rest = __rest(props // ===================== Disabled =====================
27
- , ["children", "className", "disabled"]); // ===================== Disabled =====================
29
+ , ["children", "className", "disabled", "size"]); // ===================== Disabled =====================
28
30
 
29
31
 
30
32
  var disabled = React.useContext(DisabledContext);
31
- var mergedDisabled = customDisabled || disabled;
33
+ var mergedDisabled = customDisabled || disabled; // ===================== size =====================
34
+
35
+ var size = React.useContext(SizeContext);
36
+ var mergeSize = customizeSize || size;
32
37
  return /*#__PURE__*/React.createElement(_InputNumber, Object.assign({
33
38
  className: classNames(className, prefixCls),
34
- disabled: mergedDisabled,
35
39
  placeholder: "\u8BF7\u8F93\u5165"
36
- }, rest));
40
+ }, rest, {
41
+ size: mergeSize,
42
+ disabled: mergedDisabled
43
+ }));
37
44
  };
38
45
 
39
46
  var CInputNumber = LMInputNumber;
@@ -510,8 +510,12 @@ html {
510
510
  p {
511
511
  margin-bottom: 0;
512
512
  }
513
+ .lm_input-number {
514
+ width: 100%;
515
+ }
513
516
  .lm_input-number.ant-input-number {
514
517
  border: 1px solid var(--color-15);
518
+ width: 100%;
515
519
  }
516
520
  .lm_input-number .ant-input-number-handler-wrap {
517
521
  width: 28px;
@@ -545,3 +549,6 @@ p {
545
549
  .lm_input-number.ant-input-number-status-warning {
546
550
  border-color: var(--warning-color) !important;
547
551
  }
552
+ .lm_input-number .ant-input-number-input::placeholder {
553
+ font-size: 12px;
554
+ }
@@ -1,5 +1,9 @@
1
+ .lm_input-number {
2
+ width: 100%;
3
+ }
1
4
  .lm_input-number.ant-input-number {
2
5
  border: 1px solid var(--color-15);
6
+ width: 100%;
3
7
  }
4
8
  .lm_input-number .ant-input-number-handler-wrap {
5
9
  width: 28px;
@@ -33,3 +37,6 @@
33
37
  .lm_input-number.ant-input-number-status-warning {
34
38
  border-color: var(--warning-color) !important;
35
39
  }
40
+ .lm_input-number .ant-input-number-input::placeholder {
41
+ font-size: 12px;
42
+ }
@@ -1125,7 +1125,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1125
1125
  } : null]).filter(function (item) {
1126
1126
  return item;
1127
1127
  });
1128
- localColumns = localColumns.map(function (item, index) {
1128
+ localColumns = localColumns === null || localColumns === void 0 ? void 0 : localColumns.map(function (item, index) {
1129
1129
  return Object.assign(Object.assign({}, item), {
1130
1130
  order: [null, undefined].includes(item.order) ? index : item.order
1131
1131
  });
@@ -1197,7 +1197,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1197
1197
  return newCol;
1198
1198
  };
1199
1199
 
1200
- var res = localColumns.map(function (col, index) {
1200
+ var res = localColumns === null || localColumns === void 0 ? void 0 : localColumns.map(function (col, index) {
1201
1201
  return mapColumns(col, index);
1202
1202
  });
1203
1203
  return res;
@@ -1304,7 +1304,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1304
1304
  fixed: true,
1305
1305
  type: 'checkbox',
1306
1306
  columnWidth: 36,
1307
- selectedRowKeys: localRowSelectList.map(function (v) {
1307
+ selectedRowKeys: localRowSelectList === null || localRowSelectList === void 0 ? void 0 : localRowSelectList.map(function (v) {
1308
1308
  return v[_rowKey];
1309
1309
  }),
1310
1310
  onChange: function onChange(selectedRowKeys, selectedRows) {
@@ -15,14 +15,15 @@ import React, { forwardRef } from 'react';
15
15
  import { useSortable } from '@dnd-kit/sortable';
16
16
  import { CSS } from '@dnd-kit/utilities';
17
17
  var Item = /*#__PURE__*/forwardRef(function (_a, ref) {
18
- var _b;
19
-
20
18
  var children = _a.children,
21
19
  props = __rest(_a, ["children"]);
22
20
 
23
- return /*#__PURE__*/React.createElement("th", Object.assign({}, props, {
21
+ return /*#__PURE__*/React.createElement("th", Object.assign({}, props, children.props, {
24
22
  ref: ref
25
- }), ((_b = children === null || children === void 0 ? void 0 : children.props) === null || _b === void 0 ? void 0 : _b.children) || children);
23
+ })); // <th {...props} ref={ref as any}>
24
+ // {/* {(children as any)?.props?.children || children} */}
25
+ // { children }
26
+ // </th>
26
27
  });
27
28
  export default function SortableItem(props) {
28
29
  var _useSortable = useSortable({
@@ -36,7 +37,9 @@ export default function SortableItem(props) {
36
37
 
37
38
  var style = {
38
39
  position: 'relative',
39
- transform: CSS.Translate.toString(transform),
40
+ transform: CSS.Translate.toString(transform ? Object.assign(Object.assign({}, transform), {
41
+ y: 0
42
+ }) : transform),
40
43
  transition: transition,
41
44
  touchAction: 'none',
42
45
  height: '40px',
@@ -53,7 +53,7 @@ export function checkRowKeyByDataSource(dataSource, rowKey) {
53
53
 
54
54
  return Object.assign(Object.assign({}, v), _defineProperty({}, rowKey, v[rowKey] || "v".concat(idx + 1)));
55
55
  });
56
- return res;
56
+ return res || [];
57
57
  }
58
58
  export function getExpandStatus(children) {
59
59
  var _a, _b, _c, _d, _e;
@@ -43,7 +43,9 @@ var CheckboxFilter = function CheckboxFilter(_ref) {
43
43
  visible = instance.visible,
44
44
  setVisible = instance.setVisible;
45
45
  var _itemProps$data = itemProps.data,
46
- filters = _itemProps$data === void 0 ? [] : _itemProps$data;
46
+ filters = _itemProps$data === void 0 ? [] : _itemProps$data,
47
+ showSearch = itemProps.showSearch,
48
+ showAllChecked = itemProps.showAllChecked;
47
49
  var inputRef = (0, _react.useRef)(); // 选中的数据项: [key, key, ...];
48
50
 
49
51
  var _useState = (0, _react.useState)(filterValue),
@@ -62,8 +64,11 @@ var CheckboxFilter = function CheckboxFilter(_ref) {
62
64
  var delayedFn = (0, _hooks.useDelayedFn)(); // 是否存在搜索, 当数据大于8时存在搜索
63
65
 
64
66
  var isSearch = (0, _react.useMemo)(function () {
65
- return filters.length > 8;
66
- }, [filters.length]); // 是否全选: 选中的数据大于等于筛选后的数据 && 筛选后的数据全部存在于选中的数据中
67
+ return filters.length > 8 && !!(showSearch !== null && showSearch !== void 0 ? showSearch : true);
68
+ }, [filters.length, showSearch]);
69
+ var isAllCheck = (0, _react.useMemo)(function () {
70
+ return !!(showAllChecked !== null && showAllChecked !== void 0 ? showAllChecked : true);
71
+ }, [showAllChecked]); // 是否全选: 选中的数据大于等于筛选后的数据 && 筛选后的数据全部存在于选中的数据中
67
72
 
68
73
  var checkAll = (0, _react.useMemo)(function () {
69
74
  var isAll = checkedValues.length >= options.length;
@@ -145,7 +150,7 @@ var CheckboxFilter = function CheckboxFilter(_ref) {
145
150
  ref: inputRef,
146
151
  onSearch: handleFilter,
147
152
  onChange: handleFilter
148
- }), /*#__PURE__*/_react.default.createElement("div", {
153
+ }), isAllCheck && /*#__PURE__*/_react.default.createElement("div", {
149
154
  className: "filter_header_operate"
150
155
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
151
156
  indeterminate: indeterminate,
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
13
-
14
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
15
13
 
16
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
@@ -63,133 +61,194 @@ var FilterControl = function FilterControl(_ref) {
63
61
  })
64
62
  };
65
63
  return widgets[type] || null;
66
- };
64
+ }; // 提示文字 占位符
65
+
67
66
 
68
- var getPlacehodler = function getPlacehodler(props) {
69
- var type = props.type,
70
- itemProps = props.props; // 日期显示的处理
67
+ var ItemPlacehodler = /*#__PURE__*/_react.default.memo(function (_ref2) {
68
+ var item = _ref2.item;
69
+ var type = item.type,
70
+ itemProps = item.props,
71
+ dateType = item.dateType,
72
+ datetype = item.datetype,
73
+ placeholder = item.placeholder; // 日期显示的处理
71
74
 
72
75
  if (['date'].includes(type)) {
73
- if (['range', 'rangePicker'].includes(props.dateType || props.datetype)) {
74
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\u5F00\u59CB\u65E5\u671F", /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
76
+ // 兼容大小写
77
+ if (['range', 'rangePicker'].includes(dateType || datetype)) {
78
+ var pls = placeholder !== null && placeholder !== void 0 ? placeholder : ['开始日期', '结束日期'];
79
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, pls === null || pls === void 0 ? void 0 : pls[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
75
80
  type: "lmweb-swap-right",
76
81
  style: {
77
82
  fontSize: 14
78
83
  }
79
- }), "\u7ED3\u675F\u65E5\u671F", /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
84
+ }), pls === null || pls === void 0 ? void 0 : pls[1], /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
80
85
  style: {
81
86
  fontSize: 12
82
87
  }
83
88
  }));
84
89
  }
85
90
 
86
- var placeholder = {
91
+ var unit = {
87
92
  week: '周',
88
93
  month: '月份',
89
94
  quarter: '季度',
90
95
  year: '年份'
91
96
  };
92
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\u9009\u62E9", placeholder[itemProps === null || itemProps === void 0 ? void 0 : itemProps.picker] || '日期', /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
97
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, placeholder !== null && placeholder !== void 0 ? placeholder : "\u9009\u62E9".concat(unit[itemProps === null || itemProps === void 0 ? void 0 : itemProps.picker] || '日期'), /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
93
98
  style: {
94
99
  fontSize: 12
95
100
  }
96
101
  }));
97
102
  }
98
103
 
99
- return '全部';
100
- }; // 根据不同的类型展示文本内容
104
+ return /*#__PURE__*/_react.default.createElement("span", null, placeholder !== null && placeholder !== void 0 ? placeholder : '全部');
105
+ }); // 根据不同的类型展示文本内容
101
106
 
102
107
 
103
- var getLabel = function getLabel(resetInstance, item) {
104
- var filterValue = resetInstance.filterValue;
108
+ var ItemLabel = /*#__PURE__*/_react.default.memo(function (_ref3) {
109
+ var instance = _ref3.instance,
110
+ item = _ref3.item;
111
+ var filterValue = instance.filterValue;
105
112
  var type = item.type,
106
- data = item.data; // 不存在筛选时
107
-
108
- if (!(0, _utils.getIsHas)(filterValue)) {
109
- return getPlacehodler(item);
110
- } // 存在筛选数据时 ⬇️
113
+ data = item.data;
114
+ /*
115
+ * 是否返回字符串类型
116
+ * return string | type: 'input', 'select', 'checkbox', 'cascader'
117
+ * return Jsx | type: 'date'
118
+ */
119
+
120
+ var isString = (0, _react.useMemo)(function () {
121
+ return ['input', 'select', 'checkbox', 'cascader'].includes(type);
122
+ }, [type]); // 存在筛选数据时 ⬇️
123
+
124
+ var String = (0, _react.useMemo)(function () {
125
+ try {
126
+ var _data$find;
127
+
128
+ // 级联数据转换平级结构
129
+ if (['cascader'].includes(type)) {
130
+ var nArr = (0, _utils.getFlatItem)(item, filterValue);
131
+ var labels = nArr === null || nArr === void 0 ? void 0 : nArr.map(function (v) {
132
+ var _item$props, _item$props$fieldName;
133
+
134
+ return v[(item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : (_item$props$fieldName = _item$props.fieldNames) === null || _item$props$fieldName === void 0 ? void 0 : _item$props$fieldName.label) || 'label'];
135
+ });
136
+
137
+ switch (labels.length) {
138
+ case 0:
139
+ // 数据未查找到时
140
+ return filterValue;
141
+
142
+ case 1:
143
+ return labels[0];
144
+
145
+ case 2:
146
+ return "".concat(labels[0], "\u3001").concat(labels[1]);
147
+
148
+ default:
149
+ return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
150
+ }
151
+ }
111
152
 
153
+ if (Array.isArray(filterValue)) {
154
+ var _data$filter;
112
155
 
113
- try {
114
- var _data$find;
156
+ // 日期
157
+ if (['date'].includes(type)) {
158
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
159
+ type: "lmweb-swap-right",
160
+ style: {
161
+ fontSize: 14,
162
+ color: 'var(--text-color)'
163
+ }
164
+ }), filterValue[1]);
165
+ } // 多选
115
166
 
116
- // 级联数据转换平级结构
117
- if (['cascader'].includes(type)) {
118
- var nArr = (0, _utils.getFlatItem)(item, filterValue);
119
- var labels = nArr === null || nArr === void 0 ? void 0 : nArr.map(function (v) {
120
- var _item$props, _item$props$fieldName;
121
167
 
122
- return v[(item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : (_item$props$fieldName = _item$props.fieldNames) === null || _item$props$fieldName === void 0 ? void 0 : _item$props$fieldName.label) || 'label'];
123
- });
168
+ var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
169
+ return (0, _utils.toStringIsEqual)(v.value, filterValue, 'includes');
170
+ })) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
171
+ return v.label;
172
+ });
124
173
 
125
- switch (labels.length) {
126
- case 0:
127
- // 数据未查找到时
128
- return filterValue;
174
+ if (!_labels.length) {
175
+ _labels = filterValue;
176
+ } // 受控模式未查找到显示的内容时展示
129
177
 
130
- case 1:
131
- return labels[0];
132
178
 
133
- case 2:
134
- return "".concat(labels[0], "\u3001").concat(labels[1]);
179
+ switch (_labels.length) {
180
+ case 1:
181
+ return _labels[0];
135
182
 
136
- default:
137
- return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
138
- }
139
- }
183
+ case 2:
184
+ return "".concat(_labels[0], "\u3001").concat(_labels[1]);
140
185
 
141
- if (Array.isArray(filterValue)) {
142
- var _data$filter;
143
-
144
- // 日期
145
- if (['date'].includes(type)) {
146
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
147
- type: "lmweb-swap-right",
148
- style: {
149
- fontSize: 14,
150
- color: 'var(--text-color)'
151
- }
152
- }), filterValue[1]);
153
- } // 多选
186
+ default:
187
+ return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
188
+ }
189
+ } // 输入框
154
190
 
155
191
 
156
- var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
157
- return (0, _utils.toStringIsEqual)(v.value, filterValue, 'includes');
158
- })) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
159
- return v.label;
160
- });
192
+ if (['input', 'date'].includes(type)) {
193
+ return filterValue;
194
+ } // 单选框 受控模式未查找到显示的内容时展示filterValue
161
195
 
162
- if (!_labels.length) {
163
- _labels = filterValue;
164
- } // 受控模式未查找到显示的内容时展示
165
196
 
197
+ var label = (data === null || data === void 0 ? void 0 : (_data$find = data.find(function (v) {
198
+ return (0, _utils.toStringIsEqual)(v === null || v === void 0 ? void 0 : v.value, filterValue);
199
+ })) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
200
+ return label;
201
+ } catch (error) {
202
+ return filterValue;
203
+ }
204
+ }, [type, filterValue]);
166
205
 
167
- switch (_labels.length) {
168
- case 1:
169
- return _labels[0];
206
+ if (isString) {
207
+ return /*#__PURE__*/_react.default.createElement("span", null, String);
208
+ }
170
209
 
171
- case 2:
172
- return "".concat(_labels[0], "\u3001").concat(_labels[1]);
210
+ return String;
211
+ });
173
212
 
174
- default:
175
- return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
176
- }
177
- } // 输入框
213
+ var FilterItem = /*#__PURE__*/_react.default.memo(function (_ref4) {
214
+ var instance = _ref4.instance,
215
+ item = _ref4.item;
216
+ var filterValue = instance.filterValue,
217
+ setFilterValue = instance.setFilterValue;
218
+ var title = item.title,
219
+ colon = item.colon; // 是否有筛选值/是否处于筛选状态
178
220
 
221
+ var active = (0, _react.useMemo)(function () {
222
+ return (0, _utils.getIsHas)(filterValue);
223
+ }, [filterValue]); // 冒号
179
224
 
180
- if (['input', 'date'].includes(type)) {
181
- return filterValue;
182
- } // 单选框 受控模式未查找到显示的内容时展示filterValue
225
+ var showColon = (0, _react.useMemo)(function () {
226
+ return (colon !== null && colon !== void 0 ? colon : ':') ? ':' : null;
227
+ }, [colon]);
183
228
 
229
+ var handleClear = function handleClear(e) {
230
+ if (active) {
231
+ e.stopPropagation();
232
+ setFilterValue((0, _utils.getValueForType)(item.type));
233
+ }
234
+ };
184
235
 
185
- var label = (data === null || data === void 0 ? void 0 : (_data$find = data.find(function (v) {
186
- return (0, _utils.toStringIsEqual)(v === null || v === void 0 ? void 0 : v.value, filterValue);
187
- })) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
188
- return label;
189
- } catch (error) {
190
- return filterValue;
191
- }
192
- };
236
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (title || showColon) && /*#__PURE__*/_react.default.createElement("div", {
237
+ className: "filter_item_label"
238
+ }, title, showColon), /*#__PURE__*/_react.default.createElement("div", {
239
+ className: "filter_item_value"
240
+ }, active ? /*#__PURE__*/_react.default.createElement(ItemLabel, {
241
+ instance: instance,
242
+ item: item
243
+ }) : /*#__PURE__*/_react.default.createElement(ItemPlacehodler, {
244
+ item: item
245
+ })), /*#__PURE__*/_react.default.createElement("div", {
246
+ className: "filter_item_icon addon_after"
247
+ }, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
248
+ type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
249
+ onClick: handleClear
250
+ }) : null));
251
+ });
193
252
  /*
194
253
  * css样式控制
195
254
  * expand: 展开样式
@@ -197,9 +256,9 @@ var getLabel = function getLabel(resetInstance, item) {
197
256
  */
198
257
 
199
258
 
200
- var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
201
- var instance = _ref2.instance,
202
- item = _ref2.item;
259
+ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref5) {
260
+ var instance = _ref5.instance,
261
+ item = _ref5.item;
203
262
 
204
263
  var _useState = (0, _react.useState)(false),
205
264
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -208,11 +267,21 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
208
267
 
209
268
  var filterValue = instance.filterValue,
210
269
  size = instance.size;
211
- var popupClassName = item.popupClassName; // 触发查询时关闭下拉框
270
+ var popupClassName = item.popupClassName,
271
+ className = item.className,
272
+ style = item.style; // 是否有筛选值/是否处于筛选状态
273
+
274
+ var active = (0, _react.useMemo)(function () {
275
+ return (0, _utils.getIsHas)(filterValue);
276
+ }, [filterValue]); // 触发查询时关闭下拉框
212
277
 
213
278
  var setFilterValue = function setFilterValue(obj) {
214
279
  instance.setFilterValue(obj);
215
280
  setVisible(false);
281
+ };
282
+
283
+ var onVisibleChange = function onVisibleChange(v) {
284
+ return setVisible(v);
216
285
  }; // 重组Instance 加入下拉关闭控制
217
286
 
218
287
 
@@ -221,19 +290,7 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
221
290
  setVisible: setVisible
222
291
  }, instance), {}, {
223
292
  setFilterValue: setFilterValue
224
- }); // 是否有筛选值/是否处于筛选状态
225
-
226
- var active = (0, _react.useMemo)(function () {
227
- return (0, _utils.getIsHas)(filterValue);
228
- }, [filterValue]);
229
-
230
- var handleClear = function handleClear(e) {
231
- if (active) {
232
- e.stopPropagation();
233
- setFilterValue((0, _utils.getValueForType)(item.type));
234
- }
235
- };
236
-
293
+ });
237
294
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
238
295
  trigger: ['click'],
239
296
  visible: resetInstance.visible,
@@ -242,27 +299,21 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
242
299
  instance: resetInstance,
243
300
  item: item
244
301
  }),
245
- overlayClassName: (0, _classnames.default)("filter_dropdown_container_".concat(item.type), (0, _defineProperty2.default)({}, popupClassName, popupClassName)),
246
- onVisibleChange: function onVisibleChange(v) {
247
- return setVisible(v);
248
- } // 未开启则需手动控制下拉展示组件的初始化
302
+ overlayClassName: (0, _classnames.default)("filter_dropdown_container_".concat(item.type), popupClassName),
303
+ onVisibleChange: onVisibleChange // 未开启则需手动控制下拉展示组件的初始化
249
304
  ,
250
305
  destroyPopupOnHide: true
251
306
  }, /*#__PURE__*/_react.default.createElement("div", {
252
- className: (0, _classnames.default)('lm_filter_basic_item', size, {
307
+ className: (0, _classnames.default)('lm_filter_basic_item', className, size, {
253
308
  expand: visible,
254
309
  active: active
255
- })
256
- }, /*#__PURE__*/_react.default.createElement("div", {
257
- className: "filter_item_label"
258
- }, item === null || item === void 0 ? void 0 : item.title, ":"), /*#__PURE__*/_react.default.createElement("div", {
259
- className: "filter_item_value"
260
- }, getLabel(resetInstance, item)), /*#__PURE__*/_react.default.createElement("div", {
261
- className: "filter_item_icon addon_after"
262
- }, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
263
- type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
264
- onClick: handleClear
265
- }) : null)));
310
+ }),
311
+ style: style
312
+ }, /*#__PURE__*/_react.default.createElement(FilterItem, {
313
+ key: item.title,
314
+ instance: resetInstance,
315
+ item: item
316
+ })));
266
317
  });
267
318
 
268
319
  var _default = DropdownFilter;
@@ -39,7 +39,8 @@ var SelectFilter = function SelectFilter(_ref) {
39
39
  setFilterValue = instance.setFilterValue,
40
40
  visible = instance.visible;
41
41
  var _itemProps$data = itemProps.data,
42
- filters = _itemProps$data === void 0 ? [] : _itemProps$data;
42
+ filters = _itemProps$data === void 0 ? [] : _itemProps$data,
43
+ showSearch = itemProps.showSearch;
43
44
  var delayedFn = (0, _hooks.useDelayedFn)();
44
45
  var inputRef = (0, _react.useRef)(null); // 搜索后的筛选项
45
46
 
@@ -50,8 +51,8 @@ var SelectFilter = function SelectFilter(_ref) {
50
51
 
51
52
 
52
53
  var isSearch = (0, _react.useMemo)(function () {
53
- return filters.length > 8;
54
- }, [filters.length]); // 自定义节点字段
54
+ return filters.length > 8 && !!(showSearch !== null && showSearch !== void 0 ? showSearch : true);
55
+ }, [filters.length, showSearch]); // 自定义节点字段
55
56
 
56
57
  var fieldNames = (0, _react.useMemo)(function () {
57
58
  return (0, _objectSpread2.default)({
@@ -485,12 +485,10 @@ var useCoreOptions = function useCoreOptions(_ref) {
485
485
  var field = item.field;
486
486
 
487
487
  if (field) {
488
- // 将结果转换为字符串
489
- var isArray = Array.isArray(itemValue);
490
-
488
+ // 将结果转换为字符串(级联数据需要递归)
491
489
  var transformString = function transformString(val) {
492
- return isArray ? val.map(function (v) {
493
- return String(v);
490
+ return Array.isArray(val) ? val.map(function (v) {
491
+ return transformString(v);
494
492
  }) : String(val);
495
493
  };
496
494
 
@@ -502,7 +500,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
502
500
  fieldName: field,
503
501
  fieldType: item.valueType || 'string',
504
502
  type: item.type,
505
- value: isArray ? stringValue : [stringValue],
503
+ value: Array.isArray(itemValue) ? stringValue : [stringValue],
506
504
  operator: item.operator || 'equal'
507
505
  })); // 数据清除时不返回结构体
508
506