@kando-env/kando-ui 1.2.256-alpha.18 → 1.2.256-alpha.2
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/Router.js +1 -5
- package/lib/Widgets/Map/Map.js +3 -3
- package/lib/Widgets/Map/areas/AreaPolygon.js +41 -10
- package/lib/Widgets/Map/events/EventPath.js +2 -4
- package/lib/Widgets/Map/points/PointMarkers.js +1 -57
- package/lib/Widgets/Map/points/PointUtils.js +2 -2
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +5 -5
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +2 -2
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/MostPolluting.js +8 -17
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +15 -9
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +2 -8
- package/lib/i18n/en.json +1 -7
- package/lib/i18n/he.json +0 -4
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/AreaPage.js +5 -9
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +2 -1
- package/lib/pages/EventsPage/events/events_list/EventsList.js +3 -3
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +2 -1
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +7 -7
- package/lib/pages/SitePage/SitePage.js +6 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +23 -11
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +6 -23
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +6 -15
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +10 -15
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/permissions/permissionsSlice.js +3 -1
- package/lib/utilities/urls.js +1 -27
- package/package.json +2 -3
- package/lib/Widgets/Map/areas/AreaUtils.js +0 -140
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +0 -17
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +0 -67
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.zoomControlForArea = exports.getAreaName = exports.genericPolygon = exports.createPolygon = exports.calculatePolygonArea = exports.bindPopupBasedOnZoomLevel = void 0;
|
|
8
|
-
var _scoreToColor = require("../../../utilities/scoreToColor");
|
|
9
|
-
var _theme = require("../../../styles/theme/theme");
|
|
10
|
-
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
11
|
-
var getAreaName = function getAreaName(area) {
|
|
12
|
-
var name = area.area_name || area.name;
|
|
13
|
-
return name;
|
|
14
|
-
};
|
|
15
|
-
exports.getAreaName = getAreaName;
|
|
16
|
-
var genericPolygon = function genericPolygon(area, mapZoom) {
|
|
17
|
-
var areaPolygon;
|
|
18
|
-
var latlngs = area.shape_data.map(function (location) {
|
|
19
|
-
return [location['lat'], location['lng']];
|
|
20
|
-
});
|
|
21
|
-
if (latlngs.length < 1) return;
|
|
22
|
-
var color = area.color ? area.color : (0, _scoreToColor.scoreToColor)(area.area_score);
|
|
23
|
-
var title = polygonTitle(area, mapZoom);
|
|
24
|
-
areaPolygon = _leaflet.default.polygon(latlngs, {
|
|
25
|
-
color: color,
|
|
26
|
-
fillOpacity: area.showColorOnlyInBorders ? 0.3 : 0.4,
|
|
27
|
-
weight: area.showColorOnlyInBorders ? 2 : 0
|
|
28
|
-
}).bindTooltip(title, {
|
|
29
|
-
className: 'area-tooltip',
|
|
30
|
-
permanent: mapZoom > 12,
|
|
31
|
-
direction: 'center'
|
|
32
|
-
});
|
|
33
|
-
return areaPolygon;
|
|
34
|
-
};
|
|
35
|
-
exports.genericPolygon = genericPolygon;
|
|
36
|
-
var calculatePolygonArea = function calculatePolygonArea(coordinates) {
|
|
37
|
-
var area = 0;
|
|
38
|
-
var numPoints = coordinates.length;
|
|
39
|
-
for (var i = 0; i < numPoints; i++) {
|
|
40
|
-
var x1 = coordinates[i][0];
|
|
41
|
-
var y1 = coordinates[i][1];
|
|
42
|
-
var x2 = coordinates[(i + 1) % numPoints][0];
|
|
43
|
-
var y2 = coordinates[(i + 1) % numPoints][1];
|
|
44
|
-
area += x1 * y2 - x2 * y1;
|
|
45
|
-
}
|
|
46
|
-
return Math.abs(area / 2);
|
|
47
|
-
};
|
|
48
|
-
exports.calculatePolygonArea = calculatePolygonArea;
|
|
49
|
-
var polygonTitle = function polygonTitle(area, mapZoom) {
|
|
50
|
-
return "<div class=\"area-tooltip\" style=\"color:".concat(_theme.theme.colorScheme.primary.ps1, ";font-weight:700;background-color:transparent;font-size: ").concat((mapZoom - 10) * 6, "px;-webkit-text-stroke: 0.8px #ffffff;\"> ").concat(getAreaName(area), " \n </div>");
|
|
51
|
-
};
|
|
52
|
-
var bindPopupBasedOnZoomLevel = function bindPopupBasedOnZoomLevel(LayerGroup, mapZoom, area) {
|
|
53
|
-
var title = polygonTitle(area, mapZoom);
|
|
54
|
-
LayerGroup.getLayers().forEach(function (layer) {
|
|
55
|
-
layer.bindTooltip(title, {
|
|
56
|
-
className: 'area-tooltip',
|
|
57
|
-
permanent: mapZoom > 12,
|
|
58
|
-
direction: 'center'
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
exports.bindPopupBasedOnZoomLevel = bindPopupBasedOnZoomLevel;
|
|
63
|
-
var drillDownBasedOnZoomLevel = function drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible) {
|
|
64
|
-
if (percentage >= zoomPercentageToDrillDown && isPartialPolygonVisible && area.sub_areas.length !== 0 && areaPolygon._map !== null) {
|
|
65
|
-
areaPolygon.setStyle({
|
|
66
|
-
stroke: true,
|
|
67
|
-
color: (0, _scoreToColor.scoreToColor)(area.area_score),
|
|
68
|
-
weight: 2,
|
|
69
|
-
fillOpacity: 0.0,
|
|
70
|
-
opacity: 1
|
|
71
|
-
});
|
|
72
|
-
areaPolygon['sub_areas'] !== undefined && areaPolygon['sub_areas'].getLayers().forEach(function (subArea) {
|
|
73
|
-
if (subArea.sub_areas && subArea.sub_areas.length === 0) {
|
|
74
|
-
subArea.setStyle({
|
|
75
|
-
fillOpacity: 0.4
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
} else {
|
|
80
|
-
areaPolygon.setStyle({
|
|
81
|
-
fillOpacity: 0.4
|
|
82
|
-
});
|
|
83
|
-
areaPolygon.setStyle({
|
|
84
|
-
stroke: false
|
|
85
|
-
});
|
|
86
|
-
areaPolygon['sub_areas'] !== undefined && areaPolygon['sub_areas'].getLayers().forEach(function (subArea) {
|
|
87
|
-
subArea.setStyle({
|
|
88
|
-
fillOpacity: 0.0
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
areaPolygon.redraw();
|
|
93
|
-
};
|
|
94
|
-
var zoomControlForArea = function zoomControlForArea(areaPolygon, area, map) {
|
|
95
|
-
map.on('zoomend', function () {
|
|
96
|
-
var getMapBounds = map.getBounds();
|
|
97
|
-
var polygonBounds = areaPolygon.getBounds();
|
|
98
|
-
var isPartialPolygonVisible = getMapBounds.intersects(polygonBounds);
|
|
99
|
-
var mapBoundsPolygon = _leaflet.default.polygon([getMapBounds.getSouthWest(), getMapBounds.getNorthWest(), getMapBounds.getNorthEast(), getMapBounds.getSouthEast()]);
|
|
100
|
-
var mapBounds = calculatePolygonArea(mapBoundsPolygon.toGeoJSON().geometry.coordinates[0]);
|
|
101
|
-
var areaSurface = areaPolygon['calculated_surface'];
|
|
102
|
-
var zoomPercentageToDrillDown = 40.0;
|
|
103
|
-
var percentage = areaSurface / mapBounds * 100;
|
|
104
|
-
drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible);
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
exports.zoomControlForArea = zoomControlForArea;
|
|
108
|
-
var customAttributesForAreaPolygon = function customAttributesForAreaPolygon(areaPolygon, area) {
|
|
109
|
-
areaPolygon['kando_object_id'] = area.area_id;
|
|
110
|
-
areaPolygon['kando_object'] = 'Area';
|
|
111
|
-
areaPolygon['area_name'] = area.area_name;
|
|
112
|
-
areaPolygon['calculated_surface'] = area.calculated_surface;
|
|
113
|
-
};
|
|
114
|
-
var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map) {
|
|
115
|
-
var createAsSubArea = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
116
|
-
if (area.shape_data !== null && area.shape_data !== undefined && area.shape_data.length > 0) {
|
|
117
|
-
var subAreasCreated = _leaflet.default.layerGroup([]);
|
|
118
|
-
var polygon;
|
|
119
|
-
if (createAsSubArea || !area.has_parent) {
|
|
120
|
-
polygon = genericPolygon(area, mapZoom);
|
|
121
|
-
}
|
|
122
|
-
if (area.sub_areas && area.sub_areas.length > 0) {
|
|
123
|
-
area.sub_areas.forEach(function (subArea) {
|
|
124
|
-
createPolygon(subArea, mapZoom, subAreasCreated, map, true);
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
if (createAsSubArea || !area.has_parent) {
|
|
128
|
-
customAttributesForAreaPolygon(polygon, area);
|
|
129
|
-
!LayerGroup.hasLayer(polygon) && LayerGroup.addLayer(polygon).addTo(map);
|
|
130
|
-
polygon.bringToBack();
|
|
131
|
-
if (subAreasCreated.getLayers().length > 0) {
|
|
132
|
-
subAreasCreated.addTo(map);
|
|
133
|
-
polygon['sub_areas'] = subAreasCreated;
|
|
134
|
-
}
|
|
135
|
-
zoomControlForArea(polygon, area, map);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
exports.createPolygon = createPolygon;
|
|
140
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0NvbG9yIiwicmVxdWlyZSIsIl90aGVtZSIsIl9sZWFmbGV0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImdldEFyZWFOYW1lIiwiYXJlYSIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwiZ2VuZXJpY1BvbHlnb24iLCJtYXBab29tIiwiYXJlYVBvbHlnb24iLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsIm1hcCIsImxvY2F0aW9uIiwibGVuZ3RoIiwiY29sb3IiLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwidGl0bGUiLCJwb2x5Z29uVGl0bGUiLCJMIiwicG9seWdvbiIsImZpbGxPcGFjaXR5Iiwic2hvd0NvbG9yT25seUluQm9yZGVycyIsIndlaWdodCIsImJpbmRUb29sdGlwIiwiY2xhc3NOYW1lIiwicGVybWFuZW50IiwiZGlyZWN0aW9uIiwiY2FsY3VsYXRlUG9seWdvbkFyZWEiLCJjb29yZGluYXRlcyIsIm51bVBvaW50cyIsImkiLCJ4MSIsInkxIiwieDIiLCJ5MiIsIk1hdGgiLCJhYnMiLCJjb25jYXQiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwicHJpbWFyeSIsInBzMSIsImJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwiLCJMYXllckdyb3VwIiwiZ2V0TGF5ZXJzIiwiZm9yRWFjaCIsImxheWVyIiwiZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCIsInBlcmNlbnRhZ2UiLCJ6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duIiwiaXNQYXJ0aWFsUG9seWdvblZpc2libGUiLCJzdWJfYXJlYXMiLCJfbWFwIiwic2V0U3R5bGUiLCJzdHJva2UiLCJvcGFjaXR5IiwidW5kZWZpbmVkIiwic3ViQXJlYSIsInJlZHJhdyIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImFyZWFfaWQiLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwiY3JlYXRlQXNTdWJBcmVhIiwiYXJndW1lbnRzIiwic3ViQXJlYXNDcmVhdGVkIiwibGF5ZXJHcm91cCIsImhhc19wYXJlbnQiLCJoYXNMYXllciIsImFkZExheWVyIiwiYWRkVG8iLCJicmluZ1RvQmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9Db2xvcic7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyBQb2x5Z29uIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcblxuZXhwb3J0IGNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1BvbHlnb24gPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICBsZXQgYXJlYVBvbHlnb246IFBvbHlnb247XG4gIGxldCBsYXRsbmdzID0gYXJlYS5zaGFwZV9kYXRhLm1hcCgobG9jYXRpb246IGFueSkgPT4ge1xuICAgIHJldHVybiBbbG9jYXRpb25bJ2xhdCddLCBsb2NhdGlvblsnbG5nJ11dO1xuICB9KTtcblxuICBpZiAobGF0bG5ncy5sZW5ndGggPCAxKSByZXR1cm47XG5cbiAgbGV0IGNvbG9yID0gYXJlYS5jb2xvciA/IGFyZWEuY29sb3IgOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKTtcblxuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcblxuICBhcmVhUG9seWdvbiA9IEwucG9seWdvbihsYXRsbmdzLCB7XG4gICAgY29sb3IsXG4gICAgZmlsbE9wYWNpdHk6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDAuMyA6IDAuNCxcbiAgICB3ZWlnaHQ6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDIgOiAwLFxuICB9KS5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiBtYXBab29tID4gMTIsXG4gICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgfSk7XG5cbiAgcmV0dXJuIGFyZWFQb2x5Z29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVBvbHlnb25BcmVhID0gKGNvb3JkaW5hdGVzKSA9PiB7XG4gIGxldCBhcmVhID0gMDtcbiAgbGV0IG51bVBvaW50cyA9IGNvb3JkaW5hdGVzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBvaW50czsgaSsrKSB7XG4gICAgbGV0IHgxID0gY29vcmRpbmF0ZXNbaV1bMF07XG4gICAgbGV0IHkxID0gY29vcmRpbmF0ZXNbaV1bMV07XG4gICAgbGV0IHgyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMF07XG4gICAgbGV0IHkyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMV07XG5cbiAgICBhcmVhICs9IHgxICogeTIgLSB4MiAqIHkxO1xuICB9XG5cbiAgcmV0dXJuIE1hdGguYWJzKGFyZWEgLyAyKTtcbn07XG5cbmNvbnN0IHBvbHlnb25UaXRsZSA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cImFyZWEtdG9vbHRpcFwiIHN0eWxlPVwiY29sb3I6JHtcbiAgICB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnBzMVxuICB9O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTogJHtcbiAgICAobWFwWm9vbSAtIDEwKSAqIDZcbiAgfXB4Oy13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4ICNmZmZmZmY7XCI+ICR7Z2V0QXJlYU5hbWUoYXJlYSl9IFxuICAgICAgICA8L2Rpdj5gO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwgPSAoTGF5ZXJHcm91cCwgbWFwWm9vbSwgYXJlYSkgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcblxuICBMYXllckdyb3VwLmdldExheWVycygpLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgICBwZXJtYW5lbnQ6IG1hcFpvb20gPiAxMixcbiAgICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gICAgfSk7XG4gIH0pO1xufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuKSA9PiB7XG4gIGlmIChcbiAgICBwZXJjZW50YWdlID49IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gJiZcbiAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgIGFyZWFQb2x5Z29uLl9tYXAgIT09IG51bGxcbiAgKSB7XG4gICAgYXJlYVBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgd2VpZ2h0OiAyLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuMCxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG4gICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIGlmIChzdWJBcmVhLnN1Yl9hcmVhcyAmJiBzdWJBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBzdWJBcmVhLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYXJlYVBvbHlnb24uc2V0U3R5bGUoeyBmaWxsT3BhY2l0eTogMC40IH0pO1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHsgc3Ryb2tlOiBmYWxzZSB9KTtcbiAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddLmdldExheWVycygpLmZvckVhY2goKHN1YkFyZWEpID0+IHtcbiAgICAgICAgc3ViQXJlYS5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFyZWFQb2x5Z29uLnJlZHJhdygpO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21Db250cm9sRm9yQXJlYSA9IChhcmVhUG9seWdvbiwgYXJlYSwgbWFwKSA9PiB7XG4gIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZ2V0TWFwQm91bmRzID0gbWFwLmdldEJvdW5kcygpO1xuICAgIGxldCBwb2x5Z29uQm91bmRzID0gYXJlYVBvbHlnb24uZ2V0Qm91bmRzKCk7XG4gICAgbGV0IGlzUGFydGlhbFBvbHlnb25WaXNpYmxlID0gZ2V0TWFwQm91bmRzLmludGVyc2VjdHMocG9seWdvbkJvdW5kcyk7XG4gICAgbGV0IG1hcEJvdW5kc1BvbHlnb24gPSBMLnBvbHlnb24oW1xuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoRWFzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoRWFzdCgpLFxuICAgIF0pO1xuXG4gICAgbGV0IG1hcEJvdW5kcyA9IGNhbGN1bGF0ZVBvbHlnb25BcmVhKFxuICAgICAgbWFwQm91bmRzUG9seWdvbi50b0dlb0pTT04oKS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICApO1xuXG4gICAgbGV0IGFyZWFTdXJmYWNlID0gYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddO1xuICAgIGNvbnN0IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gPSA0MC4wO1xuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoYXJlYVN1cmZhY2UgLyBtYXBCb3VuZHMpICogMTAwO1xuXG4gICAgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYSxcbiAgICAgIHBlcmNlbnRhZ2UsXG4gICAgICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gICAgKTtcbiAgfSk7XG59O1xuXG5jb25zdCBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24gPSAoYXJlYVBvbHlnb24sIGFyZWEpID0+IHtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdF9pZCddID0gYXJlYS5hcmVhX2lkO1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gIGFyZWFQb2x5Z29uWydhcmVhX25hbWUnXSA9IGFyZWEuYXJlYV9uYW1lO1xuICBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ10gPSBhcmVhLmNhbGN1bGF0ZWRfc3VyZmFjZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2x5Z29uID0gKFxuICBhcmVhLFxuICBtYXBab29tLFxuICBMYXllckdyb3VwLFxuICBtYXAsXG4gIGNyZWF0ZUFzU3ViQXJlYTogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIGxldCBzdWJBcmVhc0NyZWF0ZWQgPSBMLmxheWVyR3JvdXAoW10pO1xuICAgIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgcG9seWdvbiA9IGdlbmVyaWNQb2x5Z29uKGFyZWEsIG1hcFpvb20pO1xuICAgIH1cblxuICAgIGlmIChhcmVhLnN1Yl9hcmVhcyAmJiBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICBhcmVhLnN1Yl9hcmVhcy5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIGNyZWF0ZVBvbHlnb24oc3ViQXJlYSwgbWFwWm9vbSwgc3ViQXJlYXNDcmVhdGVkLCBtYXAsIHRydWUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGNyZWF0ZUFzU3ViQXJlYSB8fCAhYXJlYS5oYXNfcGFyZW50KSB7XG4gICAgICBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24ocG9seWdvbiwgYXJlYSk7XG4gICAgICAhTGF5ZXJHcm91cC5oYXNMYXllcihwb2x5Z29uKSAmJiBMYXllckdyb3VwLmFkZExheWVyKHBvbHlnb24pLmFkZFRvKG1hcCk7XG4gICAgICBwb2x5Z29uLmJyaW5nVG9CYWNrKCk7XG4gICAgICBpZiAoc3ViQXJlYXNDcmVhdGVkLmdldExheWVycygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc3ViQXJlYXNDcmVhdGVkLmFkZFRvKG1hcCk7XG4gICAgICAgIHBvbHlnb25bJ3N1Yl9hcmVhcyddID0gc3ViQXJlYXNDcmVhdGVkO1xuICAgICAgfVxuXG4gICAgICB6b29tQ29udHJvbEZvckFyZWEocG9seWdvbiwgYXJlYSwgbWFwKTtcbiAgICB9XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxhQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxRQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFFTyxJQUFNSSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsSUFBSSxFQUFLO0VBQ25DLElBQUlDLElBQUksR0FBR0QsSUFBSSxDQUFDRSxTQUFTLElBQUlGLElBQUksQ0FBQ0MsSUFBSTtFQUV0QyxPQUFPQSxJQUFJO0FBQ2IsQ0FBQztBQUFDRSxPQUFBLENBQUFKLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU1LLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSUosSUFBSSxFQUFFSyxPQUFPLEVBQUs7RUFDL0MsSUFBSUMsV0FBb0I7RUFDeEIsSUFBSUMsT0FBTyxHQUFHUCxJQUFJLENBQUNRLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLFFBQWEsRUFBSztJQUNuRCxPQUFPLENBQUNBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRUEsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQzNDLENBQUMsQ0FBQztFQUVGLElBQUlILE9BQU8sQ0FBQ0ksTUFBTSxHQUFHLENBQUMsRUFBRTtFQUV4QixJQUFJQyxLQUFLLEdBQUdaLElBQUksQ0FBQ1ksS0FBSyxHQUFHWixJQUFJLENBQUNZLEtBQUssR0FBRyxJQUFBQywwQkFBWSxFQUFDYixJQUFJLENBQUNjLFVBQVUsQ0FBQztFQUVuRSxJQUFNQyxLQUFL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
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.information_titles = void 0;
|
|
8
|
-
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
9
|
-
var all_titles = [_i18n.default.t('dashboard_v2.utility_dashboard.topbar.utility-information.areas'), _i18n.default.t('dashboard_v2.utility_dashboard.topbar.utility-information.Factories'), _i18n.default.t('dashboard_v2.utility_dashboard.topbar.utility-information.wwtps')];
|
|
10
|
-
var Utilty = all_titles;
|
|
11
|
-
var Varea = [all_titles[0], all_titles[1]];
|
|
12
|
-
var information_titles = {
|
|
13
|
-
Utilty: Utilty,
|
|
14
|
-
Varea: Varea
|
|
15
|
-
};
|
|
16
|
-
exports.information_titles = information_titles;
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiYWxsX3RpdGxlcyIsImkxOG4iLCJ0IiwiVXRpbHR5IiwiVmFyZWEiLCJpbmZvcm1hdGlvbl90aXRsZXMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL1V0aWxpdHlEYXNoYm9hcmRQYWdlL1RvcEJhci9jb25zdGFudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuY29uc3QgYWxsX3RpdGxlcyA9IFtcbiAgaTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnV0aWxpdHktaW5mb3JtYXRpb24uYXJlYXMnKSxcbiAgaTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnV0aWxpdHktaW5mb3JtYXRpb24uRmFjdG9yaWVzJyksXG4gIGkxOG4udCgnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci51dGlsaXR5LWluZm9ybWF0aW9uLnd3dHBzJyksXG5dO1xuXG5jb25zdCBVdGlsdHkgPSBhbGxfdGl0bGVzO1xuY29uc3QgVmFyZWEgPSBbYWxsX3RpdGxlc1swXSwgYWxsX3RpdGxlc1sxXV07XG5leHBvcnQgY29uc3QgaW5mb3JtYXRpb25fdGl0bGVzID0geyBVdGlsdHksIFZhcmVhIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFNQyxVQUFVLEdBQUcsQ0FDakJDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLGlFQUFpRSxDQUFDLEVBQ3pFRCxhQUFJLENBQUNDLENBQUMsQ0FBQyxxRUFBcUUsQ0FBQyxFQUM3RUQsYUFBSSxDQUFDQyxDQUFDLENBQUMsaUVBQWlFLENBQUMsQ0FDMUU7QUFFRCxJQUFNQyxNQUFNLEdBQUdILFVBQVU7QUFDekIsSUFBTUksS0FBSyxHQUFHLENBQUNKLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRUEsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLElBQU1LLGtCQUFrQixHQUFHO0VBQUVGLE1BQU0sRUFBTkEsTUFBTTtFQUFFQyxLQUFLLEVBQUxBO0FBQU0sQ0FBQztBQUFDRSxPQUFBLENBQUFELGtCQUFBLEdBQUFBLGtCQUFBIn0=
|
|
@@ -1,67 +0,0 @@
|
|
|
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.VirtualAreaDashboardPage = void 0;
|
|
9
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _reactRedux = require("react-redux");
|
|
13
|
-
var _actions = require("store/context/actions");
|
|
14
|
-
var _InfoBar = require("../../components/Header/InfoBar/InfoBar");
|
|
15
|
-
var _UtilityDashboard = require("./UtilityDashboard");
|
|
16
|
-
var _Analytics = require("../../utilities/Analytics");
|
|
17
|
-
var _reactRouter = require("react-router");
|
|
18
|
-
var _useKandoFetch2 = _interopRequireDefault(require("hooks/useKandoFetch"));
|
|
19
|
-
var _urls = require("utilities/urls");
|
|
20
|
-
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); }
|
|
21
|
-
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; }
|
|
22
|
-
var VirtualAreaDashboardPage = function VirtualAreaDashboardPage() {
|
|
23
|
-
var dispatch = (0, _reactRedux.useDispatch)();
|
|
24
|
-
var _useState = (0, _react.useState)({
|
|
25
|
-
breadcrumbs: [],
|
|
26
|
-
name: ''
|
|
27
|
-
}),
|
|
28
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
29
|
-
areaData = _useState2[0],
|
|
30
|
-
setAreaData = _useState2[1];
|
|
31
|
-
var _useParams = (0, _reactRouter.useParams)(),
|
|
32
|
-
areaID = _useParams.areaID;
|
|
33
|
-
(0, _react.useEffect)(function () {
|
|
34
|
-
(0, _Analytics.analyticsTrack)("Viewed Virtual Area Dashboard Page", {
|
|
35
|
-
utility_name: waterAuthorityName
|
|
36
|
-
});
|
|
37
|
-
dispatch((0, _actions.updateNavContext)({
|
|
38
|
-
name: 'dashboard_v2'
|
|
39
|
-
}));
|
|
40
|
-
}, []);
|
|
41
|
-
var _useSelector = (0, _reactRedux.useSelector)(function (state) {
|
|
42
|
-
return [state.global_data.waterAuthorityName];
|
|
43
|
-
}),
|
|
44
|
-
_useSelector2 = (0, _slicedToArray2.default)(_useSelector, 1),
|
|
45
|
-
waterAuthorityName = _useSelector2[0];
|
|
46
|
-
var _useKandoFetch = (0, _useKandoFetch2.default)((0, _urls.urls)({
|
|
47
|
-
areaID: areaID
|
|
48
|
-
}).dashboard.Varea.name),
|
|
49
|
-
data = _useKandoFetch.data,
|
|
50
|
-
isFetching = _useKandoFetch.isFetching;
|
|
51
|
-
(0, _react.useEffect)(function () {
|
|
52
|
-
if (!isFetching) {
|
|
53
|
-
setAreaData(data);
|
|
54
|
-
}
|
|
55
|
-
}, [isFetching]);
|
|
56
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_InfoBar.InfoBar, {
|
|
57
|
-
parts: [{
|
|
58
|
-
link: '/dashboard_v2/index',
|
|
59
|
-
name: waterAuthorityName
|
|
60
|
-
}].concat((0, _toConsumableArray2.default)(areaData.breadcrumbs))
|
|
61
|
-
}), /*#__PURE__*/_react.default.createElement(_UtilityDashboard.UtilityDashboard, {
|
|
62
|
-
dashboardItem: 'Varea',
|
|
63
|
-
dashboardName: areaData.name
|
|
64
|
-
}));
|
|
65
|
-
};
|
|
66
|
-
exports.VirtualAreaDashboardPage = VirtualAreaDashboardPage;
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX0luZm9CYXIiLCJfVXRpbGl0eURhc2hib2FyZCIsIl9BbmFseXRpY3MiLCJfcmVhY3RSb3V0ZXIiLCJfdXNlS2FuZG9GZXRjaDIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VybHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlZpcnR1YWxBcmVhRGFzaGJvYXJkUGFnZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsImJyZWFkY3J1bWJzIiwibmFtZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhRGF0YSIsInNldEFyZWFEYXRhIiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsImFyZWFJRCIsInVzZUVmZmVjdCIsImFuYWx5dGljc1RyYWNrIiwidXRpbGl0eV9uYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwidXBkYXRlTmF2Q29udGV4dCIsIl91c2VTZWxlY3RvciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJnbG9iYWxfZGF0YSIsIl91c2VTZWxlY3RvcjIiLCJfdXNlS2FuZG9GZXRjaCIsInVzZUthbmRvRmV0Y2giLCJ1cmxzIiwiZGFzaGJvYXJkIiwiVmFyZWEiLCJkYXRhIiwiaXNGZXRjaGluZyIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIkluZm9CYXIiLCJwYXJ0cyIsImxpbmsiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiVXRpbGl0eURhc2hib2FyZCIsImRhc2hib2FyZEl0ZW0iLCJkYXNoYm9hcmROYW1lIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9WaXJ0dWFsQXJlYURhc2hib2FyZFBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJ3NyYy9zdG9yZS9jb250ZXh0L2FjdGlvbnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBJbmZvQmFyIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9IZWFkZXIvSW5mb0Jhci9JbmZvQmFyJztcbmltcG9ydCB7IFV0aWxpdHlEYXNoYm9hcmQgfSBmcm9tICcuL1V0aWxpdHlEYXNoYm9hcmQnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlcic7XG5pbXBvcnQgdXNlS2FuZG9GZXRjaCBmcm9tICdzcmMvaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IElBcmVhRGF0YSB9IGZyb20gJy4uL09sZFNpdGVQYWdlL0lEYXNoYm9hcmREYXRhJztcblxuZXhwb3J0IGNvbnN0IFZpcnR1YWxBcmVhRGFzaGJvYXJkUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbYXJlYURhdGEsIHNldEFyZWFEYXRhXSA9IHVzZVN0YXRlPElBcmVhRGF0YT4oe1xuICAgIGJyZWFkY3J1bWJzOiBbXSxcbiAgICBuYW1lOiAnJyxcbiAgfSk7XG4gIGNvbnN0IHsgYXJlYUlEIH0gPSB1c2VQYXJhbXMoKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjayhgVmlld2VkIFZpcnR1YWwgQXJlYSBEYXNoYm9hcmQgUGFnZWAsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIGRpc3BhdGNoKHVwZGF0ZU5hdkNvbnRleHQoeyBuYW1lOiAnZGFzaGJvYXJkX3YyJyB9KSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBbd2F0ZXJBdXRob3JpdHlOYW1lXSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IFtcbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICBdLFxuICApO1xuICBjb25zdCB7IGRhdGEsIGlzRmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2goXG4gICAgdXJscyh7IGFyZWFJRCB9KS5kYXNoYm9hcmQuVmFyZWEubmFtZSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNGZXRjaGluZykge1xuICAgICAgc2V0QXJlYURhdGEoZGF0YSk7XG4gICAgfVxuICB9LCBbaXNGZXRjaGluZ10pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxJbmZvQmFyXG4gICAgICAgIHBhcnRzPXtbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGluazogJy9kYXNoYm9hcmRfdjIvaW5kZXgnLFxuICAgICAgICAgICAgbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uYXJlYURhdGEuYnJlYWRjcnVtYnMsXG4gICAgICAgIF19XG4gICAgICAvPlxuICAgICAgPFV0aWxpdHlEYXNoYm9hcmQgZGFzaGJvYXJkSXRlbT17J1ZhcmVhJ30gZGFzaGJvYXJkTmFtZT17YXJlYURhdGEubmFtZX0gLz5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZUFBQSxHQUFBQyxzQkFBQSxDQUFBUixPQUFBO0FBQ0EsSUFBQVMsS0FBQSxHQUFBVCxPQUFBO0FBQTBDLFNBQUFVLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBWix3QkFBQWdCLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdB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
|