@equinor/echo-framework 0.8.1 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToMcApp.d.ts +1 -3
  2. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.d.ts +2 -1
  3. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSap.d.ts +0 -3
  4. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSemiDoc.d.ts +0 -4
  5. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToTr2000.d.ts +0 -2
  6. package/dist/components/contextualAppLinks/externalLinkButtons/index.d.ts +0 -1
  7. package/dist/components/externalLinkButton/externalLinkButton.d.ts +7 -16
  8. package/dist/components/panel/corePanelLeft.d.ts +4 -1
  9. package/dist/components/panel/corePanelRight.d.ts +4 -1
  10. package/dist/components/realTimeData/hooks/useSignalR.d.ts +2 -3
  11. package/dist/coreApplication/EchoBarComponent.d.ts +6 -0
  12. package/dist/coreApplication/EchoContent.d.ts +1 -0
  13. package/dist/coreApplication/index.d.ts +1 -0
  14. package/dist/hooks/hookLibrary.d.ts +8 -2
  15. package/dist/hooks/index.d.ts +1 -0
  16. package/dist/hooks/useScreenOrientation.d.ts +1 -0
  17. package/dist/hooks/useSemi.d.ts +7 -11
  18. package/dist/hooks/useTagDetails.d.ts +3 -10
  19. package/dist/index.d.ts +7 -12
  20. package/dist/services/api/api-manager.d.ts +1 -1
  21. package/dist/services/api/index.d.ts +0 -1
  22. package/dist/src/components/containers/layout.module.css.js +4 -1
  23. package/dist/src/components/containers/layouts.js +127 -10
  24. package/dist/src/components/contextualAppLinks/externalAppsMenu.js +4 -4
  25. package/dist/src/components/contextualAppLinks/externalLinkButtons/allExternalLinks.js +11 -66
  26. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToMcApp.js +5 -60
  27. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.js +11 -43
  28. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSafeX.js +1 -1
  29. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSap.js +11 -58
  30. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSemiDoc.js +5 -16
  31. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToStid.js +1 -1
  32. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToTr2000.js +16 -67
  33. package/dist/src/components/externalLinkButton/externalLinkButton.js +34 -89
  34. package/dist/src/components/externalLinkButton/externalLinkButton.module.css.js +2 -5
  35. package/dist/src/components/footer/footer.module.css.js +1 -1
  36. package/dist/src/components/panel/corePanelLeft.js +5 -2
  37. package/dist/src/components/panel/corePanelLeft.module.css.js +1 -1
  38. package/dist/src/components/panel/corePanelRight.js +5 -2
  39. package/dist/src/components/panel/corePanelRight.module.css.js +1 -1
  40. package/dist/src/components/realTimeData/components/connectorForIMSTag/IMSConnector.module.css.js +2 -3
  41. package/dist/src/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.js +7 -32
  42. package/dist/src/components/realTimeData/hooks/useSignalR.js +2 -4
  43. package/dist/src/coreApplication/EchoBarComponent.js +190 -0
  44. package/dist/src/coreApplication/EchoContent.js +11 -2
  45. package/dist/src/coreApplication/EchoContent.module.css.js +21 -0
  46. package/dist/src/globalStyles.css.js +1 -1
  47. package/dist/src/hooks/hookLibrary.js +9 -0
  48. package/dist/src/hooks/index.js +3 -0
  49. package/dist/src/hooks/useScreenOrientation.js +50 -0
  50. package/dist/src/hooks/useSemi.js +14 -40
  51. package/dist/src/hooks/useTagDetails.js +45 -116
  52. package/dist/src/icons/common/Evision.svg.js +2 -3
  53. package/dist/src/icons/common/Fusion.svg.js +25 -30
  54. package/dist/src/icons/common/McApp.svg.js +6 -10
  55. package/dist/src/icons/common/ProCoSysIcon.svg.js +2 -3
  56. package/dist/src/icons/common/SapLogo.svg.js +4 -5
  57. package/dist/src/icons/common/SemiIcon.svg.js +11 -11
  58. package/dist/src/icons/common/Stid.svg.js +2 -3
  59. package/dist/src/icons/common/TR2000.svg.js +6 -8
  60. package/dist/src/icons/common/Yammer.svg.js +1 -2
  61. package/dist/src/index.js +7 -15
  62. package/dist/src/services/api/api-manager.js +2 -2
  63. package/dist/src/services/api/api-realtimedata.js +1 -3
  64. package/dist/src/types/pingableSources.js +0 -1
  65. package/dist/src/utils/plantInfo.js +0 -1
  66. package/dist/types/hookLibrary.d.ts +4 -0
  67. package/dist/types/pingableSources.d.ts +1 -2
  68. package/dist/utils/index.d.ts +0 -1
  69. package/dist/utils/plantInfo.d.ts +0 -6
  70. package/package.json +2 -2
  71. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkButtons.helpers.d.ts +0 -47
  72. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkButtons.helpers.test.d.ts +0 -1
  73. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToCommApp.d.ts +0 -14
  74. package/dist/components/contextualAppLinks/externalLinkButtons/iconButtonSpinner.d.ts +0 -18
  75. package/dist/services/api/api-tag-details.d.ts +0 -18
  76. package/dist/services/api/api-tag-details.test.d.ts +0 -1
  77. package/dist/services/api/api-tags.d.ts +0 -17
  78. package/dist/services/api/api-tags.test.d.ts +0 -1
  79. package/dist/services/echopediaAnalyticsModule/echopediaAnalyticsModule.d.ts +0 -1
  80. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkButtons.helpers.js +0 -169
  81. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToCommApp.js +0 -93
  82. package/dist/src/components/contextualAppLinks/externalLinkButtons/iconButtonSpinner.js +0 -44
  83. package/dist/src/components/contextualAppLinks/externalLinkButtons/iconButtonSpinner.module.css.js +0 -15
  84. package/dist/src/icons/common/CommissionApp-icon.png.js +0 -7
  85. package/dist/src/icons/common/Notification.svg.js +0 -82
  86. package/dist/src/icons/common/WorkOrder.svg.js +0 -72
  87. package/dist/src/icons/common/satos-logo.png.js +0 -7
  88. package/dist/src/services/api/api-tag-details.js +0 -66
  89. package/dist/src/services/api/api-tags.js +0 -29
  90. package/dist/src/services/echopediaAnalyticsModule/echopediaAnalyticsModule.js +0 -10
  91. package/dist/src/utils/navigationUtils.js +0 -28
  92. package/dist/types/api-proCoSysTagResponse.d.ts +0 -8
  93. package/dist/utils/navigationUtils.d.ts +0 -7
  94. package/dist/utils/navigationUtils.test.d.ts +0 -1
  95. package/dist/utils/plantInfo.test.d.ts +0 -1
