@kando-env/kando-ui 1.2.297 → 1.2.298
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 +36 -75
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +24 -35
- package/lib/Widgets/EventsRow/EventsRow.js +26 -39
- package/lib/Widgets/Map/GraphUtils.js +4 -6
- package/lib/Widgets/Map/Map.js +65 -81
- package/lib/Widgets/Map/MapUtils.js +41 -41
- package/lib/Widgets/Map/areas/AreaPolygon.js +52 -93
- package/lib/Widgets/Map/areas/AreaPolygons.js +25 -31
- package/lib/Widgets/Map/areas/AreaUtils.js +45 -45
- package/lib/Widgets/Map/edges/Edge.js +24 -33
- package/lib/Widgets/Map/edges/Edges.js +20 -26
- package/lib/Widgets/Map/edges/arrows/Arrows.js +24 -45
- package/lib/Widgets/Map/events/Event.js +17 -18
- package/lib/Widgets/Map/events/EventIndicator.js +58 -55
- package/lib/Widgets/Map/events/EventPath.js +25 -25
- package/lib/Widgets/Map/events/EventUtils.js +56 -80
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +16 -16
- package/lib/Widgets/Map/events/PointOfEvent.js +26 -31
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +28 -36
- package/lib/Widgets/Map/events/Snail.js +19 -21
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +94 -90
- package/lib/Widgets/Map/map/FloatingGraph.js +24 -21
- package/lib/Widgets/Map/map/GraphDateButton.js +27 -20
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +17 -16
- package/lib/Widgets/Map/points/PointIcon.js +17 -16
- package/lib/Widgets/Map/points/PointMarker.js +67 -97
- package/lib/Widgets/Map/points/PointMarkers.js +45 -67
- package/lib/Widgets/Map/points/PointUtils.js +55 -65
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +27 -45
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +14 -18
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +10 -12
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +4 -6
- package/lib/Widgets/MostPolluting/Areas/Areas.js +28 -58
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -4
- package/lib/Widgets/MostPolluting/Areas/styles.js +4 -6
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +12 -9
- package/lib/Widgets/MostPolluting/Factories/Factories.js +33 -65
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +13 -11
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +4 -6
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -3
- package/lib/Widgets/MostPolluting/Factories/styles.js +4 -6
- package/lib/Widgets/MostPolluting/MostPolluting.js +18 -24
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +20 -32
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +7 -5
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +7 -6
- package/lib/Widgets/MostPolluting/assets/index.js +11 -11
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +20 -14
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +36 -31
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +44 -34
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +40 -36
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +53 -49
- package/lib/Widgets/MostPolluting/styles.js +4 -6
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +8 -6
- package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
- package/lib/Widgets/PotentialImpactSummary/index.js +20 -28
- package/lib/Widgets/PotentialImpactSummary/index.test.js +48 -54
- package/lib/Widgets/PotentialImpactSummary/styles.js +8 -13
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +10 -8
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +23 -18
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +36 -33
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +27 -25
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -38
- package/lib/Widgets/QualitySummary/QualitySummary.js +10 -14
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -7
- package/lib/Widgets/QualitySummary/styles.js +20 -19
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -14
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +30 -26
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +25 -43
- package/lib/Widgets/UtilityInformation/styles.js +31 -29
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -5
- package/lib/assets/icons/TopNavbar/index.js +6 -6
- package/lib/assets/icons/TrendSvg.js +7 -7
- 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 +10 -11
- package/lib/components/ApplyButton/index.js +3 -4
- package/lib/components/Backdrop/Backdrop.js +7 -5
- package/lib/components/ContentLoader/ContentLoader.js +12 -10
- package/lib/components/ContentLoader/index.js +1 -1
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -12
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +5 -9
- package/lib/components/CustomInputs/DoubleTabs/styles.js +21 -16
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +12 -20
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +7 -6
- package/lib/components/CustomInputs/Search/Search.js +40 -63
- package/lib/components/CustomInputs/Search/index.js +3 -4
- package/lib/components/CustomInputs/Select/Select.js +42 -56
- package/lib/components/CustomInputs/Select/Select.stories.js +6 -10
- package/lib/components/DamageType/DamageType.js +35 -60
- package/lib/components/DamageType/index.js +3 -4
- package/lib/components/DataLoaderError/DataLoaderError.js +9 -7
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +11 -13
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +71 -72
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +28 -40
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +12 -16
- package/lib/components/DischargeHeatmap/index.js +3 -4
- package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -4
- package/lib/components/DischargeHeatmap/popupText.js +11 -12
- package/lib/components/DischargeHeatmap/titles.js +4 -6
- package/lib/components/ErrorBoundary.js +27 -42
- package/lib/components/Events/Events.js +29 -48
- package/lib/components/Events/index.js +3 -4
- package/lib/components/Graph/Graph.js +70 -91
- package/lib/components/Graph/index.js +3 -4
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +19 -24
- package/lib/components/Header/Breadcrumbs/index.js +3 -4
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +18 -28
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +5 -9
- package/lib/components/Header/DoubleTabs/styles.js +5 -8
- package/lib/components/Header/Header.js +3 -3
- package/lib/components/Header/Header.stories.js +5 -9
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +24 -24
- package/lib/components/Header/InfoBar/InfoBar.js +42 -35
- package/lib/components/Header/InfoBar/Search/Control.js +11 -12
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +8 -7
- package/lib/components/Header/InfoBar/Search/Search.js +15 -22
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +16 -30
- package/lib/components/Header/InfoBar/Search/index.js +3 -4
- package/lib/components/Header/InfoBar/Search/searchStyle.js +42 -51
- package/lib/components/Header/InfoBar/TimeFilter.js +13 -17
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +63 -90
- package/lib/components/Header/KandoNavbar/index.js +3 -4
- package/lib/components/Header/Slideshow/Slideshow.js +67 -91
- package/lib/components/Header/Slideshow/index.js +3 -4
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +7 -5
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +22 -24
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +14 -14
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +27 -33
- package/lib/components/Header/Toolbar/Toolbar.js +56 -76
- package/lib/components/InfoBar/InfoBar.js +10 -24
- package/lib/components/InfoBar/InfoBar.stories.js +5 -9
- package/lib/components/KandoModal/KandoModal.js +24 -40
- package/lib/components/KandoModal/index.js +3 -4
- package/lib/components/Link.js +9 -8
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +10 -9
- package/lib/components/Links/StyledLink/StyledLink.js +13 -14
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +12 -12
- package/lib/components/LiveEvents/CarouselSlide.js +11 -10
- package/lib/components/LiveEvents/LiveEvents.js +7 -6
- package/lib/components/LiveEvents/index.js +3 -4
- package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -30
- package/lib/components/Map/Map.js +20 -25
- package/lib/components/Map/index.js +3 -4
- package/lib/components/Modal/Modal.js +10 -10
- package/lib/components/NarrowHeader.js +18 -32
- package/lib/components/PointInfo/PointInfo.js +20 -19
- package/lib/components/PointInfo/index.js +3 -4
- package/lib/components/PopupModal/PopupModal.js +13 -17
- package/lib/components/PopupModal/PopupModal.stories.js +17 -24
- package/lib/components/Sector/Sector.js +10 -9
- package/lib/components/Sector/Sector.test.js +20 -21
- package/lib/components/Sector/index.js +3 -4
- package/lib/components/Sector/sectorIcons.js +4 -5
- package/lib/components/SevereEvent/Eta/Eta.js +49 -54
- package/lib/components/SevereEvent/Eta/styles.js +11 -8
- package/lib/components/SevereEvent/SevereEvent.js +27 -35
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +6 -11
- package/lib/components/Spinner/index.js +3 -4
- package/lib/components/Spinner/styles.js +21 -16
- package/lib/components/Tabs/Tabs.js +18 -29
- package/lib/components/Tabs/Tabs.stories.js +6 -10
- package/lib/components/Tabs/assets/index.js +5 -5
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +13 -18
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +35 -48
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +20 -34
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +3 -4
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +17 -22
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -14
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +3 -4
- package/lib/components/TimeRangeSelector/TimeRangeList.js +24 -27
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -27
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +29 -32
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +6 -10
- package/lib/components/TimeRangeSelector/constants.js +3 -5
- package/lib/components/TimeRangeSelector/index.js +3 -4
- package/lib/components/Toggle/Toggle.js +11 -18
- package/lib/components/Toggle/index.js +3 -4
- package/lib/components/TrendGraph/TrendGraph.js +24 -42
- package/lib/components/TrendGraph/index.js +3 -4
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +26 -33
- package/lib/components/TrendGraphNVL/index.js +3 -4
- package/lib/development-environment/index.js +9 -13
- package/lib/development-environment/mock/browser.js +2 -5
- package/lib/development-environment/mock/get.js +8 -10
- package/lib/development-environment/mock/handlers.js +2 -3
- package/lib/development-environment/mock/mockBus.js +4 -5
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -3
- package/lib/development-environment/mock/mockObjects/areasJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -3
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -3
- package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -3
- package/lib/development-environment/mock/mockObjects/data-search.js +2 -3
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -3
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -3
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/metascore.js +2 -3
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/site-info.js +2 -3
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -3
- package/lib/development-environment/togly/ToglyDashboard.js +13 -23
- package/lib/development-environment/togly/ToglyItem.js +25 -29
- package/lib/development-environment/togly/init.js +3 -3
- package/lib/development-environment/togly/macro.js +13 -9
- package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
- package/lib/development-environment/togly/useLocalStorage.js +13 -18
- package/lib/hooks/useApi.js +20 -56
- package/lib/hooks/useApiWithDashboardQuery.js +29 -48
- package/lib/hooks/useClickOutside.js +4 -5
- package/lib/hooks/useInitializeHeaders.js +6 -6
- package/lib/hooks/useKandoFetch.js +17 -31
- package/lib/hooks/useMap.js +25 -37
- package/lib/hooks/useNavContext.js +22 -26
- package/lib/hooks/useQueryURL.js +2 -3
- package/lib/hooks/useRemoveExistingLayers.js +7 -8
- package/lib/hooks/useUpdateEventBodyTail.js +14 -19
- package/lib/hooks/useUserTimeZone.js +32 -29
- package/lib/hooks/useUserTimeZone.test.js +19 -23
- package/lib/hooks/useWindowSize.js +7 -14
- package/lib/index.js +11 -13
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/AreaPage.js +28 -64
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +14 -16
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +16 -19
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +16 -28
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +7 -7
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +34 -68
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +10 -10
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +4 -6
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -3
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +5 -8
- package/lib/pages/AssessmentPage/AssessmentPage.js +38 -46
- package/lib/pages/CannyWidget/Feedback.js +14 -16
- package/lib/pages/CovidPage/CovidPage.js +9 -16
- package/lib/pages/CovidPage/components/Body.js +26 -30
- package/lib/pages/CovidPage/components/Map.js +28 -40
- package/lib/pages/CovidPage/components/Sidebar.js +15 -16
- package/lib/pages/CovidPage/components/Summary.js +20 -29
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +26 -33
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +3 -4
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +52 -76
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +3 -4
- package/lib/pages/CovidPage/components/areas/Area.js +24 -36
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +45 -46
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -36
- package/lib/pages/CovidPage/components/areas/AreasList.js +29 -42
- package/lib/pages/CovidPage/components/areas/Sort.js +12 -17
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +25 -26
- package/lib/pages/DashboardMap/FactoryCard.js +24 -20
- package/lib/pages/DashboardMap/HighchartsOptions.js +6 -5
- package/lib/pages/DashboardMap/List.js +41 -53
- package/lib/pages/DashboardMap/ListContext.js +14 -19
- package/lib/pages/DashboardMap/Loader.js +3 -3
- package/lib/pages/DashboardMap/WWTPMap.js +39 -53
- package/lib/pages/DashboardMap/Widget.js +46 -71
- package/lib/pages/DashboardMap/index.js +3 -4
- package/lib/pages/DashboardMap/utils.js +19 -24
- package/lib/pages/EventsPage/Body/Body.js +21 -18
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -20
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -36
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +10 -9
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +13 -10
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +22 -31
- package/lib/pages/EventsPage/DragAndDropArea/index.js +3 -4
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +52 -64
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +17 -23
- package/lib/pages/EventsPage/EventsPage.js +8 -13
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +27 -41
- package/lib/pages/EventsPage/events/MoreInfo.js +18 -19
- package/lib/pages/EventsPage/events/Sidebar.js +22 -19
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +31 -38
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +34 -32
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +42 -43
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
- package/lib/pages/EventsPage/events/event_info/EventSection.js +15 -18
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +44 -39
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -50
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +8 -7
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +29 -34
- package/lib/pages/EventsPage/events/event_info/Header/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -7
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +30 -39
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +6 -9
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +16 -25
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +4 -4
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +23 -24
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +12 -11
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +11 -10
- package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +13 -10
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +28 -19
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +35 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +7 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +11 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +7 -6
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +9 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +12 -11
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +8 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +13 -12
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterConsumptionPerDay.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +9 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +19 -18
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +6 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +12 -11
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +15 -13
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +4 -5
- package/lib/pages/EventsPage/events/event_info/Timelines/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +4 -6
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +17 -26
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -40
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +30 -39
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +13 -12
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +17 -20
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -31
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +22 -27
- package/lib/pages/EventsPage/events/event_info/styles.js +21 -15
- package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -21
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
- package/lib/pages/EventsPage/events/events_list/EventsList.js +115 -139
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +39 -56
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +73 -111
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +53 -72
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +39 -44
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +30 -39
- package/lib/pages/EventsPage/events/events_list/Sort.js +14 -19
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +14 -22
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +9 -8
- package/lib/pages/ImportFileWizard/ImportFile.js +21 -25
- package/lib/pages/ImportFileWizard/ResponseBody.js +26 -36
- package/lib/pages/ImportFileWizard/ValidationForm.js +22 -22
- package/lib/pages/ImportFileWizard/ValidationResponse.js +23 -25
- package/lib/pages/ImportFileWizard/importFileUtils.js +4 -5
- package/lib/pages/ImportFileWizard/index.js +3 -4
- package/lib/pages/ImportGisPage/ImportGisContainer.js +22 -27
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +23 -26
- package/lib/pages/ImportGisPage/importGisUtils.js +15 -24
- package/lib/pages/ImportGisProcess/index.js +14 -18
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -13
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +18 -20
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +28 -58
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +8 -12
- package/lib/pages/NotificationsPage/Notification/Notification.js +17 -13
- package/lib/pages/NotificationsPage/Notifications.mock.js +2 -3
- package/lib/pages/NotificationsPage/Notifications.stories.js +6 -10
- package/lib/pages/NotificationsPage/NotificationsPage.js +19 -38
- package/lib/pages/NotificationsPage/assets/index.js +9 -9
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +71 -97
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +95 -65
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +127 -140
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +72 -74
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +90 -87
- package/lib/pages/NotificationsPageV2/notificationUtils.js +40 -39
- package/lib/pages/OldSitePage/OldSitePage.js +56 -132
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +6 -10
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -9
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -7
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +19 -21
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +10 -12
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -19
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +17 -13
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -9
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -16
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -64
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +10 -8
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -54
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -19
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +27 -23
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +28 -30
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +5 -8
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +16 -12
- package/lib/pages/ProfilePage/Container.js +3 -4
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +23 -40
- package/lib/pages/ProfilePage/ProfilePage.js +111 -200
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -34
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +23 -26
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -119
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +18 -23
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +14 -13
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -43
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +27 -29
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +18 -19
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +15 -18
- package/lib/pages/SamplingsPage/DesktopActions/index.js +3 -4
- package/lib/pages/SamplingsPage/NavigationDropdown.js +43 -31
- package/lib/pages/SamplingsPage/NewSamplingAction.js +75 -102
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +124 -98
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +23 -25
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +36 -25
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +34 -59
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +16 -21
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +10 -9
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +107 -192
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +47 -54
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +42 -39
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +42 -39
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +21 -28
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +4 -6
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +11 -7
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +50 -52
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +22 -31
- package/lib/pages/SamplingsPage/SamplingsPage.js +25 -33
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +49 -58
- package/lib/pages/SamplingsPage/index.js +2 -3
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -92
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +7 -5
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -9
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +10 -9
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +27 -24
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +15 -18
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +37 -33
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +10 -12
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -25
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +17 -13
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -9
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -16
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -71
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +10 -8
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -27
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -9
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -19
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +10 -11
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +30 -40
- package/lib/pages/SitePage/SamplingParameters/body/index.js +3 -4
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -12
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -12
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +31 -40
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +5 -8
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +16 -12
- package/lib/pages/SitePage/SiteInformation/ContributorItem.js +11 -10
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +13 -10
- package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +13 -13
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +34 -46
- package/lib/pages/SitePage/SiteInformation/style.js +16 -12
- package/lib/pages/SitePage/SitePage.js +29 -70
- package/lib/pages/UploadLabResult/index.js +15 -16
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +27 -37
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +8 -13
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +11 -15
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +5 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -50
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +11 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +6 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +11 -10
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +16 -13
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +8 -9
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +3 -4
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +15 -23
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +28 -40
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +14 -16
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +6 -14
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +23 -32
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
- package/lib/pages/WbeDashboard/GraphWrapper.js +28 -35
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +16 -19
- package/lib/pages/WbeDashboard/SearchInput.js +15 -21
- package/lib/pages/WbeDashboard/SummaryGraph.js +50 -77
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +20 -18
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +144 -207
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +39 -48
- package/lib/pages/WwtpPage/ContaminateCard.js +4 -5
- package/lib/pages/WwtpPage/DashboardCard.js +25 -23
- package/lib/pages/WwtpPage/DischargePatternCard.js +16 -26
- package/lib/pages/WwtpPage/InletsCard.js +19 -17
- package/lib/pages/WwtpPage/Map.js +7 -6
- package/lib/pages/WwtpPage/OrganicCard.js +4 -5
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +4 -5
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -7
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +20 -17
- package/lib/pages/WwtpPage/PotentialSaving/index.js +3 -4
- package/lib/pages/WwtpPage/PredictionCard.js +4 -5
- package/lib/pages/WwtpPage/TrendCard.js +26 -34
- package/lib/pages/WwtpPage/TrendChart.js +12 -12
- package/lib/pages/WwtpPage/UpgradeBox.js +4 -5
- package/lib/pages/WwtpPage/WwtpPage.js +9 -10
- package/lib/pages/WwtpPage/WwtpPageContainer.js +23 -19
- package/lib/pages/WwtpPage/index.js +3 -4
- package/lib/providers/Slideshow/SlideshowContext.js +11 -10
- package/lib/providers/Slideshow/SlideshowProvider.js +22 -40
- package/lib/providers/Slideshow/SlideshowRunner.js +18 -21
- package/lib/providers/UrlHistory/UrlHistoryContext.js +7 -6
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -13
- package/lib/providers/UrlHistory/index.js +3 -3
- package/lib/providers/UrlHistory/useLastVisited.js +5 -6
- package/lib/store/ImportGis/actionTypes.js +4 -5
- package/lib/store/ImportGis/actionsCreator.js +7 -5
- package/lib/store/ImportGis/reducer.js +41 -30
- package/lib/store/WBE/actionTypes.js +2 -3
- package/lib/store/WBE/reducer.js +14 -10
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -15
- package/lib/store/areas/actionTypes.js +4 -7
- package/lib/store/areas/actions.js +6 -12
- package/lib/store/areas/reducer.js +8 -6
- package/lib/store/context/actionTypes.js +3 -5
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +15 -18
- package/lib/store/context/reducer.js +14 -10
- package/lib/store/dashboard/dashboardSlice.js +18 -11
- package/lib/store/edges/actionTypes.js +5 -9
- package/lib/store/edges/actions.js +4 -8
- package/lib/store/edges/reducer.js +13 -17
- package/lib/store/events/actionTypes.js +17 -33
- package/lib/store/events/actions.js +3 -7
- package/lib/store/events/reducer.js +42 -49
- package/lib/store/global/actionTypes.js +11 -21
- package/lib/store/global/actions.js +6 -4
- package/lib/store/global/reducer.js +11 -10
- package/lib/store/permissions/permissionsSlice.js +12 -9
- package/lib/store/points/actionTypes.js +3 -5
- package/lib/store/points/actions.js +3 -7
- package/lib/store/points/reducer.js +7 -5
- package/lib/store/rootActionTypes.js +2 -3
- package/lib/store/rootReducer.js +17 -13
- package/lib/store/rootStore.js +6 -6
- package/lib/store/samplings/actionTypes.js +4 -5
- package/lib/store/samplings/reducer.js +16 -14
- package/lib/styles/StylesLayout.js +7 -6
- package/lib/styles/theme/theme.js +26 -30
- package/lib/test/mocks/browser.js +2 -5
- package/lib/test/test-utils.js +18 -16
- package/lib/ui-kit/Button/Button.js +129 -83
- package/lib/ui-kit/Button/Button.test.js +24 -30
- package/lib/ui-kit/Checkbox/Checkbox.js +32 -24
- package/lib/ui-kit/ContentCard/ContentCard.js +16 -20
- package/lib/ui-kit/Dashboard/Dashboard.js +23 -22
- package/lib/ui-kit/Dashboard/index.js +3 -4
- package/lib/ui-kit/DropDown/DropDown.js +18 -20
- package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
- package/lib/ui-kit/DropDown/DropDownItem.js +26 -25
- package/lib/ui-kit/DropDown/DropdownToggle.js +13 -10
- package/lib/ui-kit/EmptyState/EmptyState.js +7 -6
- package/lib/ui-kit/IconAction/IconAction.js +9 -8
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +47 -64
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +58 -49
- package/lib/ui-kit/InletsPie/InletsPie.js +17 -16
- package/lib/ui-kit/InletsPie/index.js +3 -4
- package/lib/ui-kit/InletsPie/options.js +7 -8
- package/lib/ui-kit/KandoList/KandoList.js +13 -12
- package/lib/ui-kit/KandoTable/KandoTable.js +48 -41
- package/lib/ui-kit/KandoTable/KandoTable.test.js +17 -23
- package/lib/ui-kit/Layout/Layout.js +8 -7
- package/lib/ui-kit/MobileInput/MobileInput.js +56 -50
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +14 -17
- package/lib/ui-kit/ModalConfirmation/index.js +2 -3
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +9 -8
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +8 -9
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +29 -23
- package/lib/ui-kit/OrganicEvents/TextInfo.js +17 -13
- package/lib/ui-kit/OrganicEvents/index.js +3 -4
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +12 -11
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -18
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -4
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +21 -24
- package/lib/ui-kit/ScoreGauge/constant.js +3 -4
- package/lib/ui-kit/ScoreGauge/index.js +3 -4
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +10 -11
- package/lib/ui-kit/Tooltip/Tooltip.js +15 -9
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +13 -14
- package/lib/ui-kit/siteName/SiteName.js +13 -11
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +23 -20
- package/lib/utilities/Analytics.js +12 -12
- package/lib/utilities/Array.js +4 -5
- package/lib/utilities/Enum.js +15 -51
- package/lib/utilities/ErrorBoundary.js +27 -42
- package/lib/utilities/File.js +41 -70
- package/lib/utilities/GetDir.js +10 -10
- package/lib/utilities/KandoDate.js +7 -15
- package/lib/utilities/KandoModal.js +16 -28
- package/lib/utilities/LocalStorage.js +5 -7
- package/lib/utilities/ThousandsToK.js +2 -2
- package/lib/utilities/TimeFormat.js +20 -21
- package/lib/utilities/Truncate.js +17 -27
- package/lib/utilities/edgesMath.js +15 -16
- package/lib/utilities/i18n.js +5 -6
- package/lib/utilities/kql.js +10 -12
- package/lib/utilities/map/icons.js +4 -4
- package/lib/utilities/polylinedecorator.js +88 -113
- package/lib/utilities/scoreToData.js +11 -11
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +9 -10
- package/lib/utilities/uploadToS3.js +12 -12
- package/lib/utilities/urls.js +17 -16
- package/package.json +1 -1
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.zoomLevels = exports.topIconOptions = exports.shouldLoadMapObjects = exports.shoudLoadDependentMapObjects = exports.multipleLayeredIcons = exports.middleIconOptions = exports.isValidArea = exports.initializeMap = exports.iconZoomControl = exports.findSpecificLayersFromMap = exports.eventsCounterIcons = exports.eventsCountIcon = exports.bubbleIconOptions = exports.areaFocusLogic = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
8
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
10
9
|
var _actions = require("../../store/global/actions");
|
|
11
10
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
12
11
|
var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const areaFocusLogic = (mapRef, isValidArea, areaToCenterBy) => {
|
|
13
|
+
let mapInstance = mapRef.current;
|
|
15
14
|
if (isValidArea(areaToCenterBy)) {
|
|
16
15
|
mapInstance.fitBounds(areaToCenterBy, {
|
|
17
16
|
padding: [0, 0]
|
|
18
17
|
});
|
|
19
18
|
} else {
|
|
20
|
-
|
|
21
|
-
for (
|
|
19
|
+
const group = [];
|
|
20
|
+
for (const property in mapInstance._layers) {
|
|
22
21
|
if (mapInstance._layers[property].kando_object === 'Area') {
|
|
23
22
|
group.push(mapInstance._layers[property]);
|
|
24
23
|
}
|
|
@@ -32,34 +31,34 @@ var areaFocusLogic = function areaFocusLogic(mapRef, isValidArea, areaToCenterBy
|
|
|
32
31
|
mapInstance.invalidateSize(true);
|
|
33
32
|
};
|
|
34
33
|
exports.areaFocusLogic = areaFocusLogic;
|
|
35
|
-
|
|
34
|
+
const isValidArea = area => {
|
|
36
35
|
return area && area.length > 0 && Object.keys(area[0]).length > 0;
|
|
37
36
|
};
|
|
38
37
|
exports.isValidArea = isValidArea;
|
|
39
|
-
|
|
38
|
+
const shouldLoadMapObjects = (global_data, mapRef, points, edges) => {
|
|
40
39
|
return global_data.map !== undefined && mapRef.current !== null && edges !== undefined && points !== undefined;
|
|
41
40
|
};
|
|
42
41
|
exports.shouldLoadMapObjects = shouldLoadMapObjects;
|
|
43
|
-
|
|
42
|
+
const shoudLoadDependentMapObjects = (edges, areas, global, mapRef, points) => {
|
|
44
43
|
return global.map !== undefined && mapRef.current !== null && edges.length !== 0 && areas.length !== 0 && points.length !== 0;
|
|
45
44
|
};
|
|
46
45
|
exports.shoudLoadDependentMapObjects = shoudLoadDependentMapObjects;
|
|
47
|
-
|
|
46
|
+
const findSpecificLayersFromMap = (layersToFind, currentLayer) => {
|
|
48
47
|
return layersToFind.includes(currentLayer.kando_object) && currentLayer.kando_point_type !== 'Manhole';
|
|
49
48
|
};
|
|
50
49
|
exports.findSpecificLayersFromMap = findSpecificLayersFromMap;
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
const eventsCounterIcons = (layer, zoomLevel) => {
|
|
51
|
+
let icon = layer.options.icon;
|
|
53
52
|
icon.options.iconSize = eventsCountIcon(zoomLevel).iconSize;
|
|
54
53
|
icon.options.iconAnchor = eventsCountIcon(zoomLevel).iconAnchor;
|
|
55
54
|
layer.setIcon(icon);
|
|
56
55
|
layer.setOpacity(1);
|
|
57
56
|
};
|
|
58
57
|
exports.eventsCounterIcons = eventsCounterIcons;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
const multipleLayeredIcons = (layer, zoomLevel) => {
|
|
59
|
+
let icon = layer.options.icon;
|
|
60
|
+
let isAFewLayerIcon = layer.kando_few_layer_icon;
|
|
61
|
+
let miniIcon = {
|
|
63
62
|
present: layer.kando_secondary || layer.kando_third,
|
|
64
63
|
secondary: layer.kando_secondary,
|
|
65
64
|
third: layer.kando_third
|
|
@@ -84,20 +83,20 @@ var multipleLayeredIcons = function multipleLayeredIcons(layer, zoomLevel) {
|
|
|
84
83
|
layer.setIcon(icon);
|
|
85
84
|
};
|
|
86
85
|
exports.multipleLayeredIcons = multipleLayeredIcons;
|
|
87
|
-
|
|
86
|
+
const oneLayerIconOptions = zoomLevel => {
|
|
88
87
|
return {
|
|
89
88
|
iconSize: [zoomLevel * 3.3, zoomLevel * 3.3],
|
|
90
89
|
iconAnchor: [zoomLevel * 1.7, zoomLevel * 3.7]
|
|
91
90
|
};
|
|
92
91
|
};
|
|
93
|
-
|
|
92
|
+
const eventsCountIcon = zoomLevel => {
|
|
94
93
|
return {
|
|
95
94
|
iconSize: [zoomLevel * 2.5, zoomLevel * 2.5],
|
|
96
95
|
iconAnchor: [zoomLevel * 0, zoomLevel * 4]
|
|
97
96
|
};
|
|
98
97
|
};
|
|
99
98
|
exports.eventsCountIcon = eventsCountIcon;
|
|
100
|
-
|
|
99
|
+
const bubbleIconOptions = (zoomLevel, miniIcon) => {
|
|
101
100
|
if (miniIcon.present) {
|
|
102
101
|
if (miniIcon.secondary) {
|
|
103
102
|
return {
|
|
@@ -118,7 +117,7 @@ var bubbleIconOptions = function bubbleIconOptions(zoomLevel, miniIcon) {
|
|
|
118
117
|
}
|
|
119
118
|
};
|
|
120
119
|
exports.bubbleIconOptions = bubbleIconOptions;
|
|
121
|
-
|
|
120
|
+
const middleIconOptions = (zoomLevel, miniIcon) => {
|
|
122
121
|
if (miniIcon.present) {
|
|
123
122
|
if (miniIcon.secondary) {
|
|
124
123
|
return {
|
|
@@ -139,7 +138,7 @@ var middleIconOptions = function middleIconOptions(zoomLevel, miniIcon) {
|
|
|
139
138
|
}
|
|
140
139
|
};
|
|
141
140
|
exports.middleIconOptions = middleIconOptions;
|
|
142
|
-
|
|
141
|
+
const topIconOptions = (zoomLevel, miniIcon) => {
|
|
143
142
|
if (miniIcon.present) {
|
|
144
143
|
if (miniIcon.secondary) {
|
|
145
144
|
return {
|
|
@@ -160,10 +159,10 @@ var topIconOptions = function topIconOptions(zoomLevel, miniIcon) {
|
|
|
160
159
|
}
|
|
161
160
|
};
|
|
162
161
|
exports.topIconOptions = topIconOptions;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
for (
|
|
162
|
+
const iconZoomControl = map => {
|
|
163
|
+
let layers = map._layers;
|
|
164
|
+
let zoomLevel = map._zoom;
|
|
165
|
+
for (const property in layers) {
|
|
167
166
|
if (findSpecificLayersFromMap(['IconNumber'], layers[property])) {
|
|
168
167
|
eventsCounterIcons(layers[property], zoomLevel);
|
|
169
168
|
}
|
|
@@ -176,7 +175,7 @@ var iconZoomControl = function iconZoomControl(map) {
|
|
|
176
175
|
}
|
|
177
176
|
};
|
|
178
177
|
exports.iconZoomControl = iconZoomControl;
|
|
179
|
-
|
|
178
|
+
const mapStyle = mapBoxStyle => {
|
|
180
179
|
return _leaflet.default.tileLayer("https://api.mapbox.com/styles/v1/nadav-kando/".concat(mapBoxStyle, "/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoibmFkYXYta2FuZG8iLCJhIjoiY2pveHprdGRxMHlmdDN4bDg0dzJxOXc4dSJ9.J-2ohq7j4yKNbm4N_-P6qw"), {
|
|
181
180
|
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
|
|
182
181
|
maxZoom: 18,
|
|
@@ -188,13 +187,15 @@ var mapStyle = function mapStyle(mapBoxStyle) {
|
|
|
188
187
|
updateWhenIdle: false
|
|
189
188
|
});
|
|
190
189
|
};
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
190
|
+
const baseMaps = (mapBoxStyle, mapBoxSatelliteStyle) => {
|
|
191
|
+
let defaultMap = _i18n.default.t('map.layers.default');
|
|
192
|
+
let satellite = _i18n.default.t('map.layers.satellite');
|
|
193
|
+
return {
|
|
194
|
+
[defaultMap]: mapStyle(mapBoxStyle),
|
|
195
|
+
[satellite]: mapStyle(mapBoxSatelliteStyle)
|
|
196
|
+
};
|
|
196
197
|
};
|
|
197
|
-
|
|
198
|
+
const initializeMap = (mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard) => {
|
|
198
199
|
// @ts-ignore
|
|
199
200
|
mapRef.current = new _leaflet.default.Map('map', {
|
|
200
201
|
center: [0, 0],
|
|
@@ -203,9 +204,9 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
|
|
|
203
204
|
attributionControl: false,
|
|
204
205
|
preferCanvas: true
|
|
205
206
|
});
|
|
206
|
-
mapRef.current.whenReady(
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
mapRef.current.whenReady(() => {
|
|
208
|
+
let map = mapRef.current;
|
|
209
|
+
const mapTypes = baseMaps(mapBoxStyle, mapBoxSatelliteStyle);
|
|
209
210
|
_leaflet.default.control.layers(mapTypes, {}, {
|
|
210
211
|
position: 'bottomright'
|
|
211
212
|
}).addTo(map);
|
|
@@ -216,7 +217,7 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
|
|
|
216
217
|
// map.on('zoomend', function () {
|
|
217
218
|
// // iconZoomControl(map);
|
|
218
219
|
// });
|
|
219
|
-
setTimeout(
|
|
220
|
+
setTimeout(() => {
|
|
220
221
|
if (!mapRef.current) {
|
|
221
222
|
return;
|
|
222
223
|
}
|
|
@@ -228,7 +229,7 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
|
|
|
228
229
|
dispatch((0, _actions.storeMap)(mapRef.current));
|
|
229
230
|
if (forWWTPDashboard) dispatch((0, _WWTPDashboardSlice.setMap)(mapRef.current));
|
|
230
231
|
dispatch((0, _actions.sideNavExpanded)(true));
|
|
231
|
-
map.on('keydown',
|
|
232
|
+
map.on('keydown', event => {
|
|
232
233
|
if (event.originalEvent.key === 'Escape') {
|
|
233
234
|
map.closePopup();
|
|
234
235
|
document.body.focus();
|
|
@@ -243,12 +244,12 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
|
|
|
243
244
|
if (!mapRef.current) {
|
|
244
245
|
return;
|
|
245
246
|
}
|
|
246
|
-
|
|
247
|
+
let zoom = mapRef.current.getZoom();
|
|
247
248
|
setMapZoomLevel(zoom);
|
|
248
249
|
});
|
|
249
250
|
};
|
|
250
251
|
exports.initializeMap = initializeMap;
|
|
251
|
-
|
|
252
|
+
const zoomLevels = exports.zoomLevels = {
|
|
252
253
|
1: 'XLarge',
|
|
253
254
|
2: 'XLarge',
|
|
254
255
|
3: 'XLarge',
|
|
@@ -268,5 +269,4 @@ var zoomLevels = {
|
|
|
268
269
|
17: 'Small',
|
|
269
270
|
18: 'Small'
|
|
270
271
|
};
|
|
271
|
-
exports.zoomLevels = zoomLevels;
|
|
272
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImV4cG9ydHMiLCJhcmVhIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJnbG9iYWxfZGF0YSIsInBvaW50cyIsImVkZ2VzIiwibWFwIiwidW5kZWZpbmVkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImFyZWFzIiwiZ2xvYmFsIiwiZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCIsImxheWVyc1RvRmluZCIsImN1cnJlbnRMYXllciIsImluY2x1ZGVzIiwia2FuZG9fcG9pbnRfdHlwZSIsImV2ZW50c0NvdW50ZXJJY29ucyIsImxheWVyIiwiem9vbUxldmVsIiwiaWNvbiIsIm9wdGlvbnMiLCJpY29uU2l6ZSIsImV2ZW50c0NvdW50SWNvbiIsImljb25BbmNob3IiLCJzZXRJY29uIiwic2V0T3BhY2l0eSIsIm11bHRpcGxlTGF5ZXJlZEljb25zIiwiaXNBRmV3TGF5ZXJJY29uIiwia2FuZG9fZmV3X2xheWVyX2ljb24iLCJtaW5pSWNvbiIsInByZXNlbnQiLCJrYW5kb19zZWNvbmRhcnkiLCJrYW5kb190aGlyZCIsInNlY29uZGFyeSIsInRoaXJkIiwia2FuZG9faW5kZXhfb2JqZWN0IiwiYnViYmxlSWNvbk9wdGlvbnMiLCJvbmVMYXllckljb25PcHRpb25zIiwibWlkZGxlSWNvbk9wdGlvbnMiLCJ0b3BJY29uT3B0aW9ucyIsImljb25ab29tQ29udHJvbCIsImxheWVycyIsIl96b29tIiwibWFwU3R5bGUiLCJtYXBCb3hTdHlsZSIsInRpbGVMYXllciIsImNvbmNhdCIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsIm1pblpvb20iLCJpZCIsInRpbGVTaXplIiwiem9vbU9mZnNldCIsInVwZGF0ZVdoZW5ab29taW5nIiwidXBkYXRlV2hlbklkbGUiLCJiYXNlTWFwcyIsIm1hcEJveFNhdGVsbGl0ZVN0eWxlIiwiX3JlZiIsImRlZmF1bHRNYXAiLCJpMThuIiwidCIsInNhdGVsbGl0ZSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiaW5pdGlhbGl6ZU1hcCIsIm1hcFpvb21MZXZlbCIsImRpc3BhdGNoIiwic2V0TWFwWm9vbUxldmVsIiwiZm9yV1dUUERhc2hib2FyZCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsIndoZW5SZWFkeSIsIm1hcFR5cGVzIiwiY29udHJvbCIsInBvc2l0aW9uIiwiYWRkVG8iLCJ2YWx1ZXMiLCJzZXRUaW1lb3V0IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic3RvcmVNYXAiLCJzZXRNYXAiLCJzaWRlTmF2RXhwYW5kZWQiLCJvbiIsImV2ZW50Iiwib3JpZ2luYWxFdmVudCIsImtleSIsImNsb3NlUG9wdXAiLCJkb2N1bWVudCIsImJvZHkiLCJmb2N1cyIsImUiLCJnZXRab29tIiwiem9vbUxldmVscyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgZ3JvdXAucHVzaChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgIHBhZGRpbmc6IFsxMDAsIDEwMF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbWFwSW5zdGFuY2UuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZEFyZWEgPSAoYXJlYSkgPT4ge1xuICByZXR1cm4gYXJlYSAmJiBhcmVhLmxlbmd0aCA+IDAgJiYgT2JqZWN0LmtleXMoYXJlYVswXSkubGVuZ3RoID4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRMb2FkTWFwT2JqZWN0cyA9IChnbG9iYWxfZGF0YSwgbWFwUmVmLCBwb2ludHMsIGVkZ2VzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzICE9PSB1bmRlZmluZWQgJiZcbiAgICBwb2ludHMgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMgPSAoXG4gIGVkZ2VzLFxuICBhcmVhcyxcbiAgZ2xvYmFsLFxuICBtYXBSZWYsXG4gIHBvaW50cyxcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbC5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMubGVuZ3RoICE9PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgcG9pbnRzLmxlbmd0aCAhPT0gMFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAgPSAoXG4gIGxheWVyc1RvRmluZDogc3RyaW5nW10sXG4gIGN1cnJlbnRMYXllcixcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGxheWVyc1RvRmluZC5pbmNsdWRlcyhjdXJyZW50TGF5ZXIua2FuZG9fb2JqZWN0KSAmJlxuICAgIGN1cnJlbnRMYXllci5rYW5kb19wb2ludF90eXBlICE9PSAnTWFuaG9sZSdcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudGVySWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgaWNvbi5vcHRpb25zLmljb25TaXplID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvblNpemU7XG4gIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbiAgbGF5ZXIuc2V0T3BhY2l0eSgxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtdWx0aXBsZUxheWVyZWRJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBsZXQgaXNBRmV3TGF5ZXJJY29uID0gbGF5ZXIua2FuZG9fZmV3X2xheWVyX2ljb247XG4gIGxldCBtaW5pSWNvbiA9IHtcbiAgICBwcmVzZW50OiBsYXllci5rYW5kb19zZWNvbmRhcnkgfHwgbGF5ZXIua2FuZG9fdGhpcmQsXG4gICAgc2Vjb25kYXJ5OiBsYXllci5rYW5kb19zZWNvbmRhcnksXG4gICAgdGhpcmQ6IGxheWVyLmthbmRvX3RoaXJkLFxuICB9O1xuXG4gIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDApIHtcbiAgICBpZiAoaXNBRmV3TGF5ZXJJY29uKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBidWJibGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gYnViYmxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDEpIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG1pZGRsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBtaWRkbGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25BbmNob3I7XG4gICAgfVxuICB9XG5cbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbn07XG5cbmNvbnN0IG9uZUxheWVySWNvbk9wdGlvbnMgPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjMsIHpvb21MZXZlbCAqIDMuM10gYXMgUG9pbnRUdXBsZSxcbiAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS43LCB6b29tTGV2ZWwgKiAzLjddIGFzIFBvaW50VHVwbGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogMl0gYXMgUG9pbnRUdXBsZSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtaWRkbGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMy41XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDEuNV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS4yOTUsIHpvb21MZXZlbCAqIDMuMzVdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b3BJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAwLjksIHpvb21MZXZlbCAqIDEuOF0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC41LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjYsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC4yLCB6b29tTGV2ZWwgKiAyLjFdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGljb25ab29tQ29udHJvbCA9IChtYXApID0+IHtcbiAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICBsZXQgem9vbUxldmVsID0gbWFwLl96b29tO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydJY29uTnVtYmVyJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBldmVudHNDb3VudGVySWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1BvaW50JywgJ0ljb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1NhbXBsaW5nJywgJ09ic2VydmF0aW9uJ10sIGxheWVyc1twcm9wZXJ0eV0pXG4gICAgKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgbWluWm9vbTogMixcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICB9LFxuICApO1xufTtcbmNvbnN0IGJhc2VNYXBzID0gKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSkgPT4ge1xuICBsZXQgZGVmYXVsdE1hcCA9IGkxOG4udCgnbWFwLmxheWVycy5kZWZhdWx0Jyk7XG4gIGxldCBzYXRlbGxpdGUgPSBpMThuLnQoJ21hcC5sYXllcnMuc2F0ZWxsaXRlJyk7XG4gIHJldHVybiB7XG4gICAgW2RlZmF1bHRNYXBdOiBtYXBTdHlsZShtYXBCb3hTdHlsZSksXG4gICAgW3NhdGVsbGl0ZV06IG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTWFwID0gKFxuICBtYXBab29tTGV2ZWwsXG4gIG1hcEJveFN0eWxlLFxuICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4gIGZvcldXVFBEYXNoYm9hcmQsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IG5ldyBMLk1hcCgnbWFwJywge1xuICAgIGNlbnRlcjogWzAsIDBdLFxuICAgIHpvb21TbmFwOiAxLFxuICAgIHpvb206IG1hcFpvb21MZXZlbCxcbiAgICBhdHRyaWJ1dGlvbkNvbnRyb2w6IGZhbHNlLFxuICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgbWFwVHlwZXMgPSBiYXNlTWFwcyhtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpO1xuXG4gICAgTC5jb250cm9sLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSkuYWRkVG8obWFwKTtcblxuICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBsYXllciBjaGFuZ2VzIGJldHdlZW4gbGFuZ3VhZ2VzIHNvIHRoZXJlIHdhcyBhIG5lZWQgdG8gZ2V0IHRvIHRoZSBmaXJzdCBsYXllclxuICAgIE9iamVjdC52YWx1ZXMobWFwVHlwZXMpWzBdLmFkZFRvKG1hcCk7XG5cbiAgICAvLyBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gICAvLyBpY29uWm9vbUNvbnRyb2wobWFwKTtcbiAgICAvLyB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIGRpc3BhdGNoKHNldE1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcblxuICAgICAgbWFwLm9uKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5vcmlnaW5hbEV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUxldmVscyA9IHtcbiAgMTogJ1hMYXJnZScsXG4gIDI6ICdYTGFyZ2UnLFxuICAzOiAnWExhcmdlJyxcbiAgNDogJ1hMYXJnZScsXG4gIDU6ICdYTGFyZ2UnLFxuICA2OiAnWExhcmdlJyxcbiAgNzogJ0xhcmdlJyxcbiAgODogJ0xhcmdlJyxcbiAgOTogJ0xhcmdlJyxcbiAgMTA6ICdMYXJnZScsXG4gIDExOiAnTUxhcmdlJyxcbiAgMTI6ICdNTGFyZ2UnLFxuICAxMzogJ01MYXJnZScsXG4gIDE0OiAnTUxhcmdlJyxcbiAgMTU6ICdNZWRpdW0nLFxuICAxNjogJ01lZGl1bScsXG4gIDE3OiAnU21hbGwnLFxuICAxODogJ1NtYWxsJyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBSCxz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
|
|
272
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImV4cG9ydHMiLCJhcmVhIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJnbG9iYWxfZGF0YSIsInBvaW50cyIsImVkZ2VzIiwibWFwIiwidW5kZWZpbmVkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImFyZWFzIiwiZ2xvYmFsIiwiZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCIsImxheWVyc1RvRmluZCIsImN1cnJlbnRMYXllciIsImluY2x1ZGVzIiwia2FuZG9fcG9pbnRfdHlwZSIsImV2ZW50c0NvdW50ZXJJY29ucyIsImxheWVyIiwiem9vbUxldmVsIiwiaWNvbiIsIm9wdGlvbnMiLCJpY29uU2l6ZSIsImV2ZW50c0NvdW50SWNvbiIsImljb25BbmNob3IiLCJzZXRJY29uIiwic2V0T3BhY2l0eSIsIm11bHRpcGxlTGF5ZXJlZEljb25zIiwiaXNBRmV3TGF5ZXJJY29uIiwia2FuZG9fZmV3X2xheWVyX2ljb24iLCJtaW5pSWNvbiIsInByZXNlbnQiLCJrYW5kb19zZWNvbmRhcnkiLCJrYW5kb190aGlyZCIsInNlY29uZGFyeSIsInRoaXJkIiwia2FuZG9faW5kZXhfb2JqZWN0IiwiYnViYmxlSWNvbk9wdGlvbnMiLCJvbmVMYXllckljb25PcHRpb25zIiwibWlkZGxlSWNvbk9wdGlvbnMiLCJ0b3BJY29uT3B0aW9ucyIsImljb25ab29tQ29udHJvbCIsImxheWVycyIsIl96b29tIiwibWFwU3R5bGUiLCJtYXBCb3hTdHlsZSIsInRpbGVMYXllciIsImNvbmNhdCIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsIm1pblpvb20iLCJpZCIsInRpbGVTaXplIiwiem9vbU9mZnNldCIsInVwZGF0ZVdoZW5ab29taW5nIiwidXBkYXRlV2hlbklkbGUiLCJiYXNlTWFwcyIsIm1hcEJveFNhdGVsbGl0ZVN0eWxlIiwiZGVmYXVsdE1hcCIsImkxOG4iLCJ0Iiwic2F0ZWxsaXRlIiwiaW5pdGlhbGl6ZU1hcCIsIm1hcFpvb21MZXZlbCIsImRpc3BhdGNoIiwic2V0TWFwWm9vbUxldmVsIiwiZm9yV1dUUERhc2hib2FyZCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsIndoZW5SZWFkeSIsIm1hcFR5cGVzIiwiY29udHJvbCIsInBvc2l0aW9uIiwiYWRkVG8iLCJ2YWx1ZXMiLCJzZXRUaW1lb3V0IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic3RvcmVNYXAiLCJzZXRNYXAiLCJzaWRlTmF2RXhwYW5kZWQiLCJvbiIsImV2ZW50Iiwib3JpZ2luYWxFdmVudCIsImtleSIsImNsb3NlUG9wdXAiLCJkb2N1bWVudCIsImJvZHkiLCJmb2N1cyIsImUiLCJnZXRab29tIiwiem9vbUxldmVscyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgZ3JvdXAucHVzaChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgIHBhZGRpbmc6IFsxMDAsIDEwMF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbWFwSW5zdGFuY2UuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZEFyZWEgPSAoYXJlYSkgPT4ge1xuICByZXR1cm4gYXJlYSAmJiBhcmVhLmxlbmd0aCA+IDAgJiYgT2JqZWN0LmtleXMoYXJlYVswXSkubGVuZ3RoID4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRMb2FkTWFwT2JqZWN0cyA9IChnbG9iYWxfZGF0YSwgbWFwUmVmLCBwb2ludHMsIGVkZ2VzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzICE9PSB1bmRlZmluZWQgJiZcbiAgICBwb2ludHMgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMgPSAoXG4gIGVkZ2VzLFxuICBhcmVhcyxcbiAgZ2xvYmFsLFxuICBtYXBSZWYsXG4gIHBvaW50cyxcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbC5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMubGVuZ3RoICE9PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgcG9pbnRzLmxlbmd0aCAhPT0gMFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAgPSAoXG4gIGxheWVyc1RvRmluZDogc3RyaW5nW10sXG4gIGN1cnJlbnRMYXllcixcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGxheWVyc1RvRmluZC5pbmNsdWRlcyhjdXJyZW50TGF5ZXIua2FuZG9fb2JqZWN0KSAmJlxuICAgIGN1cnJlbnRMYXllci5rYW5kb19wb2ludF90eXBlICE9PSAnTWFuaG9sZSdcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudGVySWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgaWNvbi5vcHRpb25zLmljb25TaXplID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvblNpemU7XG4gIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbiAgbGF5ZXIuc2V0T3BhY2l0eSgxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtdWx0aXBsZUxheWVyZWRJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBsZXQgaXNBRmV3TGF5ZXJJY29uID0gbGF5ZXIua2FuZG9fZmV3X2xheWVyX2ljb247XG4gIGxldCBtaW5pSWNvbiA9IHtcbiAgICBwcmVzZW50OiBsYXllci5rYW5kb19zZWNvbmRhcnkgfHwgbGF5ZXIua2FuZG9fdGhpcmQsXG4gICAgc2Vjb25kYXJ5OiBsYXllci5rYW5kb19zZWNvbmRhcnksXG4gICAgdGhpcmQ6IGxheWVyLmthbmRvX3RoaXJkLFxuICB9O1xuXG4gIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDApIHtcbiAgICBpZiAoaXNBRmV3TGF5ZXJJY29uKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBidWJibGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gYnViYmxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDEpIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG1pZGRsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBtaWRkbGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25BbmNob3I7XG4gICAgfVxuICB9XG5cbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbn07XG5cbmNvbnN0IG9uZUxheWVySWNvbk9wdGlvbnMgPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjMsIHpvb21MZXZlbCAqIDMuM10gYXMgUG9pbnRUdXBsZSxcbiAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS43LCB6b29tTGV2ZWwgKiAzLjddIGFzIFBvaW50VHVwbGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogMl0gYXMgUG9pbnRUdXBsZSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtaWRkbGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMy41XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDEuNV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS4yOTUsIHpvb21MZXZlbCAqIDMuMzVdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b3BJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAwLjksIHpvb21MZXZlbCAqIDEuOF0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC41LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjYsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC4yLCB6b29tTGV2ZWwgKiAyLjFdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGljb25ab29tQ29udHJvbCA9IChtYXApID0+IHtcbiAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICBsZXQgem9vbUxldmVsID0gbWFwLl96b29tO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydJY29uTnVtYmVyJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBldmVudHNDb3VudGVySWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1BvaW50JywgJ0ljb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1NhbXBsaW5nJywgJ09ic2VydmF0aW9uJ10sIGxheWVyc1twcm9wZXJ0eV0pXG4gICAgKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgbWluWm9vbTogMixcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICB9LFxuICApO1xufTtcbmNvbnN0IGJhc2VNYXBzID0gKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSkgPT4ge1xuICBsZXQgZGVmYXVsdE1hcCA9IGkxOG4udCgnbWFwLmxheWVycy5kZWZhdWx0Jyk7XG4gIGxldCBzYXRlbGxpdGUgPSBpMThuLnQoJ21hcC5sYXllcnMuc2F0ZWxsaXRlJyk7XG4gIHJldHVybiB7XG4gICAgW2RlZmF1bHRNYXBdOiBtYXBTdHlsZShtYXBCb3hTdHlsZSksXG4gICAgW3NhdGVsbGl0ZV06IG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTWFwID0gKFxuICBtYXBab29tTGV2ZWwsXG4gIG1hcEJveFN0eWxlLFxuICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4gIGZvcldXVFBEYXNoYm9hcmQsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IG5ldyBMLk1hcCgnbWFwJywge1xuICAgIGNlbnRlcjogWzAsIDBdLFxuICAgIHpvb21TbmFwOiAxLFxuICAgIHpvb206IG1hcFpvb21MZXZlbCxcbiAgICBhdHRyaWJ1dGlvbkNvbnRyb2w6IGZhbHNlLFxuICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgbWFwVHlwZXMgPSBiYXNlTWFwcyhtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpO1xuXG4gICAgTC5jb250cm9sLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSkuYWRkVG8obWFwKTtcblxuICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBsYXllciBjaGFuZ2VzIGJldHdlZW4gbGFuZ3VhZ2VzIHNvIHRoZXJlIHdhcyBhIG5lZWQgdG8gZ2V0IHRvIHRoZSBmaXJzdCBsYXllclxuICAgIE9iamVjdC52YWx1ZXMobWFwVHlwZXMpWzBdLmFkZFRvKG1hcCk7XG5cbiAgICAvLyBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gICAvLyBpY29uWm9vbUNvbnRyb2wobWFwKTtcbiAgICAvLyB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIGRpc3BhdGNoKHNldE1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcblxuICAgICAgbWFwLm9uKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5vcmlnaW5hbEV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUxldmVscyA9IHtcbiAgMTogJ1hMYXJnZScsXG4gIDI6ICdYTGFyZ2UnLFxuICAzOiAnWExhcmdlJyxcbiAgNDogJ1hMYXJnZScsXG4gIDU6ICdYTGFyZ2UnLFxuICA2OiAnWExhcmdlJyxcbiAgNzogJ0xhcmdlJyxcbiAgODogJ0xhcmdlJyxcbiAgOTogJ0xhcmdlJyxcbiAgMTA6ICdMYXJnZScsXG4gIDExOiAnTUxhcmdlJyxcbiAgMTI6ICdNTGFyZ2UnLFxuICAxMzogJ01MYXJnZScsXG4gIDE0OiAnTUxhcmdlJyxcbiAgMTU6ICdNZWRpdW0nLFxuICAxNjogJ01lZGl1bScsXG4gIDE3OiAnU21hbGwnLFxuICAxODogJ1NtYWxsJyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxtQkFBQSxHQUFB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
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
11
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
10
|
var _reactRedux = require("react-redux");
|
|
14
11
|
var _AreaUtils = require("./AreaUtils");
|
|
@@ -16,102 +13,65 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
|
16
13
|
var _Widget = require("pages/DashboardMap/Widget");
|
|
17
14
|
var _utils = require("pages/DashboardMap/utils");
|
|
18
15
|
var _ListContext = require("pages/DashboardMap/ListContext");
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var areas = (0, _reactRedux.useSelector)(function (state) {
|
|
31
|
-
return state.areas_data.items;
|
|
32
|
-
});
|
|
33
|
-
var WWTPMode = (0, _reactRedux.useSelector)(function (state) {
|
|
34
|
-
return state.wwtp_dashboard.map !== null;
|
|
35
|
-
});
|
|
16
|
+
const AreaPolygon = props => {
|
|
17
|
+
const {
|
|
18
|
+
L,
|
|
19
|
+
map,
|
|
20
|
+
area,
|
|
21
|
+
mapZoom,
|
|
22
|
+
global_data
|
|
23
|
+
} = props;
|
|
24
|
+
const points = (0, _reactRedux.useSelector)(state => state.points_data.items);
|
|
25
|
+
const areas = (0, _reactRedux.useSelector)(state => state.areas_data.items);
|
|
26
|
+
const WWTPMode = (0, _reactRedux.useSelector)(state => state.wwtp_dashboard.map !== null);
|
|
36
27
|
// useRemoveExistingLayers(map, area, 'Area', mapZoom);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return state.nav_context_data.navContext.locale;
|
|
45
|
-
});
|
|
46
|
-
var WWTPMapLogic = function WWTPMapLogic(polygon, area) {
|
|
28
|
+
const [LayerGroup] = (0, _react.useState)(L.layerGroup([]));
|
|
29
|
+
const dispatch = (0, _reactRedux.useDispatch)();
|
|
30
|
+
const {
|
|
31
|
+
handleSelectItem
|
|
32
|
+
} = (0, _ListContext.useSelectedItem)();
|
|
33
|
+
const locale = (0, _reactRedux.useSelector)(state => state.nav_context_data.navContext.locale);
|
|
34
|
+
const WWTPMapLogic = (polygon, area) => {
|
|
47
35
|
if (!WWTPMode) return;
|
|
48
36
|
|
|
49
37
|
//polygon.addTo(map);
|
|
50
38
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
break;
|
|
78
|
-
case 12:
|
|
79
|
-
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_Widget.Widget, {
|
|
80
|
-
object: area,
|
|
81
|
-
dispatch: dispatch,
|
|
82
|
-
areas: areas,
|
|
83
|
-
points: points,
|
|
84
|
-
map: map,
|
|
85
|
-
global_data: global_data,
|
|
86
|
-
listData: data
|
|
87
|
-
}), widgetContainer);
|
|
88
|
-
if (!polygon.isPopupOpen()) {
|
|
89
|
-
polygon.openPopup();
|
|
90
|
-
}
|
|
91
|
-
case 14:
|
|
92
|
-
case "end":
|
|
93
|
-
return _context.stop();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}, _callee);
|
|
97
|
-
}));
|
|
98
|
-
return function fetchDataAndShowPopup() {
|
|
99
|
-
return _ref.apply(this, arguments);
|
|
100
|
-
};
|
|
101
|
-
}();
|
|
102
|
-
polygon.on('click-event', function () {
|
|
39
|
+
const fetchDataAndShowPopup = async () => {
|
|
40
|
+
const widgetContainer = document.createElement('span');
|
|
41
|
+
let data;
|
|
42
|
+
(0, _utils.createPopupForObject)({
|
|
43
|
+
renderedElement: widgetContainer,
|
|
44
|
+
marker: polygon
|
|
45
|
+
});
|
|
46
|
+
const areaType = (area === null || area === void 0 ? void 0 : area.is_virtual) === true ? 'varea' : 'area';
|
|
47
|
+
const response = await fetch("/api_ui/wwtp_page/".concat(areaType, "/").concat(area.area_id, "/capacity?locale=").concat(locale, "&water_authority_id=").concat(global_data.waterAuthorityId));
|
|
48
|
+
if (response.ok) {
|
|
49
|
+
data = await response.json();
|
|
50
|
+
} else {}
|
|
51
|
+
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_Widget.Widget, {
|
|
52
|
+
object: area,
|
|
53
|
+
dispatch: dispatch,
|
|
54
|
+
areas: areas,
|
|
55
|
+
points: points,
|
|
56
|
+
map: map,
|
|
57
|
+
global_data: global_data,
|
|
58
|
+
listData: data
|
|
59
|
+
}), widgetContainer);
|
|
60
|
+
if (!polygon.isPopupOpen()) {
|
|
61
|
+
polygon.openPopup();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
polygon.on('click-event', () => {
|
|
103
65
|
polygon.isPopupOpen() ? polygon.closePopup() : fetchDataAndShowPopup();
|
|
104
66
|
});
|
|
105
67
|
};
|
|
106
|
-
(0, _react.useEffect)(
|
|
68
|
+
(0, _react.useEffect)(() => {
|
|
107
69
|
if (LayerGroup.getLayers().length > 0) {
|
|
108
70
|
// bindPopupBasedOnZoomLevel(LayerGroup, mapZoom, area);
|
|
109
71
|
} else {
|
|
110
|
-
|
|
72
|
+
const polygon = (0, _AreaUtils.createPolygon)(area, mapZoom, LayerGroup, map, WWTPMapLogic, WWTPMode ? handleSelectItem : null);
|
|
111
73
|
if (polygon) {
|
|
112
|
-
|
|
113
|
-
return subArea.area_id;
|
|
114
|
-
});
|
|
74
|
+
let subAreas = area.sub_areas.map(subArea => subArea.area_id);
|
|
115
75
|
if (subAreas.length > 0) {
|
|
116
76
|
polygon['sub_areas'] = subAreas;
|
|
117
77
|
}
|
|
@@ -120,7 +80,6 @@ var AreaPolygon = function AreaPolygon(props) {
|
|
|
120
80
|
}, []);
|
|
121
81
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
122
82
|
};
|
|
123
|
-
|
|
124
|
-
var _default = connector(AreaPolygon);
|
|
125
|
-
|
|
126
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9MaXN0Q29udGV4dCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYVBvbHlnb24iLCJwcm9wcyIsIkwiLCJtYXAiLCJhcmVhIiwibWFwWm9vbSIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsInBvaW50c19kYXRhIiwiaXRlbXMiLCJhcmVhcyIsImFyZWFzX2RhdGEiLCJXV1RQTW9kZSIsInd3dHBfZGFzaGJvYXJkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIkxheWVyR3JvdXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJsb2NhbGUiLCJuYXZfY29udGV4dF9kYXRhIiwibmF2Q29udGV4dCIsIldXVFBNYXBMb2dpYyIsInBvbHlnb24iLCJmZXRjaERhdGFBbmRTaG93UG9wdXAiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3aWRnZXRDb250YWluZXIiLCJkYXRhIiwiYXJlYVR5cGUiLCJyZXNwb25zZSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImlzX3ZpcnR1YWwiLCJmZXRjaCIsImNvbmNhdCIsImFyZWFfaWQiLCJ3YXRlckF1dGhvcml0eUlkIiwic2VudCIsIm9rIiwianNvbiIsIlJlYWN0RE9NIiwicmVuZGVyIiwiV2lkZ2V0Iiwib2JqZWN0IiwibGlzdERhdGEiLCJpc1BvcHVwT3BlbiIsIm9wZW5Qb3B1cCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsIm9uIiwiY2xvc2VQb3B1cCIsInVzZUVmZmVjdCIsImdldExheWVycyIsImxlbmd0aCIsImNyZWF0ZVBvbHlnb24iLCJzdWJBcmVhcyIsInN1Yl9hcmVhcyIsInN1YkFyZWEiLCJGcmFnbWVudCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVBvbHlnb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGNyZWF0ZVBvbHlnb24gfSBmcm9tICcuL0FyZWFVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0JztcbmltcG9ydCB7IGNyZWF0ZVBvcHVwRm9yT2JqZWN0IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYTogSUFyZWEgJiB7IGNvbG9yPzogc3RyaW5nOyBzaG93Q29sb3JPbmx5SW5Cb3JkZXJzPzogYm9vbGVhbiB9O1xuICBtYXBab29tOiBudW1iZXI7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIGJpbmRQb3B1cD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBBcmVhUG9seWdvbjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgbWFwLCBhcmVhLCBtYXBab29tLCBnbG9iYWxfZGF0YSB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvaW50cyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucG9pbnRzX2RhdGEuaXRlbXMpO1xuICBjb25zdCBhcmVhcyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuYXJlYXNfZGF0YS5pdGVtcyk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICAvLyB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIGFyZWEsICdBcmVhJywgbWFwWm9vbSk7XG4gIGNvbnN0IFtMYXllckdyb3VwXSA9IHVzZVN0YXRlPGFueT4oTC5sYXllckdyb3VwKFtdKSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBoYW5kbGVTZWxlY3RJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcblxuICBjb25zdCBsb2NhbGUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGUsXG4gICk7XG5cbiAgY29uc3QgV1dUUE1hcExvZ2ljID0gKHBvbHlnb24sIGFyZWEpID0+IHtcbiAgICBpZiAoIVdXVFBNb2RlKSByZXR1cm47XG5cbiAgICAvL3BvbHlnb24uYWRkVG8obWFwKTtcblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIGxldCBkYXRhO1xuXG4gICAgICBjcmVhdGVQb3B1cEZvck9iamVjdCh7XG4gICAgICAgIHJlbmRlcmVkRWxlbWVudDogd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgICBtYXJrZXI6IHBvbHlnb24sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYXJlYVR5cGUgPSBhcmVhPy5pc192aXJ0dWFsID09PSB0cnVlID8gJ3ZhcmVhJyA6ICdhcmVhJztcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICAgIGAvYXBpX3VpL3d3dHBfcGFnZS8ke2FyZWFUeXBlfS8ke2FyZWEuYXJlYV9pZH0vY2FwYWNpdHk/bG9jYWxlPSR7bG9jYWxlfSZ3YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfWAsXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICB9XG5cbiAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgPFdpZGdldFxuICAgICAgICAgIG9iamVjdD17YXJlYX1cbiAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICBsaXN0RGF0YT17ZGF0YX1cbiAgICAgICAgLz4sXG4gICAgICAgIHdpZGdldENvbnRhaW5lcixcbiAgICAgICk7XG4gICAgICBpZiAoIXBvbHlnb24uaXNQb3B1cE9wZW4oKSkge1xuICAgICAgICBwb2x5Z29uLm9wZW5Qb3B1cCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBwb2x5Z29uLm9uKCdjbGljay1ldmVudCcsICgpID0+IHtcbiAgICAgIHBvbHlnb24uaXNQb3B1cE9wZW4oKSA/IHBvbHlnb24uY2xvc2VQb3B1cCgpIDogZmV0Y2hEYXRhQW5kU2hvd1BvcHVwKCk7XG4gICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoTGF5ZXJHcm91cC5nZXRMYXllcnMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKExheWVyR3JvdXAsIG1hcFpvb20sIGFyZWEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwb2x5Z29uID0gY3JlYXRlUG9seWdvbihcbiAgICAgICAgYXJlYSxcbiAgICAgICAgbWFwWm9vbSxcbiAgICAgICAgTGF5ZXJHcm91cCxcbiAgICAgICAgbWFwLFxuICAgICAgICBXV1RQTWFwTG9naWMsXG4gICAgICAgIFdXVFBNb2RlID8gaGFuZGxlU2VsZWN0SXRlbSA6IG51bGwsXG4gICAgICApO1xuICAgICAgaWYgKHBvbHlnb24pIHtcbiAgICAgICAgbGV0IHN1YkFyZWFzID0gYXJlYS5zdWJfYXJlYXMubWFwKChzdWJBcmVhKSA9PiBzdWJBcmVhLmFyZWFfaWQpO1xuICAgICAgICBpZiAoc3ViQXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHBvbHlnb25bJ3N1Yl9hcmVhcyddID0gc3ViQXJlYXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG51bGwpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEFyZWFQb2x5Z29uKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFBcUUsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFWLHdCQUFBYyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFB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
|
|
83
|
+
const connector = (0, _reactRedux.connect)(null);
|
|
84
|
+
var _default = exports.default = connector(AreaPolygon);
|
|
85
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9MaXN0Q29udGV4dCIsIkFyZWFQb2x5Z29uIiwicHJvcHMiLCJMIiwibWFwIiwiYXJlYSIsIm1hcFpvb20iLCJnbG9iYWxfZGF0YSIsInBvaW50cyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwb2ludHNfZGF0YSIsIml0ZW1zIiwiYXJlYXMiLCJhcmVhc19kYXRhIiwiV1dUUE1vZGUiLCJ3d3RwX2Rhc2hib2FyZCIsIkxheWVyR3JvdXAiLCJ1c2VTdGF0ZSIsImxheWVyR3JvdXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiaGFuZGxlU2VsZWN0SXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsImxvY2FsZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0IiwiV1dUUE1hcExvZ2ljIiwicG9seWdvbiIsImZldGNoRGF0YUFuZFNob3dQb3B1cCIsIndpZGdldENvbnRhaW5lciIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImRhdGEiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImFyZWFUeXBlIiwiaXNfdmlydHVhbCIsInJlc3BvbnNlIiwiZmV0Y2giLCJjb25jYXQiLCJhcmVhX2lkIiwid2F0ZXJBdXRob3JpdHlJZCIsIm9rIiwianNvbiIsIlJlYWN0RE9NIiwicmVuZGVyIiwiZGVmYXVsdCIsIldpZGdldCIsIm9iamVjdCIsImxpc3REYXRhIiwiaXNQb3B1cE9wZW4iLCJvcGVuUG9wdXAiLCJvbiIsImNsb3NlUG9wdXAiLCJ1c2VFZmZlY3QiLCJnZXRMYXllcnMiLCJsZW5ndGgiLCJjcmVhdGVQb2x5Z29uIiwic3ViQXJlYXMiLCJzdWJfYXJlYXMiLCJzdWJBcmVhIiwiRnJhZ21lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2FyZWFzL0FyZWFQb2x5Z29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBjcmVhdGVQb2x5Z29uIH0gZnJvbSAnLi9BcmVhVXRpbHMnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldCc7XG5pbXBvcnQgeyBjcmVhdGVQb3B1cEZvck9iamVjdCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGFyZWE6IElBcmVhICYgeyBjb2xvcj86IHN0cmluZzsgc2hvd0NvbG9yT25seUluQm9yZGVycz86IGJvb2xlYW4gfTtcbiAgbWFwWm9vbTogbnVtYmVyO1xuICBnbG9iYWxfZGF0YTogYW55O1xuICBiaW5kUG9wdXA/OiBib29sZWFuO1xufTtcblxuY29uc3QgQXJlYVBvbHlnb246IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIG1hcCwgYXJlYSwgbWFwWm9vbSwgZ2xvYmFsX2RhdGEgfSA9IHByb3BzO1xuICBjb25zdCBwb2ludHMgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgY29uc3QgYXJlYXMgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmFyZWFzX2RhdGEuaXRlbXMpO1xuICBjb25zdCBXV1RQTW9kZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUud3d0cF9kYXNoYm9hcmQubWFwICE9PSBudWxsKTtcbiAgLy8gdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBhcmVhLCAnQXJlYScsIG1hcFpvb20pO1xuICBjb25zdCBbTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZTxhbnk+KEwubGF5ZXJHcm91cChbXSkpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG5cbiAgY29uc3QgbG9jYWxlID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlLFxuICApO1xuXG4gIGNvbnN0IFdXVFBNYXBMb2dpYyA9IChwb2x5Z29uLCBhcmVhKSA9PiB7XG4gICAgaWYgKCFXV1RQTW9kZSkgcmV0dXJuO1xuXG4gICAgLy9wb2x5Z29uLmFkZFRvKG1hcCk7XG5cbiAgICBjb25zdCBmZXRjaERhdGFBbmRTaG93UG9wdXAgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB3aWRnZXRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICBsZXQgZGF0YTtcblxuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiBwb2x5Z29uLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGFyZWFUeXBlID0gYXJlYT8uaXNfdmlydHVhbCA9PT0gdHJ1ZSA/ICd2YXJlYScgOiAnYXJlYSc7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgICBgL2FwaV91aS93d3RwX3BhZ2UvJHthcmVhVHlwZX0vJHthcmVhLmFyZWFfaWR9L2NhcGFjaXR5P2xvY2FsZT0ke2xvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH1gLFxuICAgICAgKTtcblxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgfVxuXG4gICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgIDxXaWRnZXRcbiAgICAgICAgICBvYmplY3Q9e2FyZWF9XG4gICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgbGlzdERhdGE9e2RhdGF9XG4gICAgICAgIC8+LFxuICAgICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgICApO1xuICAgICAgaWYgKCFwb2x5Z29uLmlzUG9wdXBPcGVuKCkpIHtcbiAgICAgICAgcG9seWdvbi5vcGVuUG9wdXAoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcG9seWdvbi5vbignY2xpY2stZXZlbnQnLCAoKSA9PiB7XG4gICAgICBwb2x5Z29uLmlzUG9wdXBPcGVuKCkgPyBwb2x5Z29uLmNsb3NlUG9wdXAoKSA6IGZldGNoRGF0YUFuZFNob3dQb3B1cCgpO1xuICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKExheWVyR3JvdXAuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCkge1xuICAgICAgLy8gYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChMYXllckdyb3VwLCBtYXBab29tLCBhcmVhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcG9seWdvbiA9IGNyZWF0ZVBvbHlnb24oXG4gICAgICAgIGFyZWEsXG4gICAgICAgIG1hcFpvb20sXG4gICAgICAgIExheWVyR3JvdXAsXG4gICAgICAgIG1hcCxcbiAgICAgICAgV1dUUE1hcExvZ2ljLFxuICAgICAgICBXV1RQTW9kZSA/IGhhbmRsZVNlbGVjdEl0ZW0gOiBudWxsLFxuICAgICAgKTtcbiAgICAgIGlmIChwb2x5Z29uKSB7XG4gICAgICAgIGxldCBzdWJBcmVhcyA9IGFyZWEuc3ViX2FyZWFzLm1hcCgoc3ViQXJlYSkgPT4gc3ViQXJlYS5hcmVhX2lkKTtcbiAgICAgICAgaWYgKHN1YkFyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBwb2x5Z29uWydzdWJfYXJlYXMnXSA9IHN1YkFyZWFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihBcmVhUG9seWdvbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sWUFBQSxHQUFBUCxPQUFBO0FBV0EsTUFBTVEsV0FBNEIsR0FBSUMsS0FBSyxJQUFLO0VBQzlDLE1BQU07SUFBRUMsQ0FBQztJQUFFQyxHQUFHO0lBQUVDLElBQUk7SUFBRUMsT0FBTztJQUFFQztFQUFZLENBQUMsR0FBR0wsS0FBSztFQUNwRCxNQUFNTSxNQUFN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
|