@equinor/echo-framework 0.7.5 → 0.7.8
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/47deeba42768c5d1.svg +9 -0
- package/dist/components/contextualAppLinks/contextualAppLinks.context.d.ts +7 -0
- package/dist/components/contextualAppLinks/contextualAppLinks.d.ts +9 -0
- package/dist/components/contextualAppLinks/externalAppsMenu.d.ts +29 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/allExternalLinks.d.ts +12 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToMcApp.d.ts +12 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.d.ts +15 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSafeX.d.ts +13 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSap.d.ts +15 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToSemiDoc.d.ts +13 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToStid.d.ts +14 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/externalLinkToTr2000.d.ts +15 -0
- package/dist/components/contextualAppLinks/externalLinkButtons/index.d.ts +7 -0
- package/dist/components/contextualAppLinks/hooks/useContextualAppLinks.d.ts +18 -0
- package/dist/components/contextualAppLinks/hooks/useContextualAppLinks.test.d.ts +1 -0
- package/dist/components/contextualAppLinks/hooks/useContextualAppLinksContext.d.ts +4 -0
- package/dist/components/contextualAppLinks/hooks/useContextualAppLinksContext.test.d.ts +1 -0
- package/dist/components/contextualAppLinks/index.d.ts +13 -0
- package/dist/components/contextualAppLinks/internalAppLinks.d.ts +24 -0
- package/dist/components/contextualAppLinks/linkButton.d.ts +19 -0
- package/dist/components/externalLinkButton/externalLinkButton.d.ts +33 -0
- package/dist/components/index.d.ts +4 -1
- package/dist/components/realTimeData/components/IMSDropdown/RealTimeIMSDropdown.d.ts +2 -1
- package/dist/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.d.ts +2 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/useSemi.d.ts +17 -0
- package/dist/hooks/useSemi.test.d.ts +1 -0
- package/dist/hooks/useTagDetails.d.ts +13 -0
- package/dist/hooks/useTagDetails.test.d.ts +1 -0
- package/dist/index.d.ts +10 -3
- package/dist/src/components/contextualAppLinks/contextualAppLinks.context.js +20 -0
- package/dist/src/components/contextualAppLinks/contextualAppLinks.js +47 -0
- package/dist/src/components/contextualAppLinks/externalAppsMenu.js +181 -0
- package/dist/src/components/contextualAppLinks/externalAppsMenu.module.css.js +16 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/allExternalLinks.js +72 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToMcApp.js +38 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToProCoSys.js +50 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSafeX.js +38 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSap.js +61 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToSemiDoc.js +48 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToStid.js +40 -0
- package/dist/src/components/contextualAppLinks/externalLinkButtons/externalLinkToTr2000.js +63 -0
- package/dist/src/components/contextualAppLinks/hooks/useContextualAppLinks.js +52 -0
- package/dist/src/components/contextualAppLinks/hooks/useContextualAppLinksContext.js +36 -0
- package/dist/src/components/contextualAppLinks/index.js +22 -0
- package/dist/src/components/contextualAppLinks/internalAppLinks.js +115 -0
- package/dist/src/components/contextualAppLinks/linkButton.js +57 -0
- package/dist/src/components/externalLinkButton/externalLinkButton.js +245 -0
- package/dist/src/components/externalLinkButton/externalLinkButton.module.css.js +22 -0
- package/dist/src/components/projectSelector/ProcosysProjectSelector.js +1 -1
- package/dist/src/components/realTimeData/RealTimePopoverButton.js +23 -7
- package/dist/src/components/realTimeData/components/IMSDropdown/RealTimeIMSDropdown.js +4 -2
- package/dist/src/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.js +3 -3
- package/dist/src/hooks/index.js +12 -0
- package/dist/src/hooks/useSemi.js +74 -0
- package/dist/src/hooks/useTagDetails.js +80 -0
- package/dist/src/icons/common/Evision.svg.js +68 -0
- package/dist/src/icons/common/Fusion.svg.js +107 -0
- package/dist/src/icons/common/McApp.svg.js +67 -0
- package/dist/src/icons/common/ProCoSysIcon.svg.js +68 -0
- package/dist/src/icons/common/SX-logo.png.js +7 -0
- package/dist/src/icons/common/SapLogo.svg.js +95 -0
- package/dist/src/icons/common/SemiIcon.svg.js +83 -0
- package/dist/src/icons/common/Stid.svg.js +65 -0
- package/dist/src/icons/common/TR2000.svg.js +72 -0
- package/dist/src/icons/common/Yammer.svg.js +65 -0
- package/dist/src/index.js +54 -8
- package/dist/src/types/extensions.js +10 -0
- package/dist/src/types/pingableSources.js +10 -0
- package/dist/types/extensions.d.ts +7 -0
- package/dist/types/pingableSources.d.ts +3 -0
- package/package.json +6 -7
|
@@ -0,0 +1,36 @@
|
|
|
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 echoBase = require('@equinor/echo-base');
|
|
10
|
+
|
|
11
|
+
var React = require('react');
|
|
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
|
+
function useContextualAppLinksContext() {
|
|
24
|
+
var context = React__default["default"].useContext(contextualAppLinks_context.AppLinksContext);
|
|
25
|
+
|
|
26
|
+
if (!context) {
|
|
27
|
+
throw new echoBase.BaseError({
|
|
28
|
+
name: 'CompoundComponentOutsideContextError',
|
|
29
|
+
message: '[EchoFramework.useContextualAppLinksContext] ContextualAppLinks compound components cannot be rendered outside the ContextualAppLinks component'
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return Object.assign({}, context);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
exports.useContextualAppLinksContext = useContextualAppLinksContext;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var contextualAppLinks = require('./contextualAppLinks.js');
|
|
8
|
+
|
|
9
|
+
var externalAppsMenu = require('./externalAppsMenu.js');
|
|
10
|
+
|
|
11
|
+
var allExternalLinks = require('./externalLinkButtons/allExternalLinks.js');
|
|
12
|
+
|
|
13
|
+
var internalAppLinks = require('./internalAppLinks.js');
|
|
14
|
+
|
|
15
|
+
var linkButton = require('./linkButton.js');
|
|
16
|
+
|
|
17
|
+
var ContextualAppLinks = contextualAppLinks["default"];
|
|
18
|
+
ContextualAppLinks.InternalApps = internalAppLinks.InternalAppLinks;
|
|
19
|
+
ContextualAppLinks.ExternalAppsMenu = externalAppsMenu.ExternalAppsMenu;
|
|
20
|
+
ContextualAppLinks.LinkButton = linkButton.LinkButton;
|
|
21
|
+
ContextualAppLinks.AllExternalApps = allExternalLinks.AllExternalLinks;
|
|
22
|
+
exports.ContextualAppLinks = ContextualAppLinks;
|
|
@@ -0,0 +1,115 @@
|
|
|
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 EchoUtils = require('@equinor/echo-utils');
|
|
14
|
+
|
|
15
|
+
var React = require('react');
|
|
16
|
+
|
|
17
|
+
var useContextualAppLinks = require('./hooks/useContextualAppLinks.js');
|
|
18
|
+
|
|
19
|
+
var useContextualAppLinksContext = require('./hooks/useContextualAppLinksContext.js');
|
|
20
|
+
|
|
21
|
+
var linkButton = require('./linkButton.js');
|
|
22
|
+
|
|
23
|
+
function _interopDefaultLegacy(e) {
|
|
24
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
25
|
+
'default': e
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
|
|
30
|
+
|
|
31
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
32
|
+
/**
|
|
33
|
+
* Wrapper component for internal, Echo application links. To be used inside ContextualAppLinks component.
|
|
34
|
+
* This component is extendable: renders any Echo app link component, which is registered in the EchoCore application state.
|
|
35
|
+
*
|
|
36
|
+
* @param {InternalAppLinksProps} props
|
|
37
|
+
* @param {React.ReactNode} props.children Optional. Passed children will be rendred after the app link extensions.
|
|
38
|
+
* @param {Object} props.options Optional prop: pass custom options to alter the components behaviour.
|
|
39
|
+
* @param {string[]} props.options.hiddenAppKeys List of registered, app link extenesion keys. Each registered component with a matched key will be hidden.
|
|
40
|
+
* @param {[key: string]: unknown} ...rest: All other props will be passed to registered app links extension components, and to the isVisible() => boolean function for those components
|
|
41
|
+
* @returns {React.FC<InternalAppLinksProps>} React component.
|
|
42
|
+
*
|
|
43
|
+
* @throws {BaseError} If used outside of ContextualAppLinks compound component - requires react context provided by it.
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
var InternalAppLinks = function InternalAppLinks(_a) {
|
|
49
|
+
var children = _a.children,
|
|
50
|
+
options = _a.options,
|
|
51
|
+
rest = _tslib.__rest(_a, ["children", "options"]);
|
|
52
|
+
|
|
53
|
+
var goToInternalLink = EchoCore.useInternalLink();
|
|
54
|
+
var isSmallScreen = EchoUtils__default["default"].Hooks.useIsSmallScreen();
|
|
55
|
+
var registeredInternalAppLinks = useContextualAppLinks.useContextualAppLinks({
|
|
56
|
+
onlyInternalLinks: true
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
var _useContextualAppLink = useContextualAppLinksContext.useContextualAppLinksContext(),
|
|
60
|
+
tag = _useContextualAppLink.tag,
|
|
61
|
+
instCode = _useContextualAppLink.instCode;
|
|
62
|
+
|
|
63
|
+
function navigateToInternalApp(event, appPath) {
|
|
64
|
+
goToInternalLink(appPath, {
|
|
65
|
+
params: "?instCode=".concat(instCode, "&tagNo=").concat(tag.tagNo, "&search=").concat(tag.tagNo, "&refresh=true")
|
|
66
|
+
});
|
|
67
|
+
event.stopPropagation();
|
|
68
|
+
|
|
69
|
+
if (isSmallScreen) {
|
|
70
|
+
EchoCore.setActivePanel('');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function renderNavIcon(extension) {
|
|
75
|
+
var hiddenAppKeys = (options === null || options === void 0 ? void 0 : options.hiddenAppKeys) || [];
|
|
76
|
+
var PreDefinedNavIconComponent = extension.component;
|
|
77
|
+
|
|
78
|
+
var _ref = extension.options || {},
|
|
79
|
+
label = _ref.label,
|
|
80
|
+
iconName = _ref.iconName,
|
|
81
|
+
appPath = _ref.appPath;
|
|
82
|
+
|
|
83
|
+
var isHiddenByProps = hiddenAppKeys.includes(extension.key);
|
|
84
|
+
|
|
85
|
+
if (PreDefinedNavIconComponent) {
|
|
86
|
+
return /*#__PURE__*/React__default["default"].createElement(PreDefinedNavIconComponent, Object.assign({
|
|
87
|
+
tag: tag,
|
|
88
|
+
instCode: instCode,
|
|
89
|
+
key: extension.key
|
|
90
|
+
}, rest));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (iconName && !isHiddenByProps && (extension.isVisible && extension.isVisible(Object.assign({
|
|
94
|
+
tag: tag,
|
|
95
|
+
instCode: instCode
|
|
96
|
+
}, rest)) || !extension.isVisible)) {
|
|
97
|
+
return /*#__PURE__*/React__default["default"].createElement(linkButton.LinkButton, {
|
|
98
|
+
key: extension.key,
|
|
99
|
+
label: label,
|
|
100
|
+
onClick: function onClick(event) {
|
|
101
|
+
return navigateToInternalApp(event, appPath || '/');
|
|
102
|
+
},
|
|
103
|
+
iconName: iconName
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, registeredInternalAppLinks.map(function (internalAppLink) {
|
|
111
|
+
return renderNavIcon(internalAppLink);
|
|
112
|
+
}), children);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
exports.InternalAppLinks = InternalAppLinks;
|
|
@@ -0,0 +1,57 @@
|
|
|
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 echoComponents = require('@equinor/echo-components');
|
|
10
|
+
|
|
11
|
+
var edsCoreReact = require('@equinor/eds-core-react');
|
|
12
|
+
|
|
13
|
+
var React = require('react');
|
|
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
|
+
* Link button to be used in contextual app link component.
|
|
24
|
+
* Displays an EDS icon with a EDS tooltip. The tooltip will be rendered only if a 'label' is passed.
|
|
25
|
+
*
|
|
26
|
+
* @param {LinkButtonProps} props
|
|
27
|
+
* @param {label} props.label Optional: a label to show when the button is hovered over on.
|
|
28
|
+
* @param {string} props.iconName An EDS icon name to display.
|
|
29
|
+
* @param {OnClickHandler} props.onClick Click handler
|
|
30
|
+
* @returns {React.FC<LinkButtonProps>} React component.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
var LinkButton = function LinkButton(_ref) {
|
|
35
|
+
var label = _ref.label,
|
|
36
|
+
iconName = _ref.iconName,
|
|
37
|
+
onClick = _ref.onClick;
|
|
38
|
+
|
|
39
|
+
function renderIconButton(iconNameToDisplay, clickHandler) {
|
|
40
|
+
return /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Button, {
|
|
41
|
+
className: "d-inline-block",
|
|
42
|
+
variant: "ghost_icon",
|
|
43
|
+
onClick: clickHandler
|
|
44
|
+
}, /*#__PURE__*/React__default["default"].createElement(echoComponents.Icon, {
|
|
45
|
+
title: iconNameToDisplay,
|
|
46
|
+
name: iconNameToDisplay,
|
|
47
|
+
color: echoComponents.themeConst.equiGreen1
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return label ? /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Tooltip, {
|
|
52
|
+
placement: "bottom",
|
|
53
|
+
title: label
|
|
54
|
+
}, renderIconButton(iconName, onClick)) : renderIconButton(iconName, onClick);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
exports.LinkButton = LinkButton;
|
|
@@ -0,0 +1,245 @@
|
|
|
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 echoComponents = require('@equinor/echo-components');
|
|
12
|
+
|
|
13
|
+
var EchoCore = require('@equinor/echo-core');
|
|
14
|
+
|
|
15
|
+
var edsCoreReact = require('@equinor/eds-core-react');
|
|
16
|
+
|
|
17
|
+
var React = require('react');
|
|
18
|
+
|
|
19
|
+
var Evision = require('../../icons/common/Evision.svg.js');
|
|
20
|
+
|
|
21
|
+
var Fusion = require('../../icons/common/Fusion.svg.js');
|
|
22
|
+
|
|
23
|
+
var McApp = require('../../icons/common/McApp.svg.js');
|
|
24
|
+
|
|
25
|
+
var ProCoSysIcon = require('../../icons/common/ProCoSysIcon.svg.js');
|
|
26
|
+
|
|
27
|
+
var SapLogo = require('../../icons/common/SapLogo.svg.js');
|
|
28
|
+
|
|
29
|
+
var SemiIcon = require('../../icons/common/SemiIcon.svg.js');
|
|
30
|
+
|
|
31
|
+
var Stid = require('../../icons/common/Stid.svg.js');
|
|
32
|
+
|
|
33
|
+
var SXLogo = require('../../icons/common/SX-logo.png.js');
|
|
34
|
+
|
|
35
|
+
var TR2000 = require('../../icons/common/TR2000.svg.js');
|
|
36
|
+
|
|
37
|
+
var Yammer = require('../../icons/common/Yammer.svg.js');
|
|
38
|
+
|
|
39
|
+
var externalLinkButton_module = require('./externalLinkButton.module.css.js');
|
|
40
|
+
|
|
41
|
+
function _interopDefaultLegacy(e) {
|
|
42
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
43
|
+
'default': e
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
48
|
+
|
|
49
|
+
var echopediaAnalyticsModule = EchoCore.analytics.createAnalyticsModule('ep');
|
|
50
|
+
exports.ExternalLinkButtonStyle = void 0;
|
|
51
|
+
|
|
52
|
+
(function (ExternalLinkButtonStyle) {
|
|
53
|
+
ExternalLinkButtonStyle["Rounded"] = "Rounded";
|
|
54
|
+
})(exports.ExternalLinkButtonStyle || (exports.ExternalLinkButtonStyle = {}));
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @param {ExternalLinkButtonProps} props
|
|
58
|
+
* @param {string} props.buttonName If the button isn't in Rounded button style, this will be the button's label.
|
|
59
|
+
* @param {string} props.buttonIcon Name of the icon to render.
|
|
60
|
+
* @param {string} props.linkTo Link to open, if `getUrlToOpen` isn't passed.
|
|
61
|
+
* @param {boolean} props.hideText Optional. If set to `true`, will hide `buttonName`.
|
|
62
|
+
* @param {boolean} props.redirect Optional. If set to `true`, the app will not open in a new tab / window, but in the current one.
|
|
63
|
+
* @param {ExternalLinkButtonStyle} props.buttonStyle Optional.
|
|
64
|
+
* @param {() => Promise<string>} props.getUrlToOpen Optional. Function () => Promise<string>. Custom async function to be called to handle the navigation.
|
|
65
|
+
* @param {boolean} props.disabledColor Optional. If set to `true`, the button will show disabled color. (If not Rounded button style is used)
|
|
66
|
+
* @param {boolean} props.disabledButton Optional.
|
|
67
|
+
* @param {string} props.hoverText Optional. Applies only if Rounded button style is applied.
|
|
68
|
+
* @returns {React.FC<ExternalLinkButtonProps>} React component.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
var ExternalLinkButton = function ExternalLinkButton(_ref) {
|
|
73
|
+
var buttonName = _ref.buttonName,
|
|
74
|
+
buttonIcon = _ref.buttonIcon,
|
|
75
|
+
linkTo = _ref.linkTo,
|
|
76
|
+
hideText = _ref.hideText,
|
|
77
|
+
redirect = _ref.redirect,
|
|
78
|
+
buttonStyle = _ref.buttonStyle,
|
|
79
|
+
getUrlToOpen = _ref.getUrlToOpen,
|
|
80
|
+
disabledColor = _ref.disabledColor,
|
|
81
|
+
disabledButton = _ref.disabledButton,
|
|
82
|
+
hoverText = _ref.hoverText;
|
|
83
|
+
var icon = null;
|
|
84
|
+
|
|
85
|
+
function goToLink(event) {
|
|
86
|
+
return _tslib.__awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
87
|
+
var link;
|
|
88
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
89
|
+
while (1) {
|
|
90
|
+
switch (_context.prev = _context.next) {
|
|
91
|
+
case 0:
|
|
92
|
+
event.persist();
|
|
93
|
+
event.preventDefault();
|
|
94
|
+
|
|
95
|
+
if (!getUrlToOpen) {
|
|
96
|
+
_context.next = 8;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
_context.next = 5;
|
|
101
|
+
return getUrlToOpen();
|
|
102
|
+
|
|
103
|
+
case 5:
|
|
104
|
+
_context.t0 = _context.sent;
|
|
105
|
+
_context.next = 9;
|
|
106
|
+
break;
|
|
107
|
+
|
|
108
|
+
case 8:
|
|
109
|
+
_context.t0 = linkTo;
|
|
110
|
+
|
|
111
|
+
case 9:
|
|
112
|
+
link = _context.t0;
|
|
113
|
+
goToExternalLink(link, redirect);
|
|
114
|
+
event.stopPropagation();
|
|
115
|
+
|
|
116
|
+
case 12:
|
|
117
|
+
case "end":
|
|
118
|
+
return _context.stop();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}, _callee);
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function goToExternalLink(link, redirect) {
|
|
126
|
+
echopediaAnalyticsModule.trackEventBy('ExternalLink', 'Opened', {
|
|
127
|
+
linkTo: link
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
if (redirect) {
|
|
131
|
+
window.location.href = link;
|
|
132
|
+
} else {
|
|
133
|
+
window.open(link, '_blank');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
switch (buttonIcon) {
|
|
138
|
+
case 'Fusion':
|
|
139
|
+
icon = /*#__PURE__*/React__default["default"].createElement(Fusion.ReactComponent, null);
|
|
140
|
+
break;
|
|
141
|
+
|
|
142
|
+
case 'TR2000':
|
|
143
|
+
icon = /*#__PURE__*/React__default["default"].createElement(TR2000.ReactComponent, null);
|
|
144
|
+
break;
|
|
145
|
+
|
|
146
|
+
case 'ProCoSys':
|
|
147
|
+
icon = /*#__PURE__*/React__default["default"].createElement(ProCoSysIcon.ReactComponent, null);
|
|
148
|
+
break;
|
|
149
|
+
|
|
150
|
+
case 'PermitVision':
|
|
151
|
+
icon = /*#__PURE__*/React__default["default"].createElement(Evision.ReactComponent, null);
|
|
152
|
+
break;
|
|
153
|
+
|
|
154
|
+
case 'Stid':
|
|
155
|
+
icon = /*#__PURE__*/React__default["default"].createElement(Stid.ReactComponent, {
|
|
156
|
+
className: externalLinkButton_module["default"].stidIcon
|
|
157
|
+
});
|
|
158
|
+
break;
|
|
159
|
+
|
|
160
|
+
case 'Yammer':
|
|
161
|
+
icon = /*#__PURE__*/React__default["default"].createElement(Yammer.ReactComponent, null);
|
|
162
|
+
break;
|
|
163
|
+
|
|
164
|
+
case '3DModel':
|
|
165
|
+
icon = /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
|
|
166
|
+
color: disabledColor ? echoComponents.themeConst.disabledColor : echoComponents.themeConst.asBuilt,
|
|
167
|
+
name: 'rotate_3d',
|
|
168
|
+
title: "3DModel"
|
|
169
|
+
});
|
|
170
|
+
break;
|
|
171
|
+
|
|
172
|
+
case 'Tag':
|
|
173
|
+
icon = /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
|
|
174
|
+
color: echoComponents.themeConst.asBuilt,
|
|
175
|
+
name: 'tag'
|
|
176
|
+
});
|
|
177
|
+
break;
|
|
178
|
+
|
|
179
|
+
case 'Launch':
|
|
180
|
+
icon = /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
|
|
181
|
+
color: echoComponents.themeConst.asBuilt,
|
|
182
|
+
name: 'launch'
|
|
183
|
+
});
|
|
184
|
+
break;
|
|
185
|
+
|
|
186
|
+
case 'Media':
|
|
187
|
+
icon = /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
|
|
188
|
+
color: echoComponents.themeConst.asBuilt,
|
|
189
|
+
name: 'movie_file'
|
|
190
|
+
});
|
|
191
|
+
break;
|
|
192
|
+
|
|
193
|
+
case 'McApp':
|
|
194
|
+
icon = /*#__PURE__*/React__default["default"].createElement(McApp.ReactComponent, null);
|
|
195
|
+
break;
|
|
196
|
+
|
|
197
|
+
case 'Sap':
|
|
198
|
+
icon = /*#__PURE__*/React__default["default"].createElement(SapLogo.ReactComponent, null);
|
|
199
|
+
break;
|
|
200
|
+
|
|
201
|
+
case 'Semi':
|
|
202
|
+
icon = /*#__PURE__*/React__default["default"].createElement(SemiIcon.ReactComponent, null);
|
|
203
|
+
break;
|
|
204
|
+
|
|
205
|
+
case 'SafeX':
|
|
206
|
+
icon = /*#__PURE__*/React__default["default"].createElement("img", {
|
|
207
|
+
src: SXLogo["default"],
|
|
208
|
+
className: externalLinkButton_module["default"].buttonIconAsImage,
|
|
209
|
+
alt: "SafeX"
|
|
210
|
+
});
|
|
211
|
+
break;
|
|
212
|
+
|
|
213
|
+
case 'GoToApp':
|
|
214
|
+
icon = /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
|
|
215
|
+
color: echoComponents.themeConst.asBuilt,
|
|
216
|
+
name: 'exit_to_app'
|
|
217
|
+
});
|
|
218
|
+
break;
|
|
219
|
+
|
|
220
|
+
case 'Tr2000':
|
|
221
|
+
icon = /*#__PURE__*/React__default["default"].createElement(TR2000.ReactComponent, null);
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
return buttonStyle === exports.ExternalLinkButtonStyle.Rounded ? /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Tooltip, {
|
|
226
|
+
placement: "bottom",
|
|
227
|
+
title: hoverText !== null && hoverText !== void 0 ? hoverText : buttonName
|
|
228
|
+
}, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Button, {
|
|
229
|
+
className: externalLinkButton_module["default"].echoButtonRounded,
|
|
230
|
+
variant: "ghost_icon",
|
|
231
|
+
onClick: function onClick(event) {
|
|
232
|
+
goToLink(event);
|
|
233
|
+
},
|
|
234
|
+
disabled: disabledButton
|
|
235
|
+
}, icon)) : /*#__PURE__*/React__default["default"].createElement("button", {
|
|
236
|
+
className: "".concat(externalLinkButton_module["default"].echoButton, " ").concat(disabledColor ? externalLinkButton_module["default"].echoButtonDisabled : ''),
|
|
237
|
+
onClick: function onClick(event) {
|
|
238
|
+
goToLink(event);
|
|
239
|
+
},
|
|
240
|
+
tabIndex: 0,
|
|
241
|
+
disabled: disabledButton
|
|
242
|
+
}, icon, !hideText && /*#__PURE__*/React__default["default"].createElement("span", null, buttonName));
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
exports["default"] = ExternalLinkButton;
|
|
@@ -0,0 +1,22 @@
|
|
|
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 = ".externalLinkButton-module_echoButton__J9As0{display:inline-block;padding:16px;position:relative;width:90px}.externalLinkButton-module_echoButtonDisabled__6kYFw{padding-bottom:0}.externalLinkButton-module_echoButtonRounded__moamZ{display:inline-block;position:relative}@media screen and (min-width:420px){.externalLinkButton-module_echoButtonDisabled__6kYFw,.externalLinkButton-module_echoButton__J9As0{width:96px}}.externalLinkButton-module_echoButton__J9As0 svg{display:inline-block;height:48px;margin:0 8px 8px;width:48px}.externalLinkButton-module_echoButtonRounded__moamZ svg{display:inline-block;height:24px;margin:0 8px;width:24px}.externalLinkButton-module_echoButton__J9As0 span{color:#007079;display:inline-block;font-size:14px;font-weight:500;line-height:16px;width:64px}.externalLinkButton-module_echoButton__J9As0:hover svg{fill:#004f55}.externalLinkButton-module_echoButton__J9As0:hover span{color:#004f55}.externalLinkButton-module_echoButtonDisabled__6kYFw span{color:var(--disabledColor)}.externalLinkButton-module_echoButtonDisabled__6kYFw:hover svg{fill:var(--disabledColor)}.externalLinkButton-module_echoButtonDisabled__6kYFw:hover span{color:var(--disabledColor)}.externalLinkButton-module_buttonIconAsImage__JL6p6{height:30px;justify-self:center;width:30px}.externalLinkButton-module_toolTip__ywPoc{background-color:#233746;border-radius:8px;box-shadow:0 0 4px rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05);color:#fff;display:block;padding:8px 16px;position:absolute;z-index:1}.externalLinkButton-module_toolTipContainer__n1YIl{display:inline-flex;justify-content:center}.externalLinkButton-module_scrimContainer__zE8L->div{height:100%;width:100%}.externalLinkButton-module_dialogWrapper__IKpyE{height:100%;width:272px}.externalLinkButton-module_stidIcon__XoFaL{height:auto!important}";
|
|
10
|
+
var style = {
|
|
11
|
+
"echoButton": "externalLinkButton-module_echoButton__J9As0",
|
|
12
|
+
"echoButtonDisabled": "externalLinkButton-module_echoButtonDisabled__6kYFw",
|
|
13
|
+
"echoButtonRounded": "externalLinkButton-module_echoButtonRounded__moamZ",
|
|
14
|
+
"buttonIconAsImage": "externalLinkButton-module_buttonIconAsImage__JL6p6",
|
|
15
|
+
"toolTip": "externalLinkButton-module_toolTip__ywPoc",
|
|
16
|
+
"toolTipContainer": "externalLinkButton-module_toolTipContainer__n1YIl",
|
|
17
|
+
"scrimContainer": "externalLinkButton-module_scrimContainer__zE8L-",
|
|
18
|
+
"dialogWrapper": "externalLinkButton-module_dialogWrapper__IKpyE",
|
|
19
|
+
"stidIcon": "externalLinkButton-module_stidIcon__XoFaL"
|
|
20
|
+
};
|
|
21
|
+
styleInject_es["default"](css_248z);
|
|
22
|
+
exports["default"] = style;
|
|
@@ -54,7 +54,7 @@ var ProjectSelector = function ProjectSelector(_ref) {
|
|
|
54
54
|
var variant = _ref.variant,
|
|
55
55
|
maxCharacterCount = _ref.maxCharacterCount,
|
|
56
56
|
isDisabled = _ref.isDisabled;
|
|
57
|
-
var selectedProcosysProjectCode = EchoCore.useSelectedProcosysProject()
|
|
57
|
+
var selectedProcosysProjectCode = EchoCore.useSelectedProcosysProject();
|
|
58
58
|
|
|
59
59
|
var _EchoCore$useProcosys = EchoCore.useProcosysProjectsData(),
|
|
60
60
|
procosysProjectsHasError = _EchoCore$useProcosys.procosysProjectsHasError,
|
|
@@ -75,7 +75,14 @@ function RealTimePopoverButton(_ref) {
|
|
|
75
75
|
var _React$useState3 = React.useState([]),
|
|
76
76
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
77
77
|
imsFields = _React$useState4[0],
|
|
78
|
-
setImsFields = _React$useState4[1];
|
|
78
|
+
setImsFields = _React$useState4[1]; // used for getting current URL instCode param as we don't care about synced data.
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
var _React$useState5 = React.useState(function () {
|
|
82
|
+
return new URLSearchParams(window.location.search).get('instCode');
|
|
83
|
+
}),
|
|
84
|
+
_React$useState6 = _slicedToArray(_React$useState5, 1),
|
|
85
|
+
instCode = _React$useState6[0];
|
|
79
86
|
|
|
80
87
|
EchoUtils__default["default"].Hooks.useEffectAsync(function (signal) {
|
|
81
88
|
return _tslib.__awaiter(_this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
@@ -85,10 +92,18 @@ function RealTimePopoverButton(_ref) {
|
|
|
85
92
|
while (1) {
|
|
86
93
|
switch (_context.prev = _context.next) {
|
|
87
94
|
case 0:
|
|
88
|
-
|
|
89
|
-
|
|
95
|
+
if (instCode) {
|
|
96
|
+
_context.next = 2;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return _context.abrupt("return");
|
|
90
101
|
|
|
91
102
|
case 2:
|
|
103
|
+
_context.next = 4;
|
|
104
|
+
return echoSearch.Search.Tags.getTagDetailsAsync(tagNo, instCode);
|
|
105
|
+
|
|
106
|
+
case 4:
|
|
92
107
|
response = _context.sent;
|
|
93
108
|
|
|
94
109
|
if (response.value) {
|
|
@@ -113,23 +128,24 @@ function RealTimePopoverButton(_ref) {
|
|
|
113
128
|
}
|
|
114
129
|
});
|
|
115
130
|
|
|
116
|
-
case
|
|
131
|
+
case 7:
|
|
117
132
|
case "end":
|
|
118
133
|
return _context.stop();
|
|
119
134
|
}
|
|
120
135
|
}
|
|
121
136
|
}, _callee);
|
|
122
137
|
}));
|
|
123
|
-
}, [tagNo]);
|
|
138
|
+
}, [tagNo, instCode]);
|
|
124
139
|
|
|
125
|
-
if (!isVisible) {
|
|
140
|
+
if (!isVisible || !instCode) {
|
|
126
141
|
return null;
|
|
127
142
|
}
|
|
128
143
|
|
|
129
144
|
return /*#__PURE__*/React__default["default"].createElement(RealTimeContextButton.RealTimeContextButton, {
|
|
130
145
|
onOpen: onOpen
|
|
131
146
|
}, /*#__PURE__*/React__default["default"].createElement(RealTimeIMSDropdown.RealTimeIMSDropdown, {
|
|
132
|
-
imsFields: imsFields
|
|
147
|
+
imsFields: imsFields,
|
|
148
|
+
instCode: instCode
|
|
133
149
|
}));
|
|
134
150
|
}
|
|
135
151
|
|
|
@@ -35,7 +35,8 @@ function _interopDefaultLegacy(e) {
|
|
|
35
35
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
36
36
|
|
|
37
37
|
function RealTimeIMSDropdown(_ref) {
|
|
38
|
-
var imsFields = _ref.imsFields
|
|
38
|
+
var imsFields = _ref.imsFields,
|
|
39
|
+
instCode = _ref.instCode;
|
|
39
40
|
|
|
40
41
|
var _a;
|
|
41
42
|
|
|
@@ -74,7 +75,8 @@ function RealTimeIMSDropdown(_ref) {
|
|
|
74
75
|
},
|
|
75
76
|
selectedOption: (_a = selected === null || selected === void 0 ? void 0 : selected.description) !== null && _a !== void 0 ? _a : ''
|
|
76
77
|
}), selected && /*#__PURE__*/React__default["default"].createElement(RealTimeConnectorForIMSTag.RealTimeConnectorForIMSTag, {
|
|
77
|
-
ims: selected.value
|
|
78
|
+
ims: selected.value,
|
|
79
|
+
instCode: instCode
|
|
78
80
|
}));
|
|
79
81
|
}
|
|
80
82
|
|
package/dist/src/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.js
CHANGED
|
@@ -28,7 +28,7 @@ var IMSConnector_module = require('./IMSConnector.module.css.js');
|
|
|
28
28
|
|
|
29
29
|
require('@equinor/echo-utils');
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
require('@equinor/echo-core');
|
|
32
32
|
|
|
33
33
|
require('../../../../services/api/api-manager.js');
|
|
34
34
|
|
|
@@ -43,8 +43,8 @@ function _interopDefaultLegacy(e) {
|
|
|
43
43
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
44
44
|
|
|
45
45
|
function RealTimeConnectorForIMSTag(_ref) {
|
|
46
|
-
var ims = _ref.ims
|
|
47
|
-
|
|
46
|
+
var ims = _ref.ims,
|
|
47
|
+
instCode = _ref.instCode;
|
|
48
48
|
|
|
49
49
|
var _useRealTimeHub$useRe = useRealTimeHub.useRealTimeHub(ims, instCode),
|
|
50
50
|
metadata = _useRealTimeHub$useRe.metadata,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var useEchoHistory = require('./useEchoHistory.js');
|
|
8
|
+
|
|
9
|
+
var useTagDetails = require('./useTagDetails.js');
|
|
10
|
+
|
|
11
|
+
exports.useEchoHistory = useEchoHistory.useEchoHistory;
|
|
12
|
+
exports.useTagDetails = useTagDetails.useTagDetails;
|