@@ -1,33 +1,15 @@
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
-
15
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); }
16
4
 
17
5
  Object.defineProperty(exports, '__esModule', {
18
6
  value: true
19
7
  });
20
8
 
21
- var EchoUtils = require('@equinor/echo-utils');
22
-
23
9
  var React = require('react');
24
10
 
25
11
  var useContextualAppLinksContext = require('../hooks/useContextualAppLinksContext.js');
26
12
 
27
- var iconButtonSpinner = require('./iconButtonSpinner.js');
28
-
29
- var externalLinkToCommApp = require('./externalLinkToCommApp.js');
30
-
31
13
  var externalLinkToMcApp = require('./externalLinkToMcApp.js');
32
14
 
33
15
  var externalLinkToProCoSys = require('./externalLinkToProCoSys.js');
@@ -48,8 +30,6 @@ function _interopDefaultLegacy(e) {
48
30
  };
49
31
  }
50
32
 
51
- var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
52
-
53
33
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
54
34
  /**
55
35
  * To be used inside ContextualAppLinks component.
@@ -64,64 +44,29 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
64
44
 
65
45
 
66
46
  var AllExternalLinks = function AllExternalLinks() {
67
- var useStateSafe = EchoUtils__default["default"].Hooks.useStateSafe;
68
-
69
47
  var _useContextualAppLink = useContextualAppLinksContext.useContextualAppLinksContext(),
70
48
  tag = _useContextualAppLink.tag,
71
49
  instCode = _useContextualAppLink.instCode;
72
50
 
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
-
90
51
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(externalLinkToStid.ExternalLinkToStid, {
91
- tagNo: tagNo,
52
+ tagNo: tag.tagNo,
92
53
  instCode: instCode
93
54
  }), /*#__PURE__*/React__default["default"].createElement(externalLinkToProCoSys.ExternalLinkToProCoSys, {
94
- tagNo: tagNo,
55
+ tagNo: tag.tagNo,
95
56
  instCode: instCode
96
- }), /*#__PURE__*/React__default["default"].createElement(externalLinkToMcApp.ExternalLinkToMcApp, {
97
- tagNo: tagNo,
98
- instCode: instCode
99
- }), /*#__PURE__*/React__default["default"].createElement(externalLinkToCommApp.ExternalLinkToCommApp, {
100
- tagNo: tagNo,
57
+ }), /*#__PURE__*/React__default["default"].createElement(externalLinkToSap.ExternalLinkToSap, {
58
+ tagNo: tag.tagNo,
101
59
  instCode: instCode
60
+ }), /*#__PURE__*/React__default["default"].createElement(externalLinkToSemiDoc.ExternalLinkToSemiDoc, {
61
+ tagNo: tag.tagNo
62
+ }), /*#__PURE__*/React__default["default"].createElement(externalLinkToMcApp.ExternalLinkToMcApp, {
63
+ tagNo: tag.tagNo
102
64
  }), /*#__PURE__*/React__default["default"].createElement(externalLinkToSafeX.ExternalLinkToSafeX, {
103
65
  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
- }
110
66
  }), /*#__PURE__*/React__default["default"].createElement(externalLinkToTr2000.ExternalLinkToTr2000, {
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);
67
+ tagNo: tag.tagNo,
68
+ instCode: instCode
69
+ }));
125
70
  };
