linkmore-design 1.0.24 → 1.0.27

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 (139) hide show
  1. package/dist/index.umd.js +4874 -1210
  2. package/dist/index.umd.min.js +7 -7
  3. package/es/Button/index.js +1 -1
  4. package/es/Button/style/style.css +6 -0
  5. package/es/ButtonTags/style/style.css +3 -0
  6. package/es/Card/style/index.css +3 -0
  7. package/es/Checkbox/style/style.css +9 -0
  8. package/es/CkFilter/baseFilter/NestedFilter.js +137 -0
  9. package/es/CkFilter/baseFilter/filterMenu.js +15 -9
  10. package/es/CkFilter/baseFilter/index.js +5 -2
  11. package/es/CkFilter/baseFilter/moreFilters.js +20 -2
  12. package/es/CkFilter/complexFilter/drawer.js +35 -20
  13. package/es/CkFilter/complexFilter/index.js +1 -1
  14. package/es/CkFilter/components/Controls.js +8 -0
  15. package/es/CkFilter/components/DragBox/DndContainer.js +49 -0
  16. package/es/CkFilter/components/DragBox/index.js +63 -0
  17. package/es/CkFilter/components/DragBox/sortableBox.js +24 -0
  18. package/es/CkFilter/components/DragBox/sortableItem.js +111 -0
  19. package/es/CkFilter/components/Nested.js +90 -0
  20. package/es/CkFilter/components/filterTypes.js +59 -94
  21. package/es/CkFilter/components/modal.js +105 -38
  22. package/es/CkFilter/context.js +16 -3
  23. package/es/CkFilter/customFilter/drawer.js +61 -15
  24. package/es/CkFilter/customFilter/index.js +4 -1
  25. package/es/CkFilter/customFilter/radioGroup.js +4 -3
  26. package/es/CkFilter/icon_placeholder.png +0 -0
  27. package/es/CkFilter/style/style.css +45 -5
  28. package/es/CustomerService/style/style.css +3 -0
  29. package/es/Drawer/style/index.css +3 -0
  30. package/es/Dropdown/index.d.ts +2 -0
  31. package/es/Dropdown/index.js +9 -12
  32. package/es/Dropdown/style/index.css +15 -2
  33. package/es/EditTable/style/style.css +3 -0
  34. package/es/Empty/index.d.ts +7 -0
  35. package/es/Empty/index.js +3 -0
  36. package/es/Empty/style/index.css +502 -0
  37. package/es/Empty/style/index.d.ts +1 -0
  38. package/es/Empty/style/index.js +1 -0
  39. package/es/Filter/style/style.css +3 -0
  40. package/es/Input/index.js +6 -5
  41. package/es/Input/style/style.css +20 -0
  42. package/es/InputNumber/style/index.css +3 -0
  43. package/es/LeftTable/style/style.css +3 -0
  44. package/es/LmTable/ImgList/imgCell.js +3 -1
  45. package/es/LmTable/ImgList/imgTable.js +4 -4
  46. package/es/LmTable/style/style.css +65 -61
  47. package/es/Menu/index.d.ts +7 -0
  48. package/es/Menu/index.js +3 -0
  49. package/es/Menu/style/index.css +502 -0
  50. package/es/Menu/style/index.d.ts +1 -0
  51. package/es/Menu/style/index.js +1 -0
  52. package/es/Modal/index.js +1 -1
  53. package/es/Modal/style/index.css +3 -0
  54. package/es/Notification/style/index.css +3 -0
  55. package/es/Pagination/style/index.css +3 -0
  56. package/es/PopTable/style/style.css +3 -0
  57. package/es/ProTable/style/style.css +3 -0
  58. package/es/Radio/index.js +4 -2
  59. package/es/Radio/style/style.css +17 -3
  60. package/es/Select/style/index.css +3 -0
  61. package/es/Space/style/index.css +3 -0
  62. package/es/TabBar/index.js +1 -1
  63. package/es/Tree/index.d.ts +7 -0
  64. package/es/Tree/index.js +3 -0
  65. package/es/Tree/style/index.css +502 -0
  66. package/es/Tree/style/index.d.ts +1 -0
  67. package/es/Tree/style/index.js +1 -0
  68. package/es/index.js +9 -299
  69. package/es/styles/main.css +3 -0
  70. package/es/styles/resetAntd.css +3 -0
  71. package/lib/Button/index.js +1 -1
  72. package/lib/Button/style/style.css +6 -0
  73. package/lib/ButtonTags/style/style.css +3 -0
  74. package/lib/Card/style/index.css +3 -0
  75. package/lib/Checkbox/style/style.css +9 -0
  76. package/lib/CkFilter/baseFilter/NestedFilter.js +137 -0
  77. package/lib/CkFilter/baseFilter/filterMenu.js +15 -9
  78. package/lib/CkFilter/baseFilter/index.js +5 -2
  79. package/lib/CkFilter/baseFilter/moreFilters.js +20 -2
  80. package/lib/CkFilter/complexFilter/drawer.js +35 -20
  81. package/lib/CkFilter/complexFilter/index.js +1 -1
  82. package/lib/CkFilter/components/Controls.js +8 -0
  83. package/lib/CkFilter/components/DragBox/DndContainer.js +49 -0
  84. package/lib/CkFilter/components/DragBox/index.js +63 -0
  85. package/lib/CkFilter/components/DragBox/sortableBox.js +24 -0
  86. package/lib/CkFilter/components/DragBox/sortableItem.js +111 -0
  87. package/lib/CkFilter/components/Nested.js +90 -0
  88. package/lib/CkFilter/components/filterTypes.js +59 -94
  89. package/lib/CkFilter/components/modal.js +105 -38
  90. package/lib/CkFilter/context.js +16 -3
  91. package/lib/CkFilter/customFilter/drawer.js +61 -15
  92. package/lib/CkFilter/customFilter/index.js +4 -1
  93. package/lib/CkFilter/customFilter/radioGroup.js +4 -3
  94. package/lib/CkFilter/icon_placeholder.png +0 -0
  95. package/lib/CkFilter/style/style.css +45 -5
  96. package/lib/CustomerService/style/style.css +3 -0
  97. package/lib/Drawer/style/index.css +3 -0
  98. package/lib/Dropdown/index.d.ts +2 -0
  99. package/lib/Dropdown/index.js +9 -12
  100. package/lib/Dropdown/style/index.css +15 -2
  101. package/lib/EditTable/style/style.css +3 -0
  102. package/lib/Empty/index.d.ts +7 -0
  103. package/lib/Empty/index.js +15 -0
  104. package/lib/Empty/style/index.css +502 -0
  105. package/lib/Empty/style/index.d.ts +1 -0
  106. package/lib/Empty/style/index.js +3 -0
  107. package/lib/Filter/style/style.css +3 -0
  108. package/lib/Input/index.js +6 -5
  109. package/lib/Input/style/style.css +20 -0
  110. package/lib/InputNumber/style/index.css +3 -0
  111. package/lib/LeftTable/style/style.css +3 -0
  112. package/lib/LmTable/ImgList/imgCell.js +3 -1
  113. package/lib/LmTable/ImgList/imgTable.js +4 -4
  114. package/lib/LmTable/style/style.css +65 -61
  115. package/lib/Menu/index.d.ts +7 -0
  116. package/lib/Menu/index.js +15 -0
  117. package/lib/Menu/style/index.css +502 -0
  118. package/lib/Menu/style/index.d.ts +1 -0
  119. package/lib/Menu/style/index.js +3 -0
  120. package/lib/Modal/index.js +3 -3
  121. package/lib/Modal/style/index.css +3 -0
  122. package/lib/Notification/style/index.css +3 -0
  123. package/lib/Pagination/style/index.css +3 -0
  124. package/lib/PopTable/style/style.css +3 -0
  125. package/lib/ProTable/style/style.css +3 -0
  126. package/lib/Radio/index.js +4 -2
  127. package/lib/Radio/style/style.css +17 -3
  128. package/lib/Select/style/index.css +3 -0
  129. package/lib/Space/style/index.css +3 -0
  130. package/lib/TabBar/index.js +5 -5
  131. package/lib/Tree/index.d.ts +7 -0
  132. package/lib/Tree/index.js +15 -0
  133. package/lib/Tree/style/index.css +502 -0
  134. package/lib/Tree/style/index.d.ts +1 -0
  135. package/lib/Tree/style/index.js +3 -0
  136. package/lib/index.js +9 -299
  137. package/lib/styles/main.css +3 -0
  138. package/lib/styles/resetAntd.css +3 -0
  139. package/package.json +4 -1
