acud 1.0.7 → 1.0.10
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/CHANGELOG.md +466 -0
- package/dist/acud.css +4 -32
- package/dist/acud.css.map +1 -1
- package/dist/acud.js +1091 -482
- package/dist/acud.js.map +1 -1
- package/dist/acud.min.css +1 -1
- package/dist/acud.min.css.map +1 -1
- package/dist/acud.min.js +8 -6
- package/dist/acud.min.js.map +1 -1
- package/es/card/style/index.css +0 -1
- package/es/date-picker/src/PickerPanel.js +0 -1
- package/es/date-picker/src/RangePicker.js +0 -1
- package/es/dialog-box/style/index.css +0 -1
- package/es/form/style/index.css +1 -2
- package/es/input-number/src/hooks/useFrame.d.ts +1 -1
- package/es/input-number/style/index.css +0 -7
- package/es/locale/zh_CN.js +2 -1
- package/es/modal/style/index.css +0 -1
- package/es/pagination/pagination.js +3 -3
- package/es/pagination/rc-pagination/Options.js +1 -1
- package/es/pagination/style/index.css +0 -2
- package/es/popover/style/index.css +0 -1
- package/es/rate/style/index.css +0 -1
- package/es/select/style/index.css +0 -2
- package/es/slider/style/index.css +0 -1
- package/es/switch/style/index.css +0 -1
- package/es/tabs/style/index.css +0 -1
- package/es/tag/style/index.css +0 -1
- package/es/timeline/style/index.css +0 -2
- package/es/transfer/DataSource.d.ts +2 -0
- package/es/transfer/DataSource.js +54 -24
- package/es/transfer/Target.d.ts +2 -0
- package/es/transfer/Target.js +86 -18
- package/es/transfer/index.d.ts +3 -0
- package/es/transfer/index.js +14 -5
- package/es/transfer/style/index.css +2 -1
- package/es/transfer/style/index.less +2 -1
- package/es/tree/style/index.css +0 -3
- package/es/tree-select/style/index.css +0 -3
- package/es/virtual-list/List.js +0 -7
- package/lib/card/style/index.css +0 -1
- package/lib/date-picker/src/PickerPanel.js +0 -1
- package/lib/date-picker/src/RangePicker.js +0 -1
- package/lib/dialog-box/style/index.css +0 -1
- package/lib/form/style/index.css +1 -2
- package/lib/input-number/src/hooks/useFrame.d.ts +1 -1
- package/lib/input-number/style/index.css +0 -7
- package/lib/locale/zh_CN.js +2 -1
- package/lib/modal/style/index.css +0 -1
- package/lib/pagination/pagination.js +3 -3
- package/lib/pagination/rc-pagination/Options.js +1 -1
- package/lib/pagination/style/index.css +0 -2
- package/lib/popover/style/index.css +0 -1
- package/lib/rate/style/index.css +0 -1
- package/lib/select/style/index.css +0 -2
- package/lib/slider/style/index.css +0 -1
- package/lib/switch/style/index.css +0 -1
- package/lib/tabs/style/index.css +0 -1
- package/lib/tag/style/index.css +0 -1
- package/lib/timeline/style/index.css +0 -2
- package/lib/transfer/DataSource.d.ts +2 -0
- package/lib/transfer/DataSource.js +54 -24
- package/lib/transfer/Target.d.ts +2 -0
- package/lib/transfer/Target.js +88 -18
- package/lib/transfer/index.d.ts +3 -0
- package/lib/transfer/index.js +15 -5
- package/lib/transfer/style/index.css +2 -1
- package/lib/transfer/style/index.less +2 -1
- package/lib/tree/style/index.css +0 -3
- package/lib/tree-select/style/index.css +0 -3
- package/lib/virtual-list/List.js +0 -7
- package/package.json +1 -1
package/es/card/style/index.css
CHANGED
|
@@ -122,7 +122,6 @@ function PickerPanel(props) {
|
|
|
122
122
|
var now = generateConfig.getNow();
|
|
123
123
|
if (!date) return now; // When value is null and set showTime
|
|
124
124
|
|
|
125
|
-
// When value is null and set showTime
|
|
126
125
|
if (!mergedValue && showTime) {
|
|
127
126
|
if (_typeof(showTime) === 'object') {
|
|
128
127
|
return setDateTime(generateConfig, date, showTime.defaultValue || now);
|
|
@@ -172,7 +172,6 @@ function InnerRangePicker(props) {
|
|
|
172
172
|
} // Fill disabled unit
|
|
173
173
|
|
|
174
174
|
|
|
175
|
-
// Fill disabled unit
|
|
176
175
|
for (var i = 0; i < 2; i += 1) {
|
|
177
176
|
if (mergedDisabled[i] && !getValue(postValues, i) && !getValue(allowEmpty, i)) {
|
|
178
177
|
postValues = updateValues(postValues, generateConfig.getNow(), i);
|
package/es/form/style/index.css
CHANGED
|
@@ -742,8 +742,7 @@
|
|
|
742
742
|
.acud-form-item-label > label .acud-form-item-tooltip {
|
|
743
743
|
color: #B8BABF;
|
|
744
744
|
cursor: help;
|
|
745
|
-
|
|
746
|
-
writing-mode: horizontal-tb;
|
|
745
|
+
writing-mode: horizontal-tb;
|
|
747
746
|
-webkit-margin-start: 4px;
|
|
748
747
|
margin-inline-start: 4px;
|
|
749
748
|
}
|
|
@@ -249,7 +249,6 @@
|
|
|
249
249
|
transition: all 0.1s linear;
|
|
250
250
|
-webkit-user-select: none;
|
|
251
251
|
-moz-user-select: none;
|
|
252
|
-
-ms-user-select: none;
|
|
253
252
|
user-select: none;
|
|
254
253
|
}
|
|
255
254
|
.acud-input-number-handler-up-inner > *,
|
|
@@ -314,18 +313,12 @@
|
|
|
314
313
|
.acud-input-number-input::-moz-placeholder {
|
|
315
314
|
opacity: 1;
|
|
316
315
|
}
|
|
317
|
-
.acud-input-number-input:-ms-input-placeholder {
|
|
318
|
-
color: #D4D6D9;
|
|
319
|
-
}
|
|
320
316
|
.acud-input-number-input::placeholder {
|
|
321
317
|
color: #D4D6D9;
|
|
322
318
|
}
|
|
323
319
|
.acud-input-number-input:-moz-placeholder-shown {
|
|
324
320
|
text-overflow: ellipsis;
|
|
325
321
|
}
|
|
326
|
-
.acud-input-number-input:-ms-input-placeholder {
|
|
327
|
-
text-overflow: ellipsis;
|
|
328
|
-
}
|
|
329
322
|
.acud-input-number-input:placeholder-shown {
|
|
330
323
|
text-overflow: ellipsis;
|
|
331
324
|
}
|
package/es/locale/zh_CN.js
CHANGED
package/es/modal/style/index.css
CHANGED
|
@@ -87,7 +87,8 @@ var Pagination = function Pagination(_a) {
|
|
|
87
87
|
mini: isSmall
|
|
88
88
|
}, 'rtl', direction === 'rtl'), className);
|
|
89
89
|
return /*#__PURE__*/React.createElement(RcPagination, _extends({
|
|
90
|
-
showSizeChanger: showSizeChanger
|
|
90
|
+
showSizeChanger: showSizeChanger,
|
|
91
|
+
locale: LOCALE
|
|
91
92
|
}, restProps, {
|
|
92
93
|
prefixCls: prefixCls,
|
|
93
94
|
selectPrefixCls: selectPrefixCls
|
|
@@ -95,8 +96,7 @@ var Pagination = function Pagination(_a) {
|
|
|
95
96
|
className: extendedClassName,
|
|
96
97
|
selectComponentClass: showSizeChanger ? Select : undefined,
|
|
97
98
|
Option: Option,
|
|
98
|
-
showQuickJumper: showQuickJumper
|
|
99
|
-
locale: LOCALE
|
|
99
|
+
showQuickJumper: showQuickJumper
|
|
100
100
|
}));
|
|
101
101
|
};
|
|
102
102
|
|
|
@@ -24,7 +24,7 @@ var Options = function Options(_ref) {
|
|
|
24
24
|
}, []);
|
|
25
25
|
buildOptionText = React.useCallback(function (value) {
|
|
26
26
|
return "".concat(value, " ").concat(locale.items_per_page);
|
|
27
|
-
}, []);
|
|
27
|
+
}, [locale]);
|
|
28
28
|
var handleChangeSize = React.useCallback(function (value) {
|
|
29
29
|
changeSize(Number(value));
|
|
30
30
|
}, [changeSize]);
|
|
@@ -67,7 +67,6 @@
|
|
|
67
67
|
cursor: pointer;
|
|
68
68
|
-webkit-user-select: none;
|
|
69
69
|
-moz-user-select: none;
|
|
70
|
-
-ms-user-select: none;
|
|
71
70
|
user-select: none;
|
|
72
71
|
box-sizing: border-box;
|
|
73
72
|
font-weight: 400;
|
|
@@ -251,7 +250,6 @@
|
|
|
251
250
|
cursor: pointer;
|
|
252
251
|
-webkit-user-select: none;
|
|
253
252
|
-moz-user-select: none;
|
|
254
|
-
-ms-user-select: none;
|
|
255
253
|
user-select: none;
|
|
256
254
|
}
|
|
257
255
|
.acud-pagination-prev.acud-pagination-disabled button,
|
package/es/rate/style/index.css
CHANGED
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
position: relative;
|
|
39
39
|
-webkit-user-select: none;
|
|
40
40
|
-moz-user-select: none;
|
|
41
|
-
-ms-user-select: none;
|
|
42
41
|
user-select: none;
|
|
43
42
|
color: #151B26;
|
|
44
43
|
}
|
|
@@ -191,7 +190,6 @@
|
|
|
191
190
|
transition: font-size 0.3s, line-height 0.3s, height 0.3s;
|
|
192
191
|
-webkit-user-select: none;
|
|
193
192
|
-moz-user-select: none;
|
|
194
|
-
-ms-user-select: none;
|
|
195
193
|
user-select: none;
|
|
196
194
|
-webkit-margin-end: 5px;
|
|
197
195
|
margin-inline-end: 5px;
|
package/es/tabs/style/index.css
CHANGED
package/es/tag/style/index.css
CHANGED
|
@@ -166,7 +166,6 @@
|
|
|
166
166
|
cursor: pointer;
|
|
167
167
|
-webkit-user-select: none;
|
|
168
168
|
-moz-user-select: none;
|
|
169
|
-
-ms-user-select: none;
|
|
170
169
|
user-select: none;
|
|
171
170
|
}
|
|
172
171
|
.common-content-link {
|
|
@@ -579,7 +578,6 @@
|
|
|
579
578
|
cursor: pointer;
|
|
580
579
|
-webkit-user-select: none;
|
|
581
580
|
-moz-user-select: none;
|
|
582
|
-
-ms-user-select: none;
|
|
583
581
|
user-select: none;
|
|
584
582
|
}
|
|
585
583
|
.acud-timeline-item-content-link {
|
|
@@ -4,5 +4,7 @@ export interface DataSourceProps<RecordType> extends TransferProps<RecordType> {
|
|
|
4
4
|
tKeys: string[];
|
|
5
5
|
setTKeys: (t: string[]) => void;
|
|
6
6
|
expansionSource: RecordType[];
|
|
7
|
+
loading: boolean;
|
|
8
|
+
setLoading: (loading: boolean) => void;
|
|
7
9
|
}
|
|
8
10
|
export default function dataSource<RecordType extends TransferItem = TransferItem>(props: DataSourceProps<RecordType>): JSX.Element;
|
|
@@ -38,23 +38,30 @@ export default function dataSource(props) {
|
|
|
38
38
|
useWorker = _props$useWorker === void 0 ? false : _props$useWorker,
|
|
39
39
|
tKeys = props.tKeys,
|
|
40
40
|
setTKeys = props.setTKeys,
|
|
41
|
+
loading = props.loading,
|
|
42
|
+
setLoading = props.setLoading,
|
|
43
|
+
_props$workerLimit = props.workerLimit,
|
|
44
|
+
workerLimit = _props$workerLimit === void 0 ? 20000 : _props$workerLimit,
|
|
45
|
+
_props$workerLoading = props.workerLoading,
|
|
46
|
+
workerLoading = _props$workerLoading === void 0 ? true : _props$workerLoading,
|
|
41
47
|
leftStyle = props.leftStyle,
|
|
42
48
|
locale = props.locale;
|
|
43
49
|
var filterOption = filterOptionProp || (displayType === 'table' ? defaultTableFilterOption : defaultFilterOption);
|
|
44
50
|
var dataSourceCls = "".concat(prefixCls, "-datasource");
|
|
45
51
|
var sourceTitle = locale.sourceTitle,
|
|
46
52
|
searchPlaceholder = locale.searchPlaceholder,
|
|
47
|
-
sourceNoData = locale.sourceNoData
|
|
53
|
+
sourceNoData = locale.sourceNoData,
|
|
54
|
+
workerLoadingTip = locale.workerLoadingTip; // 搜索关键字
|
|
48
55
|
|
|
49
56
|
var _React$useState = React.useState(''),
|
|
50
57
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
51
58
|
searchValue = _React$useState2[0],
|
|
52
59
|
setSearchValue = _React$useState2[1];
|
|
53
60
|
|
|
54
|
-
var _React$useState3 = React.useState(
|
|
61
|
+
var _React$useState3 = React.useState([]),
|
|
55
62
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
56
|
-
|
|
57
|
-
|
|
63
|
+
totalSelectedUndisabledKeys = _React$useState4[0],
|
|
64
|
+
setTotalSelectedUndisabledKeys = _React$useState4[1];
|
|
58
65
|
|
|
59
66
|
var filterSource = React.useMemo(function () {
|
|
60
67
|
if (searchValue === '') {
|
|
@@ -100,37 +107,60 @@ export default function dataSource(props) {
|
|
|
100
107
|
var unDisabledDataSource = filterSource.filter(function (data) {
|
|
101
108
|
return !data.group && !data.disabled;
|
|
102
109
|
});
|
|
103
|
-
|
|
110
|
+
var udd = unDisabledDataSource.map(function (data) {
|
|
104
111
|
return data.key;
|
|
105
112
|
});
|
|
113
|
+
return udd;
|
|
106
114
|
}, [filterSource]);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
115
|
+
React.useEffect(function () {
|
|
116
|
+
if (useWorker && tKeys.length >= workerLimit && totalUndisabledKeys.length >= workerLimit) {
|
|
117
|
+
workerLoading && setLoading(true);
|
|
118
|
+
var tsuWorker = createWorker(function (e) {
|
|
119
|
+
var _e$data = e.data,
|
|
120
|
+
tKeys = _e$data.tKeys,
|
|
121
|
+
totalUndisabledKeys = _e$data.totalUndisabledKeys;
|
|
122
|
+
var tsu = tKeys.filter(function (key) {
|
|
123
|
+
return totalUndisabledKeys.includes(key);
|
|
124
|
+
});
|
|
125
|
+
self.postMessage(tsu);
|
|
126
|
+
});
|
|
127
|
+
tsuWorker.addEventListener('message', function (event) {
|
|
128
|
+
setTotalSelectedUndisabledKeys(event.data);
|
|
129
|
+
tsuWorker.terminate();
|
|
130
|
+
workerLoading && setLoading(false);
|
|
131
|
+
});
|
|
132
|
+
tsuWorker.postMessage({
|
|
133
|
+
tKeys: tKeys,
|
|
134
|
+
totalUndisabledKeys: totalUndisabledKeys
|
|
135
|
+
});
|
|
136
|
+
} else {
|
|
137
|
+
var tsu = tKeys.filter(function (key) {
|
|
138
|
+
return totalUndisabledKeys.includes(key);
|
|
139
|
+
});
|
|
140
|
+
setTotalSelectedUndisabledKeys(tsu);
|
|
141
|
+
}
|
|
142
|
+
}, [totalUndisabledKeys, tKeys, useWorker, workerLimit, workerLoading]);
|
|
112
143
|
var allChecked = totalUndisabledKeys.length === totalSelectedUndisabledKeys.length;
|
|
113
144
|
var indeterminate = totalSelectedUndisabledKeys.length && totalUndisabledKeys.length > totalSelectedUndisabledKeys.length;
|
|
114
145
|
var selectAll = React.useCallback(function () {
|
|
115
146
|
var newTKeys = []; // 取消全选
|
|
116
147
|
|
|
117
148
|
if (allChecked) {
|
|
118
|
-
if (useWorker) {
|
|
119
|
-
setLoading(true);
|
|
149
|
+
if (useWorker && tKeys.length > workerLimit && totalUndisabledKeys.length >= workerLimit) {
|
|
150
|
+
workerLoading && setLoading(true);
|
|
120
151
|
var cancelAllWorker = createWorker(function (e) {
|
|
121
|
-
var _e$
|
|
122
|
-
tKeys = _e$
|
|
123
|
-
totalUndisabledKeys = _e$
|
|
152
|
+
var _e$data2 = e.data,
|
|
153
|
+
tKeys = _e$data2.tKeys,
|
|
154
|
+
totalUndisabledKeys = _e$data2.totalUndisabledKeys;
|
|
124
155
|
var nKeys = tKeys.filter(function (key) {
|
|
125
156
|
return !totalUndisabledKeys.includes(key);
|
|
126
157
|
});
|
|
127
158
|
self.postMessage(nKeys);
|
|
128
|
-
});
|
|
129
|
-
|
|
159
|
+
});
|
|
130
160
|
cancelAllWorker.addEventListener('message', function (event) {
|
|
131
161
|
setTKeys(event.data);
|
|
132
162
|
cancelAllWorker.terminate();
|
|
133
|
-
setLoading(false);
|
|
163
|
+
workerLoading && setLoading(false);
|
|
134
164
|
});
|
|
135
165
|
cancelAllWorker.postMessage({
|
|
136
166
|
tKeys: tKeys,
|
|
@@ -146,7 +176,7 @@ export default function dataSource(props) {
|
|
|
146
176
|
newTKeys = _toConsumableArray(new Set([].concat(_toConsumableArray(tKeys), _toConsumableArray(totalUndisabledKeys))));
|
|
147
177
|
setTKeys(newTKeys);
|
|
148
178
|
}
|
|
149
|
-
}, [totalSelectedUndisabledKeys, totalUndisabledKeys, allChecked, tKeys]);
|
|
179
|
+
}, [expansionSource, totalSelectedUndisabledKeys, totalUndisabledKeys, useWorker, workerLimit, workerLoading, allChecked, tKeys]);
|
|
150
180
|
var searchChange = React.useCallback(function (e) {
|
|
151
181
|
var searchValue = e.target.value;
|
|
152
182
|
setSearchValue(searchValue);
|
|
@@ -167,13 +197,13 @@ export default function dataSource(props) {
|
|
|
167
197
|
onChange: onSelectChange,
|
|
168
198
|
selectedRowKeys: tKeys
|
|
169
199
|
};
|
|
170
|
-
return /*#__PURE__*/React.createElement(
|
|
171
|
-
className: dataSourceCls,
|
|
172
|
-
style: leftStyle
|
|
173
|
-
}, /*#__PURE__*/React.createElement(Loading, {
|
|
200
|
+
return /*#__PURE__*/React.createElement(Loading, {
|
|
174
201
|
loading: loading,
|
|
175
|
-
tip:
|
|
202
|
+
tip: workerLoadingTip,
|
|
176
203
|
size: "small"
|
|
204
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
205
|
+
className: dataSourceCls,
|
|
206
|
+
style: leftStyle
|
|
177
207
|
}, /*#__PURE__*/React.createElement("div", {
|
|
178
208
|
className: "".concat(dataSourceCls, "-header")
|
|
179
209
|
}, showSelectAll && displayType === 'single' && /*#__PURE__*/React.createElement(Checkbox, {
|
package/es/transfer/Target.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { TransferItem, TransferProps } from '.';
|
|
|
3
3
|
export interface DataSourceProps<RecordType> extends TransferProps<RecordType> {
|
|
4
4
|
tKeys: string[];
|
|
5
5
|
setTKeys: (t: string[]) => void;
|
|
6
|
+
loading: boolean;
|
|
7
|
+
setLoading: (loading: boolean) => void;
|
|
6
8
|
expansionSource: RecordType[];
|
|
7
9
|
}
|
|
8
10
|
export default function target<RecordType extends TransferItem = TransferItem>(props: DataSourceProps<RecordType>): JSX.Element;
|
package/es/transfer/Target.js
CHANGED
|
@@ -10,6 +10,8 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
10
10
|
import * as React from 'react';
|
|
11
11
|
import classnames from 'classnames/dedupe';
|
|
12
12
|
import { OutlinedClose } from 'acud-icon';
|
|
13
|
+
import { createWorker } from '../_util/createWorker';
|
|
14
|
+
import Loading from '../loading';
|
|
13
15
|
import Table from '../table';
|
|
14
16
|
import TargetList from './TargetList';
|
|
15
17
|
import Search from '../search';
|
|
@@ -32,6 +34,13 @@ export default function target(props) {
|
|
|
32
34
|
showSearchClear = _props$showSearchClea === void 0 ? true : _props$showSearchClea,
|
|
33
35
|
tKeys = props.tKeys,
|
|
34
36
|
setTKeys = props.setTKeys,
|
|
37
|
+
loading = props.loading,
|
|
38
|
+
setLoading = props.setLoading,
|
|
39
|
+
useWorker = props.useWorker,
|
|
40
|
+
_props$workerLimit = props.workerLimit,
|
|
41
|
+
workerLimit = _props$workerLimit === void 0 ? 20000 : _props$workerLimit,
|
|
42
|
+
_props$workerLoading = props.workerLoading,
|
|
43
|
+
workerLoading = _props$workerLoading === void 0 ? true : _props$workerLoading,
|
|
35
44
|
rightStyle = props.rightStyle,
|
|
36
45
|
locale = props.locale,
|
|
37
46
|
expansionSource = props.expansionSource,
|
|
@@ -40,26 +49,58 @@ export default function target(props) {
|
|
|
40
49
|
var targetTitle = locale.targetTitle,
|
|
41
50
|
searchPlaceholder = locale.searchPlaceholder,
|
|
42
51
|
targetNoData = locale.targetNoData,
|
|
43
|
-
clearAll = locale.clearAll
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
52
|
+
clearAll = locale.clearAll,
|
|
53
|
+
workerLoadingTip = locale.workerLoadingTip;
|
|
54
|
+
|
|
55
|
+
var _React$useState = React.useState([]),
|
|
56
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
57
|
+
targetSource = _React$useState2[0],
|
|
58
|
+
setTargetSource = _React$useState2[1];
|
|
59
|
+
|
|
60
|
+
React.useEffect(function () {
|
|
61
|
+
if (useWorker && expansionSource.length > workerLimit && tKeys.length > workerLimit) {
|
|
62
|
+
workerLoading && setLoading(true);
|
|
63
|
+
var tsWorker = createWorker(function (e) {
|
|
64
|
+
var _e$data = e.data,
|
|
65
|
+
expansionSource = _e$data.expansionSource,
|
|
66
|
+
tKeys = _e$data.tKeys;
|
|
67
|
+
var tsArr = expansionSource.filter(function (data) {
|
|
68
|
+
return tKeys.includes(data.key) || data.group && data.childrenKeys.some(function (childKey) {
|
|
69
|
+
return tKeys.includes(childKey);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
self.postMessage(tsArr);
|
|
48
73
|
});
|
|
49
|
-
|
|
74
|
+
tsWorker.addEventListener('message', function (event) {
|
|
75
|
+
setTargetSource(event.data);
|
|
76
|
+
tsWorker.terminate();
|
|
77
|
+
workerLoading && setLoading(false);
|
|
78
|
+
});
|
|
79
|
+
tsWorker.postMessage({
|
|
80
|
+
expansionSource: expansionSource,
|
|
81
|
+
tKeys: tKeys
|
|
82
|
+
});
|
|
83
|
+
} else {
|
|
84
|
+
var ts = expansionSource.filter(function (data) {
|
|
85
|
+
return tKeys.includes(data.key) || data.group && data.childrenKeys.some(function (childKey) {
|
|
86
|
+
return tKeys.includes(childKey);
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
setTargetSource(ts);
|
|
90
|
+
}
|
|
50
91
|
}, [expansionSource, tKeys]); // 搜索关键字
|
|
51
92
|
|
|
52
|
-
var _React$
|
|
53
|
-
_React$
|
|
54
|
-
searchValue = _React$
|
|
55
|
-
setSearchValue = _React$
|
|
93
|
+
var _React$useState3 = React.useState(''),
|
|
94
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
95
|
+
searchValue = _React$useState4[0],
|
|
96
|
+
setSearchValue = _React$useState4[1];
|
|
56
97
|
|
|
57
98
|
var filterSource = React.useMemo(function () {
|
|
58
99
|
if (searchValue === '') {
|
|
59
100
|
return targetSource;
|
|
60
101
|
}
|
|
61
102
|
|
|
62
|
-
|
|
103
|
+
var tfs = targetSource.filter(function (data) {
|
|
63
104
|
if (data.group) {
|
|
64
105
|
return filterOption(searchValue, data) || data.children.some(function (child) {
|
|
65
106
|
return tKeys.includes(child.key) && filterOption(searchValue, child);
|
|
@@ -75,6 +116,7 @@ export default function target(props) {
|
|
|
75
116
|
|
|
76
117
|
return filterOption(searchValue, data);
|
|
77
118
|
});
|
|
119
|
+
return tfs;
|
|
78
120
|
}, [searchValue, targetSource]); // 已选项
|
|
79
121
|
|
|
80
122
|
var optionSource = React.useMemo(function () {
|
|
@@ -101,11 +143,33 @@ export default function target(props) {
|
|
|
101
143
|
});
|
|
102
144
|
}, [optionSource]);
|
|
103
145
|
var handleClearAll = React.useCallback(function () {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
146
|
+
if (useWorker && tKeys.length > workerLimit && totalUndisabledKeys.length > workerLimit) {
|
|
147
|
+
workerLoading && setLoading(true);
|
|
148
|
+
var tkWorker = createWorker(function (e) {
|
|
149
|
+
var _e$data2 = e.data,
|
|
150
|
+
totalUndisabledKeys = _e$data2.totalUndisabledKeys,
|
|
151
|
+
tKeys = _e$data2.tKeys;
|
|
152
|
+
var newTKeys = tKeys.filter(function (key) {
|
|
153
|
+
return !totalUndisabledKeys.includes(key);
|
|
154
|
+
});
|
|
155
|
+
self.postMessage(newTKeys);
|
|
156
|
+
});
|
|
157
|
+
tkWorker.addEventListener('message', function (event) {
|
|
158
|
+
setTKeys(event.data);
|
|
159
|
+
tkWorker.terminate();
|
|
160
|
+
workerLoading && setLoading(false);
|
|
161
|
+
});
|
|
162
|
+
tkWorker.postMessage({
|
|
163
|
+
totalUndisabledKeys: totalUndisabledKeys,
|
|
164
|
+
tKeys: tKeys
|
|
165
|
+
});
|
|
166
|
+
} else {
|
|
167
|
+
var newTKeys = tKeys.filter(function (key) {
|
|
168
|
+
return !totalUndisabledKeys.includes(key);
|
|
169
|
+
});
|
|
170
|
+
setTKeys(newTKeys);
|
|
171
|
+
}
|
|
172
|
+
}, [totalUndisabledKeys, tKeys, useWorker, workerLimit, workerLoading]);
|
|
109
173
|
var searchChange = React.useCallback(function (e) {
|
|
110
174
|
var searchValue = e.target.value;
|
|
111
175
|
setSearchValue(searchValue);
|
|
@@ -156,7 +220,11 @@ export default function target(props) {
|
|
|
156
220
|
return tColumns;
|
|
157
221
|
}, [columns, tKeys]);
|
|
158
222
|
var clearCls = classnames((_classnames = {}, _defineProperty(_classnames, "".concat(targetCls, "-clear-all"), true), _defineProperty(_classnames, "".concat(targetCls, "-clear-all-disabled"), filterSource.length === totalDisabledKeys.length), _classnames));
|
|
159
|
-
return /*#__PURE__*/React.createElement(
|
|
223
|
+
return /*#__PURE__*/React.createElement(Loading, {
|
|
224
|
+
loading: loading,
|
|
225
|
+
tip: workerLoadingTip,
|
|
226
|
+
size: "small"
|
|
227
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
160
228
|
className: targetCls,
|
|
161
229
|
style: rightStyle
|
|
162
230
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -185,5 +253,5 @@ export default function target(props) {
|
|
|
185
253
|
filterSource: filterSource
|
|
186
254
|
})), filterSource.length === 0 && /*#__PURE__*/React.createElement("p", {
|
|
187
255
|
className: "".concat(prefixCls, "-target-nodata")
|
|
188
|
-
}, /*#__PURE__*/React.createElement("span", null, targetNoData))));
|
|
256
|
+
}, /*#__PURE__*/React.createElement("span", null, targetNoData)))));
|
|
189
257
|
}
|
package/es/transfer/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export interface TransferLocale {
|
|
|
14
14
|
sourceNoData: React.ReactNode;
|
|
15
15
|
targetNoData: React.ReactNode;
|
|
16
16
|
clearAll: string;
|
|
17
|
+
workerLoadingTip: string;
|
|
17
18
|
}
|
|
18
19
|
export interface TransferItem {
|
|
19
20
|
key?: string;
|
|
@@ -45,6 +46,8 @@ export interface TransferProps<RecordType> {
|
|
|
45
46
|
defaultExpandGroupKey?: string[] | string | number[] | number | boolean;
|
|
46
47
|
virtual?: boolean;
|
|
47
48
|
useWorker?: boolean;
|
|
49
|
+
workerLimit?: number;
|
|
50
|
+
workerLoading?: boolean;
|
|
48
51
|
columns?: ColumnsType<RecordType>;
|
|
49
52
|
}
|
|
50
53
|
export default function transfer<RecordType extends TransferItem = TransferItem>(props: TransferProps<RecordType>): JSX.Element;
|
package/es/transfer/index.js
CHANGED
|
@@ -24,7 +24,12 @@ export default function transfer(props) {
|
|
|
24
24
|
locale = _props$locale === void 0 ? {} : _props$locale,
|
|
25
25
|
dataSource = props.dataSource;
|
|
26
26
|
|
|
27
|
-
var userLocale = _extends(_extends({}, baseLocale.Transfer), locale);
|
|
27
|
+
var userLocale = _extends(_extends({}, baseLocale.Transfer), locale);
|
|
28
|
+
|
|
29
|
+
var _React$useState = React.useState(false),
|
|
30
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
31
|
+
loading = _React$useState2[0],
|
|
32
|
+
setLoading = _React$useState2[1]; // 二级数据展开成一级数据
|
|
28
33
|
|
|
29
34
|
|
|
30
35
|
var expansionSource = React.useMemo(function () {
|
|
@@ -55,10 +60,10 @@ export default function transfer(props) {
|
|
|
55
60
|
return expansionArr;
|
|
56
61
|
}, [dataSource]);
|
|
57
62
|
|
|
58
|
-
var _React$
|
|
59
|
-
_React$
|
|
60
|
-
tKeys = _React$
|
|
61
|
-
setTKeys = _React$
|
|
63
|
+
var _React$useState3 = React.useState(targetKeys || []),
|
|
64
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
65
|
+
tKeys = _React$useState4[0],
|
|
66
|
+
setTKeys = _React$useState4[1];
|
|
62
67
|
|
|
63
68
|
var mergedKeys = 'targetKeys' in props ? targetKeys : tKeys;
|
|
64
69
|
React.useEffect(function () {
|
|
@@ -73,6 +78,8 @@ export default function transfer(props) {
|
|
|
73
78
|
prefixCls: prefixCls,
|
|
74
79
|
tKeys: mergedKeys,
|
|
75
80
|
setTKeys: setTKeys,
|
|
81
|
+
loading: loading,
|
|
82
|
+
setLoading: setLoading,
|
|
76
83
|
expansionSource: expansionSource
|
|
77
84
|
})), /*#__PURE__*/React.createElement(Target, _extends({}, props, {
|
|
78
85
|
displayType: displayType,
|
|
@@ -80,6 +87,8 @@ export default function transfer(props) {
|
|
|
80
87
|
prefixCls: prefixCls,
|
|
81
88
|
tKeys: mergedKeys,
|
|
82
89
|
setTKeys: setTKeys,
|
|
90
|
+
loading: loading,
|
|
91
|
+
setLoading: setLoading,
|
|
83
92
|
expansionSource: expansionSource
|
|
84
93
|
})));
|
|
85
94
|
}
|
package/es/tree/style/index.css
CHANGED
|
@@ -277,7 +277,6 @@
|
|
|
277
277
|
white-space: nowrap;
|
|
278
278
|
-webkit-user-select: none;
|
|
279
279
|
-moz-user-select: none;
|
|
280
|
-
-ms-user-select: none;
|
|
281
280
|
user-select: none;
|
|
282
281
|
}
|
|
283
282
|
.acud-tree-indent-unit {
|
|
@@ -295,7 +294,6 @@
|
|
|
295
294
|
cursor: pointer;
|
|
296
295
|
-webkit-user-select: none;
|
|
297
296
|
-moz-user-select: none;
|
|
298
|
-
-ms-user-select: none;
|
|
299
297
|
user-select: none;
|
|
300
298
|
}
|
|
301
299
|
.acud-tree-switcher .acud-tree-switcher-icon,
|
|
@@ -437,7 +435,6 @@
|
|
|
437
435
|
line-height: 24px;
|
|
438
436
|
-webkit-user-select: none;
|
|
439
437
|
-moz-user-select: none;
|
|
440
|
-
-ms-user-select: none;
|
|
441
438
|
user-select: none;
|
|
442
439
|
}
|
|
443
440
|
.acud-tree-node-content-wrapper .acud-tree-drop-indicator {
|