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
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.locationReplace = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
8
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
9
|
/*
|
|
11
10
|
|
|
@@ -30,21 +29,10 @@ const myFunc = async () => {
|
|
|
30
29
|
*/
|
|
31
30
|
|
|
32
31
|
var locationReplace = exports.locationReplace = /*#__PURE__*/function () {
|
|
33
|
-
var _ref = (0, _asyncToGenerator2
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
window.location.replace(url.toString());
|
|
38
|
-
_context.next = 3;
|
|
39
|
-
return new Promise(function (r) {
|
|
40
|
-
return setTimeout(r, 3600 * 1000);
|
|
41
|
-
});
|
|
42
|
-
case 3:
|
|
43
|
-
case "end":
|
|
44
|
-
return _context.stop();
|
|
45
|
-
}
|
|
46
|
-
}, _callee);
|
|
47
|
-
}));
|
|
32
|
+
var _ref = (0, _asyncToGenerator2.default)(function* (url) {
|
|
33
|
+
window.location.replace(url.toString());
|
|
34
|
+
yield new Promise(r => setTimeout(r, 3600 * 1000)); // Basically wait forever, this the app is going to be reloaded
|
|
35
|
+
});
|
|
48
36
|
return function locationReplace(_x) {
|
|
49
37
|
return _ref.apply(this, arguments);
|
|
50
38
|
};
|
|
@@ -4,128 +4,112 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
7
|
+
exports.default = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
9
|
var _asab_webui_components = require("asab_webui_components");
|
|
15
10
|
var _ConfigReducer = _interopRequireDefault(require("./ConfigReducer"));
|
|
16
11
|
var _actions = require("../actions");
|
|
17
12
|
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; }
|
|
18
|
-
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
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var ConfigService = exports["default"] = /*#__PURE__*/function (_Service) {
|
|
22
|
-
function ConfigService(app) {
|
|
23
|
-
var _this;
|
|
13
|
+
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; }
|
|
14
|
+
class ConfigService extends _asab_webui_components.Service {
|
|
15
|
+
constructor(app) {
|
|
24
16
|
var serviceName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "ConfigService";
|
|
25
|
-
(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
_this.Config = new Config();
|
|
29
|
-
return _this;
|
|
17
|
+
super(app, serviceName);
|
|
18
|
+
app.ReduxService.addReducer("config", _ConfigReducer.default);
|
|
19
|
+
this.Config = new Config();
|
|
30
20
|
}
|
|
31
|
-
(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
Object.assign(dynamicConfig.brandImage, {
|
|
51
|
-
"light": {
|
|
52
|
-
"full": headerLogoFull
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
// If header's full dark logo has been configured, extend/add it to dynamic config's brandImage property
|
|
57
|
-
if (headerLogoFullDark != undefined && headerLogoFullDark != "") {
|
|
58
|
-
Object.assign(dynamicConfig.brandImage, {
|
|
59
|
-
"dark": {
|
|
60
|
-
"full": headerLogoFullDark
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
// If header's minimized light logo has been configured, extend/add it to dynamic config brandImage property
|
|
65
|
-
if (headerLogoMini != undefined && headerLogoMini != "") {
|
|
66
|
-
var _dynamicConfig$brandI;
|
|
67
|
-
Object.assign(dynamicConfig.brandImage, _objectSpread(_objectSpread({}, dynamicConfig.brandImage), {}, {
|
|
68
|
-
"light": _objectSpread(_objectSpread({}, (_dynamicConfig$brandI = dynamicConfig.brandImage) === null || _dynamicConfig$brandI === void 0 ? void 0 : _dynamicConfig$brandI.light), {}, {
|
|
69
|
-
"minimized": headerLogoMini
|
|
70
|
-
})
|
|
71
|
-
}));
|
|
72
|
-
}
|
|
73
|
-
// If header's minimized dark logo has been configured, extend/add it to dynamic config brandImage property
|
|
74
|
-
if (headerLogoMiniDark != undefined && headerLogoMiniDark != "") {
|
|
75
|
-
var _dynamicConfig$brandI2;
|
|
76
|
-
Object.assign(dynamicConfig.brandImage, _objectSpread(_objectSpread({}, dynamicConfig.brandImage), {}, {
|
|
77
|
-
"dark": _objectSpread(_objectSpread({}, (_dynamicConfig$brandI2 = dynamicConfig.brandImage) === null || _dynamicConfig$brandI2 === void 0 ? void 0 : _dynamicConfig$brandI2.dark), {}, {
|
|
78
|
-
"minimized": headerLogoMiniDark
|
|
79
|
-
})
|
|
80
|
-
}));
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Add custom title
|
|
84
|
-
if (title != undefined && title != "") {
|
|
85
|
-
dynamicConfig["title"] = title;
|
|
86
|
-
}
|
|
87
|
-
// Add custom CSS
|
|
88
|
-
if (customCSS != undefined && customCSS != "") {
|
|
89
|
-
var link = document.createElement('link');
|
|
90
|
-
link.setAttribute('rel', 'stylesheet');
|
|
91
|
-
link.setAttribute('href', customCSS);
|
|
92
|
-
// Append to the `head` element
|
|
93
|
-
document.head.appendChild(link);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Dispatch customs to config store
|
|
97
|
-
if (Object.keys(dynamicConfig).length > 0) {
|
|
98
|
-
this.Config._dynamic_config = dynamicConfig;
|
|
99
|
-
if (this.App.Store !== undefined) {
|
|
100
|
-
this.Config.dispatch(this.App.Store);
|
|
101
|
-
} else {
|
|
102
|
-
console.warn('Dynamic configuration has not been dispatched to application store');
|
|
21
|
+
initialize() {
|
|
22
|
+
var _document$getElements, _document$getElements2, _document$getElements3, _document$getElements4, _document$getElements5, _document$getElements6;
|
|
23
|
+
// Initialization of dynamic configuration
|
|
24
|
+
var headerLogoFull = (_document$getElements = document.getElementsByName('header-logo-full')[0]) === null || _document$getElements === void 0 ? void 0 : _document$getElements.content;
|
|
25
|
+
var headerLogoMini = (_document$getElements2 = document.getElementsByName('header-logo-minimized')[0]) === null || _document$getElements2 === void 0 ? void 0 : _document$getElements2.content;
|
|
26
|
+
var headerLogoFullDark = (_document$getElements3 = document.getElementsByName('header-logo-full-dark')[0]) === null || _document$getElements3 === void 0 ? void 0 : _document$getElements3.content;
|
|
27
|
+
var headerLogoMiniDark = (_document$getElements4 = document.getElementsByName('header-logo-minimized-dark')[0]) === null || _document$getElements4 === void 0 ? void 0 : _document$getElements4.content;
|
|
28
|
+
var title = (_document$getElements5 = document.getElementsByName('title')[0]) === null || _document$getElements5 === void 0 ? void 0 : _document$getElements5.content;
|
|
29
|
+
var customCSS = (_document$getElements6 = document.getElementsByName('custom-css-file')[0]) === null || _document$getElements6 === void 0 ? void 0 : _document$getElements6.content;
|
|
30
|
+
var dynamicConfig = {};
|
|
31
|
+
// determine if any logos have been dynamically configured and assign brandImage property as an empty object
|
|
32
|
+
if (headerLogoFull != undefined && headerLogoFull != "" || headerLogoFullDark != undefined && headerLogoFullDark != "" || headerLogoMini != undefined && headerLogoMini != "" || headerLogoMiniDark != undefined && headerLogoMiniDark != "") {
|
|
33
|
+
dynamicConfig.brandImage = {};
|
|
34
|
+
}
|
|
35
|
+
// If header's full light logo has been configured, add it to dynamic config object
|
|
36
|
+
if (headerLogoFull != undefined && headerLogoFull != "") {
|
|
37
|
+
Object.assign(dynamicConfig.brandImage, {
|
|
38
|
+
"light": {
|
|
39
|
+
"full": headerLogoFull
|
|
103
40
|
}
|
|
104
|
-
}
|
|
41
|
+
});
|
|
105
42
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (override === false) {
|
|
112
|
-
for (var key in defaults) {
|
|
113
|
-
if (this.Config._defaults[key] === undefined) {
|
|
114
|
-
this.Config._defaults[key] = defaults[key];
|
|
115
|
-
}
|
|
43
|
+
// If header's full dark logo has been configured, extend/add it to dynamic config's brandImage property
|
|
44
|
+
if (headerLogoFullDark != undefined && headerLogoFullDark != "") {
|
|
45
|
+
Object.assign(dynamicConfig.brandImage, {
|
|
46
|
+
"dark": {
|
|
47
|
+
"full": headerLogoFullDark
|
|
116
48
|
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
// If header's minimized light logo has been configured, extend/add it to dynamic config brandImage property
|
|
52
|
+
if (headerLogoMini != undefined && headerLogoMini != "") {
|
|
53
|
+
var _dynamicConfig$brandI;
|
|
54
|
+
Object.assign(dynamicConfig.brandImage, _objectSpread(_objectSpread({}, dynamicConfig.brandImage), {}, {
|
|
55
|
+
"light": _objectSpread(_objectSpread({}, (_dynamicConfig$brandI = dynamicConfig.brandImage) === null || _dynamicConfig$brandI === void 0 ? void 0 : _dynamicConfig$brandI.light), {}, {
|
|
56
|
+
"minimized": headerLogoMini
|
|
57
|
+
})
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
// If header's minimized dark logo has been configured, extend/add it to dynamic config brandImage property
|
|
61
|
+
if (headerLogoMiniDark != undefined && headerLogoMiniDark != "") {
|
|
62
|
+
var _dynamicConfig$brandI2;
|
|
63
|
+
Object.assign(dynamicConfig.brandImage, _objectSpread(_objectSpread({}, dynamicConfig.brandImage), {}, {
|
|
64
|
+
"dark": _objectSpread(_objectSpread({}, (_dynamicConfig$brandI2 = dynamicConfig.brandImage) === null || _dynamicConfig$brandI2 === void 0 ? void 0 : _dynamicConfig$brandI2.dark), {}, {
|
|
65
|
+
"minimized": headerLogoMiniDark
|
|
66
|
+
})
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Add custom title
|
|
71
|
+
if (title != undefined && title != "") {
|
|
72
|
+
dynamicConfig["title"] = title;
|
|
73
|
+
}
|
|
74
|
+
// Add custom CSS
|
|
75
|
+
if (customCSS != undefined && customCSS != "") {
|
|
76
|
+
var link = document.createElement('link');
|
|
77
|
+
link.setAttribute('rel', 'stylesheet');
|
|
78
|
+
link.setAttribute('href', customCSS);
|
|
79
|
+
// Append to the `head` element
|
|
80
|
+
document.head.appendChild(link);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Dispatch customs to config store
|
|
84
|
+
if (Object.keys(dynamicConfig).length > 0) {
|
|
85
|
+
this.Config._dynamic_config = dynamicConfig;
|
|
86
|
+
if (this.App.Store !== undefined) {
|
|
87
|
+
this.Config.dispatch(this.App.Store);
|
|
117
88
|
} else {
|
|
118
|
-
|
|
89
|
+
console.warn('Dynamic configuration has not been dispatched to application store');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
addDefaults(defaults, override) {
|
|
94
|
+
if (defaults === undefined) return;
|
|
95
|
+
if (defaults === null) return;
|
|
96
|
+
if (override === false) {
|
|
97
|
+
for (var key in defaults) {
|
|
98
|
+
if (this.Config._defaults[key] === undefined) {
|
|
119
99
|
this.Config._defaults[key] = defaults[key];
|
|
120
100
|
}
|
|
121
101
|
}
|
|
122
|
-
|
|
102
|
+
} else {
|
|
103
|
+
for (var key in defaults) {
|
|
104
|
+
this.Config._defaults[key] = defaults[key];
|
|
105
|
+
}
|
|
123
106
|
}
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
107
|
+
this.Config.dispatch(this.App.Store);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.default = ConfigService;
|
|
111
|
+
class Config {
|
|
112
|
+
constructor(app) {
|
|
129
113
|
this._dynamic_config = {};
|
|
130
114
|
this._defaults = {};
|
|
131
115
|
if (typeof LOCAL_CONFIG !== 'undefined') {
|
|
@@ -134,36 +118,31 @@ var Config = /*#__PURE__*/function () {
|
|
|
134
118
|
this._local_config = {};
|
|
135
119
|
}
|
|
136
120
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
;
|
|
145
|
-
|
|
146
|
-
// Then check the local config
|
|
147
|
-
if (this._local_config[key] != undefined) {
|
|
148
|
-
this._local_config[key];
|
|
149
|
-
}
|
|
150
|
-
;
|
|
121
|
+
get(key) {
|
|
122
|
+
// First check the remote config
|
|
123
|
+
if (this._dynamic_config[key] != undefined) {
|
|
124
|
+
return this._dynamic_config[key];
|
|
125
|
+
}
|
|
126
|
+
;
|
|
151
127
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
;
|
|
157
|
-
return undefined;
|
|
128
|
+
// Then check the local config
|
|
129
|
+
if (this._local_config[key] != undefined) {
|
|
130
|
+
this._local_config[key];
|
|
158
131
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
type: _actions.CHANGE_CONFIG,
|
|
165
|
-
config: config
|
|
166
|
-
});
|
|
132
|
+
;
|
|
133
|
+
|
|
134
|
+
// And finally, check defaults
|
|
135
|
+
if (this._defaults[key] != undefined) {
|
|
136
|
+
return this._defaults[key];
|
|
167
137
|
}
|
|
168
|
-
|
|
169
|
-
|
|
138
|
+
;
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
dispatch(store) {
|
|
142
|
+
var config = Object.assign({}, this._defaults, this._local_config, this._dynamic_config);
|
|
143
|
+
store.dispatch({
|
|
144
|
+
type: _actions.CHANGE_CONFIG,
|
|
145
|
+
config: config
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
@@ -4,11 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
7
|
+
exports.default = advancedModeReducer;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _actions = require("../../actions");
|
|
10
10
|
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; }
|
|
11
|
-
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
|
|
11
|
+
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; }
|
|
12
12
|
var initialState = {
|
|
13
13
|
enabled: false
|
|
14
14
|
};
|
|
@@ -1,40 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
|
-
exports
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
6
|
+
exports.default = AlertsComponent;
|
|
10
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
8
|
var _reactRedux = require("react-redux");
|
|
12
9
|
var _reactstrap = require("reactstrap");
|
|
13
10
|
var _actions = require("../../actions");
|
|
14
11
|
var _reactI18next = require("react-i18next");
|
|
15
12
|
require("./alerts.scss");
|
|
16
|
-
function
|
|
17
|
-
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; }
|
|
13
|
+
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); }
|
|
18
14
|
function AlertsComponent(props) {
|
|
19
|
-
var
|
|
20
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
21
|
-
seconds = _useState2[0],
|
|
22
|
-
setSeconds = _useState2[1];
|
|
15
|
+
var [seconds, setSeconds] = (0, _react.useState)(0);
|
|
23
16
|
var store = props.app.Store;
|
|
24
|
-
var alerts = (0, _reactRedux.useSelector)(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
t = _useTranslation.t;
|
|
17
|
+
var alerts = (0, _reactRedux.useSelector)(state => state.alerts.alerts);
|
|
18
|
+
var {
|
|
19
|
+
t
|
|
20
|
+
} = (0, _reactI18next.useTranslation)();
|
|
29
21
|
|
|
30
22
|
// Expire old alerts
|
|
31
|
-
(0, _react.useEffect)(
|
|
23
|
+
(0, _react.useEffect)(() => {
|
|
32
24
|
// There is probably smarter way how to set interval to avoid speculative ticking
|
|
33
25
|
var interval = 1000;
|
|
34
|
-
var intervalId = setTimeout(
|
|
35
|
-
setSeconds(
|
|
36
|
-
return seconds + 1;
|
|
37
|
-
});
|
|
26
|
+
var intervalId = setTimeout(() => {
|
|
27
|
+
setSeconds(seconds => seconds + 1);
|
|
38
28
|
var now = new Date();
|
|
39
29
|
for (var i in alerts) {
|
|
40
30
|
var alert = alerts[i];
|
|
@@ -53,26 +43,24 @@ function AlertsComponent(props) {
|
|
|
53
43
|
}
|
|
54
44
|
}
|
|
55
45
|
}, interval);
|
|
56
|
-
return
|
|
46
|
+
return () => {
|
|
57
47
|
clearInterval(intervalId);
|
|
58
48
|
};
|
|
59
49
|
}, [seconds]);
|
|
60
|
-
return /*#__PURE__*/_react
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
61
51
|
id: "alerts"
|
|
62
|
-
}, alerts.map(
|
|
52
|
+
}, alerts.map(alert => {
|
|
63
53
|
if (alert.component === null) {
|
|
64
|
-
return /*#__PURE__*/_react
|
|
54
|
+
return /*#__PURE__*/_react.default.createElement(_reactstrap.Alert, {
|
|
65
55
|
key: alert.key,
|
|
66
56
|
color: alert.level,
|
|
67
57
|
className: "shadow alerts-style d-print-none",
|
|
68
58
|
fade: true,
|
|
69
59
|
isOpen: !alert.acked,
|
|
70
|
-
toggle:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
});
|
|
75
|
-
}
|
|
60
|
+
toggle: () => store.dispatch({
|
|
61
|
+
type: _actions.ACK_ALERT,
|
|
62
|
+
key: alert.key
|
|
63
|
+
})
|
|
76
64
|
}, alert.shouldBeTranslated ? t(alert.message) : alert.message);
|
|
77
65
|
} else {
|
|
78
66
|
return alert.component(alert, store);
|
|
@@ -4,12 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
7
|
+
exports.default = alertsReducer;
|
|
9
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _actions = require("../../actions");
|
|
11
10
|
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; }
|
|
12
|
-
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
|
|
11
|
+
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; } // Actions
|
|
13
12
|
var initialState = {
|
|
14
13
|
alerts: []
|
|
15
14
|
};
|
|
@@ -31,12 +30,12 @@ function alertsReducer() {
|
|
|
31
30
|
component: action.component
|
|
32
31
|
};
|
|
33
32
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
34
|
-
alerts: [
|
|
33
|
+
alerts: [...state.alerts, newAlert]
|
|
35
34
|
});
|
|
36
35
|
}
|
|
37
36
|
case _actions.DEL_ALERT:
|
|
38
37
|
{
|
|
39
|
-
var newAlerts =
|
|
38
|
+
var newAlerts = [...state.alerts];
|
|
40
39
|
for (var i = newAlerts.length - 1; i >= 0; i--) {
|
|
41
40
|
if (newAlerts[i].key === action.key) {
|
|
42
41
|
newAlerts.splice(i, 1);
|
|
@@ -48,7 +47,7 @@ function alertsReducer() {
|
|
|
48
47
|
}
|
|
49
48
|
case _actions.ACK_ALERT:
|
|
50
49
|
{
|
|
51
|
-
var _newAlerts =
|
|
50
|
+
var _newAlerts = [...state.alerts];
|
|
52
51
|
for (var i in _newAlerts) {
|
|
53
52
|
var alert = _newAlerts[i];
|
|
54
53
|
if (alert.key === action.key) {
|