@equinor/echo-framework 0.7.4 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/__tests__/realTimeDataHooks.test.d.ts +1 -0
  2. package/dist/__tests__/realTimeDataUtils.test.d.ts +1 -0
  3. package/dist/_virtual/_tslib.js +14 -0
  4. package/dist/components/errorBoundary/errorBoundary.d.ts +1 -0
  5. package/dist/components/index.d.ts +1 -0
  6. package/dist/components/panel/corePanelLeft.d.ts +4 -1
  7. package/dist/components/panel/corePanelRight.d.ts +4 -1
  8. package/dist/components/realTimeData/RealTimePopoverButton.d.ts +18 -0
  9. package/dist/components/realTimeData/components/IMSDropdown/RealTimeIMSDropdown.d.ts +7 -0
  10. package/dist/components/realTimeData/components/IMSDropdown/index.d.ts +1 -0
  11. package/dist/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.d.ts +6 -0
  12. package/dist/components/realTimeData/components/connectorForIMSTag/index.d.ts +1 -0
  13. package/dist/components/realTimeData/components/contextButton/RealTimeContextButton.d.ts +6 -0
  14. package/dist/components/realTimeData/components/contextButton/index.d.ts +1 -0
  15. package/dist/components/realTimeData/components/contextPopover/Popover.d.ts +6 -0
  16. package/dist/components/realTimeData/components/contextPopover/index.d.ts +1 -0
  17. package/dist/components/realTimeData/components/index.d.ts +4 -0
  18. package/dist/components/realTimeData/hooks/index.d.ts +3 -0
  19. package/dist/components/realTimeData/hooks/useRealTimeHub.d.ts +13 -0
  20. package/dist/components/realTimeData/hooks/useSignalR.d.ts +9 -0
  21. package/dist/components/realTimeData/hooks/useSignalRListener.d.ts +4 -0
  22. package/dist/components/realTimeData/index.d.ts +1 -0
  23. package/dist/coreApplication/EchoBarComponent.d.ts +6 -0
  24. package/dist/coreApplication/EchoContent.d.ts +1 -0
  25. package/dist/coreApplication/index.d.ts +1 -0
  26. package/dist/hooks/index.d.ts +1 -0
  27. package/dist/hooks/useIsLandscape.d.ts +1 -0
  28. package/dist/index.d.ts +2 -1
  29. package/dist/node_modules/@microsoft/signalr/dist/esm/AbortController.js +54 -0
  30. package/dist/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js +96 -0
  31. package/dist/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js +47 -0
  32. package/dist/node_modules/@microsoft/signalr/dist/esm/Errors.js +287 -0
  33. package/dist/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js +281 -0
  34. package/dist/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js +86 -0
  35. package/dist/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js +20 -0
  36. package/dist/node_modules/@microsoft/signalr/dist/esm/HttpClient.js +82 -0
  37. package/dist/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js +1167 -0
  38. package/dist/node_modules/@microsoft/signalr/dist/esm/HubConnection.js +1342 -0
  39. package/dist/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js +165 -0
  40. package/dist/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js +33 -0
  41. package/dist/node_modules/@microsoft/signalr/dist/esm/ILogger.js +37 -0
  42. package/dist/node_modules/@microsoft/signalr/dist/esm/ITransport.js +37 -0
  43. package/dist/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js +179 -0
  44. package/dist/node_modules/@microsoft/signalr/dist/esm/Loggers.js +35 -0
  45. package/dist/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js +444 -0
  46. package/dist/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js +235 -0
  47. package/dist/node_modules/@microsoft/signalr/dist/esm/Subject.js +99 -0
  48. package/dist/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js +45 -0
  49. package/dist/node_modules/@microsoft/signalr/dist/esm/Utils.js +433 -0
  50. package/dist/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js +263 -0
  51. package/dist/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js +133 -0
  52. package/dist/services/api/api-realtimedata.d.ts +2 -0
  53. package/dist/src/components/containers/layout.module.css.js +4 -1
  54. package/dist/src/components/containers/layouts.js +38 -8
  55. package/dist/src/components/panel/corePanelLeft.js +5 -2
  56. package/dist/src/components/panel/corePanelLeft.module.css.js +1 -1
  57. package/dist/src/components/panel/corePanelRight.js +4 -2
  58. package/dist/src/components/panel/corePanelRight.module.css.js +1 -1
  59. package/dist/src/components/projectSelector/ProcosysProjectSelector.js +1 -1
  60. package/dist/src/components/realTimeData/RealTimePopoverButton.js +136 -0
  61. package/dist/src/components/realTimeData/components/IMSDropdown/RealTimeIMSDropdown.js +81 -0
  62. package/dist/src/components/realTimeData/components/IMSDropdown/RealTimeIMSDropdown.module.css.js +15 -0
  63. package/dist/src/components/realTimeData/components/connectorForIMSTag/IMSConnector.module.css.js +16 -0
  64. package/dist/src/components/realTimeData/components/connectorForIMSTag/RealTimeConnectorForIMSTag.js +110 -0
  65. package/dist/src/components/realTimeData/components/contextButton/RealTimeContextButton.js +75 -0
  66. package/dist/src/components/realTimeData/components/contextButton/RealTimeContextButton.module.css.js +15 -0
  67. package/dist/src/components/realTimeData/components/contextPopover/Popover.js +37 -0
  68. package/dist/src/components/realTimeData/components/contextPopover/Popover.module.css.js +15 -0
  69. package/dist/src/components/realTimeData/hooks/useRealTimeHub.js +122 -0
  70. package/dist/src/components/realTimeData/hooks/useSignalR.js +159 -0
  71. package/dist/src/components/realTimeData/hooks/useSignalRListener.js +22 -0
  72. package/dist/src/coreApplication/EchoBarComponent.js +112 -0
  73. package/dist/src/coreApplication/EchoContent.js +7 -2
  74. package/dist/src/hooks/useIsLandscape.js +52 -0
  75. package/dist/src/index.js +9 -0
  76. package/dist/src/services/api/api-realtimedata.js +42 -0
  77. package/dist/types/realtimedata.d.ts +18 -0
  78. package/package.json +26 -23
