@kando-env/kando-ui 1.2.385-alpha.0 → 1.2.385

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.
Files changed (31) hide show
  1. package/lib/Router.js +1 -6
  2. package/lib/Widgets/Map/Map.js +1 -2
  3. package/lib/Widgets/Map/MapUtils.js +2 -5
  4. package/lib/Widgets/PotentialImpactSummary/Icon.js +5 -5
  5. package/lib/components/Sector/Sector.js +12 -19
  6. package/lib/i18n/en.json +0 -15
  7. package/lib/macros/getVersion.js +2 -2
  8. package/lib/pages/DashboardMap/SeverityBadge.js +6 -5
  9. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +3 -3
  10. package/lib/styles/theme/theme.js +2 -2
  11. package/lib/ui-kit/Checkbox/Checkbox.js +2 -7
  12. package/lib/utilities/urls.js +1 -6
  13. package/package.json +1 -3
  14. package/lib/components/Sector/SectorIconsNew.js +0 -112
  15. package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +0 -130
  16. package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +0 -64
  17. package/lib/pages/PollutionRiskAssessment/FilterButton.js +0 -36
  18. package/lib/pages/PollutionRiskAssessment/Map.js +0 -49
  19. package/lib/pages/PollutionRiskAssessment/Map.scss +0 -59
  20. package/lib/pages/PollutionRiskAssessment/TotalSavings.js +0 -51
  21. package/lib/pages/PollutionRiskAssessment/UseCases.js +0 -53
  22. package/lib/pages/PollutionRiskAssessment/contact_us.svg +0 -18
  23. package/lib/pages/PollutionRiskAssessment/filter_button.svg +0 -5
  24. package/lib/pages/PollutionRiskAssessment/index.js +0 -246
  25. package/lib/pages/PollutionRiskAssessment/index.scss +0 -45
  26. package/lib/pages/PollutionRiskAssessment/pig.svg +0 -3
  27. package/lib/pages/PollutionRiskAssessment/useMap.js +0 -132
  28. package/lib/pages/PollutionRiskAssessment/use_cases.json +0 -50
  29. package/lib/store/points/models/IGeoPoint.js +0 -6
  30. package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +0 -44
  31. package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.scss +0 -18
