@kando-env/kando-ui 1.2.287-alpha.1 → 1.2.288-alpha.0
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/Map/Map.js +18 -2
- package/lib/Widgets/Map/Map.scss +17 -5
- package/lib/Widgets/Map/MapUtils.js +14 -12
- package/lib/Widgets/Map/areas/AreaPolygon.js +80 -14
- package/lib/Widgets/Map/areas/AreaPolygons.js +6 -3
- package/lib/Widgets/Map/areas/AreaUtils.js +24 -45
- package/lib/Widgets/Map/events/EventUtils.js +5 -4
- package/lib/Widgets/Map/points/PointMarker.js +80 -24
- package/lib/Widgets/Map/points/PointUtils.js +17 -8
- package/lib/_design-system.scss +1 -1
- package/lib/assets/icons/TrendSvg.js +40 -0
- package/lib/assets/icons/index.js +10 -3
- package/lib/assets/icons/no-result.svg +20 -0
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +2 -1
- package/lib/components/Header/InfoBar/InfoBar.js +9 -9
- package/lib/i18n/en.json +18 -3
- package/lib/i18n/he.json +14 -10
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/DashboardMap/AreaCard.js +44 -7
- package/lib/pages/DashboardMap/FactoryCard.js +50 -11
- package/lib/pages/DashboardMap/List.js +37 -7
- package/lib/pages/DashboardMap/ListContext.js +39 -0
- package/lib/pages/DashboardMap/WWTPMap.js +22 -12
- package/lib/pages/DashboardMap/Widget.js +189 -68
- package/lib/pages/DashboardMap/utils.js +23 -6
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +9 -3
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +27 -0
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +7 -4
- package/lib/pages/WwtpPage/OrganicCard.js +38 -8
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +19 -0
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +56 -0
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +41 -0
- package/lib/pages/WwtpPage/PotentialSaving/index.js +11 -0
- package/lib/pages/WwtpPage/PotentialSaving/svgs/co2_emission.svg +17 -0
- package/lib/pages/WwtpPage/PotentialSaving/svgs/energy.svg +16 -0
- package/lib/pages/WwtpPage/PotentialSaving/svgs/organic_load.svg +20 -0
- package/lib/pages/WwtpPage/PotentialSaving/svgs/urban_development.svg +12 -0
- package/lib/pages/WwtpPage/PotentialSaving/types.js +6 -0
- package/lib/pages/WwtpPage/TrendChart.js +98 -0
- package/lib/pages/WwtpPage/WwtpPage.js +11 -10
- package/lib/scss/custom.scss +1 -0
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/styles/theme/theme.js +82 -13
- package/lib/ui-kit/Dashboard/Dashboard.js +2 -3
- package/lib/ui-kit/InletsPie/InletsPie.js +9 -7
- package/lib/ui-kit/OrganicLoad/GaugeChart.js +9 -8
- package/lib/ui-kit/OrganicLoad/TextInfo.js +4 -4
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +3 -3
- package/lib/ui-kit/ScoreGauge/constant.js +1 -1
- package/lib/utilities/urls.js +3 -2
- package/package.json +1 -1
- package/lib/assets/icons/trend.svg +0 -8
- package/lib/pages/WwtpPage/ImpactCard.js +0 -17
|
@@ -19,12 +19,13 @@ var _utils = require("./utils");
|
|
|
19
19
|
var _Loader = require("./Loader");
|
|
20
20
|
var _reactRouterDom = require("react-router-dom");
|
|
21
21
|
var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
|
|
22
|
+
var _ListContext = require("./ListContext");
|
|
23
|
+
var _reactBootstrap = require("react-bootstrap");
|
|
22
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); }
|
|
23
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; }
|
|
24
26
|
var WWTPMap = function WWTPMap(props) {
|
|
25
27
|
var _useParams = (0, _reactRouterDom.useParams)(),
|
|
26
28
|
id = _useParams.id;
|
|
27
|
-
var isMapTab = props.isMapTab;
|
|
28
29
|
var ReduxState = (0, _reactRedux.useSelector)(function (state) {
|
|
29
30
|
return state;
|
|
30
31
|
});
|
|
@@ -53,12 +54,12 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
53
54
|
return areas_data.newAreas.length !== 0 || points_data.items.length !== 0 || edges_data.items.length !== 0;
|
|
54
55
|
};
|
|
55
56
|
(0, _react.useEffect)(function () {
|
|
56
|
-
if (!WWTPInfo.point || !wwtp_dashboard.map ||
|
|
57
|
+
if (!WWTPInfo.point || !wwtp_dashboard.map || points_data.items.length === 0 || !wwtp_dashboard.map) return;
|
|
57
58
|
var latlng = [WWTPInfo.point.latitude, WWTPInfo.point.longitude];
|
|
58
59
|
wwtp_dashboard.map.fitBounds([latlng]);
|
|
59
|
-
}, [WWTPInfo, wwtp_dashboard.map, points_data.isFetching
|
|
60
|
+
}, [WWTPInfo, wwtp_dashboard.map, points_data.isFetching]);
|
|
60
61
|
(0, _react.useEffect)(function () {
|
|
61
|
-
if (global_data.waterAuthorityId
|
|
62
|
+
if (global_data.waterAuthorityId) {
|
|
62
63
|
dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId));
|
|
63
64
|
dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
|
|
64
65
|
dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, ReduxState.dashboard.period));
|
|
@@ -72,7 +73,7 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
72
73
|
dataExists: dataExists,
|
|
73
74
|
id: id
|
|
74
75
|
});
|
|
75
|
-
}, [global_data.waterAuthorityId, areas_data.newAreas.length, points_data.items.length,
|
|
76
|
+
}, [global_data.waterAuthorityId, areas_data.newAreas.length, points_data.items.length, ReduxState.dashboard.period]);
|
|
76
77
|
(0, _react.useEffect)(function () {
|
|
77
78
|
return function cleanup() {
|
|
78
79
|
setPoints(null);
|
|
@@ -84,15 +85,24 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
84
85
|
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(null));
|
|
85
86
|
dispatch((0, _WWTPDashboardSlice.setMap)(null));
|
|
86
87
|
};
|
|
87
|
-
}, [
|
|
88
|
-
if (!isMapTab) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
88
|
+
}, [global_data.waterAuthorityId]);
|
|
89
89
|
if (!dataExists() || !points || !areas || !WWTPInfo) return /*#__PURE__*/_react.default.createElement(_Loader.Loader, null);
|
|
90
|
-
return /*#__PURE__*/_react.default.createElement(Container, props, /*#__PURE__*/_react.default.createElement(
|
|
90
|
+
return /*#__PURE__*/_react.default.createElement(_ListContext.SelectedItemProvider, null, /*#__PURE__*/_react.default.createElement(Container, props, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
|
|
91
|
+
className: "no-gutters"
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
|
|
93
|
+
xs: "auto",
|
|
94
|
+
sm: 4,
|
|
95
|
+
className: "d-none d-sm-flex"
|
|
96
|
+
}, /*#__PURE__*/_react.default.createElement(_List.List, {
|
|
91
97
|
global_data: global_data,
|
|
92
98
|
areas: areas,
|
|
93
99
|
points: points,
|
|
94
100
|
WWTPInfo: WWTPInfo
|
|
95
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
101
|
+
})), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
|
|
102
|
+
className: "map-column",
|
|
103
|
+
xs: 12,
|
|
104
|
+
sm: 8
|
|
105
|
+
}, /*#__PURE__*/_react.default.createElement(_Map.Map, {
|
|
96
106
|
points: points,
|
|
97
107
|
areas: areas,
|
|
98
108
|
global_data: global_data,
|
|
@@ -102,12 +112,12 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
102
112
|
includeUnmonitoredPoints: true,
|
|
103
113
|
forEventsView: false,
|
|
104
114
|
forWWTPDashboard: true
|
|
105
|
-
}));
|
|
115
|
+
})))));
|
|
106
116
|
};
|
|
107
117
|
var Container = _styledComponents.default.div.withConfig({
|
|
108
118
|
displayName: "WWTPMap__Container",
|
|
109
119
|
componentId: "sc-19ltp4c-0"
|
|
110
|
-
})(["width:100vw;height:calc(100vh -
|
|
120
|
+
})(["width:100vw;.map-column{z-index:0;}.kd-map-container{height:calc(100vh - 134px);width:100%;@media (max-width:1250px){height:calc(100vh - 125px);}#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}}}"]);
|
|
111
121
|
var _default = WWTPMap;
|
|
112
122
|
exports.default = _default;
|
|
113
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIldXVFBNYXAiLCJwcm9wcyIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJpZCIsImlzTWFwVGFiIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiYXJlYXNfZGF0YSIsImdsb2JhbF9kYXRhIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid3d0cF9kYXNoYm9hcmQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwb2ludHMiLCJzZXRQb2ludHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFyZWFzIiwic2V0QXJlYXMiLCJfdXNlU3RhdGU1IiwicG9pbnQiLCJhcmVhIiwiX3VzZVN0YXRlNiIsIldXVFBJbmZvIiwic2V0V1dUUEluZm8iLCJkYXRhRXhpc3RzIiwibmV3QXJlYXMiLCJsZW5ndGgiLCJpdGVtcyIsInVzZUVmZmVjdCIsIm1hcCIsImxhdGxuZyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiZml0Qm91bmRzIiwiaXNGZXRjaGluZyIsIndhdGVyQXV0aG9yaXR5SWQiLCJmZXRjaFBvaW50cyIsImZldGNoRWRnZXMiLCJmZXRjaEFyZWFzIiwiZGFzaGJvYXJkIiwicGVyaW9kIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwiY2xlYW51cCIsInNldEZvY3VzZWRBcmVhIiwic2V0TWFwIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiTG9hZGVyIiwiQ29udGFpbmVyIiwiTGlzdCIsIk1hcCIsImVkZ2VzIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJmb3JFdmVudHNWaWV3IiwiZm9yV1dUUERhc2hib2FyZCIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XV1RQTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IHsgZmV0Y2hBcmVhcyB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoRWRnZXMgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICcuL0xpc3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZVdXVFBEYXRhIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuL0xvYWRlcic7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRBcmVhLFxuICBzZXRNYXAsXG59IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgaXNNYXBUYWI6IGJvb2xlYW47XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xufVxuY29uc3QgV1dUUE1hcDogUmVhY3QuRkM8Q2FwYWNpdHlNYXBDb250YWluZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBpZCB9ID0gdXNlUGFyYW1zKCk7XG4gIGNvbnN0IHsgaXNNYXBUYWIgfSA9IHByb3BzO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIHd3dHBfZGFzaGJvYXJkIH0gPVxuICAgIFJlZHV4U3RhdGU7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYXJlYXMsIHNldEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhW10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW1dXVFBJbmZvLCBzZXRXV1RQSW5mb10gPSB1c2VTdGF0ZTx7XG4gICAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gICAgYXJlYTogSUFyZWEgfCBudWxsO1xuICB9Pih7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICBsZXQgZGF0YUV4aXN0cyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIVdXVFBJbmZvLnBvaW50IHx8XG4gICAgICAhd3d0cF9kYXNoYm9hcmQubWFwIHx8XG4gICAgICAhaXNNYXBUYWIgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgIXd3dHBfZGFzaGJvYXJkLm1hcFxuICAgIClcbiAgICAgIHJldHVybjtcbiAgICBjb25zdCBsYXRsbmcgPSBbV1dUUEluZm8ucG9pbnQubGF0aXR1ZGUsIFdXVFBJbmZvLnBvaW50LmxvbmdpdHVkZV07XG4gICAgd3d0cF9kYXNoYm9hcmQubWFwLmZpdEJvdW5kcyhbbGF0bG5nXSk7XG4gIH0sIFtXV1RQSW5mbywgd3d0cF9kYXNoYm9hcmQubWFwLCBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLCBpc01hcFRhYl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQgJiYgaXNNYXBUYWIpIHtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goXG4gICAgICAgIGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFtcbiAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoLFxuICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCxcbiAgICBpc01hcFRhYixcbiAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0UG9pbnRzKG51bGwpO1xuICAgICAgc2V0QXJlYXMobnVsbCk7XG4gICAgICBzZXRXV1RQSW5mbyh7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEobnVsbCkpO1xuICAgICAgZGlzcGF0Y2goc2V0TWFwKG51bGwpKTtcbiAgICB9O1xuICB9LCBbaXNNYXBUYWIsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gPD48Lz47XG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzIHx8ICFXV1RQSW5mbykgcmV0dXJuIDxMb2FkZXIgLz47XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgPExpc3RcbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICBXV1RQSW5mbz17V1dUUEluZm99XG4gICAgICAvPlxuICAgICAgPE1hcFxuICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYXNbMF19XG4gICAgICAgIGZvY3VzZWRFdmVudD17bnVsbH1cbiAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXt0cnVlfVxuICAgICAgICBmb3JFdmVudHNWaWV3PXtmYWxzZX1cbiAgICAgICAgZm9yV1dUUERhc2hib2FyZD17dHJ1ZX1cbiAgICAgIC8+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDY1cHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBlbSk7XG5cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FB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
|
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJfTGlzdENvbnRleHQiLCJfcmVhY3RCb290c3RyYXAiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIldXVFBNYXAiLCJwcm9wcyIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJpZCIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZWRnZXNfZGF0YSIsInd3dHBfZGFzaGJvYXJkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwicG9pbnRzIiwic2V0UG9pbnRzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJhcmVhcyIsInNldEFyZWFzIiwiX3VzZVN0YXRlNSIsInBvaW50IiwiYXJlYSIsIl91c2VTdGF0ZTYiLCJXV1RQSW5mbyIsInNldFdXVFBJbmZvIiwiZGF0YUV4aXN0cyIsIm5ld0FyZWFzIiwibGVuZ3RoIiwiaXRlbXMiLCJ1c2VFZmZlY3QiLCJtYXAiLCJsYXRsbmciLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsImZpdEJvdW5kcyIsImlzRmV0Y2hpbmciLCJ3YXRlckF1dGhvcml0eUlkIiwiZmV0Y2hQb2ludHMiLCJmZXRjaEVkZ2VzIiwiZmV0Y2hBcmVhcyIsImRhc2hib2FyZCIsInBlcmlvZCIsImluaXRpYWxpemVXV1RQRGF0YSIsImNsZWFudXAiLCJzZXRGb2N1c2VkQXJlYSIsInNldE1hcCIsImNyZWF0ZUVsZW1lbnQiLCJMb2FkZXIiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJMaXN0IiwiTWFwIiwiZWRnZXMiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dXVFBNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vTGlzdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBpbml0aWFsaXplV1dUUERhdGEgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4vTG9hZGVyJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEFyZWEsXG4gIHNldE1hcCxcbn0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgU2VsZWN0ZWRJdGVtUHJvdmlkZXIgfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IFJvdywgQ29sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGlkIH0gPSB1c2VQYXJhbXMoKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgYXJlYXNfZGF0YSwgZ2xvYmFsX2RhdGEsIHBvaW50c19kYXRhLCBlZGdlc19kYXRhLCB3d3RwX2Rhc2hib2FyZCB9ID1cbiAgICBSZWR1eFN0YXRlO1xuICBjb25zdCBbcG9pbnRzLCBzZXRQb2ludHNdID0gdXNlU3RhdGU8SVBvaW50W10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2FyZWFzLCBzZXRBcmVhc10gPSB1c2VTdGF0ZTxJQXJlYVtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtXV1RQSW5mbywgc2V0V1dUUEluZm9dID0gdXNlU3RhdGU8e1xuICAgIHBvaW50OiBJUG9pbnQgfCBudWxsO1xuICAgIGFyZWE6IElBcmVhIHwgbnVsbDtcbiAgfT4oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgbGV0IGRhdGFFeGlzdHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIGVkZ2VzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgICFXV1RQSW5mby5wb2ludCB8fFxuICAgICAgIXd3dHBfZGFzaGJvYXJkLm1hcCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoID09PSAwIHx8XG4gICAgICAhd3d0cF9kYXNoYm9hcmQubWFwXG4gICAgKVxuICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IGxhdGxuZyA9IFtXV1RQSW5mby5wb2ludC5sYXRpdHVkZSwgV1dUUEluZm8ucG9pbnQubG9uZ2l0dWRlXTtcbiAgICB3d3RwX2Rhc2hib2FyZC5tYXAuZml0Qm91bmRzKFtsYXRsbmddKTtcbiAgfSwgW1dXVFBJbmZvLCB3d3RwX2Rhc2hib2FyZC5tYXAsIHBvaW50c19kYXRhLmlzRmV0Y2hpbmddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKFxuICAgICAgICBmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZCksXG4gICAgICApO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVXV1RQRGF0YSh7XG4gICAgICBhcmVhc19kYXRhLFxuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBzZXRQb2ludHMsXG4gICAgICBzZXRBcmVhcyxcbiAgICAgIHNldFdXVFBJbmZvLFxuICAgICAgZGF0YUV4aXN0cyxcbiAgICAgIGlkLFxuICAgIH0pO1xuICB9LCBbXG4gICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCxcbiAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGgsXG4gICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kLFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0UG9pbnRzKG51bGwpO1xuICAgICAgc2V0QXJlYXMobnVsbCk7XG4gICAgICBzZXRXV1RQSW5mbyh7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEobnVsbCkpO1xuICAgICAgZGlzcGF0Y2goc2V0TWFwKG51bGwpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzIHx8ICFXV1RQSW5mbykgcmV0dXJuIDxMb2FkZXIgLz47XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICAgICAgPENvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgICA8Um93IGNsYXNzTmFtZT1cIm5vLWd1dHRlcnNcIj5cbiAgICAgICAgICA8Q29sIHhzPVwiYXV0b1wiIHNtPXs0fSBjbGFzc05hbWU9XCJkLW5vbmUgZC1zbS1mbGV4XCI+XG4gICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIFdXVFBJbmZvPXtXV1RQSW5mb31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgeHM9ezEyfSBzbT17OH0+XG4gICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhc1swXX1cbiAgICAgICAgICAgICAgZm9jdXNlZEV2ZW50PXtudWxsfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L1NlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMHZ3O1xuXG4gIC5tYXAtY29sdW1uIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLmtkLW1hcC1jb250YWluZXIge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEyNXB4KTtcbiAgICB9XG5cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAqLFxuICAgICAgKjpmb2N1cyxcbiAgICAgICo6aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLG1CQUFBLEdBQUFYLE9BQUE7QUFJQSxJQUFBWSxZQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxlQUFBLEdBQUFiLE9BQUE7QUFBMkMsU0FBQWMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FB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
|
|
@@ -13,97 +13,218 @@ var _reactBootstrap = require("react-bootstrap");
|
|
|
13
13
|
var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
|
|
14
14
|
var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
|
|
15
15
|
var _InletsPie = _interopRequireDefault(require("../../ui-kit/InletsPie"));
|
|
16
|
+
var _utils = require("./utils");
|
|
17
|
+
var _icons = require("assets/icons");
|
|
16
18
|
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); }
|
|
17
19
|
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; }
|
|
18
20
|
var Widget = function Widget(props) {
|
|
19
21
|
var object = props.object,
|
|
20
22
|
dispatch = props.dispatch,
|
|
21
23
|
points = props.points,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
24
|
+
map = props.map,
|
|
25
|
+
global_data = props.global_data,
|
|
26
|
+
listData = props.listData;
|
|
27
|
+
var _useState = (0, _react.useState)(null),
|
|
28
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
29
|
+
area = _useState2[0],
|
|
30
|
+
setArea = _useState2[1];
|
|
31
|
+
var _useState3 = (0, _react.useState)(null),
|
|
32
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
33
|
+
point = _useState4[0],
|
|
34
|
+
setPoint = _useState4[1];
|
|
35
|
+
var _useState5 = (0, _react.useState)(''),
|
|
36
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
37
|
+
buttonName = _useState6[0],
|
|
38
|
+
setButtonName = _useState6[1];
|
|
39
|
+
var _useState7 = (0, _react.useState)([]),
|
|
40
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
41
|
+
listItems = _useState8[0],
|
|
42
|
+
setListItems = _useState8[1];
|
|
38
43
|
var handleClick = function handleClick() {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
map.closePopup();
|
|
45
|
+
if (area) {
|
|
46
|
+
var focusedArea = area;
|
|
47
|
+
if (listItems && listItems.length > 0) {
|
|
48
|
+
var copy = (0, _objectSpread2.default)({}, focusedArea);
|
|
49
|
+
copy.factories = getPoints();
|
|
50
|
+
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(copy));
|
|
51
|
+
} else {
|
|
52
|
+
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedArea));
|
|
53
|
+
}
|
|
45
54
|
} else {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (area.sub_areas !== undefined) {
|
|
52
|
-
area.sub_areas.forEach(function (sub_area) {
|
|
53
|
-
data.push({
|
|
54
|
-
name: sub_area.area_name,
|
|
55
|
-
organic_load: 5,
|
|
56
|
-
tooltipValue: 15
|
|
55
|
+
if (point) {
|
|
56
|
+
var focusedPoint = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, point), {}, {
|
|
57
|
+
factories: getPoints(),
|
|
58
|
+
sub_areas: [],
|
|
59
|
+
shape_data: [[point.latitude, point.longitude]]
|
|
57
60
|
});
|
|
58
|
-
|
|
61
|
+
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedPoint));
|
|
62
|
+
}
|
|
59
63
|
}
|
|
60
|
-
|
|
61
|
-
getPoints(area).forEach(function (point) {
|
|
62
|
-
data.push({
|
|
63
|
-
name: point.name,
|
|
64
|
-
organic_load: 5,
|
|
65
|
-
tooltipValue: 15
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
return data;
|
|
64
|
+
sendButtonClickedAnalytics();
|
|
70
65
|
};
|
|
66
|
+
var sendButtonClickedAnalytics = function sendButtonClickedAnalytics() {
|
|
67
|
+
(0, _utils.sendAnalyticsEvent)('Map view - Popup drilldown clicked', buttonName, {
|
|
68
|
+
utility_name: global_data.waterAuthorityName
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// Return the point objects of all items in the list
|
|
73
|
+
var getPoints = function getPoints() {
|
|
74
|
+
if (listItems === null || points === undefined || points.length === 0) return [];
|
|
75
|
+
var ids = listItems.map(function (item) {
|
|
76
|
+
return item.id;
|
|
77
|
+
});
|
|
78
|
+
var returnedPoints = points.filter(function (point) {
|
|
79
|
+
return ids.includes(point.id);
|
|
80
|
+
});
|
|
81
|
+
return returnedPoints;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
// Return the area objects of all items in the list
|
|
85
|
+
// const getAreas = () => {
|
|
86
|
+
// if (listItems === null || areas === undefined || areas.length === 0) return [];
|
|
87
|
+
// let ids: any[] = listItems.map((item) => item.id);
|
|
88
|
+
// const returnedPoints = areas.filter((area) => ids.includes(area.area_id));
|
|
89
|
+
|
|
90
|
+
// return returnedPoints;
|
|
91
|
+
// };
|
|
92
|
+
|
|
93
|
+
// Return the points that are in the same area as the WWTP and is_inlet is true
|
|
94
|
+
// const setPointInletsAndButton = () => {
|
|
95
|
+
// setInlets(
|
|
96
|
+
// points.filter(
|
|
97
|
+
// (inlet) =>
|
|
98
|
+
// inlet.group.area_id === point?.group.area_id &&
|
|
99
|
+
// inlet.is_inlet === true,
|
|
100
|
+
// ),
|
|
101
|
+
// );
|
|
102
|
+
// if (inlets.length === 0) {
|
|
103
|
+
// setInlets(getFactories(point?.group.area_id));
|
|
104
|
+
// setButtonName('view_factories');
|
|
105
|
+
// } else {
|
|
106
|
+
// setButtonName('view_inlets');
|
|
107
|
+
// }
|
|
108
|
+
// };
|
|
109
|
+
|
|
110
|
+
// const setAreaInlets = () => {
|
|
111
|
+
// if (area !== undefined && area !== null) {
|
|
112
|
+
// setInlets(area?.sub_areas.filter((inlet) => inlet.is_inlet === true));
|
|
113
|
+
// }
|
|
114
|
+
// };
|
|
115
|
+
|
|
116
|
+
// const getAreaData = () => {
|
|
117
|
+
// let areaData: any = [];
|
|
118
|
+
|
|
119
|
+
// if (area?.is_wwtp === true && inlets?.length > 0) {
|
|
120
|
+
// areaData = inlets.map((area) => ({ ...area, name: area.area_name }));
|
|
121
|
+
// } else {
|
|
122
|
+
// if (area?.sub_areas && area.sub_areas.length > 0) {
|
|
123
|
+
// areaData = area.sub_areas.map(
|
|
124
|
+
// (sub_area) => (
|
|
125
|
+
// sub_area.isInlet === false,
|
|
126
|
+
// {
|
|
127
|
+
// ...sub_area,
|
|
128
|
+
// name: sub_area.area_name,
|
|
129
|
+
// }
|
|
130
|
+
// ),
|
|
131
|
+
// );
|
|
132
|
+
// } else {
|
|
133
|
+
// if (points && points.length > 0) {
|
|
134
|
+
// areaData = getFactories(area?.area_id);
|
|
135
|
+
// }
|
|
136
|
+
// }
|
|
137
|
+
// }
|
|
138
|
+
// return areaData;
|
|
139
|
+
// };
|
|
140
|
+
|
|
141
|
+
// const dataForPie = () => {
|
|
142
|
+
// let data: any = [];
|
|
143
|
+
// if (area) {
|
|
144
|
+
// if (areaData && areaData.length > 0) {
|
|
145
|
+
// areaData.forEach((item) => {
|
|
146
|
+
// data.push({ name: item.name, organic_load: 5, tooltipValue: 15 });
|
|
147
|
+
// });
|
|
148
|
+
// }
|
|
149
|
+
// } else {
|
|
150
|
+
// if (point) {
|
|
151
|
+
// console.warn(point.name, inlets);
|
|
152
|
+
// inlets?.forEach((inlet) => {
|
|
153
|
+
// data.push({ name: inlet.name, organic_load: 5, tooltipValue: 15 });
|
|
154
|
+
// });
|
|
155
|
+
// }
|
|
156
|
+
// }
|
|
157
|
+
// return data;
|
|
158
|
+
// };
|
|
159
|
+
|
|
71
160
|
var title = function title() {
|
|
161
|
+
var payload = '';
|
|
72
162
|
if (point) {
|
|
73
|
-
|
|
163
|
+
payload = point.name;
|
|
74
164
|
} else {
|
|
75
|
-
|
|
165
|
+
if (area) {
|
|
166
|
+
payload = area.area_name;
|
|
167
|
+
}
|
|
76
168
|
}
|
|
169
|
+
return payload;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
// const calcAreaButtonName = () => {
|
|
173
|
+
// let name = 'view_factories';
|
|
174
|
+
// if (area) {
|
|
175
|
+
// console.warn(area.area_name, area.is_wwtp, inlets?.length);
|
|
176
|
+
// if (area.is_wwtp === true && inlets?.length > 0) {
|
|
177
|
+
// name = 'view_inlets';
|
|
178
|
+
// } else {
|
|
179
|
+
// if (area?.sub_areas && area.sub_areas.length > 0) {
|
|
180
|
+
// name = 'view_sub_areas';
|
|
181
|
+
// }
|
|
182
|
+
// }
|
|
183
|
+
// }
|
|
184
|
+
// return name;
|
|
185
|
+
// };
|
|
186
|
+
|
|
187
|
+
var buttonTitle = function buttonTitle() {
|
|
188
|
+
return _i18n.default.t("wwtpPage.".concat(buttonName));
|
|
77
189
|
};
|
|
78
190
|
(0, _react.useEffect)(function () {
|
|
79
191
|
var isAPoint = object.forWWTPMap !== undefined;
|
|
80
|
-
var area;
|
|
81
192
|
if (isAPoint) {
|
|
82
|
-
if (!object.group.area_id || !areas) return;
|
|
83
|
-
area = areas.find(function (area) {
|
|
84
|
-
return area.area_id === object.group.area_id;
|
|
85
|
-
});
|
|
86
|
-
if (area) setArea(area);
|
|
87
193
|
setPoint(object);
|
|
88
194
|
} else {
|
|
89
195
|
setArea(object);
|
|
90
196
|
}
|
|
91
|
-
}, [object
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
197
|
+
}, [object]);
|
|
198
|
+
(0, _react.useEffect)(function () {
|
|
199
|
+
if (listData === undefined) return;
|
|
200
|
+
console.warn("".concat((point === null || point === void 0 ? void 0 : point.name) || (area === null || area === void 0 ? void 0 : area.area_name), " - listData"), listData);
|
|
201
|
+
setListItems(listData === null || listData === void 0 ? void 0 : listData.data);
|
|
202
|
+
setButtonName((listData === null || listData === void 0 ? void 0 : listData.type) === 'Groups:Factory' ? 'view_factories' : 'view_inlets');
|
|
203
|
+
}, [listData]);
|
|
204
|
+
var widgetContent = function widgetContent() {
|
|
205
|
+
var data = listData === null || listData === void 0 ? void 0 : listData.data;
|
|
206
|
+
if ((data === null || data === void 0 ? void 0 : data.length) > 0) {
|
|
207
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
208
|
+
onClick: function onClick() {
|
|
209
|
+
return handleClick();
|
|
210
|
+
},
|
|
211
|
+
className: 'childrenButton rounded-pill btn-light'
|
|
212
|
+
}, buttonTitle()), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
|
|
213
|
+
inlets: listItems
|
|
214
|
+
}));
|
|
215
|
+
} else {
|
|
216
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
217
|
+
className: "no-result-icon"
|
|
218
|
+
}, /*#__PURE__*/_react.default.createElement(_icons.NoResultSvg, null)), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("div", {
|
|
219
|
+
className: "no-result-msg1"
|
|
220
|
+
}, _i18n.default.t("wwtpPage.no_result_1")), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("h3", {
|
|
221
|
+
className: "no-result-msg2"
|
|
222
|
+
}, _i18n.default.t("wwtpPage.no_result_2")));
|
|
98
223
|
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
className: 'childrenButton rounded-pill btn-light'
|
|
104
|
-
}, _i18n.default.t('wwtpPage.see_children')), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
|
|
105
|
-
inlets: dataForPie(area)
|
|
106
|
-
}))));
|
|
224
|
+
};
|
|
225
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h3", null, title()), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card, {
|
|
226
|
+
className: "bg-white widget-container"
|
|
227
|
+
}, widgetContent()));
|
|
107
228
|
};
|
|
108
229
|
exports.Widget = Widget;
|
|
109
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsImFyZWFzIiwiX1JlYWN0JHVzZVN0YXRlIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIl9SZWFjdCR1c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl9SZWFjdCR1c2VTdGF0ZTMiLCJfUmVhY3QkdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsImdldFBvaW50cyIsInVuZGVmaW5lZCIsInBvaW50c09mQXJlYSIsImZpbHRlciIsImdyb3VwIiwiYXJlYV9pZCIsImhhbmRsZUNsaWNrIiwiYXJlYVRvRm9jdXMiLCJjb3B5IiwiX29iamVjdFNwcmVhZDIiLCJmYWN0b3JpZXMiLCJzZXRGb2N1c2VkQXJlYSIsImRhdGFGb3JQaWUiLCJkYXRhIiwic3ViX2FyZWFzIiwiZm9yRWFjaCIsInN1Yl9hcmVhIiwicHVzaCIsIm5hbWUiLCJhcmVhX25hbWUiLCJvcmdhbmljX2xvYWQiLCJ0b29sdGlwVmFsdWUiLCJ0aXRsZSIsInVzZUVmZmVjdCIsImlzQVBvaW50IiwiZm9yV1dUUE1hcCIsImZpbmQiLCJjcmVhdGVFbGVtZW50IiwiQ2FyZCIsImNsYXNzTmFtZSIsInN0eWxlIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwiQnV0dG9uIiwib25DbGljayIsImkxOG4iLCJ0IiwiaW5sZXRzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBDYXJkIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IElubGV0c1BpZSBmcm9tICcuLi8uLi91aS1raXQvSW5sZXRzUGllJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIG9iamVjdDogYW55O1xuICBkaXNwYXRjaDogYW55O1xuICBwb2ludHM6IElQb2ludFtdO1xuICBhcmVhcz86IElBcmVhW107XG59O1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb2JqZWN0LCBkaXNwYXRjaCwgcG9pbnRzLCBhcmVhcyB9ID0gcHJvcHM7XG4gIGNvbnN0IFthcmVhLCBzZXRBcmVhXSA9IFJlYWN0LnVzZVN0YXRlPElBcmVhIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb2ludCwgc2V0UG9pbnRdID0gUmVhY3QudXNlU3RhdGU8SVBvaW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGdldFBvaW50cyA9IChhcmVhKSA9PiB7XG4gICAgaWYgKCFwb2ludHMpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgbGV0IHBvaW50c09mQXJlYSA9IHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiB7XG4gICAgICByZXR1cm4gcG9pbnQuZ3JvdXAuYXJlYV9pZCA9PT0gYXJlYS5hcmVhX2lkO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBvaW50c09mQXJlYTtcbiAgfTtcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFhcmVhKSByZXR1cm47XG4gICAgbGV0IGFyZWFUb0ZvY3VzID0gYXJlYTtcbiAgICBpZiAoZ2V0UG9pbnRzKGFyZWFUb0ZvY3VzKSkge1xuICAgICAgbGV0IGNvcHkgPSB7IC4uLmFyZWFUb0ZvY3VzIH07XG4gICAgICBjb3B5LmZhY3RvcmllcyA9IGdldFBvaW50cyhhcmVhVG9Gb2N1cyk7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShjb3B5KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGFyZWFUb0ZvY3VzKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRhdGFGb3JQaWUgPSAoYXJlYSkgPT4ge1xuICAgIGxldCBkYXRhID0gW107XG4gICAgaWYgKGFyZWEuc3ViX2FyZWFzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhKSA9PiB7XG4gICAgICAgIGRhdGEucHVzaCh7XG4gICAgICAgICAgbmFtZTogc3ViX2FyZWEuYXJlYV9uYW1lLFxuICAgICAgICAgIG9yZ2FuaWNfbG9hZDogNSxcbiAgICAgICAgICB0b29sdGlwVmFsdWU6IDE1LFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChnZXRQb2ludHMoYXJlYSkpIHtcbiAgICAgIGdldFBvaW50cyhhcmVhKS5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBkYXRhLnB1c2goeyBuYW1lOiBwb2ludC5uYW1lLCBvcmdhbmljX2xvYWQ6IDUsIHRvb2x0aXBWYWx1ZTogMTUgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfTtcblxuICBjb25zdCB0aXRsZSA9ICgpID0+IHtcbiAgICBpZiAocG9pbnQpIHtcbiAgICAgIHJldHVybiBwb2ludC5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2JqZWN0LmFyZWFfbmFtZTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBUG9pbnQgPSBvYmplY3QuZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkO1xuICAgIGxldCBhcmVhO1xuXG4gICAgaWYgKGlzQVBvaW50KSB7XG4gICAgICBpZiAoIW9iamVjdC5ncm91cC5hcmVhX2lkIHx8ICFhcmVhcykgcmV0dXJuO1xuICAgICAgYXJlYSA9IGFyZWFzLmZpbmQoKGFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gb2JqZWN0Lmdyb3VwLmFyZWFfaWQpO1xuICAgICAgaWYgKGFyZWEpIHNldEFyZWEoYXJlYSk7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBcmVhKG9iamVjdCk7XG4gICAgfVxuICB9LCBbb2JqZWN0LCBhcmVhXSk7XG5cbiAgaWYgKCFhcmVhKSByZXR1cm4gPGRpdj48L2Rpdj47XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxDYXJkXG4gICAgICAgIGNsYXNzTmFtZT1cImJnLXdoaXRlIG0tMyBwLTMgd2lkZ2V0LWNvbnRhaW5lclwiXG4gICAgICAgIHN0eWxlPXt7IGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDAsMCwwLDApJywgYm9yZGVyUmFkaXVzOiAnMWVtJyB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHs8aDM+e3RpdGxlKCl9PC9oMz59XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xpY2soKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2NoaWxkcmVuQnV0dG9uIHJvdW5kZWQtcGlsbCBidG4tbGlnaHQnfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoJ3d3dHBQYWdlLnNlZV9jaGlsZHJlbicpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxJbmxldHNQaWUgaW5sZXRzPXtkYXRhRm9yUGllKGFyZWEpfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ2FyZD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQStDLFNBQUFNLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBUix3QkFBQVksR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxL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
|
|
230
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9pY29ucyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsIm1hcCIsImdsb2JhbF9kYXRhIiwibGlzdERhdGEiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiYnV0dG9uTmFtZSIsInNldEJ1dHRvbk5hbWUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImxpc3RJdGVtcyIsInNldExpc3RJdGVtcyIsImhhbmRsZUNsaWNrIiwiY2xvc2VQb3B1cCIsImZvY3VzZWRBcmVhIiwibGVuZ3RoIiwiY29weSIsIl9vYmplY3RTcHJlYWQyIiwiZmFjdG9yaWVzIiwiZ2V0UG9pbnRzIiwic2V0Rm9jdXNlZEFyZWEiLCJmb2N1c2VkUG9pbnQiLCJzdWJfYXJlYXMiLCJzaGFwZV9kYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcyIsInNlbmRBbmFseXRpY3NFdmVudCIsInV0aWxpdHlfbmFtZSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInVuZGVmaW5lZCIsImlkcyIsIml0ZW0iLCJpZCIsInJldHVybmVkUG9pbnRzIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJ0aXRsZSIsInBheWxvYWQiLCJuYW1lIiwiYXJlYV9uYW1lIiwiYnV0dG9uVGl0bGUiLCJpMThuIiwidCIsImNvbmNhdCIsInVzZUVmZmVjdCIsImlzQVBvaW50IiwiZm9yV1dUUE1hcCIsImNvbnNvbGUiLCJ3YXJuIiwiZGF0YSIsInR5cGUiLCJ3aWRnZXRDb250ZW50IiwiY3JlYXRlRWxlbWVudCIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJjbGFzc05hbWUiLCJpbmxldHMiLCJOb1Jlc3VsdFN2ZyIsIkZyYWdtZW50IiwiQ2FyZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgSW5sZXRzUGllIGZyb20gJy4uLy4uL3VpLWtpdC9JbmxldHNQaWUnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBOb1Jlc3VsdFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgb2JqZWN0OiBhbnk7XG4gIGRpc3BhdGNoOiBhbnk7XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBhcmVhcz86IElBcmVhW107XG4gIG1hcDtcbiAgZ2xvYmFsX2RhdGE7XG4gIGxpc3REYXRhOiBhbnk7XG59O1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb2JqZWN0LCBkaXNwYXRjaCwgcG9pbnRzLCBtYXAsIGdsb2JhbF9kYXRhLCBsaXN0RGF0YSB9ID0gcHJvcHM7XG4gIGNvbnN0IFthcmVhLCBzZXRBcmVhXSA9IHVzZVN0YXRlPElBcmVhIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb2ludCwgc2V0UG9pbnRdID0gdXNlU3RhdGU8SVBvaW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtidXR0b25OYW1lLCBzZXRCdXR0b25OYW1lXSA9IHVzZVN0YXRlPHN0cmluZz4oJycpO1xuICBjb25zdCBbbGlzdEl0ZW1zLCBzZXRMaXN0SXRlbXNdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcblxuICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgIGlmIChhcmVhKSB7XG4gICAgICBsZXQgZm9jdXNlZEFyZWEgPSBhcmVhO1xuICAgICAgaWYgKGxpc3RJdGVtcyAmJiBsaXN0SXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgY29weSA9IHsgLi4uZm9jdXNlZEFyZWEgfTtcbiAgICAgICAgY29weS5mYWN0b3JpZXMgPSBnZXRQb2ludHMoKTtcbiAgICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoY29weSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoZm9jdXNlZEFyZWEpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBvaW50KSB7XG4gICAgICAgIGxldCBmb2N1c2VkUG9pbnQgPSB7XG4gICAgICAgICAgLi4ucG9pbnQsXG4gICAgICAgICAgZmFjdG9yaWVzOiBnZXRQb2ludHMoKSxcbiAgICAgICAgICBzdWJfYXJlYXM6IFtdLFxuICAgICAgICAgIHNoYXBlX2RhdGE6IFtbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV1dLFxuICAgICAgICB9O1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShmb2N1c2VkUG9pbnQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgc2VuZEJ1dHRvbkNsaWNrZWRBbmFseXRpY3MoKTtcbiAgfTtcblxuICBjb25zdCBzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcyA9ICgpID0+IHtcbiAgICBzZW5kQW5hbHl0aWNzRXZlbnQoJ01hcCB2aWV3IC0gUG9wdXAgZHJpbGxkb3duIGNsaWNrZWQnLCBidXR0b25OYW1lLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfTtcblxuICAvLyBSZXR1cm4gdGhlIHBvaW50IG9iamVjdHMgb2YgYWxsIGl0ZW1zIGluIHRoZSBsaXN0XG4gIGNvbnN0IGdldFBvaW50cyA9ICgpID0+IHtcbiAgICBpZiAobGlzdEl0ZW1zID09PSBudWxsIHx8IHBvaW50cyA9PT0gdW5kZWZpbmVkIHx8IHBvaW50cy5sZW5ndGggPT09IDApXG4gICAgICByZXR1cm4gW107XG4gICAgbGV0IGlkczogbnVtYmVyW10gPSBsaXN0SXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKTtcbiAgICBjb25zdCByZXR1cm5lZFBvaW50cyA9IHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiBpZHMuaW5jbHVkZXMocG9pbnQuaWQpKTtcblxuICAgIHJldHVybiByZXR1cm5lZFBvaW50cztcbiAgfTtcblxuICAvLyBSZXR1cm4gdGhlIGFyZWEgb2JqZWN0cyBvZiBhbGwgaXRlbXMgaW4gdGhlIGxpc3RcbiAgLy8gY29uc3QgZ2V0QXJlYXMgPSAoKSA9PiB7XG4gIC8vICAgaWYgKGxpc3RJdGVtcyA9PT0gbnVsbCB8fCBhcmVhcyA9PT0gdW5kZWZpbmVkIHx8IGFyZWFzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xuICAvLyAgIGxldCBpZHM6IGFueVtdID0gbGlzdEl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCk7XG4gIC8vICAgY29uc3QgcmV0dXJuZWRQb2ludHMgPSBhcmVhcy5maWx0ZXIoKGFyZWEpID0+IGlkcy5pbmNsdWRlcyhhcmVhLmFyZWFfaWQpKTtcblxuICAvLyAgIHJldHVybiByZXR1cm5lZFBvaW50cztcbiAgLy8gfTtcblxuICAvLyBSZXR1cm4gdGhlIHBvaW50cyB0aGF0IGFyZSBpbiB0aGUgc2FtZSBhcmVhIGFzIHRoZSBXV1RQIGFuZCBpc19pbmxldCBpcyB0cnVlXG4gIC8vIGNvbnN0IHNldFBvaW50SW5sZXRzQW5kQnV0dG9uID0gKCkgPT4ge1xuICAvLyAgIHNldElubGV0cyhcbiAgLy8gICAgIHBvaW50cy5maWx0ZXIoXG4gIC8vICAgICAgIChpbmxldCkgPT5cbiAgLy8gICAgICAgICBpbmxldC5ncm91cC5hcmVhX2lkID09PSBwb2ludD8uZ3JvdXAuYXJlYV9pZCAmJlxuICAvLyAgICAgICAgIGlubGV0LmlzX2lubGV0ID09PSB0cnVlLFxuICAvLyAgICAgKSxcbiAgLy8gICApO1xuICAvLyAgIGlmIChpbmxldHMubGVuZ3RoID09PSAwKSB7XG4gIC8vICAgICBzZXRJbmxldHMoZ2V0RmFjdG9yaWVzKHBvaW50Py5ncm91cC5hcmVhX2lkKSk7XG4gIC8vICAgICBzZXRCdXR0b25OYW1lKCd2aWV3X2ZhY3RvcmllcycpO1xuICAvLyAgIH0gZWxzZSB7XG4gIC8vICAgICBzZXRCdXR0b25OYW1lKCd2aWV3X2lubGV0cycpO1xuICAvLyAgIH1cbiAgLy8gfTtcblxuICAvLyBjb25zdCBzZXRBcmVhSW5sZXRzID0gKCkgPT4ge1xuICAvLyAgIGlmIChhcmVhICE9PSB1bmRlZmluZWQgJiYgYXJlYSAhPT0gbnVsbCkge1xuICAvLyAgICAgc2V0SW5sZXRzKGFyZWE/LnN1Yl9hcmVhcy5maWx0ZXIoKGlubGV0KSA9PiBpbmxldC5pc19pbmxldCA9PT0gdHJ1ZSkpO1xuICAvLyAgIH1cbiAgLy8gfTtcblxuICAvLyBjb25zdCBnZXRBcmVhRGF0YSA9ICgpID0+IHtcbiAgLy8gICBsZXQgYXJlYURhdGE6IGFueSA9IFtdO1xuXG4gIC8vICAgaWYgKGFyZWE/LmlzX3d3dHAgPT09IHRydWUgJiYgaW5sZXRzPy5sZW5ndGggPiAwKSB7XG4gIC8vICAgICBhcmVhRGF0YSA9IGlubGV0cy5tYXAoKGFyZWEpID0+ICh7IC4uLmFyZWEsIG5hbWU6IGFyZWEuYXJlYV9uYW1lIH0pKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgaWYgKGFyZWE/LnN1Yl9hcmVhcyAmJiBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gIC8vICAgICAgIGFyZWFEYXRhID0gYXJlYS5zdWJfYXJlYXMubWFwKFxuICAvLyAgICAgICAgIChzdWJfYXJlYSkgPT4gKFxuICAvLyAgICAgICAgICAgc3ViX2FyZWEuaXNJbmxldCA9PT0gZmFsc2UsXG4gIC8vICAgICAgICAgICB7XG4gIC8vICAgICAgICAgICAgIC4uLnN1Yl9hcmVhLFxuICAvLyAgICAgICAgICAgICBuYW1lOiBzdWJfYXJlYS5hcmVhX25hbWUsXG4gIC8vICAgICAgICAgICB9XG4gIC8vICAgICAgICAgKSxcbiAgLy8gICAgICAgKTtcbiAgLy8gICAgIH0gZWxzZSB7XG4gIC8vICAgICAgIGlmIChwb2ludHMgJiYgcG9pbnRzLmxlbmd0aCA+IDApIHtcbiAgLy8gICAgICAgICBhcmVhRGF0YSA9IGdldEZhY3RvcmllcyhhcmVhPy5hcmVhX2lkKTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gYXJlYURhdGE7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgZGF0YUZvclBpZSA9ICgpID0+IHtcbiAgLy8gICBsZXQgZGF0YTogYW55ID0gW107XG4gIC8vICAgaWYgKGFyZWEpIHtcbiAgLy8gICAgIGlmIChhcmVhRGF0YSAmJiBhcmVhRGF0YS5sZW5ndGggPiAwKSB7XG4gIC8vICAgICAgIGFyZWFEYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgLy8gICAgICAgICBkYXRhLnB1c2goeyBuYW1lOiBpdGVtLm5hbWUsIG9yZ2FuaWNfbG9hZDogNSwgdG9vbHRpcFZhbHVlOiAxNSB9KTtcbiAgLy8gICAgICAgfSk7XG4gIC8vICAgICB9XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIGlmIChwb2ludCkge1xuICAvLyAgICAgICBjb25zb2xlLndhcm4ocG9pbnQubmFtZSwgaW5sZXRzKTtcbiAgLy8gICAgICAgaW5sZXRzPy5mb3JFYWNoKChpbmxldCkgPT4ge1xuICAvLyAgICAgICAgIGRhdGEucHVzaCh7IG5hbWU6IGlubGV0Lm5hbWUsIG9yZ2FuaWNfbG9hZDogNSwgdG9vbHRpcFZhbHVlOiAxNSB9KTtcbiAgLy8gICAgICAgfSk7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyAgIHJldHVybiBkYXRhO1xuICAvLyB9O1xuXG4gIGNvbnN0IHRpdGxlID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gJyc7XG4gICAgaWYgKHBvaW50KSB7XG4gICAgICBwYXlsb2FkID0gcG9pbnQubmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFyZWEpIHtcbiAgICAgICAgcGF5bG9hZCA9IGFyZWEuYXJlYV9uYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICAvLyBjb25zdCBjYWxjQXJlYUJ1dHRvbk5hbWUgPSAoKSA9PiB7XG4gIC8vICAgbGV0IG5hbWUgPSAndmlld19mYWN0b3JpZXMnO1xuICAvLyAgIGlmIChhcmVhKSB7XG4gIC8vICAgICBjb25zb2xlLndhcm4oYXJlYS5hcmVhX25hbWUsIGFyZWEuaXNfd3d0cCwgaW5sZXRzPy5sZW5ndGgpO1xuICAvLyAgICAgaWYgKGFyZWEuaXNfd3d0cCA9PT0gdHJ1ZSAmJiBpbmxldHM/Lmxlbmd0aCA+IDApIHtcbiAgLy8gICAgICAgbmFtZSA9ICd2aWV3X2lubGV0cyc7XG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBpZiAoYXJlYT8uc3ViX2FyZWFzICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDApIHtcbiAgLy8gICAgICAgICBuYW1lID0gJ3ZpZXdfc3ViX2FyZWFzJztcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gbmFtZTtcbiAgLy8gfTtcblxuICBjb25zdCBidXR0b25UaXRsZSA9ICgpID0+IHtcbiAgICByZXR1cm4gaTE4bi50KGB3d3RwUGFnZS4ke2J1dHRvbk5hbWV9YCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBUG9pbnQgPSBvYmplY3QuZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKGlzQVBvaW50KSB7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBcmVhKG9iamVjdCk7XG4gICAgfVxuICB9LCBbb2JqZWN0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobGlzdERhdGEgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gICAgY29uc29sZS53YXJuKGAke3BvaW50Py5uYW1lIHx8IGFyZWE/LmFyZWFfbmFtZX0gLSBsaXN0RGF0YWAsIGxpc3REYXRhKTtcbiAgICBzZXRMaXN0SXRlbXMobGlzdERhdGE/LmRhdGEpO1xuICAgIHNldEJ1dHRvbk5hbWUoXG4gICAgICBsaXN0RGF0YT8udHlwZSA9PT0gJ0dyb3VwczpGYWN0b3J5JyA/ICd2aWV3X2ZhY3RvcmllcycgOiAndmlld19pbmxldHMnLFxuICAgICk7XG4gIH0sIFtsaXN0RGF0YV0pO1xuXG4gIGNvbnN0IHdpZGdldENvbnRlbnQgPSAoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGxpc3REYXRhPy5kYXRhO1xuICAgIGlmIChkYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKCl9XG4gICAgICAgICAgICBjbGFzc05hbWU9eydjaGlsZHJlbkJ1dHRvbiByb3VuZGVkLXBpbGwgYnRuLWxpZ2h0J31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YnV0dG9uVGl0bGUoKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8SW5sZXRzUGllIGlubGV0cz17bGlzdEl0ZW1zfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuby1yZXN1bHQtaWNvblwiPlxuICAgICAgICAgICAgPE5vUmVzdWx0U3ZnIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuby1yZXN1bHQtbXNnMVwiPntpMThuLnQoYHd3dHBQYWdlLm5vX3Jlc3VsdF8xYCl9PC9kaXY+XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgPGgzIGNsYXNzTmFtZT1cIm5vLXJlc3VsdC1tc2cyXCI+e2kxOG4udChgd3d0cFBhZ2Uubm9fcmVzdWx0XzJgKX08L2gzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMz57dGl0bGUoKX08L2gzPlxuICAgICAgPENhcmQgY2xhc3NOYW1lPVwiYmctd2hpdGUgd2lk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
|
|
@@ -4,9 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.simpleTruncate = exports.initializeWWTPData = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
|
|
7
|
+
exports.simpleTruncate = exports.sendAnalyticsEvent = exports.initializeWWTPData = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
8
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
10
|
var _jquery = _interopRequireDefault(require("jquery"));
|
|
11
|
+
var _Analytics = require("utilities/Analytics");
|
|
10
12
|
var initializeWWTPData = function initializeWWTPData(payload) {
|
|
11
13
|
if (payload.dataExists()) {
|
|
12
14
|
var WWTP = payload.points_data.items.find(function (point) {
|
|
@@ -33,10 +35,11 @@ var createPopupForObject = function createPopupForObject(args) {
|
|
|
33
35
|
maxHeight: 400,
|
|
34
36
|
minHeight: 400
|
|
35
37
|
});
|
|
36
|
-
args.marker.
|
|
37
|
-
args.marker.on('click', function () {
|
|
38
|
+
args.marker.on('popupopen', function () {
|
|
38
39
|
setTimeout(function () {
|
|
39
|
-
(0, _jquery.default)('.widget-container').
|
|
40
|
+
if ((0, _jquery.default)('.widget-container').contents().length <= 0) {
|
|
41
|
+
(0, _jquery.default)('.widget-container').append(args.renderedElement);
|
|
42
|
+
}
|
|
40
43
|
}, 200);
|
|
41
44
|
});
|
|
42
45
|
};
|
|
@@ -57,7 +60,8 @@ var areaFocusLogic = function areaFocusLogic(args) {
|
|
|
57
60
|
});
|
|
58
61
|
args.setAreas(args.focusedArea.sub_areas);
|
|
59
62
|
}
|
|
60
|
-
|
|
63
|
+
|
|
64
|
+
// args.map.fitBounds(latlngs);
|
|
61
65
|
};
|
|
62
66
|
exports.areaFocusLogic = areaFocusLogic;
|
|
63
67
|
var simpleTruncate = function simpleTruncate(str, length) {
|
|
@@ -75,5 +79,18 @@ var CardContainer = _styledComponents.default.div.withConfig({
|
|
|
75
79
|
displayName: "utils__CardContainer",
|
|
76
80
|
componentId: "sc-zfjea1-0"
|
|
77
81
|
})([".card{transition:0.1s ease-in-out;box-shadow:0px 1px 3px rgba(0,0,0,0.2);&:hover{transition:0.2s ease-in-out;box-shadow:0px 3px 10px rgba(0,0,0,0.2);cursor:pointer;}}"]);
|
|
82
|
+
|
|
83
|
+
// Send analytics events from several places in wwtpmap.
|
|
84
|
+
// subject is the name of the event
|
|
85
|
+
// selection is the object that was selected
|
|
86
|
+
// specificFields is an object with event fields to send which are combined with the rest of the fields
|
|
78
87
|
exports.CardContainer = CardContainer;
|
|
79
|
-
|
|
88
|
+
var sendAnalyticsEvent = function sendAnalyticsEvent(subject, selection, eventFields) {
|
|
89
|
+
var data = (0, _objectSpread2.default)({
|
|
90
|
+
selection: selection,
|
|
91
|
+
page_name: window.location.pathname
|
|
92
|
+
}, eventFields);
|
|
93
|
+
(0, _Analytics.analyticsTrack)(subject, data);
|
|
94
|
+
};
|
|
95
|
+
exports.sendAnalyticsEvent = sendAnalyticsEvent;
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJXV1RQIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImZpbmQiLCJwb2ludCIsImlkIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJXV1RQQXJlYSIsImFyZWFzX2RhdGEiLCJuZXdBcmVhcyIsImFyZWEiLCJhcmVhX2lkIiwicGFydF9vZl9hcmVhX2lkIiwiZm9yV1dUUE1hcCIsInNldFdXVFBJbmZvIiwic2V0UG9pbnRzIiwic2V0QXJlYXMiLCJleHBvcnRzIiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJhcmdzIiwibWFya2VyIiwiYmluZFBvcHVwIiwibWF4V2lkdGgiLCJtaW5XaWR0aCIsIm1heEhlaWdodCIsIm1pbkhlaWdodCIsIm9uIiwic2V0VGltZW91dCIsIiQiLCJjb250ZW50cyIsImxlbmd0aCIsImFwcGVuZCIsInJlbmRlcmVkRWxlbWVudCIsImFyZWFGb2N1c0xvZ2ljIiwibGF0bG5ncyIsImZvY3VzZWRBcmVhIiwic3ViX2FyZWFzIiwiZmFjdG9yaWVzIiwic2hhcGVfZGF0YSIsImZvckVhY2giLCJsYXRsbmciLCJwdXNoIiwic3ViX2FyZWEiLCJzaW1wbGVUcnVuY2F0ZSIsInN0ciIsIkVycm9yIiwic3Vic3RyaW5nIiwiQ2FyZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwic2VuZEFuYWx5dGljc0V2ZW50Iiwic3ViamVjdCIsInNlbGVjdGlvbiIsImV2ZW50RmllbGRzIiwiZGF0YSIsIl9vYmplY3RTcHJlYWQyIiwiZGVmYXVsdCIsInBhZ2VfbmFtZSIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJhbmFseXRpY3NUcmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplV1dUUERhdGEgPSAocGF5bG9hZCkgPT4ge1xuICBpZiAocGF5bG9hZC5kYXRhRXhpc3RzKCkpIHtcbiAgICBsZXQgV1dUUDogSVBvaW50ID0gcGF5bG9hZC5wb2ludHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBwYXJzZUludChwYXlsb2FkLmlkKSxcbiAgICApO1xuICAgIGlmIChXV1RQID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBsZXQgV1dUUEFyZWE6IElBcmVhID0gcGF5bG9hZC5hcmVhc19kYXRhLm5ld0FyZWFzLmZpbmQoXG4gICAgICAoYXJlYTogSUFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gV1dUUC5wYXJ0X29mX2FyZWFfaWQsXG4gICAgKTtcblxuICAgIFdXVFAuZm9yV1dUUE1hcCA9IHRydWU7XG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh7IHBvaW50OiBXV1RQLCBhcmVhOiBXV1RQQXJlYSB9KTtcbiAgICBwYXlsb2FkLnNldFBvaW50cyhwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBwYXlsb2FkLnNldEFyZWFzKHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3B1cEZvck9iamVjdCA9IChhcmdzKSA9PiB7XG4gIGFyZ3MubWFya2VyLmJpbmRQb3B1cChgPGRpdiBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIj48L2Rpdj5gLCB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBtaW5XaWR0aDogNDAwLFxuICAgIG1heEhlaWdodDogNDAwLFxuICAgIG1pbkhlaWdodDogNDAwLFxuICB9KTtcblxuICBhcmdzLm1hcmtlci5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCQoJy53aWRnZXQtY29udGFpbmVyJykuY29udGVudHMoKS5sZW5ndGggPD0gMCkge1xuICAgICAgICAkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmFwcGVuZChhcmdzLnJlbmRlcmVkRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAoYXJncykgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGlmIChcbiAgICBhcmdzLmZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDAgJiZcbiAgICBhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybjtcblxuICBpZiAoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgfSk7XG4gICAgYXJncy5zZXRBcmVhcyhhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcyk7XG4gIH0gZWxzZSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWE6IElBcmVhKSA9PiB7XG4gICAgICBzdWJfYXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgICBsYXRsbmdzLnB1c2gobGF0bG5nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGFyZ3Muc2V0QXJlYXMoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMpO1xuICB9XG5cbiAgLy8gYXJncy5tYXAuZml0Qm91bmRzKGxhdGxuZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNpbXBsZVRydW5jYXRlID0gKHN0ciwgbGVuZ3RoKSA9PiB7XG4gIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgbGVuZ3RoICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmd1bWVudHMuIFBsZWFzZSBwcm92aWRlIGEgc3RyaW5nIGFuZCBhIG51bWJlci4nKTtcbiAgfVxuXG4gIGlmIChzdHIubGVuZ3RoIDw9IGxlbmd0aCkge1xuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgbGVuZ3RoKSArICcuLi4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5gO1xuXG4vLyBTZW5kIGFuYWx5dGljcyBldmVudHMgZnJvbSBzZXZlcmFsIHBsYWNlcyBpbiB3d3RwbWFwLlxuLy8gc3ViamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgZXZlbnRcbi8vIHNlbGVjdGlvbiBpcyB0aGUgb2JqZWN0IHRoYXQgd2FzIHNlbGVjdGVkXG4vLyBzcGVjaWZpY0ZpZWxkcyBpcyBhbiBvYmplY3Qgd2l0aCBldmVudCBmaWVsZHMgdG8gc2VuZCB3aGljaCBhcmUgY29tYmluZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgZmllbGRzXG5leHBvcnQgY29uc3Qgc2VuZEFuYWx5dGljc0V2ZW50ID0gKFxuICBzdWJqZWN0OiBzdHJpbmcsXG4gIHNlbGVjdGlvbjogc3RyaW5nLFxuICBldmVudEZpZWxkczogT2JqZWN0LFxuKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgcGFnZV9uYW1lOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgLi4uZXZlbnRGaWVsZHMsXG4gIH07XG4gIGFuYWx5dGljc1RyYWNrKHN1YmplY3QsIGRhdGEpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRU8sSUFBTUUsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsT0FBTyxFQUFLO0VBQzdDLElBQUlBLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDLENBQUMsRUFBRTtJQUN4QixJQUFJQyxJQUFZLEdBQUdGLE9BQU8sQ0FBQ0csV0FBVyxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FDL0MsVUFBQ0MsS0FBYTtNQUFBLE9BQUtBLEtBQUssQ0FBQ0MsRUFBRSxLQUFLQyxRQUFRLENBQUNSLE9BQU8sQ0FBQ08sRUFBRSxDQUFDO0lBQUEsQ0FDdEQsQ0FBQztJQUNELElBQUlMLElBQUksS0FBS08sU0FBUyxFQUFFO0lBQ3hCLElBQUlDLFFBQWUsR0FBR1YsT0FBTyxDQUFDVyxVQUFVLENBQUNDLFFBQVEsQ0FBQ1AsSUFBSSxDQUNwRCxVQUFDUSxJQUFXO01BQUEsT0FBS0EsSUFBSSxDQUFDQyxPQUFPLEtBQUtaLElBQUksQ0FBQ2EsZUFBZTtJQUFBLENBQ3hELENBQUM7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
|