126
71
 
127
72
  exports.AllExternalLinks = AllExternalLinks;
@@ -6,16 +6,10 @@ 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
-
13
9
  var React = require('react');
14
10
 
15
11
  var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
16
12
 
17
- var externalLinkButtons_helpers = require('./externalLinkButtons.helpers.js');
18
-
19
13
  function _interopDefaultLegacy(e) {
20
14
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
21
15
  'default': e
@@ -24,68 +18,19 @@ function _interopDefaultLegacy(e) {
24
18
 
25
19
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
20
  /**
27
- * External link button to Mechanical Completion web app.
21
+ * External link button to McApp.
28
22
  *
29
23
  * @param {string} tagNo The tag's number to open in McApp.
30
- * @param {string} instCode Plant installation code.
31
24
  * @returns {React.FC<ExternalLinkToMcAppProps>} React component.
32
25
  */
33
26
 
34
27
 
35
28
  var ExternalLinkToMcApp = function ExternalLinkToMcApp(_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/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",
29
+ var tagNo = _ref.tagNo;
30
+ return /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
31
+ buttonName: "McApp",
69
32
  buttonIcon: "McApp",
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
- },
33
+ linkTo: "mcapp://v1:tagscope:".concat(tagNo),
89
34
  buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
90
35
  });
91
36
  };
@@ -6,15 +6,13 @@ Object.defineProperty(exports, '__esModule', {
6
6
  value: true
7
7
  });
8
8
 
9
- var _tslib = require('../../../../_virtual/_tslib.js');
10
-
11
9
  var EchoCore = require('@equinor/echo-core');
12
10
 
13
11
  var React = require('react');
14
12
 
15
- var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
13
+ var useTagDetails = require('../../../hooks/useTagDetails.js');
16
14
 
17
- var externalLinkButtons_helpers = require('./externalLinkButtons.helpers.js');
15
+ var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
18
16
 
19
17
  function _interopDefaultLegacy(e) {
20
18
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
@@ -25,9 +23,10 @@ function _interopDefaultLegacy(e) {
25
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
24
  /**
27
25
  * External link button to ProCoSys.
26
+ * Will only render if the passed tagNo has any tag details in the actually selected plant.
28
27
  *
29
28
  * @param {string} tagNo The tag's number to open in ProCoSys.
30
- * @param {TagDetailsDto} tagDetails The given tags detailed information.
29
+ * @param {string} instCode Plant installation code.
31
30
  * @returns {React.FC<ExternalLinkToProCoSysProps>} React component.
32
31
  */
33
32
 
@@ -35,48 +34,17 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
35
34
  var ExternalLinkToProCoSys = function ExternalLinkToProCoSys(_ref) {
36
35
  var tagNo = _ref.tagNo,
37
36
  instCode = _ref.instCode;
37
+ var tagDetails = useTagDetails.useTagDetails({
38
+ tagNo: tagNo,
39
+ instCode: instCode
40
+ });
38
41
  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, 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, {
42
+ return tagDetails ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
70
43
  buttonName: "ProCoSys",
71
44
  buttonIcon: "ProCoSys",
72
- getUrlToOpen: function getUrlToOpen() {
73
- return createUrl({
74
- tagNo: tagNo,
75
- instCode: instCode
76
- });
77
- },
45
+ linkTo: "https://procosys.equinor.com/".concat(proCoSysPlantCode, "/Link/TAG?TagNo=").concat(tagNo, "&project=").concat(tagDetails.projectCode),
78
46
  buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
79
- });
47
+ }) : null;
80
48
  };
