linkmore-design 1.0.53 → 1.0.56

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 (257) hide show
  1. package/dist/{Notification → Affix}/demos/basic.d.ts +0 -0
  2. package/dist/Affix/index.d.ts +54 -0
  3. package/dist/{Notification → Affix}/style/index.d.ts +0 -0
  4. package/dist/Affix/utils.d.ts +15 -0
  5. package/dist/Alert/ErrorBoundary.d.ts +22 -0
  6. package/dist/{Notification/demos/button.d.ts → Alert/demos/basic.d.ts} +0 -0
  7. package/dist/{Notification/demos/icon.d.ts → Alert/demos/visible.d.ts} +0 -0
  8. package/dist/Alert/index.d.ts +41 -0
  9. package/dist/Alert/style/index.d.ts +1 -0
  10. package/dist/CardTable/card/PictureTextRowOperate.d.ts +7 -0
  11. package/dist/CardTable/fns/index.d.ts +3 -3
  12. package/dist/CardTable/{toolbar → pager}/TablePagination.d.ts +0 -0
  13. package/dist/CardTable/pager/index.d.ts +3 -0
  14. package/dist/IconFont/index.d.ts +1 -1
  15. package/dist/LmFilter/Controls/CheckboxTags.d.ts +6 -0
  16. package/dist/LmFilter/Controls/index.d.ts +2 -0
  17. package/dist/LmFilter/LmFilter.d.ts +6 -0
  18. package/dist/LmFilter/baseFilter/fuzzySearch.d.ts +4 -0
  19. package/dist/LmFilter/baseFilter/index.d.ts +3 -0
  20. package/dist/LmFilter/clearFilter/index.d.ts +3 -0
  21. package/dist/LmFilter/complexFilter/drawer.d.ts +4 -0
  22. package/dist/LmFilter/complexFilter/index.d.ts +4 -0
  23. package/dist/LmFilter/complexFilter/valueDrawer.d.ts +4 -0
  24. package/dist/LmFilter/components/CascaderFilter.d.ts +5 -0
  25. package/dist/LmFilter/components/CheckboxFilter.d.ts +5 -0
  26. package/dist/LmFilter/components/DateFilter.d.ts +5 -0
  27. package/dist/LmFilter/components/DropdownFIlter.d.ts +3 -0
  28. package/dist/LmFilter/components/EmptyFilter.d.ts +2 -0
  29. package/dist/LmFilter/components/InputFilter.d.ts +4 -0
  30. package/dist/LmFilter/components/InputSearchClose.d.ts +3 -0
  31. package/dist/LmFilter/components/SelectFilter.d.ts +5 -0
  32. package/dist/LmFilter/components/index.d.ts +3 -0
  33. package/dist/LmFilter/customFilter/index.d.ts +2 -0
  34. package/dist/LmFilter/demos/basic.d.ts +2 -0
  35. package/dist/LmFilter/filterFns/index.d.ts +12 -0
  36. package/dist/LmFilter/hooks/index.d.ts +1 -0
  37. package/dist/LmFilter/hooks/useDelayedFn.d.ts +2 -0
  38. package/dist/LmFilter/index.d.ts +2 -0
  39. package/dist/LmFilter/localization.d.ts +8 -0
  40. package/dist/LmFilter/style/index.d.ts +1 -0
  41. package/dist/LmFilter/utils.d.ts +9 -0
  42. package/dist/LmFilter/wrapper/Filter.d.ts +3 -0
  43. package/dist/LmFilter/wrapper/FilterContainer.d.ts +3 -0
  44. package/dist/LmFilter/wrapper/FilterRoot.d.ts +3 -0
  45. package/dist/LmFilter/wrapper/FilterWrapper.d.ts +3 -0
  46. package/dist/QuickMenu/demos/basic.d.ts +2 -0
  47. package/dist/QuickMenu/index.d.ts +14 -0
  48. package/dist/QuickMenu/style/index.d.ts +1 -0
  49. package/dist/Switch/demos/table.d.ts +2 -0
  50. package/dist/Switch/index.d.ts +2 -1
  51. package/dist/Tag/demos/ExigencyTag.d.ts +2 -0
  52. package/dist/Tag/index.d.ts +4 -0
  53. package/dist/Upload/demos/picture-little.d.ts +3 -0
  54. package/dist/Upload/index.d.ts +5 -1
  55. package/dist/_util/domTarget.d.ts +7 -0
  56. package/dist/_util/getDataOrAriaProps.d.ts +1 -0
  57. package/dist/_util/reactNode.d.ts +7 -0
  58. package/dist/_util/throttleByAnimationFrame.d.ts +8 -0
  59. package/dist/index.d.ts +2 -1
  60. package/dist/index.umd.js +4245 -3326
  61. package/dist/index.umd.min.js +5 -5
  62. package/dist/notification/demos/basic.d.ts +2 -0
  63. package/dist/notification/demos/button.d.ts +2 -0
  64. package/dist/notification/demos/icon.d.ts +2 -0
  65. package/dist/notification/hooks/useNotification.d.ts +7 -0
  66. package/dist/notification/index.d.ts +54 -0
  67. package/dist/notification/style/index.d.ts +1 -0
  68. package/es/Affix/index.d.ts +54 -0
  69. package/es/Affix/index.js +326 -0
  70. package/es/{Notification → Affix}/style/index.css +0 -3
  71. package/es/{Notification → Affix}/style/index.d.ts +0 -0
  72. package/es/{Notification → Affix}/style/index.js +0 -0
  73. package/es/Affix/utils.d.ts +15 -0
  74. package/es/Affix/utils.js +83 -0
  75. package/es/Alert/ErrorBoundary.d.ts +22 -0
  76. package/es/Alert/ErrorBoundary.js +65 -0
  77. package/es/Alert/index.d.ts +41 -0
  78. package/es/Alert/index.js +192 -0
  79. package/es/Alert/style/index.css +531 -0
  80. package/{lib/Notification → es/Alert}/style/index.d.ts +0 -0
  81. package/es/Alert/style/index.js +1 -0
  82. package/es/CardTable/body/TableBodyCell.js +3 -0
  83. package/es/CardTable/card/PictureTextColumn.js +8 -6
  84. package/es/CardTable/card/PictureTextRow.js +14 -51
  85. package/es/CardTable/card/PictureTextRowOperate.js +130 -0
  86. package/es/CardTable/fns/index.js +38 -8
  87. package/es/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  88. package/es/CardTable/pager/index.js +48 -0
  89. package/es/CardTable/style/index.css +160 -12
  90. package/es/CardTable/table/TableRoot.js +20 -18
  91. package/es/CardTable/table/TableWrapper.js +4 -0
  92. package/es/CardTable/toolbar/ToolBarBottom.js +8 -27
  93. package/es/Descriptions/style/index.css +10 -8
  94. package/es/IconFont/index.js +3 -2
  95. package/es/LmFilter/Controls/CheckboxTags.js +53 -0
  96. package/es/LmFilter/Controls/index.js +47 -0
  97. package/es/LmFilter/LmFilter.js +39 -0
  98. package/es/LmFilter/baseFilter/fuzzySearch.js +53 -0
  99. package/es/LmFilter/baseFilter/index.js +34 -0
  100. package/es/LmFilter/clearFilter/index.js +35 -0
  101. package/es/LmFilter/complexFilter/drawer.js +376 -0
  102. package/es/LmFilter/complexFilter/index.js +64 -0
  103. package/es/LmFilter/complexFilter/valueDrawer.js +238 -0
  104. package/es/LmFilter/components/CascaderFilter.js +159 -0
  105. package/es/LmFilter/components/CheckboxFilter.js +197 -0
  106. package/es/LmFilter/components/DateFilter.js +139 -0
  107. package/es/LmFilter/components/DropdownFIlter.js +229 -0
  108. package/es/LmFilter/components/EmptyFilter.js +27 -0
  109. package/es/LmFilter/components/InputFilter.js +52 -0
  110. package/es/LmFilter/components/InputSearchClose.js +74 -0
  111. package/es/LmFilter/components/SelectFilter.js +113 -0
  112. package/es/LmFilter/components/index.js +140 -0
  113. package/es/LmFilter/customFilter/index.js +17 -0
  114. package/es/LmFilter/filterFns/index.js +73 -0
  115. package/es/LmFilter/hooks/index.js +18 -0
  116. package/es/LmFilter/hooks/useDelayedFn.js +29 -0
  117. package/es/LmFilter/icon_placeholder.png +0 -0
  118. package/es/LmFilter/index.js +16 -0
  119. package/es/LmFilter/localization.d.ts +8 -0
  120. package/es/LmFilter/localization.js +12 -0
  121. package/es/LmFilter/style/index.js +3 -0
  122. package/es/LmFilter/style/style.css +212 -0
  123. package/es/LmFilter/utils.js +71 -0
  124. package/es/LmFilter/wrapper/Filter.js +33 -0
  125. package/es/LmFilter/wrapper/FilterContainer.js +29 -0
  126. package/es/LmFilter/wrapper/FilterRoot.js +170 -0
  127. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  128. package/es/QuickMenu/index.d.ts +14 -0
  129. package/es/QuickMenu/index.js +169 -0
  130. package/es/QuickMenu/style/index.css +560 -0
  131. package/es/QuickMenu/style/index.d.ts +1 -0
  132. package/es/QuickMenu/style/index.js +1 -0
  133. package/es/Switch/index.d.ts +2 -1
  134. package/es/Switch/index.js +33 -1
  135. package/es/Switch/style/index.css +41 -0
  136. package/es/Tag/index.d.ts +4 -0
  137. package/es/Tag/index.js +48 -2
  138. package/es/Tag/style/index.css +4 -1
  139. package/es/Upload/index.d.ts +5 -1
  140. package/es/Upload/index.js +7 -2
  141. package/es/Upload/style/index.css +35 -0
  142. package/es/_util/domTarget.d.ts +7 -0
  143. package/es/_util/domTarget.js +20 -0
  144. package/es/_util/getDataOrAriaProps.d.ts +1 -0
  145. package/es/_util/getDataOrAriaProps.js +9 -0
  146. package/es/_util/reactNode.d.ts +7 -0
  147. package/es/_util/reactNode.js +10 -0
  148. package/es/_util/throttleByAnimationFrame.d.ts +8 -0
  149. package/es/_util/throttleByAnimationFrame.js +58 -0
  150. package/es/index.d.ts +2 -1
  151. package/es/index.js +3 -2
  152. package/es/message/style/index.css +1 -0
  153. package/es/notification/hooks/useNotification.d.ts +7 -0
  154. package/es/notification/hooks/useNotification.js +54 -0
  155. package/es/notification/index.d.ts +54 -0
  156. package/es/notification/index.js +342 -0
  157. package/es/notification/style/index.css +546 -0
  158. package/es/notification/style/index.d.ts +1 -0
  159. package/es/notification/style/index.js +1 -0
  160. package/lib/Affix/index.d.ts +54 -0
  161. package/lib/Affix/index.js +349 -0
  162. package/lib/{Notification → Affix}/style/index.css +0 -3
  163. package/lib/Affix/style/index.d.ts +1 -0
  164. package/lib/{Notification → Affix}/style/index.js +0 -0
  165. package/lib/Affix/utils.d.ts +15 -0
  166. package/lib/Affix/utils.js +104 -0
  167. package/lib/Alert/ErrorBoundary.d.ts +22 -0
  168. package/lib/Alert/ErrorBoundary.js +79 -0
  169. package/lib/Alert/index.d.ts +41 -0
  170. package/lib/Alert/index.js +215 -0
  171. package/lib/Alert/style/index.css +531 -0
  172. package/lib/Alert/style/index.d.ts +1 -0
  173. package/lib/Alert/style/index.js +3 -0
  174. package/lib/CardTable/body/TableBodyCell.js +3 -0
  175. package/lib/CardTable/card/PictureTextColumn.js +8 -6
  176. package/lib/CardTable/card/PictureTextRow.js +14 -51
  177. package/lib/CardTable/card/PictureTextRowOperate.js +130 -0
  178. package/lib/CardTable/fns/index.js +38 -8
  179. package/lib/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  180. package/lib/CardTable/pager/index.js +48 -0
  181. package/lib/CardTable/style/index.css +160 -12
  182. package/lib/CardTable/table/TableRoot.js +20 -18
  183. package/lib/CardTable/table/TableWrapper.js +4 -0
  184. package/lib/CardTable/toolbar/ToolBarBottom.js +8 -27
  185. package/lib/Descriptions/style/index.css +10 -8
  186. package/lib/IconFont/index.js +3 -2
  187. package/lib/LmFilter/Controls/CheckboxTags.js +53 -0
  188. package/lib/LmFilter/Controls/index.js +47 -0
  189. package/lib/LmFilter/LmFilter.js +39 -0
  190. package/lib/LmFilter/baseFilter/fuzzySearch.js +53 -0
  191. package/lib/LmFilter/baseFilter/index.js +34 -0
  192. package/lib/LmFilter/clearFilter/index.js +35 -0
  193. package/lib/LmFilter/complexFilter/drawer.js +376 -0
  194. package/lib/LmFilter/complexFilter/index.js +64 -0
  195. package/lib/LmFilter/complexFilter/valueDrawer.js +238 -0
  196. package/lib/LmFilter/components/CascaderFilter.js +159 -0
  197. package/lib/LmFilter/components/CheckboxFilter.js +197 -0
  198. package/lib/LmFilter/components/DateFilter.js +139 -0
  199. package/lib/LmFilter/components/DropdownFIlter.js +229 -0
  200. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  201. package/lib/LmFilter/components/InputFilter.js +52 -0
  202. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  203. package/lib/LmFilter/components/SelectFilter.js +113 -0
  204. package/lib/LmFilter/components/index.js +140 -0
  205. package/lib/LmFilter/customFilter/index.js +17 -0
  206. package/lib/LmFilter/filterFns/index.js +73 -0
  207. package/lib/LmFilter/hooks/index.js +18 -0
  208. package/lib/LmFilter/hooks/useDelayedFn.js +29 -0
  209. package/lib/LmFilter/icon_placeholder.png +0 -0
  210. package/lib/LmFilter/index.js +16 -0
  211. package/lib/LmFilter/localization.d.ts +8 -0
  212. package/lib/LmFilter/localization.js +19 -0
  213. package/lib/LmFilter/style/index.js +3 -0
  214. package/lib/LmFilter/style/style.css +212 -0
  215. package/lib/LmFilter/utils.js +71 -0
  216. package/lib/LmFilter/wrapper/Filter.js +33 -0
  217. package/lib/LmFilter/wrapper/FilterContainer.js +29 -0
  218. package/lib/LmFilter/wrapper/FilterRoot.js +170 -0
  219. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  220. package/lib/QuickMenu/index.d.ts +14 -0
  221. package/lib/QuickMenu/index.js +187 -0
  222. package/lib/QuickMenu/style/index.css +560 -0
  223. package/lib/QuickMenu/style/index.d.ts +1 -0
  224. package/lib/QuickMenu/style/index.js +3 -0
  225. package/lib/Switch/index.d.ts +2 -1
  226. package/lib/Switch/index.js +34 -1
  227. package/lib/Switch/style/index.css +41 -0
  228. package/lib/Tag/index.d.ts +4 -0
  229. package/lib/Tag/index.js +48 -1
  230. package/lib/Tag/style/index.css +4 -1
  231. package/lib/Upload/index.d.ts +5 -1
  232. package/lib/Upload/index.js +8 -2
  233. package/lib/Upload/style/index.css +35 -0
  234. package/lib/_util/domTarget.d.ts +7 -0
  235. package/lib/_util/domTarget.js +31 -0
  236. package/lib/_util/getDataOrAriaProps.d.ts +1 -0
  237. package/lib/_util/getDataOrAriaProps.js +16 -0
  238. package/lib/_util/reactNode.d.ts +7 -0
  239. package/lib/_util/reactNode.js +24 -0
  240. package/lib/_util/throttleByAnimationFrame.d.ts +8 -0
  241. package/lib/_util/throttleByAnimationFrame.js +72 -0
  242. package/lib/index.d.ts +2 -1
  243. package/lib/index.js +11 -3
  244. package/lib/message/style/index.css +1 -0
  245. package/lib/notification/hooks/useNotification.d.ts +7 -0
  246. package/lib/notification/hooks/useNotification.js +69 -0
  247. package/lib/notification/index.d.ts +54 -0
  248. package/lib/notification/index.js +365 -0
  249. package/lib/notification/style/index.css +546 -0
  250. package/lib/notification/style/index.d.ts +1 -0
  251. package/lib/notification/style/index.js +3 -0
  252. package/package.json +5 -2
  253. package/dist/Notification/index.d.ts +0 -7
  254. package/es/Notification/index.d.ts +0 -7
  255. package/es/Notification/index.js +0 -10
  256. package/lib/Notification/index.d.ts +0 -7
  257. package/lib/Notification/index.js +0 -23
