asab_webui_shell 27.7.3 → 27.7.5-alpha.0

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.
@@ -7,11 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = TenantDropdown;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
+ var _reactRouter = require("react-router");
10
11
  var _asab_webui_components = require("asab_webui_components");
11
12
  var _reactI18next = require("react-i18next");
13
+ var _seacatAuth = require("asab_webui_components/seacat-auth");
12
14
  var _reactstrap = require("reactstrap");
13
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
14
- function TenantDropdown() {
16
+ function TenantDropdown(_ref) {
17
+ var _app$Modules;
18
+ var app = _ref.app;
15
19
  var _useTranslation = (0, _reactI18next.useTranslation)(),
16
20
  t = _useTranslation.t;
17
21
  var _useState = (0, _react.useState)(false),
@@ -30,6 +34,9 @@ function TenantDropdown() {
30
34
  var _state$tenant2;
31
35
  return state === null || state === void 0 || (_state$tenant2 = state.tenant) === null || _state$tenant2 === void 0 ? void 0 : _state$tenant2.tenants;
32
36
  });
37
+ var canCreateTenant = (app === null || app === void 0 || (_app$Modules = app.Modules) === null || _app$Modules === void 0 ? void 0 : _app$Modules.some(obj => (obj === null || obj === void 0 ? void 0 : obj.Name) === "LmioTrexModule")) && (0, _seacatAuth.isAuthorized)(['lmio:tenant:create'], app);
38
+ var tenantsAvailable = tenants && tenants.length > 0;
39
+ var showDropdown = tenantsAvailable || canCreateTenant;
33
40
  var hasSearch = (tenants === null || tenants === void 0 ? void 0 : tenants.length) >= 10; // Display search input if there is >= 10 tenants
34
41
  var toggle = () => {
35
42
  setIsOpen(prev => !prev);
@@ -52,12 +59,12 @@ function TenantDropdown() {
52
59
  className: "bi bi-house-lock pe-2"
53
60
  }), /*#__PURE__*/_react.default.createElement(TenantLabel, {
54
61
  tenant: current
55
- })), isOpen && (tenants === null || tenants === void 0 ? void 0 : tenants.length) > 0 && /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownMenu, {
62
+ })), isOpen && showDropdown && /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownMenu, {
56
63
  className: "shadow overflow-y-auto".concat(hasSearch ? ' pt-0' : ''),
57
64
  style: {
58
65
  maxHeight: '20em'
59
66
  }
60
- }, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
67
+ }, tenantsAvailable && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
61
68
  header: true
62
69
  }, t('General|Tenants')), hasSearch && /*#__PURE__*/_react.default.createElement(_reactstrap.Input, {
63
70
  value: searchInput,
@@ -71,9 +78,14 @@ function TenantDropdown() {
71
78
  href: '?tenant=' + tenant + '#/'
72
79
  }, /*#__PURE__*/_react.default.createElement(TenantLabel, {
73
80
  tenant: tenant
74
- })))));
81
+ })))), canCreateTenant && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tenantsAvailable && /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
82
+ divider: true
83
+ }), /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
84
+ tag: _reactRouter.Link,
85
+ to: "/config/tenant/!create"
86
+ }, t('TenantDropdown|Create tenant')))));
75
87
  }
76
- function TenantLabel(_ref) {
77
- var tenant = _ref.tenant;
88
+ function TenantLabel(_ref2) {
89
+ var tenant = _ref2.tenant;
78
90
  return /*#__PURE__*/_react.default.createElement("span", null, tenant);
79
91
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asab_webui_shell",
3
- "version": "27.7.3",
3
+ "version": "27.7.5-alpha.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "description": "TeskaLabs ASAB WebUI Shell Application",
6
6
  "contributors": [