asab_webui_shell 25.2.2 → 25.2.3

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.
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactI18next = require("react-i18next");
9
9
  var _reactRedux = require("react-redux");
10
10
  var _reactstrap = require("reactstrap");
11
+ var _asab_webui_components = require("asab_webui_components");
11
12
  require("./HelpButton.scss");
12
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); }
13
14
  function HelpButton() {
@@ -15,9 +16,21 @@ function HelpButton() {
15
16
  t
16
17
  } = (0, _reactI18next.useTranslation)();
17
18
  var [modal, setModal] = (0, _react.useState)(false);
19
+ var [isIframeLoading, setIsIframeLoading] = (0, _react.useState)(true);
18
20
  var path = (0, _reactRedux.useSelector)(state => state === null || state === void 0 ? void 0 : state.header.helpPath);
19
21
  if (path == undefined) return null;
20
- var toggle = () => setModal(!modal);
22
+ var toggle = () => {
23
+ setModal(prev => {
24
+ var newModal = !prev;
25
+ if (newModal) {
26
+ setIsIframeLoading(true);
27
+ }
28
+ return newModal;
29
+ });
30
+ };
31
+ var handleIframeLoad = () => {
32
+ setIsIframeLoading(false);
33
+ };
21
34
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactstrap.NavLink, {
22
35
  className: "help-nav-link",
23
36
  onClick: toggle,
@@ -41,8 +54,15 @@ function HelpButton() {
41
54
  color: "primary"
42
55
  }, /*#__PURE__*/_react.default.createElement("i", {
43
56
  className: "bi bi-x-lg"
44
- }))), /*#__PURE__*/_react.default.createElement(_reactstrap.CardBody, null, /*#__PURE__*/_react.default.createElement("iframe", {
57
+ }))), /*#__PURE__*/_react.default.createElement(_reactstrap.CardBody, null, isIframeLoading && /*#__PURE__*/_react.default.createElement("div", {
58
+ className: "d-flex justify-content-center align-items-center help-iframe"
59
+ }, /*#__PURE__*/_react.default.createElement(_asab_webui_components.Spinner, null)), /*#__PURE__*/_react.default.createElement("iframe", {
45
60
  className: "help-iframe",
46
- src: path
61
+ src: path,
62
+ onLoad: handleIframeLoad,
63
+ onError: handleIframeLoad,
64
+ style: {
65
+ display: isIframeLoading ? 'none' : ''
66
+ }
47
67
  })))));
48
68
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asab_webui_shell",
3
- "version": "25.2.2",
3
+ "version": "25.2.3",
4
4
  "license": "BSD-3-Clause",
5
5
  "description": "TeskaLabs ASAB WebUI Shell Application",
6
6
  "contributors": [