asab_webui_shell 27.7.2 → 27.7.3
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.
|
@@ -18,6 +18,10 @@ function TenantDropdown() {
|
|
|
18
18
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
19
19
|
isOpen = _useState2[0],
|
|
20
20
|
setIsOpen = _useState2[1];
|
|
21
|
+
var _useState3 = (0, _react.useState)(''),
|
|
22
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
23
|
+
searchInput = _useState4[0],
|
|
24
|
+
setSearchInput = _useState4[1];
|
|
21
25
|
var current = (0, _asab_webui_components.useAppSelector)(state => {
|
|
22
26
|
var _state$tenant;
|
|
23
27
|
return state === null || state === void 0 || (_state$tenant = state.tenant) === null || _state$tenant === void 0 ? void 0 : _state$tenant.current;
|
|
@@ -26,7 +30,16 @@ function TenantDropdown() {
|
|
|
26
30
|
var _state$tenant2;
|
|
27
31
|
return state === null || state === void 0 || (_state$tenant2 = state.tenant) === null || _state$tenant2 === void 0 ? void 0 : _state$tenant2.tenants;
|
|
28
32
|
});
|
|
29
|
-
var
|
|
33
|
+
var hasSearch = (tenants === null || tenants === void 0 ? void 0 : tenants.length) >= 10; // Display search input if there is >= 10 tenants
|
|
34
|
+
var toggle = () => {
|
|
35
|
+
setIsOpen(prev => !prev);
|
|
36
|
+
hasSearch && setSearchInput('');
|
|
37
|
+
};
|
|
38
|
+
var filteredTenants = (0, _react.useMemo)(() => {
|
|
39
|
+
if (!hasSearch || !searchInput) return tenants;
|
|
40
|
+
var inputLower = searchInput.toLowerCase();
|
|
41
|
+
return tenants.filter(tenant => String(tenant).toLowerCase().includes(inputLower));
|
|
42
|
+
}, [tenants, searchInput, hasSearch]);
|
|
30
43
|
return /*#__PURE__*/_react.default.createElement(_reactstrap.Dropdown, {
|
|
31
44
|
isOpen: isOpen,
|
|
32
45
|
toggle: toggle,
|
|
@@ -40,13 +53,19 @@ function TenantDropdown() {
|
|
|
40
53
|
}), /*#__PURE__*/_react.default.createElement(TenantLabel, {
|
|
41
54
|
tenant: current
|
|
42
55
|
})), isOpen && (tenants === null || tenants === void 0 ? void 0 : tenants.length) > 0 && /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownMenu, {
|
|
43
|
-
className: "shadow overflow-y-auto",
|
|
56
|
+
className: "shadow overflow-y-auto".concat(hasSearch ? ' pt-0' : ''),
|
|
44
57
|
style: {
|
|
45
58
|
maxHeight: '20em'
|
|
46
59
|
}
|
|
47
60
|
}, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
|
|
48
61
|
header: true
|
|
49
|
-
}, t('General|Tenants')),
|
|
62
|
+
}, t('General|Tenants')), hasSearch && /*#__PURE__*/_react.default.createElement(_reactstrap.Input, {
|
|
63
|
+
value: searchInput,
|
|
64
|
+
className: "px-3",
|
|
65
|
+
onChange: e => setSearchInput(e.target.value),
|
|
66
|
+
type: "text",
|
|
67
|
+
placeholder: t('General|Search')
|
|
68
|
+
}), filteredTenants.map((tenant, i) => /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
|
|
50
69
|
key: i,
|
|
51
70
|
tag: "a",
|
|
52
71
|
href: '?tenant=' + tenant + '#/'
|