linkmore-design 1.0.50 → 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 (265) 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/Button/style/index.d.ts +1 -1
  7. package/dist/CardTable/fns/index.d.ts +7 -3
  8. package/dist/CardTable/{toolbar → pager}/TablePagination.d.ts +0 -0
  9. package/dist/CardTable/pager/index.d.ts +3 -0
  10. package/dist/LmEditTable/style/index.d.ts +1 -1
  11. package/dist/LmFilter/LmFilter.d.ts +3 -0
  12. package/dist/LmFilter/baseFilter/index.d.ts +3 -0
  13. package/dist/LmFilter/clearFilter/index.d.ts +3 -0
  14. package/dist/LmFilter/complexFilter/index.d.ts +2 -0
  15. package/dist/LmFilter/components/CascaderFilter.d.ts +5 -0
  16. package/dist/LmFilter/components/CheckboxFilter.d.ts +5 -0
  17. package/dist/LmFilter/components/DateFilter.d.ts +5 -0
  18. package/dist/LmFilter/components/DropdownFIlter.d.ts +3 -0
  19. package/dist/LmFilter/components/EmptyFilter.d.ts +2 -0
  20. package/dist/LmFilter/components/InputFilter.d.ts +4 -0
  21. package/dist/LmFilter/components/InputSearchClose.d.ts +3 -0
  22. package/dist/LmFilter/components/SelectFilter.d.ts +5 -0
  23. package/dist/LmFilter/components/fuzzySearch.d.ts +4 -0
  24. package/dist/LmFilter/components/index.d.ts +3 -0
  25. package/dist/LmFilter/customFilter/index.d.ts +2 -0
  26. package/dist/LmFilter/demos/basic.d.ts +2 -0
  27. package/dist/LmFilter/filterFns/index.d.ts +12 -0
  28. package/dist/LmFilter/hooks/index.d.ts +1 -0
  29. package/dist/LmFilter/hooks/useDelayedFn.d.ts +2 -0
  30. package/dist/LmFilter/index.d.ts +2 -0
  31. package/dist/LmFilter/style/index.d.ts +1 -0
  32. package/dist/LmFilter/utils.d.ts +8 -0
  33. package/dist/LmFilter/wrapper/Filter.d.ts +3 -0
  34. package/dist/LmFilter/wrapper/FilterContainer.d.ts +3 -0
  35. package/dist/LmFilter/wrapper/FilterRoot.d.ts +3 -0
  36. package/dist/LmFilter/wrapper/FilterWrapper.d.ts +3 -0
  37. package/dist/_util/getDataOrAriaProps.d.ts +1 -0
  38. package/dist/_util/reactNode.d.ts +7 -0
  39. package/dist/index.d.ts +1 -1
  40. package/dist/index.umd.js +3019 -425
  41. package/dist/index.umd.min.js +6 -6
  42. package/dist/message/hooks/useMessage.d.ts +7 -0
  43. package/dist/message/index.d.ts +63 -4
  44. package/dist/{Notification/demos/icon.d.ts → notification/demos/basic.d.ts} +0 -0
  45. package/dist/notification/demos/button.d.ts +2 -0
  46. package/dist/notification/demos/icon.d.ts +2 -0
  47. package/dist/notification/hooks/useNotification.d.ts +7 -0
  48. package/dist/notification/index.d.ts +54 -0
  49. package/dist/notification/style/index.d.ts +1 -0
  50. package/es/Alert/ErrorBoundary.d.ts +22 -0
  51. package/es/Alert/ErrorBoundary.js +65 -0
  52. package/es/Alert/index.d.ts +41 -0
  53. package/es/Alert/index.js +192 -0
  54. package/{lib/Notification → es/Alert}/style/index.css +25 -2
  55. package/es/{Notification → Alert}/style/index.d.ts +0 -0
  56. package/es/{Notification → Alert}/style/index.js +0 -0
  57. package/es/Button/style/{style.css → index.css} +0 -0
  58. package/es/Button/style/index.d.ts +1 -1
  59. package/es/Button/style/index.js +1 -1
  60. package/es/ButtonTags/style/{style.css → index.css} +0 -0
  61. package/es/ButtonTags/style/index.js +1 -1
  62. package/es/CardTable/card/PictureTextColumn.js +8 -6
  63. package/es/CardTable/card/PictureTextRow.js +1 -1
  64. package/es/CardTable/fns/index.js +38 -9
  65. package/es/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  66. package/es/CardTable/pager/index.js +48 -0
  67. package/{lib/CardTable/style/style.css → es/CardTable/style/index.css} +2 -2
  68. package/es/CardTable/style/index.js +1 -1
  69. package/es/CardTable/table/TableRoot.js +20 -18
  70. package/es/CardTable/table/TableWrapper.js +4 -0
  71. package/es/CardTable/toolbar/ToolBarBottom.js +8 -27
  72. package/es/Checkbox/style/{style.css → index.css} +0 -0
  73. package/es/Checkbox/style/index.js +1 -1
  74. package/es/CkFilter/style/{style.css → index.css} +0 -0
  75. package/es/CkFilter/style/index.js +1 -1
  76. package/es/CustomerService/style/{style.css → index.css} +0 -0
  77. package/es/CustomerService/style/index.js +1 -1
  78. package/es/EditTable/style/{style.css → index.css} +0 -0
  79. package/es/EditTable/style/index.js +1 -1
  80. package/es/EnlargeImg/style/{style.css → index.css} +0 -0
  81. package/es/EnlargeImg/style/index.js +1 -1
  82. package/es/Filter/style/{style.css → index.css} +0 -0
  83. package/es/Filter/style/index.js +1 -1
  84. package/es/IconSelect/style/{style.css → index.css} +0 -0
  85. package/es/IconSelect/style/index.js +1 -1
  86. package/es/Input/style/{style.css → index.css} +0 -0
  87. package/es/Input/style/index.js +1 -1
  88. package/es/LeftTable/style/{style.css → index.css} +0 -0
  89. package/es/LeftTable/style/index.js +1 -1
  90. package/es/LmEditTable/style/{style.css → index.css} +0 -0
  91. package/es/LmEditTable/style/index.d.ts +1 -1
  92. package/es/LmEditTable/style/index.js +1 -1
  93. package/es/LmFilter/LmFilter.js +27 -0
  94. package/es/LmFilter/baseFilter/index.js +34 -0
  95. package/es/LmFilter/clearFilter/index.js +33 -0
  96. package/es/LmFilter/complexFilter/index.js +17 -0
  97. package/es/LmFilter/components/CascaderFilter.js +183 -0
  98. package/es/LmFilter/components/CheckboxFilter.js +197 -0
  99. package/es/LmFilter/components/DateFilter.js +147 -0
  100. package/es/LmFilter/components/DropdownFIlter.js +162 -0
  101. package/es/LmFilter/components/EmptyFilter.js +27 -0
  102. package/es/LmFilter/components/InputFilter.js +52 -0
  103. package/es/LmFilter/components/InputSearchClose.js +74 -0
  104. package/es/LmFilter/components/SelectFilter.js +113 -0
  105. package/es/LmFilter/components/fuzzySearch.js +37 -0
  106. package/es/LmFilter/components/index.js +97 -0
  107. package/es/LmFilter/customFilter/index.js +17 -0
  108. package/es/LmFilter/filterFns/index.js +54 -0
  109. package/es/LmFilter/hooks/index.js +18 -0
  110. package/es/LmFilter/hooks/useDelayedFn.js +27 -0
  111. package/es/LmFilter/icon_placeholder.png +0 -0
  112. package/es/LmFilter/index.js +16 -0
  113. package/es/LmFilter/style/index.js +3 -0
  114. package/es/LmFilter/style/style.css +189 -0
  115. package/es/LmFilter/utils.js +55 -0
  116. package/es/LmFilter/wrapper/Filter.js +33 -0
  117. package/es/LmFilter/wrapper/FilterContainer.js +29 -0
  118. package/es/LmFilter/wrapper/FilterRoot.js +114 -0
  119. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  120. package/es/LmTable/Table.js +3 -5
  121. package/{lib/LmTable/style/style.css → es/LmTable/style/index.css} +6 -0
  122. package/es/LmTable/style/index.js +1 -1
  123. package/es/OldModal/style/{style.css → index.css} +0 -0
  124. package/es/OldModal/style/index.js +1 -1
  125. package/es/PopTable/style/{style.css → index.css} +0 -0
  126. package/es/PopTable/style/index.js +1 -1
  127. package/es/ProTable/style/{style.css → index.css} +0 -0
  128. package/es/ProTable/style/index.js +1 -1
  129. package/es/Radio/style/{style.css → index.css} +0 -0
  130. package/es/Radio/style/index.js +1 -1
  131. package/es/TableRender/style/{style.css → index.css} +0 -0
  132. package/es/TableRender/style/index.js +1 -1
  133. package/es/UploadOss/style/{style.css → index.css} +0 -0
  134. package/es/UploadOss/style/index.js +1 -1
  135. package/es/VirtualList/style/{style.css → index.css} +0 -0
  136. package/es/VirtualList/style/index.js +1 -1
  137. package/es/_util/getDataOrAriaProps.d.ts +1 -0
  138. package/es/_util/getDataOrAriaProps.js +9 -0
  139. package/es/_util/reactNode.d.ts +7 -0
  140. package/es/_util/reactNode.js +10 -0
  141. package/es/index.d.ts +1 -1
  142. package/es/index.js +1 -1
  143. package/es/message/hooks/useMessage.d.ts +7 -0
  144. package/es/message/hooks/useMessage.js +83 -0
  145. package/es/message/index.d.ts +63 -4
  146. package/es/message/index.js +241 -12
  147. package/es/message/style/index.css +28 -1
  148. package/es/notification/hooks/useNotification.d.ts +7 -0
  149. package/es/notification/hooks/useNotification.js +54 -0
  150. package/es/notification/index.d.ts +54 -0
  151. package/es/notification/index.js +342 -0
  152. package/es/notification/style/index.css +546 -0
  153. package/{lib/Notification → es/notification}/style/index.d.ts +0 -0
  154. package/es/notification/style/index.js +1 -0
  155. package/lib/Alert/ErrorBoundary.d.ts +22 -0
  156. package/lib/Alert/ErrorBoundary.js +79 -0
  157. package/lib/Alert/index.d.ts +41 -0
  158. package/lib/Alert/index.js +215 -0
  159. package/{es/Notification → lib/Alert}/style/index.css +25 -2
  160. package/lib/Alert/style/index.d.ts +1 -0
  161. package/lib/{Notification → Alert}/style/index.js +0 -0
  162. package/lib/Button/style/{style.css → index.css} +0 -0
  163. package/lib/Button/style/index.d.ts +1 -1
  164. package/lib/Button/style/index.js +1 -1
  165. package/lib/ButtonTags/style/{style.css → index.css} +0 -0
  166. package/lib/ButtonTags/style/index.js +1 -1
  167. package/lib/CardTable/card/PictureTextColumn.js +8 -6
  168. package/lib/CardTable/card/PictureTextRow.js +1 -1
  169. package/lib/CardTable/fns/index.js +38 -9
  170. package/lib/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  171. package/lib/CardTable/pager/index.js +48 -0
  172. package/{es/CardTable/style/style.css → lib/CardTable/style/index.css} +2 -2
  173. package/lib/CardTable/style/index.js +1 -1
  174. package/lib/CardTable/table/TableRoot.js +20 -18
  175. package/lib/CardTable/table/TableWrapper.js +4 -0
  176. package/lib/CardTable/toolbar/ToolBarBottom.js +8 -27
  177. package/lib/Checkbox/style/{style.css → index.css} +0 -0
  178. package/lib/Checkbox/style/index.js +1 -1
  179. package/lib/CkFilter/style/{style.css → index.css} +0 -0
  180. package/lib/CkFilter/style/index.js +1 -1
  181. package/lib/CustomerService/style/{style.css → index.css} +0 -0
  182. package/lib/CustomerService/style/index.js +1 -1
  183. package/lib/EditTable/style/{style.css → index.css} +0 -0
  184. package/lib/EditTable/style/index.js +1 -1
  185. package/lib/EnlargeImg/style/{style.css → index.css} +0 -0
  186. package/lib/EnlargeImg/style/index.js +1 -1
  187. package/lib/Filter/style/{style.css → index.css} +0 -0
  188. package/lib/Filter/style/index.js +1 -1
  189. package/lib/IconSelect/style/{style.css → index.css} +0 -0
  190. package/lib/IconSelect/style/index.js +1 -1
  191. package/lib/Input/style/{style.css → index.css} +0 -0
  192. package/lib/Input/style/index.js +1 -1
  193. package/lib/LeftTable/style/{style.css → index.css} +0 -0
  194. package/lib/LeftTable/style/index.js +1 -1
  195. package/lib/LmEditTable/style/{style.css → index.css} +0 -0
  196. package/lib/LmEditTable/style/index.d.ts +1 -1
  197. package/lib/LmEditTable/style/index.js +1 -1
  198. package/lib/LmFilter/LmFilter.js +27 -0
  199. package/lib/LmFilter/baseFilter/index.js +34 -0
  200. package/lib/LmFilter/clearFilter/index.js +33 -0
  201. package/lib/LmFilter/complexFilter/index.js +17 -0
  202. package/lib/LmFilter/components/CascaderFilter.js +183 -0
  203. package/lib/LmFilter/components/CheckboxFilter.js +197 -0
  204. package/lib/LmFilter/components/DateFilter.js +147 -0
  205. package/lib/LmFilter/components/DropdownFIlter.js +162 -0
  206. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  207. package/lib/LmFilter/components/InputFilter.js +52 -0
  208. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  209. package/lib/LmFilter/components/SelectFilter.js +113 -0
  210. package/lib/LmFilter/components/fuzzySearch.js +37 -0
  211. package/lib/LmFilter/components/index.js +97 -0
  212. package/lib/LmFilter/customFilter/index.js +17 -0
  213. package/lib/LmFilter/filterFns/index.js +54 -0
  214. package/lib/LmFilter/hooks/index.js +18 -0
  215. package/lib/LmFilter/hooks/useDelayedFn.js +27 -0
  216. package/lib/LmFilter/icon_placeholder.png +0 -0
  217. package/lib/LmFilter/index.js +16 -0
  218. package/lib/LmFilter/style/index.js +3 -0
  219. package/lib/LmFilter/style/style.css +189 -0
  220. package/lib/LmFilter/utils.js +55 -0
  221. package/lib/LmFilter/wrapper/Filter.js +33 -0
  222. package/lib/LmFilter/wrapper/FilterContainer.js +29 -0
  223. package/lib/LmFilter/wrapper/FilterRoot.js +114 -0
  224. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  225. package/lib/LmTable/Table.js +3 -5
  226. package/{es/LmTable/style/style.css → lib/LmTable/style/index.css} +6 -0
  227. package/lib/LmTable/style/index.js +1 -1
  228. package/lib/OldModal/style/{style.css → index.css} +0 -0
  229. package/lib/OldModal/style/index.js +1 -1
  230. package/lib/PopTable/style/{style.css → index.css} +0 -0
  231. package/lib/PopTable/style/index.js +1 -1
  232. package/lib/ProTable/style/{style.css → index.css} +0 -0
  233. package/lib/ProTable/style/index.js +1 -1
  234. package/lib/Radio/style/{style.css → index.css} +0 -0
  235. package/lib/Radio/style/index.js +1 -1
  236. package/lib/TableRender/style/{style.css → index.css} +0 -0
  237. package/lib/TableRender/style/index.js +1 -1
  238. package/lib/UploadOss/style/{style.css → index.css} +0 -0
  239. package/lib/UploadOss/style/index.js +1 -1
  240. package/lib/VirtualList/style/{style.css → index.css} +0 -0
  241. package/lib/VirtualList/style/index.js +1 -1
  242. package/lib/_util/getDataOrAriaProps.d.ts +1 -0
  243. package/lib/_util/getDataOrAriaProps.js +16 -0
  244. package/lib/_util/reactNode.d.ts +7 -0
  245. package/lib/_util/reactNode.js +24 -0
  246. package/lib/index.d.ts +1 -1
  247. package/lib/index.js +2 -2
  248. package/lib/message/hooks/useMessage.d.ts +7 -0
  249. package/lib/message/hooks/useMessage.js +101 -0
  250. package/lib/message/index.d.ts +63 -4
  251. package/lib/message/index.js +262 -16
  252. package/lib/message/style/index.css +28 -1
  253. package/lib/notification/hooks/useNotification.d.ts +7 -0
  254. package/lib/notification/hooks/useNotification.js +69 -0
  255. package/lib/notification/index.d.ts +54 -0
  256. package/lib/notification/index.js +365 -0
  257. package/lib/notification/style/index.css +546 -0
  258. package/lib/notification/style/index.d.ts +1 -0
  259. package/lib/notification/style/index.js +3 -0
  260. package/package.json +1 -1
  261. package/dist/Notification/index.d.ts +0 -7
  262. package/es/Notification/index.d.ts +0 -7
  263. package/es/Notification/index.js +0 -10
  264. package/lib/Notification/index.d.ts +0 -7
  265. 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/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/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;