@kando-env/kando-ui 1.2.314-alpha.2 → 1.2.314-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Router.js +75 -36
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +35 -24
- package/lib/Widgets/EventsRow/EventsRow.js +39 -26
- package/lib/Widgets/Map/GraphUtils.js +6 -4
- package/lib/Widgets/Map/Map.js +85 -67
- package/lib/Widgets/Map/MapUtils.js +41 -41
- package/lib/Widgets/Map/areas/AreaPolygon.js +89 -51
- package/lib/Widgets/Map/areas/AreaPolygons.js +34 -28
- package/lib/Widgets/Map/areas/AreaUtils.js +50 -50
- package/lib/Widgets/Map/areas/Patterns.js +5 -5
- package/lib/Widgets/Map/edges/Edge.js +33 -24
- package/lib/Widgets/Map/edges/Edges.js +26 -20
- package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
- package/lib/Widgets/Map/events/Event.js +18 -17
- package/lib/Widgets/Map/events/EventIndicator.js +55 -58
- package/lib/Widgets/Map/events/EventPath.js +25 -25
- package/lib/Widgets/Map/events/EventUtils.js +80 -56
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +19 -17
- package/lib/Widgets/Map/events/PointOfEvent.js +35 -29
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +36 -28
- package/lib/Widgets/Map/events/Snail.js +21 -19
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +90 -94
- package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
- package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
- package/lib/Widgets/Map/points/PointIcon.js +16 -17
- package/lib/Widgets/Map/points/PointMarker.js +97 -67
- package/lib/Widgets/Map/points/PointMarkers.js +67 -45
- package/lib/Widgets/Map/points/PointUtils.js +69 -59
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +45 -27
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +18 -14
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +12 -10
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
- package/lib/Widgets/MostPolluting/Areas/Areas.js +58 -28
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
- package/lib/Widgets/MostPolluting/Factories/Factories.js +65 -33
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +18 -15
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
- package/lib/Widgets/MostPolluting/MostPolluting.js +24 -18
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
- package/lib/Widgets/MostPolluting/assets/index.js +12 -12
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +32 -34
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +36 -40
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -28
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +49 -53
- package/lib/Widgets/MostPolluting/models.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +6 -4
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
- package/lib/Widgets/PotentialImpactSummary/Icon.js +6 -8
- package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
- package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
- package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
- package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +33 -36
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +25 -27
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
- package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
- package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/styles.js +19 -20
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +26 -30
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +43 -25
- package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
- package/lib/Widgets/UtilityInformation/styles.js +29 -31
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
- package/lib/assets/icons/TopNavbar/index.js +7 -7
- package/lib/assets/icons/TrendSvg.js +7 -7
- package/lib/assets/icons/index.js +15 -15
- package/lib/assets/icons/kandoStepper/index.js +6 -6
- package/lib/assets/icons/siteTypes/index.js +2 -2
- package/lib/components/ApplyButton/ApplyButton.js +11 -10
- package/lib/components/ApplyButton/index.js +4 -3
- package/lib/components/Backdrop/Backdrop.js +5 -7
- package/lib/components/ContentLoader/ContentLoader.js +10 -12
- package/lib/components/ContentLoader/index.js +2 -2
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -12
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -5
- package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +20 -12
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
- package/lib/components/CustomInputs/Search/Search.js +63 -40
- package/lib/components/CustomInputs/Search/index.js +4 -3
- package/lib/components/CustomInputs/Select/Select.js +56 -42
- package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
- package/lib/components/DamageType/DamageType.js +60 -35
- package/lib/components/DamageType/index.js +4 -3
- package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +72 -71
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +40 -28
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
- package/lib/components/DischargeHeatmap/index.js +4 -3
- package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
- package/lib/components/DischargeHeatmap/popupText.js +12 -11
- package/lib/components/DischargeHeatmap/titles.js +6 -4
- package/lib/components/DischargeHeatmap/types.js +1 -1
- package/lib/components/ErrorBoundary.js +42 -27
- package/lib/components/Events/Events.js +48 -29
- package/lib/components/Events/index.js +4 -3
- package/lib/components/Graph/Graph.js +91 -70
- package/lib/components/Graph/index.js +4 -3
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
- package/lib/components/Header/Breadcrumbs/index.js +4 -3
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +28 -18
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
- package/lib/components/Header/DoubleTabs/styles.js +8 -5
- package/lib/components/Header/Header.js +3 -3
- package/lib/components/Header/Header.stories.js +9 -5
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +24 -24
- package/lib/components/Header/InfoBar/InfoBar.js +35 -42
- package/lib/components/Header/InfoBar/Search/Control.js +12 -11
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -8
- package/lib/components/Header/InfoBar/Search/Search.js +22 -15
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +30 -16
- package/lib/components/Header/InfoBar/Search/index.js +4 -3
- package/lib/components/Header/InfoBar/Search/searchStyle.js +51 -42
- package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +90 -63
- package/lib/components/Header/KandoNavbar/index.js +4 -3
- package/lib/components/Header/Slideshow/Slideshow.js +91 -67
- package/lib/components/Header/Slideshow/index.js +4 -3
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +14 -14
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +33 -27
- package/lib/components/Header/Toolbar/Toolbar.js +76 -56
- package/lib/components/InfoBar/InfoBar.js +24 -10
- package/lib/components/InfoBar/InfoBar.stories.js +9 -5
- package/lib/components/KandoModal/KandoModal.js +40 -24
- package/lib/components/KandoModal/index.js +4 -3
- package/lib/components/Link.js +8 -9
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -10
- package/lib/components/Links/StyledLink/StyledLink.js +14 -13
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +12 -12
- package/lib/components/LiveEvents/CarouselSlide.js +10 -11
- package/lib/components/LiveEvents/LiveEvents.js +6 -7
- package/lib/components/LiveEvents/index.js +4 -3
- package/lib/components/LoaderByPercent/LoaderByPercent.js +30 -37
- package/lib/components/Map/Map.js +25 -20
- package/lib/components/Map/index.js +4 -3
- package/lib/components/Modal/Modal.js +10 -10
- package/lib/components/NarrowHeader.js +32 -18
- package/lib/components/PointInfo/PointInfo.js +19 -20
- package/lib/components/PointInfo/index.js +4 -3
- package/lib/components/PopupModal/PopupModal.js +17 -13
- package/lib/components/PopupModal/PopupModal.stories.js +24 -17
- package/lib/components/Sector/Sector.js +9 -10
- package/lib/components/Sector/Sector.test.js +21 -20
- package/lib/components/Sector/index.js +4 -3
- package/lib/components/Sector/sectorIcons.js +5 -4
- package/lib/components/SevereEvent/Eta/Eta.js +54 -49
- package/lib/components/SevereEvent/Eta/styles.js +8 -11
- package/lib/components/SevereEvent/SevereEvent.js +35 -27
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +11 -6
- package/lib/components/Spinner/index.js +4 -3
- package/lib/components/Spinner/styles.js +16 -21
- package/lib/components/Tabs/Tabs.js +29 -18
- package/lib/components/Tabs/Tabs.stories.js +10 -6
- package/lib/components/Tabs/assets/index.js +6 -6
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +48 -35
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +22 -17
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +14 -13
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
- package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +27 -17
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +32 -29
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
- package/lib/components/TimeRangeSelector/constants.js +5 -3
- package/lib/components/TimeRangeSelector/index.js +4 -3
- package/lib/components/Toggle/Toggle.js +18 -11
- package/lib/components/Toggle/index.js +4 -3
- package/lib/components/TrendGraph/TrendGraph.js +42 -24
- package/lib/components/TrendGraph/index.js +4 -3
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
- package/lib/components/TrendGraphNVL/index.js +4 -3
- package/lib/development-environment/index.js +13 -9
- package/lib/development-environment/mock/browser.js +5 -2
- package/lib/development-environment/mock/get.js +10 -8
- package/lib/development-environment/mock/handlers.js +3 -2
- package/lib/development-environment/mock/mockBus.js +5 -4
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
- package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
- package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
- package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
- package/lib/development-environment/togly/ToglyDashboard.js +23 -13
- package/lib/development-environment/togly/ToglyItem.js +29 -25
- package/lib/development-environment/togly/flags.js +1 -1
- package/lib/development-environment/togly/init.js +3 -3
- package/lib/development-environment/togly/macro.js +9 -13
- package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
- package/lib/development-environment/togly/useLocalStorage.js +18 -13
- package/lib/hooks/useApi.js +56 -20
- package/lib/hooks/useApiWithDashboardQuery.js +49 -30
- package/lib/hooks/useClickOutside.js +5 -4
- package/lib/hooks/useInitializeHeaders.js +6 -6
- package/lib/hooks/useKandoFetch.js +31 -17
- package/lib/hooks/useMap.js +37 -25
- package/lib/hooks/useNavContext.js +26 -22
- package/lib/hooks/useQueryURL.js +3 -2
- package/lib/hooks/useRemoveExistingLayers.js +8 -7
- package/lib/hooks/useUpdateEventBodyTail.js +19 -14
- package/lib/hooks/useUserTimeZone.js +29 -32
- package/lib/hooks/useUserTimeZone.test.js +23 -19
- package/lib/hooks/useWindowSize.js +14 -7
- package/lib/index.js +13 -11
- package/lib/macros/getVersion.js +2 -2
- package/lib/models/IAction.js +1 -1
- package/lib/models/IAppState.js +1 -1
- package/lib/pages/AreaPage/AreaPage.js +64 -28
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -14
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +19 -16
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +23 -14
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +5 -5
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +68 -34
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +10 -10
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
- package/lib/pages/AssessmentPage/AssessmentPage.js +46 -38
- package/lib/pages/CannyWidget/Feedback.js +16 -14
- package/lib/pages/CovidPage/CovidPage.js +16 -9
- package/lib/pages/CovidPage/components/Body.js +30 -26
- package/lib/pages/CovidPage/components/Map.js +40 -28
- package/lib/pages/CovidPage/components/Sidebar.js +16 -15
- package/lib/pages/CovidPage/components/Summary.js +29 -20
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
- package/lib/pages/CovidPage/components/areas/Area.js +36 -24
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +46 -45
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
- package/lib/pages/CovidPage/components/areas/AreasList.js +42 -29
- package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +18 -22
- package/lib/pages/DashboardMap/AssessmentIcon.js +7 -8
- package/lib/pages/DashboardMap/FactoryCard.js +21 -25
- package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
- package/lib/pages/DashboardMap/List.js +54 -42
- package/lib/pages/DashboardMap/ListContext.js +19 -14
- package/lib/pages/DashboardMap/Loader.js +3 -3
- package/lib/pages/DashboardMap/SeverityBadge.js +19 -11
- package/lib/pages/DashboardMap/WWTPMap.js +57 -42
- package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
- package/lib/pages/DashboardMap/Widget.js +79 -78
- package/lib/pages/DashboardMap/index.js +4 -3
- package/lib/pages/DashboardMap/utils.js +24 -19
- package/lib/pages/EventsPage/Body/Body.js +18 -21
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +36 -27
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
- package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +64 -52
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -17
- package/lib/pages/EventsPage/EventsPage.js +13 -8
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +41 -27
- package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
- package/lib/pages/EventsPage/events/Sidebar.js +19 -22
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +32 -34
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +43 -42
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
- package/lib/pages/EventsPage/events/event_info/EventSection.js +18 -15
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +39 -44
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +50 -39
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +34 -29
- package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +7 -6
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -12
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +10 -11
- package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +10 -13
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +9 -8
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +4 -6
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +5 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +11 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +5 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +13 -11
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +16 -15
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +11 -12
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +13 -15
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +27 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +5 -4
- package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +40 -25
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -27
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +27 -22
- package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
- package/lib/pages/EventsPage/events/events_list/EventItem.js +21 -18
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
- package/lib/pages/EventsPage/events/events_list/EventsList.js +139 -115
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +56 -39
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +111 -73
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +72 -53
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +39 -30
- package/lib/pages/EventsPage/events/events_list/Sort.js +19 -14
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +22 -14
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
- package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
- package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
- package/lib/pages/ImportFileWizard/ValidationForm.js +22 -22
- package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
- package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
- package/lib/pages/ImportFileWizard/index.js +4 -3
- package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +26 -23
- package/lib/pages/ImportGisPage/importGisUtils.js +24 -15
- package/lib/pages/ImportGisProcess/index.js +18 -14
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +58 -28
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
- package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
- package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
- package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
- package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
- package/lib/pages/NotificationsPage/assets/index.js +10 -10
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +97 -71
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +65 -95
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +140 -127
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -72
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +87 -90
- package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -40
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +132 -56
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +21 -19
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +13 -17
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +23 -27
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +30 -28
- package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +12 -16
- package/lib/pages/ProfilePage/Container.js +4 -3
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +40 -23
- package/lib/pages/ProfilePage/ProfilePage.js +200 -111
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +26 -23
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +119 -57
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +43 -39
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +29 -27
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
- package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
- package/lib/pages/SamplingsPage/NavigationDropdown.js +31 -43
- package/lib/pages/SamplingsPage/NewSamplingAction.js +102 -75
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +98 -124
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +59 -34
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -10
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +192 -107
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +54 -47
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +39 -42
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +39 -42
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +28 -21
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +52 -50
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
- package/lib/pages/SamplingsPage/SamplingsPage.js +33 -25
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +58 -49
- package/lib/pages/SamplingsPage/index.js +3 -2
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +92 -68
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +5 -7
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -15
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +13 -17
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +11 -10
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
- package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +40 -31
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
- package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +12 -16
- package/lib/pages/SitePage/SiteInformation/ContributorItem.js +10 -11
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
- package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +13 -13
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +46 -34
- package/lib/pages/SitePage/SiteInformation/style.js +12 -16
- package/lib/pages/SitePage/SitePage.js +70 -29
- package/lib/pages/UploadLabResult/index.js +16 -15
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +50 -47
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +5 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +9 -8
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +23 -15
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -14
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -6
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +32 -23
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
- package/lib/pages/WbeDashboard/GraphWrapper.js +35 -28
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
- package/lib/pages/WbeDashboard/SearchInput.js +21 -15
- package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +211 -145
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +48 -39
- package/lib/pages/WwtpPage/DashboardCard.js +23 -25
- package/lib/pages/WwtpPage/DischargePatternCard.js +27 -16
- package/lib/pages/WwtpPage/InletsCard/InletsBar.js +8 -9
- package/lib/pages/WwtpPage/InletsCard/InletsCard.js +22 -22
- package/lib/pages/WwtpPage/InletsCard/index.js +4 -3
- package/lib/pages/WwtpPage/Map.js +6 -7
- package/lib/pages/WwtpPage/OrganicCard.js +5 -4
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +7 -8
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
- package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
- package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
- package/lib/pages/WwtpPage/PredictionCard.js +5 -4
- package/lib/pages/WwtpPage/TrendCard.js +22 -20
- package/lib/pages/WwtpPage/UpgradeBox.js +5 -4
- package/lib/pages/WwtpPage/WwtpPage.js +10 -9
- package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
- package/lib/pages/WwtpPage/index.js +4 -3
- package/lib/providers/Slideshow/SlideshowContext.js +10 -11
- package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
- package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
- package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
- package/lib/providers/UrlHistory/index.js +4 -4
- package/lib/providers/UrlHistory/useLastVisited.js +6 -5
- package/lib/react-app-env.d.js +1 -1
- package/lib/store/ImportGis/action.js +1 -1
- package/lib/store/ImportGis/actionTypes.js +5 -4
- package/lib/store/ImportGis/actionsCreator.js +5 -7
- package/lib/store/ImportGis/models/gisImports.js +1 -1
- package/lib/store/ImportGis/reducer.js +30 -41
- package/lib/store/WBE/actionTypes.js +3 -2
- package/lib/store/WBE/actions.js +1 -1
- package/lib/store/WBE/models/IAreaWBE.js +1 -1
- package/lib/store/WBE/models/IWBE.js +1 -1
- package/lib/store/WBE/models/IWBEState.js +1 -1
- package/lib/store/WBE/reducer.js +10 -14
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
- package/lib/store/WWTPDashboard/types.js +1 -1
- package/lib/store/areas/actionTypes.js +7 -4
- package/lib/store/areas/actions.js +13 -7
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/areas/models/IAreasState.js +1 -1
- package/lib/store/areas/reducer.js +6 -8
- package/lib/store/context/actionTypes.js +5 -3
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +18 -15
- package/lib/store/context/models/INavContext.js +1 -1
- package/lib/store/context/models/INavContextState.js +1 -1
- package/lib/store/context/reducer.js +10 -14
- package/lib/store/dashboard/dashboardSlice.js +11 -18
- package/lib/store/dashboard/periodType.js +1 -1
- package/lib/store/edges/actionTypes.js +9 -5
- package/lib/store/edges/actions.js +8 -4
- package/lib/store/edges/models/IEdge.js +1 -1
- package/lib/store/edges/models/IEdgesState.js +1 -1
- package/lib/store/edges/reducer.js +17 -13
- package/lib/store/events/actionTypes.js +33 -17
- package/lib/store/events/actions.js +7 -3
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/models/IEventsState.js +1 -1
- package/lib/store/events/models/ISource.js +1 -1
- package/lib/store/events/reducer.js +49 -42
- package/lib/store/filters/IFilter.js +1 -1
- package/lib/store/filters/IFilterItem.js +1 -1
- package/lib/store/global/actionTypes.js +21 -11
- package/lib/store/global/actions.js +4 -6
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/global/reducer.js +10 -11
- package/lib/store/permissions/permissionsSlice.js +9 -12
- package/lib/store/points/actionTypes.js +5 -3
- package/lib/store/points/actions.js +7 -3
- package/lib/store/points/models/IGroup.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/store/points/models/IPointsState.js +1 -1
- package/lib/store/points/reducer.js +5 -7
- package/lib/store/rootActionTypes.js +3 -2
- package/lib/store/rootActions.js +1 -1
- package/lib/store/rootReducer.js +13 -17
- package/lib/store/rootStore.js +6 -6
- package/lib/store/samplings/action.js +1 -1
- package/lib/store/samplings/actionTypes.js +5 -4
- package/lib/store/samplings/actionsCreator.js +1 -1
- package/lib/store/samplings/models/Samplings.js +1 -1
- package/lib/store/samplings/reducer.js +14 -16
- package/lib/styles/StylesLayout.js +6 -7
- package/lib/styles/theme/theme.js +30 -26
- package/lib/test/mocks/browser.js +5 -2
- package/lib/test/test-utils.js +16 -18
- package/lib/ui-kit/Button/Button.js +83 -129
- package/lib/ui-kit/Button/Button.test.js +30 -24
- package/lib/ui-kit/Button/ButtonUtils.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +24 -32
- package/lib/ui-kit/ContentCard/ContentCard.js +20 -16
- package/lib/ui-kit/Dashboard/Dashboard.js +22 -23
- package/lib/ui-kit/Dashboard/index.js +4 -3
- package/lib/ui-kit/DropDown/DropDown.js +20 -18
- package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
- package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
- package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
- package/lib/ui-kit/EmptyState/EmptyState.js +6 -7
- package/lib/ui-kit/IconAction/IconAction.js +8 -9
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +64 -47
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +49 -58
- package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
- package/lib/ui-kit/InletsPie/index.js +4 -3
- package/lib/ui-kit/InletsPie/options.js +9 -7
- package/lib/ui-kit/KandoList/KandoList.js +12 -13
- package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
- package/lib/ui-kit/KandoTable/KandoTable.test.js +23 -17
- package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +7 -8
- package/lib/ui-kit/MobileInput/MobileInput.js +50 -56
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
- package/lib/ui-kit/ModalConfirmation/index.js +3 -2
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -9
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +23 -29
- package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
- package/lib/ui-kit/OrganicEvents/index.js +4 -3
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +18 -14
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +24 -21
- package/lib/ui-kit/ScoreGauge/constant.js +4 -3
- package/lib/ui-kit/ScoreGauge/index.js +4 -3
- package/lib/ui-kit/TimeLineChart/TrendChart.js +41 -52
- package/lib/ui-kit/TimeLineChart/index.js +4 -3
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
- package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +14 -13
- package/lib/ui-kit/siteName/SiteName.js +11 -13
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +20 -23
- package/lib/utilities/Analytics.js +12 -12
- package/lib/utilities/Array.js +5 -4
- package/lib/utilities/Enum.js +51 -15
- package/lib/utilities/ErrorBoundary.js +42 -27
- package/lib/utilities/File.js +70 -41
- package/lib/utilities/GetDir.js +10 -10
- package/lib/utilities/KandoDate.js +15 -7
- package/lib/utilities/KandoModal.js +28 -16
- package/lib/utilities/LocalStorage.js +7 -5
- package/lib/utilities/ThousandsToK.js +2 -2
- package/lib/utilities/TimeFormat.js +23 -22
- package/lib/utilities/Truncate.js +27 -17
- package/lib/utilities/edgesMath.js +16 -15
- package/lib/utilities/i18n.js +6 -5
- package/lib/utilities/kql.js +12 -10
- package/lib/utilities/map/icons.js +4 -4
- package/lib/utilities/polylinedecorator.js +113 -88
- package/lib/utilities/scoreToData.js +11 -11
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +10 -9
- package/lib/utilities/uploadToS3.js +12 -12
- package/lib/utilities/urls.js +16 -17
- package/package.json +7 -6
- package/lib/ui-kit/TimeLineChart/test.json +0 -25656
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
4
|
-
var
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.AreaPolygons = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _AreaPolygon = _interopRequireDefault(require("./AreaPolygon"));
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
var AreaPolygons = function AreaPolygons(props) {
|
|
15
|
+
var L = props.L,
|
|
16
|
+
areas = props.areas,
|
|
17
|
+
map = props.map,
|
|
18
|
+
mapZoom = props.mapZoom,
|
|
19
|
+
areaToCenterBy = props.areaToCenterBy,
|
|
20
|
+
global_data = props.global_data,
|
|
21
|
+
featureGroup = props.featureGroup;
|
|
22
|
+
var group = [];
|
|
23
|
+
var _useState = (0, _react.useState)(true),
|
|
24
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
25
|
+
shouldFly = _useState2[0],
|
|
26
|
+
setShouldFly = _useState2[1];
|
|
27
|
+
(0, _react.useEffect)(function () {
|
|
24
28
|
if (shouldFly) {
|
|
25
|
-
for (
|
|
29
|
+
for (var property in map._layers) {
|
|
26
30
|
if (map._layers[property].kando_object === 'Area') {
|
|
27
31
|
group.push(map._layers[property]);
|
|
28
32
|
}
|
|
@@ -36,19 +40,21 @@ const AreaPolygons = props => {
|
|
|
36
40
|
map.invalidateSize(true);
|
|
37
41
|
}
|
|
38
42
|
}, [areas]);
|
|
39
|
-
(0, _react.useEffect)(()
|
|
43
|
+
(0, _react.useEffect)(function () {
|
|
40
44
|
featureGroup.addTo(map);
|
|
41
45
|
}, []);
|
|
42
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, areas.length !== 0 && areas.map(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, areas.length !== 0 && areas.map(function (area) {
|
|
47
|
+
return /*#__PURE__*/_react.default.createElement(_AreaPolygon.default, {
|
|
48
|
+
area: area,
|
|
49
|
+
map: map,
|
|
50
|
+
L: L,
|
|
51
|
+
key: area.area_id,
|
|
52
|
+
mapZoom: mapZoom,
|
|
53
|
+
global_data: global_data,
|
|
54
|
+
bindPopup: true,
|
|
55
|
+
featureGroup: featureGroup
|
|
56
|
+
});
|
|
57
|
+
}));
|
|
52
58
|
};
|
|
53
59
|
exports.AreaPolygons = AreaPolygons;
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnMiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJhcmVhVG9DZW50ZXJCeSIsImdsb2JhbF9kYXRhIiwiZmVhdHVyZUdyb3VwIiwiZ3JvdXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG91bGRGbHkiLCJzZXRTaG91bGRGbHkiLCJ1c2VFZmZlY3QiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZ2V0Qm91bmRzIiwicGFkZGluZyIsImludmFsaWRhdGVTaXplIiwiYWRkVG8iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJhcmVhIiwiYXJlYV9pZCIsImJpbmRQb3B1cCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVBvbHlnb25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgQXJlYVBvbHlnb24gZnJvbSAnLi9BcmVhUG9seWdvbic7XG5pbXBvcnQgeyBGZWF0dXJlR3JvdXAgfSBmcm9tICdsZWFmbGV0JztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYXM6IElBcmVhW107XG4gIG1hcFpvb206IG51bWJlcjtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwO1xufTtcblxuZXhwb3J0IGNvbnN0IEFyZWFQb2x5Z29uczogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgYXJlYXMsIG1hcCwgbWFwWm9vbSwgYXJlYVRvQ2VudGVyQnksIGdsb2JhbF9kYXRhLCBmZWF0dXJlR3JvdXAgfSA9XG4gICAgcHJvcHM7XG4gIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuICBjb25zdCBbc2hvdWxkRmx5LCBzZXRTaG91bGRGbHldID0gdXNlU3RhdGUodHJ1ZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvdWxkRmx5KSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICAgIGlmIChtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgICBncm91cC5wdXNoKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGdyb3VwLmxlbmd0aCAhPT0gMCAmJiAhYXJlYVRvQ2VudGVyQnkpIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgICBwYWRkaW5nOiBbNDIwLCA0MjBdLFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0U2hvdWxkRmx5KGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgbWFwLmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgIH1cbiAgfSwgW2FyZWFzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmZWF0dXJlR3JvdXAuYWRkVG8obWFwKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHthcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgYXJlYXMubWFwKChhcmVhOiBJQXJlYSkgPT4gKFxuICAgICAgICAgIDxBcmVhUG9seWdvblxuICAgICAgICAgICAgYXJlYT17YXJlYX1cbiAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbX1cbiAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgIGJpbmRQb3B1cD17dHJ1ZX1cbiAgICAgICAgICAgIGZlYXR1cmVHcm91cD17ZmVhdHVyZUdyb3VwfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgIDwvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXdDLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJ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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -11,23 +11,23 @@ var _scoreToData = require("../../../utilities/scoreToData");
|
|
|
11
11
|
var _theme = require("../../../styles/theme/theme");
|
|
12
12
|
var _utils = require("pages/DashboardMap/utils");
|
|
13
13
|
var _Patterns = require("./Patterns");
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
var getAreaName = function getAreaName(area) {
|
|
15
|
+
var name = area.area_name || area.name;
|
|
16
16
|
return name;
|
|
17
17
|
};
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
var getAreaId = function getAreaId(area) {
|
|
19
|
+
var name = area.area_id || area.id;
|
|
20
20
|
return name;
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
var genericPolygon = function genericPolygon(area, mapZoom) {
|
|
23
|
+
var areaPolygon;
|
|
24
|
+
var latlngs = area.shape_data.map(function (location) {
|
|
25
25
|
return [location['lat'], location['lng']];
|
|
26
26
|
});
|
|
27
27
|
if (latlngs.length < 1) return;
|
|
28
|
-
|
|
28
|
+
var color = area.color ? area.color : (0, _scoreToData.scoreToColor)(area.area_score);
|
|
29
29
|
areaPolygon = _leaflet.default.polygon(latlngs, {
|
|
30
|
-
color,
|
|
30
|
+
color: color,
|
|
31
31
|
fillOpacity: area.showColorOnlyInBorders ? 0.3 : 0.4,
|
|
32
32
|
weight: area.showColorOnlyInBorders ? 2 : 0,
|
|
33
33
|
fill: false
|
|
@@ -35,25 +35,25 @@ const genericPolygon = (area, mapZoom) => {
|
|
|
35
35
|
return areaPolygon;
|
|
36
36
|
};
|
|
37
37
|
exports.genericPolygon = genericPolygon;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
for (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
var calculatePolygonArea = function calculatePolygonArea(coordinates) {
|
|
39
|
+
var area = 0;
|
|
40
|
+
var numPoints = coordinates.length;
|
|
41
|
+
for (var i = 0; i < numPoints; i++) {
|
|
42
|
+
var x1 = coordinates[i][0];
|
|
43
|
+
var y1 = coordinates[i][1];
|
|
44
|
+
var x2 = coordinates[(i + 1) % numPoints][0];
|
|
45
|
+
var y2 = coordinates[(i + 1) % numPoints][1];
|
|
46
46
|
area += x1 * y2 - x2 * y1;
|
|
47
47
|
}
|
|
48
48
|
return Math.abs(area / 2);
|
|
49
49
|
};
|
|
50
50
|
exports.calculatePolygonArea = calculatePolygonArea;
|
|
51
|
-
|
|
51
|
+
var polygonTitle = function polygonTitle(area, mapZoom) {
|
|
52
52
|
return "<div class=\"area-tooltip\" style=\"color:".concat(_theme.theme.colorScheme.primary.ps1, ";font-weight:700;background-color:transparent;font-size: ").concat(mapZoom * 1.5, "px;-webkit-text-stroke: 0.8px #ffffff;\"> ").concat(getAreaName(area), " \n </div>");
|
|
53
53
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
var bindTooltip = function bindTooltip(layer, area) {
|
|
55
|
+
var mapZoom = layer._map !== undefined ? layer._map.getZoom() : 0;
|
|
56
|
+
var title = polygonTitle(area, mapZoom);
|
|
57
57
|
layer.bindTooltip(title, {
|
|
58
58
|
className: 'area-tooltip',
|
|
59
59
|
permanent: true,
|
|
@@ -63,9 +63,9 @@ const bindTooltip = (layer, area) => {
|
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
// The tooltip is showing the area name
|
|
66
|
-
|
|
66
|
+
var handleToltipBasedOnZoomLevel = function handleToltipBasedOnZoomLevel(polygon, mapZoom) {
|
|
67
67
|
if (mapZoom > 11) {
|
|
68
|
-
|
|
68
|
+
var tooltip = polygon.getTooltip();
|
|
69
69
|
tooltip.setContent(polygonTitle(polygon, mapZoom));
|
|
70
70
|
polygon.openTooltip();
|
|
71
71
|
} else {
|
|
@@ -73,11 +73,11 @@ const handleToltipBasedOnZoomLevel = (polygon, mapZoom) => {
|
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
75
|
exports.handleToltipBasedOnZoomLevel = handleToltipBasedOnZoomLevel;
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
var drillDownBasedOnZoomLevel = function drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible, map, featureGroup) {
|
|
77
|
+
var drillDownCondition = function drillDownCondition() {
|
|
78
78
|
return percentage >= zoomPercentageToDrillDown && isPartialPolygonVisible && area.sub_areas.length !== 0 && areaPolygon._map !== null;
|
|
79
79
|
};
|
|
80
|
-
|
|
80
|
+
var hidePolygon = function hidePolygon(polygon) {
|
|
81
81
|
polygon.bringToBack();
|
|
82
82
|
polygon.closeTooltip();
|
|
83
83
|
polygon['hidden'] = true;
|
|
@@ -86,7 +86,7 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
|
|
|
86
86
|
fill: false
|
|
87
87
|
});
|
|
88
88
|
};
|
|
89
|
-
|
|
89
|
+
var showPolygon = function showPolygon(polygon, fill) {
|
|
90
90
|
polygon.bringToFront();
|
|
91
91
|
polygon['hidden'] = false;
|
|
92
92
|
polygon.setStyle({
|
|
@@ -97,10 +97,10 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
|
|
|
97
97
|
fillOpacity: 0.4
|
|
98
98
|
});
|
|
99
99
|
};
|
|
100
|
-
|
|
100
|
+
var handleSubAreas = function handleSubAreas(show) {
|
|
101
101
|
if (areaPolygon['sub_areas'] !== undefined) {
|
|
102
|
-
areaPolygon['sub_areas'].forEach(subAreaId
|
|
103
|
-
featureGroup.eachLayer(layer
|
|
102
|
+
areaPolygon['sub_areas'].forEach(function (subAreaId) {
|
|
103
|
+
featureGroup.eachLayer(function (layer) {
|
|
104
104
|
if (layer['kando_object_id'] === subAreaId) {
|
|
105
105
|
show ? showPolygon(layer, true) : hidePolygon(layer);
|
|
106
106
|
}
|
|
@@ -123,35 +123,35 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
|
-
|
|
126
|
+
var zoomControlForArea = function zoomControlForArea(areaPolygon, area, map, featureGroup) {
|
|
127
127
|
map.on('zoomend', function () {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
128
|
+
var getMapBounds = map.getBounds();
|
|
129
|
+
var polygonBounds = areaPolygon.getBounds();
|
|
130
|
+
var isPartialPolygonVisible = getMapBounds.intersects(polygonBounds);
|
|
131
|
+
var mapBoundsPolygon = _leaflet.default.polygon([getMapBounds.getSouthWest(), getMapBounds.getNorthWest(), getMapBounds.getNorthEast(), getMapBounds.getSouthEast()]);
|
|
132
|
+
var mapBounds = calculatePolygonArea(mapBoundsPolygon.toGeoJSON().geometry.coordinates[0]);
|
|
133
|
+
var areaSurface = areaPolygon['calculated_surface'];
|
|
134
|
+
var zoomPercentageToDrillDown = 15.0;
|
|
135
|
+
var percentage = areaSurface / mapBounds * 100;
|
|
136
136
|
drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible, map, featureGroup);
|
|
137
137
|
});
|
|
138
138
|
};
|
|
139
139
|
exports.zoomControlForArea = zoomControlForArea;
|
|
140
|
-
|
|
140
|
+
var customAttributesForAreaPolygon = function customAttributesForAreaPolygon(areaPolygon, area) {
|
|
141
141
|
areaPolygon['kando_object_id'] = getAreaId(area);
|
|
142
142
|
areaPolygon['kando_object'] = 'Area';
|
|
143
143
|
areaPolygon['area_name'] = getAreaName(area);
|
|
144
144
|
areaPolygon['calculated_surface'] = area.calculated_surface;
|
|
145
145
|
};
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
var createPolygon = function createPolygon(area, mapZoom, featureGroup, map, popupCreator, handleClick, parentAreaId) {
|
|
147
|
+
var polygon;
|
|
148
148
|
if (area.shape_data !== null && area.shape_data !== undefined && area.shape_data.length > 0) {
|
|
149
149
|
polygon = genericPolygon(area, mapZoom);
|
|
150
150
|
if (handleClick !== undefined && handleClick !== null) {
|
|
151
|
-
|
|
152
|
-
polygon.on('click', ()
|
|
151
|
+
var onClick = function onClick() {
|
|
152
|
+
polygon.on('click', function () {
|
|
153
153
|
handleClick(polygon.kando_object_id);
|
|
154
|
-
|
|
154
|
+
var subject = 'Map View - Area clicked';
|
|
155
155
|
(0, _utils.sendAnalyticsEvent)(subject, 'map', {
|
|
156
156
|
area_id: area.area_id,
|
|
157
157
|
area_name: area.area_name
|
|
@@ -161,7 +161,7 @@ const createPolygon = (area, mapZoom, featureGroup, map, popupCreator, handleCli
|
|
|
161
161
|
onClick();
|
|
162
162
|
}
|
|
163
163
|
customAttributesForAreaPolygon(polygon, area);
|
|
164
|
-
|
|
164
|
+
var pattern = getPattern(area);
|
|
165
165
|
if (pattern) {
|
|
166
166
|
pattern === null || pattern === void 0 ? void 0 : pattern.addTo(map);
|
|
167
167
|
polygon.setStyle({
|
|
@@ -178,11 +178,11 @@ const createPolygon = (area, mapZoom, featureGroup, map, popupCreator, handleCli
|
|
|
178
178
|
return null;
|
|
179
179
|
};
|
|
180
180
|
exports.createPolygon = createPolygon;
|
|
181
|
-
|
|
181
|
+
var getPattern = function getPattern(area) {
|
|
182
182
|
if (area.is_assessment === false) {
|
|
183
183
|
return null;
|
|
184
184
|
}
|
|
185
|
-
|
|
185
|
+
var color = (0, _scoreToData.scoreToColor)(area.area_score);
|
|
186
186
|
return (0, _Patterns.assesmentPattern)(color);
|
|
187
187
|
};
|
|
188
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX3V0aWxzIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImFyZWFfaWQiLCJpZCIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwic2NvcmVUb0NvbG9yIiwiYXJlYV9zY29yZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsImV4cG9ydHMiLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsInBvbHlnb25UaXRsZSIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2x0aXAiLCJsYXllciIsIl9tYXAiLCJ1bmRlZmluZWQiLCJnZXRab29tIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsImhpZGVQb2x5Z29uIiwiYnJpbmdUb0JhY2siLCJzZXRTdHlsZSIsInN0cm9rZSIsInNob3dQb2x5Z29uIiwiYnJpbmdUb0Zyb250IiwiaGFuZGxlU3ViQXJlYXMiLCJzaG93IiwiZm9yRWFjaCIsInN1YkFyZWFJZCIsImVhY2hMYXllciIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJoYW5kbGVDbGljayIsInBhcmVudEFyZWFJZCIsIm9uQ2xpY2siLCJrYW5kb19vYmplY3RfaWQiLCJzdWJqZWN0Iiwic2VuZEFuYWx5dGljc0V2ZW50IiwicGF0dGVybiIsImdldFBhdHRlcm4iLCJhZGRUbyIsImZpbGxQYXR0ZXJuIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHNlbmRBbmFseXRpY3NFdmVudCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgYXNzZXNtZW50UGF0dGVybiB9IGZyb20gJy4vUGF0dGVybnMnO1xuXG5jb25zdCBnZXRBcmVhTmFtZSA9IChhcmVhKSA9PiB7XG4gIGxldCBuYW1lID0gYXJlYS5hcmVhX25hbWUgfHwgYXJlYS5uYW1lO1xuXG4gIHJldHVybiBuYW1lO1xufTtcblxuY29uc3QgZ2V0QXJlYUlkID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfaWQgfHwgYXJlYS5pZDtcblxuICByZXR1cm4gbmFtZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuXG4gIGFyZWFQb2x5Z29uID0gTC5wb2x5Z29uKGxhdGxuZ3MsIHtcbiAgICBjb2xvcixcbiAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgIHdlaWdodDogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMiA6IDAsXG4gICAgZmlsbDogZmFsc2UsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbHRpcCA9IChsYXllciwgYXJlYSkgPT4ge1xuICBjb25zdCBtYXBab29tID0gbGF5ZXIuX21hcCAhPT0gdW5kZWZpbmVkID8gbGF5ZXIuX21hcC5nZXRab29tKCkgOiAwO1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcbiAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbiAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChsYXllciwgbWFwWm9vbSk7XG59O1xuXG4vLyBUaGUgdG9vbHRpcCBpcyBzaG93aW5nIHRoZSBhcmVhIG5hbWVcbmV4cG9ydCBjb25zdCBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsID0gKHBvbHlnb24sIG1hcFpvb20pID0+IHtcbiAgaWYgKG1hcFpvb20gPiAxMSkge1xuICAgIGNvbnN0IHRvb2x0aXAgPSBwb2x5Z29uLmdldFRvb2x0aXAoKTtcbiAgICB0b29sdGlwLnNldENvbnRlbnQocG9seWdvblRpdGxlKHBvbHlnb24sIG1hcFpvb20pKTtcbiAgICBwb2x5Z29uLm9wZW5Ub29sdGlwKCk7XG4gIH0gZWxzZSB7XG4gICAgcG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICBtYXAsXG4gIGZlYXR1cmVHcm91cCxcbikgPT4ge1xuICBjb25zdCBkcmlsbERvd25Db25kaXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBlcmNlbnRhZ2UgPj0gem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biAmJlxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgJiZcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgYXJlYVBvbHlnb24uX21hcCAhPT0gbnVsbFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgaGlkZVBvbHlnb24gPSAocG9seWdvbjogUG9seWdvbikgPT4ge1xuICAgIHBvbHlnb24uYnJpbmdUb0JhY2soKTtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gdHJ1ZTtcbiAgICBwb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogZmFsc2UsXG4gICAgICBmaWxsOiBmYWxzZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzaG93UG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uLCBmaWxsOiBib29sZWFuKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvRnJvbnQoKTtcbiAgICBwb2x5Z29uWydoaWRkZW4nXSA9IGZhbHNlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgLy9zdHJva2U6IGZpbGwgPyBmYWxzZSA6IHRydWUsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsOiBmaWxsLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuNCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJBcmVhcyA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZm9yRWFjaCgoc3ViQXJlYUlkKSA9PiB7XG4gICAgICAgIGZlYXR1cmVHcm91cC5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyWydrYW5kb19vYmplY3RfaWQnXSA9PT0gc3ViQXJlYUlkKSB7XG4gICAgICAgICAgICBzaG93ID8gc2hvd1BvbHlnb24obGF5ZXIsIHRydWUpIDogaGlkZVBvbHlnb24obGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2hvdyB0aGUgYXJlYSB3aXRoIGJvcmRlciBvbmx5XG4gIC8vIE9yIGJhY2tncm91bmQgY29sb3JcbiAgaWYgKGRyaWxsRG93bkNvbmRpdGlvbigpKSB7XG4gICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIGZhbHNlKTtcbiAgICBhcmVhUG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgICBoYW5kbGVTdWJBcmVhcyh0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBoYW5kbGVTdWJBcmVhcyhmYWxzZSk7XG5cbiAgICBpZiAoIWFyZWFQb2x5Z29uWydoaWRkZW4nXSkge1xuICAgICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIHRydWUpO1xuICAgICAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChhcmVhUG9seWdvbiwgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCkpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHpvb21Db250cm9sRm9yQXJlYSA9IChhcmVhUG9seWdvbiwgYXJlYSwgbWFwLCBmZWF0dXJlR3JvdXApID0+IHtcbiAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgIGxldCBnZXRNYXBCb3VuZHMgPSBtYXAuZ2V0Qm91bmRzKCk7XG4gICAgbGV0IHBvbHlnb25Cb3VuZHMgPSBhcmVhUG9seWdvbi5nZXRCb3VuZHMoKTtcbiAgICBsZXQgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgPSBnZXRNYXBCb3VuZHMuaW50ZXJzZWN0cyhwb2x5Z29uQm91bmRzKTtcbiAgICBsZXQgbWFwQm91bmRzUG9seWdvbiA9IEwucG9seWdvbihbXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0U291dGhXZXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0Tm9ydGhXZXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0Tm9ydGhFYXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0U291dGhFYXN0KCksXG4gICAgXSk7XG5cbiAgICBsZXQgbWFwQm91bmRzID0gY2FsY3VsYXRlUG9seWdvbkFyZWEoXG4gICAgICBtYXBCb3VuZHNQb2x5Z29uLnRvR2VvSlNPTigpLmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdLFxuICAgICk7XG5cbiAgICBsZXQgYXJlYVN1cmZhY2UgPSBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ107XG4gICAgY29uc3Qgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biA9IDE1LjA7XG4gICAgY29uc3QgcGVyY2VudGFnZSA9IChhcmVhU3VyZmFjZSAvIG1hcEJvdW5kcykgKiAxMDA7XG5cbiAgICBkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhLFxuICAgICAgcGVyY2VudGFnZSxcbiAgICAgIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgICAgIG1hcCxcbiAgICAgIGZlYXR1cmVHcm91cCxcbiAgICApO1xuICB9KTtcbn07XG5cbmNvbnN0IGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiA9IChhcmVhUG9seWdvbiwgYXJlYSkgPT4ge1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBnZXRBcmVhSWQoYXJlYSk7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3QnXSA9ICdBcmVhJztcbiAgYXJlYVBvbHlnb25bJ2FyZWFfbmFtZSddID0gZ2V0QXJlYU5hbWUoYXJlYSk7XG4gIGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXSA9IGFyZWEuY2FsY3VsYXRlZF9zdXJmYWNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVBvbHlnb24gPSAoXG4gIGFyZWEsXG4gIG1hcFpvb20sXG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwLFxuICBtYXAsXG4gIHBvcHVwQ3JlYXRvcj86IChwb2x5Z29uLCBhcmVhKSA9PiB2b2lkLFxuICBoYW5kbGVDbGljaz8sXG4gIHBhcmVudEFyZWFJZD8sXG4pID0+IHtcbiAgbGV0IHBvbHlnb246IFBvbHlnb247XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIHBvbHlnb24gPSBnZW5lcmljUG9seWdvbihhcmVhLCBtYXBab29tKTtcblxuICAgIGlmIChoYW5kbGVDbGljayAhPT0gdW5kZWZpbmVkICYmIGhhbmRsZUNsaWNrICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBvbkNsaWNrID0gKCkgPT4ge1xuICAgICAgICBwb2x5Z29uLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBoYW5kbGVDbGljayhwb2x5Z29uLmthbmRvX29iamVjdF9pZCk7XG5cbiAgICAgICAgICBjb25zdCBzdWJqZWN0ID0gJ01hcCBWaWV3IC0gQXJlYSBjbGlja2VkJztcbiAgICAgICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoc3ViamVjdCwgJ21hcCcsIHtcbiAgICAgICAgICAgIGFyZWFfaWQ6IGFyZWEuYXJlYV9pZCxcbiAgICAgICAgICAgIGFyZWFfbmFtZTogYXJlYS5hcmVhX25hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIG9uQ2xpY2soKTtcbiAgICB9XG4gICAgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uKHBvbHlnb24sIGFyZWEpO1xuICAgIGNvbnN0IHBhdHRlcm4gPSBnZXRQYXR0ZXJuKGFyZWEpO1xuICAgIGlmIChwYXR0ZXJuKSB7XG4gICAgICBwYXR0ZXJuPy5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICAgIGZpbGxQYXR0ZXJuOiBwYXR0ZXJuLFxuICAgICAgICBjb2xvcjogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSksXG4gICAgICB9KTtcbiAgICB9XG4gICAgcG9seWdvbi5hZGRUbyhmZWF0dXJlR3JvdXApO1xuICAgIHBvcHVwQ3JlYXRvcihwb2x5Z29uLCBhcmVhKTtcbiAgICBiaW5kVG9vbHRpcChwb2x5Z29uLCBhcmVhKTtcbiAgICB6b29tQ29udHJvbEZvckFyZWEocG9seWdvbiwgYXJlYSwgbWFwLCBmZWF0dXJlR3JvdXApO1xuICAgIHJldHVybiBwb2x5Z29uO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcblxuY29uc3QgZ2V0UGF0dGVybiA9IChhcmVhKSA9PiB7XG4gIGlmIChhcmVhLmlzX2Fzc2Vzc21lbnQgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgY29sb3IgPSBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKTtcbiAgcmV0dXJuIGFzc2VzbWVudFBhdHRlcm4oY29sb3IpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBRUEsTUFBTUssV0FBVyxHQUFJQyxJQUFJLElBQUs7RUFDNUIsSUFBSUMsSUFBSSxHQUFHRCxJQUFJLENBQUNFLFNBQVMsSUFBSUYsSUFBSSxDQUFDQyxJQUFJO0VBRXRDLE9BQU9BLElBQUk7QUFDYixDQUFDO0FBRUQsTUFBTUUsU0FBUyxHQUFJSCxJQUFJLElBQUs7RUFDMUIsSUFBSUMsSUFBSSxHQUFHRCxJQUFJLENBQUNJLE9BQU8sSUFBSUosSUFBSSxDQUFDSyxFQUFFO0VBRWxDLE9BQU9KLElBQUk7QUFDYixDQUFDO0FBRU0sTUFBTUssY0FBYyxHQUFHQSxDQUFDTixJQUFJLEVBQUVPLE9BQU8sS0FBSztFQUMvQyxJQUFJQyxXQUFvQjtFQUN4QixJQUFJQyxPQUFPLEdBQUdULElBQUksQ0FBQ1UsVUFBVSxDQUFDQyxHQUFHLENBQUVDLFFBQWEsSUFBSztJQUNuRCxPQUFPLENBQUNBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRUEsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQzNDLENBQUMsQ0FBQztFQUVGLElBQUlILE9BQU8sQ0FBQ0ksTUFBTSxHQUFHLENBQUMsRUFBRTtFQUV4QixJQUFJQyxLQUFLLEdBQUdkLElBQUksQ0FBQ2MsS0FBSyxHQUFH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
|
|
188
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX3V0aWxzIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImFyZWFfaWQiLCJpZCIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwic2NvcmVUb0NvbG9yIiwiYXJlYV9zY29yZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsImV4cG9ydHMiLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsInBvbHlnb25UaXRsZSIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2x0aXAiLCJsYXllciIsIl9tYXAiLCJ1bmRlZmluZWQiLCJnZXRab29tIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsImhpZGVQb2x5Z29uIiwiYnJpbmdUb0JhY2siLCJzZXRTdHlsZSIsInN0cm9rZSIsInNob3dQb2x5Z29uIiwiYnJpbmdUb0Zyb250IiwiaGFuZGxlU3ViQXJlYXMiLCJzaG93IiwiZm9yRWFjaCIsInN1YkFyZWFJZCIsImVhY2hMYXllciIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJoYW5kbGVDbGljayIsInBhcmVudEFyZWFJZCIsIm9uQ2xpY2siLCJrYW5kb19vYmplY3RfaWQiLCJzdWJqZWN0Iiwic2VuZEFuYWx5dGljc0V2ZW50IiwicGF0dGVybiIsImdldFBhdHRlcm4iLCJhZGRUbyIsImZpbGxQYXR0ZXJuIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHNlbmRBbmFseXRpY3NFdmVudCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgYXNzZXNtZW50UGF0dGVybiB9IGZyb20gJy4vUGF0dGVybnMnO1xuXG5jb25zdCBnZXRBcmVhTmFtZSA9IChhcmVhKSA9PiB7XG4gIGxldCBuYW1lID0gYXJlYS5hcmVhX25hbWUgfHwgYXJlYS5uYW1lO1xuXG4gIHJldHVybiBuYW1lO1xufTtcblxuY29uc3QgZ2V0QXJlYUlkID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfaWQgfHwgYXJlYS5pZDtcblxuICByZXR1cm4gbmFtZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuXG4gIGFyZWFQb2x5Z29uID0gTC5wb2x5Z29uKGxhdGxuZ3MsIHtcbiAgICBjb2xvcixcbiAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgIHdlaWdodDogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMiA6IDAsXG4gICAgZmlsbDogZmFsc2UsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbHRpcCA9IChsYXllciwgYXJlYSkgPT4ge1xuICBjb25zdCBtYXBab29tID0gbGF5ZXIuX21hcCAhPT0gdW5kZWZpbmVkID8gbGF5ZXIuX21hcC5nZXRab29tKCkgOiAwO1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcbiAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbiAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChsYXllciwgbWFwWm9vbSk7XG59O1xuXG4vLyBUaGUgdG9vbHRpcCBpcyBzaG93aW5nIHRoZSBhcmVhIG5hbWVcbmV4cG9ydCBjb25zdCBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsID0gKHBvbHlnb24sIG1hcFpvb20pID0+IHtcbiAgaWYgKG1hcFpvb20gPiAxMSkge1xuICAgIGNvbnN0IHRvb2x0aXAgPSBwb2x5Z29uLmdldFRvb2x0aXAoKTtcbiAgICB0b29sdGlwLnNldENvbnRlbnQocG9seWdvblRpdGxlKHBvbHlnb24sIG1hcFpvb20pKTtcbiAgICBwb2x5Z29uLm9wZW5Ub29sdGlwKCk7XG4gIH0gZWxzZSB7XG4gICAgcG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICBtYXAsXG4gIGZlYXR1cmVHcm91cCxcbikgPT4ge1xuICBjb25zdCBkcmlsbERvd25Db25kaXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBlcmNlbnRhZ2UgPj0gem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biAmJlxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgJiZcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgYXJlYVBvbHlnb24uX21hcCAhPT0gbnVsbFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgaGlkZVBvbHlnb24gPSAocG9seWdvbjogUG9seWdvbikgPT4ge1xuICAgIHBvbHlnb24uYnJpbmdUb0JhY2soKTtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gdHJ1ZTtcbiAgICBwb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogZmFsc2UsXG4gICAgICBmaWxsOiBmYWxzZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzaG93UG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uLCBmaWxsOiBib29sZWFuKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvRnJvbnQoKTtcbiAgICBwb2x5Z29uWydoaWRkZW4nXSA9IGZhbHNlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgLy9zdHJva2U6IGZpbGwgPyBmYWxzZSA6IHRydWUsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsOiBmaWxsLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuNCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJBcmVhcyA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZm9yRWFjaCgoc3ViQXJlYUlkKSA9PiB7XG4gICAgICAgIGZlYXR1cmVHcm91cC5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyWydrYW5kb19vYmplY3RfaWQnXSA9PT0gc3ViQXJlYUlkKSB7XG4gICAgICAgICAgICBzaG93ID8gc2hvd1BvbHlnb24obGF5ZXIsIHRydWUpIDogaGlkZVBvbHlnb24obGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2hvdyB0aGUgYXJlYSB3aXRoIGJvcmRlciBvbmx5XG4gIC8vIE9yIGJhY2tncm91bmQgY29sb3JcbiAgaWYgKGRyaWxsRG93bkNvbmRpdGlvbigpKSB7XG4gICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIGZhbHNlKTtcbiAgICBhcmVhUG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgICBoYW5kbGVTdWJBcmVhcyh0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBoYW5kbGVTdWJBcmVhcyhmYWxzZSk7XG5cbiAgICBpZiAoIWFyZWFQb2x5Z29uWydoaWRkZW4nXSkge1xuICAgICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIHRydWUpO1xuICAgICAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChhcmVhUG9seWdvbiwgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCkpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHpvb21Db250cm9sRm9yQXJlYSA9IChhcmVhUG9seWdvbiwgYXJlYSwgbWFwLCBmZWF0dXJlR3JvdXApID0+IHtcbiAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgIGxldCBnZXRNYXBCb3VuZHMgPSBtYXAuZ2V0Qm91bmRzKCk7XG4gICAgbGV0IHBvbHlnb25Cb3VuZHMgPSBhcmVhUG9seWdvbi5nZXRCb3VuZHMoKTtcbiAgICBsZXQgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgPSBnZXRNYXBCb3VuZHMuaW50ZXJzZWN0cyhwb2x5Z29uQm91bmRzKTtcbiAgICBsZXQgbWFwQm91bmRzUG9seWdvbiA9IEwucG9seWdvbihbXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0U291dGhXZXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0Tm9ydGhXZXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0Tm9ydGhFYXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0U291dGhFYXN0KCksXG4gICAgXSk7XG5cbiAgICBsZXQgbWFwQm91bmRzID0gY2FsY3VsYXRlUG9seWdvbkFyZWEoXG4gICAgICBtYXBCb3VuZHNQb2x5Z29uLnRvR2VvSlNPTigpLmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdLFxuICAgICk7XG5cbiAgICBsZXQgYXJlYVN1cmZhY2UgPSBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ107XG4gICAgY29uc3Qgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biA9IDE1LjA7XG4gICAgY29uc3QgcGVyY2VudGFnZSA9IChhcmVhU3VyZmFjZSAvIG1hcEJvdW5kcykgKiAxMDA7XG5cbiAgICBkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhLFxuICAgICAgcGVyY2VudGFnZSxcbiAgICAgIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgICAgIG1hcCxcbiAgICAgIGZlYXR1cmVHcm91cCxcbiAgICApO1xuICB9KTtcbn07XG5cbmNvbnN0IGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiA9IChhcmVhUG9seWdvbiwgYXJlYSkgPT4ge1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBnZXRBcmVhSWQoYXJlYSk7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3QnXSA9ICdBcmVhJztcbiAgYXJlYVBvbHlnb25bJ2FyZWFfbmFtZSddID0gZ2V0QXJlYU5hbWUoYXJlYSk7XG4gIGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXSA9IGFyZWEuY2FsY3VsYXRlZF9zdXJmYWNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVBvbHlnb24gPSAoXG4gIGFyZWEsXG4gIG1hcFpvb20sXG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwLFxuICBtYXAsXG4gIHBvcHVwQ3JlYXRvcj86IChwb2x5Z29uLCBhcmVhKSA9PiB2b2lkLFxuICBoYW5kbGVDbGljaz8sXG4gIHBhcmVudEFyZWFJZD8sXG4pID0+IHtcbiAgbGV0IHBvbHlnb246IFBvbHlnb247XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIHBvbHlnb24gPSBnZW5lcmljUG9seWdvbihhcmVhLCBtYXBab29tKTtcblxuICAgIGlmIChoYW5kbGVDbGljayAhPT0gdW5kZWZpbmVkICYmIGhhbmRsZUNsaWNrICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBvbkNsaWNrID0gKCkgPT4ge1xuICAgICAgICBwb2x5Z29uLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBoYW5kbGVDbGljayhwb2x5Z29uLmthbmRvX29iamVjdF9pZCk7XG5cbiAgICAgICAgICBjb25zdCBzdWJqZWN0ID0gJ01hcCBWaWV3IC0gQXJlYSBjbGlja2VkJztcbiAgICAgICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoc3ViamVjdCwgJ21hcCcsIHtcbiAgICAgICAgICAgIGFyZWFfaWQ6IGFyZWEuYXJlYV9pZCxcbiAgICAgICAgICAgIGFyZWFfbmFtZTogYXJlYS5hcmVhX25hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIG9uQ2xpY2soKTtcbiAgICB9XG4gICAgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uKHBvbHlnb24sIGFyZWEpO1xuICAgIGNvbnN0IHBhdHRlcm4gPSBnZXRQYXR0ZXJuKGFyZWEpO1xuICAgIGlmIChwYXR0ZXJuKSB7XG4gICAgICBwYXR0ZXJuPy5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICAgIGZpbGxQYXR0ZXJuOiBwYXR0ZXJuLFxuICAgICAgICBjb2xvcjogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSksXG4gICAgICB9KTtcbiAgICB9XG4gICAgcG9seWdvbi5hZGRUbyhmZWF0dXJlR3JvdXApO1xuICAgIHBvcHVwQ3JlYXRvcihwb2x5Z29uLCBhcmVhKTtcbiAgICBiaW5kVG9vbHRpcChwb2x5Z29uLCBhcmVhKTtcbiAgICB6b29tQ29udHJvbEZvckFyZWEocG9seWdvbiwgYXJlYSwgbWFwLCBmZWF0dXJlR3JvdXApO1xuICAgIHJldHVybiBwb2x5Z29uO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcblxuY29uc3QgZ2V0UGF0dGVybiA9IChhcmVhKSA9PiB7XG4gIGlmIChhcmVhLmlzX2Fzc2Vzc21lbnQgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgY29sb3IgPSBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKTtcbiAgcmV0dXJuIGFzc2VzbWVudFBhdHRlcm4oY29sb3IpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBRUEsSUFBTUssV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLElBQUksRUFBSztFQUM1QixJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsU0FBUyxJQUFJRixJQUFJLENBQUNDLElBQUk7RUFFdEMsT0FBT0EsSUFBSTtBQUNiLENBQUM7QUFFRCxJQUFNRSxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBSUgsSUFBSSxFQUFLO0VBQzFCLElBQUlDLElBQUksR0FBR0QsSUFBSSxDQUFDSSxPQUFPLElBQUlKLElBQUksQ0FBQ0ssRUFBRTtFQUVsQyxPQUFPSixJQUFJO0FBQ2IsQ0FBQztBQUVNLElBQU1LLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSU4sSUFBSSxFQUFFTyxPQUFPLEVBQUs7RUFDL0MsSUFBSUMsV0FBb0I7RUFDeEIsSUFBSUMsT0FBTyxHQUFHVCxJQUFJLENBQUNVLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLFFBQWEsRUFBSztJQUNuRCxPQUFPLENBQUNBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRUEsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQzNDLENBQUMsQ0FBQztFQUVGLElBQUlILE9BQU8sQ0FBQ0ksTUFBTSxHQUFHLENB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
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.assesmentPattern = void 0;
|
|
8
8
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
9
9
|
require("leaflet.pattern");
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
var assesmentPattern = function assesmentPattern(color) {
|
|
11
|
+
var shape = new _leaflet.default.PatternCircle({
|
|
12
12
|
x: 3,
|
|
13
13
|
y: 3,
|
|
14
14
|
radius: 1,
|
|
@@ -17,7 +17,7 @@ const assesmentPattern = color => {
|
|
|
17
17
|
fillOpacity: 1,
|
|
18
18
|
stroke: true
|
|
19
19
|
});
|
|
20
|
-
|
|
20
|
+
var pattern = new _leaflet.default.Pattern({
|
|
21
21
|
width: 20,
|
|
22
22
|
height: 20
|
|
23
23
|
});
|
|
@@ -25,4 +25,4 @@ const assesmentPattern = color => {
|
|
|
25
25
|
return pattern;
|
|
26
26
|
};
|
|
27
27
|
exports.assesmentPattern = assesmentPattern;
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiYXNzZXNtZW50UGF0dGVybiIsImNvbG9yIiwic2hhcGUiLCJMIiwiUGF0dGVybkNpcmNsZSIsIngiLCJ5IiwicmFkaXVzIiwiZmlsbCIsImZpbGxPcGFjaXR5Iiwic3Ryb2tlIiwicGF0dGVybiIsIlBhdHRlcm4iLCJ3aWR0aCIsImhlaWdodCIsImFkZFNoYXBlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9QYXR0ZXJucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnbGVhZmxldC5wYXR0ZXJuJztcblxuZXhwb3J0IGNvbnN0IGFzc2VzbWVudFBhdHRlcm4gPSAoY29sb3I6IHN0cmluZykgPT4ge1xuICBjb25zdCBzaGFwZSA9IG5ldyBMLlBhdHRlcm5DaXJjbGUoe1xuICAgIHg6IDMsXG4gICAgeTogMyxcbiAgICByYWRpdXM6IDEsXG4gICAgZmlsbDogdHJ1ZSxcbiAgICBjb2xvcjogY29sb3IsXG4gICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgc3Ryb2tlOiB0cnVlLFxuICB9KTtcbiAgY29uc3QgcGF0dGVybiA9IG5ldyBMLlBhdHRlcm4oeyB3aWR0aDogMjAsIGhlaWdodDogMjAgfSk7XG4gIHBhdHRlcm4uYWRkU2hhcGUoc2hhcGUpO1xuXG4gIHJldHVybiBwYXR0ZXJuO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBRU8sSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsS0FBYSxFQUFLO0VBQ2pELElBQU1DLEtBQUssR0FBRyxJQUFJQyxnQkFBQyxDQUFDQyxhQUFhLENBQUM7SUFDaENDLENBQUMsRUFBRSxDQUFDO0lBQ0pDLENBQUMsRUFBRSxDQUFDO0lBQ0pDLE1BQU0sRUFBRSxDQUFDO0lBQ1RDLElBQUksRUFBRSxJQUFJO0lBQ1ZQLEtBQUssRUFBRUEsS0FBSztJQUNaUSxXQUFXLEVBQUUsQ0FBQztJQUNkQyxNQUFNLEVBQUU7RUFDVixDQUFDLENBQUM7RUFDRixJQUFNQyxPQUFPLEdBQUcsSUFBSVIsZ0JBQUMsQ0FBQ1MsT0FBTyxDQUFDO0lBQUVDLEtBQUssRUFBRSxFQUFFO0lBQUVDLE1BQU0sRUFBRTtFQUFHLENBQUMsQ0FBQztFQUN4REgsT0FBTyxDQUFDSSxRQUFRLENBQUNiLEtBQUssQ0FBQztFQUV2QixPQUFPUyxPQUFPO0FBQ2hCLENBQUM7QUFBQ0ssT0FBQSxDQUFBaEIsZ0JBQUEsR0FBQUEsZ0JBQUEifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -10,31 +10,39 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _reactRedux = require("react-redux");
|
|
11
11
|
require("./Edge.scss");
|
|
12
12
|
var _actions = require("../../../store/events/actions");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
13
|
+
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); }
|
|
14
|
+
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; }
|
|
15
|
+
var Edge = function Edge(_ref) {
|
|
16
|
+
var L = _ref.L,
|
|
17
|
+
map = _ref.map,
|
|
18
|
+
edge = _ref.edge,
|
|
19
|
+
points = _ref.points,
|
|
20
|
+
_ref$hideEdges = _ref.hideEdges,
|
|
21
|
+
hideEdges = _ref$hideEdges === void 0 ? false : _ref$hideEdges,
|
|
22
|
+
_ref$allowUnmonitored = _ref.allowUnmonitoredDescendants,
|
|
23
|
+
allowUnmonitoredDescendants = _ref$allowUnmonitored === void 0 ? false : _ref$allowUnmonitored,
|
|
24
|
+
specificEvent = _ref.specificEvent;
|
|
25
|
+
var dispatch = (0, _reactRedux.useDispatch)();
|
|
26
|
+
var shapeDataExist = function shapeDataExist() {
|
|
27
|
+
return Object.keys(edge.shape_data).length !== 0 && edge.shape_data.find(function (data) {
|
|
28
|
+
return data.lat === null || data.lng === null;
|
|
29
|
+
}) === undefined;
|
|
26
30
|
};
|
|
27
|
-
(0, _react.useEffect)(()
|
|
31
|
+
(0, _react.useEffect)(function () {
|
|
28
32
|
if (shapeDataExist()) {
|
|
29
|
-
|
|
30
|
-
edge.shape_data.forEach(data
|
|
33
|
+
var latlngs = [];
|
|
34
|
+
edge.shape_data.forEach(function (data) {
|
|
31
35
|
latlngs.push([data.lat, data.lng]);
|
|
32
36
|
});
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
var sourcePoint = points.filter(function (point) {
|
|
38
|
+
return point.id === edge.source_point_id;
|
|
39
|
+
});
|
|
40
|
+
var targetPoint = points.filter(function (point) {
|
|
41
|
+
return point.id === edge.target_point_id;
|
|
42
|
+
});
|
|
35
43
|
if (points.length === 0) return;
|
|
36
44
|
if (sourcePoint[0] === undefined || targetPoint[0] === undefined) return;
|
|
37
|
-
|
|
45
|
+
var polylineBack = L.polyline(latlngs, {
|
|
38
46
|
color: 'rgb(227,227,227)',
|
|
39
47
|
weight: 6,
|
|
40
48
|
opacity: hideEdges ? 0 : 1
|
|
@@ -43,7 +51,7 @@ const Edge = _ref => {
|
|
|
43
51
|
polylineBack['kando_object_id'] = edge.id;
|
|
44
52
|
polylineBack['kando_object'] = 'Edge';
|
|
45
53
|
polylineBack.bringToFront();
|
|
46
|
-
|
|
54
|
+
var polylineFront = L.polyline(latlngs, {
|
|
47
55
|
color: 'rgb(29,29,29)',
|
|
48
56
|
weight: hideEdges ? 0 : 1,
|
|
49
57
|
opacity: hideEdges ? 0 : 1
|
|
@@ -58,6 +66,7 @@ const Edge = _ref => {
|
|
|
58
66
|
}, [edge, specificEvent]);
|
|
59
67
|
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
60
68
|
};
|
|
61
|
-
|
|
62
|
-
var _default =
|
|
63
|
-
|
|
69
|
+
var connector = (0, _reactRedux.connect)(null);
|
|
70
|
+
var _default = connector(Edge);
|
|
71
|
+
exports.default = _default;
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwicHVzaCIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJhZGRUbyIsImJpbmRQb3B1cCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsImRpc3RhbmNlIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJjcmVhdGVFbGVtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9lZGdlcy9FZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0ICcuL0VkZ2Uuc2Nzcyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBlZGdlOiBJRWRnZTtcbiAgcG9pbnRzOiBhbnk7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIHNwZWNpZmljRXZlbnQ/OiBJRXZlbnQ7XG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz86IGJvb2xlYW47XG59O1xuXG5jb25zdCBFZGdlOiBSZWFjdC5GQzxQcm9wcz4gPSAoe1xuICBMLFxuICBtYXAsXG4gIGVkZ2UsXG4gIHBvaW50cyxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyA9IGZhbHNlLFxuICBzcGVjaWZpY0V2ZW50LFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHNoYXBlRGF0YUV4aXN0ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZpbmQoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEubGF0ID09PSBudWxsIHx8IGRhdGEubG5nID09PSBudWxsLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaGFwZURhdGFFeGlzdCgpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogNixcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnRbMF0uZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludFswXS5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuXG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRWRnZSc7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgICB3ZWlnaHQ6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICBvcGFjaXR5OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgICBpZiAoc3BlY2lmaWNFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGdlLCBzcGVjaWZpY0V2ZW50XSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFZGdlKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBR0FBLE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFBb0UsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxT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
|