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.
Files changed (90) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/LICENSE +28 -0
  3. package/README.md +3 -0
  4. package/dist/actions.js +22 -0
  5. package/dist/components/branding/BrandImage.js +72 -0
  6. package/dist/components/locationReplace.js +51 -0
  7. package/dist/config/ConfigReducer.js +22 -0
  8. package/dist/config/ConfigService.js +169 -0
  9. package/dist/containers/AdvancedMode/reducer.js +28 -0
  10. package/dist/containers/Alerts/alerts.scss +9 -0
  11. package/dist/containers/Alerts/index.js +81 -0
  12. package/dist/containers/Alerts/reducer.js +68 -0
  13. package/dist/containers/Application.js +773 -0
  14. package/dist/containers/Application.scss +104 -0
  15. package/dist/containers/AttentionRequired/reducer.js +30 -0
  16. package/dist/containers/FullscreenMode/reducer.js +28 -0
  17. package/dist/containers/Header/ApplicationScreenTitle/ApplicationScreenTitle.js +47 -0
  18. package/dist/containers/Header/ApplicationScreenTitle/ApplicationScreenTitle.scss +8 -0
  19. package/dist/containers/Header/ApplicationScreenTitle/index.js +31 -0
  20. package/dist/containers/Header/Help/HelpButton.js +58 -0
  21. package/dist/containers/Header/Help/HelpButton.scss +15 -0
  22. package/dist/containers/Header/Help/HelpService.js +34 -0
  23. package/dist/containers/Header/Preview/PreviewFlag.js +34 -0
  24. package/dist/containers/Header/Preview/PreviewService.js +34 -0
  25. package/dist/containers/Header/header.scss +24 -0
  26. package/dist/containers/Header/index.js +39 -0
  27. package/dist/containers/Header/reducer.js +53 -0
  28. package/dist/containers/Navigation/index.js +66 -0
  29. package/dist/containers/Navigation/reducer.js +56 -0
  30. package/dist/containers/RouteErrorHandler/ErrorContainer.js +46 -0
  31. package/dist/containers/RouteErrorHandler/index.js +80 -0
  32. package/dist/containers/Router/ApplicationRouter.js +78 -0
  33. package/dist/containers/Router/index.js +50 -0
  34. package/dist/containers/Router/reducer.js +28 -0
  35. package/dist/containers/Sidebar/NavbarBrand.js +59 -0
  36. package/dist/containers/Sidebar/SidebarBottomItem.js +55 -0
  37. package/dist/containers/Sidebar/SidebarIcon.js +21 -0
  38. package/dist/containers/Sidebar/SidebarItem.js +209 -0
  39. package/dist/containers/Sidebar/SidebarItemRenderer.js +30 -0
  40. package/dist/containers/Sidebar/index.js +86 -0
  41. package/dist/containers/Sidebar/reducer.js +35 -0
  42. package/dist/containers/Sidebar/sidebar.scss +176 -0
  43. package/dist/containers/Sidepanel/Sidepanel.js +60 -0
  44. package/dist/containers/Sidepanel/Sidepanel.scss +20 -0
  45. package/dist/containers/Toast/ToastComponent.js +31 -0
  46. package/dist/containers/Toast/ToastComponent.jsx +28 -0
  47. package/dist/containers/Toast/ToastContainer.js +80 -0
  48. package/dist/containers/Toast/ToastContainer.jsx +59 -0
  49. package/dist/containers/Toast/reducer.js +55 -0
  50. package/dist/containers/Toast/reducer.jsx +45 -0
  51. package/dist/index.js +48 -0
  52. package/dist/modules/about/AboutScreen.js +84 -0
  53. package/dist/modules/about/index.js +41 -0
  54. package/dist/modules/auth/actions.js +11 -0
  55. package/dist/modules/auth/api.js +214 -0
  56. package/dist/modules/auth/components/SessionExpirationAlert.js +35 -0
  57. package/dist/modules/auth/header.js +109 -0
  58. package/dist/modules/auth/header.scss +9 -0
  59. package/dist/modules/auth/index.js +761 -0
  60. package/dist/modules/auth/reducer.js +36 -0
  61. package/dist/modules/auth/screens/AccessControlScreen.js +78 -0
  62. package/dist/modules/auth/screens/InvitationScreen.js +161 -0
  63. package/dist/modules/i18n/actions.js +7 -0
  64. package/dist/modules/i18n/dropdown.js +77 -0
  65. package/dist/modules/i18n/index.js +44 -0
  66. package/dist/modules/i18n/reducer.js +26 -0
  67. package/dist/modules/i18n/service.js +158 -0
  68. package/dist/modules/tenant/TenantDropdown.js +53 -0
  69. package/dist/modules/tenant/access/AccessDeniedCard.js +107 -0
  70. package/dist/modules/tenant/access/AccessDeniedCard.scss +6 -0
  71. package/dist/modules/tenant/actions.js +10 -0
  72. package/dist/modules/tenant/index.js +41 -0
  73. package/dist/modules/tenant/reducer.js +26 -0
  74. package/dist/modules/tenant/service.js +228 -0
  75. package/dist/screens/InvalidRouteScreen.js +30 -0
  76. package/dist/screens/InvalidRouteScreen.scss +19 -0
  77. package/dist/screens/SuspenseScreen.js +43 -0
  78. package/dist/screens/SuspenseScreen.scss +9 -0
  79. package/dist/screens/UnauthorizedAccessScreen.js +79 -0
  80. package/dist/screens/UnauthorizedAccessScreen.scss +19 -0
  81. package/dist/services/AttentionRequiredService.js +169 -0
  82. package/dist/services/BrandingService.js +104 -0
  83. package/dist/services/HeaderService.js +84 -0
  84. package/dist/services/ReduxService.js +25 -0
  85. package/dist/services/TitleService.js +45 -0
  86. package/dist/theme/ThemeButton.js +39 -0
  87. package/dist/theme/ThemeReducer.js +20 -0
  88. package/dist/theme/ThemeService.js +52 -0
  89. package/dist/theme/actions.js +7 -0
  90. 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
+ }