@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.
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +41 -0
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +24 -29
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +2 -2
- package/lib/assets/icons/TopNavbar/GraphHierarchyIcon.js +77 -0
- package/lib/assets/icons/TopNavbar/index.js +9 -1
- package/lib/components/Header/InfoBar/InfoBar.js +20 -3
- package/lib/components/Links/StyledLink/StyledLink.js +16 -3
- package/lib/i18n/en.json +1 -0
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/OperationsPage/RightPanel.js +3 -3
- package/lib/store/permissions/permissionsSlice.js +5 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/ui-kit/Dashboard/Dashboard.js +14 -6
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +164 -0
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +196 -0
- package/lib/ui-kit/HierarchyGraph/LeafSign.js +60 -0
- package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +65 -0
- package/lib/ui-kit/HierarchyGraph/MicroStackedBarNode.js +59 -0
- package/lib/ui-kit/HierarchyGraph/NodeIcon.js +45 -0
- package/lib/ui-kit/HierarchyGraph/NodeLayout.js +110 -0
- package/lib/ui-kit/HierarchyGraph/PieNode.js +26 -0
- package/lib/ui-kit/HierarchyGraph/index.js +11 -0
- package/lib/ui-kit/HierarchyGraph/utils.js +101 -0
- package/lib/utilities/Truncate.js +4 -3
- package/package.json +2 -2
|
@@ -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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
|