@@ -1,53 +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.UseCases = void 0;
8
- var _styledComponents = _interopRequireDefault(require("styled-components"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _Icon = require("../../Widgets/PotentialImpactSummary/Icon");
11
- var _use_cases = _interopRequireDefault(require("./use_cases.json"));
12
- var _reactI18next = require("react-i18next");
13
- var UseCases = function UseCases(_ref) {
14
- var points = _ref.points,
15
- filteredUseCase = _ref.filteredUseCase;
16
- // TBD: consider replacing the id with the code and remove it alltogether
17
- var useCases = _use_cases.default;
18
- var displayedUseCases = filteredUseCase ? [filteredUseCase] : useCases;
19
-
20
- // TBD: the calculation of the cost is not final and should be updated once the data is available
21
- // it should also support K and M
22
- var calcCost = function calcCost(useCase) {
23
- var acronym = useCase.code + 'c';
24
- var total = points.reduce(function (sum, point) {
25
- return sum + point[acronym];
26
- }, 0);
27
- return total.toFixed(2);
28
- };
29
- return /*#__PURE__*/_react.default.createElement(List, null, displayedUseCases.map(function (useCase, index) {
30
- return /*#__PURE__*/_react.default.createElement(UseCase, {
31
- key: "use_case_".concat(index)
32
- }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
33
- use_case: useCase.icon,
34
- className: "use-case-icon"
35
- }), /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
36
- i18nKey: "pollution_risk_assessment.use_cases.".concat(useCase.name)
37
- })), /*#__PURE__*/_react.default.createElement("div", {
38
- className: "cost"
39
- }, /*#__PURE__*/_react.default.createElement("span", null, "+ ", calcCost(useCase)), /*#__PURE__*/_react.default.createElement("span", {
40
- className: "per-year"
41
- }, '/Per year')));
42
- }));
43
- };
44
- exports.UseCases = UseCases;
45
- var List = _styledComponents.default.div.withConfig({
46
- displayName: "UseCases__List",
47
- componentId: "sc-1fufeq1-0"
48
- })(["display:flex;gap:15px;align-items:strech;flex-direction:column;"]);
49
- var UseCase = _styledComponents.default.div.withConfig({
50
- displayName: "UseCases__UseCase",
51
- componentId: "sc-1fufeq1-1"
52
- })(["display:flex;gap:6px;padding:16px;border-radius:12px;border:1px solid #6D6A6B;width:100%;line-height:27px;flex-direction:column;overflow:scroll;.use-case-icon{width:24px;height:24px;}svg path{fill:white !important;}.per-year{font-size:14px;font-weight:400;}.cost{background:#22C55E33;max-width:fit-content;border-radius:4px;padding 0 4px;}"]);
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9JY29uIiwiX3VzZV9jYXNlcyIsIl9yZWFjdEkxOG5leHQiLCJVc2VDYXNlcyIsIl9yZWYiLCJwb2ludHMiLCJmaWx0ZXJlZFVzZUNhc2UiLCJ1c2VDYXNlcyIsImRhdGEiLCJkaXNwbGF5ZWRVc2VDYXNlcyIsImNhbGNDb3N0IiwidXNlQ2FzZSIsImFjcm9ueW0iLCJjb2RlIiwidG90YWwiLCJyZWR1Y2UiLCJzdW0iLCJwb2ludCIsInRvRml4ZWQiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkxpc3QiLCJtYXAiLCJpbmRleCIsIlVzZUNhc2UiLCJrZXkiLCJjb25jYXQiLCJJY29uIiwidXNlX2Nhc2UiLCJpY29uIiwiY2xhc3NOYW1lIiwiVHJhbnMiLCJpMThuS2V5IiwibmFtZSIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qb2xsdXRpb25SaXNrQXNzZXNzbWVudC9Vc2VDYXNlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL1dpZGdldHMvUG90ZW50aWFsSW1wYWN0U3VtbWFyeS9JY29uJztcbmltcG9ydCB7IElHZW9Qb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lHZW9Qb2ludCc7XG5pbXBvcnQgZGF0YSBmcm9tICcuL3VzZV9jYXNlcy5qc29uJztcbmltcG9ydCB7IFRyYW5zIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmludGVyZmFjZSBVc2VDYXNlc1Byb3BzIHtcbiAgcG9pbnRzOiBJR2VvUG9pbnRbXTtcbiAgZmlsdGVyZWRVc2VDYXNlOiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBVc2VDYXNlczogUmVhY3QuRkM8VXNlQ2FzZXNQcm9wcz4gPSAoe1xuICBwb2ludHMsXG4gIGZpbHRlcmVkVXNlQ2FzZSxcbn0pID0+IHtcbiAgLy8gVEJEOiBjb25zaWRlciByZXBsYWNpbmcgdGhlIGlkIHdpdGggdGhlIGNvZGUgYW5kIHJlbW92ZSBpdCBhbGx0b2dldGhlclxuICBjb25zdCB1c2VDYXNlcyA9IGRhdGE7XG4gIGNvbnN0IGRpc3BsYXllZFVzZUNhc2VzID0gZmlsdGVyZWRVc2VDYXNlID8gW2ZpbHRlcmVkVXNlQ2FzZV0gOiB1c2VDYXNlcztcblxuICAvLyBUQkQ6IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgY29zdCBpcyBub3QgZmluYWwgYW5kIHNob3VsZCBiZSB1cGRhdGVkIG9uY2UgdGhlIGRhdGEgaXMgYXZhaWxhYmxlXG4gIC8vIGl0IHNob3VsZCBhbHNvIHN1cHBvcnQgSyBhbmQgTVxuICBjb25zdCBjYWxjQ29zdCA9ICh1c2VDYXNlKSA9PiB7XG4gICAgY29uc3QgYWNyb255bSA9IHVzZUNhc2UuY29kZSArICdjJztcbiAgICBjb25zdCB0b3RhbCA9IHBvaW50cy5yZWR1Y2UoKHN1bSwgcG9pbnQpID0+IHN1bSArIHBvaW50W2Fjcm9ueW1dLCAwKTtcbiAgICByZXR1cm4gdG90YWwudG9GaXhlZCgyKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxMaXN0PlxuICAgICAge2Rpc3BsYXllZFVzZUNhc2VzLm1hcCgodXNlQ2FzZSwgaW5kZXgpID0+IChcbiAgICAgICAgPFVzZUNhc2Uga2V5PXtgdXNlX2Nhc2VfJHtpbmRleH1gfT5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPEljb24gdXNlX2Nhc2U9e3VzZUNhc2UuaWNvbn0gY2xhc3NOYW1lPVwidXNlLWNhc2UtaWNvblwiIC8+XG4gICAgICAgICAgICA8VHJhbnNcbiAgICAgICAgICAgICAgaTE4bktleT17YHBvbGx1dGlvbl9yaXNrX2Fzc2Vzc21lbnQudXNlX2Nhc2VzLiR7dXNlQ2FzZS5uYW1lfWB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29zdFwiPlxuICAgICAgICAgICAgPHNwYW4+KyB7Y2FsY0Nvc3QodXNlQ2FzZSl9PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwicGVyLXllYXJcIj57Jy9QZXIgeWVhcid9PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1VzZUNhc2U+XG4gICAgICApKX1cbiAgICA8L0xpc3Q+XG4gICk7XG59O1xuXG5jb25zdCBMaXN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxNXB4O1xuICBhbGlnbi1pdGVtczogc3RyZWNoO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVXNlQ2FzZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNkQ2QTZCO1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBzY3JvbGw7XG5cbiAgLnVzZS1jYXNlLWljb24ge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgfVxuXG4gIHN2ZyBwYXRoIHtcbiAgICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlci15ZWFyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIC5jb3N0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjJDNTVFMzM7XG4gICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4g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
@@ -1,18 +0,0 @@
1
- <svg width="187" height="180" viewBox="0 0 187 180" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g filter="url(#filter0_d_6145_6222)">
3
- <rect x="91" y="84" width="80" height="80" rx="40" fill="white" shape-rendering="crispEdges"/>
4
- <path fill-rule="evenodd" clip-rule="evenodd" d="M123.97 109.403C123.663 109.139 123.271 108.996 122.866 109L122.85 109V109H117.639C117.442 109.025 117.252 109.085 117.076 109.178C116.882 109.28 116.71 109.419 116.57 109.588C116.429 109.757 116.324 109.952 116.259 110.161C116.196 110.368 116.173 110.584 116.192 110.8C116.729 115.702 118.415 120.409 121.112 124.538L121.123 124.555L121.123 124.556C123.552 128.376 126.791 131.615 130.611 134.043L130.624 134.051L130.623 134.051C134.708 136.7 139.354 138.36 144.191 138.9H144.417C144.859 138.9 145.283 138.724 145.595 138.412C145.908 138.099 146.083 137.675 146.083 137.233V132.72C146.025 132.543 145.996 132.353 146.001 132.158C146.011 131.75 145.87 131.352 145.606 131.04C145.343 130.729 144.975 130.526 144.572 130.467C142.852 130.238 141.163 129.817 139.536 129.212L139.53 129.21C139.232 129.098 138.908 129.073 138.596 129.14C138.286 129.206 138.001 129.36 137.775 129.582L135.662 131.695C135.131 132.225 134.312 132.336 133.66 131.965C129.226 129.444 125.555 125.774 123.035 121.34C122.664 120.688 122.774 119.868 123.305 119.338L125.418 117.225C125.64 116.999 125.794 116.714 125.86 116.404C125.926 116.092 125.902 115.768 125.79 115.47L125.788 115.464L125.788 115.464C125.183 113.837 124.762 112.148 124.532 110.428C124.475 110.029 124.275 109.665 123.97 109.403ZM122.843 105.666C124.053 105.657 125.225 106.086 126.143 106.875C127.063 107.666 127.664 108.765 127.834 109.967L127.835 109.98L127.835 109.98C128.032 111.455 128.393 112.905 128.911 114.3C129.247 115.194 129.319 116.165 129.12 117.099C128.92 118.034 128.457 118.892 127.785 119.572L127.779 119.578L127.779 119.578L126.583 120.773C128.543 123.848 131.152 126.457 134.226 128.416L135.421 127.221L135.428 127.215C136.108 126.543 136.966 126.079 137.901 125.88C138.835 125.681 139.806 125.753 140.7 126.088C142.095 126.607 143.545 126.968 145.02 127.164L145.033 127.166L145.033 127.166C146.247 127.337 147.356 127.949 148.149 128.885C148.815 129.67 149.218 130.638 149.313 131.654C149.38 131.836 149.417 132.032 149.417 132.233V137.233C149.417 138.559 148.89 139.831 147.952 140.769C147.015 141.706 145.743 142.233 144.417 142.233H144.1C144.04 142.233 143.98 142.23 143.92 142.223C138.535 141.638 133.362 139.799 128.816 136.852C124.589 134.164 121.005 130.579 118.316 126.353C115.332 121.782 113.469 116.573 112.876 111.147L112.874 111.123C112.812 110.468 112.88 109.807 113.074 109.178C113.268 108.549 113.585 107.965 114.005 107.459C114.425 106.952 114.942 106.534 115.524 106.228C116.106 105.921 116.744 105.733 117.399 105.673C117.449 105.669 117.5 105.666 117.55 105.666H122.843ZM132.759 107.158C132.856 106.243 133.676 105.579 134.591 105.676C138.366 106.073 141.892 107.747 144.586 110.421C147.279 113.095 148.98 116.608 149.406 120.379C149.509 121.294 148.852 122.119 147.937 122.223C147.022 122.326 146.197 121.668 146.094 120.754C145.753 117.736 144.392 114.926 142.237 112.787C140.082 110.648 137.262 109.309 134.242 108.991C133.327 108.894 132.663 108.074 132.759 107.158ZM132.781 113.677C132.96 112.774 133.836 112.186 134.739 112.365C136.706 112.752 138.511 113.723 139.92 115.149C141.329 116.576 142.276 118.393 142.639 120.365C142.806 121.27 142.207 122.139 141.302 122.306C140.397 122.472 139.528 121.874 139.361 120.968C139.119 119.654 138.487 118.442 137.548 117.491C136.609 116.54 135.406 115.894 134.094 115.635C133.191 115.457 132.603 114.58 132.781 113.677Z" fill="#1A1919"/>
5
- </g>
6
- <defs>
7
- <filter id="filter0_d_6145_6222" x="0.0909042" y="0.363632" width="261.818" height="261.818" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
8
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
9
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
10
- <feOffset dy="7.27273"/>
11
- <feGaussianBlur stdDeviation="45.4545"/>
12
- <feComposite in2="hardAlpha" operator="out"/>
13
- <feColorMatrix type="matrix" values="0 0 0 0 0.941176 0 0 0 0 0.0196078 0 0 0 0 0.403922 0 0 0 0.3 0"/>
14
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6145_6222"/>
15
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6145_6222" result="shape"/>
16
- </filter>
17
- </defs>
18
- </svg>
@@ -1,5 +0,0 @@
1
- <svg width="49" height="48" viewBox="0 0 49 48" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="0.848389" width="48" height="48" rx="24" fill="white"/>
3
- <path d="M17.0984 17.61C19.1184 20.2 22.8484 25 22.8484 25V31C22.8484 31.55 23.2984 32 23.8484 32H25.8484C26.3984 32 26.8484 31.55 26.8484 31V25C26.8484 25 30.5684 20.2 32.5884 17.61C33.0984 16.95 32.6284 16 31.7984 16H17.8884C17.0584 16 16.5884 16.95 17.0984 17.61Z" fill="" stroke="black" stroke-width="1.5"/>
4
- <circle cx="7" cy="7" r="6" fill="" />
5
- </svg>
@@ -1,246 +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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
12
- var _styledComponents = _interopRequireDefault(require("styled-components"));
13
- require("bootstrap/dist/css/bootstrap.min.css");
14
- var _react = _interopRequireWildcard(require("react"));
15
- var _reactRedux = require("react-redux");
16
- var _actions = require("store/context/actions");
17
- var _Analytics = require("../../utilities/Analytics");
18
- var _Map = require("./Map");
19
- var _useNavContext2 = require("../../hooks/useNavContext");
20
- var _KandoBottomSheet = _interopRequireDefault(require("../../ui-kit/KandoBottomSheet/KandoBottomSheet"));
21
- var _urls = require("../../utilities/urls");
22
- require("./index.scss");
23
- var _TotalSavings = require("./TotalSavings");
24
- var _FilterBehaviors = require("./FilterBehaviors");
25
- var _FactoryDetails = require("./FactoryDetails");
26
- var _FilterButton = _interopRequireDefault(require("./FilterButton"));
27
- var _use_cases = _interopRequireDefault(require("./use_cases.json"));
28
- 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); }
29
- 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; }
30
- var PollutionRiskAssessment = function PollutionRiskAssessment() {
31
- var waterAuthorityName = (0, _reactRedux.useSelector)(function (state) {
32
- return state.global_data.waterAuthorityName;
33
- });
34
- var waterAuthorityId = (0, _reactRedux.useSelector)(function (state) {
35
- return state.global_data.waterAuthorityId;
36
- });
37
- var _useState = (0, _react.useState)(),
38
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
39
- polygonData = _useState2[0],
40
- setPolygonData = _useState2[1];
41
- var _useState3 = (0, _react.useState)(),
42
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
43
- pointsData = _useState4[0],
44
- setPointsData = _useState4[1];
45
- var _useNavContext = (0, _useNavContext2.useNavContext)(),
46
- isRtl = _useNavContext.isRtl;
47
- var _useState5 = (0, _react.useState)('total_savings'),
48
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
49
- shownContent = _useState6[0],
50
- setShownContent = _useState6[1];
51
- var _useState7 = (0, _react.useState)([]),
52
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
53
- visiblePoints = _useState8[0],
54
- setVisiblePoints = _useState8[1];
55
- var _useState9 = (0, _react.useState)(''),
56
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
57
- useCasesFilter = _useState10[0],
58
- setUseCasesFilter = _useState10[1];
59
- var _useState11 = (0, _react.useState)(null),
60
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
61
- mapBounds = _useState12[0],
62
- setMapBounds = _useState12[1];
63
- var _useState13 = (0, _react.useState)(),
64
- _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
65
- clickedPointId = _useState14[0],
66
- setClickedPointId = _useState14[1];
67
- var handleDismiss = function handleDismiss() {
68
- setShownContent('total_savings');
69
- };
70
- var dispatch = (0, _reactRedux.useDispatch)();
71
- var fetchData = /*#__PURE__*/function () {
72
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url, setData) {
73
- var response, result;
74
- return _regenerator.default.wrap(function _callee$(_context) {
75
- while (1) {
76
- switch (_context.prev = _context.next) {
77
- case 0:
78
- _context.prev = 0;
79
- _context.next = 3;
80
- return fetch(url);
81
- case 3:
82
- response = _context.sent;
83
- _context.next = 6;
84
- return response.json();
85
- case 6:
86
- result = _context.sent;
87
- setData(result);
88
- _context.next = 13;
89
- break;
90
- case 10:
91
- _context.prev = 10;
92
- _context.t0 = _context["catch"](0);
93
- console.error("Failed to fetch data from ".concat(url, ":"), _context.t0);
94
- case 13:
95
- case "end":
96
- return _context.stop();
97
- }
98
- }
99
- }, _callee, null, [[0, 10]]);
100
- }));
101
- return function fetchData(_x, _x2) {
102
- return _ref.apply(this, arguments);
103
- };
104
- }();
105
- (0, _react.useEffect)(function () {
106
- if (waterAuthorityId) {
107
- var currentGeoAreaUrl = (0, _urls.urls)({
108
- waterAuthorityId: waterAuthorityId
109
- }).PollutionRiskAssessment.currentGeoArea;
110
- fetchData(currentGeoAreaUrl, setPolygonData);
111
- (0, _Analytics.analyticsTrack)('Viewed Pollution Risk Assessment Page', {
112
- utility_name: waterAuthorityName
113
- });
114
- dispatch((0, _actions.updateNavContext)({
115
- name: 'pollution_risk_assessment'
116
- }));
117
- }
118
- }, [waterAuthorityId]);
119
- var getPolygonGeoJSON = function getPolygonGeoJSON(polygonData) {
120
- try {
121
- return (polygonData === null || polygonData === void 0 ? void 0 : polygonData.polygon) ? JSON.parse(polygonData.polygon) : [];
122
- } catch (error) {
123
- console.error('Failed to parse polygon data:', error);
124
- return [];
125
- }
126
- };
127
- (0, _react.useEffect)(function () {
128
- if (!polygonData) return;
129
- var allPointsUrl = (0, _urls.urls)({
130
- waterAuthorityId: waterAuthorityId,
131
- id: polygonData === null || polygonData === void 0 ? void 0 : polygonData.id
132
- }).PollutionRiskAssessment.allPoints;
133
- fetchData(allPointsUrl, setPointsData);
134
- }, [polygonData]);
135
- var useCase = _use_cases.default.find(function (useCase) {
136
- return useCase.id === useCasesFilter;
137
- });
138
- var getBottomSheetConfig = function getBottomSheetConfig() {
139
- switch (shownContent) {
140
- case 'total_savings':
141
- return {
142
- content: /*#__PURE__*/_react.default.createElement(_TotalSavings.TotalSavings, {
143
- points: visiblePoints,
144
- filteredUseCase: useCase
145
- }),
146
- snapPoints: function snapPoints(_ref2) {
147
- var maxHeight = _ref2.maxHeight;
148
- return [78, maxHeight - 100];
149
- },
150
- backgroundColor: '#000'
151
- };
152
- case 'filter_behaviors':
153
- return {
154
- content: /*#__PURE__*/_react.default.createElement(_FilterBehaviors.FilterBehaviors, {
155
- selectedItem: useCasesFilter,
156
- handleChange: setUseCasesFilter
157
- }),
158
- snapPoints: function snapPoints(_ref3) {
159
- var maxHeight = _ref3.maxHeight;
160
- return [maxHeight - 300, maxHeight - 300];
161
- },
162
- backgroundColor: '#fff'
163
- };
164
- case 'factory_details':
165
- return {
166
- content: /*#__PURE__*/_react.default.createElement(_FactoryDetails.FactoryDetails, {
167
- point_id: clickedPointId
168
- }),
169
- snapPoints: function snapPoints(_ref4) {
170
- var maxHeight = _ref4.maxHeight;
171
- return [maxHeight - 500, maxHeight - 500];
172
- },
173
- backgroundColor: '#fff'
174
- };
175
- default:
176
- return {
177
- content: null,
178
- snapPoints: function snapPoints() {
179
- return [0];
180
- },
181
- backgroundColor: '#000'
182
- };
183
- }
184
- };
185
- var _useMemo = (0, _react.useMemo)(getBottomSheetConfig, [shownContent, useCasesFilter, visiblePoints, clickedPointId]),
186
- content = _useMemo.content,
187
- snapPoints = _useMemo.snapPoints,
188
- backgroundColor = _useMemo.backgroundColor;
189
- var bottomSheet = (0, _react.useMemo)(function () {
190
- return /*#__PURE__*/_react.default.createElement(_KandoBottomSheet.default, {
191
- backgroundColor: backgroundColor,
192
- snapPoints: snapPoints,
193
- onDismiss: handleDismiss,
194
- isOpen: true
195
- }, content);
196
- }, [visiblePoints, shownContent, clickedPointId]);
197
- (0, _react.useEffect)(function () {
198
- if (!mapBounds || !pointsData) return;
199
- var filteredPoints = pointsData.filter(function (point) {
200
- return point.lat >= mapBounds.getSouthWest().lat && point.lat <= mapBounds.getNorthEast().lat && point.lng >= mapBounds.getSouthWest().lng && point.lng <= mapBounds.getNorthEast().lng;
201
- });
202
- setVisiblePoints(filteredPoints);
203
- }, [mapBounds, pointsData]);
204
- var handleBoundsChange = (0, _react.useCallback)(function (bounds) {
205
- setMapBounds(bounds);
206
- }, []);
207
- var filterButtonClick = function filterButtonClick() {
208
- setShownContent(function (prevContent) {
209
- return prevContent === 'filter_behaviors' ? 'total_savings' : 'filter_behaviors';
210
- });
211
- };
212
- var filterButtonState = (0, _react.useMemo)(function () {
213
- if (shownContent === 'filter_behaviors') {
214
- return 'filled';
215
- }
216
- return useCasesFilter !== '' ? 'filled-red' : '';
217
- }, [shownContent, useCasesFilter]);
218
- var markerClicked = function markerClicked(id) {
219
- setClickedPointId(id);
220
- if (shownContent !== 'factory_details') {
221
- setShownContent('factory_details');
222
- }
223
- };
224
- if (!pointsData || !polygonData) return null;
225
- return /*#__PURE__*/_react.default.createElement("div", {
226
- className: "app-wrapper"
227
- }, /*#__PURE__*/_react.default.createElement(MapTableContainer, {
228
- isRtl: isRtl
229
- }, /*#__PURE__*/_react.default.createElement(_Map.Map, {
230
- filteredUseCaseCode: (useCase ? useCase.code : 'to') + 's',
231
- points: pointsData,
232
- polygon: getPolygonGeoJSON(polygonData),
233
- onBoundsChange: handleBoundsChange,
234
- onMarkerClick: markerClicked
235
- })), bottomSheet, /*#__PURE__*/_react.default.createElement(_FilterButton.default, {
236
- buttonState: filterButtonState,
237
- onClick: filterButtonClick
238
- }));
239
- };
240
- var _default = PollutionRiskAssessment;
241
- exports.default = _default;
242
- var MapTableContainer = _styledComponents.default.div.withConfig({
243
- displayName: "PollutionRiskAssessment__MapTableContainer",
244
- componentId: "sc-peb1i1-0"
245
- })(["position:fixed;top:65px;height:calc(100vh - 20px);width:100vw;#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}}"]);
246
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX0FuYWx5dGljcyIsIl9NYXAiLCJfdXNlTmF2Q29udGV4dDIiLCJfS2FuZG9Cb3R0b21TaGVldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXJscyIsIl9Ub3RhbFNhdmluZ3MiLCJfRmlsdGVyQmVoYXZpb3JzIiwiX0ZhY3RvcnlEZXRhaWxzIiwiX0ZpbHRlckJ1dHRvbiIsIl91c2VfY2FzZXMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlBvbGx1dGlvblJpc2tBc3Nlc3NtZW50Iiwid2F0ZXJBdXRob3JpdHlOYW1lIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvbHlnb25EYXRhIiwic2V0UG9seWdvbkRhdGEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInBvaW50c0RhdGEiLCJzZXRQb2ludHNEYXRhIiwiX3VzZU5hdkNvbnRleHQiLCJ1c2VOYXZDb250ZXh0IiwiaXNSdGwiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNob3duQ29udGVudCIsInNldFNob3duQ29udGVudCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwidmlzaWJsZVBvaW50cyIsInNldFZpc2libGVQb2ludHMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJ1c2VDYXNlc0ZpbHRlciIsInNldFVzZUNhc2VzRmlsdGVyIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsIm1hcEJvdW5kcyIsInNldE1hcEJvdW5kcyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJjbGlja2VkUG9pbnRJZCIsInNldENsaWNrZWRQb2ludElkIiwiaGFuZGxlRGlzbWlzcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJmZXRjaERhdGEiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ1cmwiLCJzZXREYXRhIiwicmVzcG9uc2UiLCJyZXN1bHQiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZmV0Y2giLCJzZW50IiwianNvbiIsInQwIiwiY29uc29sZSIsImVycm9yIiwiY29uY2F0Iiwic3RvcCIsIl94IiwiX3gyIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJ1c2VFZmZlY3QiLCJjdXJyZW50R2VvQXJlYVVybCIsInVybHMiLCJjdXJyZW50R2VvQXJlYSIsImFuYWx5dGljc1RyYWNrIiwidXRpbGl0eV9uYW1lIiwidXBkYXRlTmF2Q29udGV4dCIsIm5hbWUiLCJnZXRQb2x5Z29uR2VvSlNPTiIsInBvbHlnb24iLCJKU09OIiwicGFyc2UiLCJhbGxQb2ludHNVcmwiLCJpZCIsImFsbFBvaW50cyIsInVzZUNhc2UiLCJ1c2VDYXNlcyIsImZpbmQiLCJnZXRCb3R0b21TaGVldENvbmZpZyIsImNvbnRlbnQiLCJjcmVhdGVFbGVtZW50IiwiVG90YWxTYXZpbmdzIiwicG9pbnRzIiwiZmlsdGVyZWRVc2VDYXNlIiwic25hcFBvaW50cyIsIl9yZWYyIiwibWF4SGVpZ2h0IiwiYmFja2dyb3VuZENvbG9yIiwiRmlsdGVyQmVoYXZpb3JzIiwic2VsZWN0ZWRJdGVtIiwiaGFuZGxlQ2hhbmdlIiwiX3JlZjMiLCJGYWN0b3J5RGV0YWlscyIsInBvaW50X2lkIiwiX3JlZjQiLCJfdXNlTWVtbyIsInVzZU1lbW8iLCJib3R0b21TaGVldCIsIm9uRGlzbWlzcyIsImlzT3BlbiIsImZpbHRlcmVkUG9pbnRzIiwiZmlsdGVyIiwicG9pbnQiLCJsYXQiLCJnZXRTb3V0aFdlc3QiLCJnZXROb3J0aEVhc3QiLCJsbmciLCJoYW5kbGVCb3VuZHNDaGFuZ2UiLCJ1c2VDYWxsYmFjayIsImJvdW5kcyIsImZpbHRlckJ1dHRvbkNsaWNrIiwicHJldkNvbnRlbnQiLCJmaWx0ZXJCdXR0b25TdGF0ZSIsIm1hcmtlckNsaWNrZWQiLCJjbGFzc05hbWUiLCJNYXBUYWJsZUNvbnRhaW5lciIsIk1hcCIsImZpbHRlcmVkVXNlQ2FzZUNvZGUiLCJjb2RlIiwib25Cb3VuZHNDaGFuZ2UiLCJvbk1hcmtlckNsaWNrIiwiYnV0dG9uU3RhdGUiLCJvbkNsaWNrIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvUG9sbHV0aW9uUmlza0Fzc2Vzc21lbnQvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnYm9vdHN0cmFwL2Rpc3QvY3NzL2Jvb3RzdHJhcC5taW4uY3NzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVwZGF0ZU5hdkNvbnRleHQgfSBmcm9tICdzcmMvc3RvcmUvY29udGV4dC9hY3Rpb25zJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICcuL01hcCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IHVzZU5hdkNvbnRleHQgfSBmcm9tICcuLi8uLi9ob29rcy91c2VOYXZDb250ZXh0JztcbmltcG9ydCBLYW5kb0JvdHRvbVNoZWV0IGZyb20gJy4uLy4uL3VpLWtpdC9LYW5kb0JvdHRvbVNoZWV0L0thbmRvQm90dG9tU2hlZXQnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IElHZW9Qb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lHZW9Qb2ludCc7XG5pbXBvcnQgTCwgeyBHZW9KU09OIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJy4vaW5kZXguc2Nzcyc7XG5pbXBvcnQgeyBUb3RhbFNhdmluZ3MgfSBmcm9tICcuL1RvdGFsU2F2aW5ncyc7XG5pbXBvcnQgeyBGaWx0ZXJCZWhhdmlvcnMgfSBmcm9tICcuL0ZpbHRlckJlaGF2aW9ycyc7XG5pbXBvcnQgeyBGYWN0b3J5RGV0YWlscyB9IGZyb20gJy4vRmFjdG9yeURldGFpbHMnO1xuaW1wb3J0IEZpbHRlckJ1dHRvbiBmcm9tICcuL0ZpbHRlckJ1dHRvbic7XG5pbXBvcnQgdXNlQ2FzZXMgZnJvbSAnLi91c2VfY2FzZXMuanNvbic7XG5cbmNvbnN0IFBvbGx1dGlvblJpc2tBc3Nlc3NtZW50OiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG4gIGNvbnN0IFtwb2x5Z29uRGF0YSwgc2V0UG9seWdvbkRhdGFdID0gdXNlU3RhdGU8R2VvSlNPTj4oKTtcbiAgY29uc3QgW3BvaW50c0RhdGEsIHNldFBvaW50c0RhdGFdID0gdXNlU3RhdGU8SUdlb1BvaW50W10+KCk7XG4gIGNvbnN0IHsgaXNSdGwgfSA9IHVzZU5hdkNvbnRleHQoKTtcbiAgY29uc3QgW3Nob3duQ29udGVudCwgc2V0U2hvd25Db250ZW50XSA9IHVzZVN0YXRlKCd0b3RhbF9zYXZpbmdzJyk7XG4gIGNvbnN0IFt2aXNpYmxlUG9pbnRzLCBzZXRWaXNpYmxlUG9pbnRzXSA9IHVzZVN0YXRlPElHZW9Qb2ludFtdPihbXSk7XG4gIGNvbnN0IFt1c2VDYXNlc0ZpbHRlciwgc2V0VXNlQ2FzZXNGaWx0ZXJdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBbbWFwQm91bmRzLCBzZXRNYXBCb3VuZHNdID0gdXNlU3RhdGU8TC5MYXRMbmdCb3VuZHMgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2NsaWNrZWRQb2ludElkLCBzZXRDbGlja2VkUG9pbnRJZF0gPSB1c2VTdGF0ZTxudW1iZXI+KCk7XG5cbiAgY29uc3QgaGFuZGxlRGlzbWlzcyA9ICgpID0+IHtcbiAgICBzZXRTaG93bkNvbnRlbnQoJ3RvdGFsX3NhdmluZ3MnKTtcbiAgfTtcblxuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IGZldGNoRGF0YSA9IGFzeW5jIDxULD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgc2V0RGF0YTogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248VD4+LFxuICApID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgICAgc2V0RGF0YShyZXN1bHQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggZGF0YSBmcm9tICR7dXJsfTpgLCBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHdhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRHZW9BcmVhVXJsID0gdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQgfSlcbiAgICAgICAgLlBvbGx1dGlvblJpc2tBc3Nlc3NtZW50LmN1cnJlbnRHZW9BcmVhO1xuICAgICAgZmV0Y2hEYXRhKGN1cnJlbnRHZW9BcmVhVXJsLCBzZXRQb2x5Z29uRGF0YSk7XG5cbiAgICAgIGFuYWx5dGljc1RyYWNrKCdWaWV3ZWQgUG9sbHV0aW9uIFJpc2sgQXNzZXNzbWVudCBQYWdlJywge1xuICAgICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgIH0pO1xuICAgICAgZGlzcGF0Y2godXBkYXRlTmF2Q29udGV4dCh7IG5hbWU6ICdwb2xsdXRpb25fcmlza19hc3Nlc3NtZW50JyB9KSk7XG4gICAgfVxuICB9LCBbd2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIGNvbnN0IGdldFBvbHlnb25HZW9KU09OID0gKHBvbHlnb25EYXRhKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwb2x5Z29uRGF0YT8ucG9seWdvbiA/IEpTT04ucGFyc2UocG9seWdvbkRhdGEucG9seWdvbikgOiBbXTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHBhcnNlIHBvbHlnb24gZGF0YTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFwb2x5Z29uRGF0YSkgcmV0dXJuO1xuXG4gICAgY29uc3QgYWxsUG9pbnRzVXJsID0gdXJscyh7XG4gICAgICB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgaWQ6IHBvbHlnb25EYXRhPy5pZCxcbiAgICB9KS5Qb2xsdXRpb25SaXNrQXNzZXNzbWVudC5hbGxQb2ludHM7XG5cbiAgICBmZXRjaERhdGEoYWxsUG9pbnRzVXJsLCBzZXRQb2ludHNEYXRhKTtcbiAgfSwgW3BvbHlnb25EYXRhXSk7XG5cbiAgY29uc3QgdXNlQ2FzZSA9IHVzZUNhc2VzLmZpbmQoKHVzZUNhc2UpID0+IHVzZUNhc2UuaWQgPT09IHVzZUNhc2VzRmlsdGVyKTtcblxuICBjb25zdCBnZXRCb3R0b21TaGVldENvbmZpZyA9ICgpID0+IHtcbiAgICBzd2l0Y2ggKHNob3duQ29udGVudCkge1xuICAgICAgY2FzZSAndG90YWxfc2F2aW5ncyc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogKFxuICAgICAgICAgICAgPFRvdGFsU2F2aW5ncyBwb2ludHM9e3Zpc2libGVQb2ludHN9IGZpbHRlcmVkVXNlQ2FzZT17dXNlQ2FzZX0gLz5cbiAgICAgICAgICApLFxuICAgICAgICAgIHNuYXBQb2ludHM6ICh7IG1heEhlaWdodCB9OiB7IG1heEhlaWdodDogbnVtYmVyIH0pID0+IFtcbiAgICAgICAgICAgIDc4LFxuICAgICAgICAgICAgbWF4SGVpZ2h0IC0gMTAwLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnIzAwMCcsXG4gICAgICAgIH07XG4gICAgICBjYXNlICdmaWx0ZXJfYmVoYXZpb3JzJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiAoXG4gICAgICAgICAgICA8RmlsdGVyQmVoYXZpb3JzXG4gICAgICAgICAgICAgIHNlbGVjdGVkSXRlbT17dXNlQ2FzZXNGaWx0ZXJ9XG4gICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17c2V0VXNlQ2FzZXNGaWx0ZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgc25hcFBvaW50czogKHsgbWF4SGVpZ2h0IH06IHsgbWF4SGVpZ2h0OiBudW1iZXIgfSkgPT4gW1xuICAgICAgICAgICAgbWF4SGVpZ2h0IC0gMzAwLFxuICAgICAgICAgICAgbWF4SGVpZ2h0IC0gMzAwLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicsXG4gICAgICAgIH07XG4gICAgICBjYXNlICdmYWN0b3J5X2RldGFpbHMnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IDxGYWN0b3J5RGV0YWlscyBwb2ludF9pZD17Y2xpY2tlZFBvaW50SWR9IC8+LFxuICAgICAgICAgIHNuYXBQb2ludHM6ICh7IG1heEhlaWdodCB9OiB7IG1heEhlaWdodDogbnVtYmVyIH0pID0+IFtcbiAgICAgICAgICAgIG1heEhlaWdodCAtIDUwMCxcbiAgICAgICAgICAgIG1heEhlaWdodCAtIDUwMCxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmYnLFxuICAgICAgICB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBudWxsLFxuICAgICAgICAgIHNuYXBQb2ludHM6ICgpID0+IFswXSxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDAwJyxcbiAgICAgICAgfTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgeyBjb250ZW50LCBzbmFwUG9pbnRzLCBiYWNrZ3JvdW5kQ29sb3IgfSA9IHVzZU1lbW8oXG4gICAgZ2V0Qm90dG9tU2hlZXRDb25maWcsXG4gICAgW3Nob3duQ29udGVudCwgdXNlQ2FzZXNGaWx0ZXIsIHZpc2libGVQb2ludHMsIGNsaWNrZWRQb2ludElkXSxcbiAgKTtcblxuICBjb25zdCBib3R0b21TaGVldCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8S2FuZG9Cb3R0b21TaGVldFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I9e2JhY2tncm91bmRDb2xvcn1cbiAgICAgICAgc25hcFBvaW50cz17c25hcFBvaW50c31cbiAgICAgICAgb25EaXNtaXNzPXtoYW5kbGVEaXNtaXNzfVxuICAgICAgICBpc09wZW49e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtjb250ZW50fVxuICAgICAgPC9LYW5kb0JvdHRvbVNoZWV0PlxuICAgICk7XG4gIH0sIFt2aXNpYmxlUG9pbnRzLCBzaG93bkNvbnRlbnQsIGNsaWNrZWRQb2ludElkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcEJvdW5kcyB8fCAhcG9pbnRzRGF0YSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHMgPSBwb2ludHNEYXRhLmZpbHRlcigocG9pbnQpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHBvaW50LmxhdCA+PSBtYXBCb3VuZHMuZ2V0U291dGhXZXN0KCkubGF0ICYmXG4gICAgICAgIHBvaW50LmxhdCA8PSBtYXBCb3VuZHMuZ2V0Tm9ydGhFYXN0KCkubGF0ICYmXG4gICAgICAgIHBvaW50LmxuZyA+PSBtYXBCb3VuZHMuZ2V0U291dGhXZXN0KCkubG5nICYmXG4gICAgICAgIHBvaW50LmxuZyA8PSBtYXBCb3VuZHMuZ2V0Tm9ydGhFYXN0KCkubG5nXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgc2V0VmlzaWJsZVBvaW50cyhmaWx0ZXJlZFBvaW50cyk7XG4gIH0sIFttYXBCb3VuZHMsIHBvaW50c0RhdGFdKTtcblxuICBjb25zdCBoYW5kbGVCb3VuZHNDaGFuZ2UgPSB1c2VDYWxsYmFjaygoYm91bmRzKSA9PiB7XG4gICAgc2V0TWFwQm91bmRzKGJvdW5kcyk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBmaWx0ZXJCdXR0b25DbGljayA9ICgpID0+IHtcbiAgICBzZXRTaG93bkNvbnRlbnQoKHByZXZDb250ZW50KSA9PlxuICAgICAgcHJldkNvbnRlbnQgPT09ICdmaWx0ZXJfYmVoYXZpb3JzJyA/ICd0b3RhbF9zYXZpbmdzJyA6ICdmaWx0ZXJfYmVoYXZpb3JzJyxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGZpbHRlckJ1dHRvblN0YXRlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHNob3duQ29udGVudCA9PT0gJ2ZpbHRlcl9iZWhhdmlvcnMnKSB7XG4gICAgICByZXR1cm4gJ2ZpbGxlZCc7XG4gICAgfVxuICAgIHJldHVybiB1c2VDYXNlc0ZpbHRlciAhPT0gJycgPyAnZmlsbGVkLXJlZCcgOiAnJztcbiAgfSwgW3Nob3duQ29udGVudCwgdXNlQ2FzZXNGaWx0ZXJdKTtcblxuICBjb25zdCBtYXJrZXJDbGlja2VkID0gKGlkOiBudW1iZXIpID0+IHtcbiAgICBzZXRDbGlja2VkUG9pbnRJZChpZCk7XG4gICAgaWYgKHNob3duQ29udGVudCAhPT0gJ2ZhY3RvcnlfZGV0YWlscycpIHtcbiAgICAgIHNldFNob3duQ29udGVudCgnZmFjdG9yeV9kZXRhaWxzJyk7XG4gICAgfVxuICB9O1xuXG4gIGlmICghcG9pbnRzRGF0YSB8fCAhcG9seWdvbkRhdGEpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJhcHAtd3JhcHBlclwiPlxuICAgICAgPE1hcFRhYmxlQ29udGFpbmVyIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgIDxNYXBcbiAgICAgICAgICBmaWx0ZXJlZFVzZUNhc2VDb2RlPXsodXNlQ2FzZSA/IHVzZUNhc2UuY29kZSA6ICd0bycpICsgJ3MnfVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzRGF0YX1cbiAgICAgICAgICBwb2x5Z29uPXtnZXRQb2x5Z29uR2VvSlNPTihwb2x5Z29uRGF0YSl9XG4gICAgICAgICAgb25Cb3VuZHNDaGFuZ2U9e2hhbmRsZUJvdW5kc0NoYW5nZX1cbiAgICAgICAgICBvbk1hcmtlckNsaWNrPXttYXJrZXJDbGlja2VkfVxuICAgICAgICAvPlxuICAgICAgPC9NYXBUYWJsZUNvbnRhaW5lcj5cbiAgICAgIHtib3R0b21TaGVldH1cbiAgICAgIDxGaWx0ZXJCdXR0b25cbiAgICAgICAgYnV0dG9uU3RhdGU9e2ZpbHRlckJ1dHRvblN0YXRlfVxuICAgICAgICBvbkNsaWNrPXtmaWx0ZXJCdXR0b25DbGlja31cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBQb2xsdXRpb25SaXNrQXNzZXNzbWVudDtcblxuY29uc3QgTWFwVGFibGVDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgaXNSdGw6IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA2NXB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMHB4KTtcbiAgd2lkdGg6IDEwMHZ3O1xuXG4gICNtYXAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICosXG4gICAgKjpmb2N1cyxcbiAgICAqOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLElBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLGVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFULE9BQUE7QUFDQSxJQUFBVSxLQUFBLEdBQUFWLE9BQUE7QUFHQUEsT0FBQTtBQUNBLElBQUFXLGFBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLGdCQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxlQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxhQUFBLEdBQUFMLHNCQUFBLENBQUFULE9BQUE7QUFDQSxJQUFBZSxVQUFBLEdBQUFOLHNCQUFBLENBQUFULE9BQUE7QUFBd0MsU0FBQWdCLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NB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
@@ -1,45 +0,0 @@
1
- .map-heights {
2
- height: 100%;
3
- width: 100%;
4
-
5
- *,
6
- *:focus,
7
- *:hover {
8
- outline: none;
9
- }
10
- }
11
-
12
- .assessment-page {
13
- height: 100%;
14
- width: 100%;
15
- left: 0;
16
- top: 0;
17
-
18
- #map {
19
- height: 100%;
20
- width: 100%;
21
-
22
- .leaflet-popup-close-button {
23
- font-size: x-large;
24
- }
25
- }
26
-
27
- .btn-group {
28
- display: flex;
29
- justify-content: center;
30
- margin-top: 20px;
31
-
32
- button {
33
- margin: 0 10px;
34
- }
35
- }
36
-
37
- .use-case-icon {
38
- width: 24px;
39
- height: 24px;
40
- }
41
-
42
- svg path {
43
- fill: white !important;
44
- }
45
- }
@@ -1,3 +0,0 @@
1
- <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M15.4627 10.3134C15.7358 10.3134 15.9686 10.2172 16.161 10.0248C16.3534 9.83241 16.4496 9.59963 16.4496 9.32644C16.4496 9.05325 16.3534 8.82047 16.161 8.62809C15.9686 8.43571 15.7358 8.33952 15.4627 8.33952C15.1895 8.33952 14.9567 8.43571 14.7643 8.62809C14.5719 8.82047 14.4757 9.05325 14.4757 9.32644C14.4757 9.59963 14.5719 9.83241 14.7643 10.0248C14.9567 10.2172 15.1895 10.3134 15.4627 10.3134ZM6.53734 7.93183H12.1157V6.25839H6.53734V7.93183ZM3.05092 21.0409C2.46162 19.0069 1.87268 16.983 1.2841 14.9691C0.695508 12.9552 0.401215 10.8884 0.401215 8.76861C0.401215 7.21527 0.9426 5.89722 2.02537 4.81447C3.10812 3.7317 4.42617 3.19031 5.97951 3.19031H11.8368C12.3474 2.5195 12.9599 1.97991 13.6744 1.57154C14.3888 1.16317 15.1709 0.958984 16.0205 0.958984C16.328 0.958984 16.5908 1.06805 16.8089 1.28618C17.0271 1.50429 17.1361 1.76711 17.1361 2.07462C17.1361 2.15043 17.1258 2.22624 17.105 2.30205C17.0843 2.37784 17.0625 2.44792 17.0396 2.5123C16.9366 2.78121 16.849 3.05655 16.7767 3.33833C16.7045 3.62011 16.6426 3.90476 16.5912 4.19226L19.4941 7.09514H21.5988V13.9114L18.5543 14.9112L16.7178 21.0409H11.5579V18.8096H8.21081V21.0409H3.05092ZM4.30601 19.3674H6.53734V17.1361H13.2313V19.3674H15.4627L17.1919 13.6217L19.9253 12.7013V8.76861H18.8097L14.9048 4.86378C14.9048 4.49189 14.9281 4.13395 14.9746 3.78996C15.021 3.44596 15.0979 3.10089 15.2052 2.75476C14.666 2.90351 14.1954 3.16276 13.7935 3.53249C13.3915 3.90224 13.0833 4.346 12.8687 4.86378H5.97951C4.90103 4.86378 3.98061 5.24497 3.21824 6.00734C2.45587 6.76971 2.07468 7.69013 2.07468 8.76861C2.07468 10.5909 2.32571 12.3713 2.82776 14.1099C3.32981 15.8484 3.82256 17.601 4.30601 19.3674Z" fill="white"/>
3
- </svg>
@@ -1,132 +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, filteredUseCaseCode, polygon, onMarkerClick) {
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)(15),
20
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
21
- mapZoomLevel = _useState4[0],
22
- setMapZoomLevel = _useState4[1];
23
- var heatLayerRef = (0, _react.useRef)();
24
- var pointsLayerRef = (0, _react.useRef)();
25
- (0, _react.useEffect)(function () {
26
- if (!mapRef.current) {
27
- return;
28
- }
29
- var mapTypes = (0, _MapUtils.baseMaps)(_theme.leafletMap.mapDefault, _theme.leafletMap.satellite);
30
- var mapTemp = _leaflet.default.map(mapRef.current, {});
31
- Object.values(mapTypes)[0].addTo(mapTemp);
32
- _leaflet.default.control.layers(mapTypes, {}, {
33
- position: 'topright'
34
- }).addTo(mapTemp);
35
-
36
- // The colors are transparent so the map will fit the polygon bounds but it won't be visible
37
- if (polygon && polygon.length === undefined) {
38
- var geoJSONLayer = _leaflet.default.geoJSON(polygon, {
39
- style: {
40
- color: 'transparent',
41
- fillColor: 'transparent',
42
- fillOpacity: 0
43
- }
44
- }).addTo(mapTemp);
45
- mapTemp.fitBounds(geoJSONLayer.getBounds());
46
- }
47
- mapTemp.on('zoomend', function () {
48
- setMapZoomLevel(mapTemp.getZoom());
49
- });
50
- setMap(mapTemp);
51
- return function () {
52
- if (!mapTemp) {
53
- return;
54
- }
55
- mapTemp.off();
56
- mapTemp.remove();
57
-
58
- // Clean up layers
59
- if (heatLayerRef.current) {
60
- heatLayerRef.current.off();
61
- heatLayerRef.current.remove();
62
- heatLayerRef.current = null;
63
- }
64
- if (pointsLayerRef.current) {
65
- pointsLayerRef.current.clearLayers();
66
- pointsLayerRef.current = null;
67
- }
68
- };
69
- }, []);
70
-
71
- // The heat map plugin expects an array of arrays with the lat, lng and intensity
72
- // The intensity is the value of the point's total score (tos) divided by 100 because the intensity should be between 0 and 1
73
- var calculateHeatPoints = (0, _react.useCallback)(function () {
74
- return points.map(function (point) {
75
- var intensityValue = point[filteredUseCaseCode];
76
- if (typeof intensityValue === 'number' && !isNaN(intensityValue)) {
77
- var intensity = intensityValue / 100;
78
- return [point.lat, point.lng, intensity];
79
- }
80
- return null; // Exclude invalid points
81
- }).filter(Boolean); // Remove null values
82
- }, [points, filteredUseCaseCode]);
83
- (0, _react.useEffect)(function () {
84
- if (!map || !points) {
85
- return;
86
- }
87
- if (!heatLayerRef.current) {
88
- heatLayerRef.current = _leaflet.default.heatLayer([], {
89
- radius: 25,
90
- blur: 15,
91
- maxZoom: 15
92
- });
93
- }
94
- if (!pointsLayerRef.current) {
95
- pointsLayerRef.current = _leaflet.default.layerGroup();
96
- }
97
- if (mapZoomLevel <= 15) {
98
- if (!map.hasLayer(heatLayerRef.current)) {
99
- map.addLayer(heatLayerRef.current);
100
- }
101
- heatLayerRef.current.setLatLngs(calculateHeatPoints());
102
- if (map.hasLayer(pointsLayerRef.current)) {
103
- map.removeLayer(pointsLayerRef.current);
104
- }
105
- } else {
106
- if (!pointsLayerRef.current.getLayers().length) {
107
- points.forEach(function (point) {
108
- var _pointsLayerRef$curre;
109
- var icon = (0, _PointIcon.getPointIconByType)('Groups::Factory', point === null || point === void 0 ? void 0 : point.id.toString(), '', false, true);
110
- var marker = _leaflet.default.marker([point.lat, point.lng], {
111
- icon: icon
112
- });
113
- marker.on('click', function () {
114
- if (onMarkerClick) {
115
- onMarkerClick(point.id);
116
- }
117
- });
118
- (_pointsLayerRef$curre = pointsLayerRef.current) === null || _pointsLayerRef$curre === void 0 ? void 0 : _pointsLayerRef$curre.addLayer(marker);
119
- });
120
- }
121
- if (!map.hasLayer(pointsLayerRef.current)) {
122
- map.addLayer(pointsLayerRef.current);
123
- }
124
- if (map.hasLayer(heatLayerRef.current)) {
125
- map.removeLayer(heatLayerRef.current);
126
- }
127
- }
128
- }, [points, map, mapZoomLevel, filteredUseCaseCode, calculateHeatPoints]);
129
- return map;
130
- };
131
- exports.useMap = useMap;
132
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50SWNvbiIsIl90aGVtZSIsIl9NYXBVdGlscyIsInVzZU1hcCIsIm1hcFJlZiIsInBvaW50cyIsImZpbHRlcmVkVXNlQ2FzZUNvZGUiLCJwb2x5Z29uIiwib25NYXJrZXJDbGljayIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJtYXAiLCJzZXRNYXAiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsImhlYXRMYXllclJlZiIsInVzZVJlZiIsInBvaW50c0xheWVyUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsIm1hcFR5cGVzIiwiYmFzZU1hcHMiLCJsZWFmbGV0TWFwIiwibWFwRGVmYXVsdCIsInNhdGVsbGl0ZSIsIm1hcFRlbXAiLCJMIiwiT2JqZWN0IiwidmFsdWVzIiwiYWRkVG8iLCJjb250cm9sIiwibGF5ZXJzIiwicG9zaXRpb24iLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJnZW9KU09OTGF5ZXIiLCJnZW9KU09OIiwic3R5bGUiLCJjb2xvciIsImZpbGxDb2xvciIsImZpbGxPcGFjaXR5IiwiZml0Qm91bmRzIiwiZ2V0Qm91bmRzIiwib24iLCJnZXRab29tIiwib2ZmIiwicmVtb3ZlIiwiY2xlYXJMYXllcnMiLCJjYWxjdWxhdGVIZWF0UG9pbnRzIiwidXNlQ2FsbGJhY2siLCJwb2ludCIsImludGVuc2l0eVZhbHVlIiwiaXNOYU4iLCJpbnRlbnNpdHkiLCJsYXQiLCJsbmciLCJmaWx0ZXIiLCJCb29sZWFuIiwiaGVhdExheWVyIiwicmFkaXVzIiwiYmx1ciIsIm1heFpvb20iLCJsYXllckdyb3VwIiwiaGFzTGF5ZXIiLCJhZGRMYXllciIsInNldExhdExuZ3MiLCJyZW1vdmVMYXllciIsImdldExheWVycyIsImZvckVhY2giLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwiaWQiLCJ0b1N0cmluZyIsIm1hcmtlciIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvUG9sbHV0aW9uUmlza0Fzc2Vzc21lbnQvdXNlTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludEljb24nO1xuaW1wb3J0IHsgSUdlb1BvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSUdlb1BvaW50JztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICdzcmMvc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGJhc2VNYXBzIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcFV0aWxzJztcblxuZXhwb3J0IGNvbnN0IHVzZU1hcCA9IChcbiAgbWFwUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+LFxuICBwb2ludHM6IElHZW9Qb2ludFtdLFxuICBmaWx0ZXJlZFVzZUNhc2VDb2RlOiBzdHJpbmcsXG4gIHBvbHlnb24/OiBhbnksXG4gIG9uTWFya2VyQ2xpY2s/OiAoaWQ6IG51bWJlcikgPT4gdm9pZCxcbik6IEwuTWFwIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgW21hcCwgc2V0TWFwXSA9IHVzZVN0YXRlPEwuTWFwPigpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMTUpO1xuICBjb25zdCBoZWF0TGF5ZXJSZWYgPSB1c2VSZWY8TC5IZWF0TGF5ZXI+KCk7XG4gIGNvbnN0IHBvaW50c0xheWVyUmVmID0gdXNlUmVmPEwuTGF5ZXJHcm91cD4oKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtYXBUeXBlcyA9IGJhc2VNYXBzKGxlYWZsZXRNYXAubWFwRGVmYXVsdCwgbGVhZmxldE1hcC5zYXRlbGxpdGUpO1xuICAgIGNvbnN0IG1hcFRlbXAgPSBMLm1hcChtYXBSZWYuY3VycmVudCwge30pO1xuXG4gICAgT2JqZWN0LnZhbHVlcyhtYXBUeXBlcylbMF0uYWRkVG8obWFwVGVtcCk7XG5cbiAgICBMLmNvbnRyb2wubGF5ZXJzKG1hcFR5cGVzLCB7fSwgeyBwb3NpdGlvbjogJ3RvcHJpZ2h0JyB9KS5hZGRUbyhtYXBUZW1wKTtcblxuICAgIC8vIFRoZSBjb2xvcnMgYXJlIHRyYW5zcGFyZW50IHNvIHRoZSBtYXAgd2lsbCBmaXQgdGhlIHBvbHlnb24gYm91bmRzIGJ1dCBpdCB3b24ndCBiZSB2aXNpYmxlXG4gICAgaWYgKHBvbHlnb24gJiYgcG9seWdvbi5sZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgZ2VvSlNPTkxheWVyID0gTC5nZW9KU09OKHBvbHlnb24sIHtcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICBmaWxsQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDAsXG4gICAgICAgIH0sXG4gICAgICB9KS5hZGRUbyhtYXBUZW1wKTtcbiAgICAgIG1hcFRlbXAuZml0Qm91bmRzKGdlb0pTT05MYXllci5nZXRCb3VuZHMoKSk7XG4gICAgfVxuXG4gICAgbWFwVGVtcC5vbignem9vbWVuZCcsICgpID0+IHtcbiAgICAgIHNldE1hcFpvb21MZXZlbChtYXBUZW1wLmdldFpvb20oKSk7XG4gICAgfSk7XG5cbiAgICBzZXRNYXAobWFwVGVtcCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKCFtYXBUZW1wKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG1hcFRlbXAub2ZmKCk7XG4gICAgICBtYXBUZW1wLnJlbW92ZSgpO1xuXG4gICAgICAvLyBDbGVhbiB1cCBsYXllcnNcbiAgICAgIGlmIChoZWF0TGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgICBoZWF0TGF5ZXJSZWYuY3VycmVudC5vZmYoKTtcbiAgICAgICAgaGVhdExheWVyUmVmLmN1cnJlbnQucmVtb3ZlKCk7XG4gICAgICAgIGhlYXRMYXllclJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmIChwb2ludHNMYXllclJlZi5jdXJyZW50KSB7XG4gICAgICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIC8vIFRoZSBoZWF0IG1hcCBwbHVnaW4gZXhwZWN0cyBhbiBhcnJheSBvZiBhcnJheXMgd2l0aCB0aGUgbGF0LCBsbmcgYW5kIGludGVuc2l0eVxuICAvLyBUaGUgaW50ZW5zaXR5IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcG9pbnQncyB0b3RhbCBzY29yZSAodG9zKSBkaXZpZGVkIGJ5IDEwMCBiZWNhdXNlIHRoZSBpbnRlbnNpdHkgc2hvdWxkIGJlIGJldHdlZW4gMCBhbmQgMVxuICBjb25zdCBjYWxjdWxhdGVIZWF0UG9pbnRzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJldHVybiBwb2ludHNcbiAgICAgIC5tYXAoKHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGludGVuc2l0eVZhbHVlID0gcG9pbnRbZmlsdGVyZWRVc2VDYXNlQ29kZV07XG4gICAgICAgIGlmICh0eXBlb2YgaW50ZW5zaXR5VmFsdWUgPT09ICdudW1iZXInICYmICFpc05hTihpbnRlbnNpdHlWYWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBpbnRlbnNpdHkgPSBpbnRlbnNpdHlWYWx1ZSAvIDEwMDtcbiAgICAgICAgICByZXR1cm4gW3BvaW50LmxhdCwgcG9pbnQubG5nLCBpbnRlbnNpdHldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsOyAvLyBFeGNsdWRlIGludmFsaWQgcG9pbnRzXG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKTsgLy8gUmVtb3ZlIG51bGwgdmFsdWVzXG4gIH0sIFtwb2ludHMsIGZpbHRlcmVkVXNlQ2FzZUNvZGVdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwIHx8ICFwb2ludHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWhlYXRMYXllclJlZi5jdXJyZW50KSB7XG4gICAgICBoZWF0TGF5ZXJSZWYuY3VycmVudCA9IEwuaGVhdExheWVyKFtdLCB7XG4gICAgICAgIHJhZGl1czogMjUsXG4gICAgICAgIGJsdXI6IDE1LFxuICAgICAgICBtYXhab29tOiAxNSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghcG9pbnRzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudCA9IEwubGF5ZXJHcm91cCgpO1xuICAgIH1cblxuICAgIGlmIChtYXBab29tTGV2ZWwgPD0gMTUpIHtcbiAgICAgIGlmICghbWFwLmhhc0xheWVyKGhlYXRMYXllclJlZi5jdXJyZW50KSkge1xuICAgICAgICBtYXAuYWRkTGF5ZXIoaGVhdExheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuXG4gICAgICBoZWF0TGF5ZXJSZWYuY3VycmVudC5zZXRMYXRMbmdzKGNhbGN1bGF0ZUhlYXRQb2ludHMoKSk7XG5cbiAgICAgIGlmIChtYXAuaGFzTGF5ZXIocG9pbnRzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0TGF5ZXJzKCkubGVuZ3RoKSB7XG4gICAgICAgIHBvaW50cy5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGljb24gPSBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICAgICAgICAnR3JvdXBzOjpGYWN0b3J5JyxcbiAgICAgICAgICAgIHBvaW50Py5pZC50b1N0cmluZygpLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBtYXJrZXIgPSBMLm1hcmtlcihbcG9pbnQubGF0LCBwb2ludC5sbmddLCB7XG4gICAgICAgICAgICBpY29uLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG1hcmtlci5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAob25NYXJrZXJDbGljaykge1xuICAgICAgICAgICAgICBvbk1hcmtlckNsaWNrKHBvaW50LmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihtYXJrZXIpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFtYXAuaGFzTGF5ZXIocG9pbnRzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLmFkZExheWVyKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWFwLmhhc0xheWVyKGhlYXRMYXllclJlZi5jdXJyZW50KSkge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIoaGVhdExheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3BvaW50cywgbWFwLCBtYXBab29tTGV2ZWwsIGZpbHRlcmVkVXNlQ2FzZUNvZGUsIGNhbGN1bGF0ZUhlYXRQb2ludHNd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