@@ -0,0 +1,139 @@
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/extends"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _linkmoreDesign = require("linkmore-design");
21
+
22
+ var _utils = require("../utils");
23
+
24
+ var RangePicker = function RangePicker(_ref) {
25
+ var filterValue = _ref.filterValue,
26
+ setFilterValue = _ref.setFilterValue,
27
+ onChange = _ref.onChange,
28
+ itemProps = _ref.itemProps,
29
+ visible = _ref.visible;
30
+ // 最近的时间段, 值为JSON转换后的字符串
31
+ var ranges = (0, _react.useMemo)(function () {
32
+ return Object.entries((0, _utils.getRanges)()).map(function (item, i) {
33
+ return {
34
+ id: i,
35
+ label: item[0],
36
+ value: JSON.stringify(item[1])
37
+ };
38
+ });
39
+ }, []); // 选中时间段的触发
40
+
41
+ var handleOnChange = function handleOnChange(dates, dateStrings) {
42
+ onChange(dates, (0, _utils.getIsHas)(dateStrings.filter(function (v) {
43
+ return !!v;
44
+ })) ? dateStrings : null);
45
+ }; // 最近的时间触发事件
46
+
47
+
48
+ var handleLastDateOnChange = function handleLastDateOnChange(e) {
49
+ var nValue = JSON.parse(e.target.value);
50
+ setFilterValue(nValue);
51
+ };
52
+
53
+ var panelRender = function panelRender(panelNode) {
54
+ var activeValue = JSON.stringify(filterValue);
55
+ return /*#__PURE__*/_react.default.createElement("div", {
56
+ className: "filter_picker_box"
57
+ }, /*#__PURE__*/_react.default.createElement("div", {
58
+ className: "filter_picker_main"
59
+ }, /*#__PURE__*/_react.default.createElement("div", {
60
+ className: "filter_picker_header"
61
+ }, /*#__PURE__*/_react.default.createElement("div", {
62
+ className: "filter_picker_header_tip"
63
+ }, filterValue && "".concat(filterValue[0], " - ").concat(filterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
64
+ className: "filter_picker_header_operate"
65
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
66
+ value: activeValue,
67
+ onChange: handleLastDateOnChange,
68
+ size: "small"
69
+ }, ranges.map(function (v) {
70
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Button, {
71
+ key: v.label,
72
+ value: v.value
73
+ }, v.label);
74
+ })))), panelNode));
75
+ };
76
+
77
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_datePicker.default.RangePicker, (0, _extends2.default)({
78
+ picker: "date",
79
+ separator: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
80
+ type: "lmweb-swap-right",
81
+ style: {
82
+ color: 'var(--text-color)'
83
+ }
84
+ }),
85
+ placeholder: ['开始日期', '结束日期'],
86
+ style: {
87
+ width: 210
88
+ }
89
+ }, itemProps, {
90
+ onChange: handleOnChange,
91
+ open: visible,
92
+ panelRender: panelRender,
93
+ dropdownClassName: "lm_filter_dropdown_picker",
94
+ bordered: false,
95
+ size: "small",
96
+ inputReadOnly: true
97
+ })));
98
+ }; // 日期范围选择器
99
+
100
+
101
+ var DatePickerFilter = function DatePickerFilter(_ref2) {
102
+ var instance = _ref2.instance,
103
+ itemProps = _ref2.item;
104
+ var filterValue = instance.filterValue,
105
+ setFilterValue = instance.setFilterValue,
106
+ visible = instance.visible;
107
+ var _itemProps$props = itemProps.props,
108
+ props = _itemProps$props === void 0 ? {
109
+ picker: 'date'
110
+ } : _itemProps$props; // 选中时间段的触发
111
+
112
+ var onChange = function onChange(dates, dateStrings) {
113
+ setFilterValue((0, _utils.getIsHas)(dateStrings) ? dateStrings : null);
114
+ };
115
+
116
+ if (['range', 'rangePicker'].includes(itemProps.dateType || itemProps.datetype)) {
117
+ return /*#__PURE__*/_react.default.createElement(RangePicker, {
118
+ filterValue: filterValue,
119
+ setFilterValue: setFilterValue,
120
+ onChange: onChange,
121
+ itemProps: props,
122
+ visible: visible
123
+ });
124
+ }
125
+
126
+ return /*#__PURE__*/_react.default.createElement(_datePicker.default, (0, _extends2.default)({
127
+ placeholder: "\u9009\u62E9\u65F6\u95F4"
128
+ }, props, {
129
+ onChange: onChange,
130
+ open: visible,
131
+ bordered: false,
132
+ size: "small",
133
+ inputReadOnly: true,
134
+ dropdownClassName: "lm_filter_dropdown_picker"
135
+ }));
136
+ };
137
+
138
+ var _default = DatePickerFilter;
139
+ exports.default = _default;
@@ -0,0 +1,229 @@
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 _icons = require("@ant-design/icons");
23
+
24
+ var _InputFilter = _interopRequireDefault(require("./InputFilter"));
25
+
26
+ var _SelectFilter = _interopRequireDefault(require("./SelectFilter"));
27
+
28
+ var _CheckboxFilter = _interopRequireDefault(require("./CheckboxFilter"));
29
+
30
+ var _CascaderFilter = _interopRequireDefault(require("./CascaderFilter"));
31
+
32
+ var _DateFilter = _interopRequireDefault(require("./DateFilter"));
33
+
34
+ var _utils = require("../utils");
35
+
36
+ // 组件渲染
37
+ var FilterControl = function FilterControl(_ref) {
38
+ var instance = _ref.instance,
39
+ item = _ref.item;
40
+ var type = item.type;
41
+ var widgets = {
42
+ 'input': /*#__PURE__*/_react.default.createElement(_InputFilter.default, {
43
+ instance: instance,
44
+ item: item
45
+ }),
46
+ 'select': /*#__PURE__*/_react.default.createElement(_SelectFilter.default, {
47
+ instance: instance,
48
+ item: item
49
+ }),
50
+ 'checkbox': /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default, {
51
+ instance: instance,
52
+ item: item
53
+ }),
54
+ 'cascader': /*#__PURE__*/_react.default.createElement(_CascaderFilter.default, {
55
+ instance: instance,
56
+ item: item
57
+ }),
58
+ 'date': /*#__PURE__*/_react.default.createElement(_DateFilter.default, {
59
+ instance: instance,
60
+ item: item
61
+ })
62
+ };
63
+ return widgets[type] || null;
64
+ };
65
+
66
+ var getPlacehodler = function getPlacehodler(props) {
67
+ var type = props.type,
68
+ dateType = props.dateType,
69
+ itemProps = props.props; // 日期显示的处理
70
+
71
+ if (['date'].includes(type)) {
72
+ if (['range', 'rangePicker'].includes(props.dateType || props.datetype)) {
73
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\u5F00\u59CB\u65E5\u671F", /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
74
+ type: "lmweb-swap-right",
75
+ style: {
76
+ fontSize: 14
77
+ }
78
+ }), "\u7ED3\u675F\u65E5\u671F", /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
79
+ style: {
80
+ fontSize: 12
81
+ }
82
+ }));
83
+ }
84
+
85
+ var placeholder = {
86
+ 'week': '周',
87
+ 'month': '月份',
88
+ 'quarter': '季度',
89
+ 'year': '年份'
90
+ };
91
+ 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, {
92
+ style: {
93
+ fontSize: 12
94
+ }
95
+ }));
96
+ }
97
+
98
+ return '全部';
99
+ }; // 根据不同的类型展示文本内容
100
+
101
+
102
+ var getLabel = function getLabel(filterValue, item) {
103
+ var _val;
104
+
105
+ var val = filterValue;
106
+ var type = item.type; // 不存在筛选时
107
+
108
+ if (!(0, _utils.getIsHas)(val)) {
109
+ return getPlacehodler(item);
110
+ } // 存在筛选数据时
111
+
112
+
113
+ if (Array.isArray(val)) {
114
+ // 日期
115
+ if (['date'].includes(type)) {
116
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, val[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
117
+ type: "lmweb-swap-right",
118
+ style: {
119
+ fontSize: 14,
120
+ color: 'var(--text-color)'
121
+ }
122
+ }), val[1]);
123
+ } // 级联数据转换平级结构
124
+
125
+
126
+ if (['cascader'].includes(type)) {
127
+ var _filterValue$map;
128
+
129
+ val = (_filterValue$map = filterValue.map(function (v) {
130
+ return v[1] ? v[1] : v[0].children;
131
+ })) === null || _filterValue$map === void 0 ? void 0 : _filterValue$map.flat(2);
132
+ } // 多选
133
+
134
+
135
+ switch (val.length) {
136
+ case 1:
137
+ return val[0].label;
138
+
139
+ case 2:
140
+ return "".concat(val[0].label, "\u3001").concat(val[1].label);
141
+
142
+ default:
143
+ return "".concat(val[0].label, "\u3001+").concat(val.length - 1, "...");
144
+ }
145
+ } // 输入框
146
+
147
+
148
+ if (['input', 'date'].includes(type)) {
149
+ return val;
150
+ } // 单选框
151
+
152
+
153
+ return (_val = val) === null || _val === void 0 ? void 0 : _val.label;
154
+ };
155
+ /*
156
+ * css样式控制
157
+ * expand: 展开样式
158
+ * active: 选中样式
159
+ */
160
+
161
+
162
+ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
163
+ var instance = _ref2.instance,
164
+ item = _ref2.item;
165
+
166
+ var _useState = (0, _react.useState)(false),
167
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
168
+ visible = _useState2[0],
169
+ setVisible = _useState2[1];
170
+
171
+ var filterValue = instance.filterValue; // 触发查询时关闭下拉框
172
+
173
+ var setFilterValue = function setFilterValue(obj) {
174
+ instance.setFilterValue(obj);
175
+ setVisible(false);
176
+ }; // 重组Instance 加入下拉关闭控制
177
+
178
+
179
+ var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({
180
+ visible: visible,
181
+ setVisible: setVisible
182
+ }, instance), {}, {
183
+ setFilterValue: setFilterValue
184
+ }); // 是否有筛选值/是否处于筛选状态
185
+
186
+ var active = (0, _react.useMemo)(function () {
187
+ return (0, _utils.getIsHas)(filterValue);
188
+ }, [filterValue]);
189
+
190
+ var handleClear = function handleClear(e) {
191
+ if (active) {
192
+ e.stopPropagation();
193
+ setFilterValue((0, _utils.getValueForType)(item.type));
194
+ }
195
+ };
196
+
197
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
198
+ trigger: ['click'],
199
+ visible: resetInstance.visible,
200
+ placement: "bottomLeft",
201
+ overlay: /*#__PURE__*/_react.default.createElement(FilterControl, {
202
+ instance: resetInstance,
203
+ item: item
204
+ }),
205
+ overlayClassName: "filter_dropdown_container_".concat(item.type),
206
+ onVisibleChange: function onVisibleChange(v) {
207
+ return setVisible(v);
208
+ } // 未开启则需手动控制下拉展示组件的初始化
209
+ ,
210
+ destroyPopupOnHide: true
211
+ }, /*#__PURE__*/_react.default.createElement("div", {
212
+ className: (0, _classnames.default)('lm_filter_basic_item', {
213
+ expand: visible,
214
+ active: active
215
+ })
216
+ }, /*#__PURE__*/_react.default.createElement("div", {
217
+ className: "filter_item_label"
218
+ }, item === null || item === void 0 ? void 0 : item.title, ":"), /*#__PURE__*/_react.default.createElement("div", {
219
+ className: "filter_item_value"
220
+ }, getLabel(filterValue, item)), /*#__PURE__*/_react.default.createElement("div", {
221
+ className: "filter_item_icon addon_after"
222
+ }, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
223
+ type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
224
+ onClick: handleClear
225
+ }) : null)));
226
+ });
227
+
228
+ var _default = DropdownFilter;
229
+ 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;