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
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
13
-
14
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
13
 
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
15
+
16
16
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
@@ -21,7 +21,8 @@ var _TableWrapper = _interopRequireDefault(require("./TableWrapper"));
21
21
 
22
22
  var _fns = _interopRequireDefault(require("../fns"));
23
23
 
24
- var _excluded = ["rowConfig", "cellConfig", "defaultConfig", "checkboxConfig"];
24
+ var _excluded = ["checkKeys", "trigger", "checkMethod"],
25
+ _excluded2 = ["rowConfig", "cellConfig", "defaultConfig", "checkboxConfig", "pagerConfig", "toolbarConfig"];
25
26
 
26
27
  var reducer = function reducer(state, action) {
27
28
  var page = action.page,
@@ -70,6 +71,9 @@ var getInitialState = function getInitialState(props) {
70
71
  checkKeys = _props$checkboxConfig2 === void 0 ? [] : _props$checkboxConfig2,
71
72
  _props$checkboxConfig3 = _props$checkboxConfig.trigger,
72
73
  trigger = _props$checkboxConfig3 === void 0 ? 'default' : _props$checkboxConfig3,
74
+ _props$checkboxConfig4 = _props$checkboxConfig.checkMethod,
75
+ checkMethod = _props$checkboxConfig4 === void 0 ? true : _props$checkboxConfig4,
76
+ resetCheckCOnfig = (0, _objectWithoutProperties2.default)(_props$checkboxConfig, _excluded),
73
77
  _props$dataSource = props.dataSource,
74
78
  dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
75
79
  cellKey = props.cellKey;
@@ -78,11 +82,12 @@ var getInitialState = function getInitialState(props) {
78
82
  }) || [];
79
83
  return {
80
84
  // 复选框的配置
81
- checkboxConfig: {
85
+ checkboxConfig: (0, _objectSpread2.default)({
82
86
  checkKeys: checkKeys,
83
87
  checkValues: checkValues,
84
- trigger: trigger
85
- },
88
+ trigger: trigger,
89
+ checkMethod: checkMethod
90
+ }, resetCheckCOnfig),
86
91
  // 分页的配置
87
92
  page: {
88
93
  pageIndex: 1,
@@ -114,18 +119,17 @@ var LmCardTableRoot = function LmCardTableRoot(props, ref) {
114
119
  var _useState = (0, _react.useState)(false),
115
120
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
116
121
  isFullScreen = _useState2[0],
117
- setIsFullScreen = _useState2[1];
122
+ setIsFullScreen = _useState2[1]; // 配置对象收集
118
123
 
119
- var _state$checkboxConfig = state.checkboxConfig,
120
- checkKeys = _state$checkboxConfig.checkKeys,
121
- checkValues = _state$checkboxConfig.checkValues; // 配置对象收集
122
124
 
123
125
  var configProps = (0, _react.useMemo)(function () {
124
126
  var rowConfig = props.rowConfig,
125
127
  cellConfig = props.cellConfig,
126
128
  defaultConfig = props.defaultConfig,
127
129
  checkboxConfig = props.checkboxConfig,
128
- resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
130
+ pagerConfig = props.pagerConfig,
131
+ toolbarConfig = props.toolbarConfig,
132
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
129
133
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps), {}, {
130
134
  rowConfig: (0, _objectSpread2.default)({
131
135
  // 行配置
@@ -137,22 +141,20 @@ var LmCardTableRoot = function LmCardTableRoot(props, ref) {
137
141
  height: 282
138
142
  }, cellConfig),
139
143
  checkboxConfig: (0, _objectSpread2.default)({}, checkboxConfig),
140
- toolbarConfig: {
141
- pager: {},
142
- toolbarBottom: {}
143
- },
144
+ pagerConfig: (0, _objectSpread2.default)({}, pagerConfig),
145
+ toolbarConfig: (0, _objectSpread2.default)({}, toolbarConfig),
144
146
  defaultConfig: defaultConfig
145
147
  });
146
148
  }, [props]); // 方法收集
147
149
 
148
- var EventProps = (0, _react.useMemo)(function () {
150
+ var eventProps = (0, _react.useMemo)(function () {
149
151
  return (0, _fns.default)({
150
152
  state: state,
151
153
  dispatch: dispatch,
152
154
  props: props
153
155
  });
154
156
  }, [state, dispatch, props]);
155
- var table = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, configProps), EventProps), {}, {
157
+ var table = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, configProps), eventProps), {}, {
156
158
  state: state,
157
159
  dispatch: dispatch
158
160
  }); // 向外暴露出的方法
@@ -162,7 +164,7 @@ var LmCardTableRoot = function LmCardTableRoot(props, ref) {
162
164
  getCheckboxRecords: function getCheckboxRecords() {
163
165
  return state.checkboxConfig.checkValues;
164
166
  }
165
- }, EventProps);
167
+ }, eventProps);
166
168
  });
