asab_webui_components 25.2.11 → 25.2.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/abc/Module.js +5 -11
- package/dist/abc/Renderer.js +33 -51
- package/dist/abc/Service.js +8 -14
- package/dist/components/AdvancedCard/AdvancedCard.js +11 -12
- package/dist/components/AsabReactJson/AsabReactJson.js +16 -21
- package/dist/components/AttentionRequired/AttentionRequiredBadge.js +5 -3
- package/dist/components/Authz/ButtonWithAuthz.js +3 -4
- package/dist/components/Authz/ControlledSwitchWithAuthz.js +3 -4
- package/dist/components/Authz/Credentials.js +54 -89
- package/dist/components/Authz/LinkWithAuthz.js +2 -2
- package/dist/components/Authz/UncontrolledSwitchWithAuthz.js +3 -4
- package/dist/components/Authz/utils/authz.js +7 -5
- package/dist/components/Authz/utils/isAuthorized.js +2 -4
- package/dist/components/Console/ConsoleCard.js +27 -37
- package/dist/components/Console/ConsoleContext.js +3 -5
- package/dist/components/Console/components/ConsoleModeButton.js +11 -9
- package/dist/components/ContentLoader.js +22 -25
- package/dist/components/Context/PubSubContext.js +14 -17
- package/dist/components/ControlledSwitch/index.js +14 -14
- package/dist/components/DataTable/ActionButton.js +23 -35
- package/dist/components/DataTable/Buttons.js +58 -64
- package/dist/components/DataTable/CustomDropdownButton.js +21 -32
- package/dist/components/DataTable/LimitDropdown.js +26 -37
- package/dist/components/DataTable/Pagination.js +35 -57
- package/dist/components/DataTable/Search.js +12 -12
- package/dist/components/DataTable/Sort.js +19 -31
- package/dist/components/DataTable/Table.js +125 -160
- package/dist/components/DataTable/index.js +64 -79
- package/dist/components/DataTable2/DataTable2.js +243 -285
- package/dist/components/DataTable2/DataTableContext.js +100 -118
- package/dist/components/DataTable2/components/filters/DataTableAdvFilterMultiValue2.js +34 -46
- package/dist/components/DataTable2/components/filters/DataTableAdvFilterSingleValue2.js +22 -32
- package/dist/components/DataTable2/components/filters/DataTableSimpleFilter2.js +11 -9
- package/dist/components/DataTable2/components/utils/updateTableLimit.js +8 -12
- package/dist/components/DateTime/DateTime.js +7 -7
- package/dist/components/DateTime/DateTimeRelative.js +7 -7
- package/dist/components/DateTime/InvalidDate.js +5 -4
- package/dist/components/DateTime/splDatetimeToIso.js +9 -9
- package/dist/components/DateTime/timeToString.js +5 -5
- package/dist/components/DateTime/useDateFNSLocale.js +7 -13
- package/dist/components/FullscreenButton.js +10 -9
- package/dist/components/Humanize/humanizeToString.js +15 -17
- package/dist/components/Humanize/index.js +14 -16
- package/dist/components/ResultCard/ResultCard.js +9 -8
- package/dist/components/Spinner.js +5 -5
- package/dist/components/TreeMenu/TreeMenu.js +43 -39
- package/dist/components/TreeMenu/TreeMenuCard.js +58 -94
- package/dist/components/TreeMenu/TreeMenuItem.js +55 -52
- package/dist/components/TreeMenu/utils/flattenTree.js +3 -3
- package/dist/components/TreeMenu/utils/formatIntoLeafFolderTree.js +8 -7
- package/dist/components/TreeMenu/utils/formatIntoTree.js +8 -7
- package/dist/components/TreeMenu/utils/removeTreeContent.js +16 -38
- package/dist/components/UncontrolledSwitch/index.js +19 -30
- package/dist/index.js +6 -6
- package/dist/styles/components/html.scss +1 -1
- package/dist/utils/ErrorHandler.js +6 -4
- package/dist/utils/classifyIPAddress.js +45 -74
- package/dist/utils/deepMerge.js +2 -7
- package/dist/utils/localStorage.js +3 -3
- package/dist/utils/monaco/problemMarkers.js +30 -39
- package/dist/utils/validateAccess.js +10 -11
- package/package.json +1 -1
package/dist/abc/Module.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.Module = void 0;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var Module = exports.Module = /*#__PURE__*/function () {
|
|
11
|
-
function Module(app, name) {
|
|
12
|
-
(0, _classCallCheck2["default"])(this, Module);
|
|
7
|
+
class Module {
|
|
8
|
+
constructor(app, name) {
|
|
13
9
|
this.App = app;
|
|
14
10
|
this.Name = name;
|
|
15
11
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}]);
|
|
20
|
-
}();
|
|
12
|
+
initialize() {}
|
|
13
|
+
}
|
|
14
|
+
exports.Module = Module;
|
package/dist/abc/Renderer.js
CHANGED
|
@@ -1,64 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.Renderer = void 0;
|
|
9
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
8
|
var _AsabReactJson = require("../components/AsabReactJson/AsabReactJson.js");
|
|
17
|
-
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,
|
|
18
|
-
|
|
19
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
|
-
var Renderer = exports.Renderer = /*#__PURE__*/function (_Component) {
|
|
9
|
+
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); }
|
|
10
|
+
class Renderer extends _react.Component {
|
|
21
11
|
// Renderer defaults
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
_this = _callSuper(this, Renderer); // Call super() for React component initialization
|
|
26
|
-
_this.App = app;
|
|
27
|
-
return _this;
|
|
12
|
+
constructor(app) {
|
|
13
|
+
super(); // Call super() for React component initialization
|
|
14
|
+
this.App = app;
|
|
28
15
|
}
|
|
29
|
-
(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
enableClipboard: false,
|
|
43
|
-
indentWidth: 8
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
// Render span with value inside as a default
|
|
47
|
-
return /*#__PURE__*/_react["default"].createElement("span", null, typeof value === "bigint" ? value.toString() : value);
|
|
16
|
+
render(key, value, schemaField) {
|
|
17
|
+
// Render ReactJson component if value is a object
|
|
18
|
+
if (typeof value === 'object') {
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_AsabReactJson.AsabReactJson, {
|
|
20
|
+
src: value,
|
|
21
|
+
name: false,
|
|
22
|
+
collapsed: false,
|
|
23
|
+
displayDataTypes: false,
|
|
24
|
+
displayArrayKey: false,
|
|
25
|
+
quotesOnKeys: false,
|
|
26
|
+
enableClipboard: false,
|
|
27
|
+
indentWidth: 8
|
|
28
|
+
});
|
|
48
29
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
30
|
+
// Render span with value inside as a default
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement("span", null, typeof value === "bigint" ? value.toString() : value);
|
|
32
|
+
}
|
|
33
|
+
plain(key, value, schemaField) {
|
|
34
|
+
// Render stringified component if value is a object
|
|
35
|
+
if (typeof value === 'object') {
|
|
36
|
+
try {
|
|
37
|
+
return JSON.stringify(value);
|
|
38
|
+
} catch (e) {
|
|
39
|
+
console.warn('Failed to stringify the renderer value:', value, e);
|
|
40
|
+
return value;
|
|
60
41
|
}
|
|
61
|
-
return value;
|
|
62
42
|
}
|
|
63
|
-
|
|
64
|
-
}
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.Renderer = Renderer;
|
package/dist/abc/Service.js
CHANGED
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.Service = void 0;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var Service = exports.Service = /*#__PURE__*/function () {
|
|
11
|
-
function Service(app, serviceName) {
|
|
12
|
-
(0, _classCallCheck2["default"])(this, Service);
|
|
7
|
+
class Service {
|
|
8
|
+
constructor(app, serviceName) {
|
|
13
9
|
this.Name = serviceName;
|
|
14
10
|
this.App = app;
|
|
15
11
|
app.registerService(this);
|
|
16
12
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}]);
|
|
24
|
-
}();
|
|
13
|
+
initialize() {
|
|
14
|
+
// Override this method in your service
|
|
15
|
+
// At this point it is ensured, that Redux Store exists at App.Store
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.Service = Service;
|
|
@@ -11,25 +11,24 @@ var _reactJsonView = _interopRequireDefault(require("react-json-view"));
|
|
|
11
11
|
var _reactstrap = require("reactstrap");
|
|
12
12
|
// This is a card that displays data on the page in JSON format after hotkeys are pressed `ctrl + shift + 1`
|
|
13
13
|
function AdvancedCard(_ref) {
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
cardClassname =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var advmode = (0, _reactRedux.useSelector)(function (state) {
|
|
14
|
+
var {
|
|
15
|
+
data,
|
|
16
|
+
cardClassname = ''
|
|
17
|
+
} = _ref;
|
|
18
|
+
var theme = (0, _reactRedux.useSelector)(state => state.theme);
|
|
19
|
+
var advmode = (0, _reactRedux.useSelector)(state => {
|
|
21
20
|
var _state$advmode;
|
|
22
21
|
return (_state$advmode = state.advmode) === null || _state$advmode === void 0 ? void 0 : _state$advmode.enabled;
|
|
23
22
|
});
|
|
24
|
-
return advmode ? /*#__PURE__*/_react
|
|
23
|
+
return advmode ? /*#__PURE__*/_react.default.createElement(_reactstrap.Card, {
|
|
25
24
|
className: "".concat(cardClassname)
|
|
26
|
-
}, /*#__PURE__*/_react
|
|
25
|
+
}, /*#__PURE__*/_react.default.createElement(_reactstrap.CardHeader, {
|
|
27
26
|
className: "card-header-flex"
|
|
28
|
-
}, /*#__PURE__*/_react
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
29
28
|
className: "flex-fill"
|
|
30
|
-
}, /*#__PURE__*/_react
|
|
29
|
+
}, /*#__PURE__*/_react.default.createElement("h3", null, /*#__PURE__*/_react.default.createElement("i", {
|
|
31
30
|
className: "bi bi-code-slash pe-2"
|
|
32
|
-
}), "JSON"))), /*#__PURE__*/_react
|
|
31
|
+
}), "JSON"))), /*#__PURE__*/_react.default.createElement(_reactstrap.CardBody, null, /*#__PURE__*/_react.default.createElement(_reactJsonView.default, {
|
|
33
32
|
src: data,
|
|
34
33
|
theme: theme === 'dark' ? 'chalk' : 'rjv-default',
|
|
35
34
|
name: false,
|
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.AsabReactJson = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
10
|
var _react = _interopRequireDefault(require("react"));
|
|
13
11
|
var _reactJsonView = _interopRequireDefault(require("react-json-view"));
|
|
@@ -20,34 +18,31 @@ var _excluded = ["src"];
|
|
|
20
18
|
*/
|
|
21
19
|
|
|
22
20
|
// Component wraps ReactJson to handle BigInt numbers and turn them into strings
|
|
23
|
-
var AsabReactJson =
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
var AsabReactJson = _ref => {
|
|
22
|
+
var {
|
|
23
|
+
src
|
|
24
|
+
} = _ref,
|
|
25
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
26
|
+
var theme = (0, _reactRedux.useSelector)(state => state.theme);
|
|
29
27
|
|
|
30
28
|
// The function looks through the received data and if there is a BigInt there, it transforms it into a string
|
|
31
|
-
var
|
|
29
|
+
var convertBigIntToString = data => {
|
|
32
30
|
if (typeof data === 'bigint') {
|
|
33
31
|
return data.toString();
|
|
34
32
|
} else if (Array.isArray(data)) {
|
|
35
|
-
return data.map(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
|
|
41
|
-
key = _ref3[0],
|
|
42
|
-
value = _ref3[1];
|
|
43
|
-
return [key, _convertBigIntToString(value)];
|
|
33
|
+
return data.map(item => convertBigIntToString(item)); // Recursion for array
|
|
34
|
+
} else if (typeof data === 'object' && data !== null) {
|
|
35
|
+
return Object.fromEntries(Object.entries(data).map(_ref2 => {
|
|
36
|
+
var [key, value] = _ref2;
|
|
37
|
+
return [key, convertBigIntToString(value)];
|
|
44
38
|
}) // Recursion for an object
|
|
45
39
|
);
|
|
46
40
|
}
|
|
47
41
|
return data;
|
|
48
42
|
};
|
|
49
|
-
return /*#__PURE__*/_react
|
|
50
|
-
src:
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_reactJsonView.default, (0, _extends2.default)({
|
|
44
|
+
src: convertBigIntToString(src),
|
|
51
45
|
theme: theme === 'dark' ? 'chalk' : 'rjv-default'
|
|
52
46
|
}, props));
|
|
53
|
-
};
|
|
47
|
+
};
|
|
48
|
+
exports.AsabReactJson = AsabReactJson;
|
|
@@ -12,10 +12,12 @@ var _reactstrap = require("reactstrap");
|
|
|
12
12
|
var _excluded = ["content"];
|
|
13
13
|
// Component for Attention badge rendereing
|
|
14
14
|
function AttentionBadge(_ref) {
|
|
15
|
-
var
|
|
16
|
-
|
|
15
|
+
var {
|
|
16
|
+
content
|
|
17
|
+
} = _ref,
|
|
18
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
17
19
|
var level = (content === null || content === void 0 ? void 0 : content.level) || 'danger';
|
|
18
|
-
return /*#__PURE__*/_react
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement(_reactstrap.Badge, (0, _extends2.default)({
|
|
19
21
|
className: "attention-required-badge",
|
|
20
22
|
color: level
|
|
21
23
|
}, props), content === null || content === void 0 ? void 0 : content.count);
|
|
@@ -1,7 +1,6 @@
|
|
|
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
|
});
|
|
@@ -11,9 +10,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _reactstrap = require("reactstrap");
|
|
13
12
|
var _authz = require("./utils/authz");
|
|
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,
|
|
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); }
|
|
15
14
|
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; }
|
|
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
|
|
15
|
+
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
16
|
/*
|
|
18
17
|
ButtonWithAutz component emulates the functionality of reactstrap <Button/> component
|
|
19
18
|
and extend it by disable feature based on resources.
|
|
@@ -73,7 +72,7 @@ function ButtonWithAuthz(props) {
|
|
|
73
72
|
var disabled = authzObj.disabled;
|
|
74
73
|
var hide = authzObj.hide;
|
|
75
74
|
var title = authzObj.title;
|
|
76
|
-
return hide && disabled ? null : /*#__PURE__*/_react
|
|
75
|
+
return hide && disabled ? null : /*#__PURE__*/_react.default.createElement(_reactstrap.Button, (0, _extends2.default)({}, childProps, {
|
|
77
76
|
title: title,
|
|
78
77
|
disabled: disabled
|
|
79
78
|
}), childProps.children);
|
|
@@ -1,7 +1,6 @@
|
|
|
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
|
});
|
|
@@ -11,9 +10,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _ControlledSwitch = _interopRequireDefault(require("../ControlledSwitch"));
|
|
13
12
|
var _authz = require("./utils/authz");
|
|
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,
|
|
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); }
|
|
15
14
|
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; }
|
|
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
|
|
15
|
+
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
16
|
/*
|
|
18
17
|
ControlledSwitchWithAuthz component emulates the functionality of asab-webui <ControlledSwitch/> component
|
|
19
18
|
and extend it by disable feature based on resources.
|
|
@@ -70,7 +69,7 @@ function ControlledSwitchWithAuthz(props) {
|
|
|
70
69
|
var disabled = authzObj.disabled;
|
|
71
70
|
var hide = authzObj.hide;
|
|
72
71
|
var title = authzObj.title;
|
|
73
|
-
return hide && disabled ? null : /*#__PURE__*/_react
|
|
72
|
+
return hide && disabled ? null : /*#__PURE__*/_react.default.createElement(_ControlledSwitch.default, (0, _extends2.default)({}, childProps, {
|
|
74
73
|
title: title,
|
|
75
74
|
disabled: disabled
|
|
76
75
|
}));
|
|
@@ -1,14 +1,11 @@
|
|
|
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
7
|
exports.Credentials = Credentials;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
8
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
9
|
var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
|
|
13
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
14
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -16,22 +13,23 @@ var _reactI18next = require("react-i18next");
|
|
|
16
13
|
var _reactRedux = require("react-redux");
|
|
17
14
|
var _LinkWithAuthz = require("./LinkWithAuthz");
|
|
18
15
|
require("./Credentials.scss");
|
|
19
|
-
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,
|
|
16
|
+
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); }
|
|
20
17
|
function Credentials(_ref) {
|
|
21
18
|
var _props$apiPath, _props$cleanupTime, _props$app;
|
|
22
|
-
var props = (0, _extends2
|
|
19
|
+
var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
|
|
23
20
|
// Validation on undefined credentials_ids
|
|
24
21
|
if (props.credentials_ids == undefined) {
|
|
25
22
|
return '';
|
|
26
23
|
}
|
|
27
|
-
var resources = (0, _reactRedux.useSelector)(
|
|
24
|
+
var resources = (0, _reactRedux.useSelector)(state => {
|
|
28
25
|
var _state$auth;
|
|
29
26
|
return state === null || state === void 0 || (_state$auth = state.auth) === null || _state$auth === void 0 ? void 0 : _state$auth.resources;
|
|
30
27
|
});
|
|
31
28
|
var resource = 'seacat:credentials:access'; // Resource required to access the Credentials List Screen
|
|
32
29
|
|
|
33
|
-
var
|
|
34
|
-
t
|
|
30
|
+
var {
|
|
31
|
+
t
|
|
32
|
+
} = (0, _reactI18next.useTranslation)();
|
|
35
33
|
var apiPath = (_props$apiPath = props.apiPath) !== null && _props$apiPath !== void 0 ? _props$apiPath : 'seacat-auth';
|
|
36
34
|
var credentials_ids = Array.isArray(props.credentials_ids) ? props.credentials_ids : [props.credentials_ids];
|
|
37
35
|
|
|
@@ -42,58 +40,35 @@ function Credentials(_ref) {
|
|
|
42
40
|
var CredentialsAPI = props.app.axiosCreate(apiPath);
|
|
43
41
|
var cleanupTime = (_props$cleanupTime = props.cleanupTime) !== null && _props$cleanupTime !== void 0 ? _props$cleanupTime : 1000 * 60 * 60 * 24; // 24 hrs
|
|
44
42
|
|
|
45
|
-
var
|
|
46
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
47
|
-
credentials = _useState2[0],
|
|
48
|
-
setCredentials = _useState2[1];
|
|
43
|
+
var [credentials, setCredentials] = (0, _react.useState)([]);
|
|
49
44
|
// Checks if there is a SeaCatAdminFederationModule
|
|
50
|
-
var hasSeaCatAdminModule = ((_props$app = props.app) === null || _props$app === void 0 ? void 0 : _props$app.Modules.some(
|
|
51
|
-
|
|
52
|
-
})) === false;
|
|
53
|
-
(0, _react.useEffect)(function () {
|
|
45
|
+
var hasSeaCatAdminModule = ((_props$app = props.app) === null || _props$app === void 0 ? void 0 : _props$app.Modules.some(obj => obj.Name === 'SeaCatAdminFederationModule')) === false;
|
|
46
|
+
(0, _react.useEffect)(() => {
|
|
54
47
|
matchCredentialIds(credentials_ids);
|
|
55
48
|
}, []);
|
|
56
49
|
|
|
57
50
|
// asks the server for usernames, saves them to local storage and sets usernames to render
|
|
58
51
|
var retrieveUserNames = /*#__PURE__*/function () {
|
|
59
|
-
var _ref2 = (0, _asyncToGenerator2
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
_context.prev = 0;
|
|
65
|
-
_context.next = 3;
|
|
66
|
-
return CredentialsAPI.put("idents", credentials_ids);
|
|
67
|
-
case 3:
|
|
68
|
-
response = _context.sent;
|
|
69
|
-
if (!(response.data.result !== 'OK')) {
|
|
70
|
-
_context.next = 6;
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
throw new Error(t('General|There was an issue processing a request'));
|
|
74
|
-
case 6:
|
|
75
|
-
usernamesToLS = saveUsernamesToLS(response.data.data, credentials_ids, cleanupTime);
|
|
76
|
-
setCredentials(usernamesToLS);
|
|
77
|
-
_context.next = 14;
|
|
78
|
-
break;
|
|
79
|
-
case 10:
|
|
80
|
-
_context.prev = 10;
|
|
81
|
-
_context.t0 = _context["catch"](0);
|
|
82
|
-
console.error(_context.t0);
|
|
83
|
-
removeUsernamesFromLS();
|
|
84
|
-
case 14:
|
|
85
|
-
case "end":
|
|
86
|
-
return _context.stop();
|
|
52
|
+
var _ref2 = (0, _asyncToGenerator2.default)(function* () {
|
|
53
|
+
try {
|
|
54
|
+
var response = yield CredentialsAPI.put("idents", credentials_ids);
|
|
55
|
+
if (response.data.result !== 'OK') {
|
|
56
|
+
throw new Error(t('General|There was an issue processing a request'));
|
|
87
57
|
}
|
|
88
|
-
|
|
89
|
-
|
|
58
|
+
var usernamesToLS = saveUsernamesToLS(response.data.data, credentials_ids, cleanupTime);
|
|
59
|
+
setCredentials(usernamesToLS);
|
|
60
|
+
} catch (e) {
|
|
61
|
+
console.error(e);
|
|
62
|
+
removeUsernamesFromLS();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
90
65
|
return function retrieveUserNames() {
|
|
91
66
|
return _ref2.apply(this, arguments);
|
|
92
67
|
};
|
|
93
68
|
}();
|
|
94
69
|
|
|
95
70
|
// compares array of IDs with data in localstorage
|
|
96
|
-
var matchCredentialIds =
|
|
71
|
+
var matchCredentialIds = credentials_ids => {
|
|
97
72
|
var usernamesInLS = getUsernamesFromLS('Credentials', cleanupTime);
|
|
98
73
|
var usernamesToRender = [];
|
|
99
74
|
if (usernamesInLS.credentials == undefined || usernamesInLS.credentials.length === 0 || usernamesInLS.expiration <= Date.now()) {
|
|
@@ -102,9 +77,7 @@ function Credentials(_ref) {
|
|
|
102
77
|
return;
|
|
103
78
|
}
|
|
104
79
|
var _loop = function _loop(i) {
|
|
105
|
-
var indexFromLS = usernamesInLS.credentials.findIndex(
|
|
106
|
-
return itemInLS.id === credentials_ids[i];
|
|
107
|
-
});
|
|
80
|
+
var indexFromLS = usernamesInLS.credentials.findIndex(itemInLS => itemInLS.id === credentials_ids[i]);
|
|
108
81
|
if (indexFromLS === -1) {
|
|
109
82
|
retrieveUserNames();
|
|
110
83
|
return {
|
|
@@ -124,44 +97,38 @@ function Credentials(_ref) {
|
|
|
124
97
|
setCredentials(usernamesToRender);
|
|
125
98
|
};
|
|
126
99
|
function renderPlainCredentials(credentials_ids) {
|
|
127
|
-
return credentials_ids.map(
|
|
128
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
129
|
-
className: "authz-credentials-link",
|
|
130
|
-
key: i
|
|
131
|
-
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
132
|
-
className: "bi bi-person pe-1"
|
|
133
|
-
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
134
|
-
title: credentials_id
|
|
135
|
-
}, credentials_id));
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, credentials && credentials.length !== 0 ? credentials.map(function (credentialObj, i) {
|
|
139
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
140
|
-
key: i,
|
|
100
|
+
return credentials_ids.map((credentials_id, i) => /*#__PURE__*/_react.default.createElement("div", {
|
|
141
101
|
className: "authz-credentials-link",
|
|
142
|
-
|
|
143
|
-
}, /*#__PURE__*/_react
|
|
102
|
+
key: i
|
|
103
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
144
104
|
className: "bi bi-person pe-1"
|
|
145
|
-
}), /*#__PURE__*/_react
|
|
146
|
-
resource: resource,
|
|
147
|
-
resources: resources,
|
|
148
|
-
to: "/auth/credentials/".concat(credentialObj.id),
|
|
149
|
-
disabled: hasSeaCatAdminModule
|
|
150
|
-
}, credentialObj.username || credentialObj.id));
|
|
151
|
-
}) : credentials_ids.map(function (credentials_id, i) {
|
|
152
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
153
|
-
key: i,
|
|
154
|
-
className: "authz-credentials-link",
|
|
105
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
155
106
|
title: credentials_id
|
|
156
|
-
},
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
})
|
|
107
|
+
}, credentials_id)));
|
|
108
|
+
}
|
|
109
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, credentials && credentials.length !== 0 ? credentials.map((credentialObj, i) => /*#__PURE__*/_react.default.createElement("div", {
|
|
110
|
+
key: i,
|
|
111
|
+
className: "authz-credentials-link",
|
|
112
|
+
title: credentialObj.username || credentialObj.id
|
|
113
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
114
|
+
className: "bi bi-person pe-1"
|
|
115
|
+
}), /*#__PURE__*/_react.default.createElement(_LinkWithAuthz.LinkWithAuthz, {
|
|
116
|
+
resource: resource,
|
|
117
|
+
resources: resources,
|
|
118
|
+
to: "/auth/credentials/".concat(credentialObj.id),
|
|
119
|
+
disabled: hasSeaCatAdminModule
|
|
120
|
+
}, credentialObj.username || credentialObj.id))) : credentials_ids.map((credentials_id, i) => /*#__PURE__*/_react.default.createElement("div", {
|
|
121
|
+
key: i,
|
|
122
|
+
className: "authz-credentials-link",
|
|
123
|
+
title: credentials_id
|
|
124
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
125
|
+
className: "bi bi-person pe-1"
|
|
126
|
+
}), /*#__PURE__*/_react.default.createElement(_LinkWithAuthz.LinkWithAuthz, {
|
|
127
|
+
resource: resource,
|
|
128
|
+
resources: resources,
|
|
129
|
+
to: "/auth/credentials/".concat(credentials_id),
|
|
130
|
+
disabled: hasSeaCatAdminModule
|
|
131
|
+
}, credentials_id))));
|
|
165
132
|
}
|
|
166
133
|
function removeUsernamesFromLS() {
|
|
167
134
|
if (localStorage) {
|
|
@@ -188,7 +155,7 @@ function saveUsernamesToLS(data, credentials_ids, cleanupTime) {
|
|
|
188
155
|
if (localStorage) {
|
|
189
156
|
var dataInLS = getUsernamesFromLS('Credentials', cleanupTime);
|
|
190
157
|
var dataToLS = [];
|
|
191
|
-
credentials_ids.map(
|
|
158
|
+
credentials_ids.map(credential_id => {
|
|
192
159
|
var item = {};
|
|
193
160
|
if (data[credential_id]) {
|
|
194
161
|
item = {
|
|
@@ -202,9 +169,7 @@ function saveUsernamesToLS(data, credentials_ids, cleanupTime) {
|
|
|
202
169
|
username: undefined
|
|
203
170
|
};
|
|
204
171
|
}
|
|
205
|
-
var indexFromLS = dataInLS.credentials.findIndex(
|
|
206
|
-
return itemInLS.id === item.id;
|
|
207
|
-
});
|
|
172
|
+
var indexFromLS = dataInLS.credentials.findIndex(itemInLS => itemInLS.id === item.id);
|
|
208
173
|
if (indexFromLS === -1) {
|
|
209
174
|
dataInLS.credentials.push(item);
|
|
210
175
|
}
|
|
@@ -10,7 +10,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _reactRouterDom = require("react-router-dom");
|
|
11
11
|
var _authz = require("./utils/authz");
|
|
12
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; }
|
|
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
|
|
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
14
|
/*
|
|
15
15
|
LinkWithAuthz component creates a link that is enabled or disabled based on the user's authorized resources.
|
|
16
16
|
|
|
@@ -52,5 +52,5 @@ function LinkWithAuthz(props) {
|
|
|
52
52
|
var childProps = _objectSpread({}, props);
|
|
53
53
|
var authzObj = (0, _authz.authz)(childProps);
|
|
54
54
|
var disabled = authzObj.disabled;
|
|
55
|
-
return disabled ? /*#__PURE__*/_react
|
|
55
|
+
return disabled ? /*#__PURE__*/_react.default.createElement("span", childProps, childProps.children) : /*#__PURE__*/_react.default.createElement(_reactRouterDom.Link, childProps, childProps.children);
|
|
56
56
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
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
|
});
|
|
@@ -11,9 +10,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _UncontrolledSwitch = _interopRequireDefault(require("../UncontrolledSwitch"));
|
|
13
12
|
var _authz = require("./utils/authz");
|
|
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,
|
|
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); }
|
|
15
14
|
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; }
|
|
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
|
|
15
|
+
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
16
|
/*
|
|
18
17
|
UncontrolledSwitchWithAuthz component emulates the functionality of asab-webui <UncontrolledSwitch/> component
|
|
19
18
|
and extend it by disable feature based on resources.
|
|
@@ -71,7 +70,7 @@ function UncontrolledSwitchWithAuthz(props) {
|
|
|
71
70
|
var disabled = authzObj.disabled;
|
|
72
71
|
var hide = authzObj.hide;
|
|
73
72
|
var title = authzObj.title;
|
|
74
|
-
return hide && disabled ? null : /*#__PURE__*/_react
|
|
73
|
+
return hide && disabled ? null : /*#__PURE__*/_react.default.createElement(_UncontrolledSwitch.default, (0, _extends2.default)({}, childProps, {
|
|
75
74
|
title: title,
|
|
76
75
|
disabled: disabled
|
|
77
76
|
}));
|