asab_webui_shell 25.1.11 → 25.1.13
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/dist/components/locationReplace.js +4 -16
- package/dist/config/ConfigReducer.js +1 -1
- package/dist/config/ConfigService.js +116 -137
- package/dist/containers/AdvancedMode/reducer.js +2 -2
- package/dist/containers/Alerts/index.js +18 -30
- package/dist/containers/Alerts/reducer.js +5 -6
- package/dist/containers/Application.js +531 -663
- package/dist/containers/AttentionRequired/reducer.js +2 -2
- package/dist/containers/FullscreenMode/reducer.js +2 -2
- package/dist/containers/Header/ApplicationScreenTitle/ApplicationScreenTitle.js +15 -16
- package/dist/containers/Header/ApplicationScreenTitle/index.js +6 -6
- package/dist/containers/Header/Help/HelpButton.js +17 -27
- package/dist/containers/Header/Help/HelpService.js +13 -24
- package/dist/containers/Header/Preview/PreviewFlag.js +6 -5
- package/dist/containers/Header/Preview/PreviewService.js +13 -24
- package/dist/containers/Header/index.js +15 -17
- package/dist/containers/Header/reducer.js +4 -4
- package/dist/containers/Navigation/index.js +35 -55
- package/dist/containers/Navigation/reducer.js +7 -13
- package/dist/containers/RouteErrorHandler/ErrorContainer.js +17 -19
- package/dist/containers/RouteErrorHandler/index.js +28 -44
- package/dist/containers/Router/ApplicationRouter.js +14 -16
- package/dist/containers/Router/index.js +26 -42
- package/dist/containers/Router/reducer.js +3 -3
- package/dist/containers/Sidebar/NavbarBrand.js +14 -23
- package/dist/containers/Sidebar/SidebarBottomItem.js +16 -15
- package/dist/containers/Sidebar/SidebarIcon.js +9 -7
- package/dist/containers/Sidebar/SidebarItem.js +70 -85
- package/dist/containers/Sidebar/SidebarItemRenderer.js +20 -20
- package/dist/containers/Sidebar/index.js +20 -36
- package/dist/containers/Sidebar/reducer.js +3 -3
- package/dist/containers/Sidepanel/Sidepanel.js +18 -26
- package/dist/containers/Toast/ToastComponent.js +12 -12
- package/dist/containers/Toast/ToastContainer.js +19 -30
- package/dist/containers/Toast/reducer.js +3 -6
- package/dist/index.js +5 -5
- package/dist/modules/about/AboutScreen.js +30 -38
- package/dist/modules/about/index.js +8 -26
- package/dist/modules/auth/api.js +110 -156
- package/dist/modules/auth/components/SessionExpirationAlert.js +10 -9
- package/dist/modules/auth/header.js +25 -23
- package/dist/modules/auth/index.js +440 -692
- package/dist/modules/auth/reducer.js +2 -2
- package/dist/modules/auth/screens/AccessControlScreen.js +24 -25
- package/dist/modules/auth/screens/InvitationScreen.js +89 -128
- package/dist/modules/i18n/dropdown.js +24 -23
- package/dist/modules/i18n/index.js +20 -33
- package/dist/modules/i18n/reducer.js +2 -2
- package/dist/modules/i18n/service.js +48 -102
- package/dist/modules/tenant/TenantDropdown.js +28 -27
- package/dist/modules/tenant/access/AccessDeniedCard.js +28 -54
- package/dist/modules/tenant/index.js +16 -29
- package/dist/modules/tenant/reducer.js +1 -1
- package/dist/modules/tenant/service.js +123 -207
- package/dist/screens/InvalidRouteScreen.js +10 -9
- package/dist/screens/SuspenseScreen.js +11 -20
- package/dist/screens/UnauthorizedAccessScreen.js +18 -21
- package/dist/services/AttentionRequiredService.js +117 -142
- package/dist/services/BrandingService.js +63 -80
- package/dist/services/HeaderService.js +47 -66
- package/dist/services/ReduxService.js +11 -17
- package/dist/services/TitleService.js +13 -24
- package/dist/theme/ThemeButton.js +13 -10
- package/dist/theme/ThemeReducer.js +1 -1
- package/dist/theme/ThemeService.js +25 -38
- package/package.json +1 -1
|
@@ -4,33 +4,23 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
7
|
+
exports.default = void 0;
|
|
9
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
16
10
|
var _asab_webui_components = require("asab_webui_components");
|
|
17
11
|
var _axios = _interopRequireDefault(require("axios"));
|
|
18
12
|
var _i18next = _interopRequireDefault(require("i18next"));
|
|
19
13
|
var _i18nextBrowserLanguagedetector = _interopRequireDefault(require("i18next-browser-languagedetector"));
|
|
20
14
|
var _reactI18next = require("react-i18next");
|
|
21
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var I18nService = exports["default"] = /*#__PURE__*/function (_Service) {
|
|
26
|
-
function I18nService(app) {
|
|
27
|
-
var _this;
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
class I18nService extends _asab_webui_components.Service {
|
|
18
|
+
constructor(app) {
|
|
28
19
|
var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "I18nService";
|
|
29
|
-
(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var config = _this.App.Config.get('i18n');
|
|
20
|
+
super(app, name);
|
|
21
|
+
app.addSplashScreenRequestor(this);
|
|
22
|
+
this.Sources = [];
|
|
23
|
+
var config = this.App.Config.get('i18n');
|
|
34
24
|
if (config === undefined) {
|
|
35
25
|
config = {
|
|
36
26
|
debug: true
|
|
@@ -45,7 +35,7 @@ var I18nService = exports["default"] = /*#__PURE__*/function (_Service) {
|
|
|
45
35
|
config.supportedLngs = supportedLngs;
|
|
46
36
|
|
|
47
37
|
// Missing keys are displayed without the namespace
|
|
48
|
-
config.parseMissingKeyHandler =
|
|
38
|
+
config.parseMissingKeyHandler = key => {
|
|
49
39
|
var n = key.lastIndexOf("|");
|
|
50
40
|
if (n > 0) {
|
|
51
41
|
return key.slice(n + 1);
|
|
@@ -55,104 +45,60 @@ var I18nService = exports["default"] = /*#__PURE__*/function (_Service) {
|
|
|
55
45
|
|
|
56
46
|
// Set default key separator
|
|
57
47
|
config.keySeparator = "|";
|
|
58
|
-
|
|
59
|
-
var _ref = (0, _asyncToGenerator2
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
_context.next = 2;
|
|
65
|
-
return _axios["default"].get("locales/".concat(language, "/").concat(namespace, ".json"));
|
|
66
|
-
case 2:
|
|
67
|
-
response = _context.sent;
|
|
68
|
-
return _context.abrupt("return", response.data);
|
|
69
|
-
case 4:
|
|
70
|
-
case "end":
|
|
71
|
-
return _context.stop();
|
|
72
|
-
}
|
|
73
|
-
}, _callee);
|
|
74
|
-
}));
|
|
48
|
+
this.Sources.push(/*#__PURE__*/function () {
|
|
49
|
+
var _ref = (0, _asyncToGenerator2.default)(function* (language, namespace) {
|
|
50
|
+
// This will load locales from the shell application `public/locales` folder
|
|
51
|
+
var response = yield _axios.default.get("locales/".concat(language, "/").concat(namespace, ".json"));
|
|
52
|
+
return response.data;
|
|
53
|
+
});
|
|
75
54
|
return function (_x, _x2) {
|
|
76
55
|
return _ref.apply(this, arguments);
|
|
77
56
|
};
|
|
78
57
|
}());
|
|
79
|
-
|
|
58
|
+
this.Backend = {
|
|
80
59
|
type: "backend",
|
|
81
|
-
init:
|
|
82
|
-
read:
|
|
60
|
+
init: (services, backendOptions, i18nextOptions) => {},
|
|
61
|
+
read: (language, namespace, callback) => {
|
|
83
62
|
// Prepare all promises that obtain (downloads) translations for a given language and namespace
|
|
84
|
-
var promises =
|
|
85
|
-
return source(language, namespace);
|
|
86
|
-
});
|
|
63
|
+
var promises = this.Sources.flatMap(source => source(language, namespace));
|
|
87
64
|
return new Promise(/*#__PURE__*/function () {
|
|
88
|
-
var _ref2 = (0, _asyncToGenerator2
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
combined = bundles.reduce(function (accumulator, currentObject) {
|
|
104
|
-
return _objectSpread(_objectSpread({}, accumulator), currentObject);
|
|
105
|
-
}, {}); // Set the combined bundle to i18n
|
|
106
|
-
resolve(callback(null, combined));
|
|
107
|
-
case 5:
|
|
108
|
-
case "end":
|
|
109
|
-
return _context2.stop();
|
|
110
|
-
}
|
|
111
|
-
}, _callee2);
|
|
112
|
-
}));
|
|
65
|
+
var _ref2 = (0, _asyncToGenerator2.default)(function* (resolve, reject) {
|
|
66
|
+
// Execute prepared promises
|
|
67
|
+
var bundles = yield Promise.all(promises.map(p => p.catch(err => {
|
|
68
|
+
console.warn("Failed to load locales:", err);
|
|
69
|
+
return {}; // Skip errors
|
|
70
|
+
})));
|
|
71
|
+
|
|
72
|
+
// Combine downloaded bundles into a one
|
|
73
|
+
var combined = bundles.reduce((accumulator, currentObject) => {
|
|
74
|
+
return _objectSpread(_objectSpread({}, accumulator), currentObject);
|
|
75
|
+
}, {});
|
|
76
|
+
|
|
77
|
+
// Set the combined bundle to i18n
|
|
78
|
+
resolve(callback(null, combined));
|
|
79
|
+
});
|
|
113
80
|
return function (_x3, _x4) {
|
|
114
81
|
return _ref2.apply(this, arguments);
|
|
115
82
|
};
|
|
116
83
|
}());
|
|
117
84
|
}
|
|
118
85
|
};
|
|
119
|
-
|
|
86
|
+
this.i18n = _i18next.default.use(this.Backend).use(_reactI18next.initReactI18next).use(_i18nextBrowserLanguagedetector.default).init(config, (err, t) => {
|
|
120
87
|
if (err) {
|
|
121
88
|
console.log('Failed to load localizations:', err);
|
|
122
89
|
}
|
|
123
90
|
});
|
|
124
|
-
return _this;
|
|
125
91
|
}
|
|
126
|
-
(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
case 4:
|
|
140
|
-
this.App.removeSplashScreenRequestor(this);
|
|
141
|
-
case 5:
|
|
142
|
-
case "end":
|
|
143
|
-
return _context3.stop();
|
|
144
|
-
}
|
|
145
|
-
}, _callee3, this);
|
|
146
|
-
}));
|
|
147
|
-
function initialize() {
|
|
148
|
-
return _initialize.apply(this, arguments);
|
|
149
|
-
}
|
|
150
|
-
return initialize;
|
|
151
|
-
}()
|
|
152
|
-
}, {
|
|
153
|
-
key: "addSource",
|
|
154
|
-
value: function addSource(promise) {
|
|
155
|
-
this.Sources.push(promise);
|
|
156
|
-
}
|
|
157
|
-
}]);
|
|
158
|
-
}(_asab_webui_components.Service);
|
|
92
|
+
initialize() {
|
|
93
|
+
var _this = this;
|
|
94
|
+
return (0, _asyncToGenerator2.default)(function* () {
|
|
95
|
+
yield _this.i18n;
|
|
96
|
+
yield _i18next.default.reloadResources();
|
|
97
|
+
_this.App.removeSplashScreenRequestor(_this);
|
|
98
|
+
})();
|
|
99
|
+
}
|
|
100
|
+
addSource(promise) {
|
|
101
|
+
this.Sources.push(promise);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.default = I18nService;
|
|
@@ -1,53 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports
|
|
6
|
+
exports.default = void 0;
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
8
|
var _reactRedux = require("react-redux");
|
|
10
9
|
var _reactI18next = require("react-i18next");
|
|
11
10
|
var _reactstrap = require("reactstrap");
|
|
12
|
-
function
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
11
|
+
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
12
|
function TenantDropdown(_ref) {
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
var {
|
|
14
|
+
tenants,
|
|
15
|
+
current
|
|
16
|
+
} = _ref;
|
|
17
|
+
var {
|
|
18
|
+
t
|
|
19
|
+
} = (0, _reactI18next.useTranslation)();
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledDropdown, {
|
|
20
21
|
direction: "down",
|
|
21
22
|
title: t('tenant|Tenant')
|
|
22
|
-
}, /*#__PURE__*/_react
|
|
23
|
+
}, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownToggle, {
|
|
23
24
|
nav: true,
|
|
24
25
|
caret: true
|
|
25
|
-
}, /*#__PURE__*/_react
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
26
27
|
className: "bi bi-house-lock pe-2"
|
|
27
|
-
}), /*#__PURE__*/_react
|
|
28
|
+
}), /*#__PURE__*/_react.default.createElement(TenantLabel, {
|
|
28
29
|
tenant: current
|
|
29
|
-
})), tenants && tenants.length > 0 ? /*#__PURE__*/_react
|
|
30
|
+
})), tenants && tenants.length > 0 ? /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownMenu, {
|
|
30
31
|
className: "shadow"
|
|
31
|
-
}, /*#__PURE__*/_react
|
|
32
|
+
}, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
|
|
32
33
|
header: true
|
|
33
|
-
}, "Tenants"), tenants.map(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}));
|
|
41
|
-
})) : null);
|
|
34
|
+
}, "Tenants"), tenants.map((tenant, i) => /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
|
|
35
|
+
key: i,
|
|
36
|
+
tag: "a",
|
|
37
|
+
href: '?tenant=' + tenant + '#/'
|
|
38
|
+
}, /*#__PURE__*/_react.default.createElement(TenantLabel, {
|
|
39
|
+
tenant: tenant
|
|
40
|
+
})))) : null);
|
|
42
41
|
}
|
|
43
42
|
function TenantLabel(_ref2) {
|
|
44
|
-
var
|
|
45
|
-
|
|
43
|
+
var {
|
|
44
|
+
tenant
|
|
45
|
+
} = _ref2;
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement("span", null, tenant);
|
|
46
47
|
}
|
|
47
|
-
var mapStateToProps =
|
|
48
|
+
var mapStateToProps = state => {
|
|
48
49
|
return {
|
|
49
50
|
current: state.tenant.current,
|
|
50
51
|
tenants: state.tenant.tenants
|
|
51
52
|
};
|
|
52
53
|
};
|
|
53
|
-
var _default = exports
|
|
54
|
+
var _default = exports.default = (0, _reactRedux.connect)(mapStateToProps, null)(TenantDropdown);
|
|
@@ -1,33 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
7
|
+
exports.default = void 0;
|
|
10
8
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
10
|
var _reactI18next = require("react-i18next");
|
|
14
11
|
var _reactstrap = require("reactstrap");
|
|
15
12
|
var _locationReplace = require("../../../components/locationReplace");
|
|
16
13
|
require("./AccessDeniedCard.scss");
|
|
17
|
-
function
|
|
18
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
14
|
+
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); }
|
|
19
15
|
function AccessDeniedCard(props) {
|
|
20
|
-
var
|
|
21
|
-
t
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var _useState3 = (0, _react.useState)(""),
|
|
27
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
28
|
-
deniedTenant = _useState4[0],
|
|
29
|
-
setDeniedTenant = _useState4[1];
|
|
30
|
-
(0, _react.useEffect)(function () {
|
|
16
|
+
var {
|
|
17
|
+
t
|
|
18
|
+
} = (0, _reactI18next.useTranslation)();
|
|
19
|
+
var [accessDenied, setAccessDenied] = (0, _react.useState)(false);
|
|
20
|
+
var [deniedTenant, setDeniedTenant] = (0, _react.useState)("");
|
|
21
|
+
(0, _react.useEffect)(() => {
|
|
31
22
|
var qs = new URLSearchParams(window.location.search);
|
|
32
23
|
var errorType = qs.get('error');
|
|
33
24
|
/*
|
|
@@ -51,57 +42,40 @@ function AccessDeniedCard(props) {
|
|
|
51
42
|
since we dont have a oauth token here (access denied)
|
|
52
43
|
*/
|
|
53
44
|
var continueToLogin = /*#__PURE__*/function () {
|
|
54
|
-
var _ref = (0, _asyncToGenerator2
|
|
55
|
-
var SeaCatAuthAPI
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
_context.next = 10;
|
|
66
|
-
break;
|
|
67
|
-
case 7:
|
|
68
|
-
_context.prev = 7;
|
|
69
|
-
_context.t0 = _context["catch"](1);
|
|
70
|
-
props.app.addAlertFromException(_context.t0, t("AccessDeniedCard|Silly as it sounds, the logout failed"));
|
|
71
|
-
case 10:
|
|
72
|
-
_context.next = 12;
|
|
73
|
-
return (0, _locationReplace.locationReplace)("".concat(window.location.pathname));
|
|
74
|
-
case 12:
|
|
75
|
-
case "end":
|
|
76
|
-
return _context.stop();
|
|
77
|
-
}
|
|
78
|
-
}, _callee, null, [[1, 7]]);
|
|
79
|
-
}));
|
|
45
|
+
var _ref = (0, _asyncToGenerator2.default)(function* () {
|
|
46
|
+
var SeaCatAuthAPI = props.app.axiosCreate('seacat-auth');
|
|
47
|
+
var response;
|
|
48
|
+
try {
|
|
49
|
+
// Use public logout
|
|
50
|
+
response = yield SeaCatAuthAPI.put('/public/logout');
|
|
51
|
+
} catch (e) {
|
|
52
|
+
props.app.addAlertFromException(e, t("AccessDeniedCard|Silly as it sounds, the logout failed"));
|
|
53
|
+
}
|
|
54
|
+
yield (0, _locationReplace.locationReplace)("".concat(window.location.pathname));
|
|
55
|
+
});
|
|
80
56
|
return function continueToLogin() {
|
|
81
57
|
return _ref.apply(this, arguments);
|
|
82
58
|
};
|
|
83
59
|
}();
|
|
84
|
-
return props.app.Services.TenantService && props.app.Modules.filter(
|
|
85
|
-
return obj.Name === "AuthModule";
|
|
86
|
-
}).length > 0 && accessDenied == true ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
60
|
+
return props.app.Services.TenantService && props.app.Modules.filter(obj => obj.Name === "AuthModule").length > 0 && accessDenied == true ? /*#__PURE__*/_react.default.createElement("div", {
|
|
87
61
|
className: "access-denied-wrapper"
|
|
88
|
-
}, /*#__PURE__*/_react
|
|
62
|
+
}, /*#__PURE__*/_react.default.createElement(_reactstrap.Card, null, /*#__PURE__*/_react.default.createElement(_reactstrap.CardHeader, {
|
|
89
63
|
className: "card-header-flex"
|
|
90
|
-
}, /*#__PURE__*/_react
|
|
64
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
91
65
|
className: "flex-fill text-center"
|
|
92
|
-
}, /*#__PURE__*/_react
|
|
66
|
+
}, /*#__PURE__*/_react.default.createElement("h2", {
|
|
93
67
|
className: "text-primary"
|
|
94
|
-
}, t("AccessDeniedCard|Access denied")))), /*#__PURE__*/_react
|
|
68
|
+
}, t("AccessDeniedCard|Access denied")))), /*#__PURE__*/_react.default.createElement(_reactstrap.CardBody, null, /*#__PURE__*/_react.default.createElement("p", {
|
|
95
69
|
className: "text-center"
|
|
96
|
-
}, t("AccessDeniedCard|Please contact application administrator for assigning appropriate access rights.")), deniedTenant && /*#__PURE__*/_react
|
|
70
|
+
}, t("AccessDeniedCard|Please contact application administrator for assigning appropriate access rights.")), deniedTenant && /*#__PURE__*/_react.default.createElement("p", {
|
|
97
71
|
className: "text-center tenant-text"
|
|
98
|
-
}, /*#__PURE__*/_react
|
|
72
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, "Tenant "), deniedTenant), /*#__PURE__*/_react.default.createElement(_reactstrap.Button, {
|
|
99
73
|
className: "justify-content-center",
|
|
100
74
|
block: true,
|
|
101
75
|
color: "primary",
|
|
102
|
-
onClick:
|
|
76
|
+
onClick: () => {
|
|
103
77
|
continueToLogin();
|
|
104
78
|
}
|
|
105
79
|
}, t("AccessDeniedCard|Leave"))))) : null;
|
|
106
80
|
}
|
|
107
|
-
var _default = exports
|
|
81
|
+
var _default = exports.default = AccessDeniedCard;
|
|
@@ -4,38 +4,25 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
11
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
7
|
+
exports.default = void 0;
|
|
13
8
|
var _react = _interopRequireDefault(require("react"));
|
|
14
9
|
var _asab_webui_components = require("asab_webui_components");
|
|
15
10
|
var _service = _interopRequireDefault(require("./service"));
|
|
16
11
|
var _TenantDropdown = _interopRequireDefault(require("./TenantDropdown"));
|
|
17
12
|
var _reducer = _interopRequireDefault(require("./reducer"));
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
(
|
|
24
|
-
_this = _callSuper(this, TenantModule, [app, "TenantModule"]);
|
|
25
|
-
_this.App = app;
|
|
26
|
-
_this.TenantService = new _service["default"](app, "TenantService");
|
|
27
|
-
_this.App.ReduxService.addReducer("tenant", _reducer["default"]);
|
|
28
|
-
return _this;
|
|
13
|
+
class TenantModule extends _asab_webui_components.Module {
|
|
14
|
+
constructor(app, name) {
|
|
15
|
+
super(app, "TenantModule");
|
|
16
|
+
this.App = app;
|
|
17
|
+
this.TenantService = new _service.default(app, "TenantService");
|
|
18
|
+
this.App.ReduxService.addReducer("tenant", _reducer.default);
|
|
29
19
|
}
|
|
30
|
-
(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
}]);
|
|
41
|
-
}(_asab_webui_components.Module);
|
|
20
|
+
initialize() {
|
|
21
|
+
var headerService = this.App.locateService("HeaderService");
|
|
22
|
+
headerService.addComponent({
|
|
23
|
+
component: _TenantDropdown.default,
|
|
24
|
+
order: 600
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.default = TenantModule;
|