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