81
49
 
82
50
  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.ExternalLinkButton, {
30
+ return /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
31
31
  buttonName: "SafeX",
32
32
  buttonIcon: "SafeX",
33
33
  linkTo: "https://safex.equinor.com/search?keyword=".concat(tag.description),
@@ -6,18 +6,16 @@ Object.defineProperty(exports, '__esModule', {
6
6
  value: true
7
7
  });
8
8
 
9
- var _tslib = require('../../../../_virtual/_tslib.js');
10
-
11
9
  var EchoUtils = require('@equinor/echo-utils');
12
10
 
13
11
  var React = require('react');
14
12
 
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
-
21
19
  function _interopDefaultLegacy(e) {
22
20
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
23
21
  'default': e
@@ -30,79 +28,34 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
30
28
  /**
31
29
  * External link button to SAP.
32
30
  * 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.
34
31
  *
35
32
  * @param {string} tagNo The tag's number to open in SAP.
36
33
  * @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.
38
34
  * @returns {React.FC<ExternalLinkToSapProps>} React component.
39
35
  */
40
36
 
41
37
 
42
38
  var ExternalLinkToSap = function ExternalLinkToSap(_ref) {
43
39
  var tagNo = _ref.tagNo,
44
- instCode = _ref.instCode,
45
- loadingStatusCallback = _ref.loadingStatusCallback;
40
+ instCode = _ref.instCode;
46
41
  var _EchoUtils__default$d = EchoUtils__default["default"].Hooks,
47
42
  usePing = _EchoUtils__default$d.usePing,
48
43
  useIsIosDevice = _EchoUtils__default$d.useIsIosDevice;
44
+ var tagDetails = useTagDetails.useTagDetails({
45
+ tagNo: tagNo,
46
+ instCode: instCode
47
+ });
49
48
 
50
49
  var _usePing = usePing(pingableSources.PingableSources.Sap),
51
- isSourceAvailable = _usePing.isSourceAvailable,
52
- isPingLoading = _usePing.isPingLoading;
50
+ isSourceAvailable = _usePing.isSourceAvailable;
53
51
 
54
52
  var isIosDevice = useIsIosDevice();
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, {
53
+ return tagDetails && (isSourceAvailable || isIosDevice) ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
96
54
  buttonName: "Sap",
97
55
  buttonIcon: "Sap",
98
- getUrlToOpen: function getUrlToOpen() {
99
- return createUrl({
100
- tagNo: tagNo,
101
- instCode: instCode
102
- });
103
- },
56
+ linkTo: "https://p03web.statoil.no/sap/bc/gui/sap/its/webgui?sap-client=505&sap-language=EN&~transaction=*ih06%20STRNO-LOW=".concat(tagDetails.plantNo, "-").concat(tagNo, "#"),
104
57
  buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
105
- });
58
+ }) : null;
106
59
  };
107
60
 
108
61
  exports.ExternalLinkToSap = ExternalLinkToSap;
@@ -24,31 +24,20 @@ 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.
29
27
  * @returns {React.FC<ExternalLinkToSemiDocProps>} React component.
30
28
  */
31
29
 
32
30
 
