@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
|
@@ -1,15 +1,33 @@
|
|
|
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', {
|
|
6
18
|
value: true
|
|
7
19
|
});
|
|
8
20
|
|
|
21
|
+
var EchoUtils = require('@equinor/echo-utils');
|
|
22
|
+
|
|
9
23
|
var React = require('react');
|
|
10
24
|
|
|
11
25
|
var useContextualAppLinksContext = require('../hooks/useContextualAppLinksContext.js');
|
|
12
26
|
|
|
27
|
+
var iconButtonSpinner = require('./iconButtonSpinner.js');
|
|
28
|
+
|
|
29
|
+
var externalLinkToCommApp = require('./externalLinkToCommApp.js');
|
|
30
|
+
|
|
13
31
|
var externalLinkToMcApp = require('./externalLinkToMcApp.js');
|
|
14
32
|
|
|
15
33
|
var externalLinkToProCoSys = require('./externalLinkToProCoSys.js');
|
|
@@ -30,6 +48,8 @@ function _interopDefaultLegacy(e) {
|
|
|
30
48
|
};
|
|
31
49
|
}
|
|
32
50
|
|
|
51
|
+
var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
|
|
52
|
+
|
|
33
53
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
34
54
|
/**
|
|
35
55
|
* To be used inside ContextualAppLinks component.
|
|
@@ -44,29 +64,64 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
44
64
|
|
|
45
65
|
|
|
46
66
|
var AllExternalLinks = function AllExternalLinks() {
|
|
67
|
+
var useStateSafe = EchoUtils__default["default"].Hooks.useStateSafe;
|
|
68
|
+
|
|
47
69
|
var _useContextualAppLink = useContextualAppLinksContext.useContextualAppLinksContext(),
|
|
48
70
|
tag = _useContextualAppLink.tag,
|
|
49
71
|
instCode = _useContextualAppLink.instCode;
|
|
50
72
|
|
|
73
|
+
var tagNo = tag.tagNo;
|
|
74
|
+
|
|
75
|
+
var _useStateSafe = useStateSafe(false),
|
|
76
|
+
_useStateSafe2 = _slicedToArray(_useStateSafe, 2),
|
|
77
|
+
isTR2000Loading = _useStateSafe2[0],
|
|
78
|
+
setIsisTR2000LoadingLoading = _useStateSafe2[1];
|
|
79
|
+
|
|
80
|
+
var _useStateSafe3 = useStateSafe(false),
|
|
81
|
+
_useStateSafe4 = _slicedToArray(_useStateSafe3, 2),
|
|
82
|
+
isSapLoading = _useStateSafe4[0],
|
|
83
|
+
setIsSapLoading = _useStateSafe4[1];
|
|
84
|
+
|
|
85
|
+
var _useStateSafe5 = useStateSafe(false),
|
|
86
|
+
_useStateSafe6 = _slicedToArray(_useStateSafe5, 2),
|
|
87
|
+
isSemiLoading = _useStateSafe6[0],
|
|
88
|
+
setIsSemiLoading = _useStateSafe6[1];
|
|
89
|
+
|
|
51
90
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(externalLinkToStid.ExternalLinkToStid, {
|
|
52
|
-
tagNo:
|
|
91
|
+
tagNo: tagNo,
|
|
53
92
|
instCode: instCode
|
|
54
93
|
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToProCoSys.ExternalLinkToProCoSys, {
|
|
55
|
-
tagNo:
|
|
94
|
+
tagNo: tagNo,
|
|
56
95
|
instCode: instCode
|
|
57
|
-
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToSap.ExternalLinkToSap, {
|
|
58
|
-
tagNo: tag.tagNo,
|
|
59
|
-
instCode: instCode
|
|
60
|
-
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToSemiDoc.ExternalLinkToSemiDoc, {
|
|
61
|
-
tagNo: tag.tagNo
|
|
62
96
|
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToMcApp.ExternalLinkToMcApp, {
|
|
63
|
-
tagNo:
|
|
97
|
+
tagNo: tagNo,
|
|
98
|
+
instCode: instCode
|
|
99
|
+
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToCommApp.ExternalLinkToCommApp, {
|
|
100
|
+
tagNo: tagNo,
|
|
101
|
+
instCode: instCode
|
|
64
102
|
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToSafeX.ExternalLinkToSafeX, {
|
|
65
103
|
tag: tag
|
|
104
|
+
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToSemiDoc.ExternalLinkToSemiDoc, {
|
|
105
|
+
tagNo: tagNo,
|
|
106
|
+
instCode: instCode,
|
|
107
|
+
loadingStatusCallback: function loadingStatusCallback(isButtonLoading) {
|
|
108
|
+
setIsSemiLoading(isButtonLoading);
|
|
109
|
+
}
|
|
66
110
|
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToTr2000.ExternalLinkToTr2000, {
|
|
67
|
-
tagNo:
|
|
68
|
-
instCode: instCode
|
|
69
|
-
|
|
111
|
+
tagNo: tagNo,
|
|
112
|
+
instCode: instCode,
|
|
113
|
+
loadingStatusCallback: function loadingStatusCallback(isButtonLoading) {
|
|
114
|
+
setIsisTR2000LoadingLoading(isButtonLoading);
|
|
115
|
+
}
|
|
116
|
+
}), /*#__PURE__*/React__default["default"].createElement(externalLinkToSap.ExternalLinkToSap, {
|
|
117
|
+
tagNo: tagNo,
|
|
118
|
+
instCode: instCode,
|
|
119
|
+
loadingStatusCallback: function loadingStatusCallback(isButtonLoading) {
|
|
120
|
+
setIsSapLoading(isButtonLoading);
|
|
121
|
+
}
|
|
122
|
+
}), isTR2000Loading || isSapLoading || isSemiLoading ? /*#__PURE__*/React__default["default"].createElement(iconButtonSpinner.IconButtonSpinner, {
|
|
123
|
+
size: 24
|
|
124
|
+
}) : null);
|
|
70
125
|
};
|
|
71
126
|
|
|
72
127
|
exports.AllExternalLinks = AllExternalLinks;
|
package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkButtons.helpers.js
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
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 _tslib = require('../../../../_virtual/_tslib.js');
|
|
10
|
+
|
|
11
|
+
var EchoCore = require('@equinor/echo-core');
|
|
12
|
+
|
|
13
|
+
var apiTagDetails = require('../../../services/api/api-tag-details.js');
|
|
14
|
+
|
|
15
|
+
var apiTags = require('../../../services/api/api-tags.js');
|
|
16
|
+
|
|
17
|
+
var echopediaAnalyticsModule = require('../../../services/echopediaAnalyticsModule/echopediaAnalyticsModule.js');
|
|
18
|
+
|
|
19
|
+
var toastActions = require('../../../services/eventHubActions/toastActions.js');
|
|
20
|
+
|
|
21
|
+
function _interopDefaultLegacy(e) {
|
|
22
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
23
|
+
'default': e
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var EchoCore__default = /*#__PURE__*/_interopDefaultLegacy(EchoCore);
|
|
28
|
+
/**
|
|
29
|
+
* Specific tool for external link buttons to help build URLS for deep linking into ProCoSys web app.
|
|
30
|
+
* Fetches both tag details and tag information from ProCoSys.
|
|
31
|
+
*
|
|
32
|
+
* @param {Object} params
|
|
33
|
+
* @param {string} params.tagNo The tag number to query.
|
|
34
|
+
* @param {string} params.instCode Plant installation code for the given tag.
|
|
35
|
+
* @returns {GetTagDetailsAndProCoSysDataResult} response - The returned promise will resolve once both API calls are resolved. (with Promise.all)
|
|
36
|
+
* @returns {TagDetailsDto} response.tagDetails - Result of tag details API call.
|
|
37
|
+
* @returns {ProCoSysApiTag} response.proCoSysTag - Tag related information from the ProCoSys system.
|
|
38
|
+
* @returns {hasError} response.hasError - indicates if there were any errors during the API calls. The exception is handled under the hood.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
function getTagDetailsAndProCoSysData(_ref) {
|
|
43
|
+
var tagNo = _ref.tagNo,
|
|
44
|
+
instCode = _ref.instCode;
|
|
45
|
+
return _tslib.__awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
46
|
+
var tagDetailsPromise, proCoSysTagPromise, response;
|
|
47
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
48
|
+
while (1) {
|
|
49
|
+
switch (_context.prev = _context.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
tagDetailsPromise = apiTagDetails.getTagDetails({
|
|
52
|
+
tagNo: tagNo,
|
|
53
|
+
instCode: instCode
|
|
54
|
+
});
|
|
55
|
+
proCoSysTagPromise = apiTags.getTagFromProCoSys({
|
|
56
|
+
tagNo: tagNo,
|
|
57
|
+
instCode: instCode
|
|
58
|
+
});
|
|
59
|
+
response = {
|
|
60
|
+
tagDetails: undefined,
|
|
61
|
+
proCoSysTag: undefined,
|
|
62
|
+
hasError: false
|
|
63
|
+
};
|
|
64
|
+
_context.next = 5;
|
|
65
|
+
return Promise.all([tagDetailsPromise, proCoSysTagPromise].map(function (actualPromise, i) {
|
|
66
|
+
return actualPromise["catch"](function (error) {
|
|
67
|
+
error.index = i;
|
|
68
|
+
throw error;
|
|
69
|
+
});
|
|
70
|
+
})).then(function (responses) {
|
|
71
|
+
response.tagDetails = responses[0];
|
|
72
|
+
response.proCoSysTag = responses[1].find(function (item) {
|
|
73
|
+
return item.isMaster;
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
if (!response.proCoSysTag) {
|
|
77
|
+
toastActions.displayToast({
|
|
78
|
+
message: "Tag with number ".concat(response.tagDetails.tagNo, " does not exists in ProCoSys.")
|
|
79
|
+
});
|
|
80
|
+
response.hasError = true;
|
|
81
|
+
}
|
|
82
|
+
}, function (error) {
|
|
83
|
+
var errorSource = error.index === 0 ? 'tag details' : 'ProCoSys tag data';
|
|
84
|
+
var errorMessage = "Failed to fetch ".concat(errorSource, " for tagNo: ").concat(tagNo, " with instCode: ").concat(instCode, ". Please try again later.");
|
|
85
|
+
delete error.index;
|
|
86
|
+
EchoCore__default["default"].handleErrors && EchoCore__default["default"].handleErrors(error, echopediaAnalyticsModule.echopediaAnalyticsModule);
|
|
87
|
+
toastActions.displayToast({
|
|
88
|
+
message: errorMessage
|
|
89
|
+
});
|
|
90
|
+
response.hasError = true;
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
case 5:
|
|
94
|
+
return _context.abrupt("return", response);
|
|
95
|
+
|
|
96
|
+
case 6:
|
|
97
|
+
case "end":
|
|
98
|
+
return _context.stop();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}, _callee);
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Wraps the 'getTagDetails' function. Handles and logs any Error thrown by it whi;e displaying an error message toast.
|
|
106
|
+
* Use 'getTagDetails' if you want complete freedom on how you handle any exceptions.
|
|
107
|
+
*
|
|
108
|
+
* If there were any errors during the API call, the returned value will have a 'hasError' flag set to 'true'.
|
|
109
|
+
*
|
|
110
|
+
* @param {Object} params
|
|
111
|
+
* @param {string} params.tagNo The tag number to query.
|
|
112
|
+
* @param {string} params.instCode Plant installation code for the given tag.
|
|
113
|
+
* @param {AbortSignal} params.abortSignal A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object.
|
|
114
|
+
* @returns {getTagDetailsWithErrorHandlingResponse} response
|
|
115
|
+
* @returns {TagDetailsDto} response.tagDetails - Result of tag details API call.
|
|
116
|
+
* @returns {hasError} response.hasError - indicates if there were any errors during the API call.
|
|
117
|
+
*/
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
function getTagDetailsWithErrorHandling(_ref2) {
|
|
121
|
+
var tagNo = _ref2.tagNo,
|
|
122
|
+
instCode = _ref2.instCode,
|
|
123
|
+
abortSignal = _ref2.abortSignal;
|
|
124
|
+
return _tslib.__awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
125
|
+
var result;
|
|
126
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
127
|
+
while (1) {
|
|
128
|
+
switch (_context2.prev = _context2.next) {
|
|
129
|
+
case 0:
|
|
130
|
+
result = {
|
|
131
|
+
tagDetails: undefined,
|
|
132
|
+
hasError: false
|
|
133
|
+
};
|
|
134
|
+
_context2.prev = 1;
|
|
135
|
+
_context2.next = 4;
|
|
136
|
+
return apiTagDetails.getTagDetails({
|
|
137
|
+
tagNo: tagNo,
|
|
138
|
+
instCode: instCode,
|
|
139
|
+
abortSignal: abortSignal
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
case 4:
|
|
143
|
+
result.tagDetails = _context2.sent;
|
|
144
|
+
_context2.next = 12;
|
|
145
|
+
break;
|
|
146
|
+
|
|
147
|
+
case 7:
|
|
148
|
+
_context2.prev = 7;
|
|
149
|
+
_context2.t0 = _context2["catch"](1);
|
|
150
|
+
EchoCore__default["default"].handleErrors && EchoCore__default["default"].handleErrors(_context2.t0, echopediaAnalyticsModule.echopediaAnalyticsModule);
|
|
151
|
+
toastActions.displayToast({
|
|
152
|
+
message: "Failed to fetch tag details for tagNo: ".concat(tagNo, " with instCode: ").concat(instCode, ". Please try again alter.")
|
|
153
|
+
});
|
|
154
|
+
result.hasError = true;
|
|
155
|
+
|
|
156
|
+
case 12:
|
|
157
|
+
return _context2.abrupt("return", result);
|
|
158
|
+
|
|
159
|
+
case 13:
|
|
160
|
+
case "end":
|
|
161
|
+
return _context2.stop();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}, _callee2, null, [[1, 7]]);
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
exports.getTagDetailsAndProCoSysData = getTagDetailsAndProCoSysData;
|
|
169
|
+
exports.getTagDetailsWithErrorHandling = getTagDetailsWithErrorHandling;
|
|
@@ -0,0 +1,93 @@
|
|
|
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 _tslib = require('../../../../_virtual/_tslib.js');
|
|
10
|
+
|
|
11
|
+
var EchoCore = require('@equinor/echo-core');
|
|
12
|
+
|
|
13
|
+
var React = require('react');
|
|
14
|
+
|
|
15
|
+
var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
|
|
16
|
+
|
|
17
|
+
var externalLinkButtons_helpers = require('./externalLinkButtons.helpers.js');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultLegacy(e) {
|
|
20
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
21
|
+
'default': e
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
26
|
+
/**
|
|
27
|
+
* External link button to Commissioning web app.
|
|
28
|
+
*
|
|
29
|
+
* @param {string} tagNo The tag's number to open in the Comm app.
|
|
30
|
+
* @param {string} instCode Plant installation code.
|
|
31
|
+
* @returns {React.FC<ExternalLinkToMcAppProps>} React component.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
var ExternalLinkToCommApp = function ExternalLinkToCommApp(_ref) {
|
|
36
|
+
var tagNo = _ref.tagNo,
|
|
37
|
+
instCode = _ref.instCode;
|
|
38
|
+
var proCoSysPlantCode = EchoCore.useProCoSysPlantId();
|
|
39
|
+
|
|
40
|
+
function createUrl(params) {
|
|
41
|
+
return _tslib.__awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
42
|
+
var _yield$externalLinkBu, tagDetails, proCoSysTag, hasError;
|
|
43
|
+
|
|
44
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
45
|
+
while (1) {
|
|
46
|
+
switch (_context.prev = _context.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
_context.next = 2;
|
|
49
|
+
return externalLinkButtons_helpers.getTagDetailsAndProCoSysData(Object.assign({}, params));
|
|
50
|
+
|
|
51
|
+
case 2:
|
|
52
|
+
_yield$externalLinkBu = _context.sent;
|
|
53
|
+
tagDetails = _yield$externalLinkBu.tagDetails;
|
|
54
|
+
proCoSysTag = _yield$externalLinkBu.proCoSysTag;
|
|
55
|
+
hasError = _yield$externalLinkBu.hasError;
|
|
56
|
+
return _context.abrupt("return", hasError ? undefined : "https://apps.procosys.com/comm/".concat(proCoSysPlantCode, "/").concat(tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.projectCode, "/Tag/").concat(proCoSysTag === null || proCoSysTag === void 0 ? void 0 : proCoSysTag.id));
|
|
57
|
+
|
|
58
|
+
case 7:
|
|
59
|
+
case "end":
|
|
60
|
+
return _context.stop();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, _callee);
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return /*#__PURE__*/React__default["default"].createElement(externalLinkButton.ExternalLinkButton, {
|
|
68
|
+
buttonName: "Comm App",
|
|
69
|
+
buttonIcon: "CommApp",
|
|
70
|
+
getUrlToOpen: function getUrlToOpen() {
|
|
71
|
+
return _tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
72
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
73
|
+
while (1) {
|
|
74
|
+
switch (_context2.prev = _context2.next) {
|
|
75
|
+
case 0:
|
|
76
|
+
return _context2.abrupt("return", createUrl({
|
|
77
|
+
tagNo: tagNo,
|
|
78
|
+
instCode: instCode
|
|
79
|
+
}));
|
|
80
|
+
|
|
81
|
+
case 1:
|
|
82
|
+
case "end":
|
|
83
|
+
return _context2.stop();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}, _callee2);
|
|
87
|
+
}));
|
|
88
|
+
},
|
|
89
|
+
buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
exports.ExternalLinkToCommApp = ExternalLinkToCommApp;
|
|
@@ -6,10 +6,16 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
|
|
9
|
+
var _tslib = require('../../../../_virtual/_tslib.js');
|
|
10
|
+
|
|
11
|
+
var EchoCore = require('@equinor/echo-core');
|
|
12
|
+
|
|
9
13
|
var React = require('react');
|
|
10
14
|
|
|
11
15
|
var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
|
|
12
16
|
|
|
17
|
+
var externalLinkButtons_helpers = require('./externalLinkButtons.helpers.js');
|
|
18
|
+
|
|
13
19
|
function _interopDefaultLegacy(e) {
|
|
14
20
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
15
21
|
'default': e
|
|
@@ -18,19 +24,68 @@ function _interopDefaultLegacy(e) {
|
|
|
18
24
|
|
|
19
25
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
26
|
/**
|
|
21
|
-
* External link button to
|
|
27
|
+
* External link button to Mechanical Completion web app.
|
|
22
28
|
*
|
|
23
29
|
* @param {string} tagNo The tag's number to open in McApp.
|
|
30
|
+
* @param {string} instCode Plant installation code.
|
|
24
31
|
* @returns {React.FC<ExternalLinkToMcAppProps>} React component.
|
|
25
32
|
*/
|
|
26
33
|
|
|
27
34
|
|
|
28
35
|
var ExternalLinkToMcApp = function ExternalLinkToMcApp(_ref) {
|
|
29
|
-
var tagNo = _ref.tagNo
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
var tagNo = _ref.tagNo,
|
|
37
|
+
instCode = _ref.instCode;
|
|
38
|
+
var proCoSysPlantCode = EchoCore.useProCoSysPlantId();
|
|
39
|
+
|
|
40
|
+
function createUrl(params) {
|
|
41
|
+
return _tslib.__awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
42
|
+
var _yield$externalLinkBu, tagDetails, proCoSysTag, hasError;
|
|
43
|
+
|
|
44
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
45
|
+
while (1) {
|
|
46
|
+
switch (_context.prev = _context.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
_context.next = 2;
|
|
49
|
+
return externalLinkButtons_helpers.getTagDetailsAndProCoSysData(Object.assign({}, params));
|
|
50
|
+
|
|
51
|
+
case 2:
|
|
52
|
+
_yield$externalLinkBu = _context.sent;
|
|
53
|
+
tagDetails = _yield$externalLinkBu.tagDetails;
|
|
54
|
+
proCoSysTag = _yield$externalLinkBu.proCoSysTag;
|
|
55
|
+
hasError = _yield$externalLinkBu.hasError;
|
|
56
|
+
return _context.abrupt("return", hasError ? undefined : "https://apps.procosys.com/mc/".concat(proCoSysPlantCode, "/").concat(tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.projectCode, "/Tag/").concat(proCoSysTag === null || proCoSysTag === void 0 ? void 0 : proCoSysTag.id));
|
|
57
|
+
|
|
58
|
+
case 7:
|
|
59
|
+
case "end":
|
|
60
|
+
return _context.stop();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, _callee);
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return /*#__PURE__*/React__default["default"].createElement(externalLinkButton.ExternalLinkButton, {
|
|
68
|
+
buttonName: "Mc App",
|
|
32
69
|
buttonIcon: "McApp",
|
|
33
|
-
|
|
70
|
+
getUrlToOpen: function getUrlToOpen() {
|
|
71
|
+
return _tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
72
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
73
|
+
while (1) {
|
|
74
|
+
switch (_context2.prev = _context2.next) {
|
|
75
|
+
case 0:
|
|
76
|
+
return _context2.abrupt("return", createUrl({
|
|
77
|
+
tagNo: tagNo,
|
|
78
|
+
instCode: instCode
|
|
79
|
+
}));
|
|
80
|
+
|
|
81
|
+
case 1:
|
|
82
|
+
case "end":
|
|
83
|
+
return _context2.stop();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}, _callee2);
|
|
87
|
+
}));
|
|
88
|
+
},
|
|
34
89
|
buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
|
|
35
90
|
});
|
|
36
91
|
};
|
package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.js
CHANGED
|
@@ -6,14 +6,16 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
|
|
9
|
+
var _tslib = require('../../../../_virtual/_tslib.js');
|
|
10
|
+
|
|
9
11
|
var EchoCore = require('@equinor/echo-core');
|
|
10
12
|
|
|
11
13
|
var React = require('react');
|
|
12
14
|
|
|
13
|
-
var useTagDetails = require('../../../hooks/useTagDetails.js');
|
|
14
|
-
|
|
15
15
|
var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
|
|
16
16
|
|
|
17
|
+
var externalLinkButtons_helpers = require('./externalLinkButtons.helpers.js');
|
|
18
|
+
|
|
17
19
|
function _interopDefaultLegacy(e) {
|
|
18
20
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
19
21
|
'default': e
|
|
@@ -23,10 +25,9 @@ function _interopDefaultLegacy(e) {
|
|
|
23
25
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
26
|
/**
|
|
25
27
|
* External link button to ProCoSys.
|
|
26
|
-
* Will only render if the passed tagNo has any tag details in the actually selected plant.
|
|
27
28
|
*
|
|
28
29
|
* @param {string} tagNo The tag's number to open in ProCoSys.
|
|
29
|
-
* @param {
|
|
30
|
+
* @param {TagDetailsDto} tagDetails The given tags detailed information.
|
|
30
31
|
* @returns {React.FC<ExternalLinkToProCoSysProps>} React component.
|
|
31
32
|
*/
|
|
32
33
|
|
|
@@ -34,17 +35,48 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
34
35
|
var ExternalLinkToProCoSys = function ExternalLinkToProCoSys(_ref) {
|
|
35
36
|
var tagNo = _ref.tagNo,
|
|
36
37
|
instCode = _ref.instCode;
|
|
37
|
-
var tagDetails = useTagDetails.useTagDetails({
|
|
38
|
-
tagNo: tagNo,
|
|
39
|
-
instCode: instCode
|
|
40
|
-
});
|
|
41
38
|
var proCoSysPlantCode = EchoCore.useProCoSysPlantId();
|
|
42
|
-
|
|
39
|
+
|
|
40
|
+
function createUrl(params) {
|
|
41
|
+
return _tslib.__awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
42
|
+
var _yield$externalLinkBu, tagDetails, hasError;
|
|
43
|
+
|
|
44
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
45
|
+
while (1) {
|
|
46
|
+
switch (_context.prev = _context.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
_context.next = 2;
|
|
49
|
+
return externalLinkButtons_helpers.getTagDetailsWithErrorHandling({
|
|
50
|
+
tagNo: params.tagNo,
|
|
51
|
+
instCode: params.instCode
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
case 2:
|
|
55
|
+
_yield$externalLinkBu = _context.sent;
|
|
56
|
+
tagDetails = _yield$externalLinkBu.tagDetails;
|
|
57
|
+
hasError = _yield$externalLinkBu.hasError;
|
|
58
|
+
return _context.abrupt("return", hasError ? undefined : "https://procosys.equinor.com/".concat(proCoSysPlantCode, "/Link/TAG?TagNo=").concat(tagNo, "&project=").concat(tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.projectCode));
|
|
59
|
+
|
|
60
|
+
case 6:
|
|
61
|
+
case "end":
|
|
62
|
+
return _context.stop();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}, _callee);
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return /*#__PURE__*/React__default["default"].createElement(externalLinkButton.ExternalLinkButton, {
|
|
43
70
|
buttonName: "ProCoSys",
|
|
44
71
|
buttonIcon: "ProCoSys",
|
|
45
|
-
|
|
72
|
+
getUrlToOpen: function getUrlToOpen() {
|
|
73
|
+
return createUrl({
|
|
74
|
+
tagNo: tagNo,
|
|
75
|
+
instCode: instCode
|
|
76
|
+
});
|
|
77
|
+
},
|
|
46
78
|
buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
|
|
47
|
-
})
|
|
79
|
+
});
|
|
48
80
|
};
|
|
49
81
|
|
|
50
82
|
exports.ExternalLinkToProCoSys = ExternalLinkToProCoSys;
|
|
@@ -27,7 +27,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
27
27
|
|
|
28
28
|
var ExternalLinkToSafeX = function ExternalLinkToSafeX(_ref) {
|
|
29
29
|
var tag = _ref.tag;
|
|
30
|
-
return /*#__PURE__*/React__default["default"].createElement(externalLinkButton
|
|
30
|
+
return /*#__PURE__*/React__default["default"].createElement(externalLinkButton.ExternalLinkButton, {
|
|
31
31
|
buttonName: "SafeX",
|
|
32
32
|
buttonIcon: "SafeX",
|
|
33
33
|
linkTo: "https://safex.equinor.com/search?keyword=".concat(tag.description),
|
|
@@ -6,16 +6,18 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
|
|
9
|
+
var _tslib = require('../../../../_virtual/_tslib.js');
|
|
10
|
+
|
|
9
11
|
var EchoUtils = require('@equinor/echo-utils');
|
|
10
12
|
|
|
11
13
|
var React = require('react');
|
|
12
14
|
|
|
13
|
-
var useTagDetails = require('../../../hooks/useTagDetails.js');
|
|
14
|
-
|
|
15
15
|
var pingableSources = require('../../../types/pingableSources.js');
|
|
16
16
|
|
|
17
17
|
var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
|
|
18
18
|
|
|
19
|
+
var externalLinkButtons_helpers = require('./externalLinkButtons.helpers.js');
|
|
20
|
+
|
|
19
21
|
function _interopDefaultLegacy(e) {
|
|
20
22
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
21
23
|
'default': e
|
|
@@ -28,34 +30,79 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
28
30
|
/**
|
|
29
31
|
* External link button to SAP.
|
|
30
32
|
* Will only render if the passed tagNo has any tag details in the actually selected plant and SAP is available.
|
|
33
|
+
* It pings SAP to determine whether is available or not.
|
|
31
34
|
*
|
|
32
35
|
* @param {string} tagNo The tag's number to open in SAP.
|
|
33
36
|
* @param {string} instCode Plant installation code.
|
|
37
|
+
* @param {(isLoading: boolean) => void} loadingStatusCallback Callback which provides an 'isLoading' param reflecting the actual loading state of the ping to SAP.
|
|
34
38
|
* @returns {React.FC<ExternalLinkToSapProps>} React component.
|
|
35
39
|
*/
|
|
36
40
|
|
|
37
41
|
|
|
38
42
|
var ExternalLinkToSap = function ExternalLinkToSap(_ref) {
|
|
39
43
|
var tagNo = _ref.tagNo,
|
|
40
|
-
instCode = _ref.instCode
|
|
44
|
+
instCode = _ref.instCode,
|
|
45
|
+
loadingStatusCallback = _ref.loadingStatusCallback;
|
|
41
46
|
var _EchoUtils__default$d = EchoUtils__default["default"].Hooks,
|
|
42
47
|
usePing = _EchoUtils__default$d.usePing,
|
|
43
48
|
useIsIosDevice = _EchoUtils__default$d.useIsIosDevice;
|
|
44
|
-
var tagDetails = useTagDetails.useTagDetails({
|
|
45
|
-
tagNo: tagNo,
|
|
46
|
-
instCode: instCode
|
|
47
|
-
});
|
|
48
49
|
|
|
49
50
|
var _usePing = usePing(pingableSources.PingableSources.Sap),
|
|
50
|
-
isSourceAvailable = _usePing.isSourceAvailable
|
|
51
|
+
isSourceAvailable = _usePing.isSourceAvailable,
|
|
52
|
+
isPingLoading = _usePing.isPingLoading;
|
|
51
53
|
|
|
52
54
|
var isIosDevice = useIsIosDevice();
|
|
53
|
-
|
|
55
|
+
|
|
56
|
+
function createUrl(params) {
|
|
57
|
+
return _tslib.__awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
58
|
+
var _yield$externalLinkBu, tagDetails, hasError;
|
|
59
|
+
|
|
60
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
61
|
+
while (1) {
|
|
62
|
+
switch (_context.prev = _context.next) {
|
|
63
|
+
case 0:
|
|
64
|
+
_context.next = 2;
|
|
65
|
+
return externalLinkButtons_helpers.getTagDetailsWithErrorHandling({
|
|
66
|
+
tagNo: params.tagNo,
|
|
67
|
+
instCode: params.instCode
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
case 2:
|
|
71
|
+
_yield$externalLinkBu = _context.sent;
|
|
72
|
+
tagDetails = _yield$externalLinkBu.tagDetails;
|
|
73
|
+
hasError = _yield$externalLinkBu.hasError;
|
|
74
|
+
return _context.abrupt("return", hasError ? undefined : "https://p03web.statoil.no/sap/bc/gui/sap/its/webgui?sap-client=505&sap-language=EN&~transaction=*ih06%20STRNO-LOW=".concat(tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.plantNo, "-").concat(tagNo, "#"));
|
|
75
|
+
|
|
76
|
+
case 6:
|
|
77
|
+
case "end":
|
|
78
|
+
return _context.stop();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}, _callee);
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
React.useEffect(function () {
|
|
86
|
+
if (!!loadingStatusCallback) {
|
|
87
|
+
loadingStatusCallback(isPingLoading);
|
|
88
|
+
}
|
|
89
|
+
}, [isPingLoading, loadingStatusCallback]);
|
|
90
|
+
|
|
91
|
+
if (!isIosDevice && !isSourceAvailable) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return /*#__PURE__*/React__default["default"].createElement(externalLinkButton.ExternalLinkButton, {
|
|
54
96
|
buttonName: "Sap",
|
|
55
97
|
buttonIcon: "Sap",
|
|
56
|
-
|
|
98
|
+
getUrlToOpen: function getUrlToOpen() {
|
|
99
|
+
return createUrl({
|
|
100
|
+
tagNo: tagNo,
|
|
101
|
+
instCode: instCode
|
|
102
|
+
});
|
|
103
|
+
},
|
|
57
104
|
buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
|
|
58
|
-
})
|
|
105
|
+
});
|
|
59
106
|
};
|
|
60
107
|
|
|
61
108
|
exports.ExternalLinkToSap = ExternalLinkToSap;
|