@equinor/echo-framework 0.7.7 → 0.7.10

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 (94) hide show
  1. package/dist/47deeba42768c5d1.svg +9 -0
  2. package/dist/components/contextualAppLinks/contextualAppLinks.context.d.ts +7 -0
  3. package/dist/components/contextualAppLinks/contextualAppLinks.d.ts +9 -0
  4. package/dist/components/contextualAppLinks/externalAppsMenu.d.ts +29 -0
  5. package/dist/components/contextualAppLinks/externalLinkButtons/allExternalLinks.d.ts +12 -0
  6. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToMcApp.d.ts +12 -0
  7. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.d.ts +15 -0
  8. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSafeX.d.ts +13 -0
  9. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSap.d.ts +15 -0
  10. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSemiDoc.d.ts +13 -0
  11. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToStid.d.ts +14 -0
  12. package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToTr2000.d.ts +15 -0
  13. package/dist/components/contextualAppLinks/externalLinkButtons/index.d.ts +7 -0
  14. package/dist/components/contextualAppLinks/hooks/useContextualAppLinks.d.ts +18 -0
  15. package/dist/components/contextualAppLinks/hooks/useContextualAppLinks.test.d.ts +1 -0
  16. package/dist/components/contextualAppLinks/hooks/useContextualAppLinksContext.d.ts +4 -0
  17. package/dist/components/contextualAppLinks/hooks/useContextualAppLinksContext.test.d.ts +1 -0
  18. package/dist/components/contextualAppLinks/index.d.ts +13 -0
  19. package/dist/components/contextualAppLinks/internalAppLinks.d.ts +24 -0
  20. package/dist/components/contextualAppLinks/linkButton.d.ts +19 -0
  21. package/dist/components/externalLinkButton/externalLinkButton.d.ts +33 -0
  22. package/dist/components/index.d.ts +4 -1
  23. package/dist/components/panel/corePanelLeft.d.ts +1 -4
  24. package/dist/components/panel/corePanelRight.d.ts +1 -4
  25. package/dist/components/realTimeData/components/IMSDropdown/RealTimeIMSDropdown.d.ts +2 -1
  26. package/dist/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.d.ts +2 -1
  27. package/dist/coreApplication/EchoContent.d.ts +0 -1
  28. package/dist/coreApplication/index.d.ts +0 -1
  29. package/dist/hooks/index.d.ts +2 -1
  30. package/dist/hooks/useSemi.d.ts +17 -0
  31. package/dist/hooks/useSemi.test.d.ts +1 -0
  32. package/dist/hooks/useTagDetails.d.ts +13 -0
  33. package/dist/hooks/useTagDetails.test.d.ts +1 -0
  34. package/dist/index.d.ts +10 -4
  35. package/dist/node_modules/@microsoft/signalr/dist/esm/Utils.js +1 -1
  36. package/dist/src/components/containers/layout.module.css.js +1 -4
  37. package/dist/src/components/containers/layouts.js +8 -38
  38. package/dist/src/components/contextualAppLinks/contextualAppLinks.context.js +20 -0
  39. package/dist/src/components/contextualAppLinks/contextualAppLinks.js +47 -0
  40. package/dist/src/components/contextualAppLinks/externalAppsMenu.js +181 -0
  41. package/dist/src/components/contextualAppLinks/externalAppsMenu.module.css.js +16 -0
  42. package/dist/src/components/contextualAppLinks/externalLinkButtons/allExternalLinks.js +72 -0
  43. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToMcApp.js +38 -0
  44. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.js +50 -0
  45. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSafeX.js +38 -0
  46. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSap.js +61 -0
  47. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSemiDoc.js +48 -0
  48. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToStid.js +40 -0
  49. package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToTr2000.js +63 -0
  50. package/dist/src/components/contextualAppLinks/hooks/useContextualAppLinks.js +52 -0
  51. package/dist/src/components/contextualAppLinks/hooks/useContextualAppLinksContext.js +36 -0
  52. package/dist/src/components/contextualAppLinks/index.js +22 -0
  53. package/dist/src/components/contextualAppLinks/internalAppLinks.js +115 -0
  54. package/dist/src/components/contextualAppLinks/linkButton.js +57 -0
  55. package/dist/src/components/externalLinkButton/externalLinkButton.js +247 -0
  56. package/dist/src/components/externalLinkButton/externalLinkButton.module.css.js +22 -0
  57. package/dist/src/components/panel/corePanelLeft.js +2 -5
  58. package/dist/src/components/panel/corePanelLeft.module.css.js +1 -1
  59. package/dist/src/components/panel/corePanelRight.js +2 -4
  60. package/dist/src/components/panel/corePanelRight.module.css.js +1 -1
  61. package/dist/src/components/panelButton/panelButton.module.css.js +1 -1
  62. package/dist/src/components/realTimeData/RealTimePopoverButton.js +23 -7
  63. package/dist/src/components/realTimeData/components/IMSDropdown/RealTimeIMSDropdown.js +4 -2
  64. package/dist/src/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.js +3 -3
  65. package/dist/src/components/searchMenu/searchMenu.js +18 -1
  66. package/dist/src/components/searchMenu/searchMenu.module.css.js +4 -2
  67. package/dist/src/coreApplication/EchoContent.js +2 -7
  68. package/dist/src/coreApplication/EchoEventHandler.js +1 -1
  69. package/dist/src/hooks/index.js +12 -0
  70. package/dist/src/hooks/useSemi.js +74 -0
  71. package/dist/src/hooks/{useIsLandscape.js → useTagDetails.js} +49 -21
  72. package/dist/src/icons/common/Evision.svg.js +68 -0
  73. package/dist/src/icons/common/Fusion.svg.js +107 -0
  74. package/dist/src/icons/common/McApp.svg.js +67 -0
  75. package/dist/src/icons/common/ProCoSysIcon.svg.js +68 -0
  76. package/dist/src/icons/common/SX-logo.png.js +7 -0
  77. package/dist/src/icons/common/SapLogo.svg.js +95 -0
  78. package/dist/src/icons/common/SemiIcon.svg.js +83 -0
  79. package/dist/src/icons/common/Stid.svg.js +65 -0
  80. package/dist/src/icons/common/TR2000.svg.js +72 -0
  81. package/dist/src/icons/common/Yammer.svg.js +65 -0
  82. package/dist/src/index.js +57 -14
  83. package/dist/src/types/extensions.js +10 -0
  84. package/dist/src/types/legend.js +9 -9
  85. package/dist/src/types/pingableSources.js +10 -0
  86. package/dist/src/utils/legendUtils.js +12 -11
  87. package/dist/types/extensions.d.ts +7 -0
  88. package/dist/types/legend.d.ts +9 -9
  89. package/dist/types/pingableSources.d.ts +3 -0
  90. package/dist/utils/legendUtils.d.ts +1 -0
  91. package/package.json +20 -21
  92. package/dist/coreApplication/EchoBarComponent.d.ts +0 -6
  93. package/dist/hooks/useIsLandscape.d.ts +0 -1
  94. package/dist/src/coreApplication/EchoBarComponent.js +0 -112
