linkmore-design 1.0.14 → 1.0.17

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 (47) hide show
  1. package/dist/index.umd.js +1029 -508
  2. package/dist/index.umd.min.js +6 -6
  3. package/es/Button/index.js +3 -1
  4. package/es/Button/style/style.css +4 -1
  5. package/es/CkFilter/baseFilter/filterMenu.js +11 -0
  6. package/es/CkFilter/complexFilter/drawer.js +42 -2
  7. package/es/CkFilter/components/CascaderFilter.js +132 -0
  8. package/es/CkFilter/components/CheckboxTags.js +53 -0
  9. package/es/CkFilter/components/Controls.js +43 -0
  10. package/es/CkFilter/components/CustomModal.js +230 -0
  11. package/es/CkFilter/components/filterTypes.js +154 -1
  12. package/es/CkFilter/components/modal.js +36 -67
  13. package/es/CkFilter/components/modalBack.js +261 -0
  14. package/es/CkFilter/context.js +1 -1
  15. package/es/CkFilter/customFilter/drawer.js +4 -1
  16. package/es/CkFilter/filter.js +3 -3
  17. package/es/CkFilter/style/style.css +68 -26
  18. package/es/PopTable/style/style.css +1 -4
  19. package/es/ProTable/Table.js +23 -10
  20. package/es/ProTable/autosize.js +170 -0
  21. package/es/ProTable/detectElementResize.js +225 -0
  22. package/es/ProTable/style/style.css +7 -0
  23. package/es/Radio/style/style.css +7 -0
  24. package/es/TabBar/style/style.css +0 -1
  25. package/lib/Button/index.js +3 -1
  26. package/lib/Button/style/style.css +4 -1
  27. package/lib/CkFilter/baseFilter/filterMenu.js +11 -0
  28. package/lib/CkFilter/complexFilter/drawer.js +42 -2
  29. package/lib/CkFilter/components/CascaderFilter.js +132 -0
  30. package/lib/CkFilter/components/CheckboxTags.js +53 -0
  31. package/lib/CkFilter/components/Controls.js +43 -0
  32. package/lib/CkFilter/components/CustomModal.js +230 -0
  33. package/lib/CkFilter/components/filterTypes.js +154 -1
  34. package/lib/CkFilter/components/modal.js +36 -67
  35. package/lib/CkFilter/components/modalBack.js +261 -0
  36. package/lib/CkFilter/context.js +1 -1
  37. package/lib/CkFilter/customFilter/drawer.js +4 -1
  38. package/lib/CkFilter/filter.js +3 -3
  39. package/lib/CkFilter/style/style.css +68 -26
  40. package/lib/PopTable/style/style.css +1 -4
  41. package/lib/ProTable/Table.js +23 -10
  42. package/lib/ProTable/autosize.js +170 -0
  43. package/lib/ProTable/detectElementResize.js +225 -0
  44. package/lib/ProTable/style/style.css +7 -0
  45. package/lib/Radio/style/style.css +7 -0
  46. package/lib/TabBar/style/style.css +0 -1
  47. package/package.json +1 -1
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = createDetectElementResize;
7
+
8
+ /**
9
+ * Detect Element Resize.
10
+ * https://github.com/sdecima/javascript-detect-element-resize
11
+ * Sebastian Decima
12
+ *
13
+ * Forked from version 0.5.3; includes the following modifications:
14
+ * 1) Guard against unsafe 'window' and 'document' references (to support SSR).
15
+ * 2) Defer initialization code via a top-level function wrapper (to support SSR).
16
+ * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.
17
+ * 4) Add nonce for style element.
18
+ * 5) Added support for injecting custom window object
19
+ **/
20
+ function createDetectElementResize(nonce, hostWindow) {
21
+ // Check `document` and `window` in case of server-side rendering
22
+ var _window;
23
+
24
+ if (typeof hostWindow !== 'undefined') {
25
+ _window = hostWindow;
26
+ } else if (typeof window !== 'undefined') {
27
+ _window = window;
28
+ } else if (typeof self !== 'undefined') {
29
+ _window = self;
30
+ } else {
31
+ _window = global;
32
+ }
33
+
34
+ var attachEvent = typeof _window.document !== 'undefined' && _window.document.attachEvent;
35
+
36
+ if (!attachEvent) {
37
+ var requestFrame = function () {
38
+ var raf = _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame || function (fn) {
39
+ return _window.setTimeout(fn, 20);
40
+ };
41
+
42
+ return function (fn) {
43
+ return raf(fn);
44
+ };
45
+ }();
46
+
47
+ var cancelFrame = function () {
48
+ var cancel = _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame || _window.clearTimeout;
49
+ return function (id) {
50
+ return cancel(id);
51
+ };
52
+ }();
53
+
54
+ var resetTriggers = function resetTriggers(element) {
55
+ var triggers = element.__resizeTriggers__,
56
+ expand = triggers.firstElementChild,
57
+ contract = triggers.lastElementChild,
58
+ expandChild = expand.firstElementChild;
59
+ contract.scrollLeft = contract.scrollWidth;
60
+ contract.scrollTop = contract.scrollHeight;
61
+ expandChild.style.width = expand.offsetWidth + 1 + 'px';
62
+ expandChild.style.height = expand.offsetHeight + 1 + 'px';
63
+ expand.scrollLeft = expand.scrollWidth;
64
+ expand.scrollTop = expand.scrollHeight;
65
+ };
66
+
67
+ var checkTriggers = function checkTriggers(element) {
68
+ return element.offsetWidth != element.__resizeLast__.width || element.offsetHeight != element.__resizeLast__.height;
69
+ };
70
+
71
+ var scrollListener = function scrollListener(e) {
72
+ // Don't measure (which forces) reflow for scrolls that happen inside of children!
73
+ if (e.target.className && typeof e.target.className.indexOf === 'function' && e.target.className.indexOf('contract-trigger') < 0 && e.target.className.indexOf('expand-trigger') < 0) {
74
+ return;
75
+ }
76
+
77
+ var element = this;
78
+ resetTriggers(this);
79
+
80
+ if (this.__resizeRAF__) {
81
+ cancelFrame(this.__resizeRAF__);
82
+ }
83
+
84
+ this.__resizeRAF__ = requestFrame(function () {
85
+ if (checkTriggers(element)) {
86
+ element.__resizeLast__.width = element.offsetWidth;
87
+ element.__resizeLast__.height = element.offsetHeight;
88
+
89
+ element.__resizeListeners__.forEach(function (fn) {
90
+ fn.call(element, e);
91
+ });
92
+ }
93
+ });
94
+ };
95
+ /* Detect CSS Animations support to detect element display/re-attach */
96
+
97
+
98
+ var animation = false,
99
+ keyframeprefix = '',
100
+ animationstartevent = 'animationstart',
101
+ domPrefixes = 'Webkit Moz O ms'.split(' '),
102
+ startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' '),
103
+ pfx = '';
104
+ {
105
+ var elm = _window.document.createElement('fakeelement');
106
+
107
+ if (elm.style.animationName !== undefined) {
108
+ animation = true;
109
+ }
110
+
111
+ if (animation === false) {
112
+ for (var i = 0; i < domPrefixes.length; i++) {
113
+ if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {
114
+ pfx = domPrefixes[i];
115
+ keyframeprefix = '-' + pfx.toLowerCase() + '-';
116
+ animationstartevent = startEvents[i];
117
+ animation = true;
118
+ break;
119
+ }
120
+ }
121
+ }
122
+ }
123
+ var animationName = 'resizeanim';
124
+ var animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';
125
+ var animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';
126
+ }
127
+
128
+ var createStyles = function createStyles(doc) {
129
+ if (!doc.getElementById('detectElementResize')) {
130
+ //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360
131
+ var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',
132
+ head = doc.head || doc.getElementsByTagName('head')[0],
133
+ style = doc.createElement('style');
134
+ style.id = 'detectElementResize';
135
+ style.type = 'text/css';
136
+
137
+ if (nonce != null) {
138
+ style.setAttribute('nonce', nonce);
139
+ }
140
+
141
+ if (style.styleSheet) {
142
+ style.styleSheet.cssText = css;
143
+ } else {
144
+ style.appendChild(doc.createTextNode(css));
145
+ }
146
+
147
+ head.appendChild(style);
148
+ }
149
+ };
150
+
151
+ var addResizeListener = function addResizeListener(element, fn) {
152
+ if (attachEvent) {
153
+ element.attachEvent('onresize', fn);
154
+ } else {
155
+ if (!element.__resizeTriggers__) {
156
+ var doc = element.ownerDocument;
157
+
158
+ var elementStyle = _window.getComputedStyle(element);
159
+
160
+ if (elementStyle && elementStyle.position == 'static') {
161
+ element.style.position = 'relative';
162
+ }
163
+
164
+ createStyles(doc);
165
+ element.__resizeLast__ = {};
166
+ element.__resizeListeners__ = [];
167
+ (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers';
168
+ var expandTrigger = doc.createElement('div');
169
+ expandTrigger.className = 'expand-trigger';
170
+ expandTrigger.appendChild(doc.createElement('div'));
171
+ var contractTrigger = doc.createElement('div');
172
+ contractTrigger.className = 'contract-trigger';
173
+
174
+ element.__resizeTriggers__.appendChild(expandTrigger);
175
+
176
+ element.__resizeTriggers__.appendChild(contractTrigger);
177
+
178
+ element.appendChild(element.__resizeTriggers__);
179
+ resetTriggers(element);
180
+ element.addEventListener('scroll', scrollListener, true);
181
+ /* Listen for a css animation to detect element display/re-attach */
182
+
183
+ if (animationstartevent) {
184
+ element.__resizeTriggers__.__animationListener__ = function animationListener(e) {
185
+ if (e.animationName == animationName) {
186
+ resetTriggers(element);
187
+ }
188
+ };
189
+
190
+ element.__resizeTriggers__.addEventListener(animationstartevent, element.__resizeTriggers__.__animationListener__);
191
+ }
192
+ }
193
+
194
+ element.__resizeListeners__.push(fn);
195
+ }
196
+ };
197
+
198
+ var removeResizeListener = function removeResizeListener(element, fn) {
199
+ if (attachEvent) {
200
+ element.detachEvent('onresize', fn);
201
+ } else {
202
+ element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);
203
+
204
+ if (!element.__resizeListeners__.length) {
205
+ element.removeEventListener('scroll', scrollListener, true);
206
+
207
+ if (element.__resizeTriggers__.__animationListener__) {
208
+ element.__resizeTriggers__.removeEventListener(animationstartevent, element.__resizeTriggers__.__animationListener__);
209
+
210
+ element.__resizeTriggers__.__animationListener__ = null;
211
+ }
212
+
213
+ try {
214
+ element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);
215
+ } catch (e) {// Preact compat; see developit/preact-compat/issues/228
216
+ }
217
+ }
218
+ }
219
+ };
220
+
221
+ return {
222
+ addResizeListener: addResizeListener,
223
+ removeResizeListener: removeResizeListener
224
+ };
225
+ }
@@ -1062,3 +1062,10 @@ html {
1062
1062
  .lm_img_table .lm_card_cell_content:hover .card_cell_body .card_cell_checkbox {
1063
1063
  opacity: 1;
1064
1064
  }
1065
+ .lm_customCheck {
1066
+ position: absolute;
1067
+ bottom: 0;
1068
+ left: 0;
1069
+ max-width: 50%;
1070
+ font-size: 12px;
1071
+ }
@@ -34,6 +34,13 @@
34
34
  color: var(--font-color);
35
35
  vertical-align: middle;
36
36
  }