167
169
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !isFullScreen && /*#__PURE__*/_react.default.createElement(_TableWrapper.default, {
168
170
  table: table
@@ -13,6 +13,8 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var _TableContainer = _interopRequireDefault(require("./TableContainer"));
15
15
 
16
+ var _pager = _interopRequireDefault(require("../pager"));
17
+
16
18
  var _ToolBarBottom = _interopRequireDefault(require("../toolbar/ToolBarBottom"));
17
19
 
18
20
  // 包裹表格外围区域: 工具栏操作区域/主体区域/工具栏底部区域
@@ -27,6 +29,8 @@ var LmCardTableWrapper = /*#__PURE__*/_react.default.memo(function (_ref) {
27
29
  }, style)
28
30
  }, /*#__PURE__*/_react.default.createElement(_TableContainer.default, {
29
31
  table: table
32
+ }), /*#__PURE__*/_react.default.createElement(_pager.default, {
33
+ table: table
30
34
  }), /*#__PURE__*/_react.default.createElement(_ToolBarBottom.default, {
31
35
  table: table
32
36
  }));
@@ -9,38 +9,19 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _TablePagination = _interopRequireDefault(require("./TablePagination"));
13
-
14
12
  var CardToolBarBottom = /*#__PURE__*/_react.default.memo(function (_ref) {
15
13
  var table = _ref.table;
16
14
  var pagination = table.pagination,
17
- _table$toolbarConfig = table.toolbarConfig,
18
- toolbarBottom = _table$toolbarConfig.toolbarBottom,
19
- pager = _table$toolbarConfig.pager; // toolbarBottom与pager一致: 用于插槽
20
-
21
- var _ref2 = toolbarBottom || pager,
22
- left = _ref2.left,
23
- right = _ref2.right;
24
-
25
- var LeftSlot = function LeftSlot() {
26
- return left;
27
- };
28
-
29
- var RighSlot = function RighSlot() {
30
- if (!right) {
31
- return pagination && /*#__PURE__*/_react.default.createElement(_TablePagination.default, {
32
- table: table
33
- });
34
- }
15
+ toolbarBottom = table.toolbarConfig.toolbarBottom;
35
16
 
36
- if (right) {
37
- typeof right === 'function' ? right(_TablePagination.default) : right;
38
- }
39
- };
17
+ if (!toolbarBottom) {
18
+ return null;
19
+ }
40
20
 
41
- return /*#__PURE__*/_react.default.createElement("div", {
42
- className: "lm_card_table_toolbar_bottom"
43
- }, /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement(RighSlot, null));
21
+ return typeof toolbarBottom === 'function' ? toolbarBottom(table) : toolbarBottom // <div className='lm_card_table_toolbar_bottom'>
22
+ // <ToolbarBottomSlot />
23
+ // </div>
24
+ ;
44
25
  });
45
26
 
46
27
  var _default = CardToolBarBottom;
