asab_webui_shell 25.1.1
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/CHANGELOG.md +218 -0
- package/LICENSE +28 -0
- package/README.md +3 -0
- package/dist/actions.js +22 -0
- package/dist/components/branding/BrandImage.js +72 -0
- package/dist/components/locationReplace.js +51 -0
- package/dist/config/ConfigReducer.js +22 -0
- package/dist/config/ConfigService.js +169 -0
- package/dist/containers/AdvancedMode/reducer.js +28 -0
- package/dist/containers/Alerts/alerts.scss +9 -0
- package/dist/containers/Alerts/index.js +81 -0
- package/dist/containers/Alerts/reducer.js +68 -0
- package/dist/containers/Application.js +773 -0
- package/dist/containers/Application.scss +104 -0
- package/dist/containers/AttentionRequired/reducer.js +30 -0
- package/dist/containers/FullscreenMode/reducer.js +28 -0
- package/dist/containers/Header/ApplicationScreenTitle/ApplicationScreenTitle.js +47 -0
- package/dist/containers/Header/ApplicationScreenTitle/ApplicationScreenTitle.scss +8 -0
- package/dist/containers/Header/ApplicationScreenTitle/index.js +31 -0
- package/dist/containers/Header/Help/HelpButton.js +58 -0
- package/dist/containers/Header/Help/HelpButton.scss +15 -0
- package/dist/containers/Header/Help/HelpService.js +34 -0
- package/dist/containers/Header/Preview/PreviewFlag.js +34 -0
- package/dist/containers/Header/Preview/PreviewService.js +34 -0
- package/dist/containers/Header/header.scss +24 -0
- package/dist/containers/Header/index.js +39 -0
- package/dist/containers/Header/reducer.js +53 -0
- package/dist/containers/Navigation/index.js +66 -0
- package/dist/containers/Navigation/reducer.js +56 -0
- package/dist/containers/RouteErrorHandler/ErrorContainer.js +46 -0
- package/dist/containers/RouteErrorHandler/index.js +80 -0
- package/dist/containers/Router/ApplicationRouter.js +78 -0
- package/dist/containers/Router/index.js +50 -0
- package/dist/containers/Router/reducer.js +28 -0
- package/dist/containers/Sidebar/NavbarBrand.js +59 -0
- package/dist/containers/Sidebar/SidebarBottomItem.js +55 -0
- package/dist/containers/Sidebar/SidebarIcon.js +21 -0
- package/dist/containers/Sidebar/SidebarItem.js +209 -0
- package/dist/containers/Sidebar/SidebarItemRenderer.js +30 -0
- package/dist/containers/Sidebar/index.js +86 -0
- package/dist/containers/Sidebar/reducer.js +35 -0
- package/dist/containers/Sidebar/sidebar.scss +176 -0
- package/dist/containers/Sidepanel/Sidepanel.js +60 -0
- package/dist/containers/Sidepanel/Sidepanel.scss +20 -0
- package/dist/containers/Toast/ToastComponent.js +31 -0
- package/dist/containers/Toast/ToastComponent.jsx +28 -0
- package/dist/containers/Toast/ToastContainer.js +80 -0
- package/dist/containers/Toast/ToastContainer.jsx +59 -0
- package/dist/containers/Toast/reducer.js +55 -0
- package/dist/containers/Toast/reducer.jsx +45 -0
- package/dist/index.js +48 -0
- package/dist/modules/about/AboutScreen.js +84 -0
- package/dist/modules/about/index.js +41 -0
- package/dist/modules/auth/actions.js +11 -0
- package/dist/modules/auth/api.js +214 -0
- package/dist/modules/auth/components/SessionExpirationAlert.js +35 -0
- package/dist/modules/auth/header.js +109 -0
- package/dist/modules/auth/header.scss +9 -0
- package/dist/modules/auth/index.js +761 -0
- package/dist/modules/auth/reducer.js +36 -0
- package/dist/modules/auth/screens/AccessControlScreen.js +78 -0
- package/dist/modules/auth/screens/InvitationScreen.js +161 -0
- package/dist/modules/i18n/actions.js +7 -0
- package/dist/modules/i18n/dropdown.js +77 -0
- package/dist/modules/i18n/index.js +44 -0
- package/dist/modules/i18n/reducer.js +26 -0
- package/dist/modules/i18n/service.js +158 -0
- package/dist/modules/tenant/TenantDropdown.js +53 -0
- package/dist/modules/tenant/access/AccessDeniedCard.js +107 -0
- package/dist/modules/tenant/access/AccessDeniedCard.scss +6 -0
- package/dist/modules/tenant/actions.js +10 -0
- package/dist/modules/tenant/index.js +41 -0
- package/dist/modules/tenant/reducer.js +26 -0
- package/dist/modules/tenant/service.js +228 -0
- package/dist/screens/InvalidRouteScreen.js +30 -0
- package/dist/screens/InvalidRouteScreen.scss +19 -0
- package/dist/screens/SuspenseScreen.js +43 -0
- package/dist/screens/SuspenseScreen.scss +9 -0
- package/dist/screens/UnauthorizedAccessScreen.js +79 -0
- package/dist/screens/UnauthorizedAccessScreen.scss +19 -0
- package/dist/services/AttentionRequiredService.js +169 -0
- package/dist/services/BrandingService.js +104 -0
- package/dist/services/HeaderService.js +84 -0
- package/dist/services/ReduxService.js +25 -0
- package/dist/services/TitleService.js +45 -0
- package/dist/theme/ThemeButton.js +39 -0
- package/dist/theme/ThemeReducer.js +20 -0
- package/dist/theme/ThemeService.js +52 -0
- package/dist/theme/actions.js +7 -0
- package/package.json +41 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = AlertsComponent;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _reactRedux = require("react-redux");
|
|
12
|
+
var _reactstrap = require("reactstrap");
|
|
13
|
+
var _actions = require("../../actions");
|
|
14
|
+
var _reactI18next = require("react-i18next");
|
|
15
|
+
require("./alerts.scss");
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
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; }
|
|
18
|
+
function AlertsComponent(props) {
|
|
19
|
+
var _useState = (0, _react.useState)(0),
|
|
20
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
21
|
+
seconds = _useState2[0],
|
|
22
|
+
setSeconds = _useState2[1];
|
|
23
|
+
var store = props.app.Store;
|
|
24
|
+
var alerts = (0, _reactRedux.useSelector)(function (state) {
|
|
25
|
+
return state.alerts.alerts;
|
|
26
|
+
});
|
|
27
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
28
|
+
t = _useTranslation.t;
|
|
29
|
+
|
|
30
|
+
// Expire old alerts
|
|
31
|
+
(0, _react.useEffect)(function () {
|
|
32
|
+
// There is probably smarter way how to set interval to avoid speculative ticking
|
|
33
|
+
var interval = 1000;
|
|
34
|
+
var intervalId = setTimeout(function () {
|
|
35
|
+
setSeconds(function (seconds) {
|
|
36
|
+
return seconds + 1;
|
|
37
|
+
});
|
|
38
|
+
var now = new Date();
|
|
39
|
+
for (var i in alerts) {
|
|
40
|
+
var alert = alerts[i];
|
|
41
|
+
if (alert.expire < now) {
|
|
42
|
+
if (alert.acked) {
|
|
43
|
+
store.dispatch({
|
|
44
|
+
type: _actions.DEL_ALERT,
|
|
45
|
+
key: alert.key
|
|
46
|
+
});
|
|
47
|
+
} else {
|
|
48
|
+
store.dispatch({
|
|
49
|
+
type: _actions.ACK_ALERT,
|
|
50
|
+
key: alert.key
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}, interval);
|
|
56
|
+
return function () {
|
|
57
|
+
clearInterval(intervalId);
|
|
58
|
+
};
|
|
59
|
+
}, [seconds]);
|
|
60
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
61
|
+
id: "alerts"
|
|
62
|
+
}, alerts.map(function (alert) {
|
|
63
|
+
if (alert.component === null) {
|
|
64
|
+
return /*#__PURE__*/_react["default"].createElement(_reactstrap.Alert, {
|
|
65
|
+
key: alert.key,
|
|
66
|
+
color: alert.level,
|
|
67
|
+
className: "shadow alerts-style d-print-none",
|
|
68
|
+
fade: true,
|
|
69
|
+
isOpen: !alert.acked,
|
|
70
|
+
toggle: function toggle() {
|
|
71
|
+
return store.dispatch({
|
|
72
|
+
type: _actions.ACK_ALERT,
|
|
73
|
+
key: alert.key
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}, alert.shouldBeTranslated ? t(alert.message) : alert.message);
|
|
77
|
+
} else {
|
|
78
|
+
return alert.component(alert, store);
|
|
79
|
+
}
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = alertsReducer;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _actions = require("../../actions");
|
|
11
|
+
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["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
|
+
var initialState = {
|
|
14
|
+
alerts: []
|
|
15
|
+
};
|
|
16
|
+
function alertsReducer() {
|
|
17
|
+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
|
18
|
+
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
19
|
+
switch (action.type) {
|
|
20
|
+
case _actions.ADD_ALERT:
|
|
21
|
+
{
|
|
22
|
+
var expire = new Date();
|
|
23
|
+
expire.setSeconds(expire.getSeconds() + action.expire);
|
|
24
|
+
var newAlert = {
|
|
25
|
+
key: Math.floor(Math.random() * 65536),
|
|
26
|
+
message: action.message,
|
|
27
|
+
level: action.level,
|
|
28
|
+
expire: expire,
|
|
29
|
+
acked: false,
|
|
30
|
+
shouldBeTranslated: action.shouldBeTranslated,
|
|
31
|
+
component: action.component
|
|
32
|
+
};
|
|
33
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
34
|
+
alerts: [].concat((0, _toConsumableArray2["default"])(state.alerts), [newAlert])
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
case _actions.DEL_ALERT:
|
|
38
|
+
{
|
|
39
|
+
var newAlerts = (0, _toConsumableArray2["default"])(state.alerts);
|
|
40
|
+
for (var i = newAlerts.length - 1; i >= 0; i--) {
|
|
41
|
+
if (newAlerts[i].key === action.key) {
|
|
42
|
+
newAlerts.splice(i, 1);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
46
|
+
alerts: newAlerts
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
case _actions.ACK_ALERT:
|
|
50
|
+
{
|
|
51
|
+
var _newAlerts = (0, _toConsumableArray2["default"])(state.alerts);
|
|
52
|
+
for (var i in _newAlerts) {
|
|
53
|
+
var alert = _newAlerts[i];
|
|
54
|
+
if (alert.key === action.key) {
|
|
55
|
+
// Prolong the longevity of acked alarm a little bit
|
|
56
|
+
alert.expire.setSeconds(alert.expire.getSeconds() + 3);
|
|
57
|
+
alert.acked = true;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
62
|
+
alerts: _newAlerts
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
default:
|
|
66
|
+
return state;
|
|
67
|
+
}
|
|
68
|
+
}
|