allaw-ui 4.9.2 → 4.9.4
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.
|
@@ -38,6 +38,30 @@ var SingleFilter = function (_a) {
|
|
|
38
38
|
var _g = useState(false), isOpen = _g[0], setIsOpen = _g[1];
|
|
39
39
|
var _h = useState(defaultSelectedValue || (multiSelect ? [] : "")), selectedValue = _h[0], setSelectedValue = _h[1];
|
|
40
40
|
var filterRef = useRef(null);
|
|
41
|
+
// Fonction pour obtenir le nom affiché basé sur la valeur sélectionnée
|
|
42
|
+
var getDisplayName = function () {
|
|
43
|
+
if (!displaySelectedValue) {
|
|
44
|
+
return children;
|
|
45
|
+
}
|
|
46
|
+
if (multiSelect && Array.isArray(selectedValue)) {
|
|
47
|
+
if (selectedValue.length === 0) {
|
|
48
|
+
return children;
|
|
49
|
+
}
|
|
50
|
+
var firstSelectedItem = filterData.find(function (item) { return item.value === selectedValue[0]; });
|
|
51
|
+
var firstName = firstSelectedItem
|
|
52
|
+
? firstSelectedItem.name
|
|
53
|
+
: selectedValue[0];
|
|
54
|
+
if (selectedValue.length === 1) {
|
|
55
|
+
return firstName;
|
|
56
|
+
}
|
|
57
|
+
return "".concat(firstName, " (+").concat(selectedValue.length - 1, ")");
|
|
58
|
+
}
|
|
59
|
+
if (!selectedValue || selectedValue === "") {
|
|
60
|
+
return children;
|
|
61
|
+
}
|
|
62
|
+
var selectedItem = filterData.find(function (item) { return item.value === selectedValue; });
|
|
63
|
+
return selectedItem ? selectedItem.name : children;
|
|
64
|
+
};
|
|
41
65
|
useEffect(function () {
|
|
42
66
|
if (multiSelect
|
|
43
67
|
? Array.isArray(selectedValue) && selectedValue.length > 0
|
|
@@ -45,6 +69,12 @@ var SingleFilter = function (_a) {
|
|
|
45
69
|
setFilter(selectedValue);
|
|
46
70
|
}
|
|
47
71
|
}, [selectedValue, setFilter, multiSelect]);
|
|
72
|
+
// Sync with external defaultSelectedValue changes
|
|
73
|
+
useEffect(function () {
|
|
74
|
+
if (defaultSelectedValue !== undefined) {
|
|
75
|
+
setSelectedValue(defaultSelectedValue);
|
|
76
|
+
}
|
|
77
|
+
}, [defaultSelectedValue]);
|
|
48
78
|
useEffect(function () {
|
|
49
79
|
var handleClickOutside = function (event) {
|
|
50
80
|
if (filterRef.current &&
|
|
@@ -121,7 +151,7 @@ var SingleFilter = function (_a) {
|
|
|
121
151
|
};
|
|
122
152
|
return (React.createElement("div", __assign({ className: styles.baseFilter, ref: filterRef }, props),
|
|
123
153
|
React.createElement(FilterButtonPrimary, { onClick: handleButtonTap },
|
|
124
|
-
|
|
154
|
+
getDisplayName(),
|
|
125
155
|
React.createElement("p", { style: {
|
|
126
156
|
color: "#25BEEB",
|
|
127
157
|
fontWeight: "600",
|