@@ -8,10 +8,6 @@ Object.defineProperty(exports, '__esModule', {
8
8
 
9
9
  var React = require('react');
10
10
 
11
- var EchoBarComponent = require('../../coreApplication/EchoBarComponent.js');
12
-
13
- var useIsLandscape = require('../../hooks/useIsLandscape.js');
14
-
15
11
  var layout_module = require('./layout.module.css.js');
16
12
 
17
13
  function _interopDefaultLegacy(e) {
@@ -24,65 +20,39 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
20
 
25
21
  var MainLayout = function MainLayout(_ref) {
26
22
  var children = _ref.children;
27
- var isLandscape = useIsLandscape.useIsLandscape();
28
23
  return /*#__PURE__*/React__default["default"].createElement("div", {
29
24
  className: layout_module["default"].applicationWrapper
30
- }, isLandscape && /*#__PURE__*/React__default["default"].createElement(EchoBarComponent.EchoBarComponent, {
31
- isLandscape: isLandscape
32
- }), /*#__PURE__*/React__default["default"].createElement("div", {
25
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
33
26
  className: layout_module["default"].mainLayoutWrapper
34
- }, children), !isLandscape && /*#__PURE__*/React__default["default"].createElement(EchoBarComponent.EchoBarComponent, {
35
- isLandscape: isLandscape
36
- }));
27
+ }, children));
37
28
  };
