@equinor/echo-framework 0.8.4 → 0.8.7
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/contextualAppLinks/externalLinkButtons/externalLinkButtons.helpers.d.ts +47 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkButtons.helpers.test.d.ts +1 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToCommApp.d.ts +14 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToMcApp.d.ts +3 -1
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.d.ts +1 -2
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSap.d.ts +3 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSemiDoc.d.ts +4 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToTr2000.d.ts +2 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/iconButtonSpinner.d.ts +18 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/index.d.ts +1 -0
- package/dist/components/externalLinkButton/externalLinkButton.d.ts +16 -7
- package/dist/components/realTimeData/hooks/useSignalR.d.ts +3 -2
- package/dist/hooks/useSemi.d.ts +11 -7
- package/dist/hooks/useTagDetails.d.ts +10 -3
- package/dist/index.d.ts +11 -3
- package/dist/services/api/api-manager.d.ts +1 -1
- package/dist/services/api/api-tag-details.d.ts +18 -0
- package/dist/services/api/api-tag-details.test.d.ts +1 -0
- package/dist/services/api/api-tags.d.ts +17 -0
- package/dist/services/api/api-tags.test.d.ts +1 -0
- package/dist/services/api/index.d.ts +1 -0
- package/dist/services/echopediaAnalyticsModule/echopediaAnalyticsModule.d.ts +1 -0
- package/dist/src/components/containers/layout.module.css.js +1 -1
- package/dist/src/components/containers/layouts.js +45 -48
- package/dist/src/components/contextualAppLinks/externalAppsMenu.js +4 -4
- package/dist/src/components/contextualAppLinks/externalLinkButtons/allExternalLinks.js +66 -11
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkButtons.helpers.js +169 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToCommApp.js +93 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToMcApp.js +60 -5
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.js +43 -11
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSafeX.js +1 -1
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSap.js +58 -11
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSemiDoc.js +16 -5
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToStid.js +1 -1
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToTr2000.js +67 -16
- package/dist/src/components/contextualAppLinks/externalLinkButtons/iconButtonSpinner.js +44 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/iconButtonSpinner.module.css.js +15 -0
- package/dist/src/components/externalLinkButton/externalLinkButton.js +89 -34
- package/dist/src/components/externalLinkButton/externalLinkButton.module.css.js +5 -2
- package/dist/src/components/realTimeData/components/connectorForIMSTag/IMSConnector.module.css.js +3 -2
- package/dist/src/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.js +32 -7
- package/dist/src/components/realTimeData/hooks/useSignalR.js +4 -2
- package/dist/src/coreApplication/EchoBarComponent.js +8 -9
- package/dist/src/coreApplication/EchoContent.js +1 -5
- package/dist/src/coreApplication/EchoContent.module.css.js +1 -5
- package/dist/src/hooks/useSemi.js +40 -14
- package/dist/src/hooks/useTagDetails.js +116 -45
- package/dist/src/icons/common/CommissionApp-icon.png.js +7 -0
- package/dist/src/icons/common/Evision.svg.js +3 -2
- package/dist/src/icons/common/Fusion.svg.js +30 -25
- package/dist/src/icons/common/McApp.svg.js +10 -6
- package/dist/src/icons/common/Notification.svg.js +82 -0
- package/dist/src/icons/common/ProCoSysIcon.svg.js +3 -2
- package/dist/src/icons/common/SapLogo.svg.js +5 -4
- package/dist/src/icons/common/SemiIcon.svg.js +11 -11
- package/dist/src/icons/common/Stid.svg.js +3 -2
- package/dist/src/icons/common/TR2000.svg.js +8 -6
- package/dist/src/icons/common/WorkOrder.svg.js +72 -0
- package/dist/src/icons/common/Yammer.svg.js +2 -1
- package/dist/src/icons/common/satos-logo.png.js +7 -0
- package/dist/src/index.js +15 -1
- package/dist/src/services/api/api-manager.js +2 -2
- package/dist/src/services/api/api-realtimedata.js +3 -1
- package/dist/src/services/api/api-tag-details.js +66 -0
- package/dist/src/services/api/api-tags.js +29 -0
- package/dist/src/services/echopediaAnalyticsModule/echopediaAnalyticsModule.js +10 -0
- package/dist/src/types/pingableSources.js +1 -0
- package/dist/src/utils/navigationUtils.js +28 -0
- package/dist/src/utils/plantInfo.js +1 -0
- package/dist/types/api-proCoSysTagResponse.d.ts +8 -0
- package/dist/types/pingableSources.d.ts +2 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/navigationUtils.d.ts +7 -0
- package/dist/utils/navigationUtils.test.d.ts +1 -0
- package/dist/utils/plantInfo.d.ts +6 -0
- package/dist/utils/plantInfo.test.d.ts +1 -0
- package/package.json +3 -3
|
@@ -24,20 +24,31 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
24
24
|
* Will only render if Semi is available for the passed tagNo.
|
|
25
25
|
*
|
|
26
26
|
* @param {string} tagNo The tag's number to open in Semi.
|
|
27
|
+
* @param {string} instCode Plant installation code.
|
|
28
|
+
* @param {(isLoading: boolean) => void} loadingStatusCallback Callback which provides an 'isLoading' param reflecting the actual API call state for checking Semi availability.
|
|
27
29
|
* @returns {React.FC<ExternalLinkToSemiDocProps>} React component.
|
|
28
30
|
*/
|
|
29
31
|
|
|
30
32
|
|
|
31
33
|
var ExternalLinkToSemiDoc = function ExternalLinkToSemiDoc(_ref) {
|
|
32
|
-
var tagNo = _ref.tagNo
|
|
34
|
+
var tagNo = _ref.tagNo,
|
|
35
|
+
instCode = _ref.instCode,
|
|
36
|
+
loadingStatusCallback = _ref.loadingStatusCallback;
|
|
33
37
|
|
|
34
38
|
var _useSemi$useSemi = useSemi.useSemi({
|
|
35
|
-
tagNo: tagNo
|
|
39
|
+
tagNo: tagNo,
|
|
40
|
+
instCode: instCode
|
|
36
41
|
}),
|
|
37
42
|
isSemiDocumentAvailable = _useSemi$useSemi.isSemiDocumentAvailable,
|
|
38
|
-
semiDocumentId = _useSemi$useSemi.semiDocumentId
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
semiDocumentId = _useSemi$useSemi.semiDocumentId,
|
|
44
|
+
isSemiLoading = _useSemi$useSemi.isSemiLoading;
|
|
45
|
+
|
|
46
|
+
React.useEffect(function () {
|
|
47
|
+
if (!!loadingStatusCallback) {
|
|
48
|
+
loadingStatusCallback(isSemiLoading);
|
|
49
|
+
}
|
|
50
|
+
}, [isSemiLoading, loadingStatusCallback]);
|
|
51
|
+
return isSemiDocumentAvailable && !isSemiLoading ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton.ExternalLinkButton, {
|
|
41
52
|
buttonName: "Semi",
|
|
42
53
|
buttonIcon: "Semi",
|
|
43
54
|
linkTo: "https://semi.equinor.com/uploaddocumentation?semiId=".concat(semiDocumentId),
|
|
@@ -29,7 +29,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
29
29
|
var ExternalLinkToStid = function ExternalLinkToStid(_ref) {
|
|
30
30
|
var tagNo = _ref.tagNo,
|
|
31
31
|
instCode = _ref.instCode;
|
|
32
|
-
return /*#__PURE__*/React__default["default"].createElement(externalLinkButton
|
|
32
|
+
return /*#__PURE__*/React__default["default"].createElement(externalLinkButton.ExternalLinkButton, {
|
|
33
33
|
buttonName: "STID",
|
|
34
34
|
buttonIcon: "Stid",
|
|
35
35
|
linkTo: "https://stid.equinor.com/".concat(instCode, "/tag/").concat(tagNo),
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
+
|
|
5
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
10
|
+
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
12
|
+
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
|
|
3
15
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
16
|
|
|
5
17
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -8,8 +20,12 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
8
20
|
|
|
9
21
|
var EchoCore = require('@equinor/echo-core');
|
|
10
22
|
|
|
23
|
+
var EchoUtils = require('@equinor/echo-utils');
|
|
24
|
+
|
|
11
25
|
var React = require('react');
|
|
12
26
|
|
|
27
|
+
require('react-router-dom');
|
|
28
|
+
|
|
13
29
|
var useTagDetails = require('../../../hooks/useTagDetails.js');
|
|
14
30
|
|
|
15
31
|
var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
|
|
@@ -20,6 +36,8 @@ function _interopDefaultLegacy(e) {
|
|
|
20
36
|
};
|
|
21
37
|
}
|
|
22
38
|
|
|
39
|
+
var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
|
|
40
|
+
|
|
23
41
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
42
|
/**
|
|
25
43
|
* External link button to TR2000.
|
|
@@ -27,35 +45,68 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
27
45
|
*
|
|
28
46
|
* @param {string} tagNo The tag's number to open in TR2000.
|
|
29
47
|
* @param {string} instCode Plant installation code.
|
|
48
|
+
* @param {(isLoading: boolean) => void} loadingStatusCallback Callback which provides an 'isLoading' param reflecting the actual API call state for checking TR2000 availability.
|
|
30
49
|
* @returns {React.FC<ExternalLinkToTr2000Props>} React component.
|
|
31
50
|
*/
|
|
32
51
|
|
|
33
52
|
|
|
34
53
|
var ExternalLinkToTr2000 = function ExternalLinkToTr2000(_ref) {
|
|
35
54
|
var tagNo = _ref.tagNo,
|
|
36
|
-
instCode = _ref.instCode
|
|
37
|
-
|
|
55
|
+
instCode = _ref.instCode,
|
|
56
|
+
loadingStatusCallback = _ref.loadingStatusCallback;
|
|
57
|
+
var useStateSafe = EchoUtils__default["default"].Hooks.useStateSafe;
|
|
58
|
+
var selectedPlant = EchoCore.EchoSettings.plant.getSelectedPlant();
|
|
59
|
+
|
|
60
|
+
var _useStateSafe = useStateSafe(''),
|
|
61
|
+
_useStateSafe2 = _slicedToArray(_useStateSafe, 2),
|
|
62
|
+
url = _useStateSafe2[0],
|
|
63
|
+
setUrl = _useStateSafe2[1];
|
|
64
|
+
|
|
65
|
+
var _useStateSafe3 = useStateSafe(false),
|
|
66
|
+
_useStateSafe4 = _slicedToArray(_useStateSafe3, 2),
|
|
67
|
+
hasTr2000 = _useStateSafe4[0],
|
|
68
|
+
setHasTr2000 = _useStateSafe4[1];
|
|
69
|
+
|
|
70
|
+
var _useTagDetails$useTag = useTagDetails.useTagDetails({
|
|
38
71
|
tagNo: tagNo,
|
|
39
72
|
instCode: instCode
|
|
40
|
-
})
|
|
41
|
-
|
|
73
|
+
}),
|
|
74
|
+
tagDetails = _useTagDetails$useTag.tagDetails,
|
|
75
|
+
hasError = _useTagDetails$useTag.hasError,
|
|
76
|
+
isTagDetailsLoading = _useTagDetails$useTag.isTagDetailsLoading;
|
|
42
77
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
78
|
+
React.useEffect(function () {
|
|
79
|
+
function evaluateTr2000Status(tagDetails) {
|
|
80
|
+
var valveOk = (tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.tagCategory) === 9 && !!tagDetails.valveDatash;
|
|
81
|
+
var pipeOk = (tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.tagCategory) === 6 && !!tagDetails.pipingClass && !!tagDetails.nomDiam;
|
|
82
|
+
return (valveOk || pipeOk) && !!(selectedPlant === null || selectedPlant === void 0 ? void 0 : selectedPlant.hasTr2000);
|
|
83
|
+
}
|
|
48
84
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
85
|
+
if (!!loadingStatusCallback) {
|
|
86
|
+
loadingStatusCallback(isTagDetailsLoading);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (hasError) {
|
|
90
|
+
setHasTr2000(false);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
setHasTr2000(evaluateTr2000Status(tagDetails));
|
|
95
|
+
|
|
96
|
+
if (hasTr2000) {
|
|
97
|
+
var ds = (tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.tagCategory) === 6 ? 'PCS' : 'VDS';
|
|
98
|
+
var id = (tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.tagCategory) === 6 ? tagDetails.pipingClass : tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.valveDatash;
|
|
99
|
+
setUrl("https://tr2000.equinor.com/TR2000/integration/get_datasheet.jsp?SYS=STID&DS=".concat(ds, "&ID=").concat(id, "&PLANT=").concat(instCode));
|
|
100
|
+
}
|
|
54
101
|
|
|
55
|
-
|
|
102
|
+
if (!!loadingStatusCallback) {
|
|
103
|
+
loadingStatusCallback(isTagDetailsLoading);
|
|
104
|
+
}
|
|
105
|
+
}, [tagNo, instCode, loadingStatusCallback, setUrl, setHasTr2000, isTagDetailsLoading, tagDetails, hasError, hasTr2000, selectedPlant]);
|
|
106
|
+
return hasTr2000 && !hasError ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton.ExternalLinkButton, {
|
|
56
107
|
buttonName: "TR2000",
|
|
57
108
|
buttonIcon: "TR2000",
|
|
58
|
-
linkTo:
|
|
109
|
+
linkTo: url,
|
|
59
110
|
buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
|
|
60
111
|
}) : null;
|
|
61
112
|
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, '__esModule', {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
var edsCoreReact = require('@equinor/eds-core-react');
|
|
10
|
+
|
|
11
|
+
var React = require('react');
|
|
12
|
+
|
|
13
|
+
var iconButtonSpinner_module = require('./iconButtonSpinner.module.css.js');
|
|
14
|
+
|
|
15
|
+
function _interopDefaultLegacy(e) {
|
|
16
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
17
|
+
'default': e
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
|
+
/**
|
|
23
|
+
* Local component for external link buttons. Provides a spinner overlay for any icon buttons, which might have any async calls.
|
|
24
|
+
* @param {Object} param
|
|
25
|
+
* @param {number} param.size The size of the spinner. Default value is 24.
|
|
26
|
+
* @param {Object} param.customClassNames Optional custom class names to customize the component's parts.
|
|
27
|
+
* @param {string} param.customClassNames.spinner Class name applied on the spinner.
|
|
28
|
+
* @param {string} param.customClassNames.container Class name applied on the container element.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
var IconButtonSpinner = function IconButtonSpinner(_ref) {
|
|
33
|
+
var customClassNames = _ref.customClassNames,
|
|
34
|
+
size = _ref.size;
|
|
35
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
36
|
+
className: "".concat((customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.container) || '', " ").concat(iconButtonSpinner_module["default"].container)
|
|
37
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
38
|
+
className: "".concat((customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.spinner) || '', " ").concat(iconButtonSpinner_module["default"].spinner)
|
|
39
|
+
}, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Progress.Circular, {
|
|
40
|
+
size: size || 24
|
|
41
|
+
})));
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.IconButtonSpinner = IconButtonSpinner;
|
package/dist/src/components/contextualAppLinks/externalLinkButtons/iconButtonSpinner.module.css.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
8
|
+
|
|
9
|
+
var css_248z = ".iconButtonSpinner-module_container__56QXT{height:48px;position:relative;width:48px}.iconButtonSpinner-module_spinner__Rym9p{position:relative;text-align:center;top:50%;transform:translateY(-50%)}";
|
|
10
|
+
var styles = {
|
|
11
|
+
"container": "iconButtonSpinner-module_container__56QXT",
|
|
12
|
+
"spinner": "iconButtonSpinner-module_spinner__Rym9p"
|
|
13
|
+
};
|
|
14
|
+
styleInject_es["default"](css_248z);
|
|
15
|
+
exports["default"] = styles;
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
+
|
|
5
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
10
|
+
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
12
|
+
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
|
|
3
15
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
16
|
|
|
5
17
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -10,22 +22,28 @@ var _tslib = require('../../../_virtual/_tslib.js');
|
|
|
10
22
|
|
|
11
23
|
var echoComponents = require('@equinor/echo-components');
|
|
12
24
|
|
|
13
|
-
var
|
|
25
|
+
var EchoUtils = require('@equinor/echo-utils');
|
|
14
26
|
|
|
15
27
|
var edsCoreReact = require('@equinor/eds-core-react');
|
|
16
28
|
|
|
17
29
|
var React = require('react');
|
|
18
30
|
|
|
31
|
+
var CommissionAppIcon = require('../../icons/common/CommissionApp-icon.png.js');
|
|
32
|
+
|
|
19
33
|
var Evision = require('../../icons/common/Evision.svg.js');
|
|
20
34
|
|
|
21
35
|
var Fusion = require('../../icons/common/Fusion.svg.js');
|
|
22
36
|
|
|
23
37
|
var McApp = require('../../icons/common/McApp.svg.js');
|
|
24
38
|
|
|
39
|
+
var Notification = require('../../icons/common/Notification.svg.js');
|
|
40
|
+
|
|
25
41
|
var ProCoSysIcon = require('../../icons/common/ProCoSysIcon.svg.js');
|
|
26
42
|
|
|
27
43
|
var SapLogo = require('../../icons/common/SapLogo.svg.js');
|
|
28
44
|
|
|
45
|
+
var satosLogo = require('../../icons/common/satos-logo.png.js');
|
|
46
|
+
|
|
29
47
|
var SemiIcon = require('../../icons/common/SemiIcon.svg.js');
|
|
30
48
|
|
|
31
49
|
var Stid = require('../../icons/common/Stid.svg.js');
|
|
@@ -34,8 +52,14 @@ var SXLogo = require('../../icons/common/SX-logo.png.js');
|
|
|
34
52
|
|
|
35
53
|
var TR2000 = require('../../icons/common/TR2000.svg.js');
|
|
36
54
|
|
|
55
|
+
var WorkOrder = require('../../icons/common/WorkOrder.svg.js');
|
|
56
|
+
|
|
37
57
|
var Yammer = require('../../icons/common/Yammer.svg.js');
|
|
38
58
|
|
|
59
|
+
var navigationUtils = require('../../utils/navigationUtils.js');
|
|
60
|
+
|
|
61
|
+
var iconButtonSpinner = require('../contextualAppLinks/externalLinkButtons/iconButtonSpinner.js');
|
|
62
|
+
|
|
39
63
|
var externalLinkButton_module = require('./externalLinkButton.module.css.js');
|
|
40
64
|
|
|
41
65
|
function _interopDefaultLegacy(e) {
|
|
@@ -44,13 +68,15 @@ function _interopDefaultLegacy(e) {
|
|
|
44
68
|
};
|
|
45
69
|
}
|
|
46
70
|
|
|
71
|
+
var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
|
|
72
|
+
|
|
47
73
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
48
74
|
|
|
49
|
-
var echopediaAnalyticsModule = EchoCore.analytics.createAnalyticsModule('ep');
|
|
50
75
|
exports.ExternalLinkButtonStyle = void 0;
|
|
51
76
|
|
|
52
77
|
(function (ExternalLinkButtonStyle) {
|
|
53
78
|
ExternalLinkButtonStyle["Rounded"] = "Rounded";
|
|
79
|
+
ExternalLinkButtonStyle["Large"] = "Large";
|
|
54
80
|
})(exports.ExternalLinkButtonStyle || (exports.ExternalLinkButtonStyle = {}));
|
|
55
81
|
/**
|
|
56
82
|
*
|
|
@@ -61,7 +87,8 @@ exports.ExternalLinkButtonStyle = void 0;
|
|
|
61
87
|
* @param {boolean} props.hideText Optional. If set to `true`, will hide `buttonName`.
|
|
62
88
|
* @param {boolean} props.redirect Optional. If set to `true`, the app will not open in a new tab / window, but in the current one.
|
|
63
89
|
* @param {ExternalLinkButtonStyle} props.buttonStyle Optional.
|
|
64
|
-
* @param {() => Promise<string>} props.getUrlToOpen Optional.
|
|
90
|
+
* @param {(...args) => Promise<string | undefined>} props.getUrlToOpen Optional. Pass this custom async function to create a URL based on async data.
|
|
91
|
+
* Return with 'undefined' to prevent any navigation. (Useful when the API call fails)
|
|
65
92
|
* @param {boolean} props.disabledColor Optional. If set to `true`, the button will show disabled color. (If not Rounded button style is used)
|
|
66
93
|
* @param {boolean} props.disabledButton Optional.
|
|
67
94
|
* @param {string} props.hoverText Optional. Applies only if Rounded button style is applied.
|
|
@@ -80,7 +107,16 @@ var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
|
80
107
|
disabledColor = _ref.disabledColor,
|
|
81
108
|
disabledButton = _ref.disabledButton,
|
|
82
109
|
hoverText = _ref.hoverText;
|
|
110
|
+
|
|
111
|
+
var _EchoUtils__default$d = EchoUtils__default["default"].Hooks.useStateSafe(false),
|
|
112
|
+
_EchoUtils__default$d2 = _slicedToArray(_EchoUtils__default$d, 2),
|
|
113
|
+
isLoading = _EchoUtils__default$d2[0],
|
|
114
|
+
setIsLoading = _EchoUtils__default$d2[1];
|
|
115
|
+
|
|
83
116
|
var icon = null;
|
|
117
|
+
var isAsyncButton = !!getUrlToOpen;
|
|
118
|
+
var isRoundedButtonStyle = buttonStyle === exports.ExternalLinkButtonStyle.Rounded;
|
|
119
|
+
var imageBasedIconStyle = isRoundedButtonStyle ? externalLinkButton_module["default"].roundedButtonIconAsImage : externalLinkButton_module["default"].largeButtonIconAsImage;
|
|
84
120
|
|
|
85
121
|
function goToLink(event) {
|
|
86
122
|
return _tslib.__awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
@@ -92,28 +128,29 @@ var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
|
92
128
|
event.persist();
|
|
93
129
|
event.preventDefault();
|
|
94
130
|
|
|
95
|
-
if (!
|
|
96
|
-
_context.next =
|
|
131
|
+
if (!isAsyncButton) {
|
|
132
|
+
_context.next = 10;
|
|
97
133
|
break;
|
|
98
134
|
}
|
|
99
135
|
|
|
100
|
-
|
|
136
|
+
setIsLoading(true);
|
|
137
|
+
_context.next = 6;
|
|
101
138
|
return getUrlToOpen();
|
|
102
139
|
|
|
103
|
-
case
|
|
104
|
-
|
|
105
|
-
|
|
140
|
+
case 6:
|
|
141
|
+
link = _context.sent;
|
|
142
|
+
setIsLoading(false);
|
|
143
|
+
_context.next = 11;
|
|
106
144
|
break;
|
|
107
145
|
|
|
108
|
-
case
|
|
109
|
-
|
|
146
|
+
case 10:
|
|
147
|
+
link = linkTo;
|
|
110
148
|
|
|
111
|
-
case
|
|
112
|
-
link
|
|
113
|
-
goToExternalLink(link, redirect);
|
|
149
|
+
case 11:
|
|
150
|
+
link && navigationUtils.goToExternalLink(link, redirect);
|
|
114
151
|
event.stopPropagation();
|
|
115
152
|
|
|
116
|
-
case
|
|
153
|
+
case 13:
|
|
117
154
|
case "end":
|
|
118
155
|
return _context.stop();
|
|
119
156
|
}
|
|
@@ -122,18 +159,6 @@ var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
|
122
159
|
}));
|
|
123
160
|
}
|
|
124
161
|
|
|
125
|
-
function goToExternalLink(link, redirect) {
|
|
126
|
-
echopediaAnalyticsModule.trackEventBy('ExternalLink', 'Opened', {
|
|
127
|
-
linkTo: link
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
if (redirect) {
|
|
131
|
-
window.location.href = link;
|
|
132
|
-
} else {
|
|
133
|
-
window.open(link, '_blank');
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
162
|
switch (buttonIcon) {
|
|
138
163
|
case 'Fusion':
|
|
139
164
|
icon = /*#__PURE__*/React__default["default"].createElement(Fusion.ReactComponent, null);
|
|
@@ -194,12 +219,18 @@ var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
|
194
219
|
icon = /*#__PURE__*/React__default["default"].createElement(McApp.ReactComponent, null);
|
|
195
220
|
break;
|
|
196
221
|
|
|
197
|
-
case '
|
|
198
|
-
icon = /*#__PURE__*/React__default["default"].createElement(
|
|
199
|
-
|
|
222
|
+
case 'CommApp':
|
|
223
|
+
icon = /*#__PURE__*/React__default["default"].createElement("img", {
|
|
224
|
+
src: CommissionAppIcon["default"],
|
|
225
|
+
className: imageBasedIconStyle,
|
|
226
|
+
alt: "CommissionAppIcon"
|
|
200
227
|
});
|
|
201
228
|
break;
|
|
202
229
|
|
|
230
|
+
case 'Sap':
|
|
231
|
+
icon = /*#__PURE__*/React__default["default"].createElement(SapLogo.ReactComponent, null);
|
|
232
|
+
break;
|
|
233
|
+
|
|
203
234
|
case 'Semi':
|
|
204
235
|
icon = /*#__PURE__*/React__default["default"].createElement(SemiIcon.ReactComponent, null);
|
|
205
236
|
break;
|
|
@@ -207,8 +238,16 @@ var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
|
207
238
|
case 'SafeX':
|
|
208
239
|
icon = /*#__PURE__*/React__default["default"].createElement("img", {
|
|
209
240
|
src: SXLogo["default"],
|
|
210
|
-
className:
|
|
211
|
-
alt: "
|
|
241
|
+
className: imageBasedIconStyle,
|
|
242
|
+
alt: "SafeXIcon"
|
|
243
|
+
});
|
|
244
|
+
break;
|
|
245
|
+
|
|
246
|
+
case 'Satos':
|
|
247
|
+
icon = /*#__PURE__*/React__default["default"].createElement("img", {
|
|
248
|
+
src: satosLogo["default"],
|
|
249
|
+
className: imageBasedIconStyle,
|
|
250
|
+
alt: "SatosIcon"
|
|
212
251
|
});
|
|
213
252
|
break;
|
|
214
253
|
|
|
@@ -222,9 +261,24 @@ var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
|
222
261
|
case 'Tr2000':
|
|
223
262
|
icon = /*#__PURE__*/React__default["default"].createElement(TR2000.ReactComponent, null);
|
|
224
263
|
break;
|
|
264
|
+
|
|
265
|
+
case 'Notification':
|
|
266
|
+
icon = /*#__PURE__*/React__default["default"].createElement(Notification.ReactComponent, null);
|
|
267
|
+
break;
|
|
268
|
+
|
|
269
|
+
case 'WorkOrder':
|
|
270
|
+
icon = /*#__PURE__*/React__default["default"].createElement(WorkOrder.ReactComponent, null);
|
|
271
|
+
break;
|
|
225
272
|
}
|
|
226
273
|
|
|
227
|
-
return
|
|
274
|
+
return isRoundedButtonStyle ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
275
|
+
className: externalLinkButton_module["default"].roundedButtonWrapper
|
|
276
|
+
}, isAsyncButton && isLoading && /*#__PURE__*/React__default["default"].createElement(iconButtonSpinner.IconButtonSpinner, {
|
|
277
|
+
size: 24,
|
|
278
|
+
customClassNames: {
|
|
279
|
+
container: externalLinkButton_module["default"].asyncButtonSpinner
|
|
280
|
+
}
|
|
281
|
+
}), /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Tooltip, {
|
|
228
282
|
placement: "bottom",
|
|
229
283
|
title: hoverText !== null && hoverText !== void 0 ? hoverText : buttonName
|
|
230
284
|
}, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Button, {
|
|
@@ -234,7 +288,7 @@ var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
|
234
288
|
goToLink(event);
|
|
235
289
|
},
|
|
236
290
|
disabled: disabledButton
|
|
237
|
-
}, icon)) : /*#__PURE__*/React__default["default"].createElement("button", {
|
|
291
|
+
}, icon))) : /*#__PURE__*/React__default["default"].createElement("button", {
|
|
238
292
|
className: "".concat(externalLinkButton_module["default"].echoButton, " ").concat(disabledColor ? externalLinkButton_module["default"].echoButtonDisabled : ''),
|
|
239
293
|
onClick: function onClick(event) {
|
|
240
294
|
goToLink(event);
|
|
@@ -244,4 +298,5 @@ var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
|
244
298
|
}, icon, !hideText && /*#__PURE__*/React__default["default"].createElement("span", null, buttonName));
|
|
245
299
|
};
|
|
246
300
|
|
|
301
|
+
exports.ExternalLinkButton = ExternalLinkButton;
|
|
247
302
|
exports["default"] = ExternalLinkButton;
|
|
@@ -6,12 +6,15 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
6
6
|
|
|
7
7
|
var styleInject_es = require('../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
8
8
|
|
|
9
|
-
var css_248z = ".externalLinkButton-module_echoButton__J9As0{display:inline-block;padding:16px;position:relative;width:90px}.externalLinkButton-module_echoButtonDisabled__6kYFw{padding-bottom:0}.externalLinkButton-module_echoButtonRounded__moamZ{display:inline-block;position:relative}@media screen and (min-width:420px){.externalLinkButton-module_echoButtonDisabled__6kYFw,.externalLinkButton-module_echoButton__J9As0{width:96px}}.externalLinkButton-module_echoButton__J9As0 svg{display:inline-block;height:48px;margin:0 8px 8px;width:48px}.externalLinkButton-module_echoButtonRounded__moamZ svg{display:inline-block;height:24px;margin:0 8px;width:24px}.externalLinkButton-module_echoButton__J9As0 span{color:#007079;display:inline-block;font-size:14px;font-weight:500;line-height:16px;width:64px}.externalLinkButton-module_echoButton__J9As0:hover svg{fill:#004f55}.externalLinkButton-module_echoButton__J9As0:hover span{color:#004f55}.externalLinkButton-module_echoButtonDisabled__6kYFw span{color:var(--disabledColor)}.externalLinkButton-module_echoButtonDisabled__6kYFw:hover svg{fill:var(--disabledColor)}.externalLinkButton-module_echoButtonDisabled__6kYFw:hover span{color:var(--disabledColor)}.externalLinkButton-
|
|
9
|
+
var css_248z = ".externalLinkButton-module_echoButton__J9As0{display:inline-block;padding:16px;position:relative;width:90px}.externalLinkButton-module_echoButtonDisabled__6kYFw{padding-bottom:0}.externalLinkButton-module_echoButtonRounded__moamZ,.externalLinkButton-module_roundedButtonWrapper__x5h3U{display:inline-block;position:relative}.externalLinkButton-module_asyncButtonSpinner__-oNeC{opacity:.75;position:absolute;z-index:10}@media screen and (min-width:420px){.externalLinkButton-module_echoButtonDisabled__6kYFw,.externalLinkButton-module_echoButton__J9As0{width:96px}}.externalLinkButton-module_echoButton__J9As0 svg{display:inline-block;height:48px;margin:0 8px 8px;width:48px}.externalLinkButton-module_echoButtonRounded__moamZ svg{display:inline-block;height:24px;margin:0 8px;width:24px}.externalLinkButton-module_echoButton__J9As0 span{color:#007079;display:inline-block;font-size:14px;font-weight:500;line-height:16px;width:64px}.externalLinkButton-module_echoButton__J9As0:hover svg{fill:#004f55}.externalLinkButton-module_echoButton__J9As0:hover span{color:#004f55}.externalLinkButton-module_echoButtonDisabled__6kYFw span{color:var(--disabledColor)}.externalLinkButton-module_echoButtonDisabled__6kYFw:hover svg{fill:var(--disabledColor)}.externalLinkButton-module_echoButtonDisabled__6kYFw:hover span{color:var(--disabledColor)}.externalLinkButton-module_roundedButtonIconAsImage__ZBmFg{height:30px;justify-self:center;width:30px}.externalLinkButton-module_largeButtonIconAsImage__PF38e{height:auto;justify-self:center;width:100%}.externalLinkButton-module_toolTip__ywPoc{background-color:#233746;border-radius:8px;box-shadow:0 0 4px rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05);color:#fff;display:block;padding:8px 16px;position:absolute;z-index:1}.externalLinkButton-module_toolTipContainer__n1YIl{display:inline-flex;justify-content:center}.externalLinkButton-module_stidIcon__XoFaL{height:auto!important}";
|
|
10
10
|
var style = {
|
|
11
11
|
"echoButton": "externalLinkButton-module_echoButton__J9As0",
|
|
12
12
|
"echoButtonDisabled": "externalLinkButton-module_echoButtonDisabled__6kYFw",
|
|
13
13
|
"echoButtonRounded": "externalLinkButton-module_echoButtonRounded__moamZ",
|
|
14
|
-
"
|
|
14
|
+
"roundedButtonWrapper": "externalLinkButton-module_roundedButtonWrapper__x5h3U",
|
|
15
|
+
"asyncButtonSpinner": "externalLinkButton-module_asyncButtonSpinner__-oNeC",
|
|
16
|
+
"roundedButtonIconAsImage": "externalLinkButton-module_roundedButtonIconAsImage__ZBmFg",
|
|
17
|
+
"largeButtonIconAsImage": "externalLinkButton-module_largeButtonIconAsImage__PF38e",
|
|
15
18
|
"toolTip": "externalLinkButton-module_toolTip__ywPoc",
|
|
16
19
|
"toolTipContainer": "externalLinkButton-module_toolTipContainer__n1YIl",
|
|
17
20
|
"stidIcon": "externalLinkButton-module_stidIcon__XoFaL"
|
package/dist/src/components/realTimeData/components/connectorForIMSTag/IMSConnector.module.css.js
CHANGED
|
@@ -6,11 +6,12 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
6
6
|
|
|
7
7
|
var styleInject_es = require('../../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
8
8
|
|
|
9
|
-
var css_248z = ".IMSConnector-module_wrapper__CvKvm{align-items:center;display:grid;gap:1rem;grid-row:1fr;grid-template-columns:1fr 1fr;justify-items:center;margin-top:1rem}.IMSConnector-module_experimentalWarning__7Vv3z{grid-template-columns:auto 1fr;margin-top:0}.IMSConnector-module_message__w8j1M{margin-top:1rem;width:100%}";
|
|
9
|
+
var css_248z = ".IMSConnector-module_wrapper__CvKvm{align-items:center;display:grid;gap:1rem;grid-row:1fr;grid-template-columns:1fr 1fr;justify-items:center;margin-top:1rem}.IMSConnector-module_experimentalWarning__7Vv3z{grid-template-columns:auto 1fr;margin-top:0}.IMSConnector-module_message__w8j1M{margin-top:1rem;width:100%}.IMSConnector-module_requestAccess__YDOu9{margin-bottom:1rem}";
|
|
10
10
|
var style = {
|
|
11
11
|
"wrapper": "IMSConnector-module_wrapper__CvKvm",
|
|
12
12
|
"experimentalWarning": "IMSConnector-module_experimentalWarning__7Vv3z IMSConnector-module_wrapper__CvKvm",
|
|
13
|
-
"message": "IMSConnector-module_message__w8j1M"
|
|
13
|
+
"message": "IMSConnector-module_message__w8j1M",
|
|
14
|
+
"requestAccess": "IMSConnector-module_requestAccess__YDOu9"
|
|
14
15
|
};
|
|
15
16
|
styleInject_es["default"](css_248z);
|
|
16
17
|
exports["default"] = style;
|
package/dist/src/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.js
CHANGED
|
@@ -51,7 +51,8 @@ function RealTimeConnectorForIMSTag(_ref) {
|
|
|
51
51
|
present = _useRealTimeHub$useRe.present,
|
|
52
52
|
status = _useRealTimeHub$useRe.status,
|
|
53
53
|
message = _useRealTimeHub$useRe.message,
|
|
54
|
-
loading = _useRealTimeHub$useRe.loading
|
|
54
|
+
loading = _useRealTimeHub$useRe.loading,
|
|
55
|
+
statusCode = _useRealTimeHub$useRe.statusCode;
|
|
55
56
|
|
|
56
57
|
var _React$useMemo = React.useMemo(function () {
|
|
57
58
|
if (present && metadata) {
|
|
@@ -66,6 +67,8 @@ function RealTimeConnectorForIMSTag(_ref) {
|
|
|
66
67
|
|
|
67
68
|
if (status === 'error') {
|
|
68
69
|
return /*#__PURE__*/React__default["default"].createElement(ErrorMessage, {
|
|
70
|
+
instCode: instCode,
|
|
71
|
+
statusCode: statusCode,
|
|
69
72
|
message: message
|
|
70
73
|
});
|
|
71
74
|
}
|
|
@@ -90,21 +93,43 @@ function SensorValueProps(_ref2) {
|
|
|
90
93
|
var value = _ref2.value,
|
|
91
94
|
unit = _ref2.unit;
|
|
92
95
|
|
|
93
|
-
if (
|
|
96
|
+
if (value === undefined || value === null) {
|
|
94
97
|
return null;
|
|
95
|
-
}
|
|
98
|
+
} // If Value exists and unit is null
|
|
99
|
+
// it usually means the value is related to open/closed, true/false
|
|
100
|
+
// but i'm not sure how to tell which one.
|
|
101
|
+
|
|
96
102
|
|
|
97
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", null, value), " ", /*#__PURE__*/React__default["default"].createElement("b", null, unit));
|
|
103
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", null, value), " ", unit && /*#__PURE__*/React__default["default"].createElement("b", null, unit));
|
|
98
104
|
}
|
|
99
105
|
|
|
100
106
|
function ErrorMessage(_ref3) {
|
|
101
|
-
var
|
|
107
|
+
var instCode = _ref3.instCode,
|
|
108
|
+
statusCode = _ref3.statusCode,
|
|
109
|
+
message = _ref3.message;
|
|
102
110
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
103
111
|
className: IMSConnector_module["default"].message
|
|
104
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
112
|
+
}, statusCode && statusCode === 403 ? /*#__PURE__*/React__default["default"].createElement(RequestAccessMessage, {
|
|
113
|
+
instCode: instCode
|
|
114
|
+
}) : /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Typography, {
|
|
105
115
|
variant: "body_short",
|
|
106
|
-
color: echoComponents.themeConst.
|
|
116
|
+
color: echoComponents.themeConst.echoText
|
|
107
117
|
}, message !== null && message !== void 0 ? message : 'Something went wrong with RTD connection.'));
|
|
108
118
|
}
|
|
109
119
|
|
|
120
|
+
function RequestAccessMessage(_ref4) {
|
|
121
|
+
var instCode = _ref4.instCode;
|
|
122
|
+
var url = new URL('https://accessit.equinor.com');
|
|
123
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
124
|
+
className: IMSConnector_module["default"].requestAccess
|
|
125
|
+
}, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Typography, {
|
|
126
|
+
variant: "body_short",
|
|
127
|
+
color: echoComponents.themeConst.echoText
|
|
128
|
+
}, "You need access to:"), /*#__PURE__*/React__default["default"].createElement(edsCoreReact.List, null, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.List.Item, null, "Omnia Plant Timeseries Read"), /*#__PURE__*/React__default["default"].createElement(edsCoreReact.List.Item, null, "PI vision"), instCode !== 'JSV' && /*#__PURE__*/React__default["default"].createElement(edsCoreReact.List.Item, null, "AspenOne Process Explorer"))), /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Button, {
|
|
129
|
+
as: "a",
|
|
130
|
+
href: url.href,
|
|
131
|
+
variant: "outlined"
|
|
132
|
+
}, "Go to AccessIT"));
|
|
133
|
+
}
|
|
134
|
+
|
|
110
135
|
exports.RealTimeConnectorForIMSTag = RealTimeConnectorForIMSTag;
|
|
@@ -76,7 +76,7 @@ function useSignalR(hubUrl) {
|
|
|
76
76
|
var _this = this;
|
|
77
77
|
|
|
78
78
|
var _React$useState = React.useState({
|
|
79
|
-
status: '',
|
|
79
|
+
status: 'ok',
|
|
80
80
|
loading: false
|
|
81
81
|
}),
|
|
82
82
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -89,7 +89,8 @@ function useSignalR(hubUrl) {
|
|
|
89
89
|
setState(function (state) {
|
|
90
90
|
return Object.assign(Object.assign({}, state), {
|
|
91
91
|
loading: false,
|
|
92
|
-
status: 'ok'
|
|
92
|
+
status: 'ok',
|
|
93
|
+
statusCode: status
|
|
93
94
|
});
|
|
94
95
|
});
|
|
95
96
|
} else {
|
|
@@ -97,6 +98,7 @@ function useSignalR(hubUrl) {
|
|
|
97
98
|
return Object.assign(Object.assign({}, state), {
|
|
98
99
|
loading: false,
|
|
99
100
|
status: 'error',
|
|
101
|
+
statusCode: status,
|
|
100
102
|
message: typeof payload === 'string' ? payload : ''
|
|
101
103
|
});
|
|
102
104
|
});
|