@kando-env/kando-ui 1.2.466-alpha.7 → 1.2.466-alpha.9
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 +81 -40
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +35 -24
- package/lib/Widgets/EventsRow/EventsRow.js +39 -26
- package/lib/Widgets/Map/GraphUtils.js +6 -4
- package/lib/Widgets/Map/Map.js +139 -100
- package/lib/Widgets/Map/MapUtils.js +102 -83
- package/lib/Widgets/Map/areas/AreaPolygon.js +84 -57
- package/lib/Widgets/Map/areas/AreaPolygons.js +25 -23
- package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
- package/lib/Widgets/Map/areas/Patterns.js +5 -5
- package/lib/Widgets/Map/edges/Edge.js +41 -32
- package/lib/Widgets/Map/edges/Edges.js +24 -19
- package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
- package/lib/Widgets/Map/events/Event.js +14 -15
- package/lib/Widgets/Map/events/EventIndicator.js +63 -66
- package/lib/Widgets/Map/events/EventPath.js +34 -33
- package/lib/Widgets/Map/events/EventUtils.js +78 -54
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +19 -17
- package/lib/Widgets/Map/events/PointOfEvent.js +36 -27
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +39 -29
- package/lib/Widgets/Map/events/Snail.js +11 -10
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +79 -77
- package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
- package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
- package/lib/Widgets/Map/points/PointIcon.js +22 -23
- package/lib/Widgets/Map/points/PointMarker.js +88 -68
- package/lib/Widgets/Map/points/PointMarkers.js +36 -30
- package/lib/Widgets/Map/points/PointUtils.js +90 -76
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +43 -25
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -11
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +14 -11
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
- package/lib/Widgets/MostPolluting/Areas/Areas.js +60 -28
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
- package/lib/Widgets/MostPolluting/Factories/Factories.js +65 -33
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +20 -15
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +20 -15
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +10 -9
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
- package/lib/Widgets/MostPolluting/MostPolluting.js +34 -23
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
- package/lib/Widgets/MostPolluting/assets/index.js +12 -12
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +54 -49
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +40 -44
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -28
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +49 -53
- package/lib/Widgets/MostPolluting/models.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +6 -4
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
- package/lib/Widgets/PotentialImpactSummary/Icon.js +39 -30
- package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
- package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
- package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
- package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +31 -34
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -28
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
- package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
- package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/styles.js +21 -24
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +21 -26
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +36 -23
- package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
- package/lib/Widgets/UtilityInformation/styles.js +31 -30
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
- package/lib/assets/icons/TopNavbar/index.js +7 -7
- package/lib/assets/icons/TrendSvg.js +7 -7
- package/lib/assets/icons/index.js +16 -16
- package/lib/assets/icons/kandoStepper/index.js +7 -7
- package/lib/assets/icons/siteTypes/index.js +2 -2
- package/lib/components/ApplyButton/ApplyButton.js +11 -10
- package/lib/components/ApplyButton/index.js +4 -3
- package/lib/components/Backdrop/Backdrop.js +5 -7
- package/lib/components/ContentLoader/ContentLoader.js +10 -12
- package/lib/components/ContentLoader/index.js +2 -2
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -12
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -5
- package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +20 -12
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
- package/lib/components/CustomInputs/Search/Search.js +60 -37
- package/lib/components/CustomInputs/Search/index.js +4 -3
- package/lib/components/CustomInputs/Select/Select.js +55 -38
- package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
- package/lib/components/DamageType/DamageType.js +60 -35
- package/lib/components/DamageType/index.js +4 -3
- package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +73 -72
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -25
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
- package/lib/components/DischargeHeatmap/index.js +4 -3
- package/lib/components/DischargeHeatmap/mocks/handlers.js +6 -5
- package/lib/components/DischargeHeatmap/popupText.js +12 -11
- package/lib/components/DischargeHeatmap/titles.js +6 -4
- package/lib/components/DischargeHeatmap/types.js +1 -1
- package/lib/components/ErrorBoundary.js +42 -27
- package/lib/components/Events/Events.js +48 -29
- package/lib/components/Events/index.js +4 -3
- package/lib/components/Graph/Graph.js +95 -74
- package/lib/components/Graph/index.js +4 -3
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
- package/lib/components/Header/Breadcrumbs/index.js +4 -3
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +28 -18
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
- package/lib/components/Header/DoubleTabs/styles.js +8 -5
- package/lib/components/Header/Header.js +3 -3
- package/lib/components/Header/Header.stories.js +9 -5
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +36 -24
- package/lib/components/Header/InfoBar/InfoBar.js +102 -69
- package/lib/components/Header/InfoBar/Search/Control.js +10 -11
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -8
- package/lib/components/Header/InfoBar/Search/Search.js +24 -17
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +35 -21
- package/lib/components/Header/InfoBar/Search/index.js +4 -3
- package/lib/components/Header/InfoBar/Search/searchStyle.js +49 -36
- package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
- package/lib/components/Header/InfoBar/types.js +1 -1
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +93 -66
- package/lib/components/Header/KandoNavbar/index.js +4 -3
- package/lib/components/Header/Slideshow/Slideshow.js +91 -67
- package/lib/components/Header/Slideshow/index.js +4 -3
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +17 -17
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +42 -36
- package/lib/components/Header/Toolbar/Toolbar.js +76 -58
- package/lib/components/InfoBar/InfoBar.js +24 -10
- package/lib/components/InfoBar/InfoBar.stories.js +9 -5
- package/lib/components/KandoModal/KandoModal.js +62 -26
- package/lib/components/KandoModal/index.js +4 -3
- package/lib/components/Link.js +8 -9
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +7 -10
- package/lib/components/Links/StyledLink/StyledLink.js +20 -17
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +10 -12
- package/lib/components/LiveEvents/CarouselSlide.js +10 -11
- package/lib/components/LiveEvents/LiveEvents.js +6 -7
- package/lib/components/LiveEvents/index.js +4 -3
- package/lib/components/LoaderByPercent/LoaderByPercent.js +30 -37
- package/lib/components/Map/Map.js +25 -20
- package/lib/components/Map/index.js +4 -3
- package/lib/components/Modal/Modal.js +10 -10
- package/lib/components/NarrowHeader.js +32 -18
- package/lib/components/PointInfo/PointInfo.js +19 -20
- package/lib/components/PointInfo/index.js +4 -3
- package/lib/components/PopupModal/PopupModal.js +17 -13
- package/lib/components/PopupModal/PopupModal.stories.js +24 -17
- package/lib/components/SeasonalInsights/SeasonalInsights.js +147 -0
- package/lib/components/Sector/Sector.js +40 -34
- package/lib/components/Sector/Sector.test.js +24 -24
- package/lib/components/Sector/SectorIconsNew.js +19 -26
- package/lib/components/Sector/index.js +4 -3
- package/lib/components/Sector/sectorIcons.js +5 -4
- package/lib/components/SevereEvent/Eta/Eta.js +54 -49
- package/lib/components/SevereEvent/Eta/styles.js +8 -11
- package/lib/components/SevereEvent/SevereEvent.js +52 -28
- package/lib/components/SevereEvent/SevereEvent.scss +24 -0
- package/lib/components/SevereEvent/UpstreamBadge.js +60 -0
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +11 -6
- package/lib/components/Spinner/index.js +4 -3
- package/lib/components/Spinner/styles.js +16 -21
- package/lib/components/Tabs/Tabs.js +31 -18
- package/lib/components/Tabs/Tabs.stories.js +10 -6
- package/lib/components/Tabs/assets/index.js +6 -6
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +45 -32
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +22 -17
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +14 -13
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
- package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +27 -17
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -26
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
- package/lib/components/TimeRangeSelector/constants.js +5 -3
- package/lib/components/TimeRangeSelector/index.js +4 -3
- package/lib/components/Toggle/Toggle.js +18 -11
- package/lib/components/Toggle/index.js +4 -3
- package/lib/components/TopBanner/TopBanner.js +235 -0
- package/lib/components/TopBanner/insightsDismissalStorage.js +36 -0
- package/lib/components/TrendGraph/TrendGraph.js +42 -24
- package/lib/components/TrendGraph/index.js +4 -3
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
- package/lib/components/TrendGraphNVL/index.js +4 -3
- package/lib/development-environment/index.js +13 -9
- package/lib/development-environment/mock/browser.js +5 -2
- package/lib/development-environment/mock/get.js +10 -8
- package/lib/development-environment/mock/handlers.js +3 -2
- package/lib/development-environment/mock/mockBus.js +5 -4
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
- package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
- package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
- package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
- package/lib/development-environment/togly/ToglyDashboard.js +23 -13
- package/lib/development-environment/togly/ToglyItem.js +31 -24
- package/lib/development-environment/togly/flags.js +1 -1
- package/lib/development-environment/togly/init.js +4 -4
- package/lib/development-environment/togly/macro.js +9 -13
- package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
- package/lib/development-environment/togly/useLocalStorage.js +18 -13
- package/lib/hooks/useApi.js +56 -20
- package/lib/hooks/useApiWithDashboardQuery.js +43 -23
- package/lib/hooks/useClickOutside.js +5 -4
- package/lib/hooks/useInitializeHeaders.js +6 -6
- package/lib/hooks/useKandoFetch.js +31 -17
- package/lib/hooks/useMap.js +37 -25
- package/lib/hooks/useNavContext.js +26 -22
- package/lib/hooks/useQueryURL.js +3 -2
- package/lib/hooks/useRemoveExistingLayers.js +8 -7
- package/lib/hooks/useUpdateEventBodyTail.js +19 -14
- package/lib/hooks/useUserTimeZone.js +31 -34
- package/lib/hooks/useUserTimeZone.test.js +23 -19
- package/lib/hooks/useWindowSize.js +14 -7
- package/lib/i18n/en.json +15 -3
- package/lib/i18n/fr.json +4 -0
- package/lib/i18n/he.json +12 -1
- package/lib/i18n/it.json +4 -0
- package/lib/index.js +13 -11
- package/lib/macros/getVersion.js +2 -2
- package/lib/models/IAction.js +1 -1
- package/lib/models/IAppState.js +1 -1
- package/lib/pages/AreaPage/AreaPage.js +68 -34
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -15
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +28 -26
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +23 -14
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +5 -5
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +10 -10
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
- package/lib/pages/AssessmentPage/AssessmentPage.js +46 -38
- package/lib/pages/CannyWidget/Feedback.js +16 -14
- package/lib/pages/CovidPage/CovidPage.js +16 -9
- package/lib/pages/CovidPage/components/Body.js +30 -26
- package/lib/pages/CovidPage/components/Map.js +40 -28
- package/lib/pages/CovidPage/components/Sidebar.js +16 -15
- package/lib/pages/CovidPage/components/Summary.js +29 -20
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
- package/lib/pages/CovidPage/components/areas/Area.js +36 -24
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +46 -45
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
- package/lib/pages/CovidPage/components/areas/AreasList.js +42 -29
- package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +27 -27
- package/lib/pages/DashboardMap/AssessmentIcon.js +7 -8
- package/lib/pages/DashboardMap/Capacity.js +77 -28
- package/lib/pages/DashboardMap/FactoryCard.js +24 -28
- package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
- package/lib/pages/DashboardMap/List.js +65 -55
- package/lib/pages/DashboardMap/ListContext.js +19 -14
- package/lib/pages/DashboardMap/Loader.js +3 -3
- package/lib/pages/DashboardMap/SeverityBadge.js +24 -16
- package/lib/pages/DashboardMap/WWTPMap.js +71 -57
- package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
- package/lib/pages/DashboardMap/Widget.js +67 -48
- package/lib/pages/DashboardMap/index.js +4 -3
- package/lib/pages/DashboardMap/utils.js +60 -41
- package/lib/pages/EventsPage/Body/Body.js +12 -15
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -16
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
- package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +38 -30
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -14
- package/lib/pages/EventsPage/EventsPage.js +17 -10
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +40 -26
- package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
- package/lib/pages/EventsPage/events/Sidebar.js +11 -14
- package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +10 -9
- package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +24 -19
- package/lib/pages/EventsPage/events/event_info/Contaminants/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +33 -35
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +60 -50
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
- package/lib/pages/EventsPage/events/event_info/EventSection.js +21 -18
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +23 -29
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +50 -39
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +35 -30
- package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +7 -6
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +15 -14
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +12 -9
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +22 -13
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +6 -7
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +12 -13
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +28 -22
- package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +10 -13
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +9 -8
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +9 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +5 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +11 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +5 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +14 -11
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +19 -18
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +12 -13
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +19 -23
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +11 -12
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +7 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +40 -25
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -27
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +27 -22
- package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
- package/lib/pages/EventsPage/events/events_list/EventItem.js +21 -18
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
- package/lib/pages/EventsPage/events/events_list/EventsList.js +142 -111
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +58 -41
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +135 -90
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +76 -54
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +41 -32
- package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +21 -19
- package/lib/pages/EventsPage/events/events_list/Sort.js +39 -28
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +22 -14
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
- package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
- package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
- package/lib/pages/ImportFileWizard/ValidationForm.js +23 -23
- package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
- package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
- package/lib/pages/ImportFileWizard/index.js +4 -3
- package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +44 -38
- package/lib/pages/ImportGisPage/importGisUtils.js +52 -43
- package/lib/pages/ImportGisProcess/index.js +18 -14
- package/lib/pages/ImportSiteProcess/index.js +18 -14
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +60 -28
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
- package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
- package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
- package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
- package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
- package/lib/pages/NotificationsPage/assets/index.js +10 -10
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +101 -72
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +65 -95
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +15 -13
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +17 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +22 -18
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +22 -18
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +23 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +71 -82
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +23 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -71
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +94 -80
- package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -40
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +132 -56
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +19 -16
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +23 -27
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +30 -28
- package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +12 -16
- package/lib/pages/OperationsPage/LeftPanel.js +55 -35
- package/lib/pages/OperationsPage/Map/Map.js +12 -12
- package/lib/pages/OperationsPage/Map/useMap.js +64 -52
- package/lib/pages/OperationsPage/OperationsContainerPage.js +59 -32
- package/lib/pages/OperationsPage/OperationsFilePage.js +12 -10
- package/lib/pages/OperationsPage/OperationsUtilityPage.js +6 -5
- package/lib/pages/OperationsPage/RightPanel.js +25 -22
- package/lib/pages/OperationsPage/index.js +4 -4
- package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +60 -27
- package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +25 -19
- package/lib/pages/PollutionRiskAssessment/FilterButton.js +10 -11
- package/lib/pages/PollutionRiskAssessment/Map.js +42 -38
- package/lib/pages/PollutionRiskAssessment/SearchButton.js +10 -11
- package/lib/pages/PollutionRiskAssessment/SearchField.js +40 -26
- package/lib/pages/PollutionRiskAssessment/TotalSavings.js +16 -16
- package/lib/pages/PollutionRiskAssessment/UseCases.js +34 -32
- package/lib/pages/PollutionRiskAssessment/index.js +136 -76
- package/lib/pages/PollutionRiskAssessment/useMap.js +50 -34
- package/lib/pages/PollutionRiskAssessment/utils.js +7 -7
- package/lib/pages/ProfilePage/Container.js +4 -3
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +40 -23
- package/lib/pages/ProfilePage/ProfilePage.js +205 -106
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +30 -27
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +119 -57
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +45 -40
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +24 -25
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
- package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
- package/lib/pages/SamplingsPage/NavigationDropdown.js +31 -43
- package/lib/pages/SamplingsPage/NewSamplingAction.js +102 -75
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +98 -124
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +61 -36
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -10
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +193 -108
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +54 -47
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +39 -42
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +39 -42
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +28 -21
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +53 -51
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
- package/lib/pages/SamplingsPage/SamplingsPage.js +33 -25
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +58 -49
- package/lib/pages/SamplingsPage/index.js +3 -2
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +83 -52
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -7
- package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +16 -16
- package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +16 -12
- package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
- package/lib/pages/SitePage/PollutionContributor/index.js +4 -3
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -12
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -10
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
- package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +41 -32
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
- package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +12 -16
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
- package/lib/pages/SitePage/SitePage.js +77 -37
- package/lib/pages/UploadLabResult/index.js +16 -15
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +50 -47
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +5 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +8 -8
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +30 -20
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -15
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -7
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +31 -26
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
- package/lib/pages/WbeDashboard/GraphWrapper.js +35 -28
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
- package/lib/pages/WbeDashboard/SearchInput.js +21 -15
- package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +210 -147
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +48 -39
- package/lib/pages/WwtpPage/DashboardCard.js +21 -25
- package/lib/pages/WwtpPage/DischargePatternCard.js +25 -14
- package/lib/pages/WwtpPage/InletsCard/InletsBar.js +11 -11
- package/lib/pages/WwtpPage/InletsCard/InletsCard.js +22 -22
- package/lib/pages/WwtpPage/InletsCard/index.js +4 -3
- package/lib/pages/WwtpPage/Map.js +6 -6
- package/lib/pages/WwtpPage/OrganicCard.js +5 -4
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +7 -8
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
- package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
- package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
- package/lib/pages/WwtpPage/PredictionCard.js +5 -4
- package/lib/pages/WwtpPage/TrendCard.js +22 -20
- package/lib/pages/WwtpPage/UpgradeBox.js +5 -4
- package/lib/pages/WwtpPage/WwtpPage.js +8 -9
- package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
- package/lib/pages/WwtpPage/index.js +4 -3
- package/lib/providers/Slideshow/SlideshowContext.js +10 -11
- package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
- package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
- package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
- package/lib/providers/UrlHistory/index.js +4 -4
- package/lib/providers/UrlHistory/useLastVisited.js +6 -5
- package/lib/react-app-env.d.js +1 -1
- package/lib/store/ImportGis/action.js +1 -1
- package/lib/store/ImportGis/actionTypes.js +5 -4
- package/lib/store/ImportGis/actionsCreator.js +5 -7
- package/lib/store/ImportGis/models/gisImports.js +1 -1
- package/lib/store/ImportGis/reducer.js +7 -9
- package/lib/store/WBE/actionTypes.js +3 -2
- package/lib/store/WBE/actions.js +1 -1
- package/lib/store/WBE/models/IAreaWBE.js +1 -1
- package/lib/store/WBE/models/IWBE.js +1 -1
- package/lib/store/WBE/models/IWBEState.js +1 -1
- package/lib/store/WBE/reducer.js +8 -10
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
- package/lib/store/WWTPDashboard/types.js +1 -1
- package/lib/store/areas/actionTypes.js +7 -4
- package/lib/store/areas/actions.js +13 -7
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/areas/models/IAreasState.js +1 -1
- package/lib/store/areas/reducer.js +6 -8
- package/lib/store/context/actionTypes.js +5 -3
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +18 -15
- package/lib/store/context/models/INavContext.js +1 -1
- package/lib/store/context/models/INavContextState.js +1 -1
- package/lib/store/context/reducer.js +8 -10
- package/lib/store/dashboard/dashboardSlice.js +11 -18
- package/lib/store/dashboard/periodType.js +1 -1
- package/lib/store/edges/actionTypes.js +9 -5
- package/lib/store/edges/actions.js +8 -4
- package/lib/store/edges/models/IEdge.js +1 -1
- package/lib/store/edges/models/IEdgesState.js +1 -1
- package/lib/store/edges/reducer.js +17 -13
- package/lib/store/events/actionTypes.js +33 -17
- package/lib/store/events/actions.js +7 -3
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/models/IEventsState.js +1 -1
- package/lib/store/events/models/ISource.js +1 -1
- package/lib/store/events/reducer.js +39 -28
- package/lib/store/filters/IFilter.js +1 -1
- package/lib/store/filters/IFilterItem.js +1 -1
- package/lib/store/global/actionTypes.js +21 -11
- package/lib/store/global/actions.js +6 -8
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/global/reducer.js +7 -9
- package/lib/store/permissions/permissionsSlice.js +9 -12
- package/lib/store/points/actionTypes.js +5 -3
- package/lib/store/points/actions.js +10 -6
- package/lib/store/points/models/IGeoPoint.js +1 -1
- package/lib/store/points/models/IGroup.js +1 -1
- package/lib/store/points/models/IIssue.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/store/points/models/IPointsState.js +1 -1
- package/lib/store/points/reducer.js +5 -7
- package/lib/store/rootActionTypes.js +3 -2
- package/lib/store/rootActions.js +1 -1
- package/lib/store/rootReducer.js +10 -12
- package/lib/store/rootStore.js +6 -6
- package/lib/store/samplings/action.js +1 -1
- package/lib/store/samplings/actionTypes.js +5 -4
- package/lib/store/samplings/actionsCreator.js +1 -1
- package/lib/store/samplings/models/Samplings.js +1 -1
- package/lib/store/samplings/reducer.js +10 -10
- package/lib/styles/StylesLayout.js +6 -7
- package/lib/styles/theme/theme.js +26 -23
- package/lib/test/mocks/browser.js +5 -2
- package/lib/test/test-utils.js +9 -12
- package/lib/ui-kit/Alert/KandoAlert.js +6 -8
- package/lib/ui-kit/Button/Button.js +83 -129
- package/lib/ui-kit/Button/Button.test.js +33 -27
- package/lib/ui-kit/Button/ButtonUtils.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +27 -34
- package/lib/ui-kit/ContentCard/ContentCard.js +20 -16
- package/lib/ui-kit/Dashboard/Dashboard.js +28 -29
- package/lib/ui-kit/Dashboard/index.js +4 -3
- package/lib/ui-kit/DropDown/DropDown.js +22 -23
- package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
- package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
- package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
- package/lib/ui-kit/EmptyState/EmptyState.js +6 -7
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +81 -69
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +167 -89
- package/lib/ui-kit/HierarchyGraph/LeafSign.js +7 -7
- package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +19 -17
- package/lib/ui-kit/HierarchyGraph/NodeIcon.js +8 -9
- package/lib/ui-kit/HierarchyGraph/NodeLayout.js +25 -22
- package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +10 -11
- package/lib/ui-kit/HierarchyGraph/ScoreNode.js +9 -10
- package/lib/ui-kit/HierarchyGraph/index.js +4 -3
- package/lib/ui-kit/HierarchyGraph/utils.js +67 -57
- package/lib/ui-kit/IconAction/IconAction.js +8 -9
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +64 -47
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +49 -58
- package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
- package/lib/ui-kit/InletsPie/index.js +4 -3
- package/lib/ui-kit/InletsPie/options.js +9 -7
- package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +38 -29
- package/lib/ui-kit/KandoFilter/KandoFilter.js +11 -10
- package/lib/ui-kit/KandoList/KandoList.js +12 -13
- package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
- package/lib/ui-kit/KandoTable/KandoTable.test.js +27 -21
- package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +7 -8
- package/lib/ui-kit/MobileInput/MobileInput.js +50 -56
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
- package/lib/ui-kit/ModalConfirmation/index.js +3 -2
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -9
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +22 -26
- package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
- package/lib/ui-kit/OrganicEvents/index.js +4 -3
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +21 -17
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +24 -21
- package/lib/ui-kit/ScoreGauge/constant.js +4 -3
- package/lib/ui-kit/ScoreGauge/index.js +4 -3
- package/lib/ui-kit/TimeLineChart/TrendChart.js +28 -25
- package/lib/ui-kit/TimeLineChart/index.js +4 -3
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
- package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +14 -13
- package/lib/ui-kit/siteName/SiteName.js +11 -13
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +20 -23
- package/lib/utilities/Analytics.js +19 -19
- package/lib/utilities/Array.js +5 -4
- package/lib/utilities/Enum.js +51 -15
- package/lib/utilities/ErrorBoundary.js +42 -27
- package/lib/utilities/File.js +73 -45
- package/lib/utilities/GetDir.js +10 -10
- package/lib/utilities/KandoDate.js +15 -7
- package/lib/utilities/KandoModal.js +28 -16
- package/lib/utilities/LocalStorage.js +7 -5
- package/lib/utilities/ThousandsToK.js +2 -2
- package/lib/utilities/TimeFormat.js +23 -22
- package/lib/utilities/Truncate.js +27 -17
- package/lib/utilities/edgesMath.js +16 -15
- package/lib/utilities/i18n.js +6 -5
- package/lib/utilities/kql.js +12 -10
- package/lib/utilities/map/icons.js +18 -18
- package/lib/utilities/polylinedecorator.js +113 -88
- package/lib/utilities/scoreToData.js +26 -20
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +10 -9
- package/lib/utilities/uploadToS3.js +12 -12
- package/lib/utilities/urls.js +16 -19
- package/package.json +9 -12
|
@@ -1,29 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
4
|
-
var
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _reactBootstrap = require("react-bootstrap");
|
|
11
12
|
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
12
13
|
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
13
14
|
var _Sector = _interopRequireDefault(require("components/Sector"));
|
|
14
15
|
var _KandoFilter = _interopRequireDefault(require("ui-kit/KandoFilter/KandoFilter"));
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
var LeftPanel = function LeftPanel(_ref) {
|
|
19
|
+
var points = _ref.points,
|
|
20
|
+
selectedPoint = _ref.selectedPoint,
|
|
21
|
+
setSelectedPoint = _ref.setSelectedPoint,
|
|
22
|
+
_ref$onlyMonitored = _ref.onlyMonitored,
|
|
23
|
+
onlyMonitored = _ref$onlyMonitored === void 0 ? true : _ref$onlyMonitored,
|
|
24
|
+
filterOptions = _ref.filterOptions;
|
|
25
|
+
var _useState = (0, _react.useState)([]),
|
|
26
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
27
|
+
selectedFilters = _useState2[0],
|
|
28
|
+
setSelectedFilters = _useState2[1];
|
|
29
|
+
var _useState3 = (0, _react.useState)([]),
|
|
30
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
31
|
+
filteredPoints = _useState4[0],
|
|
32
|
+
setFilteredPoints = _useState4[1];
|
|
33
|
+
var maxIssues = 3;
|
|
34
|
+
var issuesIconColor = function issuesIconColor(length) {
|
|
27
35
|
if (length % maxIssues === 0) {
|
|
28
36
|
return 'icon-red';
|
|
29
37
|
} else if (length % maxIssues === 2) {
|
|
@@ -32,8 +40,8 @@ const LeftPanel = _ref => {
|
|
|
32
40
|
return 'icon-yellow';
|
|
33
41
|
}
|
|
34
42
|
};
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
var showIssues = function showIssues(point) {
|
|
44
|
+
var issuesLength = point === null || point === void 0 ? void 0 : point.issues.length;
|
|
37
45
|
if (issuesLength > 0) {
|
|
38
46
|
return /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
|
|
39
47
|
icon: _freeSolidSvgIcons.faExclamationTriangle,
|
|
@@ -42,16 +50,23 @@ const LeftPanel = _ref => {
|
|
|
42
50
|
}
|
|
43
51
|
return '';
|
|
44
52
|
};
|
|
45
|
-
|
|
46
|
-
|
|
53
|
+
var sortedPoints = points.sort(function (a, b) {
|
|
54
|
+
return b.issues.length - a.issues.length;
|
|
55
|
+
});
|
|
56
|
+
(0, _react.useEffect)(function () {
|
|
47
57
|
setFilteredPoints(sortedPoints);
|
|
48
58
|
}, [sortedPoints]);
|
|
49
|
-
(0, _react.useEffect)(()
|
|
50
|
-
|
|
59
|
+
(0, _react.useEffect)(function () {
|
|
60
|
+
var filteredPoints = sortedPoints.filter(function (point) {
|
|
51
61
|
if (selectedFilters.length === 0) {
|
|
52
62
|
return true; // Show all points if no filters are selected
|
|
53
63
|
}
|
|
54
|
-
|
|
64
|
+
|
|
65
|
+
return selectedFilters.some(function (filter) {
|
|
66
|
+
return point.issues.some(function (issue) {
|
|
67
|
+
return issue.type === filter.value;
|
|
68
|
+
});
|
|
69
|
+
});
|
|
55
70
|
});
|
|
56
71
|
setFilteredPoints(filteredPoints);
|
|
57
72
|
}, [selectedFilters]);
|
|
@@ -65,18 +80,23 @@ const LeftPanel = _ref => {
|
|
|
65
80
|
setSelectedFilters: setSelectedFilters
|
|
66
81
|
}))), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
67
82
|
className: "scrollable-list"
|
|
68
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, null, points.length > 0 && filteredPoints.map(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, null, points.length > 0 && filteredPoints.map(function (point) {
|
|
84
|
+
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
|
|
85
|
+
className: (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id) === point.id ? 'list-item list-item-selected' : 'list-item',
|
|
86
|
+
key: point.id,
|
|
87
|
+
onClick: function onClick() {
|
|
88
|
+
return setSelectedPoint(point);
|
|
89
|
+
}
|
|
90
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
91
|
+
className: "item-content"
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_Sector.default, {
|
|
93
|
+
sectorIconName: point.group.sector_icon_name,
|
|
94
|
+
sectorName: point.group.sector_name,
|
|
95
|
+
showLabel: false,
|
|
96
|
+
withTooltip: true
|
|
97
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, point.name)), showIssues(point));
|
|
98
|
+
}))))));
|
|
80
99
|
};
|
|
81
|
-
var _default =
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9TZWN0b3IiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0thbmRvRmlsdGVyIiwiTGVmdFBhbmVsIiwiX3JlZiIsInBvaW50cyIsInNlbGVjdGVkUG9pbnQiLCJzZXRTZWxlY3RlZFBvaW50Iiwib25seU1vbml0b3JlZCIsImZpbHRlck9wdGlvbnMiLCJzZWxlY3RlZEZpbHRlcnMiLCJzZXRTZWxlY3RlZEZpbHRlcnMiLCJ1c2VTdGF0ZSIsImZpbHRlcmVkUG9pbnRzIiwic2V0RmlsdGVyZWRQb2ludHMiLCJtYXhJc3N1ZXMiLCJpc3N1ZXNJY29uQ29sb3IiLCJsZW5ndGgiLCJzaG93SXNzdWVzIiwicG9pbnQiLCJpc3N1ZXNMZW5ndGgiLCJpc3N1ZXMiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUV4Y2xhbWF0aW9uVHJpYW5nbGUiLCJjbGFzc05hbWUiLCJzb3J0ZWRQb2ludHMiLCJzb3J0IiwiYSIsImIiLCJ1c2VFZmZlY3QiLCJmaWx0ZXIiLCJzb21lIiwiaXNzdWUiLCJ0eXBlIiwidmFsdWUiLCJDb250YWluZXIiLCJSb3ciLCJDb2wiLCJjb25jYXQiLCJMaXN0R3JvdXAiLCJtYXAiLCJJdGVtIiwiaWQiLCJrZXkiLCJvbkNsaWNrIiwic2VjdG9ySWNvbk5hbWUiLCJncm91cCIsInNlY3Rvcl9pY29uX25hbWUiLCJzZWN0b3JOYW1lIiwic2VjdG9yX25hbWUiLCJzaG93TGFiZWwiLCJ3aXRoVG9vbHRpcCIsIm5hbWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvTGVmdFBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wsIExpc3RHcm91cCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhRXhjbGFtYXRpb25UcmlhbmdsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgU2VjdG9yIGZyb20gJ3NyYy9jb21wb25lbnRzL1NlY3Rvcic7XG5pbXBvcnQgS2FuZG9GaWx0ZXIgZnJvbSAnc3JjL3VpLWtpdC9LYW5kb0ZpbHRlci9LYW5kb0ZpbHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVmdFBhbmVsUHJvcHMge1xuICBwb2ludHM6IElQb2ludFtdO1xuICBzZWxlY3RlZFBvaW50OiBJUG9pbnQgfCBudWxsO1xuICBzZXRTZWxlY3RlZFBvaW50OiAocG9pbnQ6IElQb2ludCkgPT4gdm9pZDtcbiAgZmlsdGVyT3B0aW9uczogeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgb25seU1vbml0b3JlZDogYm9vbGVhbjtcbn1cblxuY29uc3QgTGVmdFBhbmVsOiBSZWFjdC5GQzxMZWZ0UGFuZWxQcm9wcz4gPSAoe1xuICBwb2ludHMsXG4gIHNlbGVjdGVkUG9pbnQsXG4gIHNldFNlbGVjdGVkUG9pbnQsXG4gIG9ubHlNb25pdG9yZWQgPSB0cnVlLFxuICBmaWx0ZXJPcHRpb25zLFxufSkgPT4ge1xuICBjb25zdCBbc2VsZWN0ZWRGaWx0ZXJzLCBzZXRTZWxlY3RlZEZpbHRlcnNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbZmlsdGVyZWRQb2ludHMsIHNldEZpbHRlcmVkUG9pbnRzXSA9IHVzZVN0YXRlPElQb2ludFtdPihbXSk7XG4gIGNvbnN0IG1heElzc3VlcyA9IDM7XG4gIGNvbnN0IGlzc3Vlc0ljb25Db2xvciA9IChsZW5ndGgpID0+IHtcbiAgICBpZiAobGVuZ3RoICUgbWF4SXNzdWVzID09PSAwKSB7XG4gICAgICByZXR1cm4gJ2ljb24tcmVkJztcbiAgICB9IGVsc2UgaWYgKGxlbmd0aCAlIG1heElzc3VlcyA9PT0gMikge1xuICAgICAgcmV0dXJuICdpY29uLW9yYW5nZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnaWNvbi15ZWxsb3cnO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzaG93SXNzdWVzID0gKHBvaW50KSA9PiB7XG4gICAgY29uc3QgaXNzdWVzTGVuZ3RoID0gcG9pbnQ/Lmlzc3Vlcy5sZW5ndGg7XG4gICAgaWYgKGlzc3Vlc0xlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICBpY29uPXtmYUV4Y2xhbWF0aW9uVHJpYW5nbGV9XG4gICAgICAgICAgY2xhc3NOYW1lPXtpc3N1ZXNJY29uQ29sb3IoaXNzdWVzTGVuZ3RoKX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfTtcblxuICBjb25zdCBzb3J0ZWRQb2ludHMgPSBwb2ludHMuc29ydCgoYSwgYikgPT4gYi5pc3N1ZXMubGVuZ3RoIC0gYS5pc3N1ZXMubGVuZ3RoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEZpbHRlcmVkUG9pbnRzKHNvcnRlZFBvaW50cyk7XG4gIH0sIFtzb3J0ZWRQb2ludHNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcmVkUG9pbnRzID0gc29ydGVkUG9pbnRzLmZpbHRlcigocG9pbnQpID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZEZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBTaG93IGFsbCBwb2ludHMgaWYgbm8gZmlsdGVycyBhcmUgc2VsZWN0ZWRcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlbGVjdGVkRmlsdGVycy5zb21lKChmaWx0ZXIpID0+XG4gICAgICAgIHBvaW50Lmlzc3Vlcy5zb21lKChpc3N1ZSkgPT4gaXNzdWUudHlwZSA9PT0gZmlsdGVyLnZhbHVlKSxcbiAgICAgICk7XG4gICAgfSk7XG4gICAgc2V0RmlsdGVyZWRQb2ludHMoZmlsdGVyZWRQb2ludHMpO1xuICB9LCBbc2VsZWN0ZWRGaWx0ZXJzXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cIm10LTQgcGwtMyBwci0yXCI+XG4gICAgICA8Um93PlxuICAgICAgICA8Q29sPlxuICAgICAgICAgIDxoND57YCR7b25seU1vbml0b3JlZCA/ICdNb25pdG9yZWQgJyA6ICcnfU1hbmhvbGVzKCR7XG4gICAgICAgICAgICBmaWx0ZXJlZFBvaW50cy5sZW5ndGhcbiAgICAgICAgICB9KWB9PC9oND5cbiAgICAgICAgPC9Db2w+XG4gICAgICA8L1Jvdz5cbiAgICAgIDxSb3cgY2xhc3NOYW1lPVwibXQtMyBtYi0zXCI+XG4gICAgICAgIDxDb2w+XG4gICAgICAgICAgPEthbmRvRmlsdGVyXG4gICAgICAgICAgICBmaWx0ZXJPcHRpb25zPXtmaWx0ZXJPcHRpb25zfVxuICAgICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJzPXtzZWxlY3RlZEZpbHRlcnN9XG4gICAgICAgICAgICBzZXRTZWxlY3RlZEZpbHRlcnM9e3NldFNlbGVjdGVkRmlsdGVyc31cbiAgICAgICAgICA+PC9LYW5kb0ZpbHRlcj5cbiAgICAgICAgPC9Db2w+XG4gICAgICA8L1Jvdz5cbiAgICAgIDxSb3c+XG4gICAgICAgIDxDb2w+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzY3JvbGxhYmxlLWxpc3RcIj5cbiAgICAgICAgICAgIDxMaXN0R3JvdXA+XG4gICAgICAgICAgICAgIHtwb2ludHMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgIGZpbHRlcmVkUG9pbnRzLm1hcCgocG9pbnQpID0+IChcbiAgICAgICAgICAgICAgICAgIDxMaXN0R3JvdXAuSXRlbVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUG9pbnQ/LmlkID09PSBwb2ludC5pZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnbGlzdC1pdGVtIGxpc3QtaXRlbS1zZWxlY3RlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJ2xpc3QtaXRlbSdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e3BvaW50LmlkfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTZWxlY3RlZFBvaW50KHBvaW50KX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8U2VjdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWN0b3JJY29uTmFtZT17cG9pbnQuZ3JvdXAuc2VjdG9yX2ljb25fbmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0xhYmVsPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhUb29sdGlwPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgID48L1NlY3Rvcj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57cG9pbnQubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7c2hvd0lzc3Vlcyhwb2ludCl9XG4gICAgICAgICAgICAgICAgICA8L0xpc3RHcm91cC5JdGVtPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9MaXN0R3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQ29sPlxuICAgICAgPC9Sb3c+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMZWZ0UGFuZWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsaUJBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGtCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFELHNCQUFBLENBQUFMLE9BQUE7QUFVQSxNQUFNTyxTQUFtQyxHQUFHQyxJQUFBLElBTXRDO0VBQUEsSUFOdUM7SUFDM0NDLE1BQU07SUFDTkMsYUFBYTtJQUNiQyxnQkFBZ0I7SUFDaEJDLGFBQWEsR0FBRyxJQUFJO0lBQ3BCQztFQUNGLENBQUMsR0FBQUwsSUFBQTtFQUNDLE1BQU0sQ0FBQ00sZUFBZSxFQUFFQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUFDLGVBQVEsRUFBQyxFQUFFLENBQUM7RUFDMUQsTUFBTSxDQUFDQyxjQUFjLEVBQUVDLGlCQUFpQixDQUFDLEdBQUcsSUFBQUYsZUFBUSxFQUFXLEVBQUUsQ0FBQztFQUNsRSxNQUFNRyxTQUFTLEdBQUcsQ0FBQztFQUNuQixNQUFNQyxlQUFlLEdBQUlDLE1BQU0sSUFBSztJQUNsQyxJQUFJQSxNQUFNLEdBQUdGLFNBQVMsS0FBSyxDQUFDLEVBQUU7TUFDNUIsT0FBTyxVQUFVO0lBQ25CLENBQUMsTUFBTSxJQUFJRSxNQUFNLEdBQUdGLFNBQVMsS0FBSyxDQUFDLEVBQUU7TUFDbkMsT0FBTyxhQUFhO0lBQ3RCLENBQUMsTUFBTTtNQUNMLE9BQU8sYUFBYTtJQUN0QjtFQUNGLENBQUM7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
|
|
100
|
+
var _default = LeftPanel;
|
|
101
|
+
exports.default = _default;
|
|
102
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9TZWN0b3IiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0thbmRvRmlsdGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJMZWZ0UGFuZWwiLCJfcmVmIiwicG9pbnRzIiwic2VsZWN0ZWRQb2ludCIsInNldFNlbGVjdGVkUG9pbnQiLCJfcmVmJG9ubHlNb25pdG9yZWQiLCJvbmx5TW9uaXRvcmVkIiwiZmlsdGVyT3B0aW9ucyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNlbGVjdGVkRmlsdGVycyIsInNldFNlbGVjdGVkRmlsdGVycyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZmlsdGVyZWRQb2ludHMiLCJzZXRGaWx0ZXJlZFBvaW50cyIsIm1heElzc3VlcyIsImlzc3Vlc0ljb25Db2xvciIsImxlbmd0aCIsInNob3dJc3N1ZXMiLCJwb2ludCIsImlzc3Vlc0xlbmd0aCIsImlzc3VlcyIsImNyZWF0ZUVsZW1lbnQiLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFFeGNsYW1hdGlvblRyaWFuZ2xlIiwiY2xhc3NOYW1lIiwic29ydGVkUG9pbnRzIiwic29ydCIsImEiLCJiIiwidXNlRWZmZWN0IiwiZmlsdGVyIiwic29tZSIsImlzc3VlIiwidHlwZSIsInZhbHVlIiwiQ29udGFpbmVyIiwiUm93IiwiQ29sIiwiY29uY2F0IiwiTGlzdEdyb3VwIiwibWFwIiwiSXRlbSIsImlkIiwib25DbGljayIsInNlY3Rvckljb25OYW1lIiwiZ3JvdXAiLCJzZWN0b3JfaWNvbl9uYW1lIiwic2VjdG9yTmFtZSIsInNlY3Rvcl9uYW1lIiwic2hvd0xhYmVsIiwid2l0aFRvb2x0aXAiLCJuYW1lIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL09wZXJhdGlvbnNQYWdlL0xlZnRQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb250YWluZXIsIFJvdywgQ29sLCBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYUV4Y2xhbWF0aW9uVHJpYW5nbGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IFNlY3RvciBmcm9tICdzcmMvY29tcG9uZW50cy9TZWN0b3InO1xuaW1wb3J0IEthbmRvRmlsdGVyIGZyb20gJ3NyYy91aS1raXQvS2FuZG9GaWx0ZXIvS2FuZG9GaWx0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIExlZnRQYW5lbFByb3BzIHtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgc2VsZWN0ZWRQb2ludDogSVBvaW50IHwgbnVsbDtcbiAgc2V0U2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQ7XG4gIGZpbHRlck9wdGlvbnM6IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9W107XG4gIG9ubHlNb25pdG9yZWQ6IGJvb2xlYW47XG59XG5cbmNvbnN0IExlZnRQYW5lbDogUmVhY3QuRkM8TGVmdFBhbmVsUHJvcHM+ID0gKHtcbiAgcG9pbnRzLFxuICBzZWxlY3RlZFBvaW50LFxuICBzZXRTZWxlY3RlZFBvaW50LFxuICBvbmx5TW9uaXRvcmVkID0gdHJ1ZSxcbiAgZmlsdGVyT3B0aW9ucyxcbn0pID0+IHtcbiAgY29uc3QgW3NlbGVjdGVkRmlsdGVycywgc2V0U2VsZWN0ZWRGaWx0ZXJzXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgW2ZpbHRlcmVkUG9pbnRzLCBzZXRGaWx0ZXJlZFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXT4oW10pO1xuICBjb25zdCBtYXhJc3N1ZXMgPSAzO1xuICBjb25zdCBpc3N1ZXNJY29uQ29sb3IgPSAobGVuZ3RoKSA9PiB7XG4gICAgaWYgKGxlbmd0aCAlIG1heElzc3VlcyA9PT0gMCkge1xuICAgICAgcmV0dXJuICdpY29uLXJlZCc7XG4gICAgfSBlbHNlIGlmIChsZW5ndGggJSBtYXhJc3N1ZXMgPT09IDIpIHtcbiAgICAgIHJldHVybiAnaWNvbi1vcmFuZ2UnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ2ljb24teWVsbG93JztcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc2hvd0lzc3VlcyA9IChwb2ludCkgPT4ge1xuICAgIGNvbnN0IGlzc3Vlc0xlbmd0aCA9IHBvaW50Py5pc3N1ZXMubGVuZ3RoO1xuICAgIGlmIChpc3N1ZXNMZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgaWNvbj17ZmFFeGNsYW1hdGlvblRyaWFuZ2xlfVxuICAgICAgICAgIGNsYXNzTmFtZT17aXNzdWVzSWNvbkNvbG9yKGlzc3Vlc0xlbmd0aCl9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH07XG5cbiAgY29uc3Qgc29ydGVkUG9pbnRzID0gcG9pbnRzLnNvcnQoKGEsIGIpID0+IGIuaXNzdWVzLmxlbmd0aCAtIGEuaXNzdWVzLmxlbmd0aCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRGaWx0ZXJlZFBvaW50cyhzb3J0ZWRQb2ludHMpO1xuICB9LCBbc29ydGVkUG9pbnRzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBmaWx0ZXJlZFBvaW50cyA9IHNvcnRlZFBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRGaWx0ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gU2hvdyBhbGwgcG9pbnRzIGlmIG5vIGZpbHRlcnMgYXJlIHNlbGVjdGVkXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZWxlY3RlZEZpbHRlcnMuc29tZSgoZmlsdGVyKSA9PlxuICAgICAgICBwb2ludC5pc3N1ZXMuc29tZSgoaXNzdWUpID0+IGlzc3VlLnR5cGUgPT09IGZpbHRlci52YWx1ZSksXG4gICAgICApO1xuICAgIH0pO1xuICAgIHNldEZpbHRlcmVkUG9pbnRzKGZpbHRlcmVkUG9pbnRzKTtcbiAgfSwgW3NlbGVjdGVkRmlsdGVyc10pO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lciBjbGFzc05hbWU9XCJtdC00IHBsLTMgcHItMlwiPlxuICAgICAgPFJvdz5cbiAgICAgICAgPENvbD5cbiAgICAgICAgICA8aDQ+e2Ake29ubHlNb25pdG9yZWQgPyAnTW9uaXRvcmVkICcgOiAnJ31NYW5ob2xlcygke1xuICAgICAgICAgICAgZmlsdGVyZWRQb2ludHMubGVuZ3RoXG4gICAgICAgICAgfSlgfTwvaDQ+XG4gICAgICAgIDwvQ29sPlxuICAgICAgPC9Sb3c+XG4gICAgICA8Um93IGNsYXNzTmFtZT1cIm10LTMgbWItM1wiPlxuICAgICAgICA8Q29sPlxuICAgICAgICAgIDxLYW5kb0ZpbHRlclxuICAgICAgICAgICAgZmlsdGVyT3B0aW9ucz17ZmlsdGVyT3B0aW9uc31cbiAgICAgICAgICAgIHNlbGVjdGVkRmlsdGVycz17c2VsZWN0ZWRGaWx0ZXJzfVxuICAgICAgICAgICAgc2V0U2VsZWN0ZWRGaWx0ZXJzPXtzZXRTZWxlY3RlZEZpbHRlcnN9XG4gICAgICAgICAgPjwvS2FuZG9GaWx0ZXI+XG4gICAgICAgIDwvQ29sPlxuICAgICAgPC9Sb3c+XG4gICAgICA8Um93PlxuICAgICAgICA8Q29sPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2Nyb2xsYWJsZS1saXN0XCI+XG4gICAgICAgICAgICA8TGlzdEdyb3VwPlxuICAgICAgICAgICAgICB7cG9pbnRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZFBvaW50cy5tYXAoKHBvaW50KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8TGlzdEdyb3VwLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBvaW50Py5pZCA9PT0gcG9pbnQuaWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ2xpc3QtaXRlbSBsaXN0LWl0ZW0tc2VsZWN0ZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdsaXN0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtwb2ludC5pZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2VsZWN0ZWRQb2ludChwb2ludCl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VjdG9ySWNvbk5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9pY29uX25hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWN0b3JOYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dMYWJlbD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoVG9vbHRpcD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICA+PC9TZWN0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3BvaW50Lm5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAge3Nob3dJc3N1ZXMocG9pbnQpfVxuICAgICAgICAgICAgICAgICAgPC9MaXN0R3JvdXAuSXRlbT5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvTGlzdEdyb3VwPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0NvbD5cbiAgICAgIDwvUm93PlxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGVmdFBhbmVsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxpQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQUQsc0JBQUEsQ0FBQUwsT0FBQTtBQUE2RCxTQUFBTyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxp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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
4
|
-
var
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
@@ -9,15 +9,15 @@ exports.Map = void 0;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _useMap = require("./useMap");
|
|
11
11
|
var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
var Map = function Map(_ref) {
|
|
15
|
+
var points = _ref.points,
|
|
16
|
+
edges = _ref.edges,
|
|
17
|
+
areas = _ref.areas,
|
|
18
|
+
selectedPoint = _ref.selectedPoint,
|
|
19
|
+
updateSelectedPoint = _ref.updateSelectedPoint;
|
|
20
|
+
var mapRef = (0, _react.useRef)(null);
|
|
21
21
|
(0, _useMap.useMap)(mapRef, points, edges, areas, selectedPoint, updateSelectedPoint);
|
|
22
22
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
23
23
|
className: "map-container"
|
|
@@ -27,4 +27,4 @@ const Map = _ref => {
|
|
|
27
27
|
})));
|
|
28
28
|
};
|
|
29
29
|
exports.Map = Map;
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlTWFwIiwiX0Vycm9yQm91bmRhcnkiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwicG9pbnRzIiwiZWRnZXMiLCJhcmVhcyIsInNlbGVjdGVkUG9pbnQiLCJ1cGRhdGVTZWxlY3RlZFBvaW50IiwibWFwUmVmIiwidXNlUmVmIiwidXNlTWFwIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvTWFwL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1hcCB9IGZyb20gJy4vdXNlTWFwJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIHBvaW50czogSVBvaW50W107XG4gIGVkZ2VzOiBJRWRnZVtdO1xuICBhcmVhczogSUFyZWFbXTtcbiAgc2VsZWN0ZWRQb2ludDogSVBvaW50IHwgbnVsbDtcbiAgdXBkYXRlU2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIHBvaW50cyxcbiAgZWRnZXMsXG4gIGFyZWFzLFxuICBzZWxlY3RlZFBvaW50LFxuICB1cGRhdGVTZWxlY3RlZFBvaW50LFxufSkgPT4ge1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VNYXAobWFwUmVmLCBwb2ludHMsIGVkZ2VzLCBhcmVhcywgc2VsZWN0ZWRQb2ludCwgdXBkYXRlU2VsZWN0ZWRQb2ludCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1hcC1jb250YWluZXJcIj5cbiAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICA8ZGl2IHJlZj17bWFwUmVmfSBjbGFzc05hbWU9XCJtYXAtaGVpZ2h0c1wiIC8+XG4gICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUF3RCxTQUFBSSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQU4sd0JBQUFVLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUFhakQsSUFBTVcsR0FBdUIsR0FBRyxTQUExQkEsR0FBdUJBLENBQUFDLElBQUEsRUFNOUI7RUFBQSxJQUxKQyxNQUFNLEdBQUFELElBQUEsQ0FBTkMsTUFBTTtJQUNOQyxLQUFLLEdBQUFGLElBQUEsQ0FBTEUsS0FBSztJQUNMQyxLQUFLLEdBQUFILElBQUEsQ0FBTEcsS0FBSztJQUNMQyxhQUFhLEdBQUFKLElBQUEsQ0FBYkksYUFBYTtJQUNiQyxtQkFBbUIsR0FBQUwsSUFBQSxDQUFuQkssbUJBQW1CO0VBRW5CLElBQU1DLE1BQU0sR0FBRyxJQUFBQyxhQUFNLEVBQWlCLElBQUksQ0FBQztFQUMzQyxJQUFBQyxjQUFNLEVBQUNGLE1BQU0sRUFBRUwsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFFQyxtQkFBbUIsQ0FBQztFQUV4RSxvQkFDRW5DLE1BQUEsQ0FBQWMsT0FBQSxDQUFBeUIsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBZSxnQkFDNUJ4QyxNQUFBLENBQUFjLE9BQUEsQ0FBQXlCLGFBQUEsQ0FBQ25DLGNBQUEsQ0FBQVUsT0FBYSxxQkFDWmQsTUFBQSxDQUFBYyxPQUFBLENBQUF5QixhQUFBO0lBQUtFLEdBQUcsRUFBRUwsTUFBTztJQUFDSSxTQUFTLEVBQUM7RUFBYSxDQUFFLENBQzlCLENBQ1osQ0FBQztBQUVWLENBQUM7QUFBQ0UsT0FBQSxDQUFBYixHQUFBLEdBQUFBLEdBQUEifQ==
|
|
@@ -1,32 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.useMap = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
8
10
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
9
11
|
var _react = require("react");
|
|
10
12
|
var _PointIcon = require("Widgets/Map/points/PointIcon");
|
|
11
13
|
var _theme = require("styles/theme/theme");
|
|
12
14
|
var _MapUtils = require("Widgets/Map/MapUtils");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
var useMap = function useMap(mapRef, points, edges, areas, selectedPoint, updateSelectedPoint) {
|
|
16
|
+
var _useState = (0, _react.useState)(),
|
|
17
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
18
|
+
map = _useState2[0],
|
|
19
|
+
setMap = _useState2[1];
|
|
20
|
+
var _useState3 = (0, _react.useState)(null),
|
|
21
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
22
|
+
focusedMarker = _useState4[0],
|
|
23
|
+
setFocusedMarker = _useState4[1];
|
|
24
|
+
var focusedMarkerRef = (0, _react.useRef)(null);
|
|
25
|
+
var pointsLayerRef = (0, _react.useRef)();
|
|
26
|
+
var edgesLayerRef = (0, _react.useRef)();
|
|
27
|
+
var areasLayerRef = (0, _react.useRef)();
|
|
28
|
+
(0, _react.useEffect)(function () {
|
|
21
29
|
focusedMarkerRef.current = focusedMarker;
|
|
22
30
|
resetAllOthers();
|
|
23
31
|
}, [focusedMarker]);
|
|
24
|
-
(0, _react.useEffect)(()
|
|
32
|
+
(0, _react.useEffect)(function () {
|
|
25
33
|
if (!mapRef.current) {
|
|
26
34
|
return;
|
|
27
35
|
}
|
|
28
|
-
|
|
29
|
-
|
|
36
|
+
var mapTypes = (0, _MapUtils.baseMaps)(_theme.leafletMap.mapDefault, _theme.leafletMap.satellite);
|
|
37
|
+
var mapTemp = _leaflet.default.map(mapRef.current, {
|
|
30
38
|
renderer: _leaflet.default.canvas()
|
|
31
39
|
});
|
|
32
40
|
Object.values(mapTypes)[0].addTo(mapTemp);
|
|
@@ -34,7 +42,7 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
34
42
|
position: 'bottomright'
|
|
35
43
|
}).addTo(mapTemp);
|
|
36
44
|
setMap(mapTemp);
|
|
37
|
-
return ()
|
|
45
|
+
return function () {
|
|
38
46
|
if (!mapTemp) {
|
|
39
47
|
return;
|
|
40
48
|
}
|
|
@@ -42,22 +50,22 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
42
50
|
mapTemp.remove();
|
|
43
51
|
};
|
|
44
52
|
}, []);
|
|
45
|
-
|
|
53
|
+
var resetAllOthers = function resetAllOthers() {
|
|
46
54
|
var _pointsLayerRef$curre;
|
|
47
|
-
(_pointsLayerRef$curre = pointsLayerRef.current) === null || _pointsLayerRef$curre === void 0 ? void 0 : _pointsLayerRef$curre.eachLayer(marker
|
|
55
|
+
(_pointsLayerRef$curre = pointsLayerRef.current) === null || _pointsLayerRef$curre === void 0 ? void 0 : _pointsLayerRef$curre.eachLayer(function (marker) {
|
|
48
56
|
if (marker.options.kando_object_id !== (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id) && marker._isInside) {
|
|
49
57
|
marker.fire('mouseout');
|
|
50
58
|
}
|
|
51
59
|
});
|
|
52
60
|
};
|
|
53
|
-
(0, _react.useEffect)(()
|
|
61
|
+
(0, _react.useEffect)(function () {
|
|
54
62
|
if (selectedPoint === null) {
|
|
55
63
|
setFocusedMarker(null);
|
|
56
64
|
} else {
|
|
57
65
|
var _pointsLayerRef$curre2;
|
|
58
|
-
(_pointsLayerRef$curre2 = pointsLayerRef.current) === null || _pointsLayerRef$curre2 === void 0 ? void 0 : _pointsLayerRef$curre2.eachLayer(marker
|
|
66
|
+
(_pointsLayerRef$curre2 = pointsLayerRef.current) === null || _pointsLayerRef$curre2 === void 0 ? void 0 : _pointsLayerRef$curre2.eachLayer(function (marker) {
|
|
59
67
|
if (selectedPoint && marker.options.kando_object_id === (selectedPoint === null || selectedPoint === void 0 ? void 0 : selectedPoint.id)) {
|
|
60
|
-
if (!(map
|
|
68
|
+
if (!(map === null || map === void 0 ? void 0 : map.getBounds().contains(marker.getLatLng()))) {
|
|
61
69
|
map === null || map === void 0 ? void 0 : map.flyTo(marker.getLatLng(), map.getZoom(), {
|
|
62
70
|
duration: 0.5,
|
|
63
71
|
animate: false
|
|
@@ -70,10 +78,10 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
70
78
|
});
|
|
71
79
|
}
|
|
72
80
|
}, [selectedPoint]);
|
|
73
|
-
|
|
81
|
+
var handleMarkerClick = function handleMarkerClick(point) {
|
|
74
82
|
updateSelectedPoint(point);
|
|
75
83
|
};
|
|
76
|
-
|
|
84
|
+
var addMarkers = function addMarkers() {
|
|
77
85
|
if (!map || !points) {
|
|
78
86
|
return;
|
|
79
87
|
}
|
|
@@ -85,31 +93,31 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
85
93
|
pointsLayerRef.current = _leaflet.default.featureGroup();
|
|
86
94
|
pointsLayerRef.current.addTo(map);
|
|
87
95
|
if (!pointsLayerRef.current.getLayers().length) {
|
|
88
|
-
points.forEach(point
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
96
|
+
points.forEach(function (point) {
|
|
97
|
+
var type = point.has_device === true || point.group.type === 'Groups::WastewaterTreatmentPlant' ? point.group.type : 'Groups::default';
|
|
98
|
+
var hasIssues = 'issues' in point && !point.has_device;
|
|
99
|
+
var icon = (0, _PointIcon.getPointIconByType)(type, point.name, '', false, true, hasIssues, point.has_sampler, point.should_install);
|
|
100
|
+
var focusedIcon = (0, _PointIcon.getPointIconByType)(type, point.name, '', true, false, hasIssues, point.has_sampler, point.should_install);
|
|
93
101
|
if (point.latitude && point.longitude) {
|
|
94
102
|
var _pointsLayerRef$curre3;
|
|
95
|
-
|
|
103
|
+
var marker = getMarker(point);
|
|
96
104
|
marker.setIcon(icon);
|
|
97
105
|
// The use of marker._isInside is to overcome the issue that mouseover is endlessly triggered
|
|
98
106
|
// and we need it only once
|
|
99
|
-
marker.on('mouseover', ()
|
|
107
|
+
marker.on('mouseover', function () {
|
|
100
108
|
if (!marker._isInside) {
|
|
101
109
|
marker._isInside = true;
|
|
102
110
|
marker.setIcon(focusedIcon);
|
|
103
111
|
}
|
|
104
112
|
});
|
|
105
|
-
marker.on('mouseout', ()
|
|
113
|
+
marker.on('mouseout', function () {
|
|
106
114
|
var _focusedMarkerRef$cur;
|
|
107
115
|
if ((focusedMarkerRef === null || focusedMarkerRef === void 0 ? void 0 : (_focusedMarkerRef$cur = focusedMarkerRef.current) === null || _focusedMarkerRef$cur === void 0 ? void 0 : _focusedMarkerRef$cur._leaflet_id) !== (marker === null || marker === void 0 ? void 0 : marker._leaflet_id)) {
|
|
108
116
|
marker._isInside = false;
|
|
109
117
|
marker.setIcon(icon);
|
|
110
118
|
}
|
|
111
119
|
});
|
|
112
|
-
marker.on('click', ()
|
|
120
|
+
marker.on('click', function () {
|
|
113
121
|
var _focusedMarkerRef$cur2;
|
|
114
122
|
if ((focusedMarkerRef === null || focusedMarkerRef === void 0 ? void 0 : (_focusedMarkerRef$cur2 = focusedMarkerRef.current) === null || _focusedMarkerRef$cur2 === void 0 ? void 0 : _focusedMarkerRef$cur2._leaflet_id) === (marker === null || marker === void 0 ? void 0 : marker._leaflet_id)) {
|
|
115
123
|
setFocusedMarker(null);
|
|
@@ -123,17 +131,19 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
123
131
|
});
|
|
124
132
|
}
|
|
125
133
|
};
|
|
126
|
-
|
|
134
|
+
var getMarker = function getMarker(point) {
|
|
127
135
|
return _leaflet.default.marker([point.latitude, point.longitude], {
|
|
128
136
|
kando_object_id: point.id
|
|
129
137
|
});
|
|
130
138
|
};
|
|
131
|
-
|
|
139
|
+
var addEdges = function addEdges() {
|
|
132
140
|
if (!map || !edges) {
|
|
133
141
|
return;
|
|
134
142
|
}
|
|
135
|
-
|
|
136
|
-
points.forEach(
|
|
143
|
+
var pointLookup = new Map();
|
|
144
|
+
points.forEach(function (p) {
|
|
145
|
+
return pointLookup.set(p.id, p);
|
|
146
|
+
});
|
|
137
147
|
if (edgesLayerRef.current) {
|
|
138
148
|
if (map.hasLayer(edgesLayerRef.current)) {
|
|
139
149
|
map.removeLayer(edgesLayerRef.current);
|
|
@@ -141,22 +151,22 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
141
151
|
}
|
|
142
152
|
edgesLayerRef.current = _leaflet.default.featureGroup();
|
|
143
153
|
edgesLayerRef.current.addTo(map);
|
|
144
|
-
edges.forEach(edge
|
|
154
|
+
edges.forEach(function (edge) {
|
|
145
155
|
var _edgesLayerRef$curren, _edgesLayerRef$curren2;
|
|
146
|
-
|
|
147
|
-
|
|
156
|
+
var sourcePoint = pointLookup.get(edge.source_point_id);
|
|
157
|
+
var targetPoint = pointLookup.get(edge.target_point_id);
|
|
148
158
|
if (!sourcePoint || !targetPoint) {
|
|
149
159
|
return;
|
|
150
160
|
}
|
|
151
|
-
|
|
152
|
-
|
|
161
|
+
var latlngs = [[sourcePoint === null || sourcePoint === void 0 ? void 0 : sourcePoint.latitude, sourcePoint === null || sourcePoint === void 0 ? void 0 : sourcePoint.longitude], [targetPoint === null || targetPoint === void 0 ? void 0 : targetPoint.latitude, targetPoint === null || targetPoint === void 0 ? void 0 : targetPoint.longitude]];
|
|
162
|
+
var polyline = _leaflet.default.polyline(latlngs, {
|
|
153
163
|
color: 'black',
|
|
154
164
|
weight: 1,
|
|
155
165
|
opacity: 0.5,
|
|
156
166
|
smoothFactor: 1
|
|
157
167
|
});
|
|
158
168
|
(_edgesLayerRef$curren = edgesLayerRef.current) === null || _edgesLayerRef$curren === void 0 ? void 0 : _edgesLayerRef$curren.addLayer(polyline);
|
|
159
|
-
|
|
169
|
+
var decorator = _leaflet.default.polylineDecorator(polyline, {
|
|
160
170
|
patterns: [{
|
|
161
171
|
offset: 20,
|
|
162
172
|
repeat: 60,
|
|
@@ -175,7 +185,7 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
175
185
|
(_edgesLayerRef$curren2 = edgesLayerRef.current) === null || _edgesLayerRef$curren2 === void 0 ? void 0 : _edgesLayerRef$curren2.addLayer(decorator);
|
|
176
186
|
});
|
|
177
187
|
};
|
|
178
|
-
|
|
188
|
+
var addAreas = function addAreas() {
|
|
179
189
|
if (!map || !areas) {
|
|
180
190
|
return;
|
|
181
191
|
}
|
|
@@ -186,10 +196,10 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
186
196
|
}
|
|
187
197
|
areasLayerRef.current = _leaflet.default.featureGroup();
|
|
188
198
|
areasLayerRef.current.addTo(map);
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
areas.forEach(area
|
|
199
|
+
var flattenAreas = function flattenAreas() {
|
|
200
|
+
var areas = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
201
|
+
var allAreas = [];
|
|
202
|
+
areas.forEach(function (area) {
|
|
193
203
|
if (area.shape_data.length > 0) {
|
|
194
204
|
allAreas.push(area);
|
|
195
205
|
}
|
|
@@ -201,12 +211,14 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
201
211
|
});
|
|
202
212
|
|
|
203
213
|
// Remove duplicates
|
|
204
|
-
return
|
|
214
|
+
return (0, _toConsumableArray2.default)(new Map(allAreas.map(function (area) {
|
|
215
|
+
return [area.area_id, area];
|
|
216
|
+
})).values());
|
|
205
217
|
};
|
|
206
|
-
|
|
207
|
-
allAreas.forEach(area
|
|
218
|
+
var allAreas = flattenAreas(areas);
|
|
219
|
+
allAreas.forEach(function (area) {
|
|
208
220
|
var _areasLayerRef$curren;
|
|
209
|
-
|
|
221
|
+
var polygon = _leaflet.default.polygon(area.shape_data, {
|
|
210
222
|
color: 'black',
|
|
211
223
|
weight: 1,
|
|
212
224
|
opacity: 0.8,
|
|
@@ -222,16 +234,16 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
222
234
|
(_areasLayerRef$curren = areasLayerRef.current) === null || _areasLayerRef$curren === void 0 ? void 0 : _areasLayerRef$curren.addLayer(polygon);
|
|
223
235
|
});
|
|
224
236
|
};
|
|
225
|
-
|
|
237
|
+
var focusMap = function focusMap() {
|
|
226
238
|
if (map) {
|
|
227
|
-
if (pointsLayerRef
|
|
239
|
+
if ((pointsLayerRef === null || pointsLayerRef === void 0 ? void 0 : pointsLayerRef.current) && Array.isArray(pointsLayerRef.current.getLayers()) && pointsLayerRef.current.getLayers().length > 0) {
|
|
228
240
|
map.fitBounds(pointsLayerRef.current.getBounds());
|
|
229
241
|
} else {
|
|
230
242
|
map.setView([32.219157, 34.982481], 12);
|
|
231
243
|
}
|
|
232
244
|
}
|
|
233
245
|
};
|
|
234
|
-
(0, _react.useEffect)(()
|
|
246
|
+
(0, _react.useEffect)(function () {
|
|
235
247
|
if (map) {
|
|
236
248
|
addAreas();
|
|
237
249
|
addEdges();
|
|
@@ -242,4 +254,4 @@ const useMap = (mapRef, points, edges, areas, selectedPoint, updateSelectedPoint
|
|
|
242
254
|
return map;
|
|
243
255
|
};
|
|
244
256
|
exports.useMap = useMap;
|
|
245
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50SWNvbiIsIl90aGVtZSIsIl9NYXBVdGlscyIsInVzZU1hcCIsIm1hcFJlZiIsInBvaW50cyIsImVkZ2VzIiwiYXJlYXMiLCJzZWxlY3RlZFBvaW50IiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsIm1hcCIsInNldE1hcCIsInVzZVN0YXRlIiwiZm9jdXNlZE1hcmtlciIsInNldEZvY3VzZWRNYXJrZXIiLCJmb2N1c2VkTWFya2VyUmVmIiwidXNlUmVmIiwicG9pbnRzTGF5ZXJSZWYiLCJlZGdlc0xheWVyUmVmIiwiYXJlYXNMYXllclJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJyZXNldEFsbE90aGVycyIsIm1hcFR5cGVzIiwiYmFzZU1hcHMiLCJsZWFmbGV0TWFwIiwibWFwRGVmYXVsdCIsInNhdGVsbGl0ZSIsIm1hcFRlbXAiLCJMIiwicmVuZGVyZXIiLCJjYW52YXMiLCJPYmplY3QiLCJ2YWx1ZXMiLCJhZGRUbyIsImNvbnRyb2wiLCJsYXllcnMiLCJwb3NpdGlvbiIsIm9mZiIsInJlbW92ZSIsIl9wb2ludHNMYXllclJlZiRjdXJyZSIsImVhY2hMYXllciIsIm1hcmtlciIsIm9wdGlvbnMiLCJrYW5kb19vYmplY3RfaWQiLCJpZCIsIl9pc0luc2lkZSIsImZpcmUiLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUyIiwiZ2V0Qm91bmRzIiwiY29udGFpbnMiLCJnZXRMYXRMbmciLCJmbHlUbyIsImdldFpvb20iLCJkdXJhdGlvbiIsImFuaW1hdGUiLCJoYW5kbGVNYXJrZXJDbGljayIsInBvaW50IiwiYWRkTWFya2VycyIsImhhc0xheWVyIiwicmVtb3ZlTGF5ZXIiLCJmZWF0dXJlR3JvdXAiLCJnZXRMYXllcnMiLCJsZW5ndGgiLCJmb3JFYWNoIiwidHlwZSIsImhhc19kZXZpY2UiLCJncm91cCIsImhhc0lzc3VlcyIsImljb24iLCJnZXRQb2ludEljb25CeVR5cGUiLCJuYW1lIiwiaGFzX3NhbXBsZXIiLCJzaG91bGRfaW5zdGFsbCIsImZvY3VzZWRJY29uIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUzIiwiZ2V0TWFya2VyIiwic2V0SWNvbiIsIm9uIiwiX2ZvY3VzZWRNYXJrZXJSZWYkY3VyIiwiX2xlYWZsZXRfaWQiLCJfZm9jdXNlZE1hcmtlclJlZiRjdXIyIiwiYWRkTGF5ZXIiLCJhZGRFZGdlcyIsInBvaW50TG9va3VwIiwiTWFwIiwicCIsInNldCIsImVkZ2UiLCJfZWRnZXNMYXllclJlZiRjdXJyZW4iLCJfZWRnZXNMYXllclJlZiRjdXJyZW4yIiwic291cmNlUG9pbnQiLCJnZXQiLCJzb3VyY2VfcG9pbnRfaWQiLCJ0YXJnZXRQb2ludCIsInRhcmdldF9wb2ludF9pZCIsImxhdGxuZ3MiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0Iiwib3BhY2l0eSIsInNtb290aEZhY3RvciIsImRlY29yYXRvciIsInBvbHlsaW5lRGVjb3JhdG9yIiwicGF0dGVybnMiLCJvZmZzZXQiLCJyZXBlYXQiLCJzeW1ib2wiLCJTeW1ib2wiLCJhcnJvd0hlYWQiLCJwaXhlbFNpemUiLCJwb2x5Z29uIiwicGF0aE9wdGlvbnMiLCJzdHJva2UiLCJhZGRBcmVhcyIsImZsYXR0ZW5BcmVhcyIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsImFsbEFyZWFzIiwiYXJlYSIsInNoYXBlX2RhdGEiLCJwdXNoIiwiQXJyYXkiLCJpc0FycmF5Iiwic3ViX2FyZWFzIiwiY29uY2F0IiwiYXJlYV9pZCIsIl9hcmVhc0xheWVyUmVmJGN1cnJlbiIsImludGVyYWN0aXZlIiwiYmluZFRvb2x0aXAiLCJhcmVhX25hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJjbGFzc05hbWUiLCJmb2N1c01hcCIsImZpdEJvdW5kcyIsInNldFZpZXciLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL09wZXJhdGlvbnNQYWdlL01hcC91c2VNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IE1hcmtlciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdldFBvaW50SWNvbkJ5VHlwZSB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRJY29uJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICdzcmMvc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGJhc2VNYXBzIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcFV0aWxzJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcblxuZXhwb3J0IGNvbnN0IHVzZU1hcCA9IChcbiAgbWFwUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgYXJlYXM6IElBcmVhW10sXG4gIHNlbGVjdGVkUG9pbnQ6IElQb2ludCB8IG51bGwsXG4gIHVwZGF0ZVNlbGVjdGVkUG9pbnQ6IChwb2ludDogSVBvaW50KSA9PiB2b2lkLFxuKTogTC5NYXAgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBbbWFwLCBzZXRNYXBdID0gdXNlU3RhdGU8TC5NYXA+KCk7XG4gIGNvbnN0IFtmb2N1c2VkTWFya2VyLCBzZXRGb2N1c2VkTWFya2VyXSA9IHVzZVN0YXRlPE1hcmtlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBmb2N1c2VkTWFya2VyUmVmID0gdXNlUmVmPE1hcmtlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwb2ludHNMYXllclJlZiA9IHVzZVJlZjxMLkZlYXR1cmVHcm91cD4oKTtcbiAgY29uc3QgZWRnZXNMYXllclJlZiA9IHVzZVJlZjxMLkZlYXR1cmVHcm91cD4oKTtcbiAgY29uc3QgYXJlYXNMYXllclJlZiA9IHVzZVJlZjxMLkZlYXR1cmVHcm91cD4oKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZvY3VzZWRNYXJrZXJSZWYuY3VycmVudCA9IGZvY3VzZWRNYXJrZXI7XG4gICAgcmVzZXRBbGxPdGhlcnMoKTtcbiAgfSwgW2ZvY3VzZWRNYXJrZXJdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtYXBUeXBlcyA9IGJhc2VNYXBzKGxlYWZsZXRNYXAubWFwRGVmYXVsdCwgbGVhZmxldE1hcC5zYXRlbGxpdGUpO1xuICAgIGNvbnN0IG1hcFRlbXAgPSBMLm1hcChtYXBSZWYuY3VycmVudCwgeyByZW5kZXJlcjogTC5jYW52YXMoKSB9KTtcblxuICAgIE9iamVjdC52YWx1ZXMobWFwVHlwZXMpWzBdLmFkZFRvKG1hcFRlbXApO1xuXG4gICAgTC5jb250cm9sLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSkuYWRkVG8obWFwVGVtcCk7XG5cbiAgICBzZXRNYXAobWFwVGVtcCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKCFtYXBUZW1wKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG1hcFRlbXAub2ZmKCk7XG4gICAgICBtYXBUZW1wLnJlbW92ZSgpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICBjb25zdCByZXNldEFsbE90aGVycyA9ICgpID0+IHtcbiAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKG1hcmtlcikgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBtYXJrZXIub3B0aW9ucy5rYW5kb19vYmplY3RfaWQgIT09IHNlbGVjdGVkUG9pbnQ/LmlkICYmXG4gICAgICAgIG1hcmtlci5faXNJbnNpZGVcbiAgICAgICkge1xuICAgICAgICBtYXJrZXIuZmlyZSgnbW91c2VvdXQnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWxlY3RlZFBvaW50ID09PSBudWxsKSB7XG4gICAgICBzZXRGb2N1c2VkTWFya2VyKG51bGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKG1hcmtlcikgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgc2VsZWN0ZWRQb2ludCAmJlxuICAgICAgICAgIG1hcmtlci5vcHRpb25zLmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRQb2ludD8uaWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKCFtYXA/LmdldEJvdW5kcygpLmNvbnRhaW5zKG1hcmtlci5nZXRMYXRMbmcoKSkpIHtcbiAgICAgICAgICAgIG1hcD8uZmx5VG8obWFya2VyLmdldExhdExuZygpLCBtYXAuZ2V0Wm9vbSgpLCB7XG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAwLjUsXG4gICAgICAgICAgICAgIGFuaW1hdGU6IGZhbHNlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hcmtlci5maXJlKCdtb3VzZW92ZXInKTtcbiAgICAgICAgICBzZXRGb2N1c2VkTWFya2VyKG1hcmtlcik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtzZWxlY3RlZFBvaW50XSk7XG5cbiAgY29uc3QgaGFuZGxlTWFya2VyQ2xpY2sgPSAocG9pbnQpID0+IHtcbiAgICB1cGRhdGVTZWxlY3RlZFBvaW50KHBvaW50KTtcbiAgfTtcblxuICBjb25zdCBhZGRNYXJrZXJzID0gKCkgPT4ge1xuICAgIGlmICghbWFwIHx8ICFwb2ludHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocG9pbnRzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihwb2ludHNMYXllclJlZi5jdXJyZW50KSkge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocG9pbnRzTGF5ZXJSZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudC5hZGRUbyhtYXApO1xuXG4gICAgaWYgKCFwb2ludHNMYXllclJlZi5jdXJyZW50LmdldExheWVycygpLmxlbmd0aCkge1xuICAgICAgcG9pbnRzLmZvckVhY2goKHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGUgPVxuICAgICAgICAgIHBvaW50Lmhhc19kZXZpY2UgPT09IHRydWUgfHxcbiAgICAgICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnXG4gICAgICAgICAgICA/IHBvaW50Lmdyb3VwLnR5cGVcbiAgICAgICAgICAgIDogJ0dyb3Vwczo6ZGVmYXVsdCc7XG4gICAgICAgIGNvbnN0IGhhc0lzc3VlcyA9ICdpc3N1ZXMnIGluIHBvaW50ICYmICFwb2ludC5oYXNfZGV2aWNlO1xuICAgICAgICBjb25zdCBpY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIGhhc0lzc3VlcyxcbiAgICAgICAgICBwb2ludC5oYXNfc2FtcGxlcixcbiAgICAgICAgICBwb2ludC5zaG91bGRfaW5zdGFsbCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBmb2N1c2VkSWNvbiA9IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHBvaW50Lm5hbWUsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICBoYXNJc3N1ZXMsXG4gICAgICAgICAgcG9pbnQuaGFzX3NhbXBsZXIsXG4gICAgICAgICAgcG9pbnQuc2hvdWxkX2luc3RhbGwsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHBvaW50LmxhdGl0dWRlICYmIHBvaW50LmxvbmdpdHVkZSkge1xuICAgICAgICAgIGxldCBtYXJrZXIgPSBnZXRNYXJrZXIocG9pbnQpO1xuXG4gICAgICAgICAgbWFya2VyLnNldEljb24oaWNvbik7XG4gICAgICAgICAgLy8gVGhlIHVzZSBvZiBtYXJrZXIuX2lzSW5zaWRlIGlzIHRvIG92ZXJjb21lIHRoZSBpc3N1ZSB0aGF0IG1vdXNlb3ZlciBpcyBlbmRsZXNzbHkgdHJpZ2dlcmVkXG4gICAgICAgICAgLy8gYW5kIHdlIG5lZWQgaXQgb25seSBvbmNlXG4gICAgICAgICAgbWFya2VyLm9uKCdtb3VzZW92ZXInLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIW1hcmtlci5faXNJbnNpZGUpIHtcbiAgICAgICAgICAgICAgbWFya2VyLl9pc0luc2lkZSA9IHRydWU7XG4gICAgICAgICAgICAgIG1hcmtlci5zZXRJY29uKGZvY3VzZWRJY29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIG1hcmtlci5vbignbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGZvY3VzZWRNYXJrZXJSZWY/LmN1cnJlbnQ/Ll9sZWFmbGV0X2lkICE9PSBtYXJrZXI/Ll9sZWFmbGV0X2lkXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgbWFya2VyLl9pc0luc2lkZSA9IGZhbHNlO1xuICAgICAgICAgICAgICBtYXJrZXIuc2V0SWNvbihpY29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIG1hcmtlci5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGZvY3VzZWRNYXJrZXJSZWY/LmN1cnJlbnQ/Ll9sZWFmbGV0X2lkID09PSBtYXJrZXI/Ll9sZWFmbGV0X2lkXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc2V0Rm9jdXNlZE1hcmtlcihudWxsKTtcbiAgICAgICAgICAgICAgaGFuZGxlTWFya2VyQ2xpY2sobnVsbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBoYW5kbGVNYXJrZXJDbGljayhwb2ludCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBwb2ludHNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihtYXJrZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZ2V0TWFya2VyID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICByZXR1cm4gTC5tYXJrZXIoW3BvaW50LmxhdGl0dWRlLCBwb2ludC5sb25naXR1ZGVdLCB7XG4gICAgICBrYW5kb19vYmplY3RfaWQ6IHBvaW50LmlkLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGFkZEVkZ2VzID0gKCkgPT4ge1xuICAgIGlmICghbWFwIHx8ICFlZGdlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBvaW50TG9va3VwID0gbmV3IE1hcCgpO1xuICAgIHBvaW50cy5mb3JFYWNoKChwKSA9PiBwb2ludExvb2t1cC5zZXQocC5pZCwgcCkpO1xuXG4gICAgaWYgKGVkZ2VzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihlZGdlc0xheWVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihlZGdlc0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgZWRnZXNMYXllclJlZi5jdXJyZW50LmFkZFRvKG1hcCk7XG5cbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2VQb2ludCA9IHBvaW50TG9va3VwLmdldChlZGdlLnNvdXJjZV9wb2ludF9pZCk7XG4gICAgICBjb25zdCB0YXJnZXRQb2ludCA9IHBvaW50TG9va3VwLmdldChlZGdlLnRhcmdldF9wb2ludF9pZCk7XG5cbiAgICAgIGlmICghc291cmNlUG9pbnQgfHwgIXRhcmdldFBvaW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGF0bG5ncyA9IFtcbiAgICAgICAgW3NvdXJjZVBvaW50Py5sYXRpdHVkZSwgc291cmNlUG9pbnQ/LmxvbmdpdHVkZV0sXG4gICAgICAgIFt0YXJnZXRQb2ludD8ubGF0aXR1ZGUsIHRhcmdldFBvaW50Py5sb25naXR1ZGVdLFxuICAgICAgXTtcblxuICAgICAgY29uc3QgcG9seWxpbmUgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgb3BhY2l0eTogMC41LFxuICAgICAgICBzbW9vdGhGYWN0b3I6IDEsXG4gICAgICB9KTtcblxuICAgICAgZWRnZXNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihwb2x5bGluZSk7XG5cbiAgICAgIGNvbnN0IGRlY29yYXRvciA9IEwucG9seWxpbmVEZWNvcmF0b3IocG9seWxpbmUsIHtcbiAgICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvZmZzZXQ6IDIwLFxuICAgICAgICAgICAgcmVwZWF0OiA2MCxcbiAgICAgICAgICAgIHN5bWJvbDogTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgcGl4ZWxTaXplOiA0LFxuICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjNTU1JyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBlZGdlc0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKGRlY29yYXRvcik7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgYWRkQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKCFtYXAgfHwgIWFyZWFzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFyZWFzTGF5ZXJSZWYuY3VycmVudCkge1xuICAgICAgaWYgKG1hcC5oYXNMYXllcihhcmVhc0xheWVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihhcmVhc0xheWVyUmVmLmN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFyZWFzTGF5ZXJSZWYuY3VycmVudCA9IEwuZmVhdHVyZUdyb3VwKCk7XG4gICAgYXJlYXNMYXllclJlZi5jdXJyZW50LmFkZFRvKG1hcCk7XG5cbiAgICBjb25zdCBmbGF0dGVuQXJlYXMgPSAoYXJlYXM6IElBcmVhW10gPSBbXSk6IElBcmVhW10gPT4ge1xuICAgICAgbGV0IGFsbEFyZWFzOiBJQXJlYVtdID0gW107XG5cbiAgICAgIGFyZWFzLmZvckVhY2goKGFyZWE6IElBcmVhKSA9PiB7XG4gICAgICAgIGlmIChhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGFsbEFyZWFzLnB1c2goYXJlYSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgc3ViX2FyZWFzLCByZWN1cnNlIGFuZCBjb25jYXRlbmF0ZVxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhcmVhLnN1Yl9hcmVhcykgJiYgYXJlYS5zdWJfYXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGFsbEFyZWFzID0gYWxsQXJlYXMuY29uY2F0KGZsYXR0ZW5BcmVhcyhhcmVhLnN1Yl9hcmVhcykpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gUmVtb3ZlIGR1cGxpY2F0ZXNcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLm5ldyBNYXAoYWxsQXJlYXMubWFwKChhcmVhKSA9PiBbYXJlYS5hcmVhX2lkLCBhcmVhXSkpLnZhbHVlcygpLFxuICAgICAgXTtcbiAgICB9O1xuXG4gICAgY29uc3QgYWxsQXJlYXMgPSBmbGF0dGVuQXJlYXMoYXJlYXMpO1xuXG4gICAgYWxsQXJlYXMuZm9yRWFjaCgoYXJlYSkgPT4ge1xuICAgICAgY29uc3QgcG9seWdvbiA9IEwucG9seWdvbihhcmVhLnNoYXBlX2RhdGEsIHtcbiAgICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgb3BhY2l0eTogMC44LFxuICAgICAgICBzbW9vdGhGYWN0b3I6IDEsXG4gICAgICAgIGludGVyYWN0aXZlOiBmYWxzZSxcbiAgICAgICAga2FuZG9fb2JqZWN0X2lkOiBhcmVhLmFyZWFfaWQsXG4gICAgICB9KTtcblxuICAgICAgcG9seWdvbi5iaW5kVG9vbHRpcChhcmVhLmFyZWFfbmFtZSwge1xuICAgICAgICBwZXJtYW5lbnQ6IHRydWUsXG4gICAgICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gICAgICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgICB9KTtcblxuICAgICAgYXJlYXNMYXllclJlZi5jdXJyZW50Py5hZGRMYXllcihwb2x5Z29uKTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBmb2N1c01hcCA9ICgpID0+IHtcbiAgICBpZiAobWFwKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHBvaW50c0xheWVyUmVmPy5jdXJyZW50ICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkocG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRMYXllcnMoKSkgJiZcbiAgICAgICAgcG9pbnRzTGF5ZXJSZWYuY3VycmVudC5nZXRMYXllcnMoKS5sZW5ndGggPiAwXG4gICAgICApIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhwb2ludHNMYXllclJlZi5jdXJyZW50LmdldEJvdW5kcygpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1hcC5zZXRWaWV3KFszMi4yMTkxNTcsIDM0Ljk4MjQ4MV0sIDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobWFwKSB7XG4gICAgICBhZGRBcmVhcygpO1xuICAgICAgYWRkRWRnZXMoKTtcbiAgICAgIGFkZE1hcmtlcnMoKTtcbiAgICAgIGZvY3VzTWFwKCk7XG4gICAgfVxuICB9LCBbcG9pbnRzLCBhcmVhcywgZWRnZXMsIG1hcF0pO1xuXG4gIHJldHVybiBtYXA7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBS08sTUFBTUssTUFBTSxHQUFHQSxDQUNwQkMsTUFBdUMsRUFDdkNDLE1BQWdCLEVBQ2hCQyxLQUFjLEVBQ2RDLEtBQWMsRUFDZEMsYUFBNEIsRUFDNUJDLG1CQUE0QyxLQUN0QjtFQUN0QixNQUFNLENBQUNDLEdBQUcsRUFBRUMsTUFBTSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFRLENBQUM7RUFDdkMsTUFBTSxDQUFD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
|
|
257
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1BvaW50SWNvbiIsIl90aGVtZSIsIl9NYXBVdGlscyIsInVzZU1hcCIsIm1hcFJlZiIsInBvaW50cyIsImVkZ2VzIiwiYXJlYXMiLCJzZWxlY3RlZFBvaW50IiwidXBkYXRlU2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJtYXAiLCJzZXRNYXAiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZvY3VzZWRNYXJrZXIiLCJzZXRGb2N1c2VkTWFya2VyIiwiZm9jdXNlZE1hcmtlclJlZiIsInVzZVJlZiIsInBvaW50c0xheWVyUmVmIiwiZWRnZXNMYXllclJlZiIsImFyZWFzTGF5ZXJSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwicmVzZXRBbGxPdGhlcnMiLCJtYXBUeXBlcyIsImJhc2VNYXBzIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJzYXRlbGxpdGUiLCJtYXBUZW1wIiwiTCIsInJlbmRlcmVyIiwiY2FudmFzIiwiT2JqZWN0IiwidmFsdWVzIiwiYWRkVG8iLCJjb250cm9sIiwibGF5ZXJzIiwicG9zaXRpb24iLCJvZmYiLCJyZW1vdmUiLCJfcG9pbnRzTGF5ZXJSZWYkY3VycmUiLCJlYWNoTGF5ZXIiLCJtYXJrZXIiLCJvcHRpb25zIiwia2FuZG9fb2JqZWN0X2lkIiwiaWQiLCJfaXNJbnNpZGUiLCJmaXJlIiwiX3BvaW50c0xheWVyUmVmJGN1cnJlMiIsImdldEJvdW5kcyIsImNvbnRhaW5zIiwiZ2V0TGF0TG5nIiwiZmx5VG8iLCJnZXRab29tIiwiZHVyYXRpb24iLCJhbmltYXRlIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJwb2ludCIsImFkZE1hcmtlcnMiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiZmVhdHVyZUdyb3VwIiwiZ2V0TGF5ZXJzIiwibGVuZ3RoIiwiZm9yRWFjaCIsInR5cGUiLCJoYXNfZGV2aWNlIiwiZ3JvdXAiLCJoYXNJc3N1ZXMiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwibmFtZSIsImhhc19zYW1wbGVyIiwic2hvdWxkX2luc3RhbGwiLCJmb2N1c2VkSWNvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiX3BvaW50c0xheWVyUmVmJGN1cnJlMyIsImdldE1hcmtlciIsInNldEljb24iLCJvbiIsIl9mb2N1c2VkTWFya2VyUmVmJGN1ciIsIl9sZWFmbGV0X2lkIiwiX2ZvY3VzZWRNYXJrZXJSZWYkY3VyMiIsImFkZExheWVyIiwiYWRkRWRnZXMiLCJwb2ludExvb2t1cCIsIk1hcCIsInAiLCJzZXQiLCJlZGdlIiwiX2VkZ2VzTGF5ZXJSZWYkY3VycmVuIiwiX2VkZ2VzTGF5ZXJSZWYkY3VycmVuMiIsInNvdXJjZVBvaW50IiwiZ2V0Iiwic291cmNlX3BvaW50X2lkIiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJsYXRsbmdzIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJzbW9vdGhGYWN0b3IiLCJkZWNvcmF0b3IiLCJwb2x5bGluZURlY29yYXRvciIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiU3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwiYWRkQXJlYXMiLCJmbGF0dGVuQXJlYXMiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJhbGxBcmVhcyIsImFyZWEiLCJzaGFwZV9kYXRhIiwicHVzaCIsIkFycmF5IiwiaXNBcnJheSIsInN1Yl9hcmVhcyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJhcmVhX2lkIiwiX2FyZWFzTGF5ZXJSZWYkY3VycmVuIiwiaW50ZXJhY3RpdmUiLCJiaW5kVG9vbHRpcCIsImFyZWFfbmFtZSIsInBlcm1hbmVudCIsImRpcmVjdGlvbiIsImNsYXNzTmFtZSIsImZvY3VzTWFwIiwiZml0Qm91bmRzIiwic2V0VmlldyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvT3BlcmF0aW9uc1BhZ2UvTWFwL3VzZU1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEwsIHsgTWFya2VyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludEljb24nO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgYmFzZU1hcHMgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwVXRpbHMnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuXG5leHBvcnQgY29uc3QgdXNlTWFwID0gKFxuICBtYXBSZWY6IFJlYWN0LlJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBhcmVhczogSUFyZWFbXSxcbiAgc2VsZWN0ZWRQb2ludDogSVBvaW50IHwgbnVsbCxcbiAgdXBkYXRlU2VsZWN0ZWRQb2ludDogKHBvaW50OiBJUG9pbnQpID0+IHZvaWQsXG4pOiBMLk1hcCB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IFttYXAsIHNldE1hcF0gPSB1c2VTdGF0ZTxMLk1hcD4oKTtcbiAgY29uc3QgW2ZvY3VzZWRNYXJrZXIsIHNldEZvY3VzZWRNYXJrZXJdID0gdXNlU3RhdGU8TWFya2VyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGZvY3VzZWRNYXJrZXJSZWYgPSB1c2VSZWY8TWFya2VyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IHBvaW50c0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBlZGdlc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCBhcmVhc0xheWVyUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwPigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZm9jdXNlZE1hcmtlclJlZi5jdXJyZW50ID0gZm9jdXNlZE1hcmtlcjtcbiAgICByZXNldEFsbE90aGVycygpO1xuICB9LCBbZm9jdXNlZE1hcmtlcl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcFR5cGVzID0gYmFzZU1hcHMobGVhZmxldE1hcC5tYXBEZWZhdWx0LCBsZWFmbGV0TWFwLnNhdGVsbGl0ZSk7XG4gICAgY29uc3QgbWFwVGVtcCA9IEwubWFwKG1hcFJlZi5jdXJyZW50LCB7IHJlbmRlcmVyOiBMLmNhbnZhcygpIH0pO1xuXG4gICAgT2JqZWN0LnZhbHVlcyhtYXBUeXBlcylbMF0uYWRkVG8obWFwVGVtcCk7XG5cbiAgICBMLmNvbnRyb2wubGF5ZXJzKG1hcFR5cGVzLCB7fSwgeyBwb3NpdGlvbjogJ2JvdHRvbXJpZ2h0JyB9KS5hZGRUbyhtYXBUZW1wKTtcblxuICAgIHNldE1hcChtYXBUZW1wKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoIW1hcFRlbXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbWFwVGVtcC5vZmYoKTtcbiAgICAgIG1hcFRlbXAucmVtb3ZlKCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlc2V0QWxsT3RoZXJzID0gKCkgPT4ge1xuICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQ/LmVhY2hMYXllcigobWFya2VyKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcmtlci5vcHRpb25zLmthbmRvX29iamVjdF9pZCAhPT0gc2VsZWN0ZWRQb2ludD8uaWQgJiZcbiAgICAgICAgbWFya2VyLl9pc0luc2lkZVxuICAgICAgKSB7XG4gICAgICAgIG1hcmtlci5maXJlKCdtb3VzZW91dCcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkUG9pbnQgPT09IG51bGwpIHtcbiAgICAgIHNldEZvY3VzZWRNYXJrZXIobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQ/LmVhY2hMYXllcigobWFya2VyKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBzZWxlY3RlZFBvaW50ICYmXG4gICAgICAgICAgbWFya2VyLm9wdGlvbnMua2FuZG9fb2JqZWN0X2lkID09PSBzZWxlY3RlZFBvaW50Py5pZFxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAoIW1hcD8uZ2V0Qm91bmRzKCkuY29udGFpbnMobWFya2VyLmdldExhdExuZygpKSkge1xuICAgICAgICAgICAgbWFwPy5mbHlUbyhtYXJrZXIuZ2V0TGF0TG5nKCksIG1hcC5nZXRab29tKCksIHtcbiAgICAgICAgICAgICAgZHVyYXRpb246IDAuNSxcbiAgICAgICAgICAgICAgYW5pbWF0ZTogZmFsc2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFya2VyLmZpcmUoJ21vdXNlb3ZlcicpO1xuICAgICAgICAgIHNldEZvY3VzZWRNYXJrZXIobWFya2VyKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3NlbGVjdGVkUG9pbnRdKTtcblxuICBjb25zdCBoYW5kbGVNYXJrZXJDbGljayA9IChwb2ludCkgPT4ge1xuICAgIHVwZGF0ZVNlbGVjdGVkUG9pbnQocG9pbnQpO1xuICB9O1xuXG4gIGNvbnN0IGFkZE1hcmtlcnMgPSAoKSA9PiB7XG4gICAgaWYgKCFtYXAgfHwgIXBvaW50cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwb2ludHNMYXllclJlZi5jdXJyZW50KSB7XG4gICAgICBpZiAobWFwLmhhc0xheWVyKHBvaW50c0xheWVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwb2ludHNMYXllclJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwb2ludHNMYXllclJlZi5jdXJyZW50ID0gTC5mZWF0dXJlR3JvdXAoKTtcbiAgICBwb2ludHNMYXllclJlZi5jdXJyZW50LmFkZFRvKG1hcCk7XG5cbiAgICBpZiAoIXBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0TGF5ZXJzKCkubGVuZ3RoKSB7XG4gICAgICBwb2ludHMuZm9yRWFjaCgocG9pbnQpID0+IHtcbiAgICAgICAgY29uc3QgdHlwZSA9XG4gICAgICAgICAgcG9pbnQuaGFzX2RldmljZSA9PT0gdHJ1ZSB8fFxuICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCdcbiAgICAgICAgICAgID8gcG9pbnQuZ3JvdXAudHlwZVxuICAgICAgICAgICAgOiAnR3JvdXBzOjpkZWZhdWx0JztcbiAgICAgICAgY29uc3QgaGFzSXNzdWVzID0gJ2lzc3VlcycgaW4gcG9pbnQgJiYgIXBvaW50Lmhhc19kZXZpY2U7XG4gICAgICAgIGNvbnN0IGljb24gPSBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICBwb2ludC5uYW1lLFxuICAgICAgICAgICcnLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICAgaGFzSXNzdWVzLFxuICAgICAgICAgIHBvaW50Lmhhc19zYW1wbGVyLFxuICAgICAgICAgIHBvaW50LnNob3VsZF9pbnN0YWxsLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZvY3VzZWRJY29uID0gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIGhhc0lzc3VlcyxcbiAgICAgICAgICBwb2ludC5oYXNfc2FtcGxlcixcbiAgICAgICAgICBwb2ludC5zaG91bGRfaW5zdGFsbCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocG9pbnQubGF0aXR1ZGUgJiYgcG9pbnQubG9uZ2l0dWRlKSB7XG4gICAgICAgICAgbGV0IG1hcmtlciA9IGdldE1hcmtlcihwb2ludCk7XG5cbiAgICAgICAgICBtYXJrZXIuc2V0SWNvbihpY29uKTtcbiAgICAgICAgICAvLyBUaGUgdXNlIG9mIG1hcmtlci5faXNJbnNpZGUgaXMgdG8gb3ZlcmNvbWUgdGhlIGlzc3VlIHRoYXQgbW91c2VvdmVyIGlzIGVuZGxlc3NseSB0cmlnZ2VyZWRcbiAgICAgICAgICAvLyBhbmQgd2UgbmVlZCBpdCBvbmx5IG9uY2VcbiAgICAgICAgICBtYXJrZXIub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgICAgICAgIGlmICghbWFya2VyLl9pc0luc2lkZSkge1xuICAgICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgbWFya2VyLnNldEljb24oZm9jdXNlZEljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbWFya2VyLm9uKCdtb3VzZW91dCcsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgZm9jdXNlZE1hcmtlclJlZj8uY3VycmVudD8uX2xlYWZsZXRfaWQgIT09IG1hcmtlcj8uX2xlYWZsZXRfaWRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBtYXJrZXIuX2lzSW5zaWRlID0gZmFsc2U7XG4gICAgICAgICAgICAgIG1hcmtlci5zZXRJY29uKGljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbWFya2VyLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgZm9jdXNlZE1hcmtlclJlZj8uY3VycmVudD8uX2xlYWZsZXRfaWQgPT09IG1hcmtlcj8uX2xlYWZsZXRfaWRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBzZXRGb2N1c2VkTWFya2VyKG51bGwpO1xuICAgICAgICAgICAgICBoYW5kbGVNYXJrZXJDbGljayhudWxsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhhbmRsZU1hcmtlckNsaWNrKHBvaW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHBvaW50c0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKG1hcmtlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRNYXJrZXIgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICAgIHJldHVybiBMLm1hcmtlcihbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV0sIHtcbiAgICAgIGthbmRvX29iamVjdF9pZDogcG9pbnQuaWQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgYWRkRWRnZXMgPSAoKSA9PiB7XG4gICAgaWYgKCFtYXAgfHwgIWVkZ2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcG9pbnRMb29rdXAgPSBuZXcgTWFwKCk7XG4gICAgcG9pbnRzLmZvckVhY2goKHApID0+IHBvaW50TG9va3VwLnNldChwLmlkLCBwKSk7XG5cbiAgICBpZiAoZWRnZXNMYXllclJlZi5jdXJyZW50KSB7XG4gICAgICBpZiAobWFwLmhhc0xheWVyKGVkZ2VzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKGVkZ2VzTGF5ZXJSZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWRnZXNMYXllclJlZi5jdXJyZW50ID0gTC5mZWF0dXJlR3JvdXAoKTtcbiAgICBlZGdlc0xheWVyUmVmLmN1cnJlbnQuYWRkVG8obWFwKTtcblxuICAgIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gcG9pbnRMb29rdXAuZ2V0KGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gcG9pbnRMb29rdXAuZ2V0KGVkZ2UudGFyZ2V0X3BvaW50X2lkKTtcblxuICAgICAgaWYgKCFzb3VyY2VQb2ludCB8fCAhdGFyZ2V0UG9pbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsYXRsbmdzID0gW1xuICAgICAgICBbc291cmNlUG9pbnQ/LmxhdGl0dWRlLCBzb3VyY2VQb2ludD8ubG9uZ2l0dWRlXSxcbiAgICAgICAgW3RhcmdldFBvaW50Py5sYXRpdHVkZSwgdGFyZ2V0UG9pbnQ/LmxvbmdpdHVkZV0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBwb2x5bGluZSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICBvcGFjaXR5OiAwLjUsXG4gICAgICAgIHNtb290aEZhY3RvcjogMSxcbiAgICAgIH0pO1xuXG4gICAgICBlZGdlc0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKHBvbHlsaW5lKTtcblxuICAgICAgY29uc3QgZGVjb3JhdG9yID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZSwge1xuICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICByZXBlYXQ6IDYwLFxuICAgICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICBwaXhlbFNpemU6IDQsXG4gICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyM1NTUnLFxuICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjgsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGVkZ2VzTGF5ZXJSZWYuY3VycmVudD8uYWRkTGF5ZXIoZGVjb3JhdG9yKTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBhZGRBcmVhcyA9ICgpID0+IHtcbiAgICBpZiAoIW1hcCB8fCAhYXJlYXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYXJlYXNMYXllclJlZi5jdXJyZW50KSB7XG4gICAgICBpZiAobWFwLmhhc0xheWVyKGFyZWFzTGF5ZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKGFyZWFzTGF5ZXJSZWYuY3VycmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYXJlYXNMYXllclJlZi5jdXJyZW50ID0gTC5mZWF0dXJlR3JvdXAoKTtcbiAgICBhcmVhc0xheWVyUmVmLmN1cnJlbnQuYWRkVG8obWFwKTtcblxuICAgIGNvbnN0IGZsYXR0ZW5BcmVhcyA9IChhcmVhczogSUFyZWFbXSA9IFtdKTogSUFyZWFbXSA9PiB7XG4gICAgICBsZXQgYWxsQXJlYXM6IElBcmVhW10gPSBbXTtcblxuICAgICAgYXJlYXMuZm9yRWFjaCgoYXJlYTogSUFyZWEpID0+IHtcbiAgICAgICAgaWYgKGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYWxsQXJlYXMucHVzaChhcmVhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZXJlIGFyZSBzdWJfYXJlYXMsIHJlY3Vyc2UgYW5kIGNvbmNhdGVuYXRlXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZWEuc3ViX2FyZWFzKSAmJiBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYWxsQXJlYXMgPSBhbGxBcmVhcy5jb25jYXQoZmxhdHRlbkFyZWFzKGFyZWEuc3ViX2FyZWFzKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBSZW1vdmUgZHVwbGljYXRlc1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4ubmV3IE1hcChhbGxBcmVhcy5tYXAoKGFyZWEpID0+IFthcmVhLmFyZWFfaWQsIGFyZWFdKSkudmFsdWVzKCksXG4gICAgICBdO1xuICAgIH07XG5cbiAgICBjb25zdCBhbGxBcmVhcyA9IGZsYXR0ZW5BcmVhcyhhcmVhcyk7XG5cbiAgICBhbGxBcmVhcy5mb3JFYWNoKChhcmVhKSA9PiB7XG4gICAgICBjb25zdCBwb2x5Z29uID0gTC5wb2x5Z29uKGFyZWEuc2hhcGVfZGF0YSwge1xuICAgICAgICBjb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICBvcGFjaXR5OiAwLjgsXG4gICAgICAgIHNtb290aEZhY3RvcjogMSxcbiAgICAgICAgaW50ZXJhY3RpdmU6IGZhbHNlLFxuICAgICAgICBrYW5kb19vYmplY3RfaWQ6IGFyZWEuYXJlYV9pZCxcbiAgICAgIH0pO1xuXG4gICAgICBwb2x5Z29uLmJpbmRUb29sdGlwKGFyZWEuYXJlYV9uYW1lLCB7XG4gICAgICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICAgICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICAgIH0pO1xuXG4gICAgICBhcmVhc0xheWVyUmVmLmN1cnJlbnQ/LmFkZExheWVyKHBvbHlnb24pO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGZvY3VzTWFwID0gKCkgPT4ge1xuICAgIGlmIChtYXApIHtcbiAgICAgIGlmIChcbiAgICAgICAgcG9pbnRzTGF5ZXJSZWY/LmN1cnJlbnQgJiZcbiAgICAgICAgQXJyYXkuaXNBcnJheShwb2ludHNMYXllclJlZi5jdXJyZW50LmdldExheWVycygpKSAmJlxuICAgICAgICBwb2ludHNMYXllclJlZi5jdXJyZW50LmdldExheWVycygpLmxlbmd0aCA+IDBcbiAgICAgICkge1xuICAgICAgICBtYXAuZml0Qm91bmRzKHBvaW50c0xheWVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRzKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWFwLnNldFZpZXcoWzMyLjIxOTE1NywgMzQuOTgyNDgxXSwgMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtYXApIHtcbiAgICAgIGFkZEFyZWFzKCk7XG4gICAgICBhZGRFZGdlcygpO1xuICAgICAgYWRkTWFya2VycygpO1xuICAgICAgZm9jdXNNYXAoKTtcbiAgICB9XG4gIH0sIFtwb2ludHMsIGFyZWFzLCBlZGdlcywgbWFwXSk7XG5cbiAgcmV0dXJuIG1hcDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUtPLElBQU1LLE1BQU0sR0FBRyxTQUFUQSxNQUFNQSxDQUNqQkMsTUFBdUMsRUFDdkNDLE1BQWdCLEVBQ2hCQyxLQUFjLEVBQ2RDLEtB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
|