@@ -52,20 +52,25 @@ var FilterMenu = function FilterMenu(props) {
52
52
 
53
53
  var filterValue = (0, _react.useMemo)(function () {
54
54
  return state.filterValues[field];
55
- }, [state.filterValues]); // 判断是否正在过滤
55
+ }, [state.filterValues]); // 判断是否正在过滤,普通过滤 && 嵌套过滤
56
56
 
57
57
  var isFiltering = (0, _react.useMemo)(function () {
58
58
  return (0, _utils.getIsHas)(filterValue) || (0, _utils.getIsHas)(state.nestedFilterValues[field]);
59
- }, [filterValue]); // 设置过滤的内容 filterType: 'single' 存在时 单个勾选时触发, 默认按钮触发
59
+ }, [filterValue, state.nestedFilterValues]); // 设置过滤的内容 filterType: 'single' 存在时 单个勾选时触发, 默认按钮触发
60
60
 
61
61
  var setFilterValue = (0, _react.useCallback)(function (val, filterType) {
62
- var _state$instance$onCha, _state$instance2;
62
+ var _state$instance$onCha, _state$instance;
63
63
 
64
64
  // 嵌套结构时触发
65
65
  if (filterType === 'children') {
66
- var _state$instance$onNes, _state$instance;
67
-
68
- (_state$instance$onNes = (_state$instance = state.instance).onNested) === null || _state$instance$onNes === void 0 ? void 0 : _state$instance$onNes.call(_state$instance, val);
66
+ dispatch({
67
+ type: 'changeNestedDrawer',
68
+ nestedDrawer: {
69
+ visible: true,
70
+ data: val,
71
+ field: field
72
+ }
73
+ });
69
74
  setVisible(false);
70
75
  return;
71
76
  }
@@ -90,7 +95,7 @@ var FilterMenu = function FilterMenu(props) {
90
95
  filterValues: nValue
91
96
  }); // 触发外部查询, 单击时不关闭菜单
92
97
 
93
- (_state$instance$onCha = (_state$instance2 = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance2, nValue, state.customFilterValues);
98
+ (_state$instance$onCha = (_state$instance = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance, nValue, state.customFilterValues);
94
99
  !filterType && setVisible(false);
95
100
  }, [dispatch, field, state.filterValues, state.instance]); // 展示的内容
96
101
 
@@ -140,7 +145,7 @@ var FilterMenu = function FilterMenu(props) {
140
145
  return filterValue;
141
146
  }, [comProps, data, isFiltering, setFilterValue, type, filterValue, state.nestedFilterValues, field]); // 下拉组件渲染