37
+ .lm-radio-group .ant-radio-button-wrapper .anticon {
38
+ font-size: 16px;
39
+ vertical-align: middle;
40
+ }
41
+ .lm-radio-group .ant-radio-button-wrapper:hover {
42
+ color: var(--primary-color);
43
+ }
37
44
  .lm-radio-group .ant-radio-button-wrapper > span:last-child {
38
45
  display: inline-block;
39
46
  font-size: 12px;
@@ -15,7 +15,6 @@
15
15
  list-style: none;
16
16
  }
17
17
  .lm-tabbar-list-item {
18
- height: 40px;
19
18
  display: flex;
20
19
  flex-direction: row;
21
20
  align-items: center;
@@ -41,7 +41,9 @@ var LMButton = function LMButton(props) {
41
41
  hover = _props$hover === void 0 ? false : _props$hover,
42
42
  restProps = __rest(props, ["children", "className", "size", "type", "hover"]);
43
43
 
44
- var classs = (0, _classnames.default)('lm-button', className, (0, _defineProperty2.default)({}, "lm-button-".concat(size), size), (0, _defineProperty2.default)({}, "lm-button-".concat(type), type), (0, _defineProperty2.default)({}, "lm-button-".concat(type, "-hover"), type && hover));
44
+ var classs = (0, _classnames.default)('lm-button', className, {
45
+ 'lm-button-icon-only': !children
46
+ }, (0, _defineProperty2.default)({}, "lm-button-".concat(size), size), (0, _defineProperty2.default)({}, "lm-button-".concat(type), type), (0, _defineProperty2.default)({}, "lm-button-".concat(type, "-hover"), type && hover));
45
47
  return /*#__PURE__*/_react.default.createElement(_button.default, Object.assign({}, restProps, {
46
48
  className: classs,
47
49
  size: size,
@@ -7,7 +7,7 @@
7
7
  vertical-align: middle;
8
8
  }
9
9
  .ant-btn.lm-button .anticon {
10
- font-size: 16px;
10
+ font-size: 12px;
11
11
  line-height: 0;
12
12
  }
13
13
  .ant-btn.lm-button .anticon + span {
@@ -96,3 +96,6 @@
96
96
  border: 0 !important;
97
97
  background: transparent !important;
98
98
  }
99
+ .ant-btn.lm-button-icon-only .anticon {
100
+ font-size: 16px;
101
+ }
@@ -160,6 +160,17 @@ var FilterMenu = function FilterMenu(props) {
160
160
  }
161
161
  };
162
162
 
163
+ if (['cascader'].includes(type)) {
164
+ return /*#__PURE__*/_react.default.createElement(_filterTypes.default, (0, _extends2.default)({}, props, {
165
+ itemProps: comProps,
166
+ filters: data,
167
+ isFiltering: isFiltering,
168
+ getFilterValue: filterValue,
169
+ setFilterValue: setFilterValue,
170
+ handleClear: handleClear
171
+ }));
172
+ }
173
+
163
174
  if (type === 'date') {
164
175
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
165
176
  className: (0, _classnames.default)('filter_item', {
@@ -27,6 +27,8 @@ var _linkmoreDesign = require("linkmore-design");
27
27
 
28
28
  var _react = _interopRequireWildcard(require("react"));
29
29
 
30
+ var _modal = _interopRequireDefault(require("../components/modal"));
31
+
30
32
  var _IconFont = _interopRequireDefault(require("../../IconFont"));
31
33
 
32
34
  var _VirtualList = _interopRequireDefault(require("../../VirtualList"));
@@ -54,17 +56,55 @@ var ListItemChecked = function ListItemChecked(props) {
54
56
  return fullData.find(function (v) {
55
57
  return v.field === field;
56
58
  });
57
- }, [field, fullData]); // 选中的数据
59
+ }, [field, fullData]); // 级联选择器的选中值
60
+
61
+ var cascaderValue = (0, _react.useMemo)(function () {
62
+ if (getItem.type === 'cascader') {
63
+ return value.value.map(function (v) {
64
+ return v[v.length - 1];
65
+ });
66
+ }
67
+
68
+ return value.value;
69
+ }, [props]); // 遍历树结构
70
+
71
+ var deepChildren = function deepChildren(arr, preArr) {
72
+ arr.forEach(function (item) {
73
+ var _item$children;
74
+
75
+ if (cascaderValue.includes(item.value)) {
76
+ preArr.push(item);
77
+ }
78
+
79
+ if ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) {
80
+ deepChildren(item.children, preArr);
81
+ }
82
+ });
83
+ }; // 选中的数据
84
+
58
85
 
59
86
  var checkedValues = (0, _react.useMemo)(function () {
60
87
  var checkedValue = value.value;
61
88
 
62
89
  if (Array.isArray(checkedValue)) {
90
+ if (getItem.type === 'cascader') {
91
+ var arr = [];
92
+ deepChildren(getItem.data, arr);
93
+ return arr;
94
+ }
95
+
63
96
  return getItem.data.filter(function (v) {
64
97
  return checkedValue.includes(v.value);
65
98
  });
66
99
  }
67
100
 
101
+ if (getItem.type === 'input') {
102
+ return cascaderValue ? [{
103
+ value: cascaderValue,
104
+ label: cascaderValue
105
+ }] : [];
106
+ }
107
+
68
108
  var filterValue = getItem.data.find(function (v) {
69
109
  return v.value === checkedValue;
70
110
  });
@@ -317,7 +357,7 @@ var Index = function Index() {
317
357
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
318
358
  className: "filter_drawer_group_item"
319
359
  }), /*#__PURE__*/_react.default.createElement(ListItemChecked, item));
320
- })), /*#__PURE__*/_react.default.createElement(ListGroup, null))));
360
+ })), /*#__PURE__*/_react.default.createElement(ListGroup, null)), /*#__PURE__*/_react.default.createElement(_modal.default, null)));
321
361
  };