33
31
  var ExternalLinkToSemiDoc = function ExternalLinkToSemiDoc(_ref) {
34
- var tagNo = _ref.tagNo,
35
- instCode = _ref.instCode,
36
- loadingStatusCallback = _ref.loadingStatusCallback;
32
+ var tagNo = _ref.tagNo;
37
33
 
38
34
  var _useSemi$useSemi = useSemi.useSemi({
39
- tagNo: tagNo,
40
- instCode: instCode
35
+ tagNo: tagNo
41
36
  }),
42
37
  isSemiDocumentAvailable = _useSemi$useSemi.isSemiDocumentAvailable,
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, {
38
+ semiDocumentId = _useSemi$useSemi.semiDocumentId;
39
+
40
+ return isSemiDocumentAvailable ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
52
41
  buttonName: "Semi",
53
42
  buttonIcon: "Semi",
54
43
  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.ExternalLinkButton, {
32
+ return /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
33
33
  buttonName: "STID",
34
34
  buttonIcon: "Stid",
35
35
  linkTo: "https://stid.equinor.com/".concat(instCode, "/tag/").concat(tagNo),
@@ -1,17 +1,5 @@
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
-
15
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); }
16
4
 
17
5
  Object.defineProperty(exports, '__esModule', {
@@ -20,12 +8,8 @@ Object.defineProperty(exports, '__esModule', {
20
8
 
21
9
  var EchoCore = require('@equinor/echo-core');
22
10
 
23
- var EchoUtils = require('@equinor/echo-utils');
24
-
25
11
  var React = require('react');
26
12
 
27
- require('react-router-dom');
28
-
29
13
  var useTagDetails = require('../../../hooks/useTagDetails.js');
30
14
 
31
15
  var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
@@ -36,8 +20,6 @@ function _interopDefaultLegacy(e) {
36
20
  };
37
21
  }
38
22
 
39
- var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
40
-
41
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
42
24
  /**
43
25
  * External link button to TR2000.
@@ -45,68 +27,35 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
45
27
  *
46
28
  * @param {string} tagNo The tag's number to open in TR2000.
47
29
  * @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.
49
30
  * @returns {React.FC<ExternalLinkToTr2000Props>} React component.
50
31
  */
51
32
 
52
33
 
53
34
  var ExternalLinkToTr2000 = function ExternalLinkToTr2000(_ref) {
54
35
  var tagNo = _ref.tagNo,
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({
36
+ instCode = _ref.instCode;
37
+ var tagDetails = useTagDetails.useTagDetails({
71
38
  tagNo: tagNo,
72
39
  instCode: instCode
73
- }),
74
- tagDetails = _useTagDetails$useTag.tagDetails,
75
- hasError = _useTagDetails$useTag.hasError,
76
- isTagDetailsLoading = _useTagDetails$useTag.isTagDetailsLoading;
77
-
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
- }
84
-
85
- if (!!loadingStatusCallback) {
86
- loadingStatusCallback(isTagDetailsLoading);
87
- }
88
-
89
- if (hasError) {
90
- setHasTr2000(false);
91
- return;
92
- }
40
+ });
41
+ var selectedPlant = EchoCore.EchoSettings.plant.getSelectedPlant();
93
42
 
94
- setHasTr2000(evaluateTr2000Status(tagDetails));
43
+ var hasTr2000 = function hasTr2000() {
44
+ var valveOk = (tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.tagCategory) === 9 && !!tagDetails.valveDatash;
45
+ var pipeOk = (tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.tagCategory) === 6 && !!tagDetails.pipingClass && !!tagDetails.nomDiam;
46
+ return (valveOk || pipeOk) && !!(selectedPlant === null || selectedPlant === void 0 ? void 0 : selectedPlant.hasTr2000);
47
+ };
95
48
 
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
- }
49
+ var createTr2000Link = function createTr2000Link() {
50
+ var ds = (tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.tagCategory) === 6 ? 'PCS' : 'VDS';
51
+ var id = (tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.tagCategory) === 6 ? tagDetails.pipingClass : tagDetails === null || tagDetails === void 0 ? void 0 : tagDetails.valveDatash;
52
+ return "https://tr2000.equinor.com/TR2000/integration/get_datasheet.jsp?SYS=STID&DS=".concat(ds, "&ID=").concat(id, "&PLANT=").concat(instCode);
53
+ };
101
54
 
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, {
55
+ return tagDetails && hasTr2000() ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
107
56
  buttonName: "TR2000",
108
57
  buttonIcon: "TR2000",
109
- linkTo: url,
58
+ linkTo: createTr2000Link(),
110
59
  buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
111
60
  }) : null;
112
61
  };