@@ -0,0 +1,27 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _FilterRoot = _interopRequireDefault(require("./wrapper/FilterRoot"));
17
+
18
+ var LmFilter = function LmFilter(props, ref) {
19
+ var defaultRef = (0, _react.useRef)(null);
20
+ return /*#__PURE__*/_react.default.createElement(_FilterRoot.default, (0, _extends2.default)({
21
+ ref: ref || defaultRef
22
+ }, props));
23
+ };
24
+
25
+ var _default = /*#__PURE__*/(0, _react.forwardRef)(LmFilter);
26
+
27
+ exports.default = _default;
@@ -0,0 +1,34 @@
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 _fuzzySearch = _interopRequireDefault(require("../components/fuzzySearch"));
13
+
14
+ var _components = _interopRequireDefault(require("../components"));
15
+
16
+ // 二级过滤 => 基础过滤组件
17
+ var LmFilterBase = /*#__PURE__*/_react.default.memo(function (_ref) {
18
+ var instance = _ref.instance;
19
+ var dataSource = instance.dataSource;
20
+ return /*#__PURE__*/_react.default.createElement("div", {
21
+ className: "lm_filter_basic"
22
+ }, /*#__PURE__*/_react.default.createElement(_fuzzySearch.default, {
23
+ instance: instance
24
+ }), dataSource.map(function (v, index) {
25
+ return /*#__PURE__*/_react.default.createElement(_components.default, {
26
+ key: (v === null || v === void 0 ? void 0 : v.field) || index,
27
+ instance: instance,
28
+ item: v
29
+ });
30
+ }));
31
+ });
32
+
33
+ var _default = LmFilterBase;
34
+ exports.default = _default;
@@ -0,0 +1,33 @@
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 _linkmoreDesign = require("linkmore-design");
13
+
14
+ var LmFilterClear = /*#__PURE__*/_react.default.memo(function (_ref) {
15
+ var instance = _ref.instance;
16
+ var state = instance.state,
17
+ dispatch = instance.dispatch;
18
+
19
+ var handleClear = function handleClear() {
20
+ // dispatch();
21
+ console.log('state', state);
22
+ };
23
+
24
+ return /*#__PURE__*/_react.default.createElement("div", {
25
+ className: "lm_filter_clear"
26
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
27
+ type: "link",
28
+ onClick: handleClear
29
+ }, "\u4E00\u952E\u6E05\u7A7A"));
30
+ });
31
+
32
+ var _default = LmFilterClear;
33
+ exports.default = _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var LmFilterComplex = function LmFilterComplex(e) {
13
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "LmFilterComplex");
14
+ };
15
+
16
+ var _default = LmFilterComplex;
17
+ exports.default = _default;
@@ -0,0 +1,183 @@
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/cascader/style");
13
+
14
+ var _cascader = _interopRequireDefault(require("antd/es/cascader"));
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
+ // 重置级联弹框
25
+ var DropdownRender = function DropdownRender(_ref) {
26
+ var dom = _ref.dom,
27
+ instance = _ref.instance,
28
+ item = _ref.item,
29
+ setOptions = _ref.setOptions,
30
+ checkedValues = _ref.checkedValues,
31
+ setCheckedValues = _ref.setCheckedValues;
32
+ var _instance$filterValue = instance.filterValue,
33
+ filterValue = _instance$filterValue === void 0 ? [] : _instance$filterValue,
34
+ setFilterValue = instance.setFilterValue,
35
+ visible = instance.visible,
36
+ setVisible = instance.setVisible;
37
+ var _item$data = item.data,
38
+ filters = _item$data === void 0 ? [] : _item$data;
39
+ var inputRef = (0, _react.useRef)(null);
40
+
41
+ var handleFilter = function handleFilter(val) {
42
+ var serachValues = filters.filter(function (v) {
43
+ return v.label.indexOf(val) > -1;
44
+ });
45
+ setOptions(serachValues);
46
+ }; // 确定
47
+
48
+
49
+ var handleSure = function handleSure() {
50
+ setFilterValue(checkedValues);
51
+ setVisible(false);
52
+ }; // 取消
53
+
54
+
55
+ var handleReset = function handleReset() {
56
+ setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
57
+ };
58
+
59
+ (0, _react.useEffect)(function () {
60
+ if (visible) {
61
+ var _inputRef$current2, _inputRef$current2$se;
62
+
63
+ setTimeout(function () {
64
+ var _inputRef$current;
65
+
66
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
67
+ cursor: 'all'
68
+ });
69
+ }, 200);
70
+ setCheckedValues(filterValue);
71
+ (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : (_inputRef$current2$se = _inputRef$current2.setValue) === null || _inputRef$current2$se === void 0 ? void 0 : _inputRef$current2$se.call(_inputRef$current2, '');
72
+ handleFilter('');
73
+ }
74
+ }, [visible]);
75
+ return /*#__PURE__*/_react.default.createElement("div", {
76
+ className: "filter_dropdown"
77
+ }, /*#__PURE__*/_react.default.createElement("div", {
78
+ className: "filter_header"
79
+ }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
80
+ ref: inputRef,
81
+ onSearch: handleFilter,
82
+ onChange: handleFilter
83
+ })), dom, /*#__PURE__*/_react.default.createElement("div", {
84
+ className: "filter_footer"
85
+ }, /*#__PURE__*/_react.default.createElement("div", {
86
+ className: "footer_clear",
87
+ onClick: handleReset
88
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
89
+ type: "primary",
90
+ size: "small",
91
+ onClick: handleSure
92
+ }, "\u786E\u5B9A")));
93
+ };
94
+
95
+ var CascaderFilter = function CascaderFilter(_ref2) {
96
+ var instance = _ref2.instance,
97
+ itemProps = _ref2.item;
98
+ var _instance$filterValue2 = instance.filterValue,
99
+ filterValue = _instance$filterValue2 === void 0 ? [] : _instance$filterValue2,
100
+ setFilterValue = instance.setFilterValue,
101
+ visible = instance.visible,
102
+ setVisible = instance.setVisible;
103
+ var _itemProps$data = itemProps.data,
104
+ filters = _itemProps$data === void 0 ? [] : _itemProps$data;
105
+
106
+ var _useState = (0, _react.useState)(filters),
107
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
108
+ options = _useState2[0],
109
+ setOptions = _useState2[1];
110
+
111
+ var _useState3 = (0, _react.useState)([]),
112
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
113
+ checkedValues = _useState4[0],
114
+ setCheckedValues = _useState4[1];
115
+
116
+ var checkedKeys = (0, _react.useMemo)(function () {
117
+ return checkedValues.map(function (v) {
118
+ return v.value;
119
+ });
120
+ }, [checkedValues]);
121
+
122
+ var onChange = function onChange(item, selectedOptions) {
123
+ console.log('item', item, selectedOptions);
124
+ var nValue = [];
125
+
126
+ if (selectedOptions.length === 1) {
127
+ nValue = selectedOptions[0][1] ? [selectedOptions[0][1]] : selectedOptions[0][0].children;
128
+ }
129
+
130
+ if (selectedOptions.length > 1) {
131
+ var arr = selectedOptions.map(function (v) {
132
+ return v[1] ? v[1] : v[0].children;
133
+ });
134
+ nValue = arr.flat(2);
135
+ }
136
+
137
+ console.log('nValue', nValue);
138
+ setCheckedValues(nValue); // setFilterValue(nValue);
139
+ // if (!item.length) {
140
+ // setCheckedValues(itemProps.multiple ? [] : '');
141
+ // setFilterValue(undefined);
142
+ // return;
143
+ // }
144
+ // if (itemProps.multiple) {
145
+ // const arr = [];
146
+ // selectedOptions.map((vals) => {
147
+ // return vals.length > 1
148
+ // ? arr.push(vals.map((v) => v.label).join('/'))
149
+ // : vals[0].children.map((v) => arr.push(`${vals[0].label}/${v.label}`));
150
+ // });
151
+ // const showLabel = arr.length < 3 ? arr.join('、') : `${arr[0]}、+${arr.length}`;
152
+ // setCheckedValues(item);
153
+ // } else {
154
+ // setFilterValue(item);
155
+ // setCheckedValues(item);
156
+ // }
157
+ };
158
+
159
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, {
160
+ multiple: true,
161
+ options: options // value={checkedValues}
162
+ ,
163
+ onChange: onChange,
164
+ open: visible,
165
+ getPopupContainer: function getPopupContainer(triggerNode) {
166
+ return triggerNode;
167
+ },
168
+ dropdownRender: function dropdownRender(dom) {
169
+ return /*#__PURE__*/_react.default.createElement(DropdownRender, {
170
+ dom: dom,
171
+ instance: instance,
172
+ item: itemProps,
173
+ checkedValues: checkedValues,
174
+ setCheckedValues: setCheckedValues,
175
+ setOptions: setOptions
176
+ });
177
+ } // onDropdownVisibleChange={(v) => setVisible(v)}
178
+
179
+ }, /*#__PURE__*/_react.default.createElement("div", null)));
180
+ };
181
+
182
+ var _default = CascaderFilter;
183
+ exports.default = _default;
@@ -0,0 +1,197 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _linkmoreDesign = require("linkmore-design");
23
+
24
+ var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
25
+
26
+ var _EmptyFilter = _interopRequireDefault(require("./EmptyFilter"));
27
+
28
+ var _classnames = _interopRequireDefault(require("classnames"));
29
+
30
+ var _utils = require("../utils");
31
+
32
+ var _hooks = require("../hooks");
33
+
34
+ var _excluded = ["item"];
35
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;
36
+
37
+ var CheckboxFilter = function CheckboxFilter(_ref) {
38
+ var instance = _ref.instance,
39
+ itemProps = _ref.item;
40
+ var _instance$filterValue = instance.filterValue,
41
+ filterValue = _instance$filterValue === void 0 ? [] : _instance$filterValue,
42
+ setFilterValue = instance.setFilterValue,
43
+ visible = instance.visible,
44
+ setVisible = instance.setVisible;
45
+ var _itemProps$data = itemProps.data,
46
+ filters = _itemProps$data === void 0 ? [] : _itemProps$data;
47
+ var inputRef = (0, _react.useRef)(); // 选中的数据项: [{}, {}, ...];
48
+
49
+ var _useState = (0, _react.useState)(filterValue),
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ checkedValues = _useState2[0],
52
+ setCheckedValues = _useState2[1]; // 选中的数据的键
53
+
54
+
55
+ var checkedKeys = (0, _react.useMemo)(function () {
56
+ return checkedValues.map(function (v) {
57
+ return v.value;
58
+ });
59
+ }, [checkedValues]); // 搜索后的筛选项
60
+
61
+ var _useState3 = (0, _react.useState)(filters),
62
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
63
+ options = _useState4[0],
64
+ setOptions = _useState4[1];
65
+
66
+ var delayedFn = (0, _hooks.useDelayedFn)(); // 是否存在搜索, 当数据大于8时存在搜索
67
+
68
+ var isSearch = (0, _react.useMemo)(function () {
69
+ return filters.length > 8;
70
+ }, [filters.length]); // 是否全选: 选中的数据大于等于筛选后的数据 && 筛选后的数据全部存在于选中的数据中
71
+
72
+ var checkAll = (0, _react.useMemo)(function () {
73
+ var isAll = checkedValues.length >= options.length;
74
+ return isAll && options.every(function (_ref2) {
75
+ var value = _ref2.value;
76
+ return checkedValues.some(function (v) {
77
+ return v.value === value;
78
+ });
79
+ });
80
+ }, [checkedValues, options]); // 是否半选: 存在选中的数据 && 未全选
81
+
82
+ var indeterminate = (0, _react.useMemo)(function () {
83
+ return checkedValues.length && !checkAll;
84
+ }, [checkedValues.length, checkAll]); // 搜索
85
+
86
+ var handleFilter = function handleFilter() {
87
+ var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
88
+ var serachValues = filters.filter(function (v) {
89
+ return v.label.indexOf(val) > -1;
90
+ });
91
+ setOptions(serachValues);
92
+ }; // 单选事件
93
+
94
+
95
+ var onChange = function onChange(e, item) {
96
+ e.preventDefault();
97
+ var nValue = checkedValues.some(function (_ref3) {
98
+ var value = _ref3.value;
99
+ return value === item.value;
100
+ }) ? checkedValues.filter(function (_ref4) {
101
+ var value = _ref4.value;
102
+ return value !== item.value;
103
+ }) : (0, _utils.uniqueFunc)([].concat((0, _toConsumableArray2.default)(checkedValues), [item]), 'value');
104
+ setCheckedValues(nValue);
105
+ }; // 全选事件
106
+
107
+
108
+ var onCheckAllChange = function onCheckAllChange() {
109
+ var nValue = checkAll ? checkedValues.filter(function (_ref5) {
110
+ var value = _ref5.value;
111
+ return !options.some(function (v) {
112
+ return v.value === value;
113
+ });
114
+ }) : (0, _utils.uniqueFunc)([].concat((0, _toConsumableArray2.default)(checkedValues), (0, _toConsumableArray2.default)(options)), 'value');
115
+ setCheckedValues(nValue);
116
+ }; // 取消 不执行查询操作 关闭下拉框
117
+
118
+
119
+ var handleCancel = function handleCancel() {
120
+ // 手动触发内容改变(不会触发onChange事件)
121
+ setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
122
+ }; // 确定 执行查询操作
123
+
124
+
125
+ var handleSure = function handleSure() {
126
+ setFilterValue(checkedValues);
127
+ }; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
128
+
129
+
130
+ useIsomorphicLayoutEffect(function () {
131
+ if (visible) {
132
+ delayedFn(function () {
133
+ var _inputRef$current;
134
+
135
+ return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
136
+ cursor: 'all'
137
+ });
138
+ }); // 若开启了 Dropdown => destroyPopupOnHide=true 无需重置操作 反之需开启
139
+ // setCheckedValues(filterValue);
140
+ // inputRef.current?.setValue?.('');
141
+ // handleFilter('');
142
+ }
143
+ }, [visible]);
144
+ return /*#__PURE__*/_react.default.createElement("div", {
145
+ className: "filter_dropdown"
146
+ }, isSearch && /*#__PURE__*/_react.default.createElement("div", {
147
+ className: "filter_header"
148
+ }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
149
+ ref: inputRef,
150
+ onSearch: handleFilter,
151
+ onChange: handleFilter
152
+ }), /*#__PURE__*/_react.default.createElement("div", {
153
+ className: "filter_header_operate"
154
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
155
+ indeterminate: indeterminate,
156
+ onChange: onCheckAllChange,
157
+ checked: checkAll,
158
+ className: "filter_tip"
159
+ }, "\u5168\u90E8"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
160
+ className: "filter_tip"
161
+ }, "\u5DF2\u9009: ", checkedValues.length)))), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox.Group, {
162
+ value: checkedKeys,
163
+ className: "filter_body"
164
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
165
+ options: options,
166
+ className: "filter_list"
167
+ }, function (_ref6) {
168
+ var item = _ref6.item,
169
+ resetProps = (0, _objectWithoutProperties2.default)(_ref6, _excluded);
170
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
171
+ className: (0, _classnames.default)('filter_item', {
172
+ checked: checkedValues.some(function (_ref7) {
173
+ var value = _ref7.value;
174
+ return value === item.value;
175
+ })
176
+ }),
177
+ onClick: function onClick(e) {
178
+ return onChange(e, item);
179
+ }
180
+ }), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
181
+ value: item.value,
182
+ className: "filter_item-content"
183
+ }, item.label));
184
+ }), !options.length && /*#__PURE__*/_react.default.createElement(_EmptyFilter.default, null)), /*#__PURE__*/_react.default.createElement("div", {
185
+ className: "filter_footer"
186
+ }, /*#__PURE__*/_react.default.createElement("div", {
187
+ className: "footer_clear",
188
+ onClick: handleCancel
189
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
190
+ type: "primary",
191
+ size: "small",
192
+ onClick: handleSure
193
+ }, "\u786E\u5B9A")));
194
+ };
195
+
196
+ var _default = CheckboxFilter;
197
+ exports.default = _default;