@antscorp/antsomi-ui 1.3.5-beta.910 → 1.3.5-beta.911
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.
|
@@ -52,6 +52,12 @@ export function MatchesAny(props) {
|
|
|
52
52
|
const { selectedItems, selectedTreeData, isShowLoadMoreEl, expandedKeys, selectedExpandedKeys } = state;
|
|
53
53
|
const { icon: listEmptyIcon = _jsx(LongerIcon, {}), description: listEmptyDescription = (_jsx("div", { dangerouslySetInnerHTML: { __html: t(translations.matchesAnySelect.noData) } })), ...restListEmptyProps } = listEmptyProps || {};
|
|
54
54
|
const { description: selectedListEmptyDescription = t(translations.global.selectItemsFromList).toString(), icon: selectedListEmptyIcon = _jsx(DataIcon, { color: globalToken?.bw5, size: 48 }), ...restSelectedListEmptyProps } = selectedListEmptyProps || {};
|
|
55
|
+
useDeepCompareEffect(() => {
|
|
56
|
+
const isOverMaxSelected = maxSelectedItem && selectedItems && selectedItems.length > maxSelectedItem;
|
|
57
|
+
const isSomeTextTooLong = selectedItems && selectedItems.some(item => item.key?.toString().length > maxLengthEachItem);
|
|
58
|
+
setMaxItemsError(!!isOverMaxSelected);
|
|
59
|
+
setItemOverMaxLength(!!isSomeTextTooLong);
|
|
60
|
+
}, [selectedItems, maxSelectedItem, maxLengthEachItem]);
|
|
55
61
|
// Refs
|
|
56
62
|
const { ref: loadMoreRef } = useIntersectionObserver({
|
|
57
63
|
threshold: 0,
|
|
@@ -145,7 +151,6 @@ export function MatchesAny(props) {
|
|
|
145
151
|
*
|
|
146
152
|
*/
|
|
147
153
|
const onRemoveItem = (item) => {
|
|
148
|
-
// let isMaxItemsError = false;
|
|
149
154
|
setState(prev => {
|
|
150
155
|
const newSelectedItems = prev.selectedItems?.filter(selectedItem => {
|
|
151
156
|
if (item.children) {
|
|
@@ -156,29 +161,18 @@ export function MatchesAny(props) {
|
|
|
156
161
|
return selectedItem.key !== item.key;
|
|
157
162
|
});
|
|
158
163
|
const newSelectedTreeData = getSelectedTreeData(items || [], newSelectedItems || [], selectedTreeData || []);
|
|
159
|
-
// isMaxItemsError =
|
|
160
|
-
// (maxSelectedItem && newSelectedItems && newSelectedItems.length > maxSelectedItem) || false;
|
|
161
164
|
return {
|
|
162
165
|
...prev,
|
|
163
166
|
selectedItems: newSelectedItems,
|
|
164
167
|
selectedTreeData: newSelectedTreeData,
|
|
165
168
|
};
|
|
166
169
|
});
|
|
167
|
-
// setMaxItemsError(isMaxItemsError);
|
|
168
170
|
};
|
|
169
171
|
const onRemoveAll = () => {
|
|
170
172
|
setState(prev => ({ ...prev, selectedItems: [], selectedTreeData: [] }));
|
|
171
173
|
};
|
|
172
174
|
const onClickApply = () => {
|
|
173
|
-
|
|
174
|
-
const isSomeTextTooLong = selectedItems && selectedItems.some(item => item.key?.toString().length > maxLengthEachItem);
|
|
175
|
-
if (isOverMaxSelected) {
|
|
176
|
-
setMaxItemsError(true);
|
|
177
|
-
}
|
|
178
|
-
if (isSomeTextTooLong) {
|
|
179
|
-
setItemOverMaxLength(true);
|
|
180
|
-
}
|
|
181
|
-
if (isOverMaxSelected || isSomeTextTooLong)
|
|
175
|
+
if (maxItemsError || itemOverMaxLength)
|
|
182
176
|
return;
|
|
183
177
|
onApply(selectedItems || [], selectedTreeData || []);
|
|
184
178
|
};
|
|
@@ -188,7 +182,7 @@ export function MatchesAny(props) {
|
|
|
188
182
|
onRemoveItem(item);
|
|
189
183
|
}
|
|
190
184
|
});
|
|
191
|
-
setItemOverMaxLength(false);
|
|
185
|
+
// setItemOverMaxLength(false);
|
|
192
186
|
};
|
|
193
187
|
const renderItemError = useCallback((item) => {
|
|
194
188
|
if (customItemRenders?.error) {
|
|
@@ -216,7 +210,7 @@ export function MatchesAny(props) {
|
|
|
216
210
|
onRemoveItem(item);
|
|
217
211
|
}
|
|
218
212
|
}, children: _jsx(Icon, { type: `icon-ants-${onSelectItem ? 'double-arrow-up' : 'remove-slim'}`, size: 11 }) })] })] }));
|
|
219
|
-
}, [customItemRenders, renderExtraValues,
|
|
213
|
+
}, [customItemRenders, renderExtraValues, itemOverMaxLength, renderItemError]);
|
|
220
214
|
// Memos
|
|
221
215
|
const { treeData } = useDeepCompareMemo(() => {
|
|
222
216
|
const { results, matchedParents } = recursiveSearchItems({
|