142
147
 
143
- var FilterControl = (0, _react.useCallback)(function () {
148
+ var FilterControl = function FilterControl() {
144
149
  var obj = {
145
150
  filters: data,
146
151
  getFilterValue: filterValue,
@@ -151,7 +156,8 @@ var FilterMenu = function FilterMenu(props) {
151
156
  type: type
152
157
  }, obj));
153
158
  });
154
- }, [data, setFilterValue, type, filterValue]); // 清除筛选项
159
+ }; // 清除筛选项
160
+
155
161
 
156
162
  var handleClear = function handleClear(e) {
157
163
  if (isFiltering) {
@@ -25,6 +25,8 @@ var _filterMenu = _interopRequireDefault(require("./filterMenu"));
25
25
 
26
26
  var _moreFilters = _interopRequireDefault(require("./moreFilters"));
27
27
 
28
+ var _NestedFilter = _interopRequireDefault(require("./NestedFilter"));
29
+
28
30
  /* 二级筛选:基础过滤
29
31
  * data
30
32
  *
@@ -43,6 +45,7 @@ var Filter = function Filter() {
43
45
  searchKey = _useStore$state$insta.searchKey,
44
46
  search = _useStore$state$insta.search,
45
47
  filter = _useStore$state$insta.filter,
48
+ size = _useStore$state$insta.size,
46
49
  isMore = _useStore$state.isMore,
47
50
  filterValues = _useStore$state.filterValues,
48
51
  visibleFields = _useStore$state.visibleFields,
@@ -71,7 +74,7 @@ var Filter = function Filter() {
71
74
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, {
72
75
  ref: inputRef,
73
76
  allowClear: true,
74
- size: "small",
77
+ size: size,
75
78
  placeholder: placeholder,
76
79
  onSearch: handleFilter
77
80
  })), filter && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
@@ -82,7 +85,7 @@ var Filter = function Filter() {
82
85
  return /*#__PURE__*/_react.default.createElement(_filterMenu.default, (0, _extends2.default)({
83
86
  key: v.field
84
87
  }, v));
85
- }), isMore && /*#__PURE__*/_react.default.createElement(_moreFilters.default, null)));
88
+ }), isMore && /*#__PURE__*/_react.default.createElement(_moreFilters.default, null)), /*#__PURE__*/_react.default.createElement(_NestedFilter.default, null));
86
89
  };
