@kando-env/kando-ui 1.2.450 → 1.2.453

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.
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _useQueryURL = _interopRequireDefault(require("../../hooks/useQueryURL"));
14
+ var _utils = require("./utils");
15
+ var _reactRedux = require("react-redux");
16
+ var _AutoFitTree = _interopRequireDefault(require("./AutoFitTree"));
17
+ var _reactBootstrap = require("react-bootstrap");
18
+ var _Loader = require("../../pages/DashboardMap/Loader");
19
+ var _Button = _interopRequireDefault(require("../Button/Button"));
20
+ var _RightPanel = _interopRequireDefault(require("../../pages/OperationsPage/RightPanel"));
21
+ var _urls = require("../../utilities/urls");
22
+ var _useApiWithDashboardQuery = require("../../hooks/useApiWithDashboardQuery");
23
+ var _Select = require("../../components/CustomInputs/Select/Select");
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ var HierarchyGraph = function HierarchyGraph() {
27
+ var searchQuery = (0, _useQueryURL.default)();
28
+ var ReduxState = (0, _reactRedux.useSelector)(function (state) {
29
+ return state;
30
+ });
31
+ // const [orientation, setOrientation] = useState<'horizontal' | 'vertical'>(
32
+ // 'vertical',
33
+ // );
34
+ var _useState = (0, _react.useState)(12),
35
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
36
+ depth = _useState2[0],
37
+ setDepth = _useState2[1];
38
+ var _useState3 = (0, _react.useState)('pie'),
39
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
40
+ nodeType = _useState4[0],
41
+ setNodeType = _useState4[1];
42
+ var _useState5 = (0, _react.useState)(null),
43
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
44
+ selectedPoint = _useState6[0],
45
+ setSelectedPoint = _useState6[1];
46
+ var _useState7 = (0, _react.useState)(false),
47
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
48
+ showRightPanel = _useState8[0],
49
+ setShowRightPanel = _useState8[1];
50
+ var isGraphTab = searchQuery.get('view') === 'graph';
51
+ var points_data = ReduxState.points_data,
52
+ edges_data = ReduxState.edges_data,
53
+ waterAuthorityName = ReduxState.global_data.waterAuthorityName;
54
+ var onNodeClick = function onNodeClick(nodeData) {
55
+ setSelectedPoint(points_data.items.find(function (p) {
56
+ return p.id === nodeData.attributes.point_id;
57
+ }));
58
+ setShowRightPanel(!showRightPanel);
59
+ };
60
+
61
+ // stable endpoints/params ✅
62
+ var factoriesEndPoint = (0, _react.useMemo)(function () {
63
+ return (0, _urls.urls)().dashboard.Utility.factories;
64
+ }, []);
65
+ var paramsAll = (0, _react.useMemo)(function () {
66
+ return {
67
+ type: 'All'
68
+ };
69
+ }, []);
70
+
71
+ // fetches
72
+ var _useApiWithDashboardQ = (0, _useApiWithDashboardQuery.useApiWithDashboardQuery)(factoriesEndPoint, paramsAll),
73
+ _useApiWithDashboardQ2 = (0, _slicedToArray2.default)(_useApiWithDashboardQ, 3),
74
+ responseSites = _useApiWithDashboardQ2[0],
75
+ isLoadingSites = _useApiWithDashboardQ2[1],
76
+ errorSites = _useApiWithDashboardQ2[2];
77
+
78
+ // 1) Build a pollution map from both responses (no state; pure memo)
79
+ var pollutionBySiteId = (0, _react.useMemo)(function () {
80
+ var m = new Map();
81
+ if (responseSites === null || responseSites === void 0 ? void 0 : responseSites.data) {
82
+ var _iterator = (0, _createForOfIteratorHelper2.default)(responseSites.data),
83
+ _step;
84
+ try {
85
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
86
+ var _step$value = _step.value,
87
+ site_id = _step$value.site_id,
88
+ pollution = _step$value.pollution;
89
+ if (pollution === null || pollution === void 0 ? void 0 : pollution.type_distribution) m.set(site_id, pollution.type_distribution);
90
+ }
91
+ } catch (err) {
92
+ _iterator.e(err);
93
+ } finally {
94
+ _iterator.f();
95
+ }
96
+ }
97
+ return m;
98
+ }, [responseSites === null || responseSites === void 0 ? void 0 : responseSites.data]);
99
+
100
+ // 2) Create a SAFE copy of point_map_data with pollution merged in (no mutations)
101
+ var decoratedPointsById = (0, _react.useMemo)(function () {
102
+ // mapById(points_data.items) returns a plain object keyed by id; clone it
103
+ var base = (0, _utils.mapById)(points_data.items);
104
+ var copy = {};
105
+ for (var _i = 0, _Object$keys = Object.keys(base); _i < _Object$keys.length; _i++) {
106
+ var id = _Object$keys[_i];
107
+ var numId = Number(id);
108
+ var pollution = pollutionBySiteId.get(numId);
109
+ // shallow clone each point; add pollution if exists
110
+ copy[numId] = pollution ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base[numId]), {}, {
111
+ pollution: pollution
112
+ }) : (0, _objectSpread2.default)({}, base[numId]);
113
+ }
114
+ return copy;
115
+ }, [points_data.items, pollutionBySiteId]);
116
+
117
+ // 3) Compute edgesWithDevice safely/memoized (no extra renders)
118
+ var edgesWithDevice = (0, _react.useMemo)(function () {
119
+ var pointsWithDevice = (0, _utils.mapById)(points_data.items.filter(function (p) {
120
+ return p.has_device;
121
+ }));
122
+ return edges_data.items.filter(function (edge) {
123
+ return pointsWithDevice[edge.source_point_id] || edge.descendants_has_device;
124
+ });
125
+ }, [points_data.items, edges_data.items]);
126
+
127
+ // 4) Build the tree ONLY when data is ready; keep referential stability
128
+ var treeData = (0, _react.useMemo)(function () {
129
+ if (isLoadingSites || errorSites) return null;
130
+ return (0, _utils.buildTree)(edgesWithDevice, decoratedPointsById, waterAuthorityName);
131
+ }, [edgesWithDevice, decoratedPointsById, waterAuthorityName, isLoadingSites, errorSites]);
132
+ if (!isGraphTab) {
133
+ return null;
134
+ }
135
+ var nodeTypeOptions = [{
136
+ label: 'Pie Chart',
137
+ value: 'pie'
138
+ }, {
139
+ label: 'Bar',
140
+ value: 'bar'
141
+ }];
142
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
143
+ style: {
144
+ marginTop: '10px',
145
+ marginInlineStart: '10px',
146
+ display: 'flex',
147
+ gap: 8,
148
+ zIndex: 10
149
+ }
150
+ }, /*#__PURE__*/_react.default.createElement(_Button.default, {
151
+ onClick: function onClick() {
152
+ return setDepth(1);
153
+ }
154
+ }, 'Collapse All'), /*#__PURE__*/_react.default.createElement(_Button.default, {
155
+ onClick: function onClick() {
156
+ return setDepth(12);
157
+ }
158
+ }, 'Expand All'), /*#__PURE__*/_react.default.createElement(_Select.Select, {
159
+ options: nodeTypeOptions,
160
+ value: nodeTypeOptions.find(function (option) {
161
+ return option.value === nodeType;
162
+ }),
163
+ setValue: function setValue(selected) {
164
+ return setNodeType(selected.value);
165
+ },
166
+ menuWidth: 120
167
+ })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
168
+ fluid: true,
169
+ className: "p-0",
170
+ style: {
171
+ overflow: 'hidden'
172
+ }
173
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
174
+ className: "map-column",
175
+ sm: 12
176
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
177
+ style: {
178
+ height: '85vh'
179
+ }
180
+ }, edges_data.isFetching || points_data.isFetching || !treeData || isLoadingSites ? /*#__PURE__*/_react.default.createElement(_Loader.Loader, null) : /*#__PURE__*/_react.default.createElement(_AutoFitTree.default, {
181
+ initialDepth: depth,
182
+ data: treeData,
183
+ nodeType: nodeType,
184
+ onNodeClick: onNodeClick
185
+ }), /*#__PURE__*/_react.default.createElement(_RightPanel.default, {
186
+ className: "right-panel ".concat(showRightPanel ? 'open' : ''),
187
+ point: selectedPoint,
188
+ onClose: function onClose() {
189
+ setSelectedPoint(null);
190
+ setShowRightPanel(false);
191
+ }
192
+ })))));
193
+ };
194
+ var _default = HierarchyGraph;
195
+ exports.default = _default;
196
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX0J1dHRvbiIsIl9SaWdodFBhbmVsIiwiX3VybHMiLCJfdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiX1NlbGVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiSGllcmFyY2h5R3JhcGgiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkZXB0aCIsInNldERlcHRoIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJub2RlVHlwZSIsInNldE5vZGVUeXBlIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2hvd1JpZ2h0UGFuZWwiLCJzZXRTaG93UmlnaHRQYW5lbCIsImlzR3JhcGhUYWIiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJnbG9iYWxfZGF0YSIsIm9uTm9kZUNsaWNrIiwibm9kZURhdGEiLCJpdGVtcyIsImZpbmQiLCJwIiwiaWQiLCJhdHRyaWJ1dGVzIiwicG9pbnRfaWQiLCJmYWN0b3JpZXNFbmRQb2ludCIsInVzZU1lbW8iLCJ1cmxzIiwiZGFzaGJvYXJkIiwiVXRpbGl0eSIsImZhY3RvcmllcyIsInBhcmFtc0FsbCIsInR5cGUiLCJfdXNlQXBpV2l0aERhc2hib2FyZFEiLCJ1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkiLCJfdXNlQXBpV2l0aERhc2hib2FyZFEyIiwicmVzcG9uc2VTaXRlcyIsImlzTG9hZGluZ1NpdGVzIiwiZXJyb3JTaXRlcyIsInBvbGx1dGlvbkJ5U2l0ZUlkIiwibSIsIk1hcCIsImRhdGEiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcjIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsIl9zdGVwJHZhbHVlIiwidmFsdWUiLCJzaXRlX2lkIiwicG9sbHV0aW9uIiwidHlwZV9kaXN0cmlidXRpb24iLCJlcnIiLCJlIiwiZiIsImRlY29yYXRlZFBvaW50c0J5SWQiLCJiYXNlIiwibWFwQnlJZCIsImNvcHkiLCJfaSIsIl9PYmplY3Qka2V5cyIsImtleXMiLCJsZW5ndGgiLCJudW1JZCIsIk51bWJlciIsIl9vYmplY3RTcHJlYWQyIiwiZWRnZXNXaXRoRGV2aWNlIiwicG9pbnRzV2l0aERldmljZSIsImZpbHRlciIsImhhc19kZXZpY2UiLCJlZGdlIiwic291cmNlX3BvaW50X2lkIiwiZGVzY2VuZGFudHNfaGFzX2RldmljZSIsInRyZWVEYXRhIiwiYnVpbGRUcmVlIiwibm9kZVR5cGVPcHRpb25zIiwibGFiZWwiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJtYXJnaW5Ub3AiLCJtYXJnaW5JbmxpbmVTdGFydCIsImRpc3BsYXkiLCJnYXAiLCJ6SW5kZXgiLCJvbkNsaWNrIiwiU2VsZWN0Iiwib3B0aW9ucyIsIm9wdGlvbiIsInNldFZhbHVlIiwic2VsZWN0ZWQiLCJtZW51V2lkdGgiLCJDb250YWluZXIiLCJmbHVpZCIsImNsYXNzTmFtZSIsIm92ZXJmbG93IiwiUm93Iiwic20iLCJDb2wiLCJoZWlnaHQiLCJpc0ZldGNoaW5nIiwiTG9hZGVyIiwiaW5pdGlhbERlcHRoIiwiY29uY2F0IiwicG9pbnQiLCJvbkNsb3NlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9IaWVyYXJjaHlHcmFwaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBidWlsZFRyZWUsIG1hcEJ5SWQsIE5vZGVUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEF1dG9GaXRUcmVlIGZyb20gJy4vQXV0b0ZpdFRyZWUnO1xuaW1wb3J0IHsgQ29udGFpbmVyLCBSb3csIENvbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9wYWdlcy9EYXNoYm9hcmRNYXAvTG9hZGVyJztcbmltcG9ydCBCdXR0b24gZnJvbSAnLi4vQnV0dG9uL0J1dHRvbic7XG5pbXBvcnQgUmlnaHRQYW5lbCBmcm9tICcuLi8uLi9wYWdlcy9PcGVyYXRpb25zUGFnZS9SaWdodFBhbmVsJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IHsgRmFjdG9yaWVzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL2ZhY3Rvcmllc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0N1c3RvbUlucHV0cy9TZWxlY3QvU2VsZWN0JztcblxuY29uc3QgSGllcmFyY2h5R3JhcGggPSAoKSA9PiB7XG4gIGNvbnN0IHNlYXJjaFF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICAvLyBjb25zdCBbb3JpZW50YXRpb24sIHNldE9yaWVudGF0aW9uXSA9IHVzZVN0YXRlPCdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc+KFxuICAvLyAgICd2ZXJ0aWNhbCcsXG4gIC8vICk7XG4gIGNvbnN0IFtkZXB0aCwgc2V0RGVwdGhdID0gdXNlU3RhdGU8bnVtYmVyPigxMik7XG4gIGNvbnN0IFtub2RlVHlwZSwgc2V0Tm9kZVR5cGVdID0gdXNlU3RhdGU8Tm9kZVR5cGU+KCdwaWUnKTtcbiAgY29uc3QgW3NlbGVjdGVkUG9pbnQsIHNldFNlbGVjdGVkUG9pbnRdID0gdXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IFtzaG93UmlnaHRQYW5lbCwgc2V0U2hvd1JpZ2h0UGFuZWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBpc0dyYXBoVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdncmFwaCc7XG4gIGNvbnN0IHtcbiAgICBwb2ludHNfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIGdsb2JhbF9kYXRhOiB7IHdhdGVyQXV0aG9yaXR5TmFtZSB9LFxuICB9ID0gUmVkdXhTdGF0ZTtcblxuICBjb25zdCBvbk5vZGVDbGljayA9IChub2RlRGF0YSkgPT4ge1xuICAgIHNldFNlbGVjdGVkUG9pbnQoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5maW5kKChwKSA9PiBwLmlkID09PSBub2RlRGF0YS5hdHRyaWJ1dGVzLnBvaW50X2lkKSxcbiAgICApO1xuICAgIHNldFNob3dSaWdodFBhbmVsKCFzaG93UmlnaHRQYW5lbCk7XG4gIH07XG5cbiAgLy8gc3RhYmxlIGVuZHBvaW50cy9wYXJhbXMg4pyFXG4gIGNvbnN0IGZhY3Rvcmllc0VuZFBvaW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PiB1cmxzKCkuZGFzaGJvYXJkLlV0aWxpdHkuZmFjdG9yaWVzLFxuICAgIFtdLFxuICApO1xuXG4gIGNvbnN0IHBhcmFtc0FsbCA9IHVzZU1lbW8oKCkgPT4gKHsgdHlwZTogJ0FsbCcgfSksIFtdKTtcblxuICAvLyBmZXRjaGVzXG4gIGNvbnN0IFtyZXNwb25zZVNpdGVzLCBpc0xvYWRpbmdTaXRlcywgZXJyb3JTaXRlc10gPVxuICAgIHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeTxGYWN0b3JpZXNSZXNwb25zZT4oZmFjdG9yaWVzRW5kUG9pbnQsIHBhcmFtc0FsbCk7XG5cbiAgLy8gMSkgQnVpbGQgYSBwb2xsdXRpb24gbWFwIGZyb20gYm90aCByZXNwb25zZXMgKG5vIHN0YXRlOyBwdXJlIG1lbW8pXG4gIGNvbnN0IHBvbGx1dGlvbkJ5U2l0ZUlkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgbSA9IG5ldyBNYXA8bnVtYmVyLCBhbnk+KCk7XG4gICAgaWYgKHJlc3BvbnNlU2l0ZXM/LmRhdGEpIHtcbiAgICAgIGZvciAoY29uc3QgeyBzaXRlX2lkLCBwb2xsdXRpb24gfSBvZiByZXNwb25zZVNpdGVzLmRhdGEpIHtcbiAgICAgICAgaWYgKHBvbGx1dGlvbj8udHlwZV9kaXN0cmlidXRpb24pXG4gICAgICAgICAgbS5zZXQoc2l0ZV9pZCwgcG9sbHV0aW9uLnR5cGVfZGlzdHJpYnV0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG07XG4gIH0sIFtyZXNwb25zZVNpdGVzPy5kYXRhXSk7XG5cbiAgLy8gMikgQ3JlYXRlIGEgU0FGRSBjb3B5IG9mIHBvaW50X21hcF9kYXRhIHdpdGggcG9sbHV0aW9uIG1lcmdlZCBpbiAobm8gbXV0YXRpb25zKVxuICBjb25zdCBkZWNvcmF0ZWRQb2ludHNCeUlkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgLy8gbWFwQnlJZChwb2ludHNfZGF0YS5pdGVtcykgcmV0dXJucyBhIHBsYWluIG9iamVjdCBrZXllZCBieSBpZDsgY2xvbmUgaXRcbiAgICBjb25zdCBiYXNlID0gbWFwQnlJZChwb2ludHNfZGF0YS5pdGVtcyk7XG4gICAgY29uc3QgY29weTogUmVjb3JkPG51bWJlciwgYW55PiA9IHt9O1xuICAgIGZvciAoY29uc3QgaWQgb2YgT2JqZWN0LmtleXMoYmFzZSkpIHtcbiAgICAgIGNvbnN0IG51bUlkID0gTnVtYmVyKGlkKTtcbiAgICAgIGNvbnN0IHBvbGx1dGlvbiA9IHBvbGx1dGlvbkJ5U2l0ZUlkLmdldChudW1JZCk7XG4gICAgICAvLyBzaGFsbG93IGNsb25lIGVhY2ggcG9pbnQ7IGFkZCBwb2xsdXRpb24gaWYgZXhpc3RzXG4gICAgICBjb3B5W251bUlkXSA9IHBvbGx1dGlvblxuICAgICAgICA/IHsgLi4uYmFzZVtudW1JZF0sIHBvbGx1dGlvbiB9XG4gICAgICAgIDogeyAuLi5iYXNlW251bUlkXSB9O1xuICAgIH1cbiAgICByZXR1cm4gY29weTtcbiAgfSwgW3BvaW50c19kYXRhLml0ZW1zLCBwb2xsdXRpb25CeVNpdGVJZF0pO1xuXG4gIC8vIDMpIENvbXB1dGUgZWRnZXNXaXRoRGV2aWNlIHNhZmVseS9tZW1vaXplZCAobm8gZXh0cmEgcmVuZGVycylcbiAgY29uc3QgZWRnZXNXaXRoRGV2aWNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcG9pbnRzV2l0aERldmljZSA9IG1hcEJ5SWQoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5maWx0ZXIoKHApID0+IHAuaGFzX2RldmljZSksXG4gICAgKTtcbiAgICByZXR1cm4gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgICAoZWRnZSkgPT5cbiAgICAgICAgcG9pbnRzV2l0aERldmljZVtlZGdlLnNvdXJjZV9wb2ludF9pZF0gfHwgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlLFxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgZWRnZXNfZGF0YS5pdGVtc10pO1xuXG4gIC8vIDQpIEJ1aWxkIHRoZSB0cmVlIE9OTFkgd2hlbiBkYXRhIGlzIHJlYWR5OyBrZWVwIHJlZmVyZW50aWFsIHN0YWJpbGl0eVxuICBjb25zdCB0cmVlRGF0YSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmdTaXRlcyB8fCBlcnJvclNpdGVzKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBidWlsZFRyZWUoZWRnZXNXaXRoRGV2aWNlLCBkZWNvcmF0ZWRQb2ludHNCeUlkLCB3YXRlckF1dGhvcml0eU5hbWUpO1xuICB9LCBbXG4gICAgZWRnZXNXaXRoRGV2aWNlLFxuICAgIGRlY29yYXRlZFBvaW50c0J5SWQsXG4gICAgd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIGlzTG9hZGluZ1NpdGVzLFxuICAgIGVycm9yU2l0ZXMsXG4gIF0pO1xuXG4gIGlmICghaXNHcmFwaFRhYikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgbm9kZVR5cGVPcHRpb25zID0gW1xuICAgIHsgbGFiZWw6ICdQaWUgQ2hhcnQnLCB2YWx1ZTogJ3BpZScgfSxcbiAgICB7IGxhYmVsOiAnQmFyJywgdmFsdWU6ICdiYXInIH0sXG4gIF07XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Ub3A6ICcxMHB4JyxcbiAgICAgICAgICBtYXJnaW5JbmxpbmVTdGFydDogJzEwcHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBnYXA6IDgsXG4gICAgICAgICAgekluZGV4OiAxMCxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXREZXB0aCgxKX0+eydDb2xsYXBzZSBBbGwnfTwvQnV0dG9uPlxuICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldERlcHRoKDEyKX0+eydFeHBhbmQgQWxsJ308L0J1dHRvbj5cbiAgICAgICAgey8qPEJ1dHRvbiovfVxuICAgICAgICB7LyogIG9uQ2xpY2s9eygpID0+Ki99XG4gICAgICAgIHsvKiAgICBzZXRPcmllbnRhdGlvbigocHJldikgPT4qL31cbiAgICAgICAgey8qICAgICAgcHJldiA9PT0gJ2hvcml6b250YWwnID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJywqL31cbiAgICAgICAgey8qICAgICkqL31cbiAgICAgICAgey8qICB9Ki99XG4gICAgICAgIHsvKj4qL31cbiAgICAgICAgey8qICB7J1RvZ2dsZSBPcmllbnRhdGlvbid9Ki99XG4gICAgICAgIHsvKjwvQnV0dG9uPiovfVxuICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgb3B0aW9ucz17bm9kZVR5cGVPcHRpb25zfVxuICAgICAgICAgIHZhbHVlPXtub2RlVHlwZU9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IG5vZGVUeXBlKX1cbiAgICAgICAgICBzZXRWYWx1ZT17KHNlbGVjdGVkKSA9PiBzZXROb2RlVHlwZShzZWxlY3RlZC52YWx1ZSl9XG4gICAgICAgICAgbWVudVdpZHRoPXsxMjB9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPENvbnRhaW5lciBmbHVpZCBjbGFzc05hbWU9XCJwLTBcIiBzdHlsZT17eyBvdmVyZmxvdzogJ2hpZGRlbicgfX0+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHNtPXsxMn0+XG4gICAgICAgICAgPENvbCBzdHlsZT17eyBoZWlnaHQ6ICc4NXZoJyB9fT5cbiAgICAgICAgICAgIHtlZGdlc19kYXRhLmlzRmV0Y2hpbmcgfHxcbiAgICAgICAgICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcgfHxcbiAgICAgICAgICAgICF0cmVlRGF0YSB8fFxuICAgICAgICAgICAgaXNMb2FkaW5nU2l0ZXMgPyAoXG4gICAgICAgICAgICAgIDxMb2FkZXIgLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxBdXRvRml0VHJlZVxuICAgICAgICAgICAgICAgIGluaXRpYWxEZXB0aD17ZGVwdGh9XG4gICAgICAgICAgICAgICAgZGF0YT17dHJlZURhdGF9XG4gICAgICAgICAgICAgICAgbm9kZVR5cGU9e25vZGVUeXBlfVxuICAgICAgICAgICAgICAgIG9uTm9kZUNsaWNrPXtvbk5vZGVDbGlja31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8UmlnaHRQYW5lbFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2ByaWdodC1wYW5lbCAke3Nob3dSaWdodFBhbmVsID8gJ29wZW4nIDogJyd9YH1cbiAgICAgICAgICAgICAgcG9pbnQ9e3NlbGVjdGVkUG9pbnR9XG4gICAgICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZFBvaW50KG51bGwpO1xuICAgICAgICAgICAgICAgIHNldFNob3dSaWdodFBhbmVsKGZhbHNlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgSGllcmFyY2h5R3JhcGg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssWUFB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
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _PointUtils = require("../../Widgets/Map/points/PointUtils");
10
+ var _StyledLink = require("components/Links/StyledLink/StyledLink");
11
+ var _TopNavbar = require("../../assets/icons/TopNavbar");
12
+ var LeafSign = function LeafSign(_ref) {
13
+ var siteType = _ref.siteType,
14
+ point_id = _ref.point_id,
15
+ _ref$color = _ref.color,
16
+ color = _ref$color === void 0 ? '#444' : _ref$color;
17
+ var isFactory = (0, _PointUtils.isFactoryType)(siteType);
18
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("line", {
19
+ x1: "0",
20
+ y1: "83",
21
+ x2: "0",
22
+ y2: "105",
23
+ stroke: color,
24
+ strokeWidth: "4"
25
+ }), isFactory ? /*#__PURE__*/_react.default.createElement("line", {
26
+ x1: "-40",
27
+ y1: "105",
28
+ x2: "40",
29
+ y2: "105",
30
+ stroke: color,
31
+ strokeWidth: "4"
32
+ }) : /*#__PURE__*/_react.default.createElement(_StyledLink.StyledLink, {
33
+ target: "_blank",
34
+ updateParams: {
35
+ view: 'map'
36
+ },
37
+ to: "/dashboard_v2/site/".concat(point_id),
38
+ onClick: function onClick(e) {
39
+ return e.stopPropagation();
40
+ }
41
+ }, /*#__PURE__*/_react.default.createElement("g", {
42
+ transform: 'translate(0, 100)'
43
+ }, /*#__PURE__*/_react.default.createElement("circle", {
44
+ cx: "0",
45
+ cy: 16,
46
+ r: 18,
47
+ fill: "white",
48
+ stroke: color,
49
+ strokeWidth: "1",
50
+ vectorEffect: "non-scaling-stroke"
51
+ }), /*#__PURE__*/_react.default.createElement("g", {
52
+ transform: 'translate(-17, -1)',
53
+ style: {
54
+ stroke: 'none'
55
+ }
56
+ }, /*#__PURE__*/_react.default.createElement(_TopNavbar.MapSvg, null)))));
57
+ };
58
+ var _default = LeafSign;
59
+ exports.default = _default;
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Qb2ludFV0aWxzIiwiX1N0eWxlZExpbmsiLCJfVG9wTmF2YmFyIiwiTGVhZlNpZ24iLCJfcmVmIiwic2l0ZVR5cGUiLCJwb2ludF9pZCIsIl9yZWYkY29sb3IiLCJjb2xvciIsImlzRmFjdG9yeSIsImlzRmFjdG9yeVR5cGUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwieDEiLCJ5MSIsIngyIiwieTIiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsIlN0eWxlZExpbmsiLCJ0YXJnZXQiLCJ1cGRhdGVQYXJhbXMiLCJ2aWV3IiwidG8iLCJjb25jYXQiLCJvbkNsaWNrIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsInRyYW5zZm9ybSIsImN4IiwiY3kiLCJyIiwiZmlsbCIsInZlY3RvckVmZmVjdCIsInN0eWxlIiwiTWFwU3ZnIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9MZWFmU2lnbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGlzRmFjdG9yeVR5cGUgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscyc7XG5pbXBvcnQgeyBTdHlsZWRMaW5rIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvTGlua3MvU3R5bGVkTGluay9TdHlsZWRMaW5rJztcbmltcG9ydCB7IE1hcFN2ZyB9IGZyb20gJy4uLy4uL2Fzc2V0cy9pY29ucy9Ub3BOYXZiYXInO1xuXG5jb25zdCBMZWFmU2lnbiA9ICh7IHNpdGVUeXBlLCBwb2ludF9pZCwgY29sb3IgPSAnIzQ0NCcgfSkgPT4ge1xuICBjb25zdCBpc0ZhY3RvcnkgPSBpc0ZhY3RvcnlUeXBlKHNpdGVUeXBlKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGxpbmUgeDE9XCIwXCIgeTE9XCI4M1wiIHgyPVwiMFwiIHkyPVwiMTA1XCIgc3Ryb2tlPXtjb2xvcn0gc3Ryb2tlV2lkdGg9XCI0XCIgLz5cbiAgICAgIHtpc0ZhY3RvcnkgPyAoXG4gICAgICAgIDxsaW5lXG4gICAgICAgICAgeDE9XCItNDBcIlxuICAgICAgICAgIHkxPVwiMTA1XCJcbiAgICAgICAgICB4Mj1cIjQwXCJcbiAgICAgICAgICB5Mj1cIjEwNVwiXG4gICAgICAgICAgc3Ryb2tlPXtjb2xvcn1cbiAgICAgICAgICBzdHJva2VXaWR0aD1cIjRcIlxuICAgICAgICAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZExpbmtcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIHVwZGF0ZVBhcmFtcz17eyB2aWV3OiAnbWFwJyB9fVxuICAgICAgICAgIHRvPXtgL2Rhc2hib2FyZF92Mi9zaXRlLyR7cG9pbnRfaWR9YH1cbiAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxnIHRyYW5zZm9ybT17J3RyYW5zbGF0ZSgwLCAxMDApJ30+XG4gICAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICAgIGN4PVwiMFwiXG4gICAgICAgICAgICAgIGN5PXsxNn1cbiAgICAgICAgICAgICAgcj17MTh9XG4gICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT17Y29sb3J9XG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMVwiXG4gICAgICAgICAgICAgIHZlY3RvckVmZmVjdD1cIm5vbi1zY2FsaW5nLXN0cm9rZVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09eyd0cmFuc2xhdGUoLTE3LCAtMSknfSBzdHlsZT17eyBzdHJva2U6ICdub25lJyB9fT5cbiAgICAgICAgICAgICAgPE1hcFN2ZyAvPlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9TdHlsZWRMaW5rPlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExlYWZTaWduO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBRUEsSUFBTUksUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUFDLElBQUEsRUFBK0M7RUFBQSxJQUF6Q0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFBRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFBQUMsVUFBQSxHQUFBSCxJQUFBLENBQUVJLEtBQUs7SUFBTEEsS0FBSyxHQUFBRCxVQUFBLGNBQUcsTUFBTSxHQUFBQSxVQUFBO0VBQ3BELElBQU1FLFNBQVMsR0FBRyxJQUFBQyx5QkFBYSxFQUFDTCxRQUFRLENBQUM7RUFDekMsb0JBQ0VSLE1BQUEsQ0FBQWMsT0FBQSxDQUFBQyxhQUFBLENBQUFmLE1BQUEsQ0FBQWMsT0FBQSxDQUFBRSxRQUFBLHFCQUNFaEIsTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUE7SUFBTUUsRUFBRSxFQUFDLEdBQUc7SUFBQ0MsRUFBRSxFQUFDLElBQUk7SUFBQ0MsRUFBRSxFQUFDLEdBQUc7SUFBQ0MsRUFBRSxFQUFDLEtBQUs7SUFBQ0MsTUFBTSxFQUFFVixLQUFNO0lBQUNXLFdBQVcsRUFBQztFQUFHLENBQUUsQ0FBQyxFQUNyRVYsU0FBUyxnQkFDUlosTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUE7SUFDRUUsRUFBRSxFQUFDLEtBQUs7SUFDUkMsRUFBRSxFQUFDLEtBQUs7SUFDUkMsRUFBRSxFQUFDLElBQUk7SUFDUEMsRUFBRSxFQUFDLEtBQUs7SUFDUkMsTUFBTSxFQUFFVixLQUFNO0lBQ2RXLFdBQVcsRUFBQztFQUFHLENBQ2hCLENBQUMsZ0JBRUZ0QixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFDWCxXQUFBLENBQUFtQixVQUFVO0lBQ1RDLE1BQU0sRUFBQyxRQUFRO0lBQ2ZDLFlBQVksRUFBRTtNQUFFQyxJQUFJLEVBQUU7SUFBTSxDQUFFO0lBQzlCQyxFQUFFLHdCQUFBQyxNQUFBLENBQXdCbkIsUUFBUSxDQUFHO0lBQ3JDb0IsT0FBTyxFQUFFLFNBQUFBLFFBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNDLGVBQWUsQ0FBQyxDQUFDO0lBQUE7RUFBQyxnQkFFcEMvQixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQTtJQUFHaUIsU0FBUyxFQUFFO0VBQW9CLGdCQUNoQ2hDLE1BQUEsQ0FBQWMsT0FBQSxDQUFBQyxhQUFBO0lBQ0VrQixFQUFFLEVBQUMsR0FBRztJQUNOQyxFQUFFLEVBQUUsRUFBRztJQUNQQyxDQUFDLEVBQUUsRUFBRztJQUNOQyxJQUFJLEVBQUMsT0FBTztJQUNaZixNQUFNLEVBQUVWLEtBQU07SUFDZFcsV0FBVyxFQUFDLEdBQUc7SUFDZmUsWUFBWSxFQUFDO0VBQW9CLENBQ2xDLENBQUMsZUFFRnJDLE1BQUEsQ0FBQWMsT0FBQSxDQUFBQyxhQUFBO0lBQUdpQixTQUFTLEVBQUUsb0JBQXFCO0lBQUNNLEtBQUssRUFBRTtNQUFFakIsTUFBTSxFQUFFO0lBQU87RUFBRSxnQkFDNURyQixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFDVixVQUFBLENBQUFrQyxNQUFNLE1BQUUsQ0FDUixDQUNGLENBQ08sQ0FFZCxDQUFDO0FBRVAsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FFYWxDLFFBQVE7QUFBQW1DLE9BQUEsQ0FBQTNCLE9BQUEsR0FBQTBCLFFBQUEifQ==
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ // MicroStackedBar.tsx
10
+ // value can be 0..1 or 0..100
11
+ var MicroStackedBar = function MicroStackedBar(_ref) {
12
+ var segments = _ref.segments,
13
+ _ref$width = _ref.width,
14
+ width = _ref$width === void 0 ? 80 : _ref$width,
15
+ _ref$height = _ref.height,
16
+ height = _ref$height === void 0 ? 8 : _ref$height,
17
+ _ref$radius = _ref.radius,
18
+ radius = _ref$radius === void 0 ? 4 : _ref$radius;
19
+ var total = segments.reduce(function (s, x) {
20
+ return s + x.value;
21
+ }, 0) || 1;
22
+ var x = 0;
23
+ return /*#__PURE__*/_react.default.createElement("svg", {
24
+ width: width,
25
+ height: height,
26
+ style: {
27
+ display: 'block'
28
+ }
29
+ }, /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
30
+ id: "r"
31
+ }, /*#__PURE__*/_react.default.createElement("rect", {
32
+ x: "0",
33
+ y: "0",
34
+ width: width,
35
+ height: height,
36
+ rx: radius,
37
+ ry: radius
38
+ }))), /*#__PURE__*/_react.default.createElement("g", {
39
+ clipPath: "url(#r)"
40
+ }, segments.map(function (s, i) {
41
+ var w = s.value / total * width;
42
+ var rect = /*#__PURE__*/_react.default.createElement("rect", {
43
+ key: i,
44
+ x: x,
45
+ y: 0,
46
+ width: w,
47
+ height: height,
48
+ fill: s.color
49
+ });
50
+ x += w;
51
+ return rect;
52
+ })), /*#__PURE__*/_react.default.createElement("rect", {
53
+ x: "0",
54
+ y: "0",
55
+ width: width,
56
+ height: height,
57
+ rx: radius,
58
+ ry: radius,
59
+ fill: "none",
60
+ stroke: "#BDBDBD"
61
+ }));
62
+ };
63
+ var _default = MicroStackedBar;
64
+ exports.default = _default;
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIk1pY3JvU3RhY2tlZEJhciIsIl9yZWYiLCJzZWdtZW50cyIsIl9yZWYkd2lkdGgiLCJ3aWR0aCIsIl9yZWYkaGVpZ2h0IiwiaGVpZ2h0IiwiX3JlZiRyYWRpdXMiLCJyYWRpdXMiLCJ0b3RhbCIsInJlZHVjZSIsInMiLCJ4IiwidmFsdWUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiZGlzcGxheSIsImlkIiwieSIsInJ4IiwicnkiLCJjbGlwUGF0aCIsIm1hcCIsImkiLCJ3IiwicmVjdCIsImtleSIsImZpbGwiLCJjb2xvciIsInN0cm9rZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTWljcm9TdGFja2VkQmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBNaWNyb1N0YWNrZWRCYXIudHN4XG50eXBlIFNlZyA9IHsgdmFsdWU6IG51bWJlcjsgY29sb3I6IHN0cmluZzsgdGl0bGU/OiBzdHJpbmcgfTsgLy8gdmFsdWUgY2FuIGJlIDAuLjEgb3IgMC4uMTAwXG5jb25zdCBNaWNyb1N0YWNrZWRCYXIgPSAoe1xuICBzZWdtZW50cyxcbiAgd2lkdGggPSA4MCxcbiAgaGVpZ2h0ID0gOCxcbiAgcmFkaXVzID0gNCxcbn06IHtcbiAgc2VnbWVudHM6IFNlZ1tdO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICByYWRpdXM/OiBudW1iZXI7XG59KSA9PiB7XG4gIGNvbnN0IHRvdGFsID0gc2VnbWVudHMucmVkdWNlKChzLCB4KSA9PiBzICsgeC52YWx1ZSwgMCkgfHwgMTtcbiAgbGV0IHggPSAwO1xuICByZXR1cm4gKFxuICAgIDxzdmcgd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0gc3R5bGU9e3sgZGlzcGxheTogJ2Jsb2NrJyB9fT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJyXCI+XG4gICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgIHg9XCIwXCJcbiAgICAgICAgICAgIHk9XCIwXCJcbiAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgICAgIHJ5PXtyYWRpdXN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNyKVwiPlxuICAgICAgICB7c2VnbWVudHMubWFwKChzLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgdyA9IChzLnZhbHVlIC8gdG90YWwpICogd2lkdGg7XG4gICAgICAgICAgY29uc3QgcmVjdCA9IChcbiAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgeD17eH1cbiAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgd2lkdGg9e3d9XG4gICAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgICBmaWxsPXtzLmNvbG9yfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApO1xuICAgICAgICAgIHggKz0gdztcbiAgICAgICAgICByZXR1cm4gcmVjdDtcbiAgICAgICAgfSl9XG4gICAgICA8L2c+XG4gICAgICA8cmVjdFxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgcnk9e3JhZGl1c31cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2U9XCIjQkRCREJEXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+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
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _NodeLayout = _interopRequireDefault(require("./NodeLayout"));
11
+ var _MicroStackedBar = _interopRequireDefault(require("./MicroStackedBar"));
12
+ var _excluded = ["nodeDatum"];
13
+ var MicroStackedBarNode = function MicroStackedBarNode(_ref) {
14
+ var _nodeDatum$attributes, _nodeDatum$attributes2;
15
+ var nodeDatum = _ref.nodeDatum,
16
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
17
+ var pollution = ((_nodeDatum$attributes = nodeDatum.attributes) === null || _nodeDatum$attributes === void 0 ? void 0 : _nodeDatum$attributes.pollution) || {};
18
+ var score = ((_nodeDatum$attributes2 = nodeDatum.attributes) === null || _nodeDatum$attributes2 === void 0 ? void 0 : _nodeDatum$attributes2.score) || -1;
19
+ var segments = [{
20
+ value: pollution.extreme || 0,
21
+ color: '#f6004f',
22
+ title: 'Extreme'
23
+ }, {
24
+ value: pollution.high || 0,
25
+ color: '#f67129',
26
+ title: 'High'
27
+ }, {
28
+ value: pollution.medium || 0,
29
+ color: '#f6b22f',
30
+ title: 'Medium'
31
+ }, {
32
+ value: pollution.clear || 0,
33
+ color: '#23aa24',
34
+ title: 'Clear'
35
+ }];
36
+ if (score < 0) {
37
+ segments.push({
38
+ value: 100,
39
+ color: '#B9BABD',
40
+ title: 'Undefined'
41
+ });
42
+ }
43
+ return /*#__PURE__*/_react.default.createElement(_NodeLayout.default, Object.assign({
44
+ nodeDatum: nodeDatum
45
+ }, props, {
46
+ contentStyle: {
47
+ paddingTop: '50px',
48
+ paddingInlineStart: '15px'
49
+ }
50
+ }), /*#__PURE__*/_react.default.createElement(_MicroStackedBar.default, {
51
+ segments: segments,
52
+ width: 160,
53
+ height: 20,
54
+ radius: 8
55
+ }));
56
+ };
57
+ var _default = MicroStackedBarNode;
58
+ exports.default = _default;
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Ob2RlTGF5b3V0IiwiX01pY3JvU3RhY2tlZEJhciIsIl9leGNsdWRlZCIsIk1pY3JvU3RhY2tlZEJhck5vZGUiLCJfcmVmIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzMiIsIm5vZGVEYXR1bSIsInByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImRlZmF1bHQiLCJwb2xsdXRpb24iLCJhdHRyaWJ1dGVzIiwic2NvcmUiLCJzZWdtZW50cyIsInZhbHVlIiwiZXh0cmVtZSIsImNvbG9yIiwidGl0bGUiLCJoaWdoIiwibWVkaXVtIiwiY2xlYXIiLCJwdXNoIiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsImNvbnRlbnRTdHlsZSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nSW5saW5lU3RhcnQiLCJ3aWR0aCIsImhlaWdodCIsInJhZGl1cyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTWljcm9TdGFja2VkQmFyTm9kZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBOb2RlTGF5b3V0IGZyb20gJy4vTm9kZUxheW91dCc7XG5pbXBvcnQgeyBOb2RlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBNaWNyb1N0YWNrZWRCYXIgZnJvbSAnLi9NaWNyb1N0YWNrZWRCYXInO1xuXG5jb25zdCBNaWNyb1N0YWNrZWRCYXJOb2RlID0gKHsgbm9kZURhdHVtLCAuLi5wcm9wcyB9OiBOb2RlUHJvcHMpID0+IHtcbiAgY29uc3QgcG9sbHV0aW9uID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvbGx1dGlvbiB8fCB7fTtcbiAgY29uc3Qgc2NvcmUgPSBub2RlRGF0dW0uYXR0cmlidXRlcz8uc2NvcmUgfHwgLTE7XG4gIGNvbnN0IHNlZ21lbnRzID0gW1xuICAgIHsgdmFsdWU6IHBvbGx1dGlvbi5leHRyZW1lIHx8IDAsIGNvbG9yOiAnI2Y2MDA0ZicsIHRpdGxlOiAnRXh0cmVtZScgfSxcbiAgICB7IHZhbHVlOiBwb2xsdXRpb24uaGlnaCB8fCAwLCBjb2xvcjogJyNmNjcxMjknLCB0aXRsZTogJ0hpZ2gnIH0sXG4gICAgeyB2YWx1ZTogcG9sbHV0aW9uLm1lZGl1bSB8fCAwLCBjb2xvcjogJyNmNmIyMmYnLCB0aXRsZTogJ01lZGl1bScgfSxcbiAgICB7IHZhbHVlOiBwb2xsdXRpb24uY2xlYXIgfHwgMCwgY29sb3I6ICcjMjNhYTI0JywgdGl0bGU6ICdDbGVhcicgfSxcbiAgXTtcbiAgaWYgKHNjb3JlIDwgMCkge1xuICAgIHNlZ21lbnRzLnB1c2goeyB2YWx1ZTogMTAwLCBjb2xvcjogJyNCOUJBQkQnLCB0aXRsZTogJ1VuZGVmaW5lZCcgfSk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8Tm9kZUxheW91dFxuICAgICAgbm9kZURhdHVtPXtub2RlRGF0dW19XG4gICAgICB7Li4ucHJvcHN9XG4gICAgICBjb250ZW50U3R5bGU9e3sgcGFkZGluZ1RvcDogJzUwcHgnLCBwYWRkaW5nSW5saW5lU3RhcnQ6ICcxNXB4JyB9fVxuICAgID5cbiAgICAgIDxNaWNyb1N0YWNrZWRCYXIgc2VnbWVudHM9e3NlZ21lbnRzfSB3aWR0aD17MTYwfSBoZWlnaHQ9ezIwfSByYWRpdXM9ezh9IC8+XG4gICAgPC9Ob2RlTGF5b3V0PlxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IE1pY3JvU3RhY2tlZEJhck5vZGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsZ0JBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFnRCxJQUFBRyxTQUFBO0FBRWhELElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUFDLElBQUEsRUFBMkM7RUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxzQkFBQTtFQUFBLElBQXJDQyxTQUFTLEdBQUFILElBQUEsQ0FBVEcsU0FBUztJQUFLQyxLQUFLLE9BQUFDLHlCQUFBLENBQUFDLE9BQUEsRUFBQU4sSUFBQSxFQUFBRixTQUFBO0VBQ2hELElBQU1TLFNBQVMsR0FBRyxFQUFBTixxQkFBQSxHQUFBRSxTQUFTLENBQUNLLFVBQVUsY0FBQVAscUJBQUEsdUJBQXBCQSxxQkFBQSxDQUFzQk0sU0FBUyxLQUFJLENBQUMsQ0FBQztFQUN2RCxJQUFNRSxLQUFLLEdBQUcsRUFBQVAsc0JBQUEsR0FBQUMsU0FBUyxDQUFDSyxVQUFVLGNBQUFOLHNCQUFBLHVCQUFwQkEsc0JBQUEsQ0FBc0JPLEtBQUssS0FBSSxDQUFDLENBQUM7RUFDL0MsSUFBTUMsUUFBUSxHQUFHLENBQ2Y7SUFBRUMsS0FBSyxFQUFFSixTQUFTLENBQUNLLE9BQU8sSUFBSSxDQUFDO0lBQUVDLEtBQUssRUFBRSxTQUFTO0lBQUVDLEtBQUssRUFBRTtFQUFVLENBQUMsRUFDckU7SUFBRUgsS0FBSyxFQUFFSixTQUFTLENBQUNRLElBQUksSUFBSSxDQUFDO0lBQUVGLEtBQUssRUFBRSxTQUFTO0lBQUVDLEtBQUssRUFBRTtFQUFPLENBQUMsRUFDL0Q7SUFBRUgsS0FBSyxFQUFFSixTQUFTLENBQUNTLE1BQU0sSUFBSSxDQUFDO0lBQUVILEtBQUssRUFBRSxTQUFTO0lBQUVDLEtBQUssRUFBRTtFQUFTLENBQUMsRUFDbkU7SUFBRUgsS0FBSyxFQUFFSixTQUFTLENBQUNVLEtBQUssSUFBSSxDQUFDO0lBQUVKLEtBQUssRUFBRSxTQUFTO0lBQUVDLEtBQUssRUFBRTtFQUFRLENBQUMsQ0FDbEU7RUFDRCxJQUFJTCxLQUFLLEdBQUcsQ0FBQyxFQUFFO0lBQ2JDLFFBQVEsQ0FBQ1EsSUFBSSxDQUFDO01BQUVQLEtBQUssRUFBRSxHQUFHO01BQUVFLEtBQUssRUFBRSxTQUFTO01BQUVDLEtBQUssRUFBRTtJQUFZLENBQUMsQ0FBQztFQUNyRTtFQUNBLG9CQUNFckIsTUFBQSxDQUFBYSxPQUFBLENBQUFhLGFBQUEsQ0FBQ3ZCLFdBQUEsQ0FBQVUsT0FBVSxFQUFBYyxNQUFBLENBQUFDLE1BQUE7SUFDVGxCLFNBQVMsRUFBRUE7RUFBVSxHQUNqQkMsS0FBSztJQUNUa0IsWUFBWSxFQUFFO01BQUVDLFVBQVUsRUFBRSxNQUFNO01BQUVDLGtCQUFrQixFQUFFO0lBQU87RUFBRSxpQkFFakUvQixNQUFBLENBQUFhLE9BQUEsQ0FBQWEsYUFBQSxDQUFDdEIsZ0JBQUEsQ0FBQVMsT0FBZTtJQUFDSSxRQUFRLEVBQUVBLFFBQVM7SUFBQ2UsS0FBSyxFQUFFLEdBQUk7SUFBQ0MsTUFBTSxFQUFFLEVBQUc7SUFBQ0MsTUFBTSxFQUFFO0VBQUUsQ0FBRSxDQUMvRCxDQUFDO0FBRWpCLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBQ2E3QixtQkFBbUI7QUFBQThCLE9BQUEsQ0FBQXZCLE9BQUEsR0FBQXNCLFFBQUEifQ==
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _i18n = _interopRequireDefault(require("utilities/i18n"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _PointUtils = require("../../Widgets/Map/points/PointUtils");
11
+ var _assets = require("../../components/Tabs/assets");
12
+ var NodeIcon = function NodeIcon(_ref) {
13
+ var type = _ref.type;
14
+ var style = {
15
+ width: '25px',
16
+ height: '25px',
17
+ fill: '#555'
18
+ };
19
+ if ((0, _PointUtils.isFactoryType)(type)) {
20
+ return /*#__PURE__*/_react.default.createElement(_assets.PlantSvg, {
21
+ style: style,
22
+ title: _i18n.default.t('Factory')
23
+ });
24
+ }
25
+ if ((0, _PointUtils.pointIsWWTP)({
26
+ group: {
27
+ type: type
28
+ }
29
+ })) {
30
+ return /*#__PURE__*/_react.default.createElement(_assets.MatashSvg, {
31
+ style: style,
32
+ title: _i18n.default.t('WWTP')
33
+ });
34
+ }
35
+ if (type === 'area') {
36
+ return /*#__PURE__*/_react.default.createElement(_assets.ShapeSvg, {
37
+ style: style,
38
+ title: _i18n.default.t('Area')
39
+ });
40
+ }
41
+ return null;
42
+ };
43
+ var _default = NodeIcon;
44
+ exports.default = _default;
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50VXRpbHMiLCJfYXNzZXRzIiwiTm9kZUljb24iLCJfcmVmIiwidHlwZSIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJmaWxsIiwiaXNGYWN0b3J5VHlwZSIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiUGxhbnRTdmciLCJ0aXRsZSIsImkxOG4iLCJ0IiwicG9pbnRJc1dXVFAiLCJncm91cCIsIk1hdGFzaFN2ZyIsIlNoYXBlU3ZnIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9Ob2RlSWNvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBpc0ZhY3RvcnlUeXBlLFxuICBwb2ludElzV1dUUCxcbn0gZnJvbSAnLi4vLi4vV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50VXRpbHMnO1xuaW1wb3J0IHsgU2hhcGVTdmcsIE1hdGFzaFN2ZywgUGxhbnRTdmcgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1RhYnMvYXNzZXRzJztcblxuY29uc3QgTm9kZUljb24gPSAoeyB0eXBlIH06IHsgdHlwZTogc3RyaW5nIH0pID0+IHtcbiAgY29uc3Qgc3R5bGUgPSB7IHdpZHRoOiAnMjVweCcsIGhlaWdodDogJzI1cHgnLCBmaWxsOiAnIzU1NScgfTtcblxuICBpZiAoaXNGYWN0b3J5VHlwZSh0eXBlKSkge1xuICAgIHJldHVybiA8UGxhbnRTdmcgc3R5bGU9e3N0eWxlfSB0aXRsZT17aTE4bi50KCdGYWN0b3J5Jyl9IC8+O1xuICB9XG4gIGlmIChwb2ludElzV1dUUCh7IGdyb3VwOiB7IHR5cGUgfSB9KSkge1xuICAgIHJldHVybiA8TWF0YXNoU3ZnIHN0eWxlPXtzdHlsZX0gdGl0bGU9e2kxOG4udCgnV1dUUCcpfSAvPjtcbiAgfVxuICBpZiAodHlwZSA9PT0gJ2FyZWEnKSB7XG4gICAgcmV0dXJuIDxTaGFwZVN2ZyBzdHlsZT17c3R5bGV9IHRpdGxlPXtpMThuLnQoJ0FyZWEnKX0gLz47XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuZXhwb3J0IGRlZmF1bHQgTm9kZUljb247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFJQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFNSSxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBQUMsSUFBQSxFQUFtQztFQUFBLElBQTdCQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtFQUN0QixJQUFNQyxLQUFLLEdBQUc7SUFBRUMsS0FBSyxFQUFFLE1BQU07SUFBRUMsTUFBTSxFQUFFLE1BQU07SUFBRUMsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUU3RCxJQUFJLElBQUFDLHlCQUFhLEVBQUNMLElBQUksQ0FBQyxFQUFFO0lBQ3ZCLG9CQUFPTCxNQUFBLENBQUFXLE9BQUEsQ0FBQUMsYUFBQSxDQUFDVixPQUFBLENBQUFXLFFBQVE7TUFBQ1AsS0FBSyxFQUFFQSxLQUFNO01BQUNRLEtBQUssRUFBRUMsYUFBSSxDQUFDQyxDQUFDLENBQUMsU0FBUztJQUFFLENBQUUsQ0FBQztFQUM3RDtFQUNBLElBQUksSUFBQUMsdUJBQVcsRUFBQztJQUFFQyxLQUFLLEVBQUU7TUFBRWIsSUFBSSxFQUFKQTtJQUFLO0VBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDcEMsb0JBQU9MLE1BQUEsQ0FBQVcsT0FBQSxDQUFBQyxhQUFBLENBQUNWLE9BQUEsQ0FBQWlCLFNBQVM7TUFBQ2IsS0FBSyxFQUFFQSxLQUFNO01BQUNRLEtBQUssRUFBRUMsYUFBSSxDQUFDQyxDQUFDLENBQUMsTUFBTTtJQUFFLENBQUUsQ0FBQztFQUMzRDtFQUNBLElBQUlYLElBQUksS0FBSyxNQUFNLEVBQUU7SUFDbkIsb0JBQU9MLE1BQUEsQ0FBQVcsT0FBQSxDQUFBQyxhQUFBLENBQUNWLE9BQUEsQ0FBQWtCLFFBQVE7TUFBQ2QsS0FBSyxFQUFFQSxLQUFNO01BQUNRLEtBQUssRUFBRUMsYUFBSSxDQUFDQyxDQUFDLENBQUMsTUFBTTtJQUFFLENBQUUsQ0FBQztFQUMxRDtFQUNBLE9BQU8sSUFBSTtBQUNiLENBQUM7QUFBQyxJQUFBSyxRQUFBLEdBQ2FsQixRQUFRO0FBQUFtQixPQUFBLENBQUFYLE9BQUEsR0FBQVUsUUFBQSJ9
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _zoomIn = require("@svgr/webpack?&svgo=false&ref!assets/icons/zoom-in.svg");
10
+ var _scoreToData = require("../../utilities/scoreToData");
11
+ var _CardLayout = _interopRequireDefault(require("../../Widgets/MostPolluting/Factories/FactoryBox/CardLayout"));
12
+ var _NodeIcon = _interopRequireDefault(require("./NodeIcon"));
13
+ var _TopNavbar = require("../../assets/icons/TopNavbar");
14
+ var _StyledLink = require("components/Links/StyledLink/StyledLink");
15
+ var _utils = require("./utils");
16
+ var _LeafSign = _interopRequireDefault(require("./LeafSign"));
17
+ var _reactI18next = require("react-i18next");
18
+ var _reactBootstrap = require("react-bootstrap");
19
+ var NodeLayout = function NodeLayout(_ref) {
20
+ var _nodeDatum$attributes, _nodeDatum$attributes2, _nodeDatum$attributes3, _nodeDatum$attributes4, _nodeDatum$attributes5;
21
+ var nodeDatum = _ref.nodeDatum,
22
+ toggleNode = _ref.toggleNode,
23
+ onNodeClick = _ref.onNodeClick,
24
+ siteID = _ref.siteID,
25
+ children = _ref.children,
26
+ contentStyle = _ref.contentStyle;
27
+ var score = ((_nodeDatum$attributes = nodeDatum.attributes) === null || _nodeDatum$attributes === void 0 ? void 0 : _nodeDatum$attributes.score) || -1;
28
+ var borderColor = (0, _scoreToData.scoreToColor)(score);
29
+ var factoryType = ((_nodeDatum$attributes2 = nodeDatum.attributes) === null || _nodeDatum$attributes2 === void 0 ? void 0 : _nodeDatum$attributes2.type) || '';
30
+ var isLeafNode = !nodeDatum.children || nodeDatum.children.length === 0;
31
+ var isMonitored = (_nodeDatum$attributes3 = nodeDatum.attributes) === null || _nodeDatum$attributes3 === void 0 ? void 0 : _nodeDatum$attributes3.monitored;
32
+ // const isFocused = siteID === nodeDatum.attributes?.point_id?.toString();
33
+
34
+ var cardStyle = {
35
+ borderRadius: '4px',
36
+ borderColor: borderColor,
37
+ borderStyle: isMonitored ? 'solid' : 'dashed',
38
+ borderWidth: '5px',
39
+ backgroundColor: '#FFFFFF',
40
+ stroke: 'none',
41
+ height: '170px'
42
+ };
43
+ var title = factoryType === 'area' ? ((_nodeDatum$attributes4 = nodeDatum.attributes) === null || _nodeDatum$attributes4 === void 0 ? void 0 : _nodeDatum$attributes4.area_name) || nodeDatum.name : nodeDatum.name;
44
+ var onShowDetails = function onShowDetails(event) {
45
+ event.stopPropagation();
46
+ onNodeClick(nodeDatum);
47
+ };
48
+ if (!nodeDatum.name) {
49
+ return null;
50
+ }
51
+ return /*#__PURE__*/_react.default.createElement("g", {
52
+ onClick: toggleNode,
53
+ style: {
54
+ cursor: 'pointer'
55
+ }
56
+ }, /*#__PURE__*/_react.default.createElement("foreignObject", {
57
+ x: "-100",
58
+ y: "-120",
59
+ width: "200",
60
+ height: "250"
61
+ }, /*#__PURE__*/_react.default.createElement(_utils.ActionsContainer, null, /*#__PURE__*/_react.default.createElement("span", {
62
+ style: {
63
+ marginInlineEnd: '8px'
64
+ }
65
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
66
+ overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
67
+ id: 'details',
68
+ placement: "auto"
69
+ }, /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
70
+ i18nKey: 'group_screen.general_tab.group_details'
71
+ }))
72
+ }, /*#__PURE__*/_react.default.createElement(_zoomIn.ReactComponent, {
73
+ onClick: onShowDetails
74
+ }))), /*#__PURE__*/_react.default.createElement(_StyledLink.StyledLink, {
75
+ style: {
76
+ marginStart: '8px'
77
+ },
78
+ target: "_blank",
79
+ updateParams: {
80
+ view: 'dashboard'
81
+ },
82
+ to: "/dashboard_v2/site/".concat((_nodeDatum$attributes5 = nodeDatum.attributes) === null || _nodeDatum$attributes5 === void 0 ? void 0 : _nodeDatum$attributes5.point_id),
83
+ onClick: function onClick(e) {
84
+ return e.stopPropagation();
85
+ }
86
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
87
+ overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
88
+ id: "dashboard",
89
+ placement: "auto"
90
+ }, /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
91
+ i18nKey: 'header.dashboard'
92
+ }))
93
+ }, /*#__PURE__*/_react.default.createElement(_TopNavbar.DashboardSvg, null)))), /*#__PURE__*/_react.default.createElement(_CardLayout.default, {
94
+ title: title,
95
+ style: cardStyle,
96
+ headerRight: /*#__PURE__*/_react.default.createElement(_NodeIcon.default, {
97
+ type: factoryType
98
+ })
99
+ }, /*#__PURE__*/_react.default.createElement("div", {
100
+ className: 'node-content',
101
+ style: contentStyle
102
+ }, children))), isLeafNode && /*#__PURE__*/_react.default.createElement(_LeafSign.default, {
103
+ siteType: factoryType,
104
+ point_id: nodeDatum.attributes.point_id,
105
+ color: borderColor
106
+ }));
107
+ };
108
+ var _default = NodeLayout;
109
+ exports.default = _default;
110
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl96b29tSW4iLCJfc2NvcmVUb0RhdGEiLCJfQ2FyZExheW91dCIsIl9Ob2RlSWNvbiIsIl9Ub3BOYXZiYXIiLCJfU3R5bGVkTGluayIsIl91dGlscyIsIl9MZWFmU2lnbiIsIl9yZWFjdEkxOG5leHQiLCJfcmVhY3RCb290c3RyYXAiLCJOb2RlTGF5b3V0IiwiX3JlZiIsIl9ub2RlRGF0dW0kYXR0cmlidXRlcyIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczIiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXMzIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNCIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczUiLCJub2RlRGF0dW0iLCJ0b2dnbGVOb2RlIiwib25Ob2RlQ2xpY2siLCJzaXRlSUQiLCJjaGlsZHJlbiIsImNvbnRlbnRTdHlsZSIsInNjb3JlIiwiYXR0cmlidXRlcyIsImJvcmRlckNvbG9yIiwic2NvcmVUb0NvbG9yIiwiZmFjdG9yeVR5cGUiLCJ0eXBlIiwiaXNMZWFmTm9kZSIsImxlbmd0aCIsImlzTW9uaXRvcmVkIiwibW9uaXRvcmVkIiwiY2FyZFN0eWxlIiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJXaWR0aCIsImJhY2tncm91bmRDb2xvciIsInN0cm9rZSIsImhlaWdodCIsInRpdGxlIiwiYXJlYV9uYW1lIiwibmFtZSIsIm9uU2hvd0RldGFpbHMiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwib25DbGljayIsInN0eWxlIiwiY3Vyc29yIiwieCIsInkiLCJ3aWR0aCIsIkFjdGlvbnNDb250YWluZXIiLCJtYXJnaW5JbmxpbmVFbmQiLCJPdmVybGF5VHJpZ2dlciIsIm92ZXJsYXkiLCJUb29sdGlwIiwiaWQiLCJwbGFjZW1lbnQiLCJUcmFucyIsImkxOG5LZXkiLCJSZWFjdENvbXBvbmVudCIsIlN0eWxlZExpbmsiLCJtYXJnaW5TdGFydCIsInRhcmdldCIsInVwZGF0ZVBhcmFtcyIsInZpZXciLCJ0byIsImNvbmNhdCIsInBvaW50X2lkIiwiZSIsIkRhc2hib2FyZFN2ZyIsImhlYWRlclJpZ2h0IiwiY2xhc3NOYW1lIiwic2l0ZVR5cGUiLCJjb2xvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTm9kZUxheW91dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERldGFpbHNTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3pvb20taW4uc3ZnJztcbmltcG9ydCB7IHNjb3JlVG9Db2xvciB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9zY29yZVRvRGF0YSc7XG5pbXBvcnQgQ2FyZExheW91dCBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL0ZhY3RvcnlCb3gvQ2FyZExheW91dCc7XG5pbXBvcnQgTm9kZUljb24gZnJvbSAnLi9Ob2RlSWNvbic7XG5pbXBvcnQgeyBEYXNoYm9hcmRTdmcgfSBmcm9tICcuLi8uLi9hc3NldHMvaWNvbnMvVG9wTmF2YmFyJztcbmltcG9ydCB7IFN0eWxlZExpbmsgfSBmcm9tICdzcmMvY29tcG9uZW50cy9MaW5rcy9TdHlsZWRMaW5rL1N0eWxlZExpbmsnO1xuaW1wb3J0IHsgQWN0aW9uc0NvbnRhaW5lciwgTm9kZVByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgTGVhZlNpZ24gZnJvbSAnLi9MZWFmU2lnbic7XG5pbXBvcnQgeyBUcmFucyB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHsgT3ZlcmxheVRyaWdnZXIsIFRvb2x0aXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuXG5jb25zdCBOb2RlTGF5b3V0ID0gKHtcbiAgbm9kZURhdHVtLFxuICB0b2dnbGVOb2RlLFxuICBvbk5vZGVDbGljayxcbiAgc2l0ZUlELFxuICBjaGlsZHJlbixcbiAgY29udGVudFN0eWxlLFxufTogTm9kZVByb3BzKSA9PiB7XG4gIGNvbnN0IHNjb3JlID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnNjb3JlIHx8IC0xO1xuICBjb25zdCBib3JkZXJDb2xvciA9IHNjb3JlVG9Db2xvcihzY29yZSk7XG4gIGNvbnN0IGZhY3RvcnlUeXBlID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnR5cGUgfHwgJyc7XG4gIGNvbnN0IGlzTGVhZk5vZGUgPSAhbm9kZURhdHVtLmNoaWxkcmVuIHx8IG5vZGVEYXR1bS5jaGlsZHJlbi5sZW5ndGggPT09IDA7XG4gIGNvbnN0IGlzTW9uaXRvcmVkID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/Lm1vbml0b3JlZDtcbiAgLy8gY29uc3QgaXNGb2N1c2VkID0gc2l0ZUlEID09PSBub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQ/LnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgY2FyZFN0eWxlOiBSZWFjdC5DU1NQcm9wZXJ0aWVzID0ge1xuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyQ29sb3IsXG4gICAgYm9yZGVyU3R5bGU6IGlzTW9uaXRvcmVkID8gJ3NvbGlkJyA6ICdkYXNoZWQnLFxuICAgIGJvcmRlcldpZHRoOiAnNXB4JyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcbiAgICBzdHJva2U6ICdub25lJyxcbiAgICBoZWlnaHQ6ICcxNzBweCcsXG4gIH07XG4gIGNvbnN0IHRpdGxlID1cbiAgICBmYWN0b3J5VHlwZSA9PT0gJ2FyZWEnXG4gICAgICA/IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5hcmVhX25hbWUgfHwgbm9kZURhdHVtLm5hbWVcbiAgICAgIDogbm9kZURhdHVtLm5hbWU7XG4gIGNvbnN0IG9uU2hvd0RldGFpbHMgPSAoZXZlbnQpID0+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBvbk5vZGVDbGljayhub2RlRGF0dW0pO1xuICB9O1xuXG4gIGlmICghbm9kZURhdHVtLm5hbWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gKFxuICAgIDxnIG9uQ2xpY2s9e3RvZ2dsZU5vZGV9IHN0eWxlPXt7IGN1cnNvcjogJ3BvaW50ZXInIH19PlxuICAgICAgPGZvcmVpZ25PYmplY3QgeD1cIi0xMDBcIiB5PVwiLTEyMFwiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiMjUwXCI+XG4gICAgICAgIDxBY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IG1hcmdpbklubGluZUVuZDogJzhweCcgfX0+XG4gICAgICAgICAgICA8T3ZlcmxheVRyaWdnZXJcbiAgICAgICAgICAgICAgb3ZlcmxheT17XG4gICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9eydkZXRhaWxzJ30gcGxhY2VtZW50PVwiYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgPFRyYW5zIGkxOG5LZXk9eydncm91cF9zY3JlZW4uZ2VuZXJhbF90YWIuZ3JvdXBfZGV0YWlscyd9IC8+XG4gICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxEZXRhaWxzU3ZnIG9uQ2xpY2s9e29uU2hvd0RldGFpbHN9IC8+XG4gICAgICAgICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8U3R5bGVkTGlua1xuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luU3RhcnQ6ICc4cHgnIH19XG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgdXBkYXRlUGFyYW1zPXt7IHZpZXc6ICdkYXNoYm9hcmQnIH19XG4gICAgICAgICAgICB0bz17YC9kYXNoYm9hcmRfdjIvc2l0ZS8ke25vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZH1gfVxuICAgICAgICAgICAgb25DbGljaz17KGUpID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE92ZXJsYXlUcmlnZ2VyXG4gICAgICAgICAgICAgIG92ZXJsYXk9e1xuICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwiZGFzaGJvYXJkXCIgcGxhY2VtZW50PVwiYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgPFRyYW5zIGkxOG5LZXk9eydoZWFkZXIuZGFzaGJvYXJkJ30gLz5cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPERhc2hib2FyZFN2ZyAvPlxuICAgICAgICAgICAgPC9PdmVybGF5VHJpZ2dlcj5cbiAgICAgICAgICA8L1N0eWxlZExpbms+XG4gICAgICAgIDwvQWN0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgPENhcmRMYXlvdXRcbiAgICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgICAgc3R5bGU9e2NhcmRTdHlsZX1cbiAgICAgICAgICBoZWFkZXJSaWdodD17PE5vZGVJY29uIHR5cGU9e2ZhY3RvcnlUeXBlfSAvPn1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbm9kZS1jb250ZW50J30gc3R5bGU9e2NvbnRlbnRTdHlsZX0+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQ2FyZExheW91dD5cbiAgICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgICAgIHtpc0xlYWZOb2RlICYmIChcbiAgICAgICAgPExlYWZTaWduXG4gICAgICAgICAgc2l0ZVR5cGU9e2ZhY3RvcnlUeXBlfVxuICAgICAgICAgIHBvaW50X2lkPXtub2RlRGF0dW0uYXR0cmlidXRlcy5wb2ludF9pZH1cbiAgICAgICAgICBjb2xvcj17Ym9yZGVyQ29sb3J9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZz5c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