linkmore-design 1.0.53 → 1.0.54

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 (165) hide show
  1. package/dist/Alert/ErrorBoundary.d.ts +22 -0
  2. package/dist/{Notification → Alert}/demos/basic.d.ts +0 -0
  3. package/dist/{Notification/demos/button.d.ts → Alert/demos/visible.d.ts} +0 -0
  4. package/dist/Alert/index.d.ts +41 -0
  5. package/dist/{Notification → Alert}/style/index.d.ts +0 -0
  6. package/dist/CardTable/fns/index.d.ts +7 -3
  7. package/dist/CardTable/{toolbar → pager}/TablePagination.d.ts +0 -0
  8. package/dist/CardTable/pager/index.d.ts +3 -0
  9. package/dist/LmFilter/LmFilter.d.ts +3 -0
  10. package/dist/LmFilter/baseFilter/index.d.ts +3 -0
  11. package/dist/LmFilter/clearFilter/index.d.ts +3 -0
  12. package/dist/LmFilter/complexFilter/index.d.ts +2 -0
  13. package/dist/LmFilter/components/CascaderFilter.d.ts +5 -0
  14. package/dist/LmFilter/components/CheckboxFilter.d.ts +5 -0
  15. package/dist/LmFilter/components/DateFilter.d.ts +5 -0
  16. package/dist/LmFilter/components/DropdownFIlter.d.ts +3 -0
  17. package/dist/LmFilter/components/EmptyFilter.d.ts +2 -0
  18. package/dist/LmFilter/components/InputFilter.d.ts +4 -0
  19. package/dist/LmFilter/components/InputSearchClose.d.ts +3 -0
  20. package/dist/LmFilter/components/SelectFilter.d.ts +5 -0
  21. package/dist/LmFilter/components/fuzzySearch.d.ts +4 -0
  22. package/dist/LmFilter/components/index.d.ts +3 -0
  23. package/dist/LmFilter/customFilter/index.d.ts +2 -0
  24. package/dist/LmFilter/demos/basic.d.ts +2 -0
  25. package/dist/LmFilter/filterFns/index.d.ts +12 -0
  26. package/dist/LmFilter/hooks/index.d.ts +1 -0
  27. package/dist/LmFilter/hooks/useDelayedFn.d.ts +2 -0
  28. package/dist/LmFilter/index.d.ts +2 -0
  29. package/dist/LmFilter/style/index.d.ts +1 -0
  30. package/dist/LmFilter/utils.d.ts +8 -0
  31. package/dist/LmFilter/wrapper/Filter.d.ts +3 -0
  32. package/dist/LmFilter/wrapper/FilterContainer.d.ts +3 -0
  33. package/dist/LmFilter/wrapper/FilterRoot.d.ts +3 -0
  34. package/dist/LmFilter/wrapper/FilterWrapper.d.ts +3 -0
  35. package/dist/_util/getDataOrAriaProps.d.ts +1 -0
  36. package/dist/_util/reactNode.d.ts +7 -0
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.umd.js +3665 -3297
  39. package/dist/index.umd.min.js +6 -6
  40. package/dist/{Notification/demos/icon.d.ts → notification/demos/basic.d.ts} +0 -0
  41. package/dist/notification/demos/button.d.ts +2 -0
  42. package/dist/notification/demos/icon.d.ts +2 -0
  43. package/dist/notification/hooks/useNotification.d.ts +7 -0
  44. package/dist/notification/index.d.ts +54 -0
  45. package/dist/notification/style/index.d.ts +1 -0
  46. package/es/Alert/ErrorBoundary.d.ts +22 -0
  47. package/es/Alert/ErrorBoundary.js +65 -0
  48. package/es/Alert/index.d.ts +41 -0
  49. package/es/Alert/index.js +192 -0
  50. package/es/{Notification → Alert}/style/index.css +25 -2
  51. package/es/{Notification → Alert}/style/index.d.ts +0 -0
  52. package/es/{Notification → Alert}/style/index.js +0 -0
  53. package/es/CardTable/card/PictureTextColumn.js +8 -6
  54. package/es/CardTable/card/PictureTextRow.js +1 -1
  55. package/es/CardTable/fns/index.js +38 -9
  56. package/es/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  57. package/es/CardTable/pager/index.js +48 -0
  58. package/es/CardTable/style/index.css +2 -2
  59. package/es/CardTable/table/TableRoot.js +20 -18
  60. package/es/CardTable/table/TableWrapper.js +4 -0
  61. package/es/CardTable/toolbar/ToolBarBottom.js +8 -27
  62. package/es/LmFilter/LmFilter.js +27 -0
  63. package/es/LmFilter/baseFilter/index.js +34 -0
  64. package/es/LmFilter/clearFilter/index.js +33 -0
  65. package/es/LmFilter/complexFilter/index.js +17 -0
  66. package/es/LmFilter/components/CascaderFilter.js +183 -0
  67. package/es/LmFilter/components/CheckboxFilter.js +197 -0
  68. package/es/LmFilter/components/DateFilter.js +147 -0
  69. package/es/LmFilter/components/DropdownFIlter.js +162 -0
  70. package/es/LmFilter/components/EmptyFilter.js +27 -0
  71. package/es/LmFilter/components/InputFilter.js +52 -0
  72. package/es/LmFilter/components/InputSearchClose.js +74 -0
  73. package/es/LmFilter/components/SelectFilter.js +113 -0
  74. package/es/LmFilter/components/fuzzySearch.js +37 -0
  75. package/es/LmFilter/components/index.js +97 -0
  76. package/es/LmFilter/customFilter/index.js +17 -0
  77. package/es/LmFilter/filterFns/index.js +54 -0
  78. package/es/LmFilter/hooks/index.js +18 -0
  79. package/es/LmFilter/hooks/useDelayedFn.js +27 -0
  80. package/es/LmFilter/icon_placeholder.png +0 -0
  81. package/es/LmFilter/index.js +16 -0
  82. package/es/LmFilter/style/index.js +3 -0
  83. package/es/LmFilter/style/style.css +189 -0
  84. package/es/LmFilter/utils.js +55 -0
  85. package/es/LmFilter/wrapper/Filter.js +33 -0
  86. package/es/LmFilter/wrapper/FilterContainer.js +29 -0
  87. package/es/LmFilter/wrapper/FilterRoot.js +114 -0
  88. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  89. package/es/_util/getDataOrAriaProps.d.ts +1 -0
  90. package/es/_util/getDataOrAriaProps.js +9 -0
  91. package/es/_util/reactNode.d.ts +7 -0
  92. package/es/_util/reactNode.js +10 -0
  93. package/es/index.d.ts +1 -1
  94. package/es/index.js +1 -1
  95. package/es/message/style/index.css +1 -0
  96. package/es/notification/hooks/useNotification.d.ts +7 -0
  97. package/es/notification/hooks/useNotification.js +54 -0
  98. package/es/notification/index.d.ts +54 -0
  99. package/es/notification/index.js +342 -0
  100. package/es/notification/style/index.css +546 -0
  101. package/{lib/Notification → es/notification}/style/index.d.ts +0 -0
  102. package/es/notification/style/index.js +1 -0
  103. package/lib/Alert/ErrorBoundary.d.ts +22 -0
  104. package/lib/Alert/ErrorBoundary.js +79 -0
  105. package/lib/Alert/index.d.ts +41 -0
  106. package/lib/Alert/index.js +215 -0
  107. package/lib/{Notification → Alert}/style/index.css +25 -2
  108. package/lib/Alert/style/index.d.ts +1 -0
  109. package/lib/{Notification → Alert}/style/index.js +0 -0
  110. package/lib/CardTable/card/PictureTextColumn.js +8 -6
  111. package/lib/CardTable/card/PictureTextRow.js +1 -1
  112. package/lib/CardTable/fns/index.js +38 -9
  113. package/lib/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  114. package/lib/CardTable/pager/index.js +48 -0
  115. package/lib/CardTable/style/index.css +2 -2
  116. package/lib/CardTable/table/TableRoot.js +20 -18
  117. package/lib/CardTable/table/TableWrapper.js +4 -0
  118. package/lib/CardTable/toolbar/ToolBarBottom.js +8 -27
  119. package/lib/LmFilter/LmFilter.js +27 -0
  120. package/lib/LmFilter/baseFilter/index.js +34 -0
  121. package/lib/LmFilter/clearFilter/index.js +33 -0
  122. package/lib/LmFilter/complexFilter/index.js +17 -0
  123. package/lib/LmFilter/components/CascaderFilter.js +183 -0
  124. package/lib/LmFilter/components/CheckboxFilter.js +197 -0
  125. package/lib/LmFilter/components/DateFilter.js +147 -0
  126. package/lib/LmFilter/components/DropdownFIlter.js +162 -0
  127. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  128. package/lib/LmFilter/components/InputFilter.js +52 -0
  129. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  130. package/lib/LmFilter/components/SelectFilter.js +113 -0
  131. package/lib/LmFilter/components/fuzzySearch.js +37 -0
  132. package/lib/LmFilter/components/index.js +97 -0
  133. package/lib/LmFilter/customFilter/index.js +17 -0
  134. package/lib/LmFilter/filterFns/index.js +54 -0
  135. package/lib/LmFilter/hooks/index.js +18 -0
  136. package/lib/LmFilter/hooks/useDelayedFn.js +27 -0
  137. package/lib/LmFilter/icon_placeholder.png +0 -0
  138. package/lib/LmFilter/index.js +16 -0
  139. package/lib/LmFilter/style/index.js +3 -0
  140. package/lib/LmFilter/style/style.css +189 -0
  141. package/lib/LmFilter/utils.js +55 -0
  142. package/lib/LmFilter/wrapper/Filter.js +33 -0
  143. package/lib/LmFilter/wrapper/FilterContainer.js +29 -0
  144. package/lib/LmFilter/wrapper/FilterRoot.js +114 -0
  145. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  146. package/lib/_util/getDataOrAriaProps.d.ts +1 -0
  147. package/lib/_util/getDataOrAriaProps.js +16 -0
  148. package/lib/_util/reactNode.d.ts +7 -0
  149. package/lib/_util/reactNode.js +24 -0
  150. package/lib/index.d.ts +1 -1
  151. package/lib/index.js +2 -2
  152. package/lib/message/style/index.css +1 -0
  153. package/lib/notification/hooks/useNotification.d.ts +7 -0
  154. package/lib/notification/hooks/useNotification.js +69 -0
  155. package/lib/notification/index.d.ts +54 -0
  156. package/lib/notification/index.js +365 -0
  157. package/lib/notification/style/index.css +546 -0
  158. package/lib/notification/style/index.d.ts +1 -0
  159. package/lib/notification/style/index.js +3 -0
  160. package/package.json +1 -1
  161. package/dist/Notification/index.d.ts +0 -7
  162. package/es/Notification/index.d.ts +0 -7
  163. package/es/Notification/index.js +0 -10
  164. package/lib/Notification/index.d.ts +0 -7
  165. package/lib/Notification/index.js +0 -23
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _linkmoreDesign = require("linkmore-design");
21
+
22
+ var _InputFilter = _interopRequireDefault(require("./InputFilter"));
23
+
24
+ var _SelectFilter = _interopRequireDefault(require("./SelectFilter"));
25
+
26
+ var _CheckboxFilter = _interopRequireDefault(require("./CheckboxFilter"));
27
+
28
+ var _CascaderFilter = _interopRequireDefault(require("./CascaderFilter"));
29
+
30
+ var _DateFilter = _interopRequireDefault(require("./DateFilter"));
31
+
32
+ var _utils = require("../utils");
33
+
34
+ // 组件渲染
35
+ var FilterControl = function FilterControl(_ref) {
36
+ var instance = _ref.instance,
37
+ item = _ref.item;
38
+ var type = item.type;
39
+ var widgets = {
40
+ 'input': /*#__PURE__*/_react.default.createElement(_InputFilter.default, {
41
+ instance: instance,
42
+ item: item
43
+ }),
44
+ 'select': /*#__PURE__*/_react.default.createElement(_SelectFilter.default, {
45
+ instance: instance,
46
+ item: item
47
+ }),
48
+ 'checkbox': /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default, {
49
+ instance: instance,
50
+ item: item
51
+ }),
52
+ 'cascader': /*#__PURE__*/_react.default.createElement(_CascaderFilter.default, {
53
+ instance: instance,
54
+ item: item
55
+ }),
56
+ 'date': /*#__PURE__*/_react.default.createElement(_DateFilter.default, {
57
+ instance: instance,
58
+ item: item
59
+ })
60
+ };
61
+ return widgets[type] || null;
62
+ };
63
+
64
+ var getLabel = function getLabel(val) {
65
+ if (!(0, _utils.getIsHas)(val)) {
66
+ return '全部';
67
+ } // 存在筛选数据时
68
+
69
+
70
+ if (Array.isArray(val)) {
71
+ switch (val.length) {
72
+ case 1:
73
+ return val[0].label;
74
+
75
+ case 2:
76
+ return "".concat(val[0].label, "\u3001").concat(val[1].label);
77
+
78
+ default:
79
+ return "".concat(val[0].label, "\u3001+").concat(val.length - 1, "...");
80
+ }
81
+ }
82
+
83
+ return (val === null || val === void 0 ? void 0 : val.label) || val;
84
+ };
85
+ /*
86
+ * 样式控制
87
+ * expand: 展开样式
88
+ * active: 选中样式
89
+ */
90
+
91
+
92
+ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
93
+ var instance = _ref2.instance,
94
+ item = _ref2.item;
95
+
96
+ var _useState = (0, _react.useState)(false),
97
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
98
+ visible = _useState2[0],
99
+ setVisible = _useState2[1];
100
+
101
+ var filterValue = instance.filterValue; // 触发查询时关闭下拉框
102
+
103
+ var setFilterValue = function setFilterValue(obj) {
104
+ instance.setFilterValue(obj);
105
+ setVisible(false);
106
+ }; // 重组Instance 加入下拉关闭控制
107
+
108
+
109
+ var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({
110
+ visible: visible,
111
+ setVisible: setVisible
112
+ }, instance), {}, {
113
+ setFilterValue: setFilterValue
114
+ }); // 是否有筛选值/是否处于筛选状态
115
+
116
+ var active = (0, _react.useMemo)(function () {
117
+ return (0, _utils.getIsHas)(filterValue);
118
+ }, [filterValue]);
119
+
120
+ var handleClear = function handleClear(e) {
121
+ if (active) {
122
+ e.stopPropagation();
123
+ setFilterValue((0, _utils.getValueForType)(item.type));
124
+ }
125
+ };
126
+
127
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
128
+ trigger: ['click'],
129
+ visible: resetInstance.visible,
130
+ placement: "bottomLeft",
131
+ overlay: /*#__PURE__*/_react.default.createElement(FilterControl, {
132
+ instance: resetInstance,
133
+ item: item
134
+ }),
135
+ overlayClassName: "filter_dropdown_container_".concat(item.type),
136
+ onVisibleChange: function onVisibleChange(v) {
137
+ return setVisible(v);
138
+ } // 未开启则需手动控制下拉展示组件的初始化
139
+ ,
140
+ destroyPopupOnHide: true
141
+ }, /*#__PURE__*/_react.default.createElement("div", {
142
+ className: (0, _classnames.default)('lm_filter_basic_item', {
143
+ expand: visible,
144
+ active: active
145
+ })
146
+ }, /*#__PURE__*/_react.default.createElement("div", {
147
+ className: "filter_item_label"
148
+ }, item === null || item === void 0 ? void 0 : item.title, ":"), /*#__PURE__*/_react.default.createElement("div", {
149
+ className: "filter_item_value"
150
+ }, /*#__PURE__*/_react.default.createElement("span", {
151
+ className: "checked"
152
+ }, getLabel(filterValue))), /*#__PURE__*/_react.default.createElement("div", {
153
+ className: "filter_item_icon"
154
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
155
+ type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
156
+ className: "addonAfter",
157
+ onClick: handleClear
158
+ }))));
159
+ });
160
+
161
+ var _default = DropdownFilter;
162
+ exports.default = _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _icon_placeholder = _interopRequireDefault(require("../icon_placeholder.png"));
13
+
14
+ var EmptyFilter = function EmptyFilter() {
15
+ return /*#__PURE__*/_react.default.createElement("div", {
16
+ className: "filter_empty"
17
+ }, /*#__PURE__*/_react.default.createElement("img", {
18
+ src: _icon_placeholder.default,
19
+ alt: "empty",
20
+ width: 81
21
+ }), /*#__PURE__*/_react.default.createElement("div", {
22
+ className: "filter_empty_text"
23
+ }, "\u6682\u65E0\u6570\u636E"));
24
+ };
25
+
26
+ var _default = EmptyFilter;
27
+ exports.default = _default;
@@ -0,0 +1,52 @@
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.InputFilter = void 0;
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
15
+
16
+ var InputFilter = function InputFilter(_ref) {
17
+ var instance = _ref.instance;
18
+ var _instance$filterValue = instance.filterValue,
19
+ filterValue = _instance$filterValue === void 0 ? '' : _instance$filterValue,
20
+ setFilterValue = instance.setFilterValue,
21
+ visible = instance.visible;
22
+ var inputRef = (0, _react.useRef)(null);
23
+
24
+ var onChange = function onChange(val) {
25
+ return setFilterValue(val);
26
+ };
27
+
28
+ (0, _react.useEffect)(function () {
29
+ if (visible) {
30
+ var _inputRef$current;
31
+
32
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
33
+ cursor: 'all'
34
+ }); // 若开启了 Dropdown => destroyPopupOnHide=true 无需重置操作 反之需开启
35
+ // inputRef.current?.setValue?.('');
36
+ // handleFilter('');
37
+ }
38
+ }, [visible]);
39
+ return /*#__PURE__*/_react.default.createElement("div", {
40
+ className: "filter_dropdown"
41
+ }, /*#__PURE__*/_react.default.createElement("div", {
42
+ className: "filter_header"
43
+ }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
44
+ defaultValue: filterValue,
45
+ ref: inputRef,
46
+ onSearch: onChange
47
+ })));
48
+ };
49
+
50
+ exports.InputFilter = InputFilter;
51
+ var _default = InputFilter;
52
+ exports.default = _default;
@@ -0,0 +1,74 @@
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 = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _linkmoreDesign = require("linkmore-design");
23
+
24
+ var _hooks = require("../hooks");
25
+
26
+ var _excluded = ["value", "onChange", "onSearch"];
27
+ // 搜索输入框, 增加Ref关闭功能
28
+ var InputSearchClose = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
29
+ var inputRef = (0, _react.useRef)(null);
30
+ var value = props.value,
31
+ onChange = props.onChange,
32
+ onSearch = props.onSearch,
33
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
34
+
35
+ var _useState = (0, _react.useState)(value),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ aliveValue = _useState2[0],
38
+ setAliveValue = _useState2[1];
39
+
40
+ var delayedQuery = (0, _hooks.useDelayedFn)(500); // 内容改变触发 => 延迟触发
41
+
42
+ var handleChange = function handleChange(e) {
43
+ e === null || e === void 0 ? void 0 : e.persist();
44
+ setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(e.target.value);
45
+ delayedQuery(function () {
46
+ return onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value);
47
+ });
48
+ }; // 搜索触发 => 立即触发 & 解除上一次的延迟触发
49
+
50
+
51
+ var handleSearch = function handleSearch(val) {
52
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(val);
53
+ delayedQuery.cancel();
54
+ };
55
+
56
+ (0, _react.useImperativeHandle)(ref, function () {
57
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, inputRef.current), {}, {
58
+ setValue: function setValue(val) {
59
+ return setAliveValue(val);
60
+ }
61
+ });
62
+ });
63
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, (0, _extends2.default)({
64
+ ref: inputRef,
65
+ allowClear: true,
66
+ size: "small",
67
+ placeholder: "\u8BF7\u8F93\u5165",
68
+ value: aliveValue,
69
+ onSearch: handleSearch,
70
+ onChange: handleChange
71
+ }, resetProps));
72
+ });
73
+ var _default = InputSearchClose;
74
+ exports.default = _default;
@@ -0,0 +1,113 @@
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 = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _linkmoreDesign = require("linkmore-design");
21
+
22
+ var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
23
+
24
+ var _EmptyFilter = _interopRequireDefault(require("./EmptyFilter"));
25
+
26
+ var _classnames = _interopRequireDefault(require("classnames"));
27
+
28
+ var _hooks = require("../hooks");
29
+
30
+ var _excluded = ["item"];
31
+
32
+ var SelectFilter = function SelectFilter(_ref) {
33
+ var instance = _ref.instance,
34
+ itemProps = _ref.item;
35
+ var _instance$filterValue = instance.filterValue,
36
+ filterValue = _instance$filterValue === void 0 ? '' : _instance$filterValue,
37
+ setFilterValue = instance.setFilterValue,
38
+ visible = instance.visible;
39
+ var _itemProps$data = itemProps.data,
40
+ filters = _itemProps$data === void 0 ? [] : _itemProps$data;
41
+ var delayedFn = (0, _hooks.useDelayedFn)();
42
+ var inputRef = (0, _react.useRef)(null); // 搜索后的筛选项
43
+
44
+ var _useState = (0, _react.useState)(filters),
45
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
46
+ options = _useState2[0],
47
+ setOptions = _useState2[1]; // 是否存在搜索, 当数据大于8时存在搜索
48
+
49
+
50
+ var isSearch = (0, _react.useMemo)(function () {
51
+ return filters.length > 8;
52
+ }, [filters.length]);
53
+
54
+ var handleFilter = function handleFilter() {
55
+ var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
56
+ console.log('val', val);
57
+ var serachValues = filters.filter(function (v) {
58
+ return v.label.indexOf(val) > -1;
59
+ });
60
+ setOptions(serachValues);
61
+ }; // 单选事件
62
+
63
+
64
+ var onChange = function onChange(e, obj) {
65
+ e.preventDefault();
66
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj);
67
+ }; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
68
+
69
+
70
+ (0, _react.useEffect)(function () {
71
+ if (visible) {
72
+ delayedFn(function () {
73
+ var _inputRef$current, _inputRef$current$foc;
74
+
75
+ 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, {
76
+ cursor: 'all'
77
+ });
78
+ }); // 若开启了 Dropdown => destroyPopupOnHide=true 无需重置操作 反之需开启
79
+ // inputRef.current?.setValue?.('');
80
+ // handleFilter('');
81
+ }
82
+ }, [visible]);
83
+ return /*#__PURE__*/_react.default.createElement("div", {
84
+ className: "filter_dropdown"
85
+ }, isSearch && /*#__PURE__*/_react.default.createElement("div", {
86
+ className: "filter_header"
87
+ }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
88
+ ref: inputRef,
89
+ onSearch: handleFilter,
90
+ onChange: handleFilter
91
+ })), /*#__PURE__*/_react.default.createElement("div", {
92
+ className: "filter_body"
93
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
94
+ options: options,
95
+ className: "filter_list"
96
+ }, function (_ref2) {
97
+ var item = _ref2.item,
98
+ resetProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
99
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
100
+ className: (0, _classnames.default)('filter_item', {
101
+ checked: item.value === (filterValue === null || filterValue === void 0 ? void 0 : filterValue.value)
102
+ }),
103
+ onClick: function onClick(e) {
104
+ return onChange(e, item);
105
+ }
106
+ }), /*#__PURE__*/_react.default.createElement("div", {
107
+ className: "filter_item-content"
108
+ }, item.label));
109
+ }), !options.length && /*#__PURE__*/_react.default.createElement(_EmptyFilter.default, null)));
110
+ };
111
+
112
+ var _default = SelectFilter;
113
+ exports.default = _default;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _linkmoreDesign = require("linkmore-design");
13
+
14
+ var FuzzySearch = function FuzzySearch(_ref) {
15
+ var instance = _ref.instance;
16
+ var inputRef = (0, _react.useRef)(null);
17
+ var state = instance.state,
18
+ dispatch = instance.dispatch,
19
+ size = instance.size,
20
+ placeholder = instance.placeholder;
21
+
22
+ var onSearch = function onSearch(val) {// dispatch();
23
+ };
24
+
25
+ return /*#__PURE__*/_react.default.createElement("div", {
26
+ className: "lm_filter_search"
27
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, {
28
+ ref: inputRef,
29
+ allowClear: true,
30
+ size: size,
31
+ placeholder: placeholder,
32
+ onSearch: onSearch
33
+ }));
34
+ };
35
+
36
+ var _default = FuzzySearch;
37
+ exports.default = _default;
@@ -0,0 +1,97 @@
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 = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _DropdownFIlter = _interopRequireDefault(require("./DropdownFIlter"));
21
+
22
+ var _utils = require("../utils");
23
+
24
+ var _excluded = ["instance", "item", "value", "onChange", "options"],
25
+ _excluded2 = ["getFilterValue", "setFilterValue"];
26
+
27
+ // 下拉筛选组件
28
+
29
+ /*
30
+ * 筛选组件使用时只传入 instance, item
31
+ * 其余参数皆为单独使用时传入
32
+ */
33
+ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
34
+ var instance = props.instance,
35
+ item = props.item,
36
+ value = props.value,
37
+ onChange = props.onChange,
38
+ options = props.options,
39
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
40
+ var getFilterValue = instance.getFilterValue,
41
+ _setFilterValue = instance.setFilterValue,
42
+ resetInstanceProps = (0, _objectWithoutProperties2.default)(instance, _excluded2); // 重组item值
43
+
44
+ var resetItem = (0, _react.useMemo)(function () {
45
+ var data = item.data;
46
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), resetProps), {}, {
47
+ data: data || options
48
+ });
49
+ }, [item, resetProps, options]); // 单独使用时的缓存数据(非受控模式) 默认值: [] || ''
50
+
51
+ var _useState = (0, _react.useState)(function () {
52
+ return (0, _utils.getValueForType)(resetItem.type);
53
+ }),
54
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
+ aliveValue = _useState2[0],
56
+ setAliveValue = _useState2[1]; // 单独使用时将值转换为行数据
57
+
58
+
59
+ var transformFilterValue = (0, _react.useMemo)(function () {
60
+ // 检查是否受控模式
61
+ var nValue = value || aliveValue;
62
+ var getOptions = (resetItem === null || resetItem === void 0 ? void 0 : resetItem.data) || [];
63
+
64
+ if (!Array.isArray((0, _utils.getValueForType)(resetItem.type))) {
65
+ return (getOptions === null || getOptions === void 0 ? void 0 : getOptions.find(function (v) {
66
+ return v.value === nValue;
67
+ })) || '';
68
+ } else {
69
+ return (getOptions === null || getOptions === void 0 ? void 0 : getOptions.filter(function (v) {
70
+ return nValue.includes(v.value);
71
+ })) || [];
72
+ }
73
+ }, [value, aliveValue, resetItem.data, resetItem.type]); // 单独使用时抛出选中的值: val => obj || Array
74
+
75
+ var handleChange = function handleChange(val) {
76
+ var nValue = Array.isArray(val) ? val.map(function (v) {
77
+ return v.value;
78
+ }) : val.value;
79
+ setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(nValue);
80
+ onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
81
+ }; // 重组instance
82
+
83
+
84
+ var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetInstanceProps), {}, {
85
+ filterValue: (getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem)) || transformFilterValue,
86
+ setFilterValue: function setFilterValue(val) {
87
+ return (_setFilterValue || handleChange)(val, resetItem.field);
88
+ }
89
+ });
90
+ return /*#__PURE__*/_react.default.createElement(_DropdownFIlter.default, {
91
+ instance: resetInstance,
92
+ item: resetItem
93
+ });
94
+ });
95
+
96
+ var _default = FilterControl;
97
+ exports.default = _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var LmFilterCustom = function LmFilterCustom(e) {
13
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "LmFilterCustom");
14
+ };
15
+
16
+ var _default = LmFilterCustom;
17
+ exports.default = _default;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
15
+
16
+ var _utils = require("../utils");
17
+
18
+ // 核心参数集合
19
+ var CoreOptions = function CoreOptions(_ref) {
20
+ var state = _ref.state,
21
+ dispatch = _ref.dispatch,
22
+ props = _ref.props;
23
+ (0, _objectDestructuringEmpty2.default)(props); // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
24
+
25
+ var setFilterValue = function setFilterValue(item, field) {
26
+ var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
27
+
28
+ if (!(0, _utils.getIsHas)(item)) {
29
+ delete basicFilter[field];
30
+ }
31
+
32
+ ;
33
+ dispatch({
34
+ type: 'changeBasicFilter',
35
+ basicFilter: basicFilter
36
+ });
37
+ }; // 根据字段查找过滤的数据, 不存在时返回默认值
38
+
39
+
40
+ var getFilterValue = function getFilterValue(_ref2) {
41
+ var field = _ref2.field,
42
+ type = _ref2.type;
43
+ var defaultValue = (0, _utils.getValueForType)(type);
44
+ return state.basicFilter[field] || defaultValue;
45
+ };
46
+
47
+ return {
48
+ setFilterValue: setFilterValue,
49
+ getFilterValue: getFilterValue
50
+ };
51
+ };
52
+
53
+ var _default = CoreOptions;
54
+ exports.default = _default;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _useDelayedFn = require("./useDelayedFn");
8
+
9
+ Object.keys(_useDelayedFn).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _useDelayedFn[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useDelayedFn[key];
16
+ }
17
+ });
18
+ });
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useDelayedFn = exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _lodash = require("lodash");
11
+
12
+ // 延迟/防抖加载函数, 默认延迟200ms
13
+ var useDelayedFn = function useDelayedFn() {
14
+ var wait = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 200;
15
+ var delayedQuery = (0, _react.useCallback)((0, _lodash.debounce)(function (fn) {
16
+ if (typeof fn === 'function') {
17
+ fn === null || fn === void 0 ? void 0 : fn();
18
+ } else {
19
+ fn;
20
+ }
21
+ }, wait), []);
22
+ return delayedQuery;
23
+ };
24
+
25
+ exports.useDelayedFn = useDelayedFn;
26
+ var _default = useDelayedFn;
27
+ exports.default = _default;