87
90
 
88
91
  var _default = Filter;
@@ -139,6 +139,22 @@ var MoreFilters = function MoreFilters() {
139
139
  return v !== item.field;
140
140
  })))
141
141
  });
142
+ }
143
+
144
+ if (type === 'move') {
145
+ var cloneArr = (0, _toConsumableArray2.default)(state.orderFields);
146
+ var oldIndex = cloneArr.findIndex(function (v) {
147
+ return v === item.active;
148
+ });
149
+ var newIndex = cloneArr.findIndex(function (v) {
150
+ return v === item.over;
151
+ }); // 在新位置增加数据
152
+
153
+ cloneArr.splice(newIndex, 0, cloneArr.splice(oldIndex, 1)[0]);
154
+ dispatch({
155
+ type: 'changeOrderFields',
156
+ orderFields: cloneArr
157
+ });
142
158
  } // 全选操作
143
159
 
144
160
 
@@ -171,7 +187,9 @@ var MoreFilters = function MoreFilters() {
171
187
  } // 人性化设计,位置不变无需收起
172
188
 
173
189
 
174
- type !== 'top' && setVisible(false); // 收起下拉选项框
190
+ if (!['top', 'move'].includes(type)) {
191
+ setVisible(false); // 收起下拉选项框
192
+ }
175
193
  }, [dispatch, state]);
176
194
  var FilterControl = (0, _react.useCallback)(function () {
177
195
  var _state$instance$data;
@@ -208,7 +226,7 @@ var MoreFilters = function MoreFilters() {
208
226
  className: "addonBefore"
209
227
  }), /*#__PURE__*/_react.default.createElement("span", {
210
228
  className: "checked"
211
- }, "\u66F4\u591A\u67E5\u8BE2"), /*#__PURE__*/_react.default.createElement(_IconFont.default, {
229
+ }, "\u66F4\u591A\u7B5B\u9009"), /*#__PURE__*/_react.default.createElement(_IconFont.default, {
212
230
  type: "lmweb-down",
213
231
  className: "addonAfter"
214
232
  })))));
@@ -50,17 +50,20 @@ var ListItemChecked = function ListItemChecked(props) {
50
50
  fullData = _state$instance$fullD === void 0 ? [] : _state$instance$fullD,
51
51
  data = state.complexDrawer.data;
52
52
  var field = props.field,
53
- value = props.value; // 单项匹配数据, 根据字段名查找
53
+ _props$value = props.value,
54
+ value = _props$value === void 0 ? {} : _props$value; // 单项匹配数据, 根据字段名查找, 嵌套筛选时查询父级
54
55
 
55
56
  var getItem = (0, _react.useMemo)(function () {
56
57
  return fullData.find(function (v) {
57
- return v.field === field;
58
+ return [field, value.originField].includes(v.field);
58
59
  });
59
- }, [field, fullData]); // 级联选择器的选中值
60
+ }, [props, fullData]); // 选中值的处理
60
61
 