38
29
 
39
30
  var ColorLayout = function ColorLayout(_ref2) {
40
31
  var children = _ref2.children;
41
- var isLandscape = useIsLandscape.useIsLandscape();
42
32
  return /*#__PURE__*/React__default["default"].createElement("div", {
43
- className: layout_module["default"].echoContentContainer
44
- }, isLandscape && /*#__PURE__*/React__default["default"].createElement(EchoBarComponent.EchoBarComponent, {
45
- isLandscape: isLandscape
46
- }), /*#__PURE__*/React__default["default"].createElement("div", {
47
33
  className: layout_module["default"].colorLayout
48
- }, children), !isLandscape && /*#__PURE__*/React__default["default"].createElement(EchoBarComponent.EchoBarComponent, {
49
- isLandscape: isLandscape
50
- }));
34
+ }, children);
51
35
  };
52
36
 
53
37
  var PdfViewerNative = function PdfViewerNative(_ref3) {
54
38
  var children = _ref3.children;
55
- var isLandscape = useIsLandscape.useIsLandscape();
56
39
  return /*#__PURE__*/React__default["default"].createElement("div", {
57
- className: layout_module["default"].echoContentContainer
58
- }, isLandscape && /*#__PURE__*/React__default["default"].createElement(EchoBarComponent.EchoBarComponent, {
59
- isLandscape: isLandscape
60
- }), /*#__PURE__*/React__default["default"].createElement("div", {
61
40
  className: layout_module["default"].pdfViewerNative
62
- }, children), !isLandscape && /*#__PURE__*/React__default["default"].createElement(EchoBarComponent.EchoBarComponent, {
63
- isLandscape: isLandscape
64
- }));
41
+ }, children);
65
42
  };
66
43
 
67
44
  var CameraLayout = function CameraLayout(_ref4) {
68
45
  var children = _ref4.children;
69
46
  return /*#__PURE__*/React__default["default"].createElement("div", {
70
- className: layout_module["default"].cameraLayout
47
+ style: {
48
+ backgroundColor: 'transparent'
49
+ }
71
50
  }, children);
72
51
  };
73
52
 
74
53
  var DefaultLayout = function DefaultLayout(_ref5) {
75
54
  var children = _ref5.children;
76
- var isLandscape = useIsLandscape.useIsLandscape();
77
- return /*#__PURE__*/React__default["default"].createElement("div", {
78
- className: layout_module["default"].echoContentContainer
79
- }, isLandscape && /*#__PURE__*/React__default["default"].createElement(EchoBarComponent.EchoBarComponent, {
80
- isLandscape: isLandscape
81
- }), /*#__PURE__*/React__default["default"].createElement("div", {
82
- className: layout_module["default"].defaultLayout
83
- }, children), !isLandscape && /*#__PURE__*/React__default["default"].createElement(EchoBarComponent.EchoBarComponent, {
84
- isLandscape: isLandscape
85
- }));
55
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, children);
86
56
  };
87
57
 
88
58
  exports.CameraLayout = CameraLayout;
