@kando-env/kando-ui 1.2.395-alpha.6 → 1.2.395

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.
@@ -1,201 +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.useMap = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
- var _leaflet = _interopRequireDefault(require("leaflet"));
10
- var _react = require("react");
11
- var _PointIcon = require("Widgets/Map/points/PointIcon");
12
- var _theme = require("styles/theme/theme");
13
- var _MapUtils = require("Widgets/Map/MapUtils");
14
- var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, updateSelectedPoint) {
15
- var _useState = (0, _react.useState)(),
16
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
17
- map = _useState2[0],
18
- setMap = _useState2[1];
19
- var _useState3 = (0, _react.useState)(null),
20
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
21
- focusedMarker = _useState4[0],
22
- setFocusedMarker = _useState4[1];
23
- var pointsLayerRef = (0, _react.useRef)();
24
- var edgesLayerRef = (0, _react.useRef)();
25
- var areasLayerRef = (0, _react.useRef)();
26
- (0, _react.useEffect)(function () {
27
- if (!mapRef.current) {
28
- return;
29
- }
30
- var mapTypes = (0, _MapUtils.baseMaps)(_theme.leafletMap.mapDefault, _theme.leafletMap.satellite);
31
- var mapTemp = _leaflet.default.map(mapRef.current, {
32
- renderer: _leaflet.default.canvas()
33
- });
34
- Object.values(mapTypes)[0].addTo(mapTemp);
35
- _leaflet.default.control.layers(mapTypes, {}, {
36
- position: 'bottomright'
37
- }).addTo(mapTemp);
38
- setMap(mapTemp);
39
- return function () {
40
- if (!mapTemp) {
41
- return;
42
- }
43
- mapTemp.off();
44
- mapTemp.remove();
45
- };
46
- }, []);
47
- (0, _react.useEffect)(function () {
48
- var _pointsLayerRef$curre;
49
- if (focusedMarker) {
50
- focusedMarker.fire('mouseout');
51
- }
52
- (_pointsLayerRef$curre = pointsLayerRef.current) === null || _pointsLayerRef$curre === void 0 ? void 0 : _pointsLayerRef$curre.eachLayer(function (marker) {
53
- if (selectedPoint && marker.options.kando_object_id === (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id)) {
54
- marker.fire('mouseover');
55
- setFocusedMarker(marker);
56
- return;
57
- }
58
- });
59
- }, [selectedPoint]);
60
- var handleMarkerClick = function handleMarkerClick(point) {
61
- updateSelectedPoint(point);
62
- };
63
- var addMarkers = function addMarkers() {
64
- if (!map || !points) {
65
- return;
66
- }
67
- if (pointsLayerRef.current) {
68
- if (map.hasLayer(pointsLayerRef.current)) {
69
- map.removeLayer(pointsLayerRef.current);
70
- }
71
- }
72
- pointsLayerRef.current = _leaflet.default.featureGroup();
73
- pointsLayerRef.current.addTo(map);
74
- if (!pointsLayerRef.current.getLayers().length) {
75
- points.forEach(function (point) {
76
- var _pointsLayerRef$curre2;
77
- var icon = (0, _PointIcon.getPointIconByType)(point.group.type, point.name, '', false, true);
78
- var focusedIcon = (0, _PointIcon.getPointIconByType)(point.group.type, point.name, '', true, false);
79
- var marker = getMarker(point);
80
- if (marker instanceof _leaflet.default.Marker) {
81
- marker.setIcon(icon);
82
- // The use of marker._isInside is to overcome the issue that mouseover is endlessly triggered
83
- // and we need it onley once
84
- marker.on('mouseover', function () {
85
- if (!marker._isInside) {
86
- marker._isInside = true;
87
- marker.setIcon(focusedIcon);
88
- }
89
- });
90
- marker.on('mouseout', function () {
91
- marker._isInside = false;
92
- marker.setIcon(icon);
93
- });
94
- }
95
- marker.on('click', function () {
96
- handleMarkerClick(point);
97
- });
98
- (_pointsLayerRef$curre2 = pointsLayerRef.current) === null || _pointsLayerRef$curre2 === void 0 ? void 0 : _pointsLayerRef$curre2.addLayer(marker);
99
- });
100
- }
101
- if (pointsLayerRef.current.getLayers().length) {
102
- map.fitBounds(pointsLayerRef.current.getBounds());
103
- } else {
104
- map.setView([32.219157, 34.982481], 12);
105
- }
106
- };
107
- var getMarker = function getMarker(point) {
108
- if (point.has_device === true || point.group.type === 'Groups::WastewaterTreatmentPlant') {
109
- return _leaflet.default.marker([point.latitude, point.longitude], {
110
- kando_object_id: point.id
111
- });
112
- } else {
113
- return _leaflet.default.circleMarker([point.latitude, point.longitude], {
114
- radius: 4,
115
- // circle radius in pixels
116
- color: '#000000',
117
- // border (stroke) color
118
- weight: 1,
119
- // border (stroke) width
120
- fillColor: '#ffffff',
121
- // fill color (white)
122
- fillOpacity: 1,
123
- // fully opaque
124
- kando_object_id: point.id
125
- });
126
- }
127
- };
128
- var addEdges = function addEdges() {
129
- // console.log('edges', edges);
130
- if (!map || !edges) {
131
- return;
132
- }
133
- var pointLookup = new Map();
134
- points.forEach(function (p) {
135
- return pointLookup.set(p.id, p);
136
- });
137
- if (edgesLayerRef.current) {
138
- if (map.hasLayer(edgesLayerRef.current)) {
139
- map.removeLayer(edgesLayerRef.current);
140
- }
141
- }
142
- edgesLayerRef.current = _leaflet.default.featureGroup();
143
- edgesLayerRef.current.addTo(map);
144
- edges.forEach(function (edge) {
145
- var _edgesLayerRef$curren;
146
- var sourcePoint = pointLookup.get(edge.source_point_id);
147
- var targetPoint = pointLookup.get(edge.target_point_id);
148
- // console.log('sourcePoint', sourcePoint);
149
- // console.log('targetPoint', targetPoint);
150
-
151
- if (!sourcePoint || !targetPoint) {
152
- return;
153
- }
154
- var latlngs = [[sourcePoint === null || sourcePoint === void 0 ? void 0 : sourcePoint.latitude, sourcePoint === null || sourcePoint === void 0 ? void 0 : sourcePoint.longitude], [targetPoint === null || targetPoint === void 0 ? void 0 : targetPoint.latitude, targetPoint === null || targetPoint === void 0 ? void 0 : targetPoint.longitude]];
155
- var polyline = _leaflet.default.polyline(latlngs, {
156
- color: 'black',
157
- weight: 1,
158
- opacity: 0.5,
159
- smoothFactor: 1
160
- });
161
- (_edgesLayerRef$curren = edgesLayerRef.current) === null || _edgesLayerRef$curren === void 0 ? void 0 : _edgesLayerRef$curren.addLayer(polyline);
162
- });
163
- };
164
- var addAreas = function addAreas() {
165
- if (!map || !areas) {
166
- return;
167
- }
168
- if (areasLayerRef.current) {
169
- if (map.hasLayer(areasLayerRef.current)) {
170
- map.removeLayer(areasLayerRef.current);
171
- }
172
- }
173
- areasLayerRef.current = _leaflet.default.featureGroup();
174
- areasLayerRef.current.addTo(map);
175
- areas.forEach(function (area) {
176
- var _areasLayerRef$curren;
177
- var polygon = _leaflet.default.polygon(area.shape_data, {
178
- color: 'black',
179
- weight: 1,
180
- opacity: 0.8,
181
- smoothFactor: 1,
182
- interactive: false,
183
- kando_object_id: area.area_id
184
- });
185
- polygon.bindTooltip(area.area_name, {
186
- permanent: true,
187
- direction: 'center',
188
- className: 'area-tooltip'
189
- });
190
- (_areasLayerRef$curren = areasLayerRef.current) === null || _areasLayerRef$curren === void 0 ? void 0 : _areasLayerRef$curren.addLayer(polygon);
191
- });
192
- };
193
- (0, _react.useEffect)(function () {
194
- addAreas();
195
- addMarkers();
196
- addEdges();
197
- }, [points, map]);
198
- return map;
199
- };
200
- exports.useMap = useMap;
201
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50SWNvbiIsIl90aGVtZSIsIl9NYXBVdGlscyIsInVzZU1hcCIsIm1hcFJlZiIsInBvaW50cyIsImVkZ2VzIiwiYXJlYXMiLCJzZWxlY3RlZFBvaW50IiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJtYXAiLCJzZXRNYXAiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZvY3VzZWRNYXJrZXIiLCJzZXRGb2N1c2VkTWFya2VyIiwicG9pbnRzTGF5ZXJSZWYiLCJ1c2VSZWYiLCJlZGdlc0xheWVyUmVmIiwiYXJlYXNMYXllclJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJtYXBUeXBlcyIsImJhc2VNYXBzIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJzYXRlbGxpdGUiLCJtYXBUZW1wIiwiTCIsInJlbmRlcmVyIiwiY2FudmFzIiwiT2JqZWN0IiwidmFsdWVzIiwiYWRkVG8iLCJjb250cm9sIiwibGF5ZXJzIiwicG9zaXRpb24iLCJvZmYiLCJyZW1vdmUiLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUiLCJmaXJlIiwiZWFjaExheWVyIiwibWFya2VyIiwib3B0aW9ucyIsImthbmRvX29iamVjdF9pZCIsImlkIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJwb2ludCIsImFkZE1hcmtlcnMiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiZmVhdHVyZUdyb3VwIiwiZ2V0TGF5ZXJzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9wb2ludHNMYXllclJlZiRjdXJyZTIiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwiZ3JvdXAiLCJ0eXBlIiwibmFtZSIsImZvY3VzZWRJY29uIiwiZ2V0TWFya2VyIiwiTWFya2VyIiwic2V0SWNvbiIsIm9uIiwiX2lzSW5zaWRlIiwiYWRkTGF5ZXIiLCJmaXRCb3VuZHMiLCJnZXRCb3VuZHMiLCJzZXRWaWV3IiwiaGFzX2RldmljZSIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY2lyY2xlTWFya2VyIiwicmFkaXVzIiwiY29sb3IiLCJ3ZWlnaHQiLCJmaWxsQ29sb3IiLCJmaWxsT3BhY2l0eSIsImFkZEVkZ2VzIiwicG9pbnRMb29rdXAiLCJNYXAiLCJwIiwic2V0IiwiZWRnZSIsIl9lZGdlc0xheWVyUmVmJGN1cnJlbiIsInNvdXJjZVBvaW50IiwiZ2V0Iiwic291cmNlX3BvaW50X2lkIiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJsYXRsbmdzIiwicG9seWxpbmUiLCJvcGFjaXR5Iiwic21vb3RoRmFjdG9yIiwiYWRkQXJlYXMiLCJhcmVhIiwiX2FyZWFzTGF5ZXJSZWYkY3VycmVuIiwicG9seWdvbiIsInNoYXBlX2RhdGEiLCJpbnRlcmFjdGl2ZSIsImFyZWFfaWQiLCJiaW5kVG9vbHRpcCIsImFyZWFfbmFtZSIsInBlcm1hbmVudCIsImRpcmVjdGlvbiIsImNsYXNzTmFtZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvTWFwL3VzZU1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEwsIHsgTWFya2VyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludEljb24nO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgYmFzZU1hcHMgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwVXRpbHMnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuXG5leHBvcnQgY29uc3QgdXNlTWFwID0gKFxuICBtYXBSZWY6IFJlYWN0LlJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBhcmVhczogSUFyZWFbXSxcbiAgc2VsZWN0ZWRQb2ludDogSVBvaW50IHwgbnVsbCxcbiAgdXBkYXRlU2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQsXG4pOiBMLk1hcCB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IFttYXAsIHNldE1hcF0gPSB1c2VTdGF0ZTxMLk1hcD4oKTtcbiAgY29uc3QgW2ZvY3VzZWRNYXJrZXIsIHNldEZvY3VzZWRNYXJrZXJdID0gdXNlU3RhdGU8TWFya2VyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IHBvaW50c0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBlZGdlc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBhcmVhc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcFR5cGVzID0gYmFzZU1hcHMobGVhZmxldE1hcC5tYXBEZWZhdWx0LCBsZWFmbGV0TWFwLnNhdGVsbGl0ZSk7XG4gICAgY29uc3QgbWFwVGVtcCA9IEwubWFwKG1hcFJlZi5jdXJyZW50LCB7IHJlbmRlcmVyOiBMLmNhbnZhcygpIH0pO1xuXG4gICAgT2JqZWN0LnZhbHVlcyhtYXBUeXBlcylbMF0uYWRkVG8obWFwVGVtcCk7XG5cbiAgICBMLmNvbnRyb2wubGF5ZXJzKG1hcFR5cGVzLCB7fSwgeyBwb3NpdGlvbjogJ2JvdHRvbXJpZ2h0JyB9KS5hZGRUbyhtYXBUZW1wKTtcblxuICAgIHNldE1hcChtYXBUZW1wKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoIW1hcFRlbXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbWFwVGVtcC5vZmYoKTtcbiAgICAgIG1hcFRlbXAucmVtb3ZlKCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRNYXJrZXIpIHtcbiAgICAgIGZvY3VzZWRNYXJrZXIuZmlyZSgnbW91c2VvdXQnKTtcbiAgICB9XG5cbiAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKG1hcmtlcikgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBzZWxlY3RlZFBvaW50ICYmXG4gICAgICAgIG1hcmtlci5vcHRpb25zLmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRQb2ludD8uaWRcbiAgICAgICkge1xuICAgICAgICBtYXJrZXIuZmlyZSgnbW91c2VvdmVyJyk7XG4gICAgICAgIHNldEZvY3VzZWRNYXJrZXIobWFya2VyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRQb2ludF0pO1xuXG4gIGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKHBvaW50KSA9PiB7XG4gICAgdXBkYXRlU2VsZWN0ZWRQb2ludChwb2ludCk7XG4gIH07XG5cbiAgY29uc3QgYWRkTWFya2VycyA9ICgpID0+IHtcbiAgICBpZiAoIW1hcCB8fCAhcG9pbnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGlmIChtYXAuaGFzTGF5ZXIocG9pbnRzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQgPSBMLmZlYXR1cmVHcm91cCgpO1xuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQuYWRkVG8obWFwKTtcblxuICAgIGlmICghcG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRMYXllcnMoKS5sZW5ndGgpIHtcbiAgICAgIHBvaW50cy5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCBpY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZvY3VzZWRJY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBtYXJrZXIgPSBnZXRNYXJrZXIocG9pbnQpO1xuXG4gICAgICAgIGlmIChtYXJrZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICAgIG1hcmtlci5zZXRJY29uKGljb24pO1xuICAgICAgICAgIC8vIFRoZSB1c2Ugb2YgbWFya2VyLl9pc0luc2lkZSBpcyB0byBvdmVyY29tZSB0aGUgaXNzdWUgdGhhdCBtb3VzZW92ZXIgaXMgZW5kbGVzc2x5IHRyaWdnZXJlZFxuICAgICAgICAgIC8vIGFuZCB3ZSBuZWVkIGl0IG9ubGV5IG9uY2VcbiAgICAgICAgICBtYXJrZXIub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgICAgICAgIGlmICghbWFya2VyLl9pc0luc2lkZSkge1xuICAgICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgbWFya2VyLnNldEljb24oZm9jdXNlZEljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG1hcmtlci5vbignbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gZmFsc2U7XG4gICAgICAgICAgICBtYXJrZXIuc2V0SWNvbihpY29uKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmtlci5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlTWFya2VyQ2xpY2socG9pbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihtYXJrZXIpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0TGF5ZXJzKCkubGVuZ3RoKSB7XG4gICAgICBtYXAuZml0Qm91bmRzKHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRzKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXAuc2V0VmlldyhbMzIuMjE5MTU3LCAzNC45ODI0ODFdLCAxMik7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldE1hcmtlciA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgaWYgKFxuICAgICAgcG9pbnQuaGFzX2RldmljZSA9PT0gdHJ1ZSB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50J1xuICAgICkge1xuICAgICAgcmV0dXJuIEwubWFya2VyKFtwb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXSwge1xuICAgICAgICBrYW5kb19vYmplY3RfaWQ6IHBvaW50LmlkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBMLmNpcmNsZU1hcmtlcihbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV0sIHtcbiAgICAgICAgcmFkaXVzOiA0LCAvLyBjaXJjbGUgcmFkaXVzIGluIHBpeGVsc1xuICAgICAgICBjb2xvcjogJyMwMDAwMDAnLCAvLyBib3JkZXIgKHN0cm9rZSkgY29sb3JcbiAgICAgICAgd2VpZ2h0OiAxLCAvLyBib3JkZXIgKHN0cm9rZSkgd2lkdGhcbiAgICAgICAgZmlsbENvbG9yOiAnI2ZmZmZmZicsIC8vIGZpbGwgY29sb3IgKHdoaXRlKVxuICAgICAgICBmaWxsT3BhY2l0eTogMSwgLy8gZnVsbHkgb3BhcXVlXG4gICAgICAgIGthbmRvX29iamVjdF9pZDogcG9pbnQuaWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYWRkRWRnZXMgPSAoKSA9PiB7XG4gICAgLy8gY29uc29sZS5sb2coJ2VkZ2VzJywgZWRnZXMpO1xuICAgIGlmICghbWFwIHx8ICFlZGdlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBvaW50TG9va3VwID0gbmV3IE1hcCgpO1xuICAgIHBvaW50cy5mb3JFYWNoKChwKSA9PiBwb2ludExvb2t1cC5zZXQocC5pZCwgcCkpO1xuXG4gICAgaWYgKGVkZ2VzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihlZGdlc0xheWVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihlZGdlc0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgZWRnZXNMYXllclJlZi5jdXJyZW50LmFkZFRvKG1hcCk7XG5cbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2VQb2ludCA9IHBvaW50TG9va3VwLmdldChlZGdlLnNvdXJjZV9wb2ludF9pZCk7XG4gICAgICBjb25zdCB0YXJnZXRQb2ludCA9IHBvaW50TG9va3VwLmdldChlZGdlLnRhcmdldF9wb2ludF9pZCk7XG4gICAgICAvLyBjb25zb2xlLmxvZygnc291cmNlUG9pbnQnLCBzb3VyY2VQb2ludCk7XG4gICAgICAvLyBjb25zb2xlLmxvZygndGFyZ2V0UG9pbnQnLCB0YXJnZXRQb2ludCk7XG5cbiAgICAgIGlmICghc291cmNlUG9pbnQgfHwgIXRhcmdldFBvaW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGF0bG5ncyA9IFtcbiAgICAgICAgW3NvdXJjZVBvaW50Py5sYXRpdHVkZSwgc291cmNlUG9pbnQ/LmxvbmdpdHVkZV0sXG4gICAgICAgIFt0YXJnZXRQb2ludD8ubGF0aXR1ZGUsIHRhcmdldFBvaW50Py5sb25naXR1ZGVdLFxuICAgICAgXTtcblxuICAgICAgY29uc3QgcG9seWxpbmUgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgb3BhY2l0eTogMC41LFxuICAgICAgICBzbW9vdGhGYWN0b3I6IDEsXG4gICAgICB9KTtcblxuICAgICAgZWRnZXNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihwb2x5bGluZSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgYWRkQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKCFtYXAgfHwgIWFyZWFzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFyZWFzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihhcmVhc0xheWVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihhcmVhc0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFyZWFzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgYXJlYXNMYXllclJlZi5jdXJyZW50LmFkZFRvKG1hcCk7XG5cbiAgICBhcmVhcy5mb3JFYWNoKChhcmVhKSA9PiB7XG4gICAgICBjb25zdCBwb2x5Z29uID0gTC5wb2x5Z29uKGFyZWEuc2hhcGVfZGF0YSwge1xuICAgICAgICBjb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICBvcGFjaXR5OiAwLjgsXG4gICAgICAgIHNtb290aEZhY3RvcjogMSxcbiAgICAgICAgaW50ZXJhY3RpdmU6IGZhbHNlLFxuICAgICAgICBrYW5kb19vYmplY3RfaWQ6IGFyZWEuYXJlYV9pZCxcbiAgICAgIH0pO1xuXG4gICAgICBwb2x5Z29uLmJpbmRUb29sdGlwKGFyZWEuYXJlYV9uYW1lLCB7XG4gICAgICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICAgICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICAgIH0pO1xuXG4gICAgICBhcmVhc0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKHBvbHlnb24pO1xuICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYWRkQXJlYXMoKTtcbiAgICBhZGRNYXJrZXJzKCk7XG4gICAgYWRkRWRnZXMoKTtcbiAgfSwgW3BvaW50cywgbWFwXSk7XG5cbiAgcmV0dXJuIG1hcDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBS08sSUFBTUssTUFBTSxHQUFHLFNBQVRBLE1BQU1BLENBQ2pCQyxNQUF1QyxFQUN2Q0MsTUFBZ0IsRUFDaEJDLEtBQWMsRUFDZEMsS0FBYyxF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
@@ -1,154 +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.default = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
- require("./OperationsPage.scss");
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _reactRedux = require("react-redux");
13
- var _reactBootstrap = require("react-bootstrap");
14
- var _actions = require("store/context/actions");
15
- var _actions2 = require("store/points/actions");
16
- var _actions3 = require("store/edges/actions");
17
- var _Map = require("./Map/Map");
18
- var _LeftPanel = _interopRequireDefault(require("./LeftPanel"));
19
- var _RightPanel = _interopRequireDefault(require("./RightPanel"));
20
- var _actions4 = require("store/areas/actions");
21
- 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); }
22
- 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; }
23
- var OperationsPage = function OperationsPage() {
24
- var dispatch = (0, _reactRedux.useDispatch)();
25
- var points_data = (0, _reactRedux.useSelector)(function (state) {
26
- return state.points_data;
27
- });
28
- var edges_data = (0, _reactRedux.useSelector)(function (state) {
29
- return state.edges_data;
30
- });
31
- var areas_data = (0, _reactRedux.useSelector)(function (state) {
32
- return state.areas_data;
33
- });
34
- var global_data = (0, _reactRedux.useSelector)(function (state) {
35
- return state.global_data;
36
- });
37
- var _useState = (0, _react.useState)(false),
38
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
39
- showRightPanel = _useState2[0],
40
- setShowRightPanel = _useState2[1];
41
- var _useState3 = (0, _react.useState)(null),
42
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
43
- selectedPoint = _useState4[0],
44
- setSelectedPoint = _useState4[1];
45
- var _useState5 = (0, _react.useState)(false),
46
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
47
- isSmallScreen = _useState6[0],
48
- setIsSmallScreen = _useState6[1];
49
- var handleSelectPoint = function handleSelectPoint(newPoint) {
50
- if (selectedPoint && newPoint.id === selectedPoint.id) {
51
- setSelectedPoint(null);
52
- } else {
53
- setSelectedPoint(newPoint);
54
- }
55
- };
56
- (0, _react.useEffect)(function () {
57
- dispatch((0, _actions.updateNavContext)({
58
- name: 'operations'
59
- }));
60
- var checkScreenSize = function checkScreenSize() {
61
- setIsSmallScreen(window.innerWidth < 768); // or any breakpoint
62
- };
63
-
64
- // Run on mount:
65
- checkScreenSize();
66
-
67
- // Also update if the user resizes the browser:
68
- window.addEventListener('resize', checkScreenSize);
69
- return function () {
70
- window.removeEventListener('resize', checkScreenSize);
71
- };
72
- }, []);
73
- (0, _react.useEffect)(function () {
74
- if (global_data.waterAuthorityId) {
75
- dispatch((0, _actions2.fetchPoints)(global_data.waterAuthorityId));
76
- dispatch((0, _actions3.fetchEdges)(global_data.waterAuthorityId));
77
- dispatch((0, _actions4.fetchAreas)(global_data.waterAuthorityId));
78
- }
79
- }, [global_data.waterAuthorityId]);
80
- var monitoredPoints = (0, _react.useMemo)(function () {
81
- var _points_data$items;
82
- return ((_points_data$items = points_data.items) === null || _points_data$items === void 0 ? void 0 : _points_data$items.filter(function (point) {
83
- return point.has_device;
84
- })) || [];
85
- }, [points_data.items]);
86
- var points = (0, _react.useMemo)(function () {
87
- var _points_data$items2;
88
- return ((_points_data$items2 = points_data.items) === null || _points_data$items2 === void 0 ? void 0 : _points_data$items2.filter(function (point) {
89
- return point.latitude && point.longitude;
90
- })) || [];
91
- }, [points_data.items]);
92
- var showLeftPanel = (0, _react.useMemo)(function () {
93
- return /*#__PURE__*/_react.default.createElement(_LeftPanel.default, {
94
- points: monitoredPoints,
95
- selectedPoint: selectedPoint,
96
- setSelectedPoint: setSelectedPoint
97
- });
98
- }, [monitoredPoints, selectedPoint]);
99
- (0, _react.useEffect)(function () {
100
- if (selectedPoint) {
101
- setShowRightPanel(true);
102
- } else {
103
- setShowRightPanel(false);
104
- }
105
- }, [selectedPoint]);
106
- var onRightPanelClose = function onRightPanelClose() {
107
- setSelectedPoint(null);
108
- };
109
- var getDistance = function getDistance() {
110
- if (selectedPoint && edges_data.items) {
111
- var edge = edges_data.items.find(function (edge) {
112
- return edge.source_point_id === selectedPoint.id;
113
- });
114
- return (edge === null || edge === void 0 ? void 0 : edge.distance) || 0;
115
- }
116
- return 0;
117
- };
118
- if (isSmallScreen) {
119
- // Show a message or a specialized layout
120
- return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, null, /*#__PURE__*/_react.default.createElement("div", {
121
- style: {
122
- marginTop: '6rem',
123
- textAlign: 'center',
124
- border: '1px solid #ccc',
125
- padding: '1rem',
126
- borderRadius: '10px'
127
- }
128
- }, /*#__PURE__*/_react.default.createElement("h5", null, 'This page is not supported on small screens'), /*#__PURE__*/_react.default.createElement("p", null, 'Please use a larger screen for the best experience.')));
129
- }
130
- return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
131
- fluid: true,
132
- className: "vh-90 p-0"
133
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
134
- sm: 3,
135
- className: "left-panel"
136
- }, showLeftPanel), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
137
- className: "map-column",
138
- sm: 9
139
- }, !edges_data.isFetching && !areas_data.isFetching && /*#__PURE__*/_react.default.createElement(_Map.Map, {
140
- points: points,
141
- edges: edges_data.items,
142
- areas: areas_data.newAreas,
143
- selectedPoint: selectedPoint,
144
- updateSelectedPoint: handleSelectPoint
145
- }), /*#__PURE__*/_react.default.createElement(_RightPanel.default, {
146
- className: "right-panel ".concat(showRightPanel ? 'open' : ''),
147
- point: selectedPoint,
148
- distance: getDistance(),
149
- onClose: onRightPanelClose
150
- }))));
151
- };
152
- var _default = OperationsPage;
153
- exports.default = _default;
154
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdEJvb3RzdHJhcCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2FjdGlvbnMzIiwiX01hcCIsIl9MZWZ0UGFuZWwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1JpZ2h0UGFuZWwiLCJfYWN0aW9uczQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk9wZXJhdGlvbnNQYWdlIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInBvaW50c19kYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImVkZ2VzX2RhdGEiLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG93UmlnaHRQYW5lbCIsInNldFNob3dSaWdodFBhbmVsIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNTbWFsbFNjcmVlbiIsInNldElzU21hbGxTY3JlZW4iLCJoYW5kbGVTZWxlY3RQb2ludCIsIm5ld1BvaW50IiwiaWQiLCJ1c2VFZmZlY3QiLCJ1cGRhdGVOYXZDb250ZXh0IiwibmFtZSIsImNoZWNrU2NyZWVuU2l6ZSIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIndhdGVyQXV0aG9yaXR5SWQiLCJmZXRjaFBvaW50cyIsImZldGNoRWRnZXMiLCJmZXRjaEFyZWFzIiwibW9uaXRvcmVkUG9pbnRzIiwidXNlTWVtbyIsIl9wb2ludHNfZGF0YSRpdGVtcyIsIml0ZW1zIiwiZmlsdGVyIiwicG9pbnQiLCJoYXNfZGV2aWNlIiwicG9pbnRzIiwiX3BvaW50c19kYXRhJGl0ZW1zMiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwic2hvd0xlZnRQYW5lbCIsImNyZWF0ZUVsZW1lbnQiLCJvblJpZ2h0UGFuZWxDbG9zZSIsImdldERpc3RhbmNlIiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJkaXN0YW5jZSIsIkNvbnRhaW5lciIsInN0eWxlIiwibWFyZ2luVG9wIiwidGV4dEFsaWduIiwiYm9yZGVyIiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsImZsdWlkIiwiY2xhc3NOYW1lIiwiUm93IiwiQ29sIiwic20iLCJpc0ZldGNoaW5nIiwiTWFwIiwiZWRnZXMiLCJhcmVhcyIsIm5ld0FyZWFzIiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsImNvbmNhdCIsIm9uQ2xvc2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvT3BlcmF0aW9uc1BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9PcGVyYXRpb25zUGFnZS5zY3NzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgQ29sLCBDb250YWluZXIsIFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyB1cGRhdGVOYXZDb250ZXh0IH0gZnJvbSAnc3JjL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IE1hcCB9IGZyb20gJy4vTWFwL01hcCc7XG5pbXBvcnQgTGVmdFBhbmVsIGZyb20gJy4vTGVmdFBhbmVsJztcbmltcG9ydCBSaWdodFBhbmVsIGZyb20gJy4vUmlnaHRQYW5lbCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuXG5jb25zdCBPcGVyYXRpb25zUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgcG9pbnRzX2RhdGEgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnBvaW50c19kYXRhKTtcbiAgY29uc3QgZWRnZXNfZGF0YSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuZWRnZXNfZGF0YSk7XG4gIGNvbnN0IGFyZWFzX2RhdGEgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmFyZWFzX2RhdGEpO1xuICBjb25zdCBnbG9iYWxfZGF0YSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEpO1xuICBjb25zdCBbc2hvd1JpZ2h0UGFuZWwsIHNldFNob3dSaWdodFBhbmVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlbGVjdGVkUG9pbnQsIHNldFNlbGVjdGVkUG9pbnRdID0gdXNlU3RhdGU8SVBvaW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtpc1NtYWxsU2NyZWVuLCBzZXRJc1NtYWxsU2NyZWVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQb2ludCA9IChuZXdQb2ludDogSVBvaW50KSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkUG9pbnQgJiYgbmV3UG9pbnQuaWQgPT09IHNlbGVjdGVkUG9pbnQuaWQpIHtcbiAgICAgIHNldFNlbGVjdGVkUG9pbnQobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNlbGVjdGVkUG9pbnQobmV3UG9pbnQpO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHVwZGF0ZU5hdkNvbnRleHQoeyBuYW1lOiAnb3BlcmF0aW9ucycgfSkpO1xuXG4gICAgY29uc3QgY2hlY2tTY3JlZW5TaXplID0gKCkgPT4ge1xuICAgICAgc2V0SXNTbWFsbFNjcmVlbih3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCk7IC8vIG9yIGFueSBicmVha3BvaW50XG4gICAgfTtcblxuICAgIC8vIFJ1biBvbiBtb3VudDpcbiAgICBjaGVja1NjcmVlblNpemUoKTtcblxuICAgIC8vIEFsc28gdXBkYXRlIGlmIHRoZSB1c2VyIHJlc2l6ZXMgdGhlIGJyb3dzZXI6XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGNoZWNrU2NyZWVuU2l6ZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBjaGVja1NjcmVlblNpemUpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgIH1cbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBjb25zdCBtb25pdG9yZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gcG9pbnRzX2RhdGEuaXRlbXM/LmZpbHRlcigocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaGFzX2RldmljZSkgfHwgW107XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtc10pO1xuXG4gIGNvbnN0IHBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcz8uZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQubGF0aXR1ZGUgJiYgcG9pbnQubG9uZ2l0dWRlLFxuICAgICAgKSB8fCBbXVxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtc10pO1xuXG4gIGNvbnN0IHNob3dMZWZ0UGFuZWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPExlZnRQYW5lbFxuICAgICAgICBwb2ludHM9e21vbml0b3JlZFBvaW50c31cbiAgICAgICAgc2VsZWN0ZWRQb2ludD17c2VsZWN0ZWRQb2ludH1cbiAgICAgICAgc2V0U2VsZWN0ZWRQb2ludD17c2V0U2VsZWN0ZWRQb2ludH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW21vbml0b3JlZFBvaW50cywgc2VsZWN0ZWRQb2ludF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkUG9pbnQpIHtcbiAgICAgIHNldFNob3dSaWdodFBhbmVsKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRTaG93UmlnaHRQYW5lbChmYWxzZSk7XG4gICAgfVxuICB9LCBbc2VsZWN0ZWRQb2ludF0pO1xuXG4gIGNvbnN0IG9uUmlnaHRQYW5lbENsb3NlID0gKCkgPT4ge1xuICAgIHNldFNlbGVjdGVkUG9pbnQobnVsbCk7XG4gIH07XG5cbiAgY29uc3QgZ2V0RGlzdGFuY2UgPSAoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkUG9pbnQgJiYgZWRnZXNfZGF0YS5pdGVtcykge1xuICAgICAgY29uc3QgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBzZWxlY3RlZFBvaW50LmlkLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBlZGdlPy5kaXN0YW5jZSB8fCAwO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfTtcblxuICBpZiAoaXNTbWFsbFNjcmVlbikge1xuICAgIC8vIFNob3cgYSBtZXNzYWdlIG9yIGEgc3BlY2lhbGl6ZWQgbGF5b3V0XG4gICAgcmV0dXJuIChcbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luVG9wOiAnNnJlbScsXG4gICAgICAgICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNjY2MnLFxuICAgICAgICAgICAgcGFkZGluZzogJzFyZW0nLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMTBweCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxoNT57J1RoaXMgcGFnZSBpcyBub3Qgc3VwcG9ydGVkIG9uIHNtYWxsIHNjcmVlbnMnfTwvaDU+XG4gICAgICAgICAgPHA+eydQbGVhc2UgdXNlIGEgbGFyZ2VyIHNjcmVlbiBmb3IgdGhlIGJlc3QgZXhwZXJpZW5jZS4nfTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGZsdWlkIGNsYXNzTmFtZT1cInZoLTkwIHAtMFwiPlxuICAgICAgPFJvdz5cbiAgICAgICAgPENvbCBzbT17M30gY2xhc3NOYW1lPVwibGVmdC1wYW5lbFwiPlxuICAgICAgICAgIHtzaG93TGVmdFBhbmVsfVxuICAgICAgICA8L0NvbD5cbiAgICAgICAgPENvbCBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgc209ezl9PlxuICAgICAgICAgIHshZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc19kYXRhLm5ld0FyZWFzfVxuICAgICAgICAgICAgICBzZWxlY3RlZFBvaW50PXtzZWxlY3RlZFBvaW50fVxuICAgICAgICAgICAgICB1cGRhdGVTZWxlY3RlZFBvaW50PXtoYW5kbGVTZWxlY3RQb2ludH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8UmlnaHRQYW5lbFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgcmlnaHQtcGFuZWwgJHtzaG93UmlnaHRQYW5lbCA/ICdvcGVuJyA6ICcnfWB9XG4gICAgICAgICAgICBwb2ludD17c2VsZWN0ZWRQb2ludH1cbiAgICAgICAgICAgIGRpc3RhbmNlPXtnZXREaXN0YW5jZSgpfVxuICAgICAgICAgICAgb25DbG9zZT17b25SaWdodFBhbmVsQ2xvc2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db2w+XG4gICAgICA8L1Jvdz5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9wZXJhdGlvbnNQYWdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FB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
@@ -1,64 +0,0 @@
1
- .map-column {
2
- position: relative;
3
- .kd-map-container {
4
- position: relative;
5
- height: calc(100vh - 68px);
6
- width: 100wh;
7
-
8
- #map {
9
- height: 100%;
10
- width: 100%;
11
-
12
- *,
13
- *:focus,
14
- *:hover {
15
- outline: none;
16
- }
17
- }
18
- }
19
-
20
- .right-panel {
21
- position: absolute;
22
- top: 0;
23
- right: 0;
24
- width: 350px;
25
- height: 100%;
26
- background-color: #fff;
27
- box-shadow: -2px 0 8px rgba(0, 0, 0, 0.2);
28
- transition: transform 0.3s ease-in-out;
29
- transform: translateX(100%);
30
- z-index: 1000;
31
- display: flex;
32
- flex-direction: column; /* to have header, body, footer stacked */
33
- }
34
-
35
- .right-panel.open {
36
- transform: translateX(0);
37
- }
38
- }
39
-
40
- .left-panel {
41
- height: calc(100vh - 68px);
42
- overflow-y: auto;
43
- overflow-x: hidden;
44
- background-color: #f5f5f5;
45
-
46
- .list-item {
47
- padding: 10px;
48
- border-bottom: 1px solid #e0e0e0;
49
- cursor: pointer;
50
- transition: background-color 0.3s;
51
-
52
- &:hover {
53
- background-color: #e0e0e0;
54
- }
55
-
56
- &.list-item-selected {
57
- background-color: #e0e0e0;
58
- }
59
- }
60
- }
61
-
62
- .area-tooltip {
63
- font-weight: 600;
64
- }
@@ -1,29 +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.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var RightPanel = function RightPanel(_ref) {
10
- var point = _ref.point,
11
- distance = _ref.distance,
12
- className = _ref.className,
13
- onClose = _ref.onClose;
14
- return /*#__PURE__*/_react.default.createElement("div", {
15
- className: className
16
- }, /*#__PURE__*/_react.default.createElement("div", {
17
- className: "drawer-header d-flex align-items-center justify-content-between p-3 pr-4"
18
- }, 'Point Details', /*#__PURE__*/_react.default.createElement("button", {
19
- className: "close",
20
- onClick: onClose
21
- }, /*#__PURE__*/_react.default.createElement("span", null, "\xD7"))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
22
- className: "drawer-body p-3"
23
- }, /*#__PURE__*/_react.default.createElement("div", {
24
- className: "form-group"
25
- }, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Name:'), " ", point === null || point === void 0 ? void 0 : point.name), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Description:'), " ", point === null || point === void 0 ? void 0 : point.description), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Monitored:'), " ", (point === null || point === void 0 ? void 0 : point.has_device) ? 'Yes' : 'No'), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Was Monitored:'), ' ', (point === null || point === void 0 ? void 0 : point.device_status) !== 'regular' ? 'Yes' : 'No'), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Sector:'), " ", point === null || point === void 0 ? void 0 : point.group.sector_name), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Type:'), " ", point === null || point === void 0 ? void 0 : point.group.type.split('::')[1]), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Water Discharge:'), ' ', point === null || point === void 0 ? void 0 : point.group.water_discharge), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, 'Distance:'), " ", distance)))));
26
- };
27
- var _default = RightPanel;
28
- exports.default = _default;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlJpZ2h0UGFuZWwiLCJfcmVmIiwicG9pbnQiLCJkaXN0YW5jZSIsImNsYXNzTmFtZSIsIm9uQ2xvc2UiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIm9uQ2xpY2siLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJoYXNfZGV2aWNlIiwiZGV2aWNlX3N0YXR1cyIsImdyb3VwIiwic2VjdG9yX25hbWUiLCJ0eXBlIiwic3BsaXQiLCJ3YXRlcl9kaXNjaGFyZ2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvUmlnaHRQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5cbnR5cGUgUmlnaHRQYW5lbFByb3BzID0ge1xuICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgZGlzdGFuY2U6IG51bWJlcjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFJpZ2h0UGFuZWw6IFJlYWN0LkZDPFJpZ2h0UGFuZWxQcm9wcz4gPSAoe1xuICBwb2ludCxcbiAgZGlzdGFuY2UsXG4gIGNsYXNzTmFtZSxcbiAgb25DbG9zZSxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJhd2VyLWhlYWRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHAtMyBwci00XCI+XG4gICAgICAgIHsnUG9pbnQgRGV0YWlscyd9XG4gICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiY2xvc2VcIiBvbkNsaWNrPXtvbkNsb3NlfT5cbiAgICAgICAgICA8c3Bhbj4mdGltZXM7PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkcmF3ZXItYm9keSBwLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPnsnTmFtZTonfTwvc3Ryb25nPiB7cG9pbnQ/Lm5hbWV9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J0Rlc2NyaXB0aW9uOid9PC9zdHJvbmc+IHtwb2ludD8uZGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J01vbml0b3JlZDonfTwvc3Ryb25nPiB7cG9pbnQ/Lmhhc19kZXZpY2UgPyAnWWVzJyA6ICdObyd9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J1dhcyBNb25pdG9yZWQ6J308L3N0cm9uZz57JyAnfVxuICAgICAgICAgICAgICB7cG9pbnQ/LmRldmljZV9zdGF0dXMgIT09ICdyZWd1bGFyJyA/ICdZZXMnIDogJ05vJ31cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPnsnU2VjdG9yOid9PC9zdHJvbmc+IHtwb2ludD8uZ3JvdXAuc2VjdG9yX25hbWV9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57J1R5cGU6J308L3N0cm9uZz4ge3BvaW50Py5ncm91cC50eXBlLnNwbGl0KCc6OicpWzFdfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+eydXYXRlciBEaXNjaGFyZ2U6J308L3N0cm9uZz57JyAnfVxuICAgICAgICAgICAgICB7cG9pbnQ/Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPnsnRGlzdGFuY2U6J308L3N0cm9uZz4ge2Rpc3RhbmNlfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUmlnaHRQYW5lbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQVVBLElBQU1DLFVBQXFDLEdBQUcsU0FBeENBLFVBQXFDQSxDQUFBQyxJQUFBLEVBS3JDO0VBQUEsSUFKSkMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7SUFDTEMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFDUkMsU0FBUyxHQUFBSCxJQUFBLENBQVRHLFNBQVM7SUFDVEMsT0FBTyxHQUFBSixJQUFBLENBQVBJLE9BQU87RUFFUCxvQkFDRVIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUE7SUFBS0gsU0FBUyxFQUFFQTtFQUFVLGdCQUN4QlAsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUE7SUFBS0gsU0FBUyxFQUFDO0VBQTBFLEdBQ3RGLGVBQWUsZUFDaEJQLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBO0lBQVFILFNBQVMsRUFBQyxPQUFPO0lBQUNJLE9BQU8sRUFBRUg7RUFBUSxnQkFDekNSLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLGVBQU0sTUFBYSxDQUNiLENBQ0wsQ0FBQyxlQUNOVixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSwyQkFDRVYsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUE7SUFBS0gsU0FBUyxFQUFDO0VBQWlCLGdCQUM5QlAsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUE7SUFBS0gsU0FBUyxFQUFDO0VBQVksZ0JBQ3pCUCxNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSx5QkFDRVYsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsaUJBQVMsT0FBZ0IsQ0FBQyxLQUFDLEVBQUNMLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFTyxJQUNsQyxDQUFDLGVBQ0paLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLHlCQUNFVixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxpQkFBUyxjQUF1QixDQUFDLEtBQUMsRUFBQ0wsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVRLFdBQ3pDLENBQUMsZUFDSmIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEseUJBQ0VWLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLGlCQUFTLFlBQXFCLENBQUMsS0FBQyxFQUFDLENBQUFMLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFUyxVQUFVLElBQUcsS0FBSyxHQUFHLElBQzVELENBQUMsZUFDSmQsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEseUJBQ0VWLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLGlCQUFTLGdCQUF5QixDQUFDLEVBQUMsR0FBRyxFQUN0QyxDQUFBTCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRVUsYUFBYSxNQUFLLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFDN0MsQ0FBQyxlQUNKZixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSx5QkFDRVYsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsaUJBQVMsU0FBa0IsQ0FBQyxLQUFDLEVBQUNMLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFVyxLQUFLLENBQUNDLFdBQzFDLENBQUMsZUFDSmpCLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLHlCQUNFVixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxpQkFBUyxPQUFnQixDQUFDLEtBQUMsRUFBQ0wsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVXLEtBQUssQ0FBQ0UsSUFBSSxDQUFDQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUMxRCxDQUFDLGVBQ0puQixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSx5QkFDRVYsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsaUJBQVMsa0JBQTJCLENBQUMsRUFBQyxHQUFHLEVBQ3hDTCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRVcsS0FBSyxDQUFDSSxlQUNiLENBQUMsZUFDSnBCLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLHlCQUNFVixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxpQkFBUyxXQUFvQixDQUFDLEtBQUMsRUFBQ0osUUFDL0IsQ0FDQSxDQUNGLENBQ0YsQ0FDRixDQUFDO0FBRVYsQ0FBQztBQUFDLElBQUFlLFFBQUEsR0FFYWxCLFVBQVU7QUFBQW1CLE9BQUEsQ0FBQWIsT0FBQSxHQUFBWSxRQUFBIn0=
@@ -1,11 +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.default = void 0;
8
- var _OperationsPage = _interopRequireDefault(require("./OperationsPage"));
9
- var _default = _OperationsPage.default;
10
- exports.default = _default;
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfT3BlcmF0aW9uc1BhZ2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kZWZhdWx0IiwiT3BlcmF0aW9uc1BhZ2UiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9PcGVyYXRpb25zUGFnZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT3BlcmF0aW9uc1BhZ2UgZnJvbSAnLi9PcGVyYXRpb25zUGFnZSc7XG5leHBvcnQgZGVmYXVsdCBPcGVyYXRpb25zUGFnZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUE4QyxJQUFBQyxRQUFBLEdBQy9CQyx1QkFBYztBQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FBQUgsUUFBQSJ9
@@ -1,29 +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.KandoAlert = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _Alert = _interopRequireDefault(require("react-bootstrap/Alert"));
10
- // The background color changes based on the selected variant
11
-
12
- var KandoAlert = function KandoAlert(_ref) {
13
- var variant = _ref.variant,
14
- header = _ref.header,
15
- children = _ref.children;
16
- return /*#__PURE__*/_react.default.createElement(_Alert.default, {
17
- variant: variant,
18
- style: {
19
- border: '1px solid #ccc',
20
- borderRadius: '1rem',
21
- padding: '1rem 1.5rem',
22
- maxWidth: '600px',
23
- width: '90%',
24
- margin: '4rem auto 0 auto'
25
- }
26
- }, /*#__PURE__*/_react.default.createElement(_Alert.default.Heading, null, header), /*#__PURE__*/_react.default.createElement("p", null, children));
27
- };
28
- exports.KandoAlert = KandoAlert;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9BbGVydCIsIkthbmRvQWxlcnQiLCJfcmVmIiwidmFyaWFudCIsImhlYWRlciIsImNoaWxkcmVuIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsInBhZGRpbmciLCJtYXhXaWR0aCIsIndpZHRoIiwibWFyZ2luIiwiSGVhZGluZyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0FsZXJ0L0thbmRvQWxlcnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQWxlcnQgZnJvbSAncmVhY3QtYm9vdHN0cmFwL0FsZXJ0JztcblxuLy8gVGhlIGJhY2tncm91bmQgY29sb3IgY2hhbmdlcyBiYXNlZCBvbiB0aGUgc2VsZWN0ZWQgdmFyaWFudFxudHlwZSBCb290c3RyYXBBbGVydFZhcmlhbnQgPVxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnd2FybmluZydcbiAgfCAnaW5mbydcbiAgfCAnbGlnaHQnXG4gIHwgJ2RhcmsnO1xuXG5pbnRlcmZhY2UgQWxlcnRQcm9wcyB7XG4gIHZhcmlhbnQ6IEJvb3RzdHJhcEFsZXJ0VmFyaWFudDtcbiAgaGVhZGVyOiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBLYW5kb0FsZXJ0OiBSZWFjdC5GQzxBbGVydFByb3BzPiA9ICh7XG4gIHZhcmlhbnQsXG4gIGhlYWRlcixcbiAgY2hpbGRyZW4sXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEFsZXJ0XG4gICAgICB2YXJpYW50PXt2YXJpYW50fVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNjY2MnLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICcxcmVtJyxcbiAgICAgICAgcGFkZGluZzogJzFyZW0gMS41cmVtJyxcbiAgICAgICAgbWF4V2lkdGg6ICc2MDBweCcsXG4gICAgICAgIHdpZHRoOiAnOTAlJyxcbiAgICAgICAgbWFyZ2luOiAnNHJlbSBhdXRvIDAgYXV0bycsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxBbGVydC5IZWFkaW5nPntoZWFkZXJ9PC9BbGVydC5IZWFkaW5nPlxuICAgICAgPHA+e2NoaWxkcmVufTwvcD5cbiAgICA8L0FsZXJ0PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBOztBQWlCTyxJQUFNRSxVQUFnQyxHQUFHLFNBQW5DQSxVQUFnQ0EsQ0FBQUMsSUFBQSxFQUl2QztFQUFBLElBSEpDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQ1BDLE1BQU0sR0FBQUYsSUFBQSxDQUFORSxNQUFNO0lBQ05DLFFBQVEsR0FBQUgsSUFBQSxDQUFSRyxRQUFRO0VBRVIsb0JBQ0VSLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNQLE1BQUEsQ0FBQU0sT0FBSztJQUNKSCxPQUFPLEVBQUVBLE9BQVE7SUFDakJLLEtBQUssRUFBRTtNQUNMQyxNQUFNLEVBQUUsZ0JBQWdCO01BQ3hCQyxZQUFZLEVBQUUsTUFBTTtNQUNwQkMsT0FBTyxFQUFFLGFBQWE7TUFDdEJDLFFBQVEsRUFBRSxPQUFPO01BQ2pCQyxLQUFLLEVBQUUsS0FBSztNQUNaQyxNQUFNLEVBQUU7SUFDVjtFQUFFLGdCQUVGakIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsTUFBQSxDQUFBTSxPQUFLLENBQUNTLE9BQU8sUUFBRVgsTUFBc0IsQ0FBQyxlQUN2Q1AsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsWUFBSUYsUUFBWSxDQUNYLENBQUM7QUFFWixDQUFDO0FBQUNXLE9BQUEsQ0FBQWYsVUFBQSxHQUFBQSxVQUFBIn0=