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,147 @@
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
+ require("antd/es/date-picker/style");
13
+
14
+ var _datePicker = _interopRequireDefault(require("antd/es/date-picker"));
15
+
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _linkmoreDesign = require("linkmore-design");
21
+
22
+ var _moment = _interopRequireDefault(require("moment"));
23
+
24
+ var _utils = require("../utils");
25
+
26
+ var RangePicker = function RangePicker(_ref) {
27
+ var filterValue = _ref.filterValue,
28
+ setFilterValue = _ref.setFilterValue,
29
+ onChange = _ref.onChange,
30
+ itemProps = _ref.itemProps,
31
+ visible = _ref.visible;
32
+ var value = (0, _react.useMemo)(function () {
33
+ return filterValue ? [(0, _moment.default)(filterValue[0]), (0, _moment.default)(filterValue[1])] : null;
34
+ }, [filterValue]); // 最近的时间段, 值为JSON转换后的字符串
35
+
36
+ var ranges = (0, _react.useMemo)(function () {
37
+ return Object.entries((0, _utils.getRanges)()).map(function (item, i) {
38
+ return {
39
+ id: i,
40
+ label: item[0],
41
+ value: JSON.stringify(item[1])
42
+ };
43
+ });
44
+ }, []); // 选中时间段的触发
45
+
46
+ var handleOnChange = function handleOnChange(dates, dateStrings) {
47
+ onChange(dates, getIsHas(dateStrings.filter(function (v) {
48
+ return !!v;
49
+ })) ? dateStrings : null);
50
+ }; // 最近的时间触发事件
51
+
52
+
53
+ var handleLastDateOnChange = function handleLastDateOnChange(e) {
54
+ var nValue = JSON.parse(e.target.value);
55
+ setFilterValue(nValue);
56
+ };
57
+
58
+ var panelRender = function panelRender(panelNode) {
59
+ var activeValue = JSON.stringify(filterValue);
60
+ return /*#__PURE__*/_react.default.createElement("div", {
61
+ className: "filter_picker_box"
62
+ }, /*#__PURE__*/_react.default.createElement("div", {
63
+ className: "filter_picker_main"
64
+ }, /*#__PURE__*/_react.default.createElement("div", {
65
+ className: "filter_picker_header"
66
+ }, /*#__PURE__*/_react.default.createElement("div", {
67
+ className: "filter_picker_header_tip"
68
+ }, filterValue && "".concat(filterValue[0], " - ").concat(filterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
69
+ className: "filter_picker_header_operate"
70
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
71
+ value: activeValue,
72
+ onChange: handleLastDateOnChange,
73
+ size: "small"
74
+ }, ranges.map(function (v) {
75
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Button, {
76
+ key: v.label,
77
+ value: v.value
78
+ }, v.label);
79
+ })))), panelNode));
80
+ };
81
+
82
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_datePicker.default.RangePicker, (0, _extends2.default)({
83
+ picker: "date",
84
+ separator: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
85
+ type: "lmweb-swap-right",
86
+ style: {
87
+ color: 'var(--text-color)'
88
+ }
89
+ }),
90
+ placeholder: ['开始日期', '结束日期'],
91
+ style: {
92
+ width: 210
93
+ }
94
+ }, itemProps, {
95
+ value: value,
96
+ onChange: handleOnChange,
97
+ open: visible,
98
+ panelRender: panelRender,
99
+ dropdownClassName: "lm_filter_dropdown_picker",
100
+ bordered: false,
101
+ size: "small",
102
+ inputReadOnly: true
103
+ }), /*#__PURE__*/_react.default.createElement("div", null)));
104
+ }; // 日期范围选择器
105
+
106
+
107
+ var DatePickerFilter = function DatePickerFilter(_ref2) {
108
+ var instance = _ref2.instance,
109
+ itemProps = _ref2.item;
110
+ var filterValue = instance.filterValue,
111
+ setFilterValue = instance.setFilterValue,
112
+ visible = instance.visible;
113
+ var props = itemProps.props,
114
+ dateType = itemProps.dateType; // 对日期格式的转换, 日期组件仅接收moment格式
115
+
116
+ var value = (0, _react.useMemo)(function () {
117
+ return filterValue ? (0, _moment.default)(filterValue) : null;
118
+ }, [filterValue]); // 选中时间段的触发
119
+
120
+ var onChange = function onChange(dates, dateStrings) {
121
+ setFilterValue(getIsHas(dateStrings) ? dateStrings : null);
122
+ };
123
+
124
+ if (dateType === 'rangePicker') {
125
+ return /*#__PURE__*/_react.default.createElement(RangePicker, {
126
+ filterValue: filterValue,
127
+ setFilterValue: setFilterValue,
128
+ onChange: onChange,
129
+ itemProps: props,
130
+ visible: visible
131
+ });
132
+ }
133
+
134
+ return /*#__PURE__*/_react.default.createElement(_datePicker.default, (0, _extends2.default)({
135
+ placeholder: "\u9009\u62E9\u65F6\u95F4"
136
+ }, props, {
137
+ value: value,
138
+ onChange: onChange,
139
+ open: visible,
140
+ bordered: false,
141
+ size: "small",
142
+ inputReadOnly: true
143
+ }), /*#__PURE__*/_react.default.createElement("div", null));
144
+ };
145
+
146
+ var _default = DatePickerFilter;
147
+ exports.default = _default;
@@ -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/esm/objectSpread2"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/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/esm/extends"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
17
+
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/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/esm/extends"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/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;