322
362
 
323
363
  var _default = Index;
@@ -0,0 +1,132 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
+
18
+ require("antd/es/button/style");
19
+
20
+ var _button = _interopRequireDefault(require("antd/es/button"));
21
+
22
+ require("antd/es/input/style");
23
+
24
+ var _input = _interopRequireDefault(require("antd/es/input"));
25
+
26
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
+
28
+ var _react = _interopRequireWildcard(require("react"));
29
+
30
+ var _lodash = require("lodash");
31
+
32
+ var CascaderFilter = function CascaderFilter(_ref) {
33
+ var visible = _ref.visible,
34
+ filters = _ref.options,
35
+ getFilterValue = _ref.value,
36
+ setFilterValue = _ref.onChange,
37
+ _ref$props = _ref.props,
38
+ props = _ref$props === void 0 ? {} : _ref$props;
39
+
40
+ var _useState = (0, _react.useState)(filters),
41
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
42
+ options = _useState2[0],
43
+ setOptions = _useState2[1];
44
+
45
+ var _useState3 = (0, _react.useState)(props.multiple ? [] : ''),
46
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
47
+ defaultValue = _useState4[0],
48
+ setDefaultValue = _useState4[1];
49
+
50
+ var _useState5 = (0, _react.useState)(getFilterValue || (props.multiple ? [] : '')),
51
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
52
+ checkedValues = _useState6[0],
53
+ setCheckedValues = _useState6[1];
54
+
55
+ var isSearch = (0, _react.useMemo)(function () {
56
+ return filters.length > 8;
57
+ }, [filters.length]);
58
+
59
+ var handleFilter = function handleFilter(val) {
60
+ setOptions(filters.filter(function (v) {
61
+ return v.label.indexOf(val) > -1;
62
+ }));
63
+ };
64
+
65
+ var dropdownRender = function dropdownRender(menus) {
66
+ var inputRef = (0, _react.useRef)(null); // 确定
67
+
68
+ var handleSure = function handleSure() {
69
+ setFilterValue(checkedValues);
70
+ }; // 清空
71
+
72
+
73
+ var handleReset = function handleReset() {
74
+ inputRef.current.input.value = '';
75
+ setFilterValue(undefined);
76
+ };
77
+
78
+ return /*#__PURE__*/_react.default.createElement("div", {
79
+ className: "filter_cascader_container filter_dropdown",
80
+ style: {
81
+ width: 392
82
+ }
83
+ }, /*#__PURE__*/_react.default.createElement("div", {
84
+ className: "filter_header"
85
+ }, /*#__PURE__*/_react.default.createElement(_input.default.Search, {
86
+ ref: inputRef,
87
+ allowClear: true,
88
+ size: "small",
89
+ placeholder: "\u8BF7\u8F93\u5165",
90
+ onSearch: handleFilter // onChange={debounce((e) => handleFilter(e.target.value), 500)}
91
+
92
+ })), menus, isSearch && /*#__PURE__*/_react.default.createElement("div", {
93
+ className: "filter_footer"
94
+ }, /*#__PURE__*/_react.default.createElement("div", {
95
+ className: "footer_clear",
96
+ onClick: handleReset
97
+ }, "\u6E05\u7A7A"), /*#__PURE__*/_react.default.createElement(_button.default, {
98
+ type: "primary",
99
+ size: "small",
100
+ onClick: handleSure
101
+ }, "\u786E\u5B9A")));
102
+ };
103
+
104
+ var onChange = function onChange(item, selectedOptions) {
105
+ if (props.multiple) {
106
+ setFilterValue(item); // setFilterValue(item.map((v) => v[v.length - 1]));
107
+
108
+ setCheckedValues(item);
109
+ } else {
110
+ setFilterValue(item);
111
+ setCheckedValues(item);
112
+ }
113
+ };
114
+
115
+ (0, _react.useEffect)(function () {
116
+ if (visible) {
117
+ setCheckedValues(getFilterValue || (props.multiple ? [] : ''));
118
+ }
119
+ }, [visible]);
120
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, (0, _extends2.default)({
121
+ allowClear: true
122
+ }, props, {
123
+ options: options,
124
+ defaultValue: defaultValue,
125
+ value: checkedValues,
126
+ onChange: onChange,
127
+ dropdownRender: dropdownRender
128
+ })));
129
+ };
130
+
131
+ var _default = CascaderFilter;
132
+ exports.default = _default;
@@ -0,0 +1,53 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
16
+ var _linkmoreDesign = require("linkmore-design");
17
+
18
+ // 复选标签组件,选中字段,多选
19
+ var CheckboxTags = function CheckboxTags(_ref) {
20
+ var value = _ref.value,
21
+ onChange = _ref.onChange,
22
+ options = _ref.options;
23
+
24
+ var handleClick = function handleClick(item) {
25
+ var oriValue = value || []; // 源数据
26
+
27
+ var has = oriValue === null || oriValue === void 0 ? void 0 : oriValue.includes(item.value); // 是否已被选中
28
+
29
+ var nValue = has ? oriValue.filter(function (v) {
30
+ return v !== item.value;
31
+ }) : [].concat((0, _toConsumableArray2.default)(oriValue), [item.value]);
32
+ onChange === null || onChange === void 0 ? void 0 : onChange(nValue); // 返回选中的数据
33
+ };
34
+
35
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
36
+ size: 8,
37
+ wrap: true,
38
+ className: "auto_height"
39
+ }, options === null || options === void 0 ? void 0 : options.map(function (v) {
40
+ return /*#__PURE__*/_react.default.createElement("div", {
41
+ key: v.value,
42
+ className: (0, _classnames.default)('checkbox_tag', {
43
+ active: value === null || value === void 0 ? void 0 : value.includes(v.value)
44
+ }),
45
+ onClick: function onClick() {
46
+ return handleClick(v);
47
+ }
48
+ }, v.label);
49
+ })));
50
+ };
51
+
52
+ var _default = CheckboxTags;
53
+ exports.default = _default;
@@ -0,0 +1,43 @@
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
+ require("antd/es/input/style");
11
+
12
+ var _input = _interopRequireDefault(require("antd/es/input"));
13
+
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _CheckboxTags = _interopRequireDefault(require("./CheckboxTags"));
21
+
22
+ var _CascaderFilter = _interopRequireDefault(require("./CascaderFilter"));
23
+
24
+ var _excluded = ["type", "options"];
25
+
26
+ var Controls = function Controls(props) {
27
+ var type = props.type,
28
+ options = props.options,
29
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
30
+ var obj = {
31
+ 'select': /*#__PURE__*/_react.default.createElement(_CheckboxTags.default, (0, _extends2.default)({
32
+ options: options
33
+ }, resetProps)),
34
+ 'cascader': /*#__PURE__*/_react.default.createElement(_CascaderFilter.default, (0, _extends2.default)({
35
+ options: options
36
+ }, resetProps)),
37
+ 'input': /*#__PURE__*/_react.default.createElement(_input.default, resetProps)
38
+ };
39
+ return obj[type] || null;
40
+ };
41
+
42
+ var _default = Controls;
43
+ exports.default = _default;