61
- var cascaderValue = (0, _react.useMemo)(function () {
62
+ var resetValue = (0, _react.useMemo)(function () {
62
63
  if (getItem.type === 'cascader') {
63
- return value.value.map(function (v) {
64
+ var _value$value;
65
+
66
+ return (_value$value = value.value) === null || _value$value === void 0 ? void 0 : _value$value.map(function (v) {
64
67
  return v[v.length - 1];
65
68
  });
66
69
  }
@@ -72,7 +75,7 @@ var ListItemChecked = function ListItemChecked(props) {
72
75
  arr.forEach(function (item) {
73
76
  var _item$children;
74
77
 
75
- if (cascaderValue.includes(item.value)) {
78
+ if (resetValue.includes(item.value)) {
76
79
  preArr.push(item);
77
80
  }
78
81
 
@@ -87,6 +90,10 @@ var ListItemChecked = function ListItemChecked(props) {
87
90
  var checkedValue = value.value;
88
91
 
89
92
  if (Array.isArray(checkedValue)) {
93
+ if (getItem.type === 'nested') {
94
+ return checkedValue;
95
+ }
96
+
90
97
  if (getItem.type === 'cascader') {
91
98
  var arr = [];
92
99
  deepChildren(getItem.data, arr);
@@ -99,9 +106,9 @@ var ListItemChecked = function ListItemChecked(props) {
99
106
  }
100
107
 
101
108
  if (getItem.type === 'input') {
102
- return cascaderValue ? [{
103
- value: cascaderValue,
104
- label: cascaderValue
109
+ return resetValue ? [{
110
+ value: resetValue,
111
+ label: resetValue
105
112
  }] : [];
106
113
  }
107
114
 
@@ -157,7 +164,12 @@ var ListItemChecked = function ListItemChecked(props) {
157
164
 
158
165
 
159
166
  var tagElem = function tagElem() {
160
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.map(function (v) {
167
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_tag.default, {
168
+ className: "site-tag-plus",
169
+ onClick: handleAdd
170
+ }, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
171
+ type: "lmweb-plus-circle"
172
+ }), " \u65B0\u589E"), checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.map(function (v) {
161
173
  return /*#__PURE__*/_react.default.createElement(_tag.default, {
162
174
  key: v.value,
163
175
  closable: true,
@@ -165,12 +177,7 @@ var ListItemChecked = function ListItemChecked(props) {
165
177
  return onTagClose(v.value);
166
178
  }
167
179
  }, v.label);
168
- }), /*#__PURE__*/_react.default.createElement(_tag.default, {
169
- className: "site-tag-plus",
170
- onClick: handleAdd
171
- }, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
172
- type: "lmweb-plus-circle"
173
- }), " \u65B0\u589E"));
180
+ }));
174
181
  }; // 模式
175
182
 
176
183
 
@@ -218,8 +225,7 @@ var ListGroup = function ListGroup() {
218
225
  // 单项匹配数据, 根据字段名查找
219
226
  var getItem = fullData.find(function (v) {
220
227
  return v.field === field;
221
- });
222
- console.log('getItem', getItem); // 编辑
228
+ }); // 编辑
223
229
 
224
230
  dispatch({
225
231
  type: 'changeModal',
@@ -322,10 +328,19 @@ var Index = function Index() {
322
328
  }
323
329
  });
324
330
  }
325
- }, [dispatch, visible]); // 弹窗配置项
331
+ }, [dispatch, visible]);
332
+
333
+ var Tit = function Tit() {
334
+ return /*#__PURE__*/_react.default.createElement("div", {
335
+ onClick: function onClick() {
336
+ console.log('title', state);
337
+ }
338
+ }, "\u9AD8\u7EA7\u67E5\u8BE2");
339
+ }; // 弹窗配置项
340
+
326
341
 
327
342
  var config = {
328
- title: '高级查询',
343
+ title: /*#__PURE__*/_react.default.createElement(Tit, null),
329
344
  visible: visible,
330
345
  onClose: onClose,
331
346
  width: 440,
@@ -62,7 +62,7 @@ var Custom = function Custom() {
62
62
  className: "addonBefore"
63
63
  }), /*#__PURE__*/_react.default.createElement("span", {
64
64
  className: "checked"
65
- }, "\u9AD8\u7EA7\u67E5\u8BE2"))), /*#__PURE__*/_react.default.createElement(_drawer.default, null));
65
+ }, "\u9AD8\u7EA7\u7B5B\u9009"))), /*#__PURE__*/_react.default.createElement(_drawer.default, null));
66
66
  };
