linkmore-design 1.0.3

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 (239) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +81 -0
  3. package/dist/40b22ad7b4ea2a7e.jpg +0 -0
  4. package/dist/566891e3103ae07a.png +0 -0
  5. package/dist/9f788f660abc173c.png +0 -0
  6. package/dist/f8940d62d6a40f71.png +0 -0
  7. package/dist/index.umd.css +2167 -0
  8. package/dist/index.umd.js +69587 -0
  9. package/dist/index.umd.min.css +1 -0
  10. package/dist/index.umd.min.js +31 -0
  11. package/es/ButtonTags/ButtonTags.js +59 -0
  12. package/es/ButtonTags/index.js +13 -0
  13. package/es/ButtonTags/style/index.js +3 -0
  14. package/es/ButtonTags/style/style.css +221 -0
  15. package/es/CkFilter/baseFilter/filterMenu.js +177 -0
  16. package/es/CkFilter/baseFilter/index.js +91 -0
  17. package/es/CkFilter/baseFilter/moreFilters.js +198 -0
  18. package/es/CkFilter/complexFilter/drawer.js +337 -0
  19. package/es/CkFilter/complexFilter/index.js +69 -0
  20. package/es/CkFilter/components/filterTypes.js +530 -0
  21. package/es/CkFilter/components/modal.js +275 -0
  22. package/es/CkFilter/context.js +152 -0
  23. package/es/CkFilter/customFilter/drawer.js +364 -0
  24. package/es/CkFilter/customFilter/index.js +130 -0
  25. package/es/CkFilter/customFilter/radioGroup.js +65 -0
  26. package/es/CkFilter/filter.js +115 -0
  27. package/es/CkFilter/index.js +13 -0
  28. package/es/CkFilter/style/index.js +3 -0
  29. package/es/CkFilter/style/style.css +586 -0
  30. package/es/CkFilter/utils.js +65 -0
  31. package/es/CustomerService/assets/question01.png +0 -0
  32. package/es/CustomerService/assets/send.png +0 -0
  33. package/es/CustomerService/assets/service.png +0 -0
  34. package/es/CustomerService/assets/shuoming01.png +0 -0
  35. package/es/CustomerService/assets/shuoming02.png +0 -0
  36. package/es/CustomerService/components/question.js +120 -0
  37. package/es/CustomerService/index.js +291 -0
  38. package/es/CustomerService/style/index.js +3 -0
  39. package/es/CustomerService/style/style.css +402 -0
  40. package/es/EditTable/EditTable.js +489 -0
  41. package/es/EditTable/index.js +13 -0
  42. package/es/EditTable/style/index.js +3 -0
  43. package/es/EditTable/style/style.css +165 -0
  44. package/es/EnlargeImg/index.js +109 -0
  45. package/es/EnlargeImg/style/index.js +3 -0
  46. package/es/EnlargeImg/style/style.css +4 -0
  47. package/es/Filter/Popover.js +199 -0
  48. package/es/Filter/baseFilter/Popover.js +214 -0
  49. package/es/Filter/baseFilter/ToggleFilter.js +112 -0
  50. package/es/Filter/baseFilter/index.js +100 -0
  51. package/es/Filter/complex/ComplexFilter.js +149 -0
  52. package/es/Filter/complex/ComplexItem.js +157 -0
  53. package/es/Filter/components/Checkbox.js +94 -0
  54. package/es/Filter/components/Date.js +87 -0
  55. package/es/Filter/components/Input.js +63 -0
  56. package/es/Filter/components/Select.js +89 -0
  57. package/es/Filter/components/Tree.js +64 -0
  58. package/es/Filter/components/header.js +60 -0
  59. package/es/Filter/components/index.js +47 -0
  60. package/es/Filter/context.js +15 -0
  61. package/es/Filter/edit/editFilter.js +277 -0
  62. package/es/Filter/index.js +174 -0
  63. package/es/Filter/popContext.js +15 -0
  64. package/es/Filter/remember.js +137 -0
  65. package/es/Filter/style/index.js +3 -0
  66. package/es/Filter/style/style.css +420 -0
  67. package/es/Icon/index.js +20 -0
  68. package/es/Icon/style/index.js +1 -0
  69. package/es/Icon/style/style.css +0 -0
  70. package/es/IconFont/index.js +15 -0
  71. package/es/IconFont/style/index.js +1 -0
  72. package/es/IconFont/style/style.css +0 -0
  73. package/es/LeftTable/assets/imgTest.jpg +0 -0
  74. package/es/LeftTable/index.js +116 -0
  75. package/es/LeftTable/style/index.js +3 -0
  76. package/es/LeftTable/style/style.css +231 -0
  77. package/es/LoadingPage/index.js +33 -0
  78. package/es/LoadingPage/style/index.js +1 -0
  79. package/es/LoadingPage/style/style.css +0 -0
  80. package/es/Modal/add.js +68 -0
  81. package/es/Modal/confirm.js +88 -0
  82. package/es/Modal/edit.js +44 -0
  83. package/es/Modal/exportModal.js +300 -0
  84. package/es/Modal/index.js +24 -0
  85. package/es/Modal/style/index.js +3 -0
  86. package/es/Modal/style/style.css +119 -0
  87. package/es/PopTable/BseTable.js +113 -0
  88. package/es/PopTable/index.js +151 -0
  89. package/es/PopTable/style/index.js +3 -0
  90. package/es/PopTable/style/style.css +363 -0
  91. package/es/ProTable/ImgList/body.js +111 -0
  92. package/es/ProTable/ImgList/cardCell.js +179 -0
  93. package/es/ProTable/ImgList/context.js +12 -0
  94. package/es/ProTable/ImgList/empty.js +24 -0
  95. package/es/ProTable/ImgList/footer.js +59 -0
  96. package/es/ProTable/ImgList/imgCell.js +181 -0
  97. package/es/ProTable/ImgList/imgTable.js +110 -0
  98. package/es/ProTable/ImgList/index.js +13 -0
  99. package/es/ProTable/Table.js +321 -0
  100. package/es/ProTable/VList.js +594 -0
  101. package/es/ProTable/context.js +12 -0
  102. package/es/ProTable/index.js +16 -0
  103. package/es/ProTable/resetConfig.js +39 -0
  104. package/es/ProTable/style/index.js +3 -0
  105. package/es/ProTable/style/style.css +693 -0
  106. package/es/TableRender/index.js +15 -0
  107. package/es/TableRender/state.js +72 -0
  108. package/es/TableRender/style/index.js +3 -0
  109. package/es/TableRender/style/style.css +0 -0
  110. package/es/UploadOss/index.js +18 -0
  111. package/es/UploadOss/style/index.js +3 -0
  112. package/es/UploadOss/style/style.css +121 -0
  113. package/es/UploadOss/uploadBtn.js +141 -0
  114. package/es/UploadOss/uploadImg.js +282 -0
  115. package/es/VirtualList/index.js +84 -0
  116. package/es/VirtualList/style/index.js +3 -0
  117. package/es/VirtualList/style/style.css +0 -0
  118. package/es/index.js +135 -0
  119. package/es/services/newRequest.js +201 -0
  120. package/es/services/utils.js +72 -0
  121. package/es/styles/icon.css +15 -0
  122. package/es/styles/main.css +149 -0
  123. package/es/styles/resetAntd.css +62 -0
  124. package/es/styles/them.css +0 -0
  125. package/lib/ButtonTags/ButtonTags.js +59 -0
  126. package/lib/ButtonTags/index.js +13 -0
  127. package/lib/ButtonTags/style/index.js +3 -0
  128. package/lib/ButtonTags/style/style.css +221 -0
  129. package/lib/CkFilter/baseFilter/filterMenu.js +177 -0
  130. package/lib/CkFilter/baseFilter/index.js +91 -0
  131. package/lib/CkFilter/baseFilter/moreFilters.js +198 -0
  132. package/lib/CkFilter/complexFilter/drawer.js +337 -0
  133. package/lib/CkFilter/complexFilter/index.js +69 -0
  134. package/lib/CkFilter/components/filterTypes.js +530 -0
  135. package/lib/CkFilter/components/modal.js +275 -0
  136. package/lib/CkFilter/context.js +152 -0
  137. package/lib/CkFilter/customFilter/drawer.js +364 -0
  138. package/lib/CkFilter/customFilter/index.js +130 -0
  139. package/lib/CkFilter/customFilter/radioGroup.js +65 -0
  140. package/lib/CkFilter/filter.js +115 -0
  141. package/lib/CkFilter/index.js +13 -0
  142. package/lib/CkFilter/style/index.js +3 -0
  143. package/lib/CkFilter/style/style.css +586 -0
  144. package/lib/CkFilter/utils.js +65 -0
  145. package/lib/CustomerService/assets/question01.png +0 -0
  146. package/lib/CustomerService/assets/send.png +0 -0
  147. package/lib/CustomerService/assets/service.png +0 -0
  148. package/lib/CustomerService/assets/shuoming01.png +0 -0
  149. package/lib/CustomerService/assets/shuoming02.png +0 -0
  150. package/lib/CustomerService/components/question.js +120 -0
  151. package/lib/CustomerService/index.js +291 -0
  152. package/lib/CustomerService/style/index.js +3 -0
  153. package/lib/CustomerService/style/style.css +402 -0
  154. package/lib/EditTable/EditTable.js +489 -0
  155. package/lib/EditTable/index.js +13 -0
  156. package/lib/EditTable/style/index.js +3 -0
  157. package/lib/EditTable/style/style.css +165 -0
  158. package/lib/EnlargeImg/index.js +109 -0
  159. package/lib/EnlargeImg/style/index.js +3 -0
  160. package/lib/EnlargeImg/style/style.css +4 -0
  161. package/lib/Filter/Popover.js +199 -0
  162. package/lib/Filter/baseFilter/Popover.js +214 -0
  163. package/lib/Filter/baseFilter/ToggleFilter.js +112 -0
  164. package/lib/Filter/baseFilter/index.js +100 -0
  165. package/lib/Filter/complex/ComplexFilter.js +149 -0
  166. package/lib/Filter/complex/ComplexItem.js +157 -0
  167. package/lib/Filter/components/Checkbox.js +94 -0
  168. package/lib/Filter/components/Date.js +87 -0
  169. package/lib/Filter/components/Input.js +63 -0
  170. package/lib/Filter/components/Select.js +89 -0
  171. package/lib/Filter/components/Tree.js +64 -0
  172. package/lib/Filter/components/header.js +60 -0
  173. package/lib/Filter/components/index.js +47 -0
  174. package/lib/Filter/context.js +15 -0
  175. package/lib/Filter/edit/editFilter.js +277 -0
  176. package/lib/Filter/index.js +174 -0
  177. package/lib/Filter/popContext.js +15 -0
  178. package/lib/Filter/remember.js +137 -0
  179. package/lib/Filter/style/index.js +3 -0
  180. package/lib/Filter/style/style.css +420 -0
  181. package/lib/Icon/index.js +20 -0
  182. package/lib/Icon/style/index.js +1 -0
  183. package/lib/Icon/style/style.css +0 -0
  184. package/lib/IconFont/index.js +15 -0
  185. package/lib/IconFont/style/index.js +1 -0
  186. package/lib/IconFont/style/style.css +0 -0
  187. package/lib/LeftTable/assets/imgTest.jpg +0 -0
  188. package/lib/LeftTable/index.js +116 -0
  189. package/lib/LeftTable/style/index.js +3 -0
  190. package/lib/LeftTable/style/style.css +231 -0
  191. package/lib/LoadingPage/index.js +33 -0
  192. package/lib/LoadingPage/style/index.js +1 -0
  193. package/lib/LoadingPage/style/style.css +0 -0
  194. package/lib/Modal/add.js +68 -0
  195. package/lib/Modal/confirm.js +88 -0
  196. package/lib/Modal/edit.js +44 -0
  197. package/lib/Modal/exportModal.js +300 -0
  198. package/lib/Modal/index.js +24 -0
  199. package/lib/Modal/style/index.js +3 -0
  200. package/lib/Modal/style/style.css +119 -0
  201. package/lib/PopTable/BseTable.js +113 -0
  202. package/lib/PopTable/index.js +151 -0
  203. package/lib/PopTable/style/index.js +3 -0
  204. package/lib/PopTable/style/style.css +363 -0
  205. package/lib/ProTable/ImgList/body.js +111 -0
  206. package/lib/ProTable/ImgList/cardCell.js +179 -0
  207. package/lib/ProTable/ImgList/context.js +12 -0
  208. package/lib/ProTable/ImgList/empty.js +24 -0
  209. package/lib/ProTable/ImgList/footer.js +59 -0
  210. package/lib/ProTable/ImgList/imgCell.js +181 -0
  211. package/lib/ProTable/ImgList/imgTable.js +110 -0
  212. package/lib/ProTable/ImgList/index.js +13 -0
  213. package/lib/ProTable/Table.js +321 -0
  214. package/lib/ProTable/VList.js +594 -0
  215. package/lib/ProTable/context.js +12 -0
  216. package/lib/ProTable/index.js +16 -0
  217. package/lib/ProTable/resetConfig.js +39 -0
  218. package/lib/ProTable/style/index.js +3 -0
  219. package/lib/ProTable/style/style.css +693 -0
  220. package/lib/TableRender/index.js +15 -0
  221. package/lib/TableRender/state.js +72 -0
  222. package/lib/TableRender/style/index.js +3 -0
  223. package/lib/TableRender/style/style.css +0 -0
  224. package/lib/UploadOss/index.js +18 -0
  225. package/lib/UploadOss/style/index.js +3 -0
  226. package/lib/UploadOss/style/style.css +121 -0
  227. package/lib/UploadOss/uploadBtn.js +141 -0
  228. package/lib/UploadOss/uploadImg.js +282 -0
  229. package/lib/VirtualList/index.js +84 -0
  230. package/lib/VirtualList/style/index.js +3 -0
  231. package/lib/VirtualList/style/style.css +0 -0
  232. package/lib/index.js +135 -0
  233. package/lib/services/newRequest.js +201 -0
  234. package/lib/services/utils.js +72 -0
  235. package/lib/styles/icon.css +15 -0
  236. package/lib/styles/main.css +149 -0
  237. package/lib/styles/resetAntd.css +62 -0
  238. package/lib/styles/them.css +0 -0
  239. package/package.json +102 -0
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ require("antd/es/dropdown/style");
13
+
14
+ var _dropdown = _interopRequireDefault(require("antd/es/dropdown"));
15
+
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
17
+
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
19
+
20
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
21
+
22
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
23
+
24
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
25
+
26
+ var _classnames = _interopRequireDefault(require("classnames"));
27
+
28
+ var _react = _interopRequireWildcard(require("react"));
29
+
30
+ var _IconFont = _interopRequireDefault(require("../../IconFont"));
31
+
32
+ var _filterTypes = _interopRequireDefault(require("../components/filterTypes"));
33
+
34
+ var _context = require("../context");
35
+
36
+ var _utils = require("../utils");
37
+
38
+ var MoreFilters = function MoreFilters() {
39
+ var _useStore = (0, _context.useStore)(),
40
+ state = _useStore.state,
41
+ dispatch = _useStore.dispatch;
42
+
43
+ var _useState = (0, _react.useState)(false),
44
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
+ visible = _useState2[0],
46
+ setVisible = _useState2[1];
47
+
48
+ var setFilterValue = (0, _react.useCallback)(function (item, type) {
49
+ // 单选操作: 显隐/过滤
50
+ if (!type) {
51
+ // 是否显示, 取反
52
+ var isVisible = state.visibleFields.includes(item.field);
53
+ var nValue = isVisible ? state.visibleFields.filter(function (v) {
54
+ return v !== item.field;
55
+ }) : [].concat((0, _toConsumableArray2.default)(state.visibleFields), [item.field]);
56
+ dispatch({
57
+ type: 'changeVisibleFields',
58
+ visibleFields: nValue
59
+ });
60
+ dispatch({
61
+ type: 'changeOrderFields',
62
+ orderFields: [].concat((0, _toConsumableArray2.default)(nValue), (0, _toConsumableArray2.default)(state.orderFields.filter(function (v) {
63
+ return !nValue.includes(v);
64
+ })))
65
+ }); // 收起时,仅当存在筛选条件时, 才会触发筛选改变事件
66
+
67
+ if (isVisible && (0, _utils.getIsHas)(state.filterValues[item.field])) {
68
+ var _state$instance$onCha, _state$instance;
69
+
70
+ var filterValues = (0, _objectSpread2.default)({}, state.filterValues);
71
+ delete filterValues[item.field];
72
+ dispatch({
73
+ type: 'changeFilterValues',
74
+ filterValues: filterValues
75
+ });
76
+ (_state$instance$onCha = (_state$instance = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance, filterValues, state.customFilterValues); // 触发外部查询事件
77
+ }
78
+ } // 重置操作: 输入框的内容不重置
79
+
80
+
81
+ if (type === 'reset') {
82
+ var _state$instance$onCha2, _state$instance2;
83
+
84
+ var searchKey = state.instance.searchKey;
85
+ var searchValue = state.filterValues[searchKey];
86
+ var obj = state.originProps.filterValues || {};
87
+ (0, _utils.getIsHas)(searchValue) ? obj[searchKey] = searchValue : delete obj[searchKey];
88
+ var visileData = state.originProps.data.filter(function (v) {
89
+ v.fixed && (0, _utils.getIsHas)(v === null || v === void 0 ? void 0 : v.value) && (obj[v.field] = v.value);
90
+ return v.fixed;
91
+ });
92
+ var options = {
93
+ filterValues: obj,
94
+ visibleFields: state.isMore ? visileData.map(function (v) {
95
+ return v.field;
96
+ }) : state.originProps.data.map(function (v) {
97
+ return v.field;
98
+ }),
99
+ orderFields: state.originProps.data.sort(function (a, b) {
100
+ return !!b.fixed - !!a.fixed;
101
+ }).map(function (v) {
102
+ return v.field;
103
+ })
104
+ };
105
+ dispatch({
106
+ type: 'initOptions',
107
+ options: options
108
+ });
109
+ (_state$instance$onCha2 = (_state$instance2 = state.instance).onChange) === null || _state$instance$onCha2 === void 0 ? void 0 : _state$instance$onCha2.call(_state$instance2, obj, state.customFilterValues); // 触发外部查询事件
110
+ }
111
+
112
+ if (type === 'top') {
113
+ dispatch({
114
+ type: 'changeOrderFields',
115
+ orderFields: [item.field].concat((0, _toConsumableArray2.default)(state.orderFields.filter(function (v) {
116
+ return v !== item.field;
117
+ })))
118
+ });
119
+ } // 全选操作
120
+
121
+
122
+ if (['show', 'hidden'].includes(type)) {
123
+ var fixed = type === 'show';
124
+ dispatch({
125
+ type: 'changeVisibleFields',
126
+ visibleFields: fixed ? item.map(function (v) {
127
+ return v.field;
128
+ }) : []
129
+ }); // 收起时,仅当存在筛选条件时, 才会触发筛选改变事件
130
+
131
+ if (!fixed && (0, _utils.getIsHas)(state.filterValues)) {
132
+ var _searchKey = state.instance.searchKey;
133
+ var _searchValue = state.filterValues[_searchKey];
134
+ var searchObj = (0, _defineProperty2.default)({}, _searchKey, _searchValue); // 判断是否存在选中的筛选数据
135
+
136
+ if (JSON.stringify(searchObj) !== JSON.stringify(state.filterValues)) {
137
+ var _state$instance$onCha3, _state$instance3;
138
+
139
+ var _obj = {};
140
+ (0, _utils.getIsHas)(_searchValue) && (_obj[_searchKey] = _searchValue);
141
+ dispatch({
142
+ type: 'changeFilterValues',
143
+ filterValues: _obj
144
+ });
145
+ (_state$instance$onCha3 = (_state$instance3 = state.instance).onChange) === null || _state$instance$onCha3 === void 0 ? void 0 : _state$instance$onCha3.call(_state$instance3, _obj, state.customFilterValues); // 触发外部查询事件
146
+ }
147
+ }
148
+ } // 人性化设计,位置不变无需收起
149
+
150
+
151
+ type !== 'top' && setVisible(false); // 收起下拉选项框
152
+ }, [dispatch, state]);
153
+ var FilterControl = (0, _react.useCallback)(function () {
154
+ var _state$instance$data;
155
+
156
+ var obj = {
157
+ filters: (_state$instance$data = state.instance.data) === null || _state$instance$data === void 0 ? void 0 : _state$instance$data.sort(function (a, b) {
158
+ return state.orderFields.indexOf(a.field) - state.orderFields.indexOf(b.field);
159
+ }),
160
+ getFilterValue: state.visibleFields,
161
+ setFilterValue: setFilterValue
162
+ };
163
+ return (0, _utils.render)(function () {
164
+ return /*#__PURE__*/_react.default.createElement(_filterTypes.default, (0, _extends2.default)({
165
+ type: "more"
166
+ }, obj));
167
+ });
168
+ }, [setFilterValue, state.instance.data, state.orderFields, state.visibleFields]);
169
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_dropdown.default, {
170
+ trigger: ['click'],
171
+ visible: visible,
172
+ placement: "bottomLeft",
173
+ overlay: FilterControl,
174
+ onVisibleChange: function onVisibleChange(v) {
175
+ return setVisible(v);
176
+ }
177
+ }, /*#__PURE__*/_react.default.createElement("div", {
178
+ className: (0, _classnames.default)('filter_item filter_item_more', {
179
+ active: visible
180
+ }),
181
+ onClick: function onClick() {
182
+ return setVisible(!visible);
183
+ }
184
+ }, /*#__PURE__*/_react.default.createElement("div", {
185
+ className: "filter_item_value"
186
+ }, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
187
+ type: "lmweb-plus-circle",
188
+ className: "addonBefore"
189
+ }), /*#__PURE__*/_react.default.createElement("span", {
190
+ className: "checked"
191
+ }, "\u66F4\u591A\u67E5\u8BE2"), /*#__PURE__*/_react.default.createElement(_IconFont.default, {
192
+ type: "lmweb-down",
193
+ className: "addonAfter"
194
+ })))));
195
+ };
196
+
197
+ var _default = MoreFilters;
198
+ exports.default = _default;
@@ -0,0 +1,337 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ require("antd/es/drawer/style");
13
+
14
+ var _drawer = _interopRequireDefault(require("antd/es/drawer"));
15
+
16
+ require("antd/es/space/style");
17
+
18
+ var _space = _interopRequireDefault(require("antd/es/space"));
19
+
20
+ require("antd/es/button/style");
21
+
22
+ var _button = _interopRequireDefault(require("antd/es/button"));
23
+
24
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
25
+
26
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
27
+
28
+ require("antd/es/input/style");
29
+
30
+ var _input = _interopRequireDefault(require("antd/es/input"));
31
+
32
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
33
+
34
+ require("antd/es/tag/style");
35
+
36
+ var _tag = _interopRequireDefault(require("antd/es/tag"));
37
+
38
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
39
+
40
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
41
+
42
+ var _react = _interopRequireWildcard(require("react"));
43
+
44
+ var _IconFont = _interopRequireDefault(require("../../IconFont"));
45
+
46
+ var _VirtualList = _interopRequireDefault(require("../../VirtualList"));
47
+
48
+ var _context = require("../context");
49
+
50
+ var _utils = require("../utils");
51
+
52
+ var _excluded = ["item"],
53
+ _excluded2 = ["item"];
54
+
55
+ // 选中的筛选项
56
+ var ListItemChecked = function ListItemChecked(props) {
57
+ var _useStore = (0, _context.useStore)(),
58
+ state = _useStore.state,
59
+ dispatch = _useStore.dispatch;
60
+
61
+ var _state$instance$fullD = state.instance.fullData,
62
+ fullData = _state$instance$fullD === void 0 ? [] : _state$instance$fullD,
63
+ data = state.complexDrawer.data;
64
+ var field = props.field,
65
+ value = props.value; // 单项匹配数据, 根据字段名查找
66
+
67
+ var getItem = (0, _react.useMemo)(function () {
68
+ return fullData.find(function (v) {
69
+ return v.field === field;
70
+ });
71
+ }, [field, fullData]); // 选中的数据
72
+
73
+ var checkedValues = (0, _react.useMemo)(function () {
74
+ var checkedValue = value.value;
75
+
76
+ if (Array.isArray(checkedValue)) {
77
+ return getItem.data.filter(function (v) {
78
+ return checkedValue.includes(v.value);
79
+ });
80
+ }
81
+
82
+ var filterValue = getItem.data.find(function (v) {
83
+ return v.value === checkedValue;
84
+ });
85
+ return filterValue ? [filterValue] : [];
86
+ }, [getItem.data, value]); // 新增
87
+
88
+ var handleAdd = function handleAdd() {}; // 编辑
89
+
90
+
91
+ var handleEdit = function handleEdit() {
92
+ dispatch({
93
+ type: 'changeModal',
94
+ customModal: {
95
+ visible: true,
96
+ type: 'complex',
97
+ data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getItem), value)
98
+ }
99
+ });
100
+ }; // 删除
101
+
102
+
103
+ var handleDelete = function handleDelete(e) {
104
+ e.stopPropagation();
105
+ var filterValues = (0, _objectSpread3.default)({}, data);
106
+ delete filterValues[field];
107
+ dispatch({
108
+ type: 'changeComplexDrawer',
109
+ complexDrawer: {
110
+ visible: true,
111
+ data: filterValues
112
+ }
113
+ });
114
+ }; // 删除Tag
115
+
116
+
117
+ var onTagClose = function onTagClose(val) {
118
+ var filterValues = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, data), {}, (0, _defineProperty2.default)({}, field, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, data[field]), {}, {
119
+ value: data[field].value.filter(function (v) {
120
+ return !v.includes(val);
121
+ })
122
+ })));
123
+ dispatch({
124
+ type: 'changeComplexDrawer',
125
+ complexDrawer: {
126
+ visible: true,
127
+ data: filterValues
128
+ }
129
+ });
130
+ }; // Tags显示
131
+
132
+
133
+ var tagElem = function tagElem() {
134
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.map(function (v) {
135
+ return /*#__PURE__*/_react.default.createElement(_tag.default, {
136
+ key: v.value,
137
+ closable: true,
138
+ onClose: function onClose() {
139
+ return onTagClose(v.value);
140
+ }
141
+ }, v.label);
142
+ }), /*#__PURE__*/_react.default.createElement(_tag.default, {
143
+ className: "site-tag-plus",
144
+ onClick: handleAdd
145
+ }, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
146
+ type: "lmweb-plus-circle"
147
+ }), " \u65B0\u589E"));
148
+ }; // 模式
149
+
150
+
151
+ var modeLabel = (0, _react.useMemo)(function () {
152
+ return value.mode === 'and' ? '且' : '或';
153
+ }, [value.mode]);
154
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
155
+ className: "item_box",
156
+ onClick: handleEdit
157
+ }, /*#__PURE__*/_react.default.createElement("div", {
158
+ className: "item_header"
159
+ }, /*#__PURE__*/_react.default.createElement("div", {
160
+ className: "item_header_title"
161
+ }, "".concat(getItem.title, "\uFF08").concat(modeLabel, "\uFF09")), /*#__PURE__*/_react.default.createElement(_IconFont.default, {
162
+ type: "lmweb-close1",
163
+ onClick: handleDelete,
164
+ className: "item_header_icon"
165
+ })), /*#__PURE__*/_react.default.createElement("div", {
166
+ className: "item_tags"
167
+ }, tagElem())));
168
+ }; // 全部筛选项
169
+
170
+
171
+ var ListGroup = function ListGroup() {
172
+ var _useStore2 = (0, _context.useStore)(),
173
+ state = _useStore2.state,
174
+ dispatch = _useStore2.dispatch;
175
+
176
+ var fullData = state.instance.fullData;
177
+
178
+ var _useState = (0, _react.useState)(fullData),
179
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
180
+ options = _useState2[0],
181
+ setOptions = _useState2[1];
182
+
183
+ var handleSearch = function handleSearch(val) {
184
+ setOptions(fullData.filter(function (v) {
185
+ return v.title.indexOf(val) > -1;
186
+ }));
187
+ }; // 编辑
188
+
189
+
190
+ var handleEdit = function handleEdit(_ref) {
191
+ var field = _ref.field;
192
+ // 单项匹配数据, 根据字段名查找
193
+ var getItem = fullData.find(function (v) {
194
+ return v.field === field;
195
+ });
196
+ console.log('getItem', getItem); // 编辑
197
+
198
+ dispatch({
199
+ type: 'changeModal',
200
+ customModal: {
201
+ visible: true,
202
+ type: 'complex',
203
+ data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getItem), {}, {
204
+ value: []
205
+ })
206
+ }
207
+ });
208
+ };
209
+
210
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
211
+ className: "list_group"
212
+ }, /*#__PURE__*/_react.default.createElement("div", {
213
+ className: "list_group_title"
214
+ }, "\u9009\u62E9\u67E5\u8BE2\u9879"), /*#__PURE__*/_react.default.createElement("div", {
215
+ className: "list_group_search"
216
+ }, /*#__PURE__*/_react.default.createElement(_input.default.Search, {
217
+ allowClear: true,
218
+ size: "default",
219
+ placeholder: "\u8BF7\u8F93\u5165",
220
+ onSearch: handleSearch
221
+ })), /*#__PURE__*/_react.default.createElement(_VirtualList.default, {
222
+ options: options,
223
+ className: "filter_drawer_group_list"
224
+ }, function (_ref2) {
225
+ var item = _ref2.item,
226
+ resetProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
227
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
228
+ className: "filter_drawer_group_item"
229
+ }), /*#__PURE__*/_react.default.createElement("div", {
230
+ className: "item_box",
231
+ onClick: function onClick() {
232
+ return handleEdit(item);
233
+ }
234
+ }, /*#__PURE__*/_react.default.createElement("div", {
235
+ className: "item_header"
236
+ }, /*#__PURE__*/_react.default.createElement("div", {
237
+ className: "item_header_title"
238
+ }, item.title), /*#__PURE__*/_react.default.createElement(_IconFont.default, {
239
+ type: "lmweb-plus",
240
+ className: "item_header_icon icon_plus"
241
+ }))));
242
+ })));
243
+ };
244
+
245
+ var Index = function Index() {
246
+ var _useStore3 = (0, _context.useStore)(),
247
+ state = _useStore3.state,
248
+ dispatch = _useStore3.dispatch;
249
+
250
+ var _state$complexDrawer = state.complexDrawer,
251
+ visible = _state$complexDrawer.visible,
252
+ data = _state$complexDrawer.data,
253
+ complexFilterValues = state.complexFilterValues;
254
+ var isHas = (0, _react.useMemo)(function () {
255
+ return (0, _utils.getIsHas)(data);
256
+ }, [data]); // 过滤的内容转数组
257
+
258
+ var filterItemData = (0, _react.useMemo)(function () {
259
+ return isHas ? Object.entries(data).map(function (v) {
260
+ return {
261
+ field: v[0],
262
+ value: v[1]
263
+ };
264
+ }) : [];
265
+ }, [data, isHas]);
266
+
267
+ var onClose = function onClose() {
268
+ dispatch({
269
+ type: 'changeComplexDrawer',
270
+ complexDrawer: {
271
+ data: data,
272
+ visible: false
273
+ }
274
+ });
275
+ };
276
+
277
+ var onSave = function onSave() {};
278
+
279
+ var onSearch = function onSearch() {
280
+ console.log('complexDrawer:', data);
281
+ dispatch({
282
+ type: 'changeComplexFilterValues',
283
+ complexFilterValues: data
284
+ });
285
+ onClose();
286
+ };
287
+
288
+ (0, _react.useEffect)(function () {
289
+ if (visible) {
290
+ dispatch({
291
+ type: 'changeComplexDrawer',
292
+ complexDrawer: {
293
+ data: complexFilterValues,
294
+ visible: visible
295
+ }
296
+ });
297
+ }
298
+ }, [dispatch, visible]); // 弹窗配置项
299
+
300
+ var config = {
301
+ title: '高级查询',
302
+ visible: visible,
303
+ onClose: onClose,
304
+ width: 440,
305
+ placement: 'right',
306
+ destroyOnClose: true,
307
+ className: 'lm_filter_drawer',
308
+ extra: /*#__PURE__*/_react.default.createElement(_space.default, null, /*#__PURE__*/_react.default.createElement(_button.default, {
309
+ onClick: onClose,
310
+ size: "small"
311
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_button.default, {
312
+ onClick: onSave,
313
+ size: "small"
314
+ }, "\u4FDD\u5B58\u67E5\u8BE2"), /*#__PURE__*/_react.default.createElement(_button.default, {
315
+ type: "primary",
316
+ onClick: onSearch,
317
+ size: "small"
318
+ }, "\u67E5\u8BE2"))
319
+ };
320
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_drawer.default, config, /*#__PURE__*/_react.default.createElement("div", {
321
+ className: "complex_filter_body"
322
+ }, isHas && /*#__PURE__*/_react.default.createElement("div", {
323
+ className: "checked_group"
324
+ }, /*#__PURE__*/_react.default.createElement(_VirtualList.default, {
325
+ options: filterItemData,
326
+ className: "filter_drawer_group_list"
327
+ }, function (_ref3) {
328
+ var item = _ref3.item,
329
+ resetProps = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
330
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
331
+ className: "filter_drawer_group_item"
332
+ }), /*#__PURE__*/_react.default.createElement(ListItemChecked, item));
333
+ })), /*#__PURE__*/_react.default.createElement(ListGroup, null))));
334
+ };
335
+
336
+ var _default = Index;
337
+ exports.default = _default;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _IconFont = _interopRequireDefault(require("../../IconFont"));
21
+
22
+ var _context = require("../context");
23
+
24
+ var _drawer = _interopRequireDefault(require("./drawer"));
25
+
26
+ var _utils = require("../utils");
27
+
28
+ var Custom = function Custom() {
29
+ var _useStore = (0, _context.useStore)(),
30
+ state = _useStore.state,
31
+ dispatch = _useStore.dispatch;
32
+
33
+ var _useState = (0, _react.useState)(false),
34
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
35
+ visible = _useState2[0],
36
+ setVisible = _useState2[1]; // 是否正在高级筛选
37
+
38
+
39
+ var isOnSearch = (0, _react.useMemo)(function () {
40
+ return (0, _utils.getIsHas)(state.complexFilterValues);
41
+ }, [state.complexFilterValues]);
42
+
43
+ var handleClick = function handleClick() {
44
+ dispatch({
45
+ type: 'changeComplexDrawer',
46
+ complexDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.complexDrawer), {}, {
47
+ visible: true
48
+ })
49
+ });
50
+ setVisible(!visible);
51
+ };
52
+
53
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
54
+ className: (0, _classnames.default)('filter_item filter_item_more', {
55
+ active: isOnSearch
56
+ }),
57
+ onClick: handleClick
58
+ }, /*#__PURE__*/_react.default.createElement("div", {
59
+ className: "filter_item_value"
60
+ }, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
61
+ type: "lmweb-filter",
62
+ className: "addonBefore"
63
+ }), /*#__PURE__*/_react.default.createElement("span", {
64
+ className: "checked"
65
+ }, "\u9AD8\u7EA7\u67E5\u8BE2"))), /*#__PURE__*/_react.default.createElement(_drawer.default, null));
66
+ };
67
+
68
+ var _default = Custom;
69
+ exports.default = _default;