@kando-env/kando-ui 1.2.398-alpha.1 → 1.2.398-alpha.10
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/points/PointIcon.js +3 -2
- package/lib/Widgets/Map/points/PointIcon.scss +13 -0
- package/lib/components/Sector/Sector.js +1 -4
- package/lib/i18n/en.json +9 -0
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/OperationsPage/LeftPanel.js +76 -4
- package/lib/pages/OperationsPage/Map/useMap.js +69 -47
- package/lib/pages/OperationsPage/OperationsPage.js +7 -15
- package/lib/pages/OperationsPage/OperationsPage.scss +29 -18
- package/lib/pages/OperationsPage/RightPanel.js +5 -4
- package/lib/pages/PollutionRiskAssessment/Map.js +39 -7
- package/lib/pages/PollutionRiskAssessment/Map.scss +14 -0
- package/lib/pages/PollutionRiskAssessment/SearchButton.js +36 -0
- package/lib/pages/PollutionRiskAssessment/SearchField.js +82 -0
- package/lib/pages/PollutionRiskAssessment/index.js +47 -5
- package/lib/pages/PollutionRiskAssessment/search_button.svg +31 -0
- package/lib/pages/PollutionRiskAssessment/useMap.js +8 -3
- package/lib/store/points/actions.js +8 -1
- package/lib/store/points/models/IGeoPoint.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/ui-kit/KandoFilter/KandoFilter.js +27 -0
- package/lib/utilities/map/icons.js +7 -3
- package/package.json +1 -1
|
@@ -30,8 +30,9 @@ var iconHtml = function iconHtml(imageUrl, title, subtitle, clicked, type, hideT
|
|
|
30
30
|
var text = title ? "<div class=\"icon-title\">".concat(title, "</div>") : '';
|
|
31
31
|
text += subtitle ? "<div class=\"icon-subtitle\">".concat(subtitle, "</div>") : '';
|
|
32
32
|
var colorClass = getColorClass(type);
|
|
33
|
+
var className = type === 'Groups::default' ? 'default-svg' : 'centered-svg';
|
|
33
34
|
var icon = new _leaflet.default.DivIcon({
|
|
34
|
-
html: "<div class=\"icon-holder ".concat(clicked ? 'clicked' : '', "\">\n <img class=\"
|
|
35
|
+
html: "<div class=\"icon-holder ".concat(clicked ? 'clicked' : '', "\">\n <img class=\"").concat(className, "\" src=\"").concat(imageUrl, "\">\n <div class=\"icon-text ").concat(hideText ? 'hidden-text' : '', " ").concat(colorClass, "\">\n ").concat(text, "\n </div>\n </div>"),
|
|
35
36
|
popupAnchor: [0, -30]
|
|
36
37
|
});
|
|
37
38
|
return icon;
|
|
@@ -42,4 +43,4 @@ var getColorClass = function getColorClass(type) {
|
|
|
42
43
|
};
|
|
43
44
|
var _default = PointIcon;
|
|
44
45
|
exports.default = _default;
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pY29ucyIsIl9sZWFmbGV0IiwiUG9pbnRJY29uIiwiX3JlZiIsImltYWdlVXJsIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzcmMiLCJhbHQiLCJnZXRQb2ludEljb25CeVR5cGUiLCJ0eXBlIiwidGl0bGUiLCJzdWJ0aXRsZSIsImNsaWNrZWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJoaWRlVGV4dCIsImljb24iLCJtYXRjaEljb25Ub1NpdGUiLCJpY29uSHRtbCIsImV4cG9ydHMiLCJ0ZXh0IiwiY29uY2F0IiwiY29sb3JDbGFzcyIsImdldENvbG9yQ2xhc3MiLCJMIiwiRGl2SWNvbiIsImh0bWwiLCJwb3B1cEFuY2hvciIsImNvbG9yIiwic3BsaXQiLCJ0b0xvd2VyQ2FzZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludEljb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJy4vUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgbWF0Y2hJY29uVG9TaXRlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL21hcC9pY29ucyc7XG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcblxuY29uc3QgUG9pbnRJY29uID0gKHsgaW1hZ2VVcmwgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwid2hpdGUtY2lyY2xlXCI+XG4gICAgICA8aW1nIGNsYXNzTmFtZT1cImNlbnRlcmVkLXN2Z1wiIHNyYz17aW1hZ2VVcmx9IGFsdD1cInBvaW50IGljb25cIiAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBvaW50SWNvbkJ5VHlwZSA9IChcbiAgdHlwZTogc3RyaW5nLFxuICB0aXRsZTogc3RyaW5nLFxuICBzdWJ0aXRsZTogc3RyaW5nLFxuICBjbGlja2VkOiBib29sZWFuID0gZmFsc2UsXG4gIGhpZGVUZXh0OiBib29sZWFuID0gdHJ1ZSxcbikgPT4ge1xuICBsZXQgaWNvbiA9IGNsaWNrZWRcbiAgICA/IG1hdGNoSWNvblRvU2l0ZSh0eXBlKS5jbGlja2VkXG4gICAgOiBtYXRjaEljb25Ub1NpdGUodHlwZSkuZGVmYXVsdDtcbiAgcmV0dXJuIGljb25IdG1sKGljb24sIHRpdGxlLCBzdWJ0aXRsZSwgY2xpY2tlZCwgdHlwZSwgaGlkZVRleHQpO1xufTtcblxuY29uc3QgaWNvbkh0bWwgPSAoXG4gIGltYWdlVXJsOiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIHN1YnRpdGxlOiBzdHJpbmcsXG4gIGNsaWNrZWQ6IGJvb2xlYW4sXG4gIHR5cGU6IHN0cmluZyxcbiAgaGlkZVRleHQ6IGJvb2xlYW4sXG4pID0+IHtcbiAgbGV0IHRleHQgPSB0aXRsZSA/IGA8ZGl2IGNsYXNzPVwiaWNvbi10aXRsZVwiPiR7dGl0bGV9PC9kaXY+YCA6ICcnO1xuICB0ZXh0ICs9IHN1YnRpdGxlID8gYDxkaXYgY2xhc3M9XCJpY29uLXN1YnRpdGxlXCI+
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pY29ucyIsIl9sZWFmbGV0IiwiUG9pbnRJY29uIiwiX3JlZiIsImltYWdlVXJsIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzcmMiLCJhbHQiLCJnZXRQb2ludEljb25CeVR5cGUiLCJ0eXBlIiwidGl0bGUiLCJzdWJ0aXRsZSIsImNsaWNrZWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJoaWRlVGV4dCIsImljb24iLCJtYXRjaEljb25Ub1NpdGUiLCJpY29uSHRtbCIsImV4cG9ydHMiLCJ0ZXh0IiwiY29uY2F0IiwiY29sb3JDbGFzcyIsImdldENvbG9yQ2xhc3MiLCJMIiwiRGl2SWNvbiIsImh0bWwiLCJwb3B1cEFuY2hvciIsImNvbG9yIiwic3BsaXQiLCJ0b0xvd2VyQ2FzZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludEljb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJy4vUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgbWF0Y2hJY29uVG9TaXRlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL21hcC9pY29ucyc7XG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcblxuY29uc3QgUG9pbnRJY29uID0gKHsgaW1hZ2VVcmwgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwid2hpdGUtY2lyY2xlXCI+XG4gICAgICA8aW1nIGNsYXNzTmFtZT1cImNlbnRlcmVkLXN2Z1wiIHNyYz17aW1hZ2VVcmx9IGFsdD1cInBvaW50IGljb25cIiAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBvaW50SWNvbkJ5VHlwZSA9IChcbiAgdHlwZTogc3RyaW5nLFxuICB0aXRsZTogc3RyaW5nLFxuICBzdWJ0aXRsZTogc3RyaW5nLFxuICBjbGlja2VkOiBib29sZWFuID0gZmFsc2UsXG4gIGhpZGVUZXh0OiBib29sZWFuID0gdHJ1ZSxcbikgPT4ge1xuICBsZXQgaWNvbiA9IGNsaWNrZWRcbiAgICA/IG1hdGNoSWNvblRvU2l0ZSh0eXBlKS5jbGlja2VkXG4gICAgOiBtYXRjaEljb25Ub1NpdGUodHlwZSkuZGVmYXVsdDtcbiAgcmV0dXJuIGljb25IdG1sKGljb24sIHRpdGxlLCBzdWJ0aXRsZSwgY2xpY2tlZCwgdHlwZSwgaGlkZVRleHQpO1xufTtcblxuY29uc3QgaWNvbkh0bWwgPSAoXG4gIGltYWdlVXJsOiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIHN1YnRpdGxlOiBzdHJpbmcsXG4gIGNsaWNrZWQ6IGJvb2xlYW4sXG4gIHR5cGU6IHN0cmluZyxcbiAgaGlkZVRleHQ6IGJvb2xlYW4sXG4pID0+IHtcbiAgbGV0IHRleHQgPSB0aXRsZSA/IGA8ZGl2IGNsYXNzPVwiaWNvbi10aXRsZVwiPiR7dGl0bGV9PC9kaXY+YCA6ICcnO1xuICB0ZXh0ICs9IHN1YnRpdGxlID8gYDxkaXYgY2xhc3M9XCJpY29uLXN1YnRpdGxlXCI+JHtzdWJ0aXRsZX08L2Rpdj5gIDogJyc7XG5cbiAgY29uc3QgY29sb3JDbGFzcyA9IGdldENvbG9yQ2xhc3ModHlwZSk7XG5cbiAgY29uc3QgY2xhc3NOYW1lID0gdHlwZSA9PT0gJ0dyb3Vwczo6ZGVmYXVsdCcgPyAnZGVmYXVsdC1zdmcnIDogJ2NlbnRlcmVkLXN2Zyc7XG5cbiAgY29uc3QgaWNvbiA9IG5ldyBMLkRpdkljb24oe1xuICAgIGh0bWw6IGA8ZGl2IGNsYXNzPVwiaWNvbi1ob2xkZXIgJHtjbGlja2VkID8gJ2NsaWNrZWQnIDogJyd9XCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiIHNyYz1cIiR7aW1hZ2VVcmx9XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tdGV4dCAke1xuICAgICAgICAgICAgICAgICAgaGlkZVRleHQgPyAnaGlkZGVuLXRleHQnIDogJydcbiAgICAgICAgICAgICAgICB9ICAke2NvbG9yQ2xhc3N9XCI+XG4gICAgICAgICAgICAgICAgICAgICR7dGV4dH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PmAsXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcblxuICByZXR1cm4gaWNvbjtcbn07XG5cbmNvbnN0IGdldENvbG9yQ2xhc3MgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gIGxldCBjb2xvciA9IHR5cGUuc3BsaXQoJzo6JylbMV0udG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuICdjb2xvci10ZXh0LScgKyBjb2xvcjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFBvaW50SWNvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBTUcsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUFDLElBQUEsRUFBcUI7RUFBQSxJQUFmQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtFQUMzQixvQkFDRVAsTUFBQSxDQUFBUSxPQUFBLENBQUFDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQWMsZ0JBQzNCVixNQUFBLENBQUFRLE9BQUEsQ0FBQUMsYUFBQTtJQUFLQyxTQUFTLEVBQUMsY0FBYztJQUFDQyxHQUFHLEVBQUVKLFFBQVM7SUFBQ0ssR0FBRyxFQUFDO0VBQVksQ0FBRSxDQUM1RCxDQUFDO0FBRVYsQ0FBQztBQUVNLElBQU1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQzdCQyxJQUFZLEVBQ1pDLEtBQWEsRUFDYkMsUUFBZ0IsRUFHYjtFQUFBLElBRkhDLE9BQWdCLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLEtBQUs7RUFBQSxJQUN4QkcsUUFBaUIsR0FBQUgsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsSUFBSTtFQUV4QixJQUFJSSxJQUFJLEdBQUdMLE9BQU8sR0FDZCxJQUFBTSxzQkFBZSxFQUFDVCxJQUFJLENBQUMsQ0FBQ0csT0FBTyxHQUM3QixJQUFBTSxzQkFBZSxFQUFDVCxJQUFJLENBQUMsQ0FBQ04sT0FBTztFQUNqQyxPQUFPZ0IsUUFBUSxDQUFDRixJQUFJLEVBQUVQLEtBQUssRUFBRUMsUUFBUSxFQUFFQyxPQUFPLEVBQUVILElBQUksRUFBRU8sUUFBUSxDQUFDO0FBQ2pFLENBQUM7QUFBQ0ksT0FBQSxDQUFBWixrQkFBQSxHQUFBQSxrQkFBQTtBQUVGLElBQU1XLFFBQVEsR0FBRyxTQUFYQSxRQUFRQSxDQUNaakIsUUFBZ0IsRUFDaEJRLEtBQWEsRUFDYkMsUUFBZ0IsRUFDaEJDLE9BQWdCLEVBQ2hCSCxJQUFZLEVBQ1pPLFFBQWlCLEVBQ2Q7RUFDSCxJQUFJSyxJQUFJLEdBQUdYLEtBQUssZ0NBQUFZLE1BQUEsQ0FBOEJaLEtBQUssY0FBVyxFQUFFO0VBQ2hFVyxJQUFJLElBQUlWLFFBQVEsbUNBQUFXLE1BQUEsQ0FBaUNYLFFBQVEsY0FBVyxFQUFFO0VBRXRFLElBQU1ZLFVBQVUsR0FBR0MsYUFBYSxDQUFDZixJQUFJLENBQUM7RUFFdEMsSUFBTUosU0FBUyxHQUFHSSxJQUFJLEtBQUssaUJBQWlCLEdBQUcsYUFBYSxHQUFHLGNBQWM7RUFFN0UsSUFBTVEsSUFBSSxHQUFHLElBQUlRLGdCQUFDLENBQUNDLE9BQU8sQ0FBQztJQUN6QkMsSUFBSSw4QkFBQUwsTUFBQSxDQUE2QlYsT0FBTyxHQUFHLFNBQVMsR0FBRyxFQUFFLHdDQUFBVSxNQUFBLENBQy9CakIsU0FBUyxlQUFBaUIsTUFBQSxDQUFVcEIsUUFBUSxrREFBQW9CLE1BQUEsQ0FFdkNOLFFBQVEsR0FBRyxhQUFhLEdBQUcsRUFBRSxRQUFBTSxNQUFBLENBQzFCQyxVQUFVLCtCQUFBRCxNQUFBLENBQ1RELElBQUksaURBRVA7SUFDZk8sV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtFQUN0QixDQUFDLENBQUM7RUFFRixPQUFPWCxJQUFJO0FBQ2IsQ0FBQztBQUVELElBQU1PLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSWYsSUFBWSxFQUFLO0VBQ3RDLElBQUlvQixLQUFLLEdBQUdwQixJQUFJLENBQUNxQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0VBQzdDLE9BQU8sYUFBYSxHQUFHRixLQUFLO0FBQzlCLENBQUM7QUFBQyxJQUFBRyxRQUFBLEdBRWFoQyxTQUFTO0FBQUFvQixPQUFBLENBQUFqQixPQUFBLEdBQUE2QixRQUFBIn0=
|
|
@@ -2,6 +2,7 @@ $factory: #5e5b70;
|
|
|
2
2
|
$wastewatertreatmentplant: rgba(103, 42, 193, 1);
|
|
3
3
|
$pumpstation: rgba(1, 129, 3, 1);
|
|
4
4
|
$collectors: rgba(23, 76, 155, 1);
|
|
5
|
+
$default: rgba(0, 0, 0, 1);
|
|
5
6
|
|
|
6
7
|
.leaflet-div-icon {
|
|
7
8
|
//position: absolute;
|
|
@@ -134,6 +135,15 @@ $collectors: rgba(23, 76, 155, 1);
|
|
|
134
135
|
transform: none;
|
|
135
136
|
}
|
|
136
137
|
}
|
|
138
|
+
|
|
139
|
+
.default-svg {
|
|
140
|
+
margin-top: 12px;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.default-svg {
|
|
145
|
+
margin-top: 4px;
|
|
146
|
+
margin-left: 8px;
|
|
137
147
|
}
|
|
138
148
|
|
|
139
149
|
.centered-svg-clicked {
|
|
@@ -170,6 +180,9 @@ $collectors: rgba(23, 76, 155, 1);
|
|
|
170
180
|
.color-text-collectors {
|
|
171
181
|
color: $collectors;
|
|
172
182
|
}
|
|
183
|
+
.color-text-default {
|
|
184
|
+
color: $default;
|
|
185
|
+
}
|
|
173
186
|
|
|
174
187
|
.icon-popup {
|
|
175
188
|
width: 200px;
|
|
@@ -22,9 +22,6 @@ var Sector = function Sector(_ref) {
|
|
|
22
22
|
iconFillColor = _ref$iconFillColor === void 0 ? '#3B82F6' : _ref$iconFillColor,
|
|
23
23
|
_ref$showLabel = _ref.showLabel,
|
|
24
24
|
showLabel = _ref$showLabel === void 0 ? true : _ref$showLabel;
|
|
25
|
-
// width = width || '100%';
|
|
26
|
-
// height = height || '100%';
|
|
27
|
-
|
|
28
25
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
29
26
|
className: "sector"
|
|
30
27
|
}, /*#__PURE__*/_react.default.createElement(_SectorIconsNew.default, {
|
|
@@ -43,4 +40,4 @@ var Sector = function Sector(_ref) {
|
|
|
43
40
|
};
|
|
44
41
|
var _default = Sector;
|
|
45
42
|
exports.default = _default;
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pMThuIiwiX1NlY3Rvckljb25zTmV3IiwiU2VjdG9yIiwiX3JlZiIsInNlY3Rvckljb25OYW1lIiwic2VjdG9yTmFtZSIsIndpZHRoIiwiaGVpZ2h0IiwiX3JlZiRpY29uRmlsbENvbG9yIiwiaWNvbkZpbGxDb2xvciIsIl9yZWYkc2hvd0xhYmVsIiwic2hvd0xhYmVsIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJmaWxsIiwiaTE4biIsInQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZWN0b3IvU2VjdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBpbXBvcnQgbWlzc2luZ0ljb24gZnJvbSAnLi9zdmdzL01pc3Npbmcuc3ZnJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbi8vIGltcG9ydCB7IGNhbWVsQ2FzZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgU1ZHSW1hZ2UgZnJvbSAnLi9TZWN0b3JJY29uc05ldyc7XG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgc2VjdG9ySWNvbk5hbWU6IHN0cmluZztcbiAgc2VjdG9yTmFtZT86IHN0cmluZztcbiAgd2lkdGg/
|
|
43
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pMThuIiwiX1NlY3Rvckljb25zTmV3IiwiU2VjdG9yIiwiX3JlZiIsInNlY3Rvckljb25OYW1lIiwic2VjdG9yTmFtZSIsIndpZHRoIiwiaGVpZ2h0IiwiX3JlZiRpY29uRmlsbENvbG9yIiwiaWNvbkZpbGxDb2xvciIsIl9yZWYkc2hvd0xhYmVsIiwic2hvd0xhYmVsIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJmaWxsIiwiaTE4biIsInQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZWN0b3IvU2VjdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBpbXBvcnQgbWlzc2luZ0ljb24gZnJvbSAnLi9zdmdzL01pc3Npbmcuc3ZnJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbi8vIGltcG9ydCB7IGNhbWVsQ2FzZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgU1ZHSW1hZ2UgZnJvbSAnLi9TZWN0b3JJY29uc05ldyc7XG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgc2VjdG9ySWNvbk5hbWU6IHN0cmluZztcbiAgc2VjdG9yTmFtZT86IHN0cmluZztcbiAgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGhlaWdodD86IG51bWJlciB8IHN0cmluZztcbiAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFNlY3RvcjogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIHNlY3Rvckljb25OYW1lLFxuICBzZWN0b3JOYW1lLFxuICB3aWR0aCxcbiAgaGVpZ2h0LFxuICBpY29uRmlsbENvbG9yID0gJyMzQjgyRjYnLFxuICBzaG93TGFiZWwgPSB0cnVlLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic2VjdG9yXCI+XG4gICAgICA8U1ZHSW1hZ2VcbiAgICAgICAgY2xhc3NOYW1lPVwic2VjdG9yX19pY29uXCJcbiAgICAgICAgc2VjdG9ySWNvbk5hbWU9e3NlY3Rvckljb25OYW1lfVxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yfVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VjdG9yX19kZXNjXCI+XG4gICAgICAgIHtzaG93TGFiZWwgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VjdG9yX19sYWJlbFwiPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5zZWN0b3InKX06PC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VjdG9yX190ZXh0XCI+e3NlY3Rvck5hbWV9PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNlY3RvcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLGVBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBSkE7O0FBRUE7O0FBYUEsSUFBTUcsTUFBd0IsR0FBRyxTQUEzQkEsTUFBd0JBLENBQUFDLElBQUEsRUFPeEI7RUFBQSxJQU5KQyxjQUFjLEdBQUFELElBQUEsQ0FBZEMsY0FBYztJQUNkQyxVQUFVLEdBQUFGLElBQUEsQ0FBVkUsVUFBVTtJQUNWQyxLQUFLLEdBQUFILElBQUEsQ0FBTEcsS0FBSztJQUNMQyxNQUFNLEdBQUFKLElBQUEsQ0FBTkksTUFBTTtJQUFBQyxrQkFBQSxHQUFBTCxJQUFBLENBQ05NLGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxrQkFBQSxjQUFHLFNBQVMsR0FBQUEsa0JBQUE7SUFBQUUsY0FBQSxHQUFBUCxJQUFBLENBQ3pCUSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsY0FBQSxjQUFHLElBQUksR0FBQUEsY0FBQTtFQUVoQixvQkFDRWIsTUFBQSxDQUFBZSxPQUFBLENBQUFDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQVEsZ0JBQ3JCakIsTUFBQSxDQUFBZSxPQUFBLENBQUFDLGFBQUEsQ0FBQ1osZUFBQSxDQUFBVyxPQUFRO0lBQ1BFLFNBQVMsRUFBQyxjQUFjO0lBQ3hCVixjQUFjLEVBQUVBLGNBQWU7SUFDL0JXLElBQUksRUFBRU4sYUFBYztJQUNwQkgsS0FBSyxFQUFFQSxLQUFNO0lBQ2JDLE1BQU0sRUFBRUE7RUFBTyxDQUNoQixDQUFDLGVBQ0ZWLE1BQUEsQ0FBQWUsT0FBQSxDQUFBQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFjLEdBQzFCSCxTQUFTLGlCQUNSZCxNQUFBLENBQUFlLE9BQUEsQ0FBQUMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBZSxHQUFFRSxhQUFJLENBQUNDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEdBQU0sQ0FDckUsZUFDRHBCLE1BQUEsQ0FBQWUsT0FBQSxDQUFBQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFjLEdBQUVULFVBQWdCLENBQzVDLENBQ0YsQ0FBQztBQUVWLENBQUM7QUFBQyxJQUFBYSxRQUFBLEdBRWFoQixNQUFNO0FBQUFpQixPQUFBLENBQUFQLE9BQUEsR0FBQU0sUUFBQSJ9
|
package/lib/i18n/en.json
CHANGED
|
@@ -4049,6 +4049,15 @@
|
|
|
4049
4049
|
"surface_water_pollution": "Avoid surface water pollution penalties"
|
|
4050
4050
|
},
|
|
4051
4051
|
"filter_behaviors": "Choose your business goal"
|
|
4052
|
+
},
|
|
4053
|
+
"operations": {
|
|
4054
|
+
"filters": {
|
|
4055
|
+
"filter_types": {
|
|
4056
|
+
"installation_height": "Installation Height",
|
|
4057
|
+
"distance": "Distance",
|
|
4058
|
+
"no_parent": "No Parent"
|
|
4059
|
+
}
|
|
4060
|
+
}
|
|
4052
4061
|
}
|
|
4053
4062
|
}
|
|
4054
4063
|
}
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var packageJsonVersion = "1.2.398-alpha.
|
|
3
|
+
var packageJsonVersion = "1.2.398-alpha.10";
|
|
4
4
|
if (typeof packageJsonVersion === 'string') {
|
|
5
5
|
// eslint-disable-next-line no-console
|
|
6
6
|
console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
|
|
7
7
|
} else {
|
|
8
8
|
console.error('getVersion.js got bad version from package.json, expected string.');
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWNrYWdlSnNvblZlcnNpb24iLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFjcm9zL2dldFZlcnNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHByZXZhbCBmcm9tICdwcmV2YWwubWFjcm8nO1xuXG5jb25zdCBwYWNrYWdlSnNvblZlcnNpb24gPSBwcmV2YWxgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9iaW4vZ2V0VmVyc2lvbkZyb21QYWNrYWdlSnNvbi5qcycpYDtcbmlmICh0eXBlb2YgcGFja2FnZUpzb25WZXJzaW9uID09PSAnc3RyaW5nJykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhcbiAgICBgJWMgS2FuZG8gVUkgJWMgdiR7cGFja2FnZUpzb25WZXJzaW9ufSBgLFxuICAgICdmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjZTIwZjUzOycsXG4gICAgJ2ZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNlMjBmNTM7IGNvbG9yOiAjZmZmOycsXG4gICAgYHdpdGggTk9ERV9FTlY9JHtwcm9jZXNzLmVudi5OT0RFX0VOVn1gLFxuICApO1xufSBlbHNlIHtcbiAgY29uc29sZS5lcnJvcihcbiAgICAnZ2V0VmVyc2lvbi5qcyBnb3QgYmFkIHZlcnNpb24gZnJvbSBwYWNrYWdlLmpzb24sIGV4cGVjdGVkIHN0cmluZy4nLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQU1BLGtCQUFrQixxQkFBNkU7QUFDckcsSUFBSSxPQUFPQSxrQkFBa0IsS0FBSyxRQUFRLEVBQUU7RUFDMUM7RUFDQUMsT0FBTyxDQUFDQyxHQUFHLG9CQUFBQyxNQUFBLENBQ1VILGtCQUFrQixRQUNyQywwREFBMEQsRUFDMUQsNkVBQTZFLG1CQUFBRyxNQUFBLENBQzVEQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxDQUN2QyxDQUFDO0FBQ0gsQ0FBQyxNQUFNO0VBQ0xMLE9BQU8sQ0FBQ00sS0FBSyxDQUNYLG1FQUNGLENBQUM7QUFDSCJ9
|
|
@@ -1,28 +1,100 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
8
|
-
var
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
11
|
var _reactBootstrap = require("react-bootstrap");
|
|
12
|
+
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
13
|
+
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
14
|
+
var _Sector = _interopRequireDefault(require("components/Sector"));
|
|
15
|
+
var _KandoFilter = _interopRequireDefault(require("ui-kit/KandoFilter/KandoFilter"));
|
|
16
|
+
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
|
+
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; }
|
|
10
18
|
var LeftPanel = function LeftPanel(_ref) {
|
|
11
19
|
var points = _ref.points,
|
|
12
20
|
selectedPoint = _ref.selectedPoint,
|
|
13
21
|
setSelectedPoint = _ref.setSelectedPoint;
|
|
22
|
+
var _useState = (0, _react.useState)([]),
|
|
23
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
24
|
+
selectedFilters = _useState2[0],
|
|
25
|
+
setSelectedFilters = _useState2[1];
|
|
26
|
+
var maxIssues = 3;
|
|
27
|
+
var issuesIconColor = function issuesIconColor(length) {
|
|
28
|
+
if (length % maxIssues === 0) {
|
|
29
|
+
return 'icon-red';
|
|
30
|
+
} else if (length % maxIssues === 2) {
|
|
31
|
+
return 'icon-orange';
|
|
32
|
+
} else {
|
|
33
|
+
return 'icon-yellow';
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var showIssues = function showIssues(point) {
|
|
37
|
+
var issuesLength = point === null || point === void 0 ? void 0 : point.issues.length;
|
|
38
|
+
if (issuesLength > 0) {
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
40
|
+
icon: _freeSolidSvgIcons.faExclamationTriangle,
|
|
41
|
+
className: issuesIconColor(issuesLength)
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return '';
|
|
45
|
+
};
|
|
46
|
+
var sortedPoints = points.sort(function (a, b) {
|
|
47
|
+
return b.issues.length - a.issues.length;
|
|
48
|
+
});
|
|
49
|
+
var _useState3 = (0, _react.useState)(sortedPoints),
|
|
50
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
51
|
+
filteredPoints = _useState4[0],
|
|
52
|
+
setFilteredPoints = _useState4[1];
|
|
53
|
+
var filterOptions = [{
|
|
54
|
+
value: 'installation_height',
|
|
55
|
+
label: 'Installation Height'
|
|
56
|
+
}, {
|
|
57
|
+
value: 'distance',
|
|
58
|
+
label: 'Distance'
|
|
59
|
+
}, {
|
|
60
|
+
value: 'no_parent',
|
|
61
|
+
label: 'No Parent'
|
|
62
|
+
}];
|
|
63
|
+
(0, _react.useEffect)(function () {
|
|
64
|
+
var filteredPoints = sortedPoints.filter(function (point) {
|
|
65
|
+
if (selectedFilters.length === 0) {
|
|
66
|
+
return true; // Show all points if no filters are selected
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return selectedFilters.some(function (filter) {
|
|
70
|
+
return point.issues.includes(filter.value);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
setFilteredPoints(filteredPoints);
|
|
74
|
+
}, [selectedFilters]);
|
|
14
75
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
|
|
15
76
|
className: "mt-4"
|
|
16
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row,
|
|
77
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
|
|
78
|
+
className: "mb-4"
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, null, /*#__PURE__*/_react.default.createElement(_KandoFilter.default, {
|
|
80
|
+
filterOptions: filterOptions,
|
|
81
|
+
selectedFilters: selectedFilters,
|
|
82
|
+
setSelectedFilters: setSelectedFilters
|
|
83
|
+
}))), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, null, /*#__PURE__*/_react.default.createElement("h4", null, "Monitored Points(".concat(filteredPoints.length, ")")), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, null, points.length > 0 && filteredPoints.map(function (point) {
|
|
17
84
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
|
|
18
85
|
className: (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id) === point.id ? 'list-item list-item-selected' : 'list-item',
|
|
19
86
|
key: point.id,
|
|
20
87
|
onClick: function onClick() {
|
|
21
88
|
return setSelectedPoint(point);
|
|
22
89
|
}
|
|
23
|
-
},
|
|
90
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
91
|
+
className: "item-content"
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_Sector.default, {
|
|
93
|
+
sectorIconName: point.group.sector_icon_name,
|
|
94
|
+
showLabel: false
|
|
95
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, point.name)), showIssues(point));
|
|
24
96
|
})))));
|
|
25
97
|
};
|
|
26
98
|
var _default = LeftPanel;
|
|
27
99
|
exports.default = _default;
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEJvb3RzdHJhcCIsIkxlZnRQYW5lbCIsIl9yZWYiLCJwb2ludHMiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiUm93IiwiQ29sIiwiY29uY2F0IiwibGVuZ3RoIiwiTGlzdEdyb3VwIiwibWFwIiwicG9pbnQiLCJJdGVtIiwiaWQiLCJrZXkiLCJvbkNsaWNrIiwibmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9PcGVyYXRpb25zUGFnZS9MZWZ0UGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb250YWluZXIsIFJvdywgQ29sLCBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcblxuZXhwb3J0IGludGVyZmFjZSBMZWZ0UGFuZWxQcm9wcyB7XG4gIHBvaW50czogSVBvaW50W107XG4gIHNlbGVjdGVkUG9pbnQ6IElQb2ludCB8IG51bGw7XG4gIHNldFNlbGVjdGVkUG9pbnQ6IChwb2ludDogSVBvaW50KSA9PiB2b2lkO1xufVxuXG5jb25zdCBMZWZ0UGFuZWw6IFJlYWN0LkZDPExlZnRQYW5lbFByb3BzPiA9ICh7XG4gIHBvaW50cyxcbiAgc2VsZWN0ZWRQb2ludCxcbiAgc2V0U2VsZWN0ZWRQb2ludCxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cIm10LTRcIj5cbiAgICAgIDxSb3c+XG4gICAgICAgIDxDb2w+XG4gICAgICAgICAgPGg0PntgTW9uaXRvcmVkIFBvaW50cygke3BvaW50cy5sZW5ndGh9KWB9PC9oND5cbiAgICAgICAgICA8TGlzdEdyb3VwPlxuICAgICAgICAgICAge3BvaW50cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgIHBvaW50cy5tYXAoKHBvaW50KSA9PiAoXG4gICAgICAgICAgICAgICAgPExpc3RHcm91cC5JdGVtXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBvaW50Py5pZCA9PT0gcG9pbnQuaWRcbiAgICAgICAgICAgICAgICAgICAgICA/ICdsaXN0LWl0ZW0gbGlzdC1pdGVtLXNlbGVjdGVkJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2xpc3QtaXRlbSdcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGtleT17cG9pbnQuaWR9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTZWxlY3RlZFBvaW50KHBvaW50KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cG9pbnQubmFtZX1cbiAgICAgICAgICAgICAgICA8L0xpc3RHcm91cC5JdGVtPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0xpc3RHcm91cD5cbiAgICAgICAgPC9Db2w+XG4gICAgICA8L1Jvdz5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExlZnRQYW5lbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQVNBLElBQU1FLFNBQW1DLEdBQUcsU0FBdENBLFNBQW1DQSxDQUFBQyxJQUFBLEVBSW5DO0VBQUEsSUFISkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFDTkMsYUFBYSxHQUFBRixJQUFBLENBQWJFLGFBQWE7SUFDYkMsZ0JBQWdCLEdBQUFILElBQUEsQ0FBaEJHLGdCQUFnQjtFQUVoQixvQkFDRVIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsZUFBQSxDQUFBUSxTQUFTO0lBQUNDLFNBQVMsRUFBQztFQUFNLGdCQUN6QlosTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsZUFBQSxDQUFBVSxHQUFHLHFCQUNGYixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxDQUFDUCxlQUFBLENBQUFXLEdBQUcscUJBQ0ZkLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLGlDQUFBSyxNQUFBLENBQXlCVCxNQUFNLENBQUNVLE1BQU0sTUFBUSxDQUFDLGVBQy9DaEIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsZUFBQSxDQUFBYyxTQUFTLFFBQ1BYLE1BQU0sQ0FBQ1UsTUFBTSxHQUFHLENBQUMsSUFDaEJWLE1BQU0sQ0FBQ1ksR0FBRyxDQUFDLFVBQUNDLEtBQUs7SUFBQSxvQkFDZm5CLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNQLGVBQUEsQ0FBQWMsU0FBUyxDQUFDRyxJQUFJO01BQ2JSLFNBQVMsRUFDUCxDQUFBTCxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRWMsRUFBRSxNQUFLRixLQUFLLENBQUNFLEVBQUUsR0FDMUIsOEJBQThCLEdBQzlCLFdBQ0w7TUFDREMsR0FBRyxFQUFFSCxLQUFLLENBQUNFLEVBQUc7TUFDZEUsT0FBTyxFQUFFLFNBQUFBLFFBQUE7UUFBQSxPQUFNZixnQkFBZ0IsQ0FBQ1csS0FBSyxDQUFDO01BQUE7SUFBQyxHQUV0Q0EsS0FBSyxDQUFDSyxJQUNPLENBQUM7RUFBQSxDQUNsQixDQUNNLENBQ1IsQ0FDRixDQUNJLENBQUM7QUFFaEIsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FFYXJCLFNBQVM7QUFBQXNCLE9BQUEsQ0FBQWpCLE9BQUEsR0FBQWdCLFFBQUEifQ==
|
|
100
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9TZWN0b3IiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0thbmRvRmlsdGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJMZWZ0UGFuZWwiLCJfcmVmIiwicG9pbnRzIiwic2VsZWN0ZWRQb2ludCIsInNldFNlbGVjdGVkUG9pbnQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZWxlY3RlZEZpbHRlcnMiLCJzZXRTZWxlY3RlZEZpbHRlcnMiLCJtYXhJc3N1ZXMiLCJpc3N1ZXNJY29uQ29sb3IiLCJsZW5ndGgiLCJzaG93SXNzdWVzIiwicG9pbnQiLCJpc3N1ZXNMZW5ndGgiLCJpc3N1ZXMiLCJjcmVhdGVFbGVtZW50IiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhRXhjbGFtYXRpb25UcmlhbmdsZSIsImNsYXNzTmFtZSIsInNvcnRlZFBvaW50cyIsInNvcnQiLCJhIiwiYiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZmlsdGVyZWRQb2ludHMiLCJzZXRGaWx0ZXJlZFBvaW50cyIsImZpbHRlck9wdGlvbnMiLCJ2YWx1ZSIsImxhYmVsIiwidXNlRWZmZWN0IiwiZmlsdGVyIiwic29tZSIsImluY2x1ZGVzIiwiQ29udGFpbmVyIiwiUm93IiwiQ29sIiwiY29uY2F0IiwiTGlzdEdyb3VwIiwibWFwIiwiSXRlbSIsImlkIiwib25DbGljayIsInNlY3Rvckljb25OYW1lIiwiZ3JvdXAiLCJzZWN0b3JfaWNvbl9uYW1lIiwic2hvd0xhYmVsIiwibmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9PcGVyYXRpb25zUGFnZS9MZWZ0UGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ29udGFpbmVyLCBSb3csIENvbCwgTGlzdEdyb3VwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFFeGNsYW1hdGlvblRyaWFuZ2xlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCBTZWN0b3IgZnJvbSAnc3JjL2NvbXBvbmVudHMvU2VjdG9yJztcbmltcG9ydCBLYW5kb0ZpbHRlciBmcm9tICdzcmMvdWkta2l0L0thbmRvRmlsdGVyL0thbmRvRmlsdGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBMZWZ0UGFuZWxQcm9wcyB7XG4gIHBvaW50czogSVBvaW50W107XG4gIHNlbGVjdGVkUG9pbnQ6IElQb2ludCB8IG51bGw7XG4gIHNldFNlbGVjdGVkUG9pbnQ6IChwb2ludDogSVBvaW50KSA9PiB2b2lkO1xufVxuXG5jb25zdCBMZWZ0UGFuZWw6IFJlYWN0LkZDPExlZnRQYW5lbFByb3BzPiA9ICh7XG4gIHBvaW50cyxcbiAgc2VsZWN0ZWRQb2ludCxcbiAgc2V0U2VsZWN0ZWRQb2ludCxcbn0pID0+IHtcbiAgY29uc3QgW3NlbGVjdGVkRmlsdGVycywgc2V0U2VsZWN0ZWRGaWx0ZXJzXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgbWF4SXNzdWVzID0gMztcbiAgY29uc3QgaXNzdWVzSWNvbkNvbG9yID0gKGxlbmd0aCkgPT4ge1xuICAgIGlmIChsZW5ndGggJSBtYXhJc3N1ZXMgPT09IDApIHtcbiAgICAgIHJldHVybiAnaWNvbi1yZWQnO1xuICAgIH0gZWxzZSBpZiAobGVuZ3RoICUgbWF4SXNzdWVzID09PSAyKSB7XG4gICAgICByZXR1cm4gJ2ljb24tb3JhbmdlJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdpY29uLXllbGxvdyc7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNob3dJc3N1ZXMgPSAocG9pbnQpID0+IHtcbiAgICBjb25zdCBpc3N1ZXNMZW5ndGggPSBwb2ludD8uaXNzdWVzLmxlbmd0aDtcbiAgICBpZiAoaXNzdWVzTGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgIGljb249e2ZhRXhjbGFtYXRpb25UcmlhbmdsZX1cbiAgICAgICAgICBjbGFzc05hbWU9e2lzc3Vlc0ljb25Db2xvcihpc3N1ZXNMZW5ndGgpfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9O1xuXG4gIGNvbnN0IHNvcnRlZFBvaW50cyA9IHBvaW50cy5zb3J0KChhLCBiKSA9PiBiLmlzc3Vlcy5sZW5ndGggLSBhLmlzc3Vlcy5sZW5ndGgpO1xuICBjb25zdCBbZmlsdGVyZWRQb2ludHMsIHNldEZpbHRlcmVkUG9pbnRzXSA9IHVzZVN0YXRlKHNvcnRlZFBvaW50cyk7XG5cbiAgY29uc3QgZmlsdGVyT3B0aW9ucyA9IFtcbiAgICB7IHZhbHVlOiAnaW5zdGFsbGF0aW9uX2hlaWdodCcsIGxhYmVsOiAnSW5zdGFsbGF0aW9uIEhlaWdodCcgfSxcbiAgICB7IHZhbHVlOiAnZGlzdGFuY2UnLCBsYWJlbDogJ0Rpc3RhbmNlJyB9LFxuICAgIHsgdmFsdWU6ICdub19wYXJlbnQnLCBsYWJlbDogJ05vIFBhcmVudCcgfSxcbiAgXTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcmVkUG9pbnRzID0gc29ydGVkUG9pbnRzLmZpbHRlcigocG9pbnQpID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZEZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBTaG93IGFsbCBwb2ludHMgaWYgbm8gZmlsdGVycyBhcmUgc2VsZWN0ZWRcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlbGVjdGVkRmlsdGVycy5zb21lKChmaWx0ZXIpID0+XG4gICAgICAgIHBvaW50Lmlzc3Vlcy5pbmNsdWRlcyhmaWx0ZXIudmFsdWUpLFxuICAgICAgKTtcbiAgICB9KTtcbiAgICBzZXRGaWx0ZXJlZFBvaW50cyhmaWx0ZXJlZFBvaW50cyk7XG4gIH0sIFtzZWxlY3RlZEZpbHRlcnNdKTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwibXQtNFwiPlxuICAgICAgPFJvdyBjbGFzc05hbWU9XCJtYi00XCI+XG4gICAgICAgIDxDb2w+XG4gICAgICAgICAgPEthbmRvRmlsdGVyXG4gICAgICAgICAgICBmaWx0ZXJPcHRpb25zPXtmaWx0ZXJPcHRpb25zfVxuICAgICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJzPXtzZWxlY3RlZEZpbHRlcnN9XG4gICAgICAgICAgICBzZXRTZWxlY3RlZEZpbHRlcnM9e3NldFNlbGVjdGVkRmlsdGVyc31cbiAgICAgICAgICA+PC9LYW5kb0ZpbHRlcj5cbiAgICAgICAgPC9Db2w+XG4gICAgICA8L1Jvdz5cbiAgICAgIDxSb3c+XG4gICAgICAgIDxDb2w+XG4gICAgICAgICAgPGg0PntgTW9uaXRvcmVkIFBvaW50cygke2ZpbHRlcmVkUG9pbnRzLmxlbmd0aH0pYH08L2g0PlxuICAgICAgICAgIDxMaXN0R3JvdXA+XG4gICAgICAgICAgICB7cG9pbnRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgZmlsdGVyZWRQb2ludHMubWFwKChwb2ludCkgPT4gKFxuICAgICAgICAgICAgICAgIDxMaXN0R3JvdXAuSXRlbVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQb2ludD8uaWQgPT09IHBvaW50LmlkXG4gICAgICAgICAgICAgICAgICAgICAgPyAnbGlzdC1pdGVtIGxpc3QtaXRlbS1zZWxlY3RlZCdcbiAgICAgICAgICAgICAgICAgICAgICA6ICdsaXN0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBrZXk9e3BvaW50LmlkfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2VsZWN0ZWRQb2ludChwb2ludCl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfaWNvbl9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIHNob3dMYWJlbD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgID48L1NlY3Rvcj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3BvaW50Lm5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB7c2hvd0lzc3Vlcyhwb2ludCl9XG4gICAgICAgICAgICAgICAgPC9MaXN0R3JvdXAuSXRlbT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9MaXN0R3JvdXA+XG4gICAgICAgIDwvQ29sPlxuICAgICAgPC9Sb3c+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMZWZ0UGFuZWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLGlCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxrQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBRCxzQkFBQSxDQUFBTCxPQUFBO0FBQTZELFNBQUFPLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBVCx3QkFBQWEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxH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
|
|
@@ -20,9 +20,14 @@ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, update
|
|
|
20
20
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
21
21
|
focusedMarker = _useState4[0],
|
|
22
22
|
setFocusedMarker = _useState4[1];
|
|
23
|
+
var focusedMarkerRef = (0, _react.useRef)(null);
|
|
23
24
|
var pointsLayerRef = (0, _react.useRef)();
|
|
24
25
|
var edgesLayerRef = (0, _react.useRef)();
|
|
25
26
|
var areasLayerRef = (0, _react.useRef)();
|
|
27
|
+
(0, _react.useEffect)(function () {
|
|
28
|
+
focusedMarkerRef.current = focusedMarker;
|
|
29
|
+
resetAllOthers();
|
|
30
|
+
}, [focusedMarker]);
|
|
26
31
|
(0, _react.useEffect)(function () {
|
|
27
32
|
if (!mapRef.current) {
|
|
28
33
|
return;
|
|
@@ -44,18 +49,27 @@ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, update
|
|
|
44
49
|
mapTemp.remove();
|
|
45
50
|
};
|
|
46
51
|
}, []);
|
|
47
|
-
|
|
52
|
+
var resetAllOthers = function resetAllOthers() {
|
|
48
53
|
var _pointsLayerRef$curre;
|
|
49
|
-
if (focusedMarker) {
|
|
50
|
-
focusedMarker.fire('mouseout');
|
|
51
|
-
}
|
|
52
54
|
(_pointsLayerRef$curre = pointsLayerRef.current) === null || _pointsLayerRef$curre === void 0 ? void 0 : _pointsLayerRef$curre.eachLayer(function (marker) {
|
|
53
|
-
if (
|
|
54
|
-
marker.fire('
|
|
55
|
-
setFocusedMarker(marker);
|
|
56
|
-
return;
|
|
55
|
+
if (marker.options.kando_object_id !== (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id) && marker._isInside) {
|
|
56
|
+
marker.fire('mouseout');
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
|
+
};
|
|
60
|
+
(0, _react.useEffect)(function () {
|
|
61
|
+
if (selectedPoint === null) {
|
|
62
|
+
setFocusedMarker(null);
|
|
63
|
+
} else {
|
|
64
|
+
var _pointsLayerRef$curre2;
|
|
65
|
+
(_pointsLayerRef$curre2 = pointsLayerRef.current) === null || _pointsLayerRef$curre2 === void 0 ? void 0 : _pointsLayerRef$curre2.eachLayer(function (marker) {
|
|
66
|
+
if (selectedPoint && marker.options.kando_object_id === (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id)) {
|
|
67
|
+
marker.fire('mouseover');
|
|
68
|
+
setFocusedMarker(marker);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
59
73
|
}, [selectedPoint]);
|
|
60
74
|
var handleMarkerClick = function handleMarkerClick(point) {
|
|
61
75
|
updateSelectedPoint(point);
|
|
@@ -73,14 +87,15 @@ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, update
|
|
|
73
87
|
pointsLayerRef.current.addTo(map);
|
|
74
88
|
if (!pointsLayerRef.current.getLayers().length) {
|
|
75
89
|
points.forEach(function (point) {
|
|
76
|
-
var
|
|
77
|
-
var icon = (0, _PointIcon.getPointIconByType)(
|
|
78
|
-
var focusedIcon = (0, _PointIcon.getPointIconByType)(
|
|
79
|
-
|
|
80
|
-
|
|
90
|
+
var type = point.has_device === true || point.group.type === 'Groups::WastewaterTreatmentPlant' ? point.group.type : 'Groups::default';
|
|
91
|
+
var icon = (0, _PointIcon.getPointIconByType)(type, point.name, '', false, true);
|
|
92
|
+
var focusedIcon = (0, _PointIcon.getPointIconByType)(type, point.name, '', true, false);
|
|
93
|
+
if (point.latitude && point.longitude) {
|
|
94
|
+
var _pointsLayerRef$curre3;
|
|
95
|
+
var marker = getMarker(point);
|
|
81
96
|
marker.setIcon(icon);
|
|
82
97
|
// The use of marker._isInside is to overcome the issue that mouseover is endlessly triggered
|
|
83
|
-
// and we need it
|
|
98
|
+
// and we need it only once
|
|
84
99
|
marker.on('mouseover', function () {
|
|
85
100
|
if (!marker._isInside) {
|
|
86
101
|
marker._isInside = true;
|
|
@@ -88,37 +103,30 @@ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, update
|
|
|
88
103
|
}
|
|
89
104
|
});
|
|
90
105
|
marker.on('mouseout', function () {
|
|
91
|
-
|
|
92
|
-
marker.
|
|
106
|
+
var _focusedMarkerRef$cur;
|
|
107
|
+
if ((focusedMarkerRef === null || focusedMarkerRef === void 0 ? void 0 : (_focusedMarkerRef$cur = focusedMarkerRef.current) === null || _focusedMarkerRef$cur === void 0 ? void 0 : _focusedMarkerRef$cur._leaflet_id) !== (marker === null || marker === void 0 ? void 0 : marker._leaflet_id)) {
|
|
108
|
+
marker._isInside = false;
|
|
109
|
+
marker.setIcon(icon);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
marker.on('click', function () {
|
|
113
|
+
var _focusedMarkerRef$cur2;
|
|
114
|
+
if ((focusedMarkerRef === null || focusedMarkerRef === void 0 ? void 0 : (_focusedMarkerRef$cur2 = focusedMarkerRef.current) === null || _focusedMarkerRef$cur2 === void 0 ? void 0 : _focusedMarkerRef$cur2._leaflet_id) === (marker === null || marker === void 0 ? void 0 : marker._leaflet_id)) {
|
|
115
|
+
setFocusedMarker(null);
|
|
116
|
+
handleMarkerClick(null);
|
|
117
|
+
} else {
|
|
118
|
+
handleMarkerClick(point);
|
|
119
|
+
}
|
|
93
120
|
});
|
|
121
|
+
(_pointsLayerRef$curre3 = pointsLayerRef.current) === null || _pointsLayerRef$curre3 === void 0 ? void 0 : _pointsLayerRef$curre3.addLayer(marker);
|
|
94
122
|
}
|
|
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
123
|
});
|
|
100
124
|
}
|
|
101
|
-
if (pointsLayerRef.current.getLayers().length) {
|
|
102
|
-
map.fitBounds(pointsLayerRef.current.getBounds());
|
|
103
|
-
} else {
|
|
104
|
-
map.setView([32.219157, 34.982481], 12);
|
|
105
|
-
}
|
|
106
125
|
};
|
|
107
126
|
var getMarker = function getMarker(point) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
});
|
|
112
|
-
} else {
|
|
113
|
-
return _leaflet.default.circleMarker([point.latitude, point.longitude], {
|
|
114
|
-
radius: 4,
|
|
115
|
-
color: '#000000',
|
|
116
|
-
weight: 1,
|
|
117
|
-
fillColor: '#ffffff',
|
|
118
|
-
fillOpacity: 1,
|
|
119
|
-
kando_object_id: point.id
|
|
120
|
-
});
|
|
121
|
-
}
|
|
127
|
+
return _leaflet.default.marker([point.latitude, point.longitude], {
|
|
128
|
+
kando_object_id: point.id
|
|
129
|
+
});
|
|
122
130
|
};
|
|
123
131
|
var addEdges = function addEdges() {
|
|
124
132
|
if (!map || !edges) {
|
|
@@ -136,7 +144,7 @@ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, update
|
|
|
136
144
|
edgesLayerRef.current = _leaflet.default.featureGroup();
|
|
137
145
|
edgesLayerRef.current.addTo(map);
|
|
138
146
|
edges.forEach(function (edge) {
|
|
139
|
-
var _edgesLayerRef$curren;
|
|
147
|
+
var _edgesLayerRef$curren, _edgesLayerRef$curren2;
|
|
140
148
|
var sourcePoint = pointLookup.get(edge.source_point_id);
|
|
141
149
|
var targetPoint = pointLookup.get(edge.target_point_id);
|
|
142
150
|
if (!sourcePoint || !targetPoint) {
|
|
@@ -166,7 +174,7 @@ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, update
|
|
|
166
174
|
})
|
|
167
175
|
}]
|
|
168
176
|
});
|
|
169
|
-
|
|
177
|
+
(_edgesLayerRef$curren2 = edgesLayerRef.current) === null || _edgesLayerRef$curren2 === void 0 ? void 0 : _edgesLayerRef$curren2.addLayer(decorator);
|
|
170
178
|
});
|
|
171
179
|
};
|
|
172
180
|
var addAreas = function addAreas() {
|
|
@@ -187,7 +195,9 @@ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, update
|
|
|
187
195
|
if (area.shape_data.length > 0) {
|
|
188
196
|
allAreas.push(area);
|
|
189
197
|
}
|
|
190
|
-
|
|
198
|
+
|
|
199
|
+
// If there are sub_areas, recurse and concatenate
|
|
200
|
+
if (Array.isArray(area.sub_areas) && area.sub_areas.length > 0) {
|
|
191
201
|
allAreas = allAreas.concat(flattenAreas(area.sub_areas));
|
|
192
202
|
}
|
|
193
203
|
});
|
|
@@ -212,12 +222,24 @@ var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, update
|
|
|
212
222
|
(_areasLayerRef$curren = areasLayerRef.current) === null || _areasLayerRef$curren === void 0 ? void 0 : _areasLayerRef$curren.addLayer(polygon);
|
|
213
223
|
});
|
|
214
224
|
};
|
|
225
|
+
var focusMap = function focusMap() {
|
|
226
|
+
if (map) {
|
|
227
|
+
if ((pointsLayerRef === null || pointsLayerRef === void 0 ? void 0 : pointsLayerRef.current) && Array.isArray(pointsLayerRef.current.getLayers()) && pointsLayerRef.current.getLayers().length > 0) {
|
|
228
|
+
map.fitBounds(pointsLayerRef.current.getBounds());
|
|
229
|
+
} else {
|
|
230
|
+
map.setView([32.219157, 34.982481], 12);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
};
|
|
215
234
|
(0, _react.useEffect)(function () {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
235
|
+
if (map) {
|
|
236
|
+
addAreas();
|
|
237
|
+
addEdges();
|
|
238
|
+
addMarkers();
|
|
239
|
+
focusMap();
|
|
240
|
+
}
|
|
241
|
+
}, [points, areas, edges, map]);
|
|
220
242
|
return map;
|
|
221
243
|
};
|
|
222
244
|
exports.useMap = useMap;
|
|
223
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50SWNvbiIsIl90aGVtZSIsIl9NYXBVdGlscyIsInVzZU1hcCIsIm1hcFJlZiIsInBvaW50cyIsImVkZ2VzIiwiYXJlYXMiLCJzZWxlY3RlZFBvaW50IiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJtYXAiLCJzZXRNYXAiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZvY3VzZWRNYXJrZXIiLCJzZXRGb2N1c2VkTWFya2VyIiwicG9pbnRzTGF5ZXJSZWYiLCJ1c2VSZWYiLCJlZGdlc0xheWVyUmVmIiwiYXJlYXNMYXllclJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJtYXBUeXBlcyIsImJhc2VNYXBzIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJzYXRlbGxpdGUiLCJtYXBUZW1wIiwiTCIsInJlbmRlcmVyIiwiY2FudmFzIiwiT2JqZWN0IiwidmFsdWVzIiwiYWRkVG8iLCJjb250cm9sIiwibGF5ZXJzIiwicG9zaXRpb24iLCJvZmYiLCJyZW1vdmUiLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUiLCJmaXJlIiwiZWFjaExheWVyIiwibWFya2VyIiwib3B0aW9ucyIsImthbmRvX29iamVjdF9pZCIsImlkIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJwb2ludCIsImFkZE1hcmtlcnMiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiZmVhdHVyZUdyb3VwIiwiZ2V0TGF5ZXJzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9wb2ludHNMYXllclJlZiRjdXJyZTIiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwiZ3JvdXAiLCJ0eXBlIiwibmFtZSIsImZvY3VzZWRJY29uIiwiZ2V0TWFya2VyIiwiTWFya2VyIiwic2V0SWNvbiIsIm9uIiwiX2lzSW5zaWRlIiwiYWRkTGF5ZXIiLCJmaXRCb3VuZHMiLCJnZXRCb3VuZHMiLCJzZXRWaWV3IiwiaGFzX2RldmljZSIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY2lyY2xlTWFya2VyIiwicmFkaXVzIiwiY29sb3IiLCJ3ZWlnaHQiLCJmaWxsQ29sb3IiLCJmaWxsT3BhY2l0eSIsImFkZEVkZ2VzIiwicG9pbnRMb29rdXAiLCJNYXAiLCJwIiwic2V0IiwiZWRnZSIsIl9lZGdlc0xheWVyUmVmJGN1cnJlbiIsInNvdXJjZVBvaW50IiwiZ2V0Iiwic291cmNlX3BvaW50X2lkIiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJsYXRsbmdzIiwicG9seWxpbmUiLCJvcGFjaXR5Iiwic21vb3RoRmFjdG9yIiwiZGVjb3JhdG9yIiwicG9seWxpbmVEZWNvcmF0b3IiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsImFkZEFyZWFzIiwiZmxhdHRlbkFyZWFzIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiYWxsQXJlYXMiLCJhcmVhIiwic2hhcGVfZGF0YSIsInB1c2giLCJzdWJfYXJlYXMiLCJjb25jYXQiLCJfYXJlYXNMYXllclJlZiRjdXJyZW4iLCJpbnRlcmFjdGl2ZSIsImFyZWFfaWQiLCJiaW5kVG9vbHRpcCIsImFyZWFfbmFtZSIsInBlcm1hbmVudCIsImRpcmVjdGlvbiIsImNsYXNzTmFtZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvTWFwL3VzZU1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEwsIHsgTWFya2VyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludEljb24nO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgYmFzZU1hcHMgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwVXRpbHMnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuXG5leHBvcnQgY29uc3QgdXNlTWFwID0gKFxuICBtYXBSZWY6IFJlYWN0LlJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBhcmVhczogSUFyZWFbXSxcbiAgc2VsZWN0ZWRQb2ludDogSVBvaW50IHwgbnVsbCxcbiAgdXBkYXRlU2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQsXG4pOiBMLk1hcCB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IFttYXAsIHNldE1hcF0gPSB1c2VTdGF0ZTxMLk1hcD4oKTtcbiAgY29uc3QgW2ZvY3VzZWRNYXJrZXIsIHNldEZvY3VzZWRNYXJrZXJdID0gdXNlU3RhdGU8TWFya2VyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IHBvaW50c0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBlZGdlc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBhcmVhc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcFR5cGVzID0gYmFzZU1hcHMobGVhZmxldE1hcC5tYXBEZWZhdWx0LCBsZWFmbGV0TWFwLnNhdGVsbGl0ZSk7XG4gICAgY29uc3QgbWFwVGVtcCA9IEwubWFwKG1hcFJlZi5jdXJyZW50LCB7IHJlbmRlcmVyOiBMLmNhbnZhcygpIH0pO1xuXG4gICAgT2JqZWN0LnZhbHVlcyhtYXBUeXBlcylbMF0uYWRkVG8obWFwVGVtcCk7XG5cbiAgICBMLmNvbnRyb2wubGF5ZXJzKG1hcFR5cGVzLCB7fSwgeyBwb3NpdGlvbjogJ2JvdHRvbXJpZ2h0JyB9KS5hZGRUbyhtYXBUZW1wKTtcblxuICAgIHNldE1hcChtYXBUZW1wKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoIW1hcFRlbXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbWFwVGVtcC5vZmYoKTtcbiAgICAgIG1hcFRlbXAucmVtb3ZlKCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRNYXJrZXIpIHtcbiAgICAgIGZvY3VzZWRNYXJrZXIuZmlyZSgnbW91c2VvdXQnKTtcbiAgICB9XG5cbiAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKG1hcmtlcikgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBzZWxlY3RlZFBvaW50ICYmXG4gICAgICAgIG1hcmtlci5vcHRpb25zLmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRQb2ludD8uaWRcbiAgICAgICkge1xuICAgICAgICBtYXJrZXIuZmlyZSgnbW91c2VvdmVyJyk7XG4gICAgICAgIHNldEZvY3VzZWRNYXJrZXIobWFya2VyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRQb2ludF0pO1xuXG4gIGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKHBvaW50KSA9PiB7XG4gICAgdXBkYXRlU2VsZWN0ZWRQb2ludChwb2ludCk7XG4gIH07XG5cbiAgY29uc3QgYWRkTWFya2VycyA9ICgpID0+IHtcbiAgICBpZiAoIW1hcCB8fCAhcG9pbnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGlmIChtYXAuaGFzTGF5ZXIocG9pbnRzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQgPSBMLmZlYXR1cmVHcm91cCgpO1xuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQuYWRkVG8obWFwKTtcblxuICAgIGlmICghcG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRMYXllcnMoKS5sZW5ndGgpIHtcbiAgICAgIHBvaW50cy5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCBpY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZvY3VzZWRJY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBtYXJrZXIgPSBnZXRNYXJrZXIocG9pbnQpO1xuXG4gICAgICAgIGlmIChtYXJrZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICAgIG1hcmtlci5zZXRJY29uKGljb24pO1xuICAgICAgICAgIC8vIFRoZSB1c2Ugb2YgbWFya2VyLl9pc0luc2lkZSBpcyB0byBvdmVyY29tZSB0aGUgaXNzdWUgdGhhdCBtb3VzZW92ZXIgaXMgZW5kbGVzc2x5IHRyaWdnZXJlZFxuICAgICAgICAgIC8vIGFuZCB3ZSBuZWVkIGl0IG9ubGV5IG9uY2VcbiAgICAgICAgICBtYXJrZXIub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgICAgICAgIGlmICghbWFya2VyLl9pc0luc2lkZSkge1xuICAgICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgbWFya2VyLnNldEljb24oZm9jdXNlZEljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG1hcmtlci5vbignbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gZmFsc2U7XG4gICAgICAgICAgICBtYXJrZXIuc2V0SWNvbihpY29uKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmtlci5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlTWFya2VyQ2xpY2socG9pbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihtYXJrZXIpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0TGF5ZXJzKCkubGVuZ3RoKSB7XG4gICAgICBtYXAuZml0Qm91bmRzKHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRzKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXAuc2V0VmlldyhbMzIuMjE5MTU3LCAzNC45ODI0ODFdLCAxMik7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldE1hcmtlciA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgaWYgKFxuICAgICAgcG9pbnQuaGFzX2RldmljZSA9PT0gdHJ1ZSB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50J1xuICAgICkge1xuICAgICAgcmV0dXJuIEwubWFya2VyKFtwb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXSwge1xuICAgICAgICBrYW5kb19vYmplY3RfaWQ6IHBvaW50LmlkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBMLmNpcmNsZU1hcmtlcihbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV0sIHtcbiAgICAgICAgcmFkaXVzOiA0LFxuICAgICAgICBjb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgIGZpbGxDb2xvcjogJyNmZmZmZmYnLFxuICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAga2FuZG9fb2JqZWN0X2lkOiBwb2ludC5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBhZGRFZGdlcyA9ICgpID0+IHtcbiAgICBpZiAoIW1hcCB8fCAhZWRnZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwb2ludExvb2t1cCA9IG5ldyBNYXAoKTtcbiAgICBwb2ludHMuZm9yRWFjaCgocCkgPT4gcG9pbnRMb29rdXAuc2V0KHAuaWQsIHApKTtcblxuICAgIGlmIChlZGdlc0xheWVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGlmIChtYXAuaGFzTGF5ZXIoZWRnZXNMYXllclJlZi5jdXJyZW50KSkge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIoZWRnZXNMYXllclJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlZGdlc0xheWVyUmVmLmN1cnJlbnQgPSBMLmZlYXR1cmVHcm91cCgpO1xuICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudC5hZGRUbyhtYXApO1xuXG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlUG9pbnQgPSBwb2ludExvb2t1cC5nZXQoZWRnZS5zb3VyY2VfcG9pbnRfaWQpO1xuICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSBwb2ludExvb2t1cC5nZXQoZWRnZS50YXJnZXRfcG9pbnRfaWQpO1xuXG4gICAgICBpZiAoIXNvdXJjZVBvaW50IHx8ICF0YXJnZXRQb2ludCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxhdGxuZ3MgPSBbXG4gICAgICAgIFtzb3VyY2VQb2ludD8ubGF0aXR1ZGUsIHNvdXJjZVBvaW50Py5sb25naXR1ZGVdLFxuICAgICAgICBbdGFyZ2V0UG9pbnQ/LmxhdGl0dWRlLCB0YXJnZXRQb2ludD8ubG9uZ2l0dWRlXSxcbiAgICAgIF07XG5cbiAgICAgIGNvbnN0IHBvbHlsaW5lID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgIG9wYWNpdHk6IDAuNSxcbiAgICAgICAgc21vb3RoRmFjdG9yOiAxLFxuICAgICAgfSk7XG5cbiAgICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudD8uYWRkTGF5ZXIocG9seWxpbmUpO1xuXG4gICAgICBjb25zdCBkZWNvcmF0b3IgPSBMLnBvbHlsaW5lRGVjb3JhdG9yKHBvbHlsaW5lLCB7XG4gICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb2Zmc2V0OiAyMCxcbiAgICAgICAgICAgIHJlcGVhdDogNjAsXG4gICAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgIHBpeGVsU2l6ZTogNCxcbiAgICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnIzU1NScsXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuOCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZGVjb3JhdG9yLmFkZFRvKG1hcCk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgYWRkQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKCFtYXAgfHwgIWFyZWFzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFyZWFzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihhcmVhc0xheWVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihhcmVhc0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFyZWFzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgYXJlYXNMYXllclJlZi5jdXJyZW50LmFkZFRvKG1hcCk7XG5cbiAgICBjb25zdCBmbGF0dGVuQXJlYXMgPSAoYXJlYXM6IElBcmVhW10gPSBbXSk6IElBcmVhW10gPT4ge1xuICAgICAgbGV0IGFsbEFyZWFzOiBJQXJlYVtdID0gW107XG5cbiAgICAgIGFyZWFzLmZvckVhY2goKGFyZWE6IElBcmVhKSA9PiB7XG4gICAgICAgIGlmIChhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGFsbEFyZWFzLnB1c2goYXJlYSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXJlYS5zdWJfYXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGFsbEFyZWFzID0gYWxsQXJlYXMuY29uY2F0KGZsYXR0ZW5BcmVhcyhhcmVhLnN1Yl9hcmVhcykpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGFsbEFyZWFzO1xuICAgIH07XG5cbiAgICBjb25zdCBhbGxBcmVhcyA9IGZsYXR0ZW5BcmVhcyhhcmVhcyk7XG5cbiAgICBhbGxBcmVhcy5mb3JFYWNoKChhcmVhKSA9PiB7XG4gICAgICBjb25zdCBwb2x5Z29uID0gTC5wb2x5Z29uKGFyZWEuc2hhcGVfZGF0YSwge1xuICAgICAgICBjb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICBvcGFjaXR5OiAwLjgsXG4gICAgICAgIHNtb290aEZhY3RvcjogMSxcbiAgICAgICAgaW50ZXJhY3RpdmU6IGZhbHNlLFxuICAgICAgICBrYW5kb19vYmplY3RfaWQ6IGFyZWEuYXJlYV9pZCxcbiAgICAgIH0pO1xuXG4gICAgICBwb2x5Z29uLmJpbmRUb29sdGlwKGFyZWEuYXJlYV9uYW1lLCB7XG4gICAgICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICAgICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICAgIH0pO1xuXG4gICAgICBhcmVhc0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKHBvbHlnb24pO1xuICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYWRkQXJlYXMoKTtcbiAgICBhZGRNYXJrZXJzKCk7XG4gICAgYWRkRWRnZXMoKTtcbiAgfSwgW3BvaW50cywgbWFwXSk7XG5cbiAgcmV0dXJuIG1hcDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBS08sSUFBTUssTUFBTSxHQUFHLFNBQVRBLE1BQU1BLENBQ2pCQyxNQUF1QyxFQUN2Q0MsTUFBZ0IsRUFDaEJDLEtBQWMsRUFDZEMsS0FBYyxFQUNkQyxh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
|
|
245
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50SWNvbiIsIl90aGVtZSIsIl9NYXBVdGlscyIsInVzZU1hcCIsIm1hcFJlZiIsInBvaW50cyIsImVkZ2VzIiwiYXJlYXMiLCJzZWxlY3RlZFBvaW50IiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJtYXAiLCJzZXRNYXAiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZvY3VzZWRNYXJrZXIiLCJzZXRGb2N1c2VkTWFya2VyIiwiZm9jdXNlZE1hcmtlclJlZiIsInVzZVJlZiIsInBvaW50c0xheWVyUmVmIiwiZWRnZXNMYXllclJlZiIsImFyZWFzTGF5ZXJSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwicmVzZXRBbGxPdGhlcnMiLCJtYXBUeXBlcyIsImJhc2VNYXBzIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJzYXRlbGxpdGUiLCJtYXBUZW1wIiwiTCIsInJlbmRlcmVyIiwiY2FudmFzIiwiT2JqZWN0IiwidmFsdWVzIiwiYWRkVG8iLCJjb250cm9sIiwibGF5ZXJzIiwicG9zaXRpb24iLCJvZmYiLCJyZW1vdmUiLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUiLCJlYWNoTGF5ZXIiLCJtYXJrZXIiLCJvcHRpb25zIiwia2FuZG9fb2JqZWN0X2lkIiwiaWQiLCJfaXNJbnNpZGUiLCJmaXJlIiwiX3BvaW50c0xheWVyUmVmJGN1cnJlMiIsImhhbmRsZU1hcmtlckNsaWNrIiwicG9pbnQiLCJhZGRNYXJrZXJzIiwiaGFzTGF5ZXIiLCJyZW1vdmVMYXllciIsImZlYXR1cmVHcm91cCIsImdldExheWVycyIsImxlbmd0aCIsImZvckVhY2giLCJ0eXBlIiwiaGFzX2RldmljZSIsImdyb3VwIiwiaWNvbiIsImdldFBvaW50SWNvbkJ5VHlwZSIsIm5hbWUiLCJmb2N1c2VkSWNvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiX3BvaW50c0xheWVyUmVmJGN1cnJlMyIsImdldE1hcmtlciIsInNldEljb24iLCJvbiIsIl9mb2N1c2VkTWFya2VyUmVmJGN1ciIsIl9sZWFmbGV0X2lkIiwiX2ZvY3VzZWRNYXJrZXJSZWYkY3VyMiIsImFkZExheWVyIiwiYWRkRWRnZXMiLCJwb2ludExvb2t1cCIsIk1hcCIsInAiLCJzZXQiLCJlZGdlIiwiX2VkZ2VzTGF5ZXJSZWYkY3VycmVuIiwiX2VkZ2VzTGF5ZXJSZWYkY3VycmVuMiIsInNvdXJjZVBvaW50IiwiZ2V0Iiwic291cmNlX3BvaW50X2lkIiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJsYXRsbmdzIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJzbW9vdGhGYWN0b3IiLCJkZWNvcmF0b3IiLCJwb2x5bGluZURlY29yYXRvciIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiU3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwiYWRkQXJlYXMiLCJmbGF0dGVuQXJlYXMiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJhbGxBcmVhcyIsImFyZWEiLCJzaGFwZV9kYXRhIiwicHVzaCIsIkFycmF5IiwiaXNBcnJheSIsInN1Yl9hcmVhcyIsImNvbmNhdCIsIl9hcmVhc0xheWVyUmVmJGN1cnJlbiIsImludGVyYWN0aXZlIiwiYXJlYV9pZCIsImJpbmRUb29sdGlwIiwiYXJlYV9uYW1lIiwicGVybWFuZW50IiwiZGlyZWN0aW9uIiwiY2xhc3NOYW1lIiwiZm9jdXNNYXAiLCJmaXRCb3VuZHMiLCJnZXRCb3VuZHMiLCJzZXRWaWV3IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9PcGVyYXRpb25zUGFnZS9NYXAvdXNlTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBNYXJrZXIgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50SWNvbic7XG5pbXBvcnQgeyBsZWFmbGV0TWFwIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyBiYXNlTWFwcyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscyc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmV4cG9ydCBjb25zdCB1c2VNYXAgPSAoXG4gIG1hcFJlZjogUmVhY3QuUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PixcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4gIGFyZWFzOiBJQXJlYVtdLFxuICBzZWxlY3RlZFBvaW50OiBJUG9pbnQgfCBudWxsLFxuICB1cGRhdGVTZWxlY3RlZFBvaW50OiAocG9pbnQ6IElQb2ludCkgPT4gdm9pZCxcbik6IEwuTWFwIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgW21hcCwgc2V0TWFwXSA9IHVzZVN0YXRlPEwuTWFwPigpO1xuICBjb25zdCBbZm9jdXNlZE1hcmtlciwgc2V0Rm9jdXNlZE1hcmtlcl0gPSB1c2VTdGF0ZTxNYXJrZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZm9jdXNlZE1hcmtlclJlZiA9IHVzZVJlZjxNYXJrZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgcG9pbnRzTGF5ZXJSZWYgPSB1c2VSZWY8TC5GZWF0dXJlR3JvdXA+KCk7XG4gIGNvbnN0IGVkZ2VzTGF5ZXJSZWYgPSB1c2VSZWY8TC5GZWF0dXJlR3JvdXA+KCk7XG4gIGNvbnN0IGFyZWFzTGF5ZXJSZWYgPSB1c2VSZWY8TC5GZWF0dXJlR3JvdXA+KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmb2N1c2VkTWFya2VyUmVmLmN1cnJlbnQgPSBmb2N1c2VkTWFya2VyO1xuICAgIHJlc2V0QWxsT3RoZXJzKCk7XG4gIH0sIFtmb2N1c2VkTWFya2VyXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWFwVHlwZXMgPSBiYXNlTWFwcyhsZWFmbGV0TWFwLm1hcERlZmF1bHQsIGxlYWZsZXRNYXAuc2F0ZWxsaXRlKTtcbiAgICBjb25zdCBtYXBUZW1wID0gTC5tYXAobWFwUmVmLmN1cnJlbnQsIHsgcmVuZGVyZXI6IEwuY2FudmFzKCkgfSk7XG5cbiAgICBPYmplY3QudmFsdWVzKG1hcFR5cGVzKVswXS5hZGRUbyhtYXBUZW1wKTtcblxuICAgIEwuY29udHJvbC5sYXllcnMobWFwVHlwZXMsIHt9LCB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0pLmFkZFRvKG1hcFRlbXApO1xuXG4gICAgc2V0TWFwKG1hcFRlbXApO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICghbWFwVGVtcCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBtYXBUZW1wLm9mZigpO1xuICAgICAgbWFwVGVtcC5yZW1vdmUoKTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVzZXRBbGxPdGhlcnMgPSAoKSA9PiB7XG4gICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudD8uZWFjaExheWVyKChtYXJrZXIpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgbWFya2VyLm9wdGlvbnMua2FuZG9fb2JqZWN0X2lkICE9PSBzZWxlY3RlZFBvaW50Py5pZCAmJlxuICAgICAgICBtYXJrZXIuX2lzSW5zaWRlXG4gICAgICApIHtcbiAgICAgICAgbWFya2VyLmZpcmUoJ21vdXNlb3V0Jyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRQb2ludCA9PT0gbnVsbCkge1xuICAgICAgc2V0Rm9jdXNlZE1hcmtlcihudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudD8uZWFjaExheWVyKChtYXJrZXIpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlbGVjdGVkUG9pbnQgJiZcbiAgICAgICAgICBtYXJrZXIub3B0aW9ucy5rYW5kb19vYmplY3RfaWQgPT09IHNlbGVjdGVkUG9pbnQ/LmlkXG4gICAgICAgICkge1xuICAgICAgICAgIG1hcmtlci5maXJlKCdtb3VzZW92ZXInKTtcbiAgICAgICAgICBzZXRGb2N1c2VkTWFya2VyKG1hcmtlcik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtzZWxlY3RlZFBvaW50XSk7XG5cbiAgY29uc3QgaGFuZGxlTWFya2VyQ2xpY2sgPSAocG9pbnQpID0+IHtcbiAgICB1cGRhdGVTZWxlY3RlZFBvaW50KHBvaW50KTtcbiAgfTtcblxuICBjb25zdCBhZGRNYXJrZXJzID0gKCkgPT4ge1xuICAgIGlmICghbWFwIHx8ICFwb2ludHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocG9pbnRzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihwb2ludHNMYXllclJlZi5jdXJyZW50KSkge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocG9pbnRzTGF5ZXJSZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudC5hZGRUbyhtYXApO1xuXG4gICAgaWYgKCFwb2ludHNMYXllclJlZi5jdXJyZW50LmdldExheWVycygpLmxlbmd0aCkge1xuICAgICAgcG9pbnRzLmZvckVhY2goKHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGUgPVxuICAgICAgICAgIHBvaW50Lmhhc19kZXZpY2UgPT09IHRydWUgfHxcbiAgICAgICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnXG4gICAgICAgICAgICA/IHBvaW50Lmdyb3VwLnR5cGVcbiAgICAgICAgICAgIDogJ0dyb3Vwczo6ZGVmYXVsdCc7XG4gICAgICAgIGNvbnN0IGljb24gPSBnZXRQb2ludEljb25CeVR5cGUodHlwZSwgcG9pbnQubmFtZSwgJycsIGZhbHNlLCB0cnVlKTtcblxuICAgICAgICBjb25zdCBmb2N1c2VkSWNvbiA9IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHBvaW50Lm5hbWUsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocG9pbnQubGF0aXR1ZGUgJiYgcG9pbnQubG9uZ2l0dWRlKSB7XG4gICAgICAgICAgbGV0IG1hcmtlciA9IGdldE1hcmtlcihwb2ludCk7XG5cbiAgICAgICAgICBtYXJrZXIuc2V0SWNvbihpY29uKTtcbiAgICAgICAgICAvLyBUaGUgdXNlIG9mIG1hcmtlci5faXNJbnNpZGUgaXMgdG8gb3ZlcmNvbWUgdGhlIGlzc3VlIHRoYXQgbW91c2VvdmVyIGlzIGVuZGxlc3NseSB0cmlnZ2VyZWRcbiAgICAgICAgICAvLyBhbmQgd2UgbmVlZCBpdCBvbmx5IG9uY2VcbiAgICAgICAgICBtYXJrZXIub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgICAgICAgIGlmICghbWFya2VyLl9pc0luc2lkZSkge1xuICAgICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgbWFya2VyLnNldEljb24oZm9jdXNlZEljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbWFya2VyLm9uKCdtb3VzZW91dCcsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgZm9jdXNlZE1hcmtlclJlZj8uY3VycmVudD8uX2xlYWZsZXRfaWQgIT09IG1hcmtlcj8uX2xlYWZsZXRfaWRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gZmFsc2U7XG4gICAgICAgICAgICAgIG1hcmtlci5zZXRJY29uKGljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbWFya2VyLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgZm9jdXNlZE1hcmtlclJlZj8uY3VycmVudD8uX2xlYWZsZXRfaWQgPT09IG1hcmtlcj8uX2xlYWZsZXRfaWRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBzZXRGb2N1c2VkTWFya2VyKG51bGwpO1xuICAgICAgICAgICAgICBoYW5kbGVNYXJrZXJDbGljayhudWxsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhhbmRsZU1hcmtlckNsaWNrKHBvaW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKG1hcmtlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRNYXJrZXIgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICAgIHJldHVybiBMLm1hcmtlcihbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV0sIHtcbiAgICAgIGthbmRvX29iamVjdF9pZDogcG9pbnQuaWQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgYWRkRWRnZXMgPSAoKSA9PiB7XG4gICAgaWYgKCFtYXAgfHwgIWVkZ2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcG9pbnRMb29rdXAgPSBuZXcgTWFwKCk7XG4gICAgcG9pbnRzLmZvckVhY2goKHApID0+IHBvaW50TG9va3VwLnNldChwLmlkLCBwKSk7XG5cbiAgICBpZiAoZWRnZXNMYXllclJlZi5jdXJyZW50KSB7XG4gICAgICBpZiAobWFwLmhhc0xheWVyKGVkZ2VzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKGVkZ2VzTGF5ZXJSZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWRnZXNMYXllclJlZi5jdXJyZW50ID0gTC5mZWF0dXJlR3JvdXAoKTtcbiAgICBlZGdlc0xheWVyUmVmLmN1cnJlbnQuYWRkVG8obWFwKTtcblxuICAgIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gcG9pbnRMb29rdXAuZ2V0KGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gcG9pbnRMb29rdXAuZ2V0KGVkZ2UudGFyZ2V0X3BvaW50X2lkKTtcblxuICAgICAgaWYgKCFzb3VyY2VQb2ludCB8fCAhdGFyZ2V0UG9pbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsYXRsbmdzID0gW1xuICAgICAgICBbc291cmNlUG9pbnQ/LmxhdGl0dWRlLCBzb3VyY2VQb2ludD8ubG9uZ2l0dWRlXSxcbiAgICAgICAgW3RhcmdldFBvaW50Py5sYXRpdHVkZSwgdGFyZ2V0UG9pbnQ/LmxvbmdpdHVkZV0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBwb2x5bGluZSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICBvcGFjaXR5OiAwLjUsXG4gICAgICAgIHNtb290aEZhY3RvcjogMSxcbiAgICAgIH0pO1xuXG4gICAgICBlZGdlc0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKHBvbHlsaW5lKTtcblxuICAgICAgY29uc3QgZGVjb3JhdG9yID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZSwge1xuICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICByZXBlYXQ6IDYwLFxuICAgICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICBwaXhlbFNpemU6IDQsXG4gICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyM1NTUnLFxuICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjgsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudD8uYWRkTGF5ZXIoZGVjb3JhdG9yKTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBhZGRBcmVhcyA9ICgpID0+IHtcbiAgICBpZiAoIW1hcCB8fCAhYXJlYXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYXJlYXNMYXllclJlZi5jdXJyZW50KSB7XG4gICAgICBpZiAobWFwLmhhc0xheWVyKGFyZWFzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKGFyZWFzTGF5ZXJSZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYXJlYXNMYXllclJlZi5jdXJyZW50ID0gTC5mZWF0dXJlR3JvdXAoKTtcbiAgICBhcmVhc0xheWVyUmVmLmN1cnJlbnQuYWRkVG8obWFwKTtcblxuICAgIGNvbnN0IGZsYXR0ZW5BcmVhcyA9IChhcmVhczogSUFyZWFbXSA9IFtdKTogSUFyZWFbXSA9PiB7XG4gICAgICBsZXQgYWxsQXJlYXM6IElBcmVhW10gPSBbXTtcblxuICAgICAgYXJlYXMuZm9yRWFjaCgoYXJlYTogSUFyZWEpID0+IHtcbiAgICAgICAgaWYgKGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYWxsQXJlYXMucHVzaChhcmVhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZXJlIGFyZSBzdWJfYXJlYXMsIHJlY3Vyc2UgYW5kIGNvbmNhdGVuYXRlXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZWEuc3ViX2FyZWFzKSAmJiBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYWxsQXJlYXMgPSBhbGxBcmVhcy5jb25jYXQoZmxhdHRlbkFyZWFzKGFyZWEuc3ViX2FyZWFzKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYWxsQXJlYXM7XG4gICAgfTtcblxuICAgIGNvbnN0IGFsbEFyZWFzID0gZmxhdHRlbkFyZWFzKGFyZWFzKTtcblxuICAgIGFsbEFyZWFzLmZvckVhY2goKGFyZWEpID0+IHtcbiAgICAgIGNvbnN0IHBvbHlnb24gPSBMLnBvbHlnb24oYXJlYS5zaGFwZV9kYXRhLCB7XG4gICAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgIG9wYWNpdHk6IDAuOCxcbiAgICAgICAgc21vb3RoRmFjdG9yOiAxLFxuICAgICAgICBpbnRlcmFjdGl2ZTogZmFsc2UsXG4gICAgICAgIGthbmRvX29iamVjdF9pZDogYXJlYS5hcmVhX2lkLFxuICAgICAgfSk7XG5cbiAgICAgIHBvbHlnb24uYmluZFRvb2x0aXAoYXJlYS5hcmVhX25hbWUsIHtcbiAgICAgICAgcGVybWFuZW50OiB0cnVlLFxuICAgICAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICAgICAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgICAgfSk7XG5cbiAgICAgIGFyZWFzTGF5ZXJSZWYuY3VycmVudD8uYWRkTGF5ZXIocG9seWdvbik7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZm9jdXNNYXAgPSAoKSA9PiB7XG4gICAgaWYgKG1hcCkge1xuICAgICAgaWYgKFxuICAgICAgICBwb2ludHNMYXllclJlZj8uY3VycmVudCAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0TGF5ZXJzKCkpICYmXG4gICAgICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMFxuICAgICAgKSB7XG4gICAgICAgIG1hcC5maXRCb3VuZHMocG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRCb3VuZHMoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtYXAuc2V0VmlldyhbMzIuMjE5MTU3LCAzNC45ODI0ODFdLCAxMik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1hcCkge1xuICAgICAgYWRkQXJlYXMoKTtcbiAgICAgIGFkZEVkZ2VzKCk7XG4gICAgICBhZGRNYXJrZXJzKCk7XG4gICAgICBmb2N1c01hcCgpO1xuICAgIH1cbiAgfSwgW3BvaW50cywgYXJlYXMsIGVkZ2VzLCBtYXBdKTtcblxuICByZXR1cm4gbWFwO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFB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
|