67
67
 
68
68
  var _default = Custom;
@@ -21,6 +21,8 @@ var _CheckboxTags = _interopRequireDefault(require("./CheckboxTags"));
21
21
 
22
22
  var _CascaderFilter = _interopRequireDefault(require("./CascaderFilter"));
23
23
 
24
+ var _Nested = _interopRequireDefault(require("./Nested"));
25
+
24
26
  var _excluded = ["type", "options"];
25
27
 
26
28
  var Controls = function Controls(props) {
@@ -31,11 +33,17 @@ var Controls = function Controls(props) {
31
33
  'select': /*#__PURE__*/_react.default.createElement(_CheckboxTags.default, (0, _extends2.default)({
32
34
  options: options
33
35
  }, resetProps)),
36
+ 'checkbox': /*#__PURE__*/_react.default.createElement(_CheckboxTags.default, (0, _extends2.default)({
37
+ options: options
38
+ }, resetProps)),
34
39
  'cascader': /*#__PURE__*/_react.default.createElement(_CascaderFilter.default, (0, _extends2.default)({
35
40
  options: options
36
41
  }, resetProps)),
37
42
  'input': /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({
38
43
  placeholder: "\u8BF7\u8F93\u5165"
44
+ }, resetProps)),
45
+ 'nested': /*#__PURE__*/_react.default.createElement(_Nested.default, (0, _extends2.default)({
46
+ options: options
39
47
  }, resetProps))
40
48
  };
41
49
  return obj[type] || null;