@@ -0,0 +1,20 @@
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 React = require('react');
10
+
11
+ function _interopDefaultLegacy(e) {
12
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
13
+ 'default': e
14
+ };
15
+ }
16
+
17
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
+
19
+ var AppLinksContext = /*#__PURE__*/React__default["default"].createContext(undefined);
20
+ exports.AppLinksContext = AppLinksContext;
@@ -0,0 +1,47 @@
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 React = require('react');
10
+
11
+ var errorBoundary = require('../errorBoundary/errorBoundary.js');
12
+
13
+ var contextualAppLinks_context = require('./contextualAppLinks.context.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
+ * List off application links to open with a given tag (contextual links): internal (open a subpage / app in echopedia) or external (navigate to a different page).
24
+ * Extendable. Call registerContextualAppLink() on the EchoModuleApi when registering your EchoModule through the setup function.
25
+ *
26
+ * @param {ContextualAppLinksProps} props
27
+ * @param {React.ReactNode} props.children
28
+ * @param {TagSummaryDto} props.tag The tag to pass to the context of the compound component.
29
+ * @param {string} props.instCode Installation code for a given plant. If not passed the instCode from localStorage/indexDb will be used.
30
+ * @returns {React.FC<ContextualAppLinksProps>} React component.
31
+ */
32
+
33
+
34
+ var ContextualAppLinks = function ContextualAppLinks(_ref) {
35
+ var children = _ref.children,
36
+ tag = _ref.tag,
37
+ instCode = _ref.instCode;
38
+ return /*#__PURE__*/React__default["default"].createElement(contextualAppLinks_context.AppLinksContext.Provider, {
39
+ value: {
40
+ tag: tag,
41
+ instCode: instCode
42
+ }
43
+ }, /*#__PURE__*/React__default["default"].createElement(errorBoundary.ErrorBoundary, null, children));
44
+ };
45
+
46
+ var LinksWrapper = /*#__PURE__*/React.memo(ContextualAppLinks);
47
+ exports["default"] = LinksWrapper;
@@ -0,0 +1,181 @@
1
+ 'use strict';
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
+ 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
+
17
+ Object.defineProperty(exports, '__esModule', {
18
+ value: true
19
+ });
20
+
21
+ var _tslib = require('../../../_virtual/_tslib.js');
22
+
23
+ var echoComponents = require('@equinor/echo-components');
24
+
25
+ var EchoUtils = require('@equinor/echo-utils');
26
+
27
+ var edsCoreReact = require('@equinor/eds-core-react');
28
+
29
+ var React = require('react');
30
+
31
+ var externalAppsMenu_module = require('./externalAppsMenu.module.css.js');
32
+
33
+ var useContextualAppLinks = require('./hooks/useContextualAppLinks.js');
34
+
35
+ var useContextualAppLinksContext = require('./hooks/useContextualAppLinksContext.js');
36
+
37
+ function _interopDefaultLegacy(e) {
38
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
39
+ 'default': e
40
+ };
41
+ }
42
+
43
+ var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
44
+
45
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
46
+ /**
47
+ * Wrapper component for external application links. To be used inside ContextualAppLinks component.
48
+ * This will render an icon button with external link icon. When the button is clicked, an EDS menu will be shown.
49
+ * Pass any external icons as children inside this component: they will rendered inside the above mentioned menu.
50
+ * This component is extendable: Also renders any external app link icon, which is registered in the EchoCore application state.
51
+ *
52
+ * @param {ExternalAppsMenuProp} props
53
+ * @param {React.ReactNode} props.children Optional: Will be rendered inside the EDS menu
54
+ * @param {Object} props.classNames Optional: custom class names for inner structural DOM elements.
55
+ * @param {string} props.classNames.button Optional: custom class name to be applied to the icon button
56
+ * @param {string} props.classNames.popupMenu Optional: custom class name to be applied to the popup menu
57
+ * @param {unknown} ...rest param: Every other props will be applied on the topmost, wrapper div element.
58
+ *
59
+ * @returns {React.FC<ExternalAppsMenuProp>}
60
+ *
61
+ * @throws {BaseError} If used outside of ContextualAppLinks compound component - requires react context provided by it.
62
+ *
63
+ */
64
+
65
+
66
+ var ExternalAppsMenu = function ExternalAppsMenu(_a) {
67
+ var children = _a.children,
68
+ _a$classNames = _a.classNames,
69
+ classNames = _a$classNames === void 0 ? {
70
+ button: '',
71
+ popupMenu: ''
72
+ } : _a$classNames,
73
+ props = _tslib.__rest(_a, ["children", "classNames"]);
74
+
75
+ var externalAppLinks = useContextualAppLinks.useContextualAppLinks({
76
+ onlyExternalLinks: true
77
+ });
78
+ var buttonElRef = React.useRef(null);
79
+
80
+ var _React$useState = React.useState({
81
+ focus: 'first',
82
+ buttonEl: undefined
83
+ }),
84
+ _React$useState2 = _slicedToArray(_React$useState, 2),
85
+ menuState = _React$useState2[0],
86
+ setMenuState = _React$useState2[1];
87
+
88
+ var isOpen = Boolean(menuState.buttonEl);
89
+ var randomId = EchoUtils__default["default"].Utils.generateRandomId();
90
+ var menuButtonId = "".concat(randomId, "-external-apps-menu-button");
91
+ var appMenuOnButtonId = "".concat(randomId, "-external-apps-menu-on-button");
92
+ var contextualAppLinkContext = useContextualAppLinksContext.useContextualAppLinksContext();
93
+
94
+ var openMenu = function openMenu(element, focus) {
95
+ !focus ? setMenuState(Object.assign(Object.assign({}, menuState), {
96
+ buttonEl: element
97
+ })) : setMenuState({
98
+ focus: focus,
99
+ buttonEl: element
100
+ });
101
+ };
102
+
103
+ var closeMenu = function closeMenu() {
104
+ setMenuState(Object.assign(Object.assign({}, menuState), {
105
+ buttonEl: undefined
106
+ }));
107
+ };
108
+
109
+ var stopPropagationOnClick = function stopPropagationOnClick(event) {
110
+ event.stopPropagation();
111
+ };
112
+
113
+ var onKeyPress = function onKeyPress(e) {
114
+ var key = e.key;
115
+
116
+ switch (key) {
117
+ case 'ArrowDown':
118
+ isOpen ? closeMenu() : openMenu(buttonElRef, 'first');
119
+ break;
120
+
121
+ case 'ArrowUp':
122
+ isOpen ? closeMenu() : openMenu(buttonElRef, 'last');
123
+ break;
124
+
125
+ case 'Escape':
126
+ closeMenu();
127
+ break;
128
+ }
129
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
130
+
131
+
132
+ function renderAppLink(AppLinkComponent) {
133
+ return AppLinkComponent ? /*#__PURE__*/React__default["default"].createElement(AppLinkComponent, Object.assign({}, contextualAppLinkContext)) : null;
134
+ }
135
+
136
+ return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
137
+ className: externalAppsMenu_module["default"].externalAppsMenuContainer,
138
+ onClick: stopPropagationOnClick
139
+ }, props), /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Button, {
140
+ className: "".concat(externalAppsMenu_module["default"].menuButton, " ").concat(classNames.button),
141
+ ref: buttonElRef,
142
+ variant: "ghost_icon",
143
+ id: menuButtonId,
144
+ "aria-controls": appMenuOnButtonId,
145
+ "aria-haspopup": "true",
146
+ "aria-expanded": Boolean(menuState.buttonEl),
147
+ onClick: function onClick() {
148
+ isOpen ? closeMenu() : openMenu(buttonElRef);
149
+ },
150
+ onMouseEnter: function onMouseEnter() {
151
+ openMenu(buttonElRef);
152
+ },
153
+ onMouseLeave: function onMouseLeave() {
154
+ closeMenu();
155
+ },
156
+ onKeyDown: onKeyPress
157
+ }, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
158
+ title: "echo",
159
+ name: "external_link",
160
+ color: echoComponents.themeConst.equiGreen1
161
+ })), /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Menu, {
162
+ id: appMenuOnButtonId,
163
+ "aria-labelledby": menuButtonId,
164
+ focus: menuState.focus,
165
+ open: Boolean(menuState.buttonEl),
166
+ anchorEl: buttonElRef === null || buttonElRef === void 0 ? void 0 : buttonElRef.current,
167
+ placement: 'bottom-end',
168
+ onClose: closeMenu,
169
+ className: "".concat(externalAppsMenu_module["default"].appMenu, " ").concat(classNames.popupMenu),
170
+ onMouseEnter: function onMouseEnter() {
171
+ openMenu(buttonElRef);
172
+ },
173
+ onMouseLeave: function onMouseLeave() {
174
+ closeMenu();
175
+ }
176
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, externalAppLinks.map(function (AppLink) {
177
+ return renderAppLink(AppLink.component);
178
+ }), children)));
179
+ };
180
+
181
+ exports.ExternalAppsMenu = ExternalAppsMenu;
@@ -0,0 +1,16 @@
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 = ".externalAppsMenu-module_externalAppsMenuContainer__gRHtf{animation:externalAppsMenu-module_fadein__a3fmQ .4s;display:inline-block;height:40px;margin:0;padding:0;position:relative;width:40px}.externalAppsMenu-module_appMenu__Hg3uJ{top:-5px!important;z-index:calc(var(--echo-framework-z-level-panel) + 5)!important}.externalAppsMenu-module_appMenu__Hg3uJ>[role=menu]{padding:.5rem!important;width:200px!important}.externalAppsMenu-module_appMenu__Hg3uJ [role=menu]>div{display:flex;flex-direction:row;flex-flow:wrap;min-height:130px;min-width:150px}";
10
+ var styles = {
11
+ "externalAppsMenuContainer": "externalAppsMenu-module_externalAppsMenuContainer__gRHtf",
12
+ "fadein": "externalAppsMenu-module_fadein__a3fmQ",
13
+ "appMenu": "externalAppsMenu-module_appMenu__Hg3uJ"
14
+ };
15
+ styleInject_es["default"](css_248z);
16
+ exports["default"] = styles;
@@ -0,0 +1,72 @@
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 React = require('react');
10
+
11
+ var useContextualAppLinksContext = require('../hooks/useContextualAppLinksContext.js');
12
+
13
+ var externalLinkToMcApp = require('./externalLinkToMcApp.js');
14
+
15
+ var externalLinkToProCoSys = require('./externalLinkToProCoSys.js');
16
+
17
+ var externalLinkToSafeX = require('./externalLinkToSafeX.js');
18
+
19
+ var externalLinkToSap = require('./externalLinkToSap.js');
20
+
21
+ var externalLinkToSemiDoc = require('./externalLinkToSemiDoc.js');
22
+
23
+ var externalLinkToStid = require('./externalLinkToStid.js');
24
+
25
+ var externalLinkToTr2000 = require('./externalLinkToTr2000.js');
26
+
27
+ function _interopDefaultLegacy(e) {
28
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
29
+ 'default': e
30
+ };
31
+ }
32
+
33
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
34
+ /**
35
+ * To be used inside ContextualAppLinks component.
36
+ * List of pre-defined external app links.
37
+ * Contains link to: Stid, ProCoSys, Sap, Semi, McApp, SafeX, TR2000.
38
+ *
39
+ * Each link will determine by itself if they should be rendered (or not) based on various conditions, like: the passed tag.
40
+ *
41
+ * @returns {React.FC}
42
+ * @throws {BaseError} If used outside of ContextualAppLinks compound component - requires react context provided by it.
43
+ */
44
+
45
+
46
+ var AllExternalLinks = function AllExternalLinks() {
47
+ var _useContextualAppLink = useContextualAppLinksContext.useContextualAppLinksContext(),
48
+ tag = _useContextualAppLink.tag,
49
+ instCode = _useContextualAppLink.instCode;
50
+
51
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(externalLinkToStid.ExternalLinkToStid, {
52
+ tagNo: tag.tagNo,
53
+ instCode: instCode
54
+ }), /*#__PURE__*/React__default["default"].createElement(externalLinkToProCoSys.ExternalLinkToProCoSys, {
55
+ tagNo: tag.tagNo,
56
+ 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
+ }), /*#__PURE__*/React__default["default"].createElement(externalLinkToMcApp.ExternalLinkToMcApp, {
63
+ tagNo: tag.tagNo
64
+ }), /*#__PURE__*/React__default["default"].createElement(externalLinkToSafeX.ExternalLinkToSafeX, {
65
+ tag: tag
66
+ }), /*#__PURE__*/React__default["default"].createElement(externalLinkToTr2000.ExternalLinkToTr2000, {
67
+ tagNo: tag.tagNo,
68
+ instCode: instCode
69
+ }));
70
+ };
71
+
72
+ exports.AllExternalLinks = AllExternalLinks;
@@ -0,0 +1,38 @@
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 React = require('react');
10
+
11
+ var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
12
+
13
+ function _interopDefaultLegacy(e) {
14
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
15
+ 'default': e
16
+ };
17
+ }
18
+
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
+ /**
21
+ * External link button to McApp.
22
+ *
23
+ * @param {string} tagNo The tag's number to open in McApp.
24
+ * @returns {React.FC<ExternalLinkToMcAppProps>} React component.
25
+ */
26
+
27
+
28
+ var ExternalLinkToMcApp = function ExternalLinkToMcApp(_ref) {
29
+ var tagNo = _ref.tagNo;
30
+ return /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
31
+ buttonName: "McApp",
32
+ buttonIcon: "McApp",
33
+ linkTo: "mcapp://v1:tagscope:".concat(tagNo),
34
+ buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
35
+ });
36
+ };
37
+
38
+ exports.ExternalLinkToMcApp = ExternalLinkToMcApp;
@@ -0,0 +1,50 @@
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 EchoCore = require('@equinor/echo-core');
10
+
11
+ var React = require('react');
12
+
13
+ var useTagDetails = require('../../../hooks/useTagDetails.js');
14
+
15
+ var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
16
+
17
+ function _interopDefaultLegacy(e) {
18
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
19
+ 'default': e
20
+ };
21
+ }
22
+
23
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
+ /**
25
+ * External link button to ProCoSys.
26
+ * Will only render if the passed tagNo has any tag details in the actually selected plant.
27
+ *
28
+ * @param {string} tagNo The tag's number to open in ProCoSys.
29
+ * @param {string} instCode Plant installation code.
30
+ * @returns {React.FC<ExternalLinkToProCoSysProps>} React component.
31
+ */
32
+
33
+
34
+ var ExternalLinkToProCoSys = function ExternalLinkToProCoSys(_ref) {
35
+ var tagNo = _ref.tagNo,
36
+ instCode = _ref.instCode;
37
+ var tagDetails = useTagDetails.useTagDetails({
38
+ tagNo: tagNo,
39
+ instCode: instCode
40
+ });
41
+ var proCoSysPlantCode = EchoCore.useProCoSysPlantId();
42
+ return tagDetails ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
43
+ buttonName: "ProCoSys",
44
+ buttonIcon: "ProCoSys",
45
+ linkTo: "https://procosys.equinor.com/".concat(proCoSysPlantCode, "/Link/TAG?TagNo=").concat(tagNo, "&project=").concat(tagDetails.projectCode),
46
+ buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
47
+ }) : null;
48
+ };
49
+
50
+ exports.ExternalLinkToProCoSys = ExternalLinkToProCoSys;
@@ -0,0 +1,38 @@
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 React = require('react');
10
+
11
+ var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
12
+
13
+ function _interopDefaultLegacy(e) {
14
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
15
+ 'default': e
16
+ };
17
+ }
18
+
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
+ /**
21
+ * External link button to SafeX.
22
+ *
23
+ * @param {TagSummaryDto} tag The tag to open in SafeX.
24
+ * @returns {React.FC<ExternalLinkToSafeXProps>} React component.
25
+ */
26
+
27
+
28
+ var ExternalLinkToSafeX = function ExternalLinkToSafeX(_ref) {
29
+ var tag = _ref.tag;
30
+ return /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
31
+ buttonName: "SafeX",
32
+ buttonIcon: "SafeX",
33
+ linkTo: "https://safex.equinor.com/search?keyword=".concat(tag.description),
34
+ buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
35
+ });
36
+ };
37
+
38
+ exports.ExternalLinkToSafeX = ExternalLinkToSafeX;
@@ -0,0 +1,61 @@
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 EchoUtils = require('@equinor/echo-utils');
10
+
11
+ var React = require('react');
12
+
13
+ var useTagDetails = require('../../../hooks/useTagDetails.js');
14
+
15
+ var pingableSources = require('../../../types/pingableSources.js');
16
+
17
+ var externalLinkButton = require('../../externalLinkButton/externalLinkButton.js');
18
+
19
+ function _interopDefaultLegacy(e) {
20
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
21
+ 'default': e
22
+ };
23
+ }
24
+
25
+ var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
26
+
27
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
+ /**
29
+ * External link button to SAP.
30
+ * Will only render if the passed tagNo has any tag details in the actually selected plant and SAP is available.
31
+ *
32
+ * @param {string} tagNo The tag's number to open in SAP.
33
+ * @param {string} instCode Plant installation code.
34
+ * @returns {React.FC<ExternalLinkToSapProps>} React component.
35
+ */
36
+
37
+
38
+ var ExternalLinkToSap = function ExternalLinkToSap(_ref) {
39
+ var tagNo = _ref.tagNo,
40
+ instCode = _ref.instCode;
41
+ var _EchoUtils__default$d = EchoUtils__default["default"].Hooks,
42
+ usePing = _EchoUtils__default$d.usePing,
43
+ useIsIosDevice = _EchoUtils__default$d.useIsIosDevice;
44
+ var tagDetails = useTagDetails.useTagDetails({
45
+ tagNo: tagNo,
46
+ instCode: instCode
47
+ });
48
+
49
+ var _usePing = usePing(pingableSources.PingableSources.Sap),
50
+ isSourceAvailable = _usePing.isSourceAvailable;
51
+
52
+ var isIosDevice = useIsIosDevice();
53
+ return tagDetails && (isSourceAvailable || isIosDevice) ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
54
+ buttonName: "Sap",
55
+ buttonIcon: "Sap",
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, "#"),
57
+ buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
58
+ }) : null;
59
+ };
60
+
61
+ exports.ExternalLinkToSap = ExternalLinkToSap;
@@ -0,0 +1,48 @@
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 React = require('react');
10
+
11
+ var useSemi = require('../../../hooks/useSemi.js');
12
+
13
+ var externalLinkButton = require('../../externalLinkButton/externalLinkButton.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
+ * External link button to SemiDoc.
24
+ * Will only render if Semi is available for the passed tagNo.
25
+ *
26
+ * @param {string} tagNo The tag's number to open in Semi.
27
+ * @returns {React.FC<ExternalLinkToSemiDocProps>} React component.
28
+ */
29
+
30
+
31
+ var ExternalLinkToSemiDoc = function ExternalLinkToSemiDoc(_ref) {
32
+ var tagNo = _ref.tagNo;
33
+
34
+ var _useSemi$useSemi = useSemi.useSemi({
35
+ tagNo: tagNo
36
+ }),
37
+ isSemiDocumentAvailable = _useSemi$useSemi.isSemiDocumentAvailable,
38
+ semiDocumentId = _useSemi$useSemi.semiDocumentId;
39
+
40
+ return isSemiDocumentAvailable ? /*#__PURE__*/React__default["default"].createElement(externalLinkButton["default"], {
41
+ buttonName: "Semi",
42
+ buttonIcon: "Semi",
43
+ linkTo: "https://semi.equinor.com/uploaddocumentation?semiId=".concat(semiDocumentId),
44
+ buttonStyle: externalLinkButton.ExternalLinkButtonStyle.Rounded
45
+ }) : null;
46
+ };
47
+
48
+ exports.ExternalLinkToSemiDoc = ExternalLinkToSemiDoc;