@@ -0,0 +1,136 @@
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 React = require('react');
24
+
25
+ var echoSearch = require('@equinor/echo-search');
26
+
27
+ var EchoUtils = require('@equinor/echo-utils');
28
+
29
+ require('@equinor/eds-core-react');
30
+
31
+ require('@equinor/echo-components');
32
+
33
+ require('./components/connectorForIMSTag/IMSConnector.module.css.js');
34
+
35
+ require('@equinor/echo-core');
36
+
37
+ require('../../services/api/api-manager.js');
38
+
39
+ var RealTimeContextButton = require('./components/contextButton/RealTimeContextButton.js');
40
+
41
+ require('./components/contextPopover/Popover.module.css.js');
42
+
43
+ var RealTimeIMSDropdown = require('./components/IMSDropdown/RealTimeIMSDropdown.js');
44
+
45
+ function _interopDefaultLegacy(e) {
46
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
47
+ 'default': e
48
+ };
49
+ }
50
+
51
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
52
+
53
+ var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
54
+ /**
55
+ * ContextMenu button for displaying Real-Time-Data from connected sensors.
56
+ * @param {RTDProps} {
57
+ * tagNo: The tagNo to check for connected IMS tags.
58
+ * onOpen: Optional callback for whenever RTD popover is being opened
59
+ * }
60
+ * @return {*}
61
+ */
62
+
63
+
64
+ function RealTimePopoverButton(_ref) {
65
+ var _this = this;
66
+
67
+ var tagNo = _ref.tagNo,
68
+ onOpen = _ref.onOpen;
69
+
70
+ var _React$useState = React.useState(false),
71
+ _React$useState2 = _slicedToArray(_React$useState, 2),
72
+ isVisible = _React$useState2[0],
73
+ setIsVisible = _React$useState2[1];
74
+
75
+ var _React$useState3 = React.useState([]),
76
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
77
+ imsFields = _React$useState4[0],
78
+ setImsFields = _React$useState4[1];
79
+
80
+ EchoUtils__default["default"].Hooks.useEffectAsync(function (signal) {
81
+ return _tslib.__awaiter(_this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
82
+ var response, _imsFields;
83
+
84
+ return regeneratorRuntime.wrap(function _callee$(_context) {
85
+ while (1) {
86
+ switch (_context.prev = _context.next) {
87
+ case 0:
88
+ _context.next = 2;
89
+ return echoSearch.Search.Tags.getTagDetailsAsync(tagNo);
90
+
91
+ case 2:
92
+ response = _context.sent;
93
+
94
+ if (response.value) {
95
+ _imsFields = response.value.additionalFields.filter(function (field) {
96
+ return field.type === 'IMS';
97
+ });
98
+
99
+ if (!signal.aborted) {
100
+ // we have IMS sensors connected to this tag.
101
+ if (_imsFields.length > 0) {
102
+ setIsVisible(true);
103
+ }
104
+
105
+ setImsFields(_imsFields);
106
+ }
107
+ }
108
+
109
+ return _context.abrupt("return", function () {
110
+ if (!signal.aborted) {
111
+ setIsVisible(false);
112
+ setImsFields([]);
113
+ }
114
+ });
115
+
116
+ case 5:
117
+ case "end":
118
+ return _context.stop();
119
+ }
120
+ }
121
+ }, _callee);
122
+ }));
123
+ }, [tagNo]);
124
+
125
+ if (!isVisible) {
126
+ return null;
127
+ }
128
+
129
+ return /*#__PURE__*/React__default["default"].createElement(RealTimeContextButton.RealTimeContextButton, {
130
+ onOpen: onOpen
131
+ }, /*#__PURE__*/React__default["default"].createElement(RealTimeIMSDropdown.RealTimeIMSDropdown, {
132
+ imsFields: imsFields
133
+ }));
134
+ }
135
+
136
+ exports.RealTimePopoverButton = RealTimePopoverButton;
@@ -0,0 +1,81 @@
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 React = require('react');
22
+
23
+ var edsCoreReact = require('@equinor/eds-core-react');
24
+
25
+ var RealTimeConnectorForIMSTag = require('../connectorForIMSTag/RealTimeConnectorForIMSTag.js');
26
+
27
+ var RealTimeIMSDropdown_module = require('./RealTimeIMSDropdown.module.css.js');
28
+
29
+ function _interopDefaultLegacy(e) {
30
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
31
+ 'default': e
32
+ };
33
+ }
34
+
35
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
36
+
37
+ function RealTimeIMSDropdown(_ref) {
38
+ var imsFields = _ref.imsFields;
39
+
40
+ var _a;
41
+
42
+ var _React$useState = React.useState(undefined),
43
+ _React$useState2 = _slicedToArray(_React$useState, 2),
44
+ selected = _React$useState2[0],
45
+ setSelected = _React$useState2[1];
46
+
47
+ var items = React.useMemo(function () {
48
+ return imsFields.map(function (ims) {
49
+ return ims.description;
50
+ });
51
+ }, [imsFields]);
52
+
53
+ function onSelect(item) {
54
+ var selected;
55
+
56
+ if (item) {
57
+ selected = imsFields.find(function (ims) {
58
+ return ims.description === item;
59
+ });
60
+ }
61
+
62
+ setSelected(selected);
63
+ }
64
+
65
+ return /*#__PURE__*/React__default["default"].createElement("div", {
66
+ className: RealTimeIMSDropdown_module["default"].popoverContent
67
+ }, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.SingleSelect, {
68
+ className: RealTimeIMSDropdown_module["default"].select,
69
+ label: "Select sensor",
70
+ items: items,
71
+ handleSelectedItemChange: function handleSelectedItemChange(_ref2) {
72
+ var selectedItem = _ref2.selectedItem;
73
+ return onSelect(selectedItem);
74
+ },
75
+ selectedOption: (_a = selected === null || selected === void 0 ? void 0 : selected.description) !== null && _a !== void 0 ? _a : ''
76
+ }), selected && /*#__PURE__*/React__default["default"].createElement(RealTimeConnectorForIMSTag.RealTimeConnectorForIMSTag, {
77
+ ims: selected.value
78
+ }));
79
+ }
80
+
81
+ exports.RealTimeIMSDropdown = RealTimeIMSDropdown;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+
7
+ var styleInject_es = require('../../../../../node_modules/style-inject/dist/style-inject.es.js');
8
+
9
+ var css_248z = ".RealTimeIMSDropdown-module_popoverContent__9-qpz{align-items:center;background-color:#fff;border-color:grey;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);display:flex;flex-direction:column;margin-top:1rem;padding:1rem;width:100%}.RealTimeIMSDropdown-module_select__i9xTJ{width:100%}";
10
+ var style = {
11
+ "popoverContent": "RealTimeIMSDropdown-module_popoverContent__9-qpz",
12
+ "select": "RealTimeIMSDropdown-module_select__i9xTJ"
13
+ };
14
+ styleInject_es["default"](css_248z);
15
+ exports["default"] = style;
@@ -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 = ".IMSConnector-module_wrapper__CvKvm{align-items:center;display:grid;gap:1rem;grid-row:1fr;grid-template-columns:1fr 1fr;justify-items:center;margin-top:1rem}.IMSConnector-module_experimentalWarning__7Vv3z{grid-template-columns:auto 1fr;margin-top:0}.IMSConnector-module_message__w8j1M{margin-top:1rem;width:100%}";
10
+ var style = {
11
+ "wrapper": "IMSConnector-module_wrapper__CvKvm",
12
+ "experimentalWarning": "IMSConnector-module_experimentalWarning__7Vv3z IMSConnector-module_wrapper__CvKvm",
13
+ "message": "IMSConnector-module_message__w8j1M"
14
+ };
15
+ styleInject_es["default"](css_248z);
16
+ exports["default"] = style;
@@ -0,0 +1,110 @@
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 React = require('react');
22
+
23
+ var edsCoreReact = require('@equinor/eds-core-react');
24
+
25
+ var echoComponents = require('@equinor/echo-components');
26
+
27
+ var IMSConnector_module = require('./IMSConnector.module.css.js');
28
+
29
+ require('@equinor/echo-utils');
30
+
31
+ var EchoCore = require('@equinor/echo-core');
32
+
33
+ require('../../../../services/api/api-manager.js');
34
+
35
+ var useRealTimeHub = require('../../hooks/useRealTimeHub.js');
36
+
37
+ function _interopDefaultLegacy(e) {
38
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
39
+ 'default': e
40
+ };
41
+ }
42
+
43
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
44
+
45
+ function RealTimeConnectorForIMSTag(_ref) {
46
+ var ims = _ref.ims;
47
+ var instCode = EchoCore.useInstCode();
48
+
49
+ var _useRealTimeHub$useRe = useRealTimeHub.useRealTimeHub(ims, instCode),
50
+ metadata = _useRealTimeHub$useRe.metadata,
51
+ present = _useRealTimeHub$useRe.present,
52
+ status = _useRealTimeHub$useRe.status,
53
+ message = _useRealTimeHub$useRe.message,
54
+ loading = _useRealTimeHub$useRe.loading;
55
+
56
+ var _React$useMemo = React.useMemo(function () {
57
+ if (present && metadata) {
58
+ return [present.value, metadata.unit];
59
+ }
60
+
61
+ return [];
62
+ }, [metadata, present]),
63
+ _React$useMemo2 = _slicedToArray(_React$useMemo, 2),
64
+ value = _React$useMemo2[0],
65
+ unit = _React$useMemo2[1];
66
+
67
+ if (status === 'error') {
68
+ return /*#__PURE__*/React__default["default"].createElement(ErrorMessage, {
69
+ message: message
70
+ });
71
+ }
72
+
73
+ return /*#__PURE__*/React__default["default"].createElement("div", {
74
+ className: IMSConnector_module["default"].wrapper
75
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, loading ? /*#__PURE__*/React__default["default"].createElement(edsCoreReact.CircularProgress, null) : /*#__PURE__*/React__default["default"].createElement(SensorValueProps, {
76
+ value: value,
77
+ unit: unit
78
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
79
+ className: IMSConnector_module["default"].experimentalWarning
80
+ }, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
81
+ name: "warning_outlined",
82
+ color: echoComponents.themeConst.warningIcon
83
+ }), /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Typography, {
84
+ variant: "helper",
85
+ group: "input"
86
+ }, "Tag sensor mapping is experimental, do not use for operational purposes")));
87
+ }
88
+
89
+ function SensorValueProps(_ref2) {
90
+ var value = _ref2.value,
91
+ unit = _ref2.unit;
92
+
93
+ if (!value || !unit) {
94
+ return null;
95
+ }
96
+
97
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", null, value), " ", /*#__PURE__*/React__default["default"].createElement("b", null, unit));
98
+ }
99
+
100
+ function ErrorMessage(_ref3) {
101
+ var message = _ref3.message;
102
+ return /*#__PURE__*/React__default["default"].createElement("div", {
103
+ className: IMSConnector_module["default"].message
104
+ }, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Typography, {
105
+ variant: "body_short",
106
+ color: echoComponents.themeConst.voided
107
+ }, message !== null && message !== void 0 ? message : 'Something went wrong with RTD connection.'));
108
+ }
109
+
110
+ exports.RealTimeConnectorForIMSTag = RealTimeConnectorForIMSTag;
@@ -0,0 +1,75 @@
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 React = require('react');
22
+
23
+ var edsCoreReact = require('@equinor/eds-core-react');
24
+
25
+ var echoComponents = require('@equinor/echo-components');
26
+
27
+ var RealTimeContextButton_module = require('./RealTimeContextButton.module.css.js');
28
+
29
+ var Popover = require('../contextPopover/Popover.js');
30
+
31
+ function _interopDefaultLegacy(e) {
32
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
33
+ 'default': e
34
+ };
35
+ }
36
+
37
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
38
+
39
+ var RealTimeContextButton = function RealTimeContextButton(_ref) {
40
+ var onOpen = _ref.onOpen,
41
+ children = _ref.children;
42
+
43
+ var _React$useState = React.useState(false),
44
+ _React$useState2 = _slicedToArray(_React$useState, 2),
45
+ expanded = _React$useState2[0],
46
+ setExpanded = _React$useState2[1];
47
+
48
+ function handleClick() {
49
+ var nextState = !expanded;
50
+
51
+ if (nextState) {
52
+ onOpen && onOpen();
53
+ }
54
+
55
+ setExpanded(nextState);
56
+ }
57
+
58
+ return /*#__PURE__*/React__default["default"].createElement("div", {
59
+ className: RealTimeContextButton_module["default"].wrapper
60
+ }, /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Button, {
61
+ className: RealTimeContextButton_module["default"].button,
62
+ variant: "ghost_icon",
63
+ onClick: handleClick
64
+ }, expanded ? /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
65
+ name: "close",
66
+ title: "Close Real Time Data",
67
+ color: echoComponents.themeConst.asBuilt
68
+ }) : /*#__PURE__*/React__default["default"].createElement(edsCoreReact.Icon, {
69
+ name: "timeline",
70
+ title: "Real Time Data",
71
+ color: echoComponents.themeConst.asBuilt
72
+ })), expanded && /*#__PURE__*/React__default["default"].createElement(Popover.ContextPopover, null, children));
73
+ };
74
+
75
+ exports.RealTimeContextButton = RealTimeContextButton;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+
7
+ var styleInject_es = require('../../../../../node_modules/style-inject/dist/style-inject.es.js');
8
+
9
+ var css_248z = ".RealTimeContextButton-module_wrapper__2hzo4{margin-left:4px}.RealTimeContextButton-module_button__TxZmh{background-color:var(--white)!important;border:3px solid var(--white)!important;border-radius:10rem;box-shadow:0 4px 4px rgba(0,0,0,.25);box-sizing:border-box;height:46px!important;width:46px!important}.RealTimeContextButton-module_button__TxZmh:hover{background:#deedee!important}";
10
+ var style = {
11
+ "wrapper": "RealTimeContextButton-module_wrapper__2hzo4",
12
+ "button": "RealTimeContextButton-module_button__TxZmh"
13
+ };
14
+ styleInject_es["default"](css_248z);
15
+ exports["default"] = style;
@@ -0,0 +1,37 @@
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 Popover_module = require('./Popover.module.css.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
+ * Generic Popover placement component that can take in optional background color
22
+ */
23
+
24
+
25
+ var ContextPopover = function ContextPopover(_ref) {
26
+ var children = _ref.children;
27
+ return /*#__PURE__*/React__default["default"].createElement("div", {
28
+ className: Popover_module["default"].wrapper,
29
+ onClick: function onClick(e) {
30
+ return e.stopPropagation();
31
+ }
32
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
33
+ className: Popover_module["default"].optionsPopover
34
+ }, children));
35
+ };
36
+
37
+ exports.ContextPopover = ContextPopover;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+
7
+ var styleInject_es = require('../../../../../node_modules/style-inject/dist/style-inject.es.js');
8
+
9
+ var css_248z = ".Popover-module_wrapper__6HoPX{display:flex;flex-direction:column;left:0;position:absolute;right:0;z-index:10}.Popover-module_optionsPopover__Qp7UL{display:flex}@media screen and (max-width:440px){.Popover-module_optionsPopover__Qp7UL{max-width:270px}.Popover-module_wrapper__6HoPX{left:0}.Popover-module_optionsPopover__Qp7UL{align-self:flex-start}}";
10
+ var styles = {
11
+ "wrapper": "Popover-module_wrapper__6HoPX",
12
+ "optionsPopover": "Popover-module_optionsPopover__Qp7UL"
13
+ };
14
+ styleInject_es["default"](css_248z);
15
+ exports["default"] = styles;
@@ -0,0 +1,122 @@
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 React = require('react');
24
+
25
+ var EchoUtils = require('@equinor/echo-utils');
26
+
27
+ var EchoCore = require('@equinor/echo-core');
28
+
29
+ var useSignalR = require('./useSignalR.js');
30
+
31
+ var useSignalRListener = require('./useSignalRListener.js');
32
+
33
+ var apiRealtimedata = require('../../../services/api/api-realtimedata.js');
34
+
35
+ function _interopDefaultLegacy(e) {
36
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
37
+ 'default': e
38
+ };
39
+ }
40
+
41
+ var EchoUtils__default = /*#__PURE__*/_interopDefaultLegacy(EchoUtils);
42
+
43
+ var EchoCore__default = /*#__PURE__*/_interopDefaultLegacy(EchoCore);
44
+
45
+ function useRealTimeHub(id, instCode) {
46
+ var _this = this;
47
+
48
+ var _a = useSignalR.useSignalR('/real-time-data'),
49
+ connection = _a.connection,
50
+ loading = _a.loading,
51
+ rest = _tslib.__rest(_a, ["connection", "loading"]);
52
+
53
+ var _React$useState = React.useState(),
54
+ _React$useState2 = _slicedToArray(_React$useState, 2),
55
+ metadata = _React$useState2[0],
56
+ setMetadata = _React$useState2[1];
57
+
58
+ var _React$useState3 = React.useState(),
59
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
60
+ present = _React$useState4[0],
61
+ setPresent = _React$useState4[1];
62
+
63
+ useSignalRListener.useSignalRListener(connection, 'realtimedata', function (timeData) {
64
+ var _timeData$dataPoints = _slicedToArray(timeData.dataPoints, 1),
65
+ present = _timeData$dataPoints[0];
66
+
67
+ setPresent(present);
68
+ }); // SignalR connection starter + listen to timeseries data
69
+
70
+ EchoUtils__default["default"].Hooks.useEffectAsync(function () {
71
+ return _tslib.__awaiter(_this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
72
+ var timeseries, timeseriesId, accessToken;
73
+ return regeneratorRuntime.wrap(function _callee$(_context) {
74
+ while (1) {
75
+ switch (_context.prev = _context.next) {
76
+ case 0:
77
+ if (!(!instCode || !connection)) {
78
+ _context.next = 2;
79
+ break;
80
+ }
81
+
82
+ return _context.abrupt("return");
83
+
84
+ case 2:
85
+ _context.next = 4;
86
+ return apiRealtimedata.getTimeseriesByName(id, instCode);
87
+
88
+ case 4:
89
+ timeseries = _context.sent;
90
+
91
+ if (!timeseries) {
92
+ _context.next = 13;
93
+ break;
94
+ }
95
+
96
+ setMetadata(timeseries);
97
+ timeseriesId = timeseries.id;
98
+ _context.next = 10;
99
+ return EchoCore__default["default"].EchoClient.getAccessToken();
100
+
101
+ case 10:
102
+ accessToken = _context.sent;
103
+ _context.next = 13;
104
+ return connection.send('subscribe', accessToken, timeseriesId);
105
+
106
+ case 13:
107
+ case "end":
108
+ return _context.stop();
109
+ }
110
+ }
111
+ }, _callee);
112
+ }));
113
+ }, [connection, id, instCode]);
114
+ return Object.assign({
115
+ metadata: metadata,
116
+ present: present,
117
+ connection: connection,
118
+ loading: loading || !present
119
+ }, rest);
120
+ }
121
+
122
+ exports.useRealTimeHub = useRealTimeHub;