@@ -0,0 +1,49 @@
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 _core = require("@dnd-kit/core");
13
+
14
+ var _modifiers = require("@dnd-kit/modifiers");
15
+
16
+ var _sortable = require("@dnd-kit/sortable");
17
+
18
+ // 可拖拽容器
19
+ var DndContainer = function DndContainer(_ref) {
20
+ var children = _ref.children,
21
+ move = _ref.move;
22
+ var sensors = (0, _core.useSensors)((0, _core.useSensor)(_core.PointerSensor), (0, _core.useSensor)(_core.KeyboardSensor, {
23
+ coordinateGetter: _sortable.sortableKeyboardCoordinates
24
+ })); // 拖拽结束
25
+
26
+ var handleDragEnd = function handleDragEnd(event) {
27
+ var active = event.active,
28
+ over = event.over; // 未移入时触发
29
+
30
+ if (!(over === null || over === void 0 ? void 0 : over.id)) {
31
+ return;
32
+ } // 移入时触发更新数据
33
+
34
+
35
+ if (active.id !== over.id) {
36
+ move(active.data.current.field, over.data.current.field);
37
+ }
38
+ };
39
+
40
+ return /*#__PURE__*/_react.default.createElement(_core.DndContext, {
41
+ sensors: sensors,
42
+ collisionDetection: _core.closestCenter,
43
+ onDragEnd: handleDragEnd,
44
+ modifiers: [_modifiers.restrictToParentElement]
45
+ }, children);
46
+ };
47
+
48
+ var _default = DndContainer;
49
+ exports.default = _default;
@@ -0,0 +1,63 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _linkmoreDesign = require("linkmore-design");
17
+
18
+ var _DndContainer = _interopRequireDefault(require("./DndContainer"));
19
+
20
+ var _sortableBox = _interopRequireDefault(require("./sortableBox"));
21
+
22
+ var _sortableItem = _interopRequireDefault(require("./sortableItem"));
23
+
24
+ var _excluded = ["options", "checkedValues", "setFilterValue"];
25
+
26
+ var Drag = function Drag(_ref) {
27
+ var _ref$options = _ref.options,
28
+ options = _ref$options === void 0 ? [] : _ref$options,
29
+ _ref$checkedValues = _ref.checkedValues,
30
+ checkedValues = _ref$checkedValues === void 0 ? [] : _ref$checkedValues,
31
+ setFilterValue = _ref.setFilterValue,
32
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
+
34
+ var move = function move(active, over) {
35
+ setFilterValue({
36
+ active: active,
37
+ over: over
38
+ }, 'move');
39
+ };
40
+
41
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_DndContainer.default, {
42
+ move: move
43
+ }, /*#__PURE__*/_react.default.createElement(_sortableBox.default, {
44
+ items: options.map(function (v) {
45
+ return "drag".concat(v.field);
46
+ })
47
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox.Group, {
48
+ value: checkedValues,
49
+ className: "filter_body"
50
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
51
+ options: options,
52
+ className: "filter_list"
53
+ }, function (virProps) {
54
+ return /*#__PURE__*/_react.default.createElement(_sortableItem.default, (0, _extends2.default)({}, virProps, {
55
+ options: options,
56
+ checkedValues: checkedValues,
57
+ setFilterValue: setFilterValue
58
+ }, props));
59
+ })))));
60
+ };
61
+
62
+ var _default = Drag;
63
+ exports.default = _default;
@@ -0,0 +1,24 @@
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 _sortable = require("@dnd-kit/sortable");
13
+
14
+ var SortableBox = function SortableBox(_ref) {
15
+ var items = _ref.items,
16
+ children = _ref.children;
17
+ return /*#__PURE__*/_react.default.createElement(_sortable.SortableContext, {
18
+ items: items,
19
+ strategy: _sortable.verticalListSortingStrategy
20
+ }, children);
21
+ };
22
+
23
+ var _default = SortableBox;
24
+ exports.default = _default;
@@ -0,0 +1,111 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
17
+
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _icons = require("@ant-design/icons");
23
+
24
+ var _linkmoreDesign = require("linkmore-design");
25
+
26
+ var _classnames = _interopRequireDefault(require("classnames"));
27
+
28
+ var _sortable = require("@dnd-kit/sortable");
29
+
30
+ var _utilities = require("@dnd-kit/utilities");
31
+
32
+ var _excluded = ["item", "filters", "options", "checkedValues", "setFilterValue", "setCheckedValues"];
33
+
34
+ var SortableItem = function SortableItem(props) {
35
+ var virItem = props.item,
36
+ filters = props.filters,
37
+ options = props.options,
38
+ checkedValues = props.checkedValues,
39
+ setFilterValue = props.setFilterValue,
40
+ setCheckedValues = props.setCheckedValues,
41
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
42
+
43
+ var _useSortable = (0, _sortable.useSortable)({
44
+ id: "drag".concat(virItem.field),
45
+ data: (0, _objectSpread2.default)({}, virItem)
46
+ }),
47
+ attributes = _useSortable.attributes,
48
+ listeners = _useSortable.listeners,
49
+ setNodeRef = _useSortable.setNodeRef,
50
+ transform = _useSortable.transform,
51
+ transition = _useSortable.transition;
52
+
53
+ var style = {
54
+ transform: _utilities.CSS.Transform.toString(transform),
55
+ transition: transition
56
+ }; // 是否可置顶, 第一项无置顶操作, 所以这里的index > 0
57
+
58
+ var isTop = (0, _react.useCallback)(function (item) {
59
+ return checkedValues.includes(item.field) && filters.findIndex(function (v) {
60
+ return v.field === item.field;
61
+ }) > 0;
62
+ }, [checkedValues, filters]); // 置顶操作, 防止频繁操作, 建议加上节流
63
+
64
+ var handleTop = function handleTop(e, item) {
65
+ e.stopPropagation();
66
+ setFilterValue(item, 'top');
67
+ }; // 单选事件
68
+
69
+
70
+ var onChange = function onChange(e, item) {
71
+ e.preventDefault();
72
+ e.stopPropagation(); // setFilterValue(item)
73
+
74
+ var nValue = checkedValues.includes(item.field) ? checkedValues.filter(function (v) {
75
+ return v !== item.field;
76
+ }) : [].concat((0, _toConsumableArray2.default)(checkedValues), [item.field]);
77
+ setCheckedValues(nValue);
78
+ };
79
+
80
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
81
+ ref: setNodeRef,
82
+ style: style
83
+ }, attributes), /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
84
+ className: (0, _classnames.default)('filter_item', {
85
+ checked: checkedValues.includes(virItem.field)
86
+ }),
87
+ onClick: function onClick(e) {
88
+ return onChange(e, virItem);
89
+ }
90
+ }), /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
91
+ className: "pointer_move"
92
+ }, listeners), /*#__PURE__*/_react.default.createElement(_icons.HolderOutlined, {
93
+ style: {
94
+ color: 'var(--tip-text-color)'
95
+ }
96
+ })), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
97
+ value: virItem.field,
98
+ className: "filter_item-content"
99
+ }, virItem.title), /*#__PURE__*/_react.default.createElement("div", {
100
+ className: "filter_item_operate"
101
+ }, isTop(virItem) && /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
102
+ type: "lmweb-vertical-align-top",
103
+ className: "hover_show icon_top",
104
+ onClick: function onClick(e) {
105
+ return handleTop(e, virItem);
106
+ }
107
+ })))));
108
+ };
109
+
110
+ var _default = SortableItem;
111
+ exports.default = _default;
@@ -0,0 +1,90 @@
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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ var _linkmoreDesign = require("linkmore-design");
23
+
24
+ var _excluded = ["value", "onChange", "options"];
25
+
26
+ var Nested = function Nested(_ref) {
27
+ var _aliveActive$body;
28
+
29
+ var value = _ref.value,
30
+ onChange = _ref.onChange,
31
+ options = _ref.options,
32
+ resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
+
34
+ var _useState = (0, _react.useState)({}),
35
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
36
+ aliveActive = _useState2[0],
37
+ setAliveActive = _useState2[1];
38
+
39
+ var handleClick = function handleClick(item) {
40
+ setAliveActive(item);
41
+
42
+ if (!item.children) {
43
+ onChange({
44
+ subValue: item,
45
+ value: [(0, _objectSpread2.default)({}, item)]
46
+ });
47
+ }
48
+ };
49
+ /*
50
+ * @Array val 选中的数据数组: [{}, ...]
51
+ * @String subValue 选中的子级
52
+ *
53
+ */
54
+
55
+
56
+ var handleOnChange = function handleOnChange(val, type) {
57
+ onChange({
58
+ subValue: aliveActive,
59
+ value: val,
60
+ type: type
61
+ });
62
+ };
63
+
64
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
65
+ size: 8,
66
+ wrap: true
67
+ }, options === null || options === void 0 ? void 0 : options.map(function (v) {
68
+ return /*#__PURE__*/_react.default.createElement("div", {
69
+ key: v.value,
70
+ className: (0, _classnames.default)('checkbox_tag', {
71
+ active: aliveActive.value === v.value
72
+ }),
73
+ onClick: function onClick() {
74
+ return handleClick(v);
75
+ }
76
+ }, v.label);
77
+ })), /*#__PURE__*/_react.default.createElement("div", {
78
+ style: {
79
+ flex: 1,
80
+ marginTop: 16
81
+ }
82
+ }, (_aliveActive$body = aliveActive.body) === null || _aliveActive$body === void 0 ? void 0 : _aliveActive$body.call(aliveActive, {
83
+ value: aliveActive.value,
84
+ onChange: handleOnChange,
85
+ item: aliveActive
86
+ })));
87
+ };
88
+
89
+ var _default = Nested;
90
+ exports.default = _default;