@para-ui/core 4.0.0-rc.3 → 4.0.0-rc.5
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.
- package/AutoBox/index.js +72 -85
- package/AutoTips/index.js +72 -95
- package/Badge/index.js +18 -17
- package/Breadcrumbs/index.js +57 -73
- package/Button/index.js +89 -117
- package/ButtonGroup/index.js +30 -33
- package/Carousel/index.js +29 -33
- package/Cascader/index.js +7 -9
- package/Checkbox/index.js +28 -35
- package/CheckboxGroup/index.js +43 -58
- package/Collapse/index.js +52 -49
- package/CollapseBox/index.js +65 -70
- package/CollapseLayout/index.js +106 -101
- package/ColorPicker/index.js +3 -3
- package/ComboSelect/index.js +242 -330
- package/ComboSelect/utils.d.ts +0 -5
- package/Container/index.js +17 -21
- package/CopyText/index.js +50 -83
- package/DatePicker/index.js +22 -27
- package/Descriptions/index.js +50 -59
- package/Desktop/index.js +161 -180
- package/DragVerify/index.js +77 -113
- package/Drawer/index.js +82 -97
- package/Dropdown/index.js +3 -3
- package/DynamicMultiBox/index.js +219 -224
- package/DynamicMultiBox/interface.d.ts +7 -0
- package/Empty/index.js +26 -28
- package/Form/index.js +66 -74
- package/FormItem/index.js +14 -15
- package/FunctionModal/index.js +7 -14
- package/GlobalContext/index.js +17 -20
- package/Help/index.js +9 -12
- package/HelperText/index.js +11 -11
- package/InputLang/index.js +104 -124
- package/InputNumber/index.js +62 -81
- package/Label/index.js +19 -21
- package/Loading/index.js +11 -10
- package/Menu/index.js +302 -371
- package/Message/index.js +105 -114
- package/Modal/index.js +122 -148
- package/MultiBox/index.d.ts +5 -0
- package/MultiBox/index.js +111 -115
- package/Notification/index.js +105 -103
- package/OperateBtn/index.d.ts +3 -0
- package/OperateBtn/index.js +77 -107
- package/PageHeader/index.js +327 -406
- package/Pagination/index.js +107 -137
- package/ParauiProvider/index.js +20 -22
- package/PasswordRules/index.js +36 -40
- package/PopConfirm/index.js +62 -79
- package/Popover/index.js +12 -12
- package/Progress/index.js +72 -74
- package/Querying/index.js +52 -59
- package/README.md +2 -0
- package/Radio/index.js +27 -34
- package/RadioGroup/index.js +38 -52
- package/Search/index.js +35 -44
- package/Select/index.js +323 -364
- package/SelectInput/index.js +8 -13
- package/Selector/index.js +905 -796
- package/SelectorPicker/index.js +111 -133
- package/SingleBox/index.d.ts +5 -0
- package/SingleBox/index.js +92 -88
- package/Slider/index.js +46 -57
- package/Status/index.js +14 -13
- package/Stepper/index.js +25 -26
- package/Styles/theme.scss +9 -9
- package/Switch/index.js +32 -35
- package/Table/index.js +767 -963
- package/Tabs/index.js +102 -102
- package/Tag/index.js +115 -162
- package/TextEditor/index.js +81 -103
- package/TextField/index.js +142 -183
- package/TimePicker/index.js +27 -28
- package/Timeline/index.js +67 -58
- package/Title/index.js +32 -34
- package/ToggleButton/index.js +53 -52
- package/Tooltip/index.js +79 -82
- package/Transfer/index.js +160 -203
- package/Tree/index.js +7 -12
- package/Upload/index.js +527 -759
- package/Upload/interface.d.ts +5 -0
- package/_verture/{constant-0d9802f7.js → constant-5317fc89.js} +2 -2
- package/_verture/{index-f48d5ce6.js → index-0ced30f7.js} +1128 -1080
- package/_verture/{index-024bbc9b.js → index-775ad32d.js} +29 -25
- package/_verture/{index-05f7bf11.js → index-c568f272.js} +2 -2
- package/_verture/index-da9097d3.js +239 -0
- package/_verture/{index-56601c94.js → index-ef1235fb.js} +125 -134
- package/_verture/{index-de8f4428.js → index-f186b5e8.js} +315 -399
- package/_verture/intl-f2f27722.js +69 -0
- package/_verture/{modalContext-736ff215.js → modalContext-5df08980.js} +36 -64
- package/_verture/{slicedToArray-a8206399.js → slicedToArray-8223a2ef.js} +15 -2
- package/_verture/{useFormatMessage-703f8b20.js → useFormatMessage-eb13cf56.js} +5 -4
- package/_verture/{useGlobalProps-1b846a65.js → useGlobalProps-1e416658.js} +4 -3
- package/_verture/{usePopupContainer-87febeb9.js → usePopupContainer-635f66f4.js} +16 -15
- package/_verture/{util-7e1fb1e2.js → util-82646c4f.js} +5 -4
- package/_verture/{utils-06d86594.js → utils-46e99c9a.js} +34 -26
- package/index.js +21 -22
- package/locale/index.js +10 -10
- package/package.json +1 -1
- package/umd/AutoBox.js +9 -8
- package/umd/AutoTips.js +9 -8
- package/umd/Badge.js +1 -1
- package/umd/Breadcrumbs.js +9 -8
- package/umd/Button.js +9 -8
- package/umd/ButtonGroup.js +9 -8
- package/umd/Carousel.js +5 -5
- package/umd/Cascader.js +9 -8
- package/umd/Checkbox.js +9 -8
- package/umd/CheckboxGroup.js +9 -8
- package/umd/Collapse.js +8 -7
- package/umd/CollapseBox.js +1 -1
- package/umd/CollapseLayout.js +4 -4
- package/umd/ColorPicker.js +1 -1
- package/umd/ComboSelect.js +9 -8
- package/umd/Container.js +1 -1
- package/umd/CopyText.js +9 -8
- package/umd/DatePicker.js +9 -8
- package/umd/Descriptions.js +9 -8
- package/umd/Desktop.js +9 -8
- package/umd/DragVerify.js +4 -4
- package/umd/Drawer.js +9 -8
- package/umd/Dropdown.js +6 -5
- package/umd/DynamicMultiBox.js +11 -10
- package/umd/Empty.js +1 -1
- package/umd/Form.js +9 -8
- package/umd/FormItem.js +9 -8
- package/umd/FunctionModal.js +9 -8
- package/umd/GlobalContext.js +1 -1
- package/umd/Help.js +9 -8
- package/umd/HelperText.js +1 -1
- package/umd/InputLang.js +9 -8
- package/umd/InputNumber.js +9 -8
- package/umd/Label.js +9 -8
- package/umd/Loading.js +4 -4
- package/umd/Menu.js +4 -4
- package/umd/Message.js +4 -4
- package/umd/Modal.js +9 -8
- package/umd/MultiBox.js +9 -8
- package/umd/Notification.js +8 -7
- package/umd/OperateBtn.js +9 -8
- package/umd/PageHeader.js +9 -8
- package/umd/Pagination.js +9 -8
- package/umd/ParauiProvider.js +1 -1
- package/umd/PasswordRules.js +4 -4
- package/umd/PopConfirm.js +9 -8
- package/umd/Popover.js +9 -8
- package/umd/Progress.js +5 -5
- package/umd/Querying.js +1 -1
- package/umd/Radio.js +9 -8
- package/umd/RadioGroup.js +9 -8
- package/umd/Search.js +9 -8
- package/umd/Select.js +9 -8
- package/umd/SelectInput.js +9 -8
- package/umd/Selector.js +9 -8
- package/umd/SelectorPicker.js +9 -8
- package/umd/SingleBox.js +9 -8
- package/umd/Slider.js +6 -5
- package/umd/Status.js +4 -4
- package/umd/Stepper.js +9 -8
- package/umd/Switch.js +9 -8
- package/umd/Table.js +9 -8
- package/umd/Tabs.js +9 -8
- package/umd/Tag.js +9 -8
- package/umd/TextEditor.js +22 -21
- package/umd/TextField.js +9 -8
- package/umd/TimePicker.js +9 -8
- package/umd/Timeline.js +1 -1
- package/umd/Title.js +9 -8
- package/umd/ToggleButton.js +9 -8
- package/umd/Tooltip.js +9 -8
- package/umd/Transfer.js +10 -9
- package/umd/Tree.js +9 -8
- package/umd/Upload.js +10 -9
- package/umd/locale.js +1 -1
- package/_verture/index-232d890b.js +0 -327
- package/_verture/index-e9007d6a.js +0 -236
- package/_verture/intl-5c1ec055.js +0 -81
- package/_verture/toConsumableArray-8f4c9589.js +0 -19
- package/_verture/unsupportedIterableToArray-cb478f24.js +0 -16
package/ComboSelect/index.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { _ as _defineProperty } from '../_verture/defineProperty-1d116156.js';
|
|
2
|
-
import { _ as _toConsumableArray } from '../_verture/toConsumableArray-8f4c9589.js';
|
|
3
|
-
import { _ as _slicedToArray } from '../_verture/slicedToArray-a8206399.js';
|
|
4
|
-
import { r as regenerator } from '../_verture/index-232d890b.js';
|
|
5
1
|
import { a as __awaiter } from '../_verture/tslib.es6-55ed4bd2.js';
|
|
6
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
3
|
import React__default, { useRef, useState, useMemo, useImperativeHandle, useEffect } from 'react';
|
|
@@ -10,27 +6,24 @@ import SearchIcon from '@para-ui/icons/Search';
|
|
|
10
6
|
import CloseIcon from '@para-ui/icons/Close';
|
|
11
7
|
import CloseCircleF from '@para-ui/icons/CloseCircleF';
|
|
12
8
|
import Table from '../Table/index.js';
|
|
13
|
-
import { T as Tree } from '../_verture/index-
|
|
9
|
+
import { T as Tree } from '../_verture/index-f186b5e8.js';
|
|
14
10
|
import { Button } from '../Button/index.js';
|
|
15
|
-
import { D as Dropdown } from '../_verture/index-
|
|
11
|
+
import { D as Dropdown } from '../_verture/index-da9097d3.js';
|
|
16
12
|
import { Popover } from '../Popover/index.js';
|
|
17
13
|
import AutoTips from '../AutoTips/index.js';
|
|
18
14
|
import { Tooltip } from '../Tooltip/index.js';
|
|
19
15
|
import clsx from 'clsx';
|
|
20
|
-
import { g as getReplaceField, i as isRemoteLoad, d as debounce, t as toArray, a as getOverlaySize } from '../_verture/utils-
|
|
16
|
+
import { g as getReplaceField, i as isRemoteLoad, d as debounce, t as toArray, a as getOverlaySize } from '../_verture/utils-46e99c9a.js';
|
|
21
17
|
import { DeepClone, ArrayToObject } from '@paraview/lib';
|
|
22
18
|
import GlobalContext from '@para-ui/core/GlobalContext';
|
|
23
|
-
import { u as useGlobalProps } from '../_verture/useGlobalProps-
|
|
24
|
-
import { u as useFormatMessage } from '../_verture/useFormatMessage-
|
|
19
|
+
import { u as useGlobalProps } from '../_verture/useGlobalProps-1e416658.js';
|
|
20
|
+
import { u as useFormatMessage } from '../_verture/useFormatMessage-eb13cf56.js';
|
|
25
21
|
import Label from '../Label/index.js';
|
|
26
22
|
import HelperText from '../HelperText/index.js';
|
|
27
|
-
import { $ as $prefixCls } from '../_verture/constant-
|
|
23
|
+
import { $ as $prefixCls } from '../_verture/constant-5317fc89.js';
|
|
28
24
|
import { Search } from '../Search/index.js';
|
|
29
25
|
import LoadingOutlined from '@para-ui/icons/LoadingF';
|
|
30
26
|
import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
|
|
31
|
-
import '../_verture/typeof-adeedc13.js';
|
|
32
|
-
import '../_verture/unsupportedIterableToArray-cb478f24.js';
|
|
33
|
-
import '../_verture/typeof-c310ee4a.js';
|
|
34
27
|
import '../Checkbox/index.js';
|
|
35
28
|
import '../Help/index.js';
|
|
36
29
|
import '@para-ui/icons/Help';
|
|
@@ -45,6 +38,11 @@ import '../Empty/index.js';
|
|
|
45
38
|
import '../Radio/index.js';
|
|
46
39
|
import '../OperateBtn/index.js';
|
|
47
40
|
import '@para-ui/icons/More';
|
|
41
|
+
import '../PopConfirm/index.js';
|
|
42
|
+
import '@para-ui/icons/CheckCircleF';
|
|
43
|
+
import '@para-ui/icons/WarningCircle';
|
|
44
|
+
import '@para-ui/icons/WarningCircleF';
|
|
45
|
+
import '../_verture/usePopupContainer-635f66f4.js';
|
|
48
46
|
import '@para-ui/icons/Refresh';
|
|
49
47
|
import '../Pagination/index.js';
|
|
50
48
|
import '../TextField/index.js';
|
|
@@ -59,14 +57,15 @@ import '@para-ui/icons/Right';
|
|
|
59
57
|
import '@para-ui/icons/DoubleLeft';
|
|
60
58
|
import '@para-ui/icons/DoubleRight';
|
|
61
59
|
import 'rc-tree';
|
|
60
|
+
import '../_verture/typeof-adeedc13.js';
|
|
62
61
|
import '@para-ui/icons/Document';
|
|
62
|
+
import '../_verture/slicedToArray-8223a2ef.js';
|
|
63
63
|
import 'react-dom';
|
|
64
64
|
import '@para-ui/icons/EditFile';
|
|
65
65
|
import '@para-ui/icons/PlusCircle';
|
|
66
66
|
import '@para-ui/icons/Delete';
|
|
67
67
|
import '@para-ui/icons/MoreCircle';
|
|
68
68
|
import 'rc-dropdown';
|
|
69
|
-
import '../_verture/usePopupContainer-87febeb9.js';
|
|
70
69
|
import 'dayjs';
|
|
71
70
|
|
|
72
71
|
var en = {
|
|
@@ -88,165 +87,116 @@ var zh = {
|
|
|
88
87
|
};
|
|
89
88
|
|
|
90
89
|
var localeJson = {
|
|
91
|
-
zh
|
|
92
|
-
en
|
|
90
|
+
zh,
|
|
91
|
+
en
|
|
93
92
|
};
|
|
94
93
|
|
|
95
94
|
var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/11/18 上午10:16\n* @description\n*/\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-comboselect .comboselect-wrapper {\n position: relative;\n display: flex;\n width: 100%;\n min-height: 32px;\n padding: 0 12px;\n font-size: 14px;\n border: 1px solid rgb(212, 218, 227);\n border-radius: 4px;\n background-color: rgb(255, 255, 255);\n cursor: pointer;\n transition: 0.3s;\n}\n.paraui-v4-comboselect .comboselect-wrapper:hover {\n border-color: rgb(87, 131, 235);\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-placeholder {\n position: absolute;\n top: 50%;\n left: 12px;\n right: 42px;\n transform: translateY(-50%);\n font-size: 14px;\n color: rgb(161, 168, 179);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-arrow {\n position: absolute;\n top: 5px;\n right: 12px;\n line-height: 0;\n transition: 0.3s;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-arrow svg {\n color: rgb(92, 101, 115);\n font-size: 20px;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-clear {\n position: absolute;\n top: 7px;\n right: 12px;\n opacity: 0;\n line-height: 0;\n cursor: pointer;\n transition: 0.3s;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-clear svg {\n color: rgb(161, 168, 179);\n font-size: 16px;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-clear svg:hover {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow {\n position: relative;\n display: flex;\n width: 100%;\n flex: auto;\n flex-wrap: wrap;\n padding: 4px 30px 0 0;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-single.comboselect-overflow {\n height: 30px;\n padding: 0 30px 0 0;\n align-items: center;\n overflow: hidden;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-single.comboselect-overflow .comboselect-single-content {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 14px;\n color: rgb(29, 33, 38);\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item {\n flex: none;\n max-width: 100%;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item {\n display: inline-flex;\n align-items: center;\n padding: 0 12px;\n height: 22px;\n margin: 0 8px 4px 0;\n max-width: 100%;\n color: rgb(29, 33, 38);\n line-height: 22px;\n background-color: rgb(234, 236, 241);\n border-radius: 4px;\n user-select: none;\n transition: 0.3s;\n cursor: default;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item .comboselect-item-content {\n display: inline-block;\n margin-right: 4px;\n overflow: hidden;\n font-size: 12px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item .comboselect-item-remove {\n display: inline-flex;\n cursor: pointer;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item .comboselect-item-remove svg {\n font-size: 16px;\n color: inherit;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item .comboselect-item-remove svg:hover {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item--disabled {\n color: rgb(161, 168, 179);\n background-color: rgb(212, 218, 227);\n cursor: not-allowed;\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item--disabled .comboselect-item-remove {\n color: rgb(92, 101, 115);\n}\n.paraui-v4-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item--unclosable .comboselect-item-content {\n margin-right: 0;\n}\n.paraui-v4-comboselect-focused .comboselect-wrapper {\n border-color: rgb(87, 131, 235);\n}\n.paraui-v4-comboselect-focused .comboselect-wrapper .comboselect-arrow {\n transform: rotate(180deg);\n color: rgb(87, 131, 235);\n}\n.paraui-v4-comboselect-disabled {\n cursor: not-allowed;\n}\n.paraui-v4-comboselect-disabled .comboselect-wrapper {\n background-color: rgb(247, 248, 250);\n border-color: rgb(212, 218, 227);\n pointer-events: none;\n}\n.paraui-v4-comboselect-small .comboselect-wrapper, .paraui-v4-comboselect-medium .comboselect-wrapper {\n min-height: 28px;\n}\n.paraui-v4-comboselect-small .comboselect-wrapper .comboselect-overflow, .paraui-v4-comboselect-medium .comboselect-wrapper .comboselect-overflow {\n padding-top: 3px;\n}\n.paraui-v4-comboselect-small .comboselect-wrapper .comboselect-overflow-item .comboselect-item, .paraui-v4-comboselect-medium .comboselect-wrapper .comboselect-overflow-item .comboselect-item {\n height: 20px;\n margin-bottom: 3px;\n line-height: 20px;\n}\n.paraui-v4-comboselect-small .comboselect-wrapper .comboselect-overflow-single.comboselect-overflow, .paraui-v4-comboselect-medium .comboselect-wrapper .comboselect-overflow-single.comboselect-overflow {\n height: 26px;\n}\n.paraui-v4-comboselect-small .comboselect-wrapper .comboselect-arrow, .paraui-v4-comboselect-medium .comboselect-wrapper .comboselect-arrow {\n top: 3px;\n}\n.paraui-v4-comboselect-small .comboselect-wrapper .comboselect-clear, .paraui-v4-comboselect-medium .comboselect-wrapper .comboselect-clear {\n top: 5px;\n}\n.paraui-v4-comboselect-error .comboselect-wrapper {\n border-color: rgb(244, 66, 66);\n}\n.paraui-v4-comboselect-error .comboselect-wrapper:hover {\n border-color: rgb(244, 66, 66);\n}\n.paraui-v4-comboselect-clear .comboselect-wrapper:hover .comboselect-arrow {\n opacity: 0;\n}\n.paraui-v4-comboselect-clear .comboselect-wrapper:hover .comboselect-clear {\n opacity: 1;\n}\n.paraui-v4-comboselect-non-popup {\n border: 1px solid rgb(212, 218, 227);\n border-radius: 4px;\n background-color: rgb(255, 255, 255);\n}\n.paraui-v4-comboselect-non-popup .comboselect-wrapper {\n border: none;\n border-bottom: 1px solid rgb(212, 218, 227);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n cursor: default;\n}\n.paraui-v4-comboselect-non-popup .comboselect-wrapper:hover {\n border-color: rgb(212, 218, 227);\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content {\n position: relative;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search {\n display: flex;\n align-items: center;\n height: 40px;\n border-bottom: 1px solid rgb(234, 236, 241);\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-icon {\n line-height: 0;\n cursor: pointer;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-icon svg {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-input {\n width: 100%;\n flex: auto;\n border: none;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-input .text-field-content {\n border: unset;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-input::placeholder {\n color: rgb(161, 168, 179);\n font-size: 14px;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search .comboselect-clear-icon {\n display: inline-flex;\n cursor: pointer;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search .comboselect-clear-icon svg {\n font-size: 16px;\n color: rgb(161, 168, 179);\n transition: all 0.3s;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-search .comboselect-clear-icon svg:hover {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-table {\n padding-bottom: 10px;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-table .table-pagination {\n height: 52px;\n padding-right: 20px;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-table .paraui-v4-table {\n box-shadow: none;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-tree {\n padding: 6px 7px;\n}\n.paraui-v4-comboselect-non-popup .comboselect-non-popup-content .comboselect-tree .paraui-v4-tree-empty {\n padding: 52px 0 73px 0;\n}\n.paraui-v4-comboselect-dropdown .comboselect-dropdown-wrapper {\n position: relative;\n color: initial;\n overflow: hidden;\n}\n.paraui-v4-comboselect-dropdown .dropdown-content {\n display: flex;\n flex-direction: column;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search {\n display: flex;\n align-items: center;\n height: 40px;\n min-height: 40px;\n border-bottom: 1px solid rgb(234, 236, 241);\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-icon {\n line-height: 0;\n cursor: pointer;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-icon svg {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input {\n width: 100%;\n flex: auto;\n border: none;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input .text-field-content {\n border: unset;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input::placeholder {\n color: rgb(161, 168, 179);\n font-size: 14px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search .comboselect-clear-icon {\n display: inline-flex;\n cursor: pointer;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search .comboselect-clear-icon svg {\n font-size: 16px;\n color: rgb(161, 168, 179);\n transition: all 0.3s;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search .comboselect-clear-icon svg:hover {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-comboselect-dropdown .comboselect-table {\n flex: 1 1;\n overflow-y: auto;\n height: 100%;\n padding-bottom: 20px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-table .paraui-v4-table {\n box-shadow: none;\n}\n.paraui-v4-comboselect-dropdown .comboselect-table .paraui-v4-table .table-pagination {\n height: 52px;\n padding-right: 20px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-table .paraui-v4-table .table-contain {\n height: calc(100% - 52px);\n}\n.paraui-v4-comboselect-dropdown .comboselect-tree {\n flex: 1 1;\n overflow-y: auto;\n height: 100%;\n padding: 6px 7px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-tree .paraui-v4-tree-empty {\n height: 100%;\n padding: 52px 0 73px 0;\n}\n.paraui-v4-comboselect-dropdown .comboselect-tree .loading-node-content {\n display: flex;\n justify-content: center;\n}\n@keyframes rotateLoading {\n 0% {\n transformOrigin: 50% 50%;\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.paraui-v4-comboselect-dropdown .comboselect-tree .loading-node-content .loading-icon {\n margin-right: 4px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-tree .loading-node-content .loading-icon > svg {\n transition: all 0.3s ease-in-out;\n animation: rotateLoading 1s infinite linear;\n font-size: 20px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-actions {\n display: flex;\n align-items: center;\n padding: 8px 20px 8px 0;\n justify-content: flex-end;\n border-top: 1px solid rgb(234, 236, 241);\n}\n.paraui-v4-comboselect-dropdown .comboselect-actions button + button {\n margin-left: 10px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-fullPath {\n height: 34px;\n line-height: 34px;\n padding: 0 12px;\n border-top: 1px solid rgb(234, 236, 241);\n font-size: 14px;\n color: rgb(29, 33, 38);\n}\n.paraui-v4-comboselect-dropdown .comboselect-fullPath span {\n display: inline-block;\n height: 100%;\n padding-right: 10px;\n border-right: 1px solid rgb(234, 236, 241);\n}\n.paraui-v4-comboselect-dropdown .comboselect-list {\n padding: 8px 0;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-empty {\n padding: 50px 0 72px 0;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-treenode {\n width: 100%;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-treenode .paraui-v4-tree-switcher {\n display: none;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-treenode .paraui-v4-tree-checkbox {\n display: none;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-treenode .paraui-v4-tree-node-content-wrapper {\n width: 100%;\n margin: 0;\n padding: 6px 28px 6px 12px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-treenode .paraui-v4-tree-node-content-wrapper:hover {\n background-color: rgb(247, 248, 250);\n border-radius: 0 !important;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-treenode-checkbox-checked .paraui-v4-tree-node-content-wrapper {\n position: relative;\n color: rgb(87, 131, 235);\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-treenode-checkbox-checked .paraui-v4-tree-node-content-wrapper::after {\n position: absolute;\n content: \" \";\n width: 15px;\n height: 10px;\n right: 12px;\n top: 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAVCAYAAABR915hAAAABHNCSVQICAgIfAhkiAAAAPhJREFUSEu91TsKwkAQANBZ0drOIjaWIkTiCcSbaLHgbTxAFPUGHkFvEAh4hASs7BXH3WBC/tmv24TAJG8/M7ME/jRcGq8JfnYIJAj3zor8w01QwGNqvaG/sA6XUUQ4sxWziVgcTSgnrcFtqDW4C7UCi6DGYVE0g2f04d39UaCTZzJoArs0urIMWyLgKfTHGxVcFk3gOY2e7DnkLyq4CvpbcbGryOCqaHbGlR8IbLsOWshqGVwXrZSTCG4Cra3jNtwU2thA6nCA3i1/taW3jEr5tXauMp4HdNHOllmHm0A7YR6Qx02hQjAPmm7jyeCFXnhwLqpnWv7uCxqa4b8ke3ZZAAAAAElFTkSuQmCC\");\n transform: translateY(-50%);\n background-size: 15px 11px;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list .paraui-v4-tree-treenode-disabled .paraui-v4-tree-node-content-wrapper:hover {\n background-color: transparent;\n}\n.paraui-v4-comboselect-dropdown .comboselect-list-single .paraui-v4-tree-treenode-checkbox-checked .paraui-v4-tree-node-content-wrapper::after {\n display: none;\n}\n.paraui-v4-comboselect-more-popover {\n padding-left: 12px;\n}\n.paraui-v4-comboselect-more-popover .comboselect-more-wrapper {\n width: 300px;\n padding: 12px 0;\n}\n.paraui-v4-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-title {\n display: block;\n padding: 0 12px;\n margin-bottom: 5px;\n font-size: 12px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-content {\n max-height: 300px;\n padding: 0 12px;\n overflow-y: auto;\n}\n.paraui-v4-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item {\n display: flex;\n align-items: center;\n height: 36px;\n font-size: 14px;\n color: rgb(29, 33, 38);\n}\n.paraui-v4-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item-text {\n display: inline-block;\n max-width: calc(100% - 25px);\n}\n.paraui-v4-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item-remove {\n display: inline-flex;\n margin-left: auto;\n}\n.paraui-v4-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item-remove svg {\n font-size: 20px;\n color: rgb(29, 33, 38);\n cursor: pointer;\n}\n.paraui-v4-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item-remove svg:hover {\n color: rgb(87, 131, 235);\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input::-ms-clear, .paraui-v4-comboselect-non-popup .comboselect-search-input::-ms-clear {\n display: none;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input::-ms-reveal, .paraui-v4-comboselect-non-popup .comboselect-search-input::-ms-reveal {\n display: none;\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input:-moz-placeholder, .paraui-v4-comboselect-non-popup .comboselect-search-input:-moz-placeholder {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input::-moz-placeholder, .paraui-v4-comboselect-non-popup .comboselect-search-input::-moz-placeholder {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input:-ms-input-placeholder, .paraui-v4-comboselect-non-popup .comboselect-search-input:-ms-input-placeholder {\n /* Internet Explorer 10-11 */\n color: rgb(161, 168, 179);\n}\n.paraui-v4-comboselect-dropdown .comboselect-search-input::-ms-input-placeholder, .paraui-v4-comboselect-non-popup .comboselect-search-input::-ms-input-placeholder {\n /* Microsoft Edge */\n color: rgb(161, 168, 179);\n}";
|
|
96
95
|
styleInject(css_248z);
|
|
97
96
|
|
|
98
97
|
//组合选择器
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
_useGlobalProps$popov = _useGlobalProps.popoverActions,
|
|
120
|
-
popoverActions = _useGlobalProps$popov === void 0 ? null : _useGlobalProps$popov,
|
|
121
|
-
_useGlobalProps$showP = _useGlobalProps.showPopoverActions,
|
|
122
|
-
showPopoverActions = _useGlobalProps$showP === void 0 ? false : _useGlobalProps$showP,
|
|
123
|
-
_useGlobalProps$defau = _useGlobalProps.defaultOpen,
|
|
124
|
-
defaultOpen = _useGlobalProps$defau === void 0 ? false : _useGlobalProps$defau,
|
|
125
|
-
defaultValue = _useGlobalProps.defaultValue,
|
|
126
|
-
_useGlobalProps$repla = _useGlobalProps.replaceFields,
|
|
127
|
-
replaceFields = _useGlobalProps$repla === void 0 ? {
|
|
98
|
+
const ComboSelect = props => {
|
|
99
|
+
const {
|
|
100
|
+
mode = 'table',
|
|
101
|
+
placeholder,
|
|
102
|
+
searchPlaceholder,
|
|
103
|
+
maxCount,
|
|
104
|
+
disabled = false,
|
|
105
|
+
allowClear = false,
|
|
106
|
+
className,
|
|
107
|
+
style,
|
|
108
|
+
maxHeight,
|
|
109
|
+
height,
|
|
110
|
+
placement = 'bottomLeft',
|
|
111
|
+
popoverClassName,
|
|
112
|
+
size = 'large',
|
|
113
|
+
popoverActions = null,
|
|
114
|
+
showPopoverActions = false,
|
|
115
|
+
defaultOpen = false,
|
|
116
|
+
defaultValue,
|
|
117
|
+
replaceFields = {
|
|
128
118
|
key: 'key',
|
|
129
119
|
title: 'title',
|
|
130
120
|
children: 'children'
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
outputFields = _useGlobalProps$outpu === void 0 ? {
|
|
121
|
+
},
|
|
122
|
+
outputFields = {
|
|
134
123
|
outputKey: 'key',
|
|
135
124
|
outputTitle: 'label'
|
|
136
|
-
}
|
|
137
|
-
value
|
|
138
|
-
onClear
|
|
139
|
-
onCancel
|
|
140
|
-
onOk
|
|
141
|
-
onClose
|
|
142
|
-
onChange
|
|
143
|
-
onSearch
|
|
144
|
-
refresh
|
|
145
|
-
TableProps
|
|
146
|
-
TreeProps
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
fullPath = _useState10[0],
|
|
210
|
-
setFullPath = _useState10[1]; //路径
|
|
211
|
-
var _useState11 = useState(false),
|
|
212
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
213
|
-
hasAllClear = _useState12[0],
|
|
214
|
-
setHasAllClear = _useState12[1]; //显示清除按钮
|
|
215
|
-
var _useState13 = useState(0),
|
|
216
|
-
_useState14 = _slicedToArray(_useState13, 2),
|
|
217
|
-
inRefresh = _useState14[0],
|
|
218
|
-
setInRefresh = _useState14[1]; //内部刷新组件
|
|
219
|
-
var _useState15 = useState(false),
|
|
220
|
-
_useState16 = _slicedToArray(_useState15, 2),
|
|
221
|
-
openMore = _useState16[0],
|
|
222
|
-
setOpenMore = _useState16[1]; //显示更过选中
|
|
223
|
-
var _useState17 = useState([]),
|
|
224
|
-
_useState18 = _slicedToArray(_useState17, 2),
|
|
225
|
-
moreTagList = _useState18[0],
|
|
226
|
-
setMoreTagList = _useState18[1]; //更多tag列表
|
|
227
|
-
var originValueRef = useRef([]); // 保存value
|
|
228
|
-
var hasPopup = useRef(false); //显示弹框标识
|
|
229
|
-
var popUpNodeRef = useRef(); //popup dom
|
|
230
|
-
var emptyParamsRef = useRef({}); //空参数常量
|
|
231
|
-
var searchInputRef = useRef(); //search input
|
|
232
|
-
var mergedReplaceF = getReplaceField(mode, replaceFields, TableProps, TreeProps); //替换字段
|
|
233
|
-
var _mergedReplaceF$key = mergedReplaceF.key,
|
|
234
|
-
fieldKey = _mergedReplaceF$key === void 0 ? '' : _mergedReplaceF$key,
|
|
235
|
-
_mergedReplaceF$title = mergedReplaceF.title,
|
|
236
|
-
fieldTitle = _mergedReplaceF$title === void 0 ? '' : _mergedReplaceF$title;
|
|
237
|
-
var _ref = outputFields || {},
|
|
238
|
-
_ref$outputKey = _ref.outputKey,
|
|
239
|
-
outputKey = _ref$outputKey === void 0 ? 'key' : _ref$outputKey,
|
|
240
|
-
_ref$outputTitle = _ref.outputTitle,
|
|
241
|
-
outputTitle = _ref$outputTitle === void 0 ? 'label' : _ref$outputTitle;
|
|
242
|
-
var intl = useFormatMessage('ComboSelect', localeJson);
|
|
243
|
-
var isRemoteLoadRef = useRef(isRemoteLoad(mode, mode === 'table' ? TableProps : TreeProps)); //是否远程加载数据
|
|
244
|
-
var _useState19 = useState(),
|
|
245
|
-
_useState20 = _slicedToArray(_useState19, 2),
|
|
246
|
-
loadedKeys = _useState20[0],
|
|
247
|
-
setLoadKeys = _useState20[1]; //加载过的key
|
|
125
|
+
},
|
|
126
|
+
value,
|
|
127
|
+
onClear,
|
|
128
|
+
onCancel,
|
|
129
|
+
onOk,
|
|
130
|
+
onClose,
|
|
131
|
+
onChange,
|
|
132
|
+
onSearch,
|
|
133
|
+
refresh,
|
|
134
|
+
TableProps,
|
|
135
|
+
TreeProps,
|
|
136
|
+
checkable = true,
|
|
137
|
+
url,
|
|
138
|
+
ctx,
|
|
139
|
+
params,
|
|
140
|
+
method = 'Get',
|
|
141
|
+
showSearch = false,
|
|
142
|
+
realTimeSearch = false,
|
|
143
|
+
error = false,
|
|
144
|
+
hideErrorDom,
|
|
145
|
+
helperText,
|
|
146
|
+
paramsCallback,
|
|
147
|
+
fullPathKey,
|
|
148
|
+
fullPathRender,
|
|
149
|
+
disablePopup = false,
|
|
150
|
+
tagRender,
|
|
151
|
+
onTagRemove,
|
|
152
|
+
action,
|
|
153
|
+
label = '',
|
|
154
|
+
labelTooltip,
|
|
155
|
+
required = false,
|
|
156
|
+
emptyProps,
|
|
157
|
+
toggleSelectedOnSingle = false,
|
|
158
|
+
optionRender,
|
|
159
|
+
getOptionLabel,
|
|
160
|
+
dropdownMatchSelectWidth = true,
|
|
161
|
+
getPopupContainer,
|
|
162
|
+
maxTagTextLength,
|
|
163
|
+
renderInputContent
|
|
164
|
+
} = useGlobalProps(props, 'ComboSelect');
|
|
165
|
+
const {
|
|
166
|
+
language,
|
|
167
|
+
locale
|
|
168
|
+
} = React__default.useContext(GlobalContext);
|
|
169
|
+
const selectRef = useRef();
|
|
170
|
+
const [open, setOpen] = useState(false); //打开popover
|
|
171
|
+
const [checkKeys, setCheckKeys] = useState([]); //选中key
|
|
172
|
+
const checkValuesRef = useRef(new Map()); //选中value
|
|
173
|
+
const [checkList, setCheckList] = useState([]); //tag显示选中项
|
|
174
|
+
const [inputValue, setInputValue] = useState(''); //input value
|
|
175
|
+
const searchKeyRef = useRef(undefined); //搜索参数
|
|
176
|
+
const [fullPath, setFullPath] = useState(null); //路径
|
|
177
|
+
const [hasAllClear, setHasAllClear] = useState(false); //显示清除按钮
|
|
178
|
+
const [inRefresh, setInRefresh] = useState(0); //内部刷新组件
|
|
179
|
+
const [openMore, setOpenMore] = useState(false); //显示更过选中
|
|
180
|
+
const [moreTagList, setMoreTagList] = useState([]); //更多tag列表
|
|
181
|
+
const originValueRef = useRef([]); // 保存value
|
|
182
|
+
const hasPopup = useRef(false); //显示弹框标识
|
|
183
|
+
const popUpNodeRef = useRef(); //popup dom
|
|
184
|
+
const emptyParamsRef = useRef({}); //空参数常量
|
|
185
|
+
const searchInputRef = useRef(); //search input
|
|
186
|
+
const mergedReplaceF = getReplaceField(mode, replaceFields, TableProps, TreeProps); //替换字段
|
|
187
|
+
const {
|
|
188
|
+
key: fieldKey = '',
|
|
189
|
+
title: fieldTitle = ''
|
|
190
|
+
} = mergedReplaceF;
|
|
191
|
+
const {
|
|
192
|
+
outputKey = 'key',
|
|
193
|
+
outputTitle = 'label'
|
|
194
|
+
} = outputFields || {};
|
|
195
|
+
const intl = useFormatMessage('ComboSelect', localeJson);
|
|
196
|
+
const isRemoteLoadRef = useRef(isRemoteLoad(mode, mode === 'table' ? TableProps : TreeProps)); //是否远程加载数据
|
|
197
|
+
const [loadedKeys, setLoadKeys] = useState(); //加载过的key
|
|
248
198
|
//选择框点击
|
|
249
|
-
|
|
199
|
+
const handleSelectorClick = event => {
|
|
250
200
|
if (disablePopup) return;
|
|
251
201
|
if (disabled) return;
|
|
252
202
|
if (hasPopup.current) {
|
|
@@ -257,7 +207,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
257
207
|
setOpen(true);
|
|
258
208
|
};
|
|
259
209
|
//关闭popover
|
|
260
|
-
|
|
210
|
+
const handlePopoverClose = (event, reason) => {
|
|
261
211
|
hasPopup.current = false;
|
|
262
212
|
searchKeyRef.current = undefined;
|
|
263
213
|
emptyParamsRef.current = {};
|
|
@@ -270,35 +220,31 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
270
220
|
}
|
|
271
221
|
};
|
|
272
222
|
//清空选择器数据
|
|
273
|
-
|
|
223
|
+
const clearSelectorData = () => {
|
|
274
224
|
setCheckKeys([]);
|
|
275
225
|
setCheckList([]);
|
|
276
226
|
setMoreTagList([]);
|
|
277
227
|
};
|
|
278
228
|
//处理选中
|
|
279
|
-
|
|
229
|
+
const handleChecked = (keys, values) => {
|
|
280
230
|
setCheckKeys(keys);
|
|
281
231
|
formatSelectedData(values, keys);
|
|
282
232
|
};
|
|
283
233
|
//内部状态变化
|
|
284
|
-
|
|
285
|
-
setCheckKeys(
|
|
286
|
-
|
|
287
|
-
return k === currItem[outputKey];
|
|
288
|
-
});
|
|
234
|
+
const internalChange = currItem => {
|
|
235
|
+
setCheckKeys(prev => {
|
|
236
|
+
const idx = prev.findIndex(k => k === currItem[outputKey]);
|
|
289
237
|
if (idx > -1) prev.splice(idx, 1);
|
|
290
|
-
return
|
|
238
|
+
return [...prev];
|
|
291
239
|
});
|
|
292
240
|
};
|
|
293
241
|
//删除当前选中项
|
|
294
|
-
|
|
242
|
+
const handleRemoveTagClick = (evt, currItem) => {
|
|
295
243
|
evt.stopPropagation();
|
|
296
244
|
if (currItem.closable === false) return; //tag 不可关闭
|
|
297
245
|
if ((onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(currItem)) === false) return; //返回false不删除
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
return _[outputKey] === currItem[outputKey];
|
|
301
|
-
});
|
|
246
|
+
const newCheckList = [...checkList];
|
|
247
|
+
const idx = newCheckList.findIndex(_ => _[outputKey] === currItem[outputKey]);
|
|
302
248
|
if (idx > -1) newCheckList.splice(idx, 1);
|
|
303
249
|
setCheckList(newCheckList);
|
|
304
250
|
internalChange(currItem);
|
|
@@ -307,28 +253,16 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
307
253
|
/**
|
|
308
254
|
* @desc 搜索 - 防抖
|
|
309
255
|
*/
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
return regenerator.wrap(function _callee$(_context) {
|
|
314
|
-
while (1) switch (_context.prev = _context.next) {
|
|
315
|
-
case 0:
|
|
316
|
-
searchFn(val);
|
|
317
|
-
case 1:
|
|
318
|
-
case "end":
|
|
319
|
-
return _context.stop();
|
|
320
|
-
}
|
|
321
|
-
}, _callee);
|
|
322
|
-
}));
|
|
323
|
-
}, 400);
|
|
324
|
-
}, []);
|
|
256
|
+
const onRealTimeSearch = useMemo(() => debounce(val => __awaiter(void 0, void 0, void 0, function* () {
|
|
257
|
+
searchFn(val);
|
|
258
|
+
}), 400), []);
|
|
325
259
|
//输入框
|
|
326
|
-
|
|
260
|
+
const handleInputChange = value => {
|
|
327
261
|
setInputValue(value);
|
|
328
262
|
realTimeSearch && onRealTimeSearch(value);
|
|
329
263
|
};
|
|
330
|
-
|
|
331
|
-
|
|
264
|
+
const searchFn = value => {
|
|
265
|
+
const input = value !== null && value !== void 0 ? value : inputValue;
|
|
332
266
|
if (!onSearch) {
|
|
333
267
|
searchKeyRef.current = input === null || input === void 0 ? void 0 : input.trim();
|
|
334
268
|
setInRefresh(Math.random());
|
|
@@ -338,7 +272,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
338
272
|
if (isRemoteLoadRef.current) setLoadKeys([]);
|
|
339
273
|
};
|
|
340
274
|
//popover 完成
|
|
341
|
-
|
|
275
|
+
const handlePopoverDone = (evt, flag) => {
|
|
342
276
|
if (flag) {
|
|
343
277
|
onOk === null || onOk === void 0 ? void 0 : onOk(checkList);
|
|
344
278
|
handlePopoverClose(null, 'ok');
|
|
@@ -348,11 +282,11 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
348
282
|
}
|
|
349
283
|
};
|
|
350
284
|
//设置容器宽高
|
|
351
|
-
|
|
352
|
-
|
|
285
|
+
const setPopoverWH = () => {
|
|
286
|
+
let w = 'auto';
|
|
353
287
|
if (selectRef.current) w = "".concat(selectRef.current.offsetWidth, "px");
|
|
354
|
-
|
|
355
|
-
|
|
288
|
+
const overlayStyle = getOverlaySize(mode, isRemoteLoadRef.current, maxHeight, height);
|
|
289
|
+
const wObj = {
|
|
356
290
|
minWidth: w,
|
|
357
291
|
maxWidth: 960
|
|
358
292
|
};
|
|
@@ -366,23 +300,27 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
366
300
|
}, wObj), overlayStyle);
|
|
367
301
|
};
|
|
368
302
|
//select className
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
303
|
+
const makeSelectCls = () => {
|
|
304
|
+
return clsx("".concat($prefixCls, "-comboselect"), className, {
|
|
305
|
+
["".concat($prefixCls, "-comboselect-focused")]: open && !disablePopup,
|
|
306
|
+
["".concat($prefixCls, "-comboselect-disabled")]: disabled,
|
|
307
|
+
["".concat($prefixCls, "-comboselect-radioable")]: !checkable,
|
|
308
|
+
["".concat($prefixCls, "-comboselect-error")]: error,
|
|
309
|
+
["".concat($prefixCls, "-comboselect-clear")]: hasAllClear,
|
|
310
|
+
["".concat($prefixCls, "-comboselect-non-popup")]: disablePopup
|
|
311
|
+
}, "".concat($prefixCls, "-comboselect-").concat(size));
|
|
372
312
|
};
|
|
373
313
|
//格式化选中数据
|
|
374
|
-
|
|
314
|
+
const formatSelectedData = (values, keys) => {
|
|
375
315
|
var _a;
|
|
376
|
-
|
|
316
|
+
let opts = [];
|
|
377
317
|
if (values === null || values === void 0 ? void 0 : values.length) {
|
|
378
|
-
opts = values.map(
|
|
318
|
+
opts = values.map(item => {
|
|
379
319
|
var _a;
|
|
380
|
-
|
|
320
|
+
const temp = {};
|
|
381
321
|
temp[outputKey] = item[fieldKey] || '';
|
|
382
322
|
if (getOptionLabel) temp[outputTitle] = getOptionLabel(item) || '';else temp[outputTitle] = item[fieldTitle] || '';
|
|
383
|
-
|
|
384
|
-
return v[outputKey] === temp[outputKey];
|
|
385
|
-
});
|
|
323
|
+
const oValue = (_a = originValueRef.current) === null || _a === void 0 ? void 0 : _a.find(v => v[outputKey] === temp[outputKey]);
|
|
386
324
|
if (oValue) {
|
|
387
325
|
if (oValue.disabled !== undefined) {
|
|
388
326
|
temp.disabled = oValue.disabled;
|
|
@@ -395,48 +333,40 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
395
333
|
});
|
|
396
334
|
}
|
|
397
335
|
if ((keys === null || keys === void 0 ? void 0 : keys.length) && values) {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
return v[fieldKey] === k;
|
|
402
|
-
}) === -1;
|
|
403
|
-
});
|
|
404
|
-
var diffValue = (_a = originValueRef.current) === null || _a === void 0 ? void 0 : _a.filter(function (v) {
|
|
405
|
-
return fKeys === null || fKeys === void 0 ? void 0 : fKeys.includes(v[outputKey]);
|
|
406
|
-
});
|
|
407
|
-
if (diffValue) (_opts = opts).push.apply(_opts, _toConsumableArray(diffValue));
|
|
336
|
+
const fKeys = keys.filter(k => values.findIndex(v => v[fieldKey] === k) === -1);
|
|
337
|
+
const diffValue = (_a = originValueRef.current) === null || _a === void 0 ? void 0 : _a.filter(v => fKeys === null || fKeys === void 0 ? void 0 : fKeys.includes(v[outputKey]));
|
|
338
|
+
if (diffValue) opts.push(...diffValue);
|
|
408
339
|
}
|
|
409
340
|
setCheckList(opts);
|
|
410
|
-
|
|
341
|
+
const vals = DeepClone(values || []);
|
|
411
342
|
if (!checkable)
|
|
412
343
|
//单选
|
|
413
344
|
onChange === null || onChange === void 0 ? void 0 : onChange(opts[0], vals[0]);else onChange === null || onChange === void 0 ? void 0 : onChange(opts, vals);
|
|
414
345
|
};
|
|
415
346
|
//外部数据转换为内部状态
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
return _[outputKey];
|
|
419
|
-
});
|
|
347
|
+
const transformToState = options => {
|
|
348
|
+
const keys = options.map(_ => _[outputKey]);
|
|
420
349
|
setCheckList(options);
|
|
421
350
|
setCheckKeys(keys);
|
|
422
351
|
originValueRef.current = options;
|
|
423
352
|
};
|
|
424
353
|
//tree select
|
|
425
|
-
|
|
354
|
+
const handleSelect = (selectedKeys, info) => {
|
|
426
355
|
setFullPath(info.node);
|
|
427
356
|
};
|
|
428
357
|
//渲染搜索
|
|
429
|
-
|
|
430
|
-
|
|
358
|
+
const renderSearch = () => {
|
|
359
|
+
let styObj = {};
|
|
431
360
|
if (!disablePopup) {
|
|
432
|
-
|
|
433
|
-
width
|
|
434
|
-
minWidth
|
|
435
|
-
maxWidth
|
|
361
|
+
const {
|
|
362
|
+
width,
|
|
363
|
+
minWidth,
|
|
364
|
+
maxWidth
|
|
365
|
+
} = setPopoverWH();
|
|
436
366
|
styObj = {
|
|
437
|
-
width
|
|
438
|
-
minWidth
|
|
439
|
-
maxWidth
|
|
367
|
+
width,
|
|
368
|
+
minWidth,
|
|
369
|
+
maxWidth
|
|
440
370
|
};
|
|
441
371
|
}
|
|
442
372
|
return jsx("div", Object.assign({
|
|
@@ -455,20 +385,20 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
455
385
|
placeholder: searchPlaceholder !== null && searchPlaceholder !== void 0 ? searchPlaceholder : intl({
|
|
456
386
|
id: 'searchPlaceholder'
|
|
457
387
|
}),
|
|
458
|
-
onClickBtn:
|
|
388
|
+
onClickBtn: () => {
|
|
459
389
|
searchFn();
|
|
460
390
|
},
|
|
461
|
-
onEnter:
|
|
391
|
+
onEnter: () => {
|
|
462
392
|
searchFn();
|
|
463
393
|
},
|
|
464
|
-
onClear:
|
|
394
|
+
onClear: () => {
|
|
465
395
|
searchFn('');
|
|
466
396
|
}
|
|
467
397
|
})
|
|
468
398
|
}));
|
|
469
399
|
};
|
|
470
400
|
//render popover action
|
|
471
|
-
|
|
401
|
+
const renderActions = () => {
|
|
472
402
|
if (popoverActions) return jsx("div", Object.assign({
|
|
473
403
|
className: 'comboselect-actions'
|
|
474
404
|
}, {
|
|
@@ -478,9 +408,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
478
408
|
className: 'comboselect-actions'
|
|
479
409
|
}, {
|
|
480
410
|
children: [jsx(Button, Object.assign({
|
|
481
|
-
onClick:
|
|
482
|
-
return handlePopoverDone(evt, false);
|
|
483
|
-
},
|
|
411
|
+
onClick: evt => handlePopoverDone(evt, false),
|
|
484
412
|
variant: "outlined",
|
|
485
413
|
size: 'small'
|
|
486
414
|
}, {
|
|
@@ -489,9 +417,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
489
417
|
})
|
|
490
418
|
})), jsx(Button, Object.assign({
|
|
491
419
|
variant: "outlined",
|
|
492
|
-
onClick:
|
|
493
|
-
return handlePopoverDone(evt, true);
|
|
494
|
-
},
|
|
420
|
+
onClick: evt => handlePopoverDone(evt, true),
|
|
495
421
|
size: 'small'
|
|
496
422
|
}, {
|
|
497
423
|
children: intl({
|
|
@@ -501,7 +427,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
501
427
|
}));
|
|
502
428
|
};
|
|
503
429
|
//渲染完整路径
|
|
504
|
-
|
|
430
|
+
const renderFullPath = () => {
|
|
505
431
|
var _a;
|
|
506
432
|
if (mode !== 'tree' || !fullPath) return null;
|
|
507
433
|
if (fullPathRender) {
|
|
@@ -522,7 +448,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
522
448
|
}));
|
|
523
449
|
};
|
|
524
450
|
//全部清空
|
|
525
|
-
|
|
451
|
+
const handleAllClear = evt => {
|
|
526
452
|
evt.stopPropagation();
|
|
527
453
|
clearSelectorData();
|
|
528
454
|
handlePopoverClose();
|
|
@@ -531,62 +457,58 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
531
457
|
onChange === null || onChange === void 0 ? void 0 : onChange(checkable ? [] : {});
|
|
532
458
|
};
|
|
533
459
|
//显示更多
|
|
534
|
-
|
|
460
|
+
const handleOpenMore = e => {
|
|
535
461
|
e.stopPropagation();
|
|
536
462
|
setOpenMore(true);
|
|
537
463
|
handlePopoverClose();
|
|
538
464
|
};
|
|
539
465
|
//暴露给外部的行为
|
|
540
|
-
useImperativeHandle(action,
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
}
|
|
545
|
-
};
|
|
546
|
-
});
|
|
547
|
-
useEffect(function () {
|
|
466
|
+
useImperativeHandle(action, () => ({
|
|
467
|
+
closePopup: () => handlePopoverClose()
|
|
468
|
+
}));
|
|
469
|
+
useEffect(() => {
|
|
548
470
|
if (!disablePopup && defaultOpen) {
|
|
549
471
|
//默认打开
|
|
550
472
|
hasPopup.current = true;
|
|
551
473
|
setOpen(defaultOpen);
|
|
552
474
|
}
|
|
553
475
|
}, [defaultOpen]);
|
|
554
|
-
useEffect(
|
|
476
|
+
useEffect(() => {
|
|
555
477
|
if (defaultValue) {
|
|
556
478
|
//默认值
|
|
557
479
|
transformToState(toArray(defaultValue));
|
|
558
480
|
}
|
|
559
481
|
}, []);
|
|
560
|
-
useEffect(
|
|
482
|
+
useEffect(() => {
|
|
561
483
|
if (value) {
|
|
562
484
|
//受控values
|
|
563
485
|
transformToState(toArray(value));
|
|
564
486
|
}
|
|
565
487
|
}, [value]);
|
|
566
488
|
//是否显示清除图标
|
|
567
|
-
useEffect(
|
|
489
|
+
useEffect(() => {
|
|
568
490
|
if (allowClear) setHasAllClear(!!(checkList === null || checkList === void 0 ? void 0 : checkList.length));
|
|
569
491
|
}, [checkList]);
|
|
570
|
-
useEffect(
|
|
571
|
-
|
|
492
|
+
useEffect(() => {
|
|
493
|
+
const ownerDocument = node => {
|
|
572
494
|
return node && node.ownerDocument || document;
|
|
573
495
|
};
|
|
574
|
-
|
|
496
|
+
const handleMouseDown = evt => {
|
|
575
497
|
var _a, _b;
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
498
|
+
const doc = ownerDocument(selectRef.current);
|
|
499
|
+
const target = evt.target;
|
|
500
|
+
const insideDOM = !doc.documentElement.contains(target) || ((_a = popUpNodeRef.current) === null || _a === void 0 ? void 0 : _a.contains(target)) || ((_b = selectRef.current) === null || _b === void 0 ? void 0 : _b.contains(target)) || false;
|
|
579
501
|
if (mode === 'table') {
|
|
580
502
|
//表格模式时,显示点击popover时阻止 关闭弹框
|
|
581
503
|
//表格分页popover
|
|
582
|
-
|
|
504
|
+
const tablePageSelectCls = ".".concat($prefixCls, "-select-popover .select-popover-content");
|
|
583
505
|
//表格显示列popover
|
|
584
|
-
|
|
506
|
+
const tableColumCls = ".".concat($prefixCls, "-table-show-colums-popover");
|
|
585
507
|
//表格过滤popover
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
508
|
+
const tableFilterCls = ".".concat($prefixCls, "-filter-popover");
|
|
509
|
+
const tablePageSelectDom = document.querySelector(tablePageSelectCls);
|
|
510
|
+
const tableColumn = document.querySelector(tableColumCls);
|
|
511
|
+
const tableFilter = document.querySelector(tableFilterCls);
|
|
590
512
|
if (tablePageSelectDom && tablePageSelectDom.contains(target)) return;
|
|
591
513
|
if (tableColumn && tableColumn.contains(target)) return;
|
|
592
514
|
if (tableFilter && tableFilter.contains(target)) return;
|
|
@@ -596,21 +518,21 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
596
518
|
}
|
|
597
519
|
};
|
|
598
520
|
if (open) {
|
|
599
|
-
setTimeout(
|
|
521
|
+
setTimeout(() => {
|
|
600
522
|
var _a;
|
|
601
523
|
(_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
602
524
|
}, 200);
|
|
603
525
|
}
|
|
604
526
|
if (!disablePopup && open) {
|
|
605
|
-
|
|
527
|
+
const doc = ownerDocument(selectRef.current);
|
|
606
528
|
doc.addEventListener('mousedown', handleMouseDown);
|
|
607
|
-
return
|
|
529
|
+
return () => {
|
|
608
530
|
doc.removeEventListener('mousedown', handleMouseDown);
|
|
609
531
|
};
|
|
610
532
|
}
|
|
611
533
|
}, [open]);
|
|
612
534
|
//tag memo
|
|
613
|
-
|
|
535
|
+
const tagMemo = useMemo(() => {
|
|
614
536
|
var _a;
|
|
615
537
|
if (!(checkList === null || checkList === void 0 ? void 0 : checkList.length)) return null;
|
|
616
538
|
// 自定义渲染输入框内容
|
|
@@ -629,8 +551,8 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
629
551
|
})
|
|
630
552
|
}));
|
|
631
553
|
}
|
|
632
|
-
|
|
633
|
-
|
|
554
|
+
let realShowList = [...checkList]; //实际显示
|
|
555
|
+
let overList = [];
|
|
634
556
|
if (maxCount) {
|
|
635
557
|
if (checkList.length > maxCount) {
|
|
636
558
|
overList = checkList.slice(maxCount); //超出
|
|
@@ -642,7 +564,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
642
564
|
}
|
|
643
565
|
}
|
|
644
566
|
//超出tag渲染
|
|
645
|
-
|
|
567
|
+
const renderOverTag = () => {
|
|
646
568
|
return (overList === null || overList === void 0 ? void 0 : overList.length) ? jsx("div", Object.assign({
|
|
647
569
|
className: 'comboselect-overflow-item'
|
|
648
570
|
}, {
|
|
@@ -659,18 +581,18 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
659
581
|
})) : null;
|
|
660
582
|
};
|
|
661
583
|
//渲染tag item
|
|
662
|
-
|
|
584
|
+
const renderTagItem = item => {
|
|
663
585
|
if (tagRender) return tagRender(item);
|
|
664
|
-
|
|
665
|
-
disabled
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
586
|
+
const {
|
|
587
|
+
disabled,
|
|
588
|
+
closable = true
|
|
589
|
+
} = item !== null && item !== void 0 ? item : {};
|
|
590
|
+
let displayLabel = item[outputTitle];
|
|
591
|
+
let isOverflow = false;
|
|
670
592
|
//限制tag文本长度
|
|
671
593
|
if (typeof maxTagTextLength === 'number') {
|
|
672
594
|
if (typeof displayLabel === 'string' || typeof displayLabel === 'number') {
|
|
673
|
-
|
|
595
|
+
const strLabel = String(displayLabel);
|
|
674
596
|
if (strLabel.length > maxTagTextLength) {
|
|
675
597
|
displayLabel = "".concat(strLabel.slice(0, maxTagTextLength), "...");
|
|
676
598
|
isOverflow = true;
|
|
@@ -685,9 +607,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
685
607
|
}, {
|
|
686
608
|
children: [isOverflow ? jsx(Tooltip, Object.assign({
|
|
687
609
|
title: jsx("div", Object.assign({
|
|
688
|
-
onClick:
|
|
689
|
-
return e.stopPropagation();
|
|
690
|
-
}
|
|
610
|
+
onClick: e => e.stopPropagation()
|
|
691
611
|
}, {
|
|
692
612
|
children: item[outputTitle]
|
|
693
613
|
})),
|
|
@@ -707,19 +627,15 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
707
627
|
})
|
|
708
628
|
})), closable === true && jsx("span", Object.assign({
|
|
709
629
|
className: 'comboselect-item-remove',
|
|
710
|
-
onClick:
|
|
711
|
-
|
|
712
|
-
},
|
|
713
|
-
onMouseDown: function onMouseDown(e) {
|
|
714
|
-
return e.stopPropagation();
|
|
715
|
-
}
|
|
630
|
+
onClick: evt => handleRemoveTagClick(evt, item),
|
|
631
|
+
onMouseDown: e => e.stopPropagation()
|
|
716
632
|
}, {
|
|
717
633
|
children: jsx(CloseIcon, {})
|
|
718
634
|
}))]
|
|
719
635
|
}));
|
|
720
636
|
};
|
|
721
637
|
return jsxs(Fragment, {
|
|
722
|
-
children: [realShowList.map(
|
|
638
|
+
children: [realShowList.map((item, idx) => {
|
|
723
639
|
return jsx("div", Object.assign({
|
|
724
640
|
className: 'comboselect-overflow-item'
|
|
725
641
|
}, {
|
|
@@ -729,8 +645,8 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
729
645
|
});
|
|
730
646
|
}, [checkList, onChange, checkable]);
|
|
731
647
|
//处理参数
|
|
732
|
-
|
|
733
|
-
|
|
648
|
+
const getParams = useMemo(() => {
|
|
649
|
+
let P = params || emptyParamsRef.current;
|
|
734
650
|
if (showSearch && !onSearch && searchKeyRef.current !== undefined) {
|
|
735
651
|
P = Object.assign(Object.assign({}, P), {
|
|
736
652
|
searchKey: searchKeyRef.current
|
|
@@ -739,16 +655,16 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
739
655
|
return (paramsCallback === null || paramsCallback === void 0 ? void 0 : paramsCallback(P)) || P;
|
|
740
656
|
}, [params, inRefresh, refresh, open]);
|
|
741
657
|
//表格组件
|
|
742
|
-
|
|
658
|
+
const tableMemo = useMemo(() => {
|
|
743
659
|
if (!disablePopup && !open || mode !== 'table') return null;
|
|
744
|
-
|
|
745
|
-
url
|
|
746
|
-
ctx
|
|
660
|
+
const reqOpts = {
|
|
661
|
+
url,
|
|
662
|
+
ctx,
|
|
747
663
|
search: getParams,
|
|
748
|
-
method
|
|
664
|
+
method
|
|
749
665
|
};
|
|
750
666
|
//处理table radio
|
|
751
|
-
|
|
667
|
+
const handleTableRadio = (keys, values) => {
|
|
752
668
|
if (!checkable) {
|
|
753
669
|
//单选时关闭下拉框,点击自己不取消
|
|
754
670
|
handlePopoverClose();
|
|
@@ -776,19 +692,19 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
776
692
|
}));
|
|
777
693
|
}, [checkKeys, refresh, params, inRefresh, disablePopup, open, getParams, fieldKey, checkable]);
|
|
778
694
|
//树组件
|
|
779
|
-
|
|
695
|
+
const treeMemo = useMemo(() => {
|
|
780
696
|
if (!disablePopup && !open || !['tree', 'list'].includes(mode)) return null;
|
|
781
|
-
|
|
782
|
-
url
|
|
783
|
-
ctx
|
|
697
|
+
const reqOpts = {
|
|
698
|
+
url,
|
|
699
|
+
ctx,
|
|
784
700
|
params: getParams,
|
|
785
|
-
method
|
|
701
|
+
method
|
|
786
702
|
};
|
|
787
703
|
//处理tree nodes
|
|
788
|
-
|
|
704
|
+
const handleTreeCheck = (checkedKeys, info) => {
|
|
789
705
|
var _a;
|
|
790
706
|
if (!info.checked) {
|
|
791
|
-
|
|
707
|
+
const temp = {};
|
|
792
708
|
temp[outputKey] = info.node[fieldKey] || '';
|
|
793
709
|
temp[outputTitle] = info.node[fieldTitle] || '';
|
|
794
710
|
if ((onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(temp)) === false) {
|
|
@@ -803,21 +719,21 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
803
719
|
if (checkKeys.includes((_a = info.node) === null || _a === void 0 ? void 0 : _a.key)) return;
|
|
804
720
|
}
|
|
805
721
|
}
|
|
806
|
-
|
|
722
|
+
let nodes = info.checkedNodes;
|
|
807
723
|
if (!checkable) {
|
|
808
724
|
//单选
|
|
809
725
|
if (checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) nodes = [info.node];
|
|
810
726
|
}
|
|
811
727
|
//多选
|
|
812
728
|
if (checkable) {
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
ckeys.forEach(
|
|
729
|
+
const nodesObj = ArrayToObject('key', nodes);
|
|
730
|
+
const ckeys = Array.from(checkValuesRef.current.keys());
|
|
731
|
+
ckeys.forEach(k => {
|
|
816
732
|
if (!checkedKeys.includes(k)) {
|
|
817
733
|
checkValuesRef.current.delete(k);
|
|
818
734
|
}
|
|
819
735
|
});
|
|
820
|
-
checkedKeys.forEach(
|
|
736
|
+
checkedKeys.forEach(k => {
|
|
821
737
|
if (nodesObj[k]) {
|
|
822
738
|
checkValuesRef.current.set(k, nodesObj[k]);
|
|
823
739
|
}
|
|
@@ -826,7 +742,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
826
742
|
}
|
|
827
743
|
handleChecked(checkedKeys, nodes);
|
|
828
744
|
};
|
|
829
|
-
|
|
745
|
+
const _titleRender = dataNode => {
|
|
830
746
|
if (TreeProps === null || TreeProps === void 0 ? void 0 : TreeProps.titleRender) {
|
|
831
747
|
return TreeProps.titleRender(dataNode);
|
|
832
748
|
}
|
|
@@ -835,7 +751,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
835
751
|
}
|
|
836
752
|
return dataNode.title;
|
|
837
753
|
};
|
|
838
|
-
|
|
754
|
+
const treeCls = clsx('comboselect-tree', {
|
|
839
755
|
'comboselect-list': mode === 'list',
|
|
840
756
|
'comboselect-list-single': mode === 'list' && !checkable
|
|
841
757
|
});
|
|
@@ -875,7 +791,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
875
791
|
}));
|
|
876
792
|
}, [checkKeys, refresh, params, inRefresh, disablePopup, open, loadedKeys, mode, getParams, checkable]);
|
|
877
793
|
//组合选择器输入框
|
|
878
|
-
|
|
794
|
+
const comboSelectorInput = jsxs("div", Object.assign({
|
|
879
795
|
className: 'comboselect-wrapper',
|
|
880
796
|
ref: selectRef,
|
|
881
797
|
onClick: handleSelectorClick
|
|
@@ -902,7 +818,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
902
818
|
}))]
|
|
903
819
|
}));
|
|
904
820
|
//渲染label
|
|
905
|
-
|
|
821
|
+
const renderLabel = () => {
|
|
906
822
|
if (label || required) {
|
|
907
823
|
return jsx(Label, Object.assign({
|
|
908
824
|
label: label,
|
|
@@ -912,7 +828,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
912
828
|
return null;
|
|
913
829
|
};
|
|
914
830
|
//非popover 模式
|
|
915
|
-
|
|
831
|
+
const nonPopoverMemo = useMemo(() => {
|
|
916
832
|
return jsxs(Fragment, {
|
|
917
833
|
children: [comboSelectorInput, jsxs("div", Object.assign({
|
|
918
834
|
className: 'comboselect-non-popup-content'
|
|
@@ -922,7 +838,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
922
838
|
});
|
|
923
839
|
}, [checkKeys, inputValue, refresh, params, fullPath, hasAllClear, helperText, language, locale, onChange, onClear]);
|
|
924
840
|
//popover 浮层
|
|
925
|
-
|
|
841
|
+
const renderOverlay = () => {
|
|
926
842
|
return jsx("div", Object.assign({
|
|
927
843
|
ref: popUpNodeRef,
|
|
928
844
|
className: 'comboselect-dropdown-wrapper'
|
|
@@ -936,10 +852,10 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
936
852
|
}));
|
|
937
853
|
};
|
|
938
854
|
//popover 渲染更多节点
|
|
939
|
-
|
|
940
|
-
|
|
855
|
+
const renderPopoverMore = () => {
|
|
856
|
+
const generateMoreTag = () => {
|
|
941
857
|
if (!(moreTagList === null || moreTagList === void 0 ? void 0 : moreTagList.length)) return null;
|
|
942
|
-
return moreTagList.map(
|
|
858
|
+
return moreTagList.map((item, idx) => {
|
|
943
859
|
return jsxs("div", Object.assign({
|
|
944
860
|
className: "comboselect-more-item"
|
|
945
861
|
}, {
|
|
@@ -951,9 +867,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
951
867
|
})
|
|
952
868
|
})), jsx("span", Object.assign({
|
|
953
869
|
className: 'comboselect-more-item-remove',
|
|
954
|
-
onClick:
|
|
955
|
-
return handleRemoveTagClick(e, item);
|
|
956
|
-
}
|
|
870
|
+
onClick: e => handleRemoveTagClick(e, item)
|
|
957
871
|
}, {
|
|
958
872
|
children: jsx(CloseIcon, {})
|
|
959
873
|
}))]
|
|
@@ -979,7 +893,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
979
893
|
}));
|
|
980
894
|
};
|
|
981
895
|
//popover 模式
|
|
982
|
-
|
|
896
|
+
const popoverMemo = useMemo(() => {
|
|
983
897
|
return jsx(Dropdown, Object.assign({
|
|
984
898
|
overlay: renderOverlay(),
|
|
985
899
|
visible: open,
|
|
@@ -993,9 +907,7 @@ var ComboSelect = function ComboSelect(props) {
|
|
|
993
907
|
destroyTooltipOnHide: true,
|
|
994
908
|
placement: "rightTop",
|
|
995
909
|
content: renderPopoverMore(),
|
|
996
|
-
onVisibleChange:
|
|
997
|
-
return setOpenMore(false);
|
|
998
|
-
},
|
|
910
|
+
onVisibleChange: () => setOpenMore(false),
|
|
999
911
|
overlayClassName: "".concat($prefixCls, "-comboselect-more-popover")
|
|
1000
912
|
}, {
|
|
1001
913
|
children: comboSelectorInput
|