{"version":3,"sources":["webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLightControllers/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/marker.svg","webpack:///./node_modules/single-spa-vue/dist/esm/single-spa-vue.js","webpack:///./node_modules/@eputs/map-buttons/types/mapFireSensor/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficDetectors/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoStations/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTpi/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapAsvgk/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoStations/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficDetectors/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapWaterLevel/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapNotWorking/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadAccidents/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLight/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_42.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTram/dist/img/marker-active.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapMetroStop/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_45-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_42-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapMetroStop/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapWaterLevel/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEvents/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_42-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapAsvgk/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapAlarmButtons/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapAsvgk/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_43.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapAccidentsConcentration/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapAsvgk/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLightControllers/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapBus/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTram/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvf/dist/img/marker-error.svg","webpack:///./src/modules/startPage/App.vue","webpack:///./node_modules/@eputs/map-module/main/template.vue","webpack:///./node_modules/@eputs/map-module/mixin/mixin.js","webpack:///./node_modules/@eputs/map-module/main/script.js","webpack:///./node_modules/@eputs/map-module/main/script.js?0c81","webpack:///./node_modules/@eputs/map-module/main/template.vue?5b1c","webpack:///./node_modules/@eputs/map-buttons/main/template.vue","webpack:///./node_modules/@eputs/map-buttons/dynamic/template.vue","webpack:///./node_modules/@eputs/map-buttons/dynamic/script.js","webpack:///./node_modules/@eputs/map-buttons/dynamic/script.js?e46c","webpack:///./node_modules/@eputs/map-buttons/dynamic/template.vue?5e88","webpack:///./node_modules/@eputs/map-buttons/group/template.vue","webpack:///./node_modules/@eputs/map-buttons/group/script.js","webpack:///./node_modules/@eputs/map-buttons/group/script.js?e75e","webpack:///./node_modules/@eputs/map-buttons/group/template.vue?8a2f","webpack:///./node_modules/@eputs/map-buttons/group/wrapper/wrapper.vue","webpack:///./node_modules/@eputs/map-buttons/group/wrapper/wrapper.js","webpack:///./node_modules/@eputs/map-buttons/group/wrapper/wrapper.js?dc12","webpack:///./node_modules/@eputs/map-buttons/group/wrapper/wrapper.vue?377d","webpack:///./node_modules/@eputs/map-buttons/main/script.js","webpack:///./node_modules/@eputs/map-buttons/main/script.js?0ce6","webpack:///./node_modules/@eputs/map-buttons/main/template.vue?9376","webpack:///./node_modules/@eputs/map-buttons/template/index.vue","webpack:///./node_modules/@eputs/map-module/mixin/popup.js","webpack:///./node_modules/@eputs/map-module/mixin/layers.js","webpack:///./node_modules/@eputs/map-module/mixin/bbox.js","webpack:///./node_modules/@eputs/map-buttons/mixin/index.js","webpack:///./node_modules/@eputs/map-module/mixin/layers-sectorCluster.js","webpack:///./node_modules/@eputs/map-buttons/types/mapAsvgk/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapAsvgk/dist/script.js?7a64","webpack:///./node_modules/@eputs/map-buttons/types/mapAsvgk/index.vue","webpack:///./node_modules/@eputs/map-buttons/mixin-bus/index.js","webpack:///./node_modules/@eputs/map-buttons/types/mapBus/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapBus/dist/script.js?704c","webpack:///./node_modules/@eputs/map-buttons/types/mapBus/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapBusLine/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapBusLine/dist/script.js?e2f8","webpack:///./node_modules/@eputs/map-buttons/types/mapBusLine/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapBusStop/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapBusStop/dist/script.js?9c8d","webpack:///./node_modules/@eputs/map-buttons/types/mapBusStop/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvfViolations/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvfViolations/dist/script.js?a9dc","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvfViolations/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvf/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvf/dist/script.js?605c","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvf/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/script.js?3e80","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapEvents/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapEvents/dist/script.js?bfe3","webpack:///./node_modules/@eputs/map-buttons/types/mapEvents/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidents/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidents/dist/script.js?c0ab","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidents/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/dist/script.js?d2a6","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapExternalEmergency/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapExternalEmergency/dist/script.js?ce0e","webpack:///./node_modules/@eputs/map-buttons/types/mapExternalEmergency/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapExternalEvents/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapExternalEvents/dist/script.js?ecf0","webpack:///./node_modules/@eputs/map-buttons/types/mapExternalEvents/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapGeozone/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapGeozone/dist/script.js?cb6e","webpack:///./node_modules/@eputs/map-buttons/types/mapGeozone/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapGraph/dist/colorsMixin.js","webpack:///./node_modules/@eputs/map-buttons/types/mapGraph/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapGraph/dist/script.js?de58","webpack:///./node_modules/@eputs/map-buttons/types/mapGraph/index.vue","webpack:///./node_modules/@turf/center/dist/es/index.js","webpack:///./node_modules/@eputs/map-buttons/types/mapInOutStatistic/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapInOutStatistic/dist/script.js?2a83","webpack:///./node_modules/@eputs/map-buttons/types/mapInOutStatistic/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapMeteoStations/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapMeteoStations/dist/script.js?c1d5","webpack:///./node_modules/@eputs/map-buttons/types/mapMeteoStations/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapMetroLine/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapMetroLine/dist/script.js?b332","webpack:///./node_modules/@eputs/map-buttons/types/mapMetroLine/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapMetroStop/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapMetroStop/dist/script.js?3bf6","webpack:///./node_modules/@eputs/map-buttons/types/mapMetroStop/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapNotWorking/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapNotWorking/dist/script.js?6f55","webpack:///./node_modules/@eputs/map-buttons/types/mapNotWorking/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapObjects/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapObjects/dist/script.js?7f49","webpack:///./node_modules/@eputs/map-buttons/types/mapObjects/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapOtHeatmap/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapOtHeatmap/dist/script.js?bae5","webpack:///./node_modules/@eputs/map-buttons/types/mapOtHeatmap/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapParking/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapParking/dist/script.js?d7ad","webpack:///./node_modules/@eputs/map-buttons/types/mapParking/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapParkingZone/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapParkingZone/dist/script.js?f457","webpack:///./node_modules/@eputs/map-buttons/types/mapParkingZone/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapRailwayLine/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapRailwayLine/dist/script.js?090c","webpack:///./node_modules/@eputs/map-buttons/types/mapRailwayLine/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapRailwayStop/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapRailwayStop/dist/script.js?f626","webpack:///./node_modules/@eputs/map-buttons/types/mapRailwayStop/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadAccidents/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadAccidents/dist/script.js?ce40","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadAccidents/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadWork/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadWork/dist/script.js?ed30","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadWork/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapSchoolBus/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapSchoolBus/dist/script.js?2c42","webpack:///./node_modules/@eputs/map-buttons/types/mapSchoolBus/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/script.js?1e4c","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnicAccidents/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnicAccidents/dist/script.js?ae19","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnicAccidents/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTasks/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTasks/dist/script.js?ef9b","webpack:///./node_modules/@eputs/map-buttons/types/mapTasks/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTpi/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTpi/dist/script.js?ac03","webpack:///./node_modules/@eputs/map-buttons/types/mapTpi/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficSimple/dist/trafficLayers.js","webpack:///./node_modules/@eputs/map-buttons/types/graphColorsMixin.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTraffic/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTraffic/dist/script.js?8cff","webpack:///./node_modules/@eputs/map-buttons/types/mapTraffic/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficDetectors/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficDetectors/dist/script.js?dca2","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficDetectors/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLight/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLight/dist/script.js?e84e","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLight/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLightControllers/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLightControllers/dist/script.js?0331","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLightControllers/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficSimple/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficSimple/dist/script.js?0d62","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficSimple/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTram/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTram/dist/script.js?66a7","webpack:///./node_modules/@eputs/map-buttons/types/mapTram/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTramLine/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTramLine/dist/script.js?c080","webpack:///./node_modules/@eputs/map-buttons/types/mapTramLine/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTramStop/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTramStop/dist/script.js?e65c","webpack:///./node_modules/@eputs/map-buttons/types/mapTramStop/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybus/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybus/dist/script.js?2d99","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybus/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybusLine/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybusLine/dist/script.js?88d5","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybusLine/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybusStop/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybusStop/dist/script.js?8c97","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybusStop/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoStations/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoStations/dist/script.js?f1fb","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoStations/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoCameras/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoCameras/dist/script.js?ee7f","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoCameras/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapSeismograph/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapSeismograph/dist/script.js?e59e","webpack:///./node_modules/@eputs/map-buttons/types/mapSeismograph/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapFireSensor/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapFireSensor/dist/script.js?6d9f","webpack:///./node_modules/@eputs/map-buttons/types/mapFireSensor/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapWaterLevel/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapWaterLevel/dist/script.js?043a","webpack:///./node_modules/@eputs/map-buttons/types/mapWaterLevel/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapAlarmButtons/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapAlarmButtons/dist/script.js?523d","webpack:///./node_modules/@eputs/map-buttons/types/mapAlarmButtons/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/script.js?9d91","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficHeatmap/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficHeatmap/dist/script.js?a961","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficHeatmap/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapOtHeatmapHistory/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapOtHeatmapHistory/dist/script.js?453c","webpack:///./node_modules/@eputs/map-buttons/types/mapOtHeatmapHistory/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapAccidentsConcentration/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapAccidentsConcentration/dist/script.js?6c34","webpack:///./node_modules/@eputs/map-buttons/types/mapAccidentsConcentration/index.vue","webpack:///./node_modules/@eputs/map-buttons/types/mapLightLine/dist/script.js","webpack:///./node_modules/@eputs/map-buttons/types/mapLightLine/dist/script.js?62c5","webpack:///./node_modules/@eputs/map-buttons/types/mapLightLine/index.vue","webpack:///./src/modules/startPage/ModuleList/ModuleList.vue","webpack:///./src/modules/startPage/ModuleList/Card/Card.vue","webpack:///./src/modules/startPage/ModuleList/Card/Card.js","webpack:///./src/modules/startPage/ModuleList/Card/Card.js?d909","webpack:///./src/modules/startPage/ModuleList/Card/Card.vue?c65f","webpack:///./src/modules/startPage/ModuleList/ModuleList.js","webpack:///./src/modules/startPage/ModuleList/ModuleList.js?3cc0","webpack:///./src/modules/startPage/ModuleList/ModuleList.vue?8f62","webpack:///./src/modules/startPage/App.js","webpack:///./src/modules/startPage/App.js?6467","webpack:///./src/modules/startPage/App.vue?e944","webpack:///./src/modules/startPage/index.js","webpack:///./node_modules/@eputs/map-buttons/types/mapAlarmButtons/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoCameras/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapExternalEvents/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadWork/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/img/markerMove-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/img/markerMove.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvf/dist/img/marker-onservice.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoCameras/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapParking/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvf/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTpi/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoStations/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapParking/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoCameras/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapFireSensor/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvf/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTasks/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTramStop/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/route-deviation-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSeismograph/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_45-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRailwayStop/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSeismograph/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/external-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/over-speed.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapAsvgk/dist/img/marker-service.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/over-speed-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_45-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapFireSensor/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybus/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficDetectors/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSchoolBus/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/dist/img/internal.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapBusStop/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/system-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_41.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLight/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTramStop/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/dist/img/external.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/internal.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLightControllers/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRailwayStop/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapMeteoStations/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapMeteoStations/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/dist/img/marker-no-bg-external.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/dist/img/marker-no-bg-internal.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidents/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybusStop/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybus/dist/img/marker-active.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnicAccidents/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_44-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapBusStop/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTasks/dist/img/marker-no-bg.svg","webpack:///./src/modules.js","webpack:///./node_modules/@eputs/map-buttons/types/mapSeismograph/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoStations/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_45.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapWaterLevel/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvf/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/internal-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_44.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/system.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapWaterLevel/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapVideoCameras/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapExternalEmergency/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTram/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSchoolBus/dist/img/marker-active.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_44-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_44-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_41-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEcoLabs/dist/img/markerMove-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/route-deviation.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapRoadEvents/dist/img/external.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTpi/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEvents/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidents/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapBus/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTpi/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_43-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/dist/img/system.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficLightControllers/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrafficDetectors/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybus/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapMeteoStations/dist/img/marker-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_41-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSchoolBus/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_43-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapTrolleybusStop/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapComplexFvfViolations/dist/img/marker.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapBus/dist/img/marker-active.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapObjects/dist/img/object_default.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_42-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapObjects/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapFireSensor/dist/img/marker-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapEventIncidentsIcon/dist/img/marker-no-bg-system.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_41-error.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapMeteoStations/dist/img/marker-no-bg.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSpectechnic/dist/img/spectechnicMarker_43-disabled.svg","webpack:///./node_modules/@eputs/map-buttons/types/mapSeismograph/dist/img/marker-no-bg.svg"],"names":["module","exports","r","e","n","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","o","arguments","length","forEach","a","getOwnPropertyDescriptors","defineProperties","defineProperty","value","configurable","writable","i","Symbol","iterator","constructor","prototype","CSS","escape","TypeError","String","charCodeAt","toString","charAt","path","require","Error","p","appOptions","template","Vue","createApp","handleInstance","u","el","HTMLElement","concat","bootstrap","c","bind","mount","l","unmount","f","update","s","loadRootComponent","then","rootComponent","Promise","resolve","domElement","document","querySelector","id","name","getElementById","createElement","body","appendChild","replaceMode","className","domEl","render","data","vueInstance","root","$destroy","$el","innerHTML","_vm","this","_c","_self","_setupProxy","directives","rawName","loading","expression","modifiers","staticClass","attrs","modules","staticRenderFns","uuid","_t","options","map","loaded","computed","mapUuid","watch","bbox","updateMapBounds","flyTo","center","zoom","mapZoom","updateMapCenter","updateAgglomerationZone","methods","setMaxBounds","mapMaxBounds","getSource","setData","agglomerationZone","addSource","type","lineMetrics","addLayer","source","layout","paint","$emit","mapCenter","eventHandlers","click","mousedown","mouseenter","mouseleave","on","feature","queryRenderedFeatures","point","layerId","layer","key","preventDefault","mousemoveLastLayer","setTimeout","mixins","props","val","layers","getStyle","sources","setStyle","mapboxgl","accessToken","mapToken","Map","container","style","mapStyles","maxBounds","attributionControl","dragRotate","initEventHandlers","eventPath","onMapStyleLoad","addLayerLinestring","mapid","filteredSources","entries","reduce","acc","filteredLayers","some","cluster","component","_l","buttons","button","button_key","childrens","_objectSpread","iconValue","iconSize","external","params","tag","buttonEventHandler","_e","ref","class","active","enabled","fixBy","children","children_key","group_uuid","$event","clickEvent","_v","_s","components","mapButtonsDynamic","visible","activeChildrens","enabledChildrens","item","$set","parrentEl","$refs","mapButtonsGroup","parentNode","groupEl","mapButtonsChildrensWrapper","$nextTick","perrentRect","getBoundingClientRect","groupRect","parrentBottomY","y","height","groupBottomY","console","warn","opened","stopPropagation","handleCollapseButtonClick","mapButtonsListWrapper","hiddenBtn","loadingFull","toggleVisibility","iconText","domProps","buttonText","externalData","tooltipPosition","popupText","popup","popupOpened","position","text","domContent","setLngLat","setHTML","setDOMContent","removeClassName","addClassName","opt","hasClass","Popup","offset","closeOnClick","closeButton","maxWidth","addTo","getElement","addEventListener","target","classList","contains","hidePopup","handlers","mapLayers","icon","size","hasImage","img","Image","onload","addImage","setAttribute","src","getCanvas","cursor","notDelete","getLayer","removeLayer","removeSource","remove","removeSectorClusters","layerName","async","isPopupHandler","hasOwnProperty","call","skipPoints","pointFeatures","properties","hasDisabledClickFeatures","showPointPopup","undefined","geometry","currentId","includes","activeClickHandler","sourceName","lngLat","clickHandler","mousedownHandler","mouseenterHandler","mouseleaveHandler","renderHandler","eventName","centerX","centerY","radius","angleInDegrees","angleInRadians","Math","PI","x","cos","sin","angle","polarToCartesian","features","contain","add","row","event","modifier","deltaMode","DOM_DELTA_PIXEL","DOM_DELTA_LINE","parseInt","getComputedStyle","lineHeight","DOM_DELTA_PAGE","clientHeight","deltaY","scrollLeft","featurePoint","iconImage","image","onclick","fontSize","initPopup","showPopup","drawLayer","$options","index","sectorCluster","sectorClusterAddEvents","layerOpt","layerOrder","addClickEvent","layerClickHandler","activeLayerClickHandler","layerMousedownHandler","layerMouseenterHandler","layerMouseleaveHandler","iconFunction","setIconImage","sourceUrl","setUrl","sourceOpt","url","func","color","clusterZoom","mapFonts","getClusterExpansionZoom","cluster_id","err","easeTo","coordinates","bboxObj","check","trigger","w","getViewBounds","setCurrentBBox","formatBBoxObj","bounds","getBounds","_sw","lat","lng","_ne","clicked","clickable","geojsonData","updateInterval","updateIntervalTimer","markerSize","markerScale","date","boundsChanged","dateChanged","markerName","isEmpty","handler","immediate","formatGeojsonData","drawPoints","deep","loadData","error","message","$message","prevValue","loadDataWrapper","redraw","btn_uuid","clearPoints","clearTimeout","loadMarkersImages","sizes","loadMarker","obj","isActive","icons","status","route_id","route_num","getGeo","lines","getItem","init","eventBusOn","onSetCurrentBox","checkBBoxChange","substractMonths","$on","onVisible","sectorMarkers","sectorMarkersOnScreen","offsets","colors","singleStatus","point_count","counts","sum","total","clusterClass","perimeter","html","ringOffset","segmentLength","createSectorClusterSegment","values","firstChild","segment","spaceRatio","circlePathStyle","strokeDasharray","strokeDashoffset","transition","join","percentage","strokeWidth","width","toFixed","eventLayerName","newMarkers","querySourceFeatures","coords","marker","createSectorCluster","Marker","element","eventSourceName","isSourceLoaded","updateSectorClusters","response","getCollection","setIcons","UP","DAMAGED","NO_DATA","DOWN","default","clusterProperties","clusterLayer","clusterNumbers","sectorClusterLayer","markers","markersSrcList","markersSrc","currentMarker","routeNum","linesSrc","markersData","toLowerCase","onClickPoint","busIconLayout","request","defaultIconLayout","NO_SIGNAL","SERVICE","stationary","azimuth","accessDefault","$accessEventsView","even_type_class","requestParams","clasterColor","clusterIcon","$accessExternalEmergency","end_date","start_date","subtract","$accessExternalEvents","defaultColor","defaultType","colorsMixin","clickedCount","onlyNodes","hoveredStateId","loadTimestamp","loadZoom","nodes","nodesLayer","round","getZoom","compareZoom","timestamp","Date","now","linesData","getRoadsCollection","nodesData","getNodesCollection","getClearFeatureCollection","lineColor","getLineColor","highway_type","code","lineType","getLineType","setLayerZoomRange","version","getRoadsItem","current","slice","getNodesItem","setFeatureState","hover","access","geojson","ext","activeId","pitch","level","polygon","setFilter","status1","status2","status3","iconTypes","weight_control_point","traffic_detector","traffic_light_controller","variable_message_sign","video_station","meteo_station","getTypes","limit","file_uuid","apiUrl","arr","type_code","fillOpacity","lineOpacity","busGps","getBusCollection","tramGps","getTramCollection","trolleybusGps","getTrolleybusCollection","merged","dataParking","isShowPopup","zone_id","$route","parking","getPointsFromPolygons","fill","freeSpaces","available_spaces_percentage","lineWidth","location","$accessParkingZonesView","editPointId","pointDelete","splice","calculateLayers","drawLayers","number","getOptionsLayer","$accessPublicInfrastructureView","start_date_time","end_date_time","minzoom","maxzoom","road_work_form","period","status_codes","is_not_completed","disabled","5","2","9","7","12","4","8","13","14","10","key2","tag_id","tag_ids","momentNow","tags","date_time","isValid","speed","base","stops","showMainRoads","trafficValue","mapbox","JSON","parse","stringify","trafficLayers","baseParamsPaint","trafficLevels","A","B","C","D","E","F","speed_factor","traffic_level","traffic_detector_forward","traffic_detector_backward","complex_fvf_forward","complex_fvf_backward","getNumberedValues","test","$accessPublicTransport","iconCluster","historyData","initialParams","date_from","startOf","format","date_to","endOf","chunk_num","conf","drawSubLayer","initial","chunkKeys","sort","changeChunk","chunk","fetchData","historyDataRaw","getAllCollection","from","to","setDataByChunkIndex","getChunkedData","is_formed","d","objects","centers","moduleList","module_obj","module_id","notWorking","animated","title","required","ModuleCard","Array","excluded","availableModules","_ref","_this","availableModulesNames","filtered","_ref2","checkDisabled","mapState","_ref3","_ref4","disabledField","getAvailableModules","_this2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$getModules","wrap","_context","prev","next","getModules","sent","t0","finish","stop","created","_this3","_callee2","_context2","mapModule","mapButtons","ModuleList","mapTrafficSimple","onMapLoaded","EventBus","$store","commit","beforeMount","localStorage","mounted","$checkPermission","navigateToUrl","beforeDestroy","$off","router","VueRouter","mode","vueLifecycles","singleSpaVue","i18n","store","abrupt","App","checkPermission","ctx"],"mappings":"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,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,sC,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,oC,qBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,wC,qBCA3CD,EAAOC,QAAU,IAA0B,+B,uBCA3CD,EAAOC,QAAU,IAA0B,qC,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,oC,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,oC,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,0C,qBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,+C,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,+C,uBCA3CD,EAAOC,QAAU,IAA0B,oC,uBCA3CD,EAAOC,QAAU,IAA0B,mC,uBCA3CD,EAAOC,QAAU,IAA0B,+B,uBCA3CD,EAAOC,QAAU,IAA0B,mC,qBCA3CD,EAAOC,QAAU,IAA0B,qC,qBCA3CD,EAAOC,QAAU,IAA0B,kD,qBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,6B,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,yC,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uBCA3CD,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,6B,uBCA3CD,EAAOC,QAAU,IAA0B,6B,uBCA3CD,EAAOC,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qBCA3CD,EAAOC,QAAU,IAA0B,oC,qBCA3CD,EAAOC,QAAU,IAA0B,6B,qBCA3CD,EAAOC,QAAU,IAA0B,oC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,2B,sBCA3CD,EAAOC,QAAU,IAA0B,2B,qBCA3CD,EAAOC,QAAU,IAA0B,4C,qBCA3CD,EAAOC,QAAU,IAA0B,+C,qBCA3CD,EAAOC,QAAU,IAA0B,2B,qBCA3CD,EAAOC,QAAU,IAA0B,oC,qBCA3CD,EAAOC,QAAU,IAA0B,2B,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,kD,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,+C,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,2B,qBCA3CD,EAAOC,QAAU,IAA0B,kC,qBCA3CD,EAAOC,QAAU,IAA0B,mC,qBCA3CD,EAAOC,QAAU,IAA0B,kD,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,oC,qBCA3CD,EAAOC,QAAU,IAA0B,wC,qBCA3CD,EAAOC,QAAU,IAA0B,+C,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,kD,qBCA3CD,EAAOC,QAAU,IAA0B","file":"js/chunk-f3900f98.0be308e5.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/marker-error.a3c6d3bc.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.d21f1c92.svg\";","module.exports = __webpack_public_path__ + \"img/marker.6eb78943.svg\";","var e,n,t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n=1&&n<=31||127==n||0==o&&n>=48&&n<=57||1==o&&n>=48&&n<=57&&45==i?\"\\\\\"+n.toString(16)+\" \":0==o&&1==r&&45==n||!(n>=128||45==n||95==n||n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122)?\"\\\\\"+t.charAt(o):t.charAt(o):a+=\"�\";return a};return e.CSS||(e.CSS={}),e.CSS.escape=n,n}(r)})(n={path:e,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports;var p={appOptions:null,template:null,Vue:null,createApp:null,handleInstance:null};function u(e){if(\"object\"!==i(e))throw new Error(\"single-spa-vue requires a configuration object\");var n=o(o({},p),e);if(!n.Vue&&!n.createApp)throw Error(\"single-spa-vue must be passed opts.Vue or opts.createApp\");if(!n.appOptions)throw Error(\"single-spa-vue must be passed opts.appOptions\");if(n.appOptions.el&&\"string\"!=typeof n.appOptions.el&&!(n.appOptions.el instanceof HTMLElement))throw Error(\"single-spa-vue: appOptions.el must be a string CSS selector, an HTMLElement, or not provided at all. Was given \".concat(i(n.appOptions.el)));n.createApp=n.createApp||n.Vue&&n.Vue.createApp;var t={};return{bootstrap:c.bind(null,n,t),mount:l.bind(null,n,t),unmount:f.bind(null,n,t),update:s.bind(null,n,t)}}function c(e){return e.loadRootComponent?e.loadRootComponent().then((function(n){return e.rootComponent=n})):Promise.resolve()}function l(e,n,t){var r={};return Promise.resolve().then((function(){return function(e,n){return\"function\"==typeof e.appOptions?e.appOptions(n):Promise.resolve(o({},e.appOptions))}(e,t).then((function(a){var i;if(t.domElement&&!a.el&&(a.el=t.domElement),a.el)if(\"string\"==typeof a.el){if(!(i=document.querySelector(a.el)))throw Error(\"If appOptions.el is provided to single-spa-vue, the dom element must exist in the dom. Was provided as \".concat(a.el))}else(i=a.el).id||(i.id=\"single-spa-application:\".concat(t.name)),a.el=\"#\".concat(CSS.escape(i.id));else{var p=\"single-spa-application:\".concat(t.name);a.el=\"#\".concat(CSS.escape(p)),(i=document.getElementById(p))||((i=document.createElement(\"div\")).id=p,document.body.appendChild(i))}if(e.replaceMode||(a.el=a.el+\" .single-spa-container\"),!i.querySelector(\".single-spa-container\")){var u=document.createElement(\"div\");u.className=\"single-spa-container\",i.appendChild(u)}if(r.domEl=i,a.render||a.template||!e.rootComponent||(a.render=function(n){return n(e.rootComponent)}),a.data||(a.data={}),a.data=function(){return o(o({},a.data),t)},e.createApp){if(r.vueInstance=e.createApp(a),e.handleInstance)return Promise.resolve(e.handleInstance(r.vueInstance,t)).then((function(){return r.root=r.vueInstance.mount(a.el),n[t.name]=r,r.vueInstance}));r.root=r.vueInstance.mount(a.el)}else if(r.vueInstance=new e.Vue(a),r.vueInstance.bind&&(r.vueInstance=r.vueInstance.bind(r.vueInstance)),e.handleInstance)return Promise.resolve(e.handleInstance(r.vueInstance,t)).then((function(){return n[t.name]=r,r.vueInstance}));return n[t.name]=r,r.vueInstance}))}))}function s(e,n,t){return Promise.resolve().then((function(){var r=n[t.name],a=o(o({},e.appOptions.data||{}),t),i=r.root||r.vueInstance;for(var p in a)i[p]=a[p]}))}function f(e,n,t){return Promise.resolve().then((function(){var r=n[t.name];e.createApp?r.vueInstance.unmount(r.domEl):(r.vueInstance.$destroy(),r.vueInstance.$el.innerHTML=\"\"),delete r.vueInstance,r.domEl&&(r.domEl.innerHTML=\"\",delete r.domEl)}))}export default u;\n//# sourceMappingURL=single-spa-vue.js.map\n","module.exports = __webpack_public_path__ + \"img/marker-no-bg.bf7d53d4.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.fbaced2b.svg\";","module.exports = __webpack_public_path__ + \"img/marker.10282e53.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.fd0b6c85.svg\";","module.exports = __webpack_public_path__ + \"img/marker.05e2cbe7.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.3aa8c073.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.6ee20434.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.e356cccf.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.0d3c270c.svg\";","module.exports = __webpack_public_path__ + \"img/marker.5cf7b1f2.svg\";","module.exports = __webpack_public_path__ + \"img/marker.620a4b1f.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_42.35322f4c.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.3ed22229.svg\";","module.exports = __webpack_public_path__ + \"img/marker-active.1075b1f8.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.a7902bfa.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_45-error.fce0d0ab.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_42-no-bg.22ff55f7.svg\";","module.exports = __webpack_public_path__ + \"img/marker.e5263499.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.25bd6832.svg\";","module.exports = __webpack_public_path__ + \"img/marker.6eb78943.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_42-error.2ef52963.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker-no-bg.2de6fef7.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.f537902e.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.2e93f69b.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.e7e35fb8.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_43.c43da244.svg\";","module.exports = __webpack_public_path__ + \"img/marker.8149b589.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.2f500682.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.d08c3734.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.8110614e.svg\";","module.exports = __webpack_public_path__ + \"img/marker.32c05945.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.296edc0d.svg\";","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading.fullscreen.lock\",value:(_vm.loading),expression:\"loading\",modifiers:{\"fullscreen\":true,\"lock\":true}}]},[_c('div',{staticClass:\"page\"},[_c('img',{staticClass:\"start-page-background-map\",attrs:{\"src\":\"/img/tatarstan-map.svg\",\"alt\":\"Карта Республики Татарстан\"}}),_c('module-list',{attrs:{\"modules\":_vm.modules}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"mapModule\"},[_c('div',{staticClass:\"map\",attrs:{\"id\":`map_${_vm.uuid}`}}),_vm._t(\"map-buttons\",null,null,_vm.options),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mapState, mapGetters } from 'vuex';\r\nimport EventBus from '@/eventBus';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport default {\r\n data() {\r\n return {\r\n map: null,\r\n loaded: false,\r\n uuid: uuidv4(),\r\n };\r\n },\r\n computed: {\r\n ...mapState([\r\n 'mapToken',\r\n 'mapMaxBounds',\r\n 'mapCenter',\r\n 'mapZoom',\r\n 'agglomerationZone',\r\n ]),\r\n ...mapGetters([\r\n 'mapStyles',\r\n ]),\r\n options() {\r\n return {\r\n map: this.map,\r\n loaded: this.loaded,\r\n mapUuid: this.uuid,\r\n };\r\n },\r\n },\r\n watch: {\r\n mapMaxBounds(bbox) {\r\n this.updateMapBounds(bbox);\r\n this.map.flyTo({ center: this.center, zoom: this.mapZoom });\r\n },\r\n mapCenter(center) {\r\n this.updateMapCenter(center);\r\n },\r\n agglomerationZone() {\r\n if (this.loaded) {\r\n this.updateAgglomerationZone();\r\n }\r\n },\r\n },\r\n methods: {\r\n updateMapBounds(bbox) {\r\n this.map.setMaxBounds(bbox);\r\n },\r\n updateMapCenter(center) {\r\n this.map.flyTo({ center, zoom: this.mapZoom });\r\n this.map.setMaxBounds(this.mapMaxBounds);\r\n },\r\n updateAgglomerationZone() {\r\n if (this.map.getSource('agglomeration')) {\r\n this.map.getSource('agglomeration').setData(this.agglomerationZone);\r\n } else {\r\n this.map.addSource('agglomeration', {\r\n type: 'geojson',\r\n data: this.agglomerationZone,\r\n lineMetrics: true,\r\n });\r\n this.map.addLayer({\r\n id: 'agglomerationLayer1',\r\n type: 'line',\r\n source: 'agglomeration',\r\n layout: {},\r\n paint: {\r\n 'line-color': 'red',\r\n 'line-width': 1,\r\n 'line-opacity': 0.2,\r\n },\r\n });\r\n this.map.addLayer({\r\n id: 'agglomerationLayer2',\r\n type: 'line',\r\n source: 'agglomeration',\r\n layout: {},\r\n paint: {\r\n 'line-color': 'white',\r\n 'line-width': 8,\r\n 'line-opacity': 0.3,\r\n },\r\n });\r\n }\r\n },\r\n onMapStyleLoad(name = 'map/main-map') {\r\n EventBus.$emit(`${name}/loaded`, this.map, this.uuid);\r\n this.updateMapCenter(this.mapCenter);\r\n this.updateAgglomerationZone(this.mapMaxBounds);\r\n this.loaded = true;\r\n },\r\n initEventHandlers(name = 'map/main-map') {\r\n this.map.eventHandlers = {\r\n click: {},\r\n mousedown: {},\r\n mouseenter: {},\r\n mouseleave: {},\r\n render: {},\r\n };\r\n this.map.on('click', (e) => {\r\n const feature = this.map.queryRenderedFeatures(e.point)[0];\r\n const layerId = feature && feature.layer.id ? feature.layer.id : null;\r\n Object.keys(this.map.eventHandlers.click).forEach((key) => {\r\n if (key === layerId) {\r\n this.map.eventHandlers.click[key](e, feature);\r\n }\r\n });\r\n EventBus.$emit(`${name}/click`, {\r\n e,\r\n uuid: this.uuid,\r\n feature,\r\n layerId,\r\n });\r\n });\r\n this.map.on('dblclick', (e) => {\r\n e.preventDefault();\r\n const feature = this.map.queryRenderedFeatures(e.point)[0];\r\n const layerId = feature && feature.layer.id ? feature.layer.id : null;\r\n EventBus.$emit(`${name}/dblclick`, {\r\n e,\r\n uuid: this.uuid,\r\n feature,\r\n layerId,\r\n });\r\n });\r\n this.map.on('mousedown', (e) => {\r\n const feature = this.map.queryRenderedFeatures(e.point)[0];\r\n const layerId = feature && feature.layer.id ? feature.layer.id : null;\r\n Object.keys(this.map.eventHandlers.mousedown).forEach((key) => {\r\n if (key === layerId) {\r\n this.map.eventHandlers.mousedown[key](e, feature);\r\n }\r\n });\r\n EventBus.$emit(`${name}/mousedown`, {\r\n e,\r\n uuid: this.uuid,\r\n feature,\r\n layerId,\r\n });\r\n });\r\n this.map.on('mousemove', (e) => {\r\n const feature = this.map.queryRenderedFeatures(e.point)[0];\r\n const layerId = feature && feature.layer.id ? feature.layer.id : null;\r\n Object.keys(this.map.eventHandlers.mouseenter).forEach((key) => {\r\n if (key === layerId && key !== this.map.mousemoveLastLayer) {\r\n setTimeout(() => {\r\n this.map.eventHandlers.mouseenter[key](e, feature);\r\n }, 0);\r\n } else\r\n if (key === this.map.mousemoveLastLayer && key !== layerId) {\r\n this.map.eventHandlers.mouseleave[key](e, feature);\r\n }\r\n });\r\n this.map.mousemoveLastLayer = layerId;\r\n EventBus.$emit(`${name}/mousemove`, {\r\n e,\r\n uuid: this.uuid,\r\n feature,\r\n layerId,\r\n });\r\n });\r\n this.map.on('moveend', (e) => {\r\n EventBus.$emit(`${name}/moveend`, {\r\n e,\r\n uuid: this.uuid,\r\n });\r\n });\r\n this.map.on('render', (e) => {\r\n Object.keys(this.map.eventHandlers.render).forEach((key) => {\r\n this.map.eventHandlers.render[key](e);\r\n });\r\n EventBus.$emit(`${name}/render`, {\r\n e,\r\n uuid: this.uuid,\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import mapModuleMixin from '@eputs/map-module/mixin/mixin';\r\n\r\nexport default {\r\n name: 'mapModule',\r\n mixins: [mapModuleMixin],\r\n props: ['zoom', 'center', 'onDblClick', 'eventPath'],\r\n watch: {\r\n coordinates(val) {\r\n this.map.flyTo({ center: val });\r\n },\r\n mapStyles(val) {\r\n this.layers = [...this.map.getStyle().layers];\r\n this.sources = { ...this.map.getStyle().sources };\r\n\r\n this.map.setStyle(val);\r\n },\r\n },\r\n data() {\r\n return {\r\n layers: [],\r\n sources: {},\r\n };\r\n },\r\n mounted() {\r\n mapboxgl.accessToken = this.mapToken;\r\n const map = new mapboxgl.Map({\r\n container: `map_${this.uuid}`,\r\n style: this.mapStyles,\r\n center: this.center || this.mapCenter,\r\n zoom: this.zoom || this.mapZoom,\r\n maxBounds: this.mapMaxBounds,\r\n attributionControl: false,\r\n dragRotate: false,\r\n });\r\n this.map = map;\r\n this.initEventHandlers(this.eventPath);\r\n this.map.on('style.load', () => {\r\n this.onMapStyleLoad(this.eventPath);\r\n this.addLayerLinestring(this.map, this.layers, this.sources);\r\n });\r\n },\r\n methods: {\r\n addLayerLinestring(mapid, layers, sources) {\r\n const filteredSources = Object.entries(sources).reduce((acc, [key, value]) => {\r\n if (!mapid.getStyle().sources[key]) {\r\n acc = {\r\n ...acc,\r\n [key]: value,\r\n };\r\n }\r\n return acc;\r\n }, {});\r\n const filteredLayers = layers.filter(({ id }) => !mapid.getStyle().layers.some((layer) => layer.id === id && !layer.cluster));\r\n\r\n Object.entries(filteredSources).forEach(([key, value]) => {\r\n mapid.addSource(key, value);\r\n });\r\n filteredLayers.forEach((layer) => {\r\n mapid.addLayer(layer);\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./template.vue?vue&type=template&id=368fb1f4\"\nimport script from \"./script.js?vue&type=script&lang=js&external\"\nexport * from \"./script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"mapButtons\"},[_c('map-buttons-list-wrapper',[_vm._l((_vm.buttons),function(button,button_key){return [(button.childrens)?_c('map-buttons-group',{key:button_key,attrs:{\"options\":{ ..._vm.options, childrens: button.childrens, iconValue: button.iconValue, iconSize: button.iconSize, name: button.name}}}):_c('map-buttons-dynamic',{key:button_key,attrs:{\"external\":button.external,\"name\":button.name,\"options\":{ ..._vm.options, params: button.params }}})]})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.component)?_c(_vm.component,{tag:\"component\",attrs:{\"options\":_vm.options},on:{\"button-event\":_vm.buttonEventHandler}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'mapButtonsDynamic',\r\n props: {\r\n name: {},\r\n options: {},\r\n },\r\n computed: {\r\n component() {\r\n if (this.options.map && this.name.name) return this.name;\r\n return null;\r\n // if (!this.options.map || !this.name) return null;\r\n // return () => import(\r\n // // /* webpackMode: \"lazy\" */\r\n // // /* webpackChunkName: \"map-button-[request]\" */\r\n // `@eputs/map-buttons/types/${this.name}/index.vue`);\r\n },\r\n },\r\n methods: {\r\n buttonEventHandler(value) {\r\n this.$emit('button-event', value);\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./template.vue?vue&type=template&id=5d4a9192\"\nimport script from \"./script.js?vue&type=script&lang=js&external\"\nexport * from \"./script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(true),expression:\"true\"}],ref:\"mapButtonsGroup\",staticClass:\"mapButton mapButtonsGroup\",class:{ 'active': _vm.active, 'enabled': _vm.enabled }},[_c('div',{ref:\"mapButtonsChildrensWrapper\",staticClass:\"mapButton-childrens__wrapper\",class:_vm.fixBy},[_c('div',{staticClass:\"mapButton-childrens\"},_vm._l((_vm.options.childrens),function(children,children_key){return _c('map-buttons-dynamic',{key:`${children.name}-${children_key}`,attrs:{\"external\":children.external,\"name\":children.name,\"options\":{\n map: _vm.options.map,\n loaded: _vm.options.loaded,\n mapUuid: _vm.options.mapUuid,\n params: children.params,\n group_uuid: _vm.uuid\n }},on:{\"button-event\":function($event){return _vm.buttonEventHandler($event, children_key)}}})}),1)]),_c('div',{staticClass:\"mapButton_icon\",on:{\"click\":function($event){return _vm.clickEvent()}}},[(_vm.options.name)?_c('div',{staticClass:\"mapButton-traffic\"},[_c('div',{staticClass:\"mapButton-traffic__indicator\"},[_vm._v(_vm._s(_vm.options.name))])]):_c('Icon',{attrs:{\"value\":_vm.options.iconValue,\"size\":_vm.options.iconSize || 20}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import EventBus from '@/eventBus';\r\nimport mapButtonsDynamic from '@eputs/map-buttons/dynamic/template.vue';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport default {\r\n name: 'mapButtonsGroup',\r\n components: {\r\n mapButtonsDynamic,\r\n },\r\n props: ['options'],\r\n data({ options: { childrens = [] } }) {\r\n return {\r\n visible: false,\r\n activeChildrens: childrens.map(() => false),\r\n enabledChildrens: childrens.map(() => false),\r\n uuid: uuidv4(),\r\n fixBy: '',\r\n };\r\n },\r\n computed: {\r\n active() {\r\n return this.activeChildrens.some((item) => item);\r\n },\r\n enabled() {\r\n return true;\r\n // return this.enabledChildrens.some((item) => item);\r\n },\r\n },\r\n watch: {\r\n active(value) {\r\n EventBus.$emit('mapButtons/toggleGroupEvent', {\r\n visible: value,\r\n uuid: this.uuid,\r\n name: this.options.name,\r\n });\r\n },\r\n },\r\n methods: {\r\n buttonEventHandler(value, key) {\r\n if (value.type === 'visible') {\r\n this.$set(this.activeChildrens, key, value.value);\r\n } else\r\n if (value.type === 'enabled') {\r\n this.$set(this.enabledChildrens, key, true);\r\n }\r\n },\r\n clickEvent() {\r\n if (this.active) {\r\n EventBus.$emit('mapButtons/toggleGroup', {\r\n uuid: this.uuid,\r\n visible: false,\r\n });\r\n }\r\n },\r\n },\r\n mounted() {\r\n try { // позиционирование дропдаун группы кнопок относительно блока с кнопками\r\n const parrentEl = this.$refs.mapButtonsGroup.parentNode;\r\n const groupEl = this.$refs.mapButtonsChildrensWrapper;\r\n this.$nextTick(() => {\r\n const perrentRect = parrentEl.getBoundingClientRect();\r\n const groupRect = groupEl.getBoundingClientRect();\r\n const parrentBottomY = perrentRect.y + perrentRect.height;\r\n const groupBottomY = groupRect.y + groupRect.height;\r\n if (groupBottomY > parrentBottomY && (groupRect.y - perrentRect.y > groupRect.height)) this.fixBy = 'bottom';\r\n });\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./template.vue?vue&type=template&id=0e90f251\"\nimport script from \"./script.js?vue&type=script&lang=js&external\"\nexport * from \"./script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"mapButton__wrapper\",class:{ 'opened': _vm.opened }},[_c('div',{staticClass:\"mapButton enabled mapButton__collapse-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.handleCollapseButtonClick.apply(null, arguments)}}},[_c('div',{staticClass:\"mapButton_icon\"},[_c('Icon',{attrs:{\"value\":\"collapse-icon\",\"size\":24}})],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],staticClass:\"mapButton__list\"},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'map-buttons-list-wrapper',\r\n data() {\r\n return {\r\n opened: true,\r\n };\r\n },\r\n methods: {\r\n handleCollapseButtonClick() {\r\n this.opened = !this.opened;\r\n },\r\n },\r\n};\r\n","import mod from \"-!./wrapper.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./wrapper.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./wrapper.vue?vue&type=template&id=71f27239\"\nimport script from \"./wrapper.js?vue&type=script&lang=js&external\"\nexport * from \"./wrapper.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mapButtonsDynamic from '@eputs/map-buttons/dynamic/template.vue';\r\nimport mapButtonsGroup from '@eputs/map-buttons/group/template.vue';\r\nimport mapButtonsListWrapper from '@eputs/map-buttons/group/wrapper/wrapper.vue';\r\n\r\nexport default {\r\n name: 'mapButtons',\r\n components: {\r\n mapButtonsDynamic,\r\n mapButtonsGroup,\r\n mapButtonsListWrapper,\r\n },\r\n props: ['options', 'buttons'],\r\n methods: {\r\n // checkAccess(layer) {\r\n // if (!layer.params) return true;\r\n // return !Object.prototype.hasOwnProperty.call(layer.params, 'access') || layer.params.access;\r\n // },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./template.vue?vue&type=template&id=7b6828dc\"\nimport script from \"./script.js?vue&type=script&lang=js&external\"\nexport * from \"./script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hiddenBtn),expression:\"!hiddenBtn\"},{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"},{name:\"loading\",rawName:\"v-loading.fullscreen.lock\",value:(_vm.loadingFull),expression:\"loadingFull\",modifiers:{\"fullscreen\":true,\"lock\":true}}],staticClass:\"mapButton\",class:{'active': _vm.visible, 'enabled': true},on:{\"click\":function($event){return _vm.toggleVisibility()}}},[_c('div',{staticClass:\"mapButton_icon\"},[(_vm.iconValue)?_c('Icon',{attrs:{\"value\":_vm.iconValue,\"size\":_vm.iconSize}}):_vm._e(),(_vm.iconText)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.iconText)}}):_vm._e(),(_vm.buttonText)?_c('div',{staticClass:\"mapButton_icon__text\"},[_vm._v(_vm._s(_vm.buttonText))]):_vm._e(),(_vm.externalData && _vm.visible)?_c('div',{staticClass:\"mapButton_externalData\"}):_vm._e()],1),_c('div',{staticClass:\"mapButton_popup\",class:_vm.tooltipPosition,domProps:{\"innerHTML\":_vm._s(_vm.popupText)}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n data() {\r\n return {\r\n popup: null,\r\n popupOpened: null,\r\n };\r\n },\r\n methods: {\r\n showPopup(position, text, domContent) {\r\n this.popupOpened = true;\r\n if (position) this.popup.setLngLat(position);\r\n if (text) this.popup.setHTML(text);\r\n if (domContent) this.popup.setDOMContent(domContent);\r\n this.popup.removeClassName('hidden');\r\n },\r\n hidePopup() {\r\n if (this.popupOpened) {\r\n this.popupOpened = false;\r\n this.popup.addClassName('hidden');\r\n }\r\n },\r\n initPopup(opt) {\r\n const className = opt.hasClass ? `hidden editPopup ${opt.hasClass}` : 'hidden editPopup';\r\n this.popup = new mapboxgl.Popup({\r\n offset: 10,\r\n closeOnClick: false,\r\n className,\r\n closeButton: false,\r\n ...(opt.maxWidth ? { maxWidth: opt.maxWidth } : {}),\r\n })\r\n .setLngLat([0, 0])\r\n .setHTML('')\r\n .addTo(this.map);\r\n if (opt.click) {\r\n this.popup.getElement().addEventListener('click', (e) => {\r\n Object.keys(opt.click).forEach((key) => {\r\n if (e.target.classList.contains(key)) {\r\n opt.click[key]();\r\n }\r\n });\r\n this.hidePopup();\r\n });\r\n }\r\n },\r\n },\r\n};\r\n","import { v4 as uuidv4 } from 'uuid';\r\nimport { mapGetters } from 'vuex';\r\nimport popupMixin from '@eputs/map-module/mixin/popup';\r\n\r\nexport default {\r\n data() {\r\n return {\r\n handlers: {},\r\n mapLayers: [],\r\n uuid: uuidv4(),\r\n };\r\n },\r\n mixins: [popupMixin],\r\n computed: {\r\n ...mapGetters([\r\n 'mapFonts',\r\n ]),\r\n },\r\n methods: {\r\n loadMarker(icon, size = [96, 96]) {\r\n if (this.map.hasImage(icon)) return;\r\n const img = new Image(size[0], size[1]);\r\n img.onload = () => {\r\n if (!this.map.hasImage(icon)) {\r\n this.map.addImage(icon, img);\r\n }\r\n };\r\n img.setAttribute('crossOrigin', '');\r\n img.src = icon;\r\n },\r\n layerMouseenterHandler() {\r\n this.map.getCanvas().style.cursor = 'pointer';\r\n },\r\n layerMouseleaveHandler() {\r\n this.map.getCanvas().style.cursor = '';\r\n },\r\n clearPoints(notDelete) {\r\n if (!notDelete) {\r\n this.mapLayers.forEach((id) => {\r\n if (typeof (id) === 'string') {\r\n if (this.map.getLayer(id)) {\r\n this.map.removeLayer(id);\r\n }\r\n if (this.map.getSource(id)) {\r\n this.map.removeSource(id);\r\n }\r\n } else {\r\n id.remove();\r\n }\r\n });\r\n this.mapLayers = [];\r\n }\r\n if (this.removeSectorClusters) this.removeSectorClusters();\r\n },\r\n addClickEvent(opt) {\r\n if (!this.handlers[opt.layerName]) {\r\n this.handlers[opt.layerName] = {\r\n click: async (e, feature, isPopupHandler = false) => {\r\n if (!Object.prototype.hasOwnProperty.call(opt, 'skipPoints') || !opt.skipPoints) {\r\n const pointFeatures = this.map.queryRenderedFeatures(e.point).filter((el) => this.map.eventHandlers.click[el.layer.id]);\r\n if (feature.layer && feature.layer.id && !isPopupHandler) {\r\n if (!feature.properties.cluster && pointFeatures.length > 1 && !opt.hasDisabledClickFeatures) {\r\n this.showPointPopup(e, pointFeatures);\r\n return;\r\n }\r\n }\r\n\r\n if (opt.hasDisabledClickFeatures && pointFeatures.length > 1) {\r\n return;\r\n }\r\n }\r\n\r\n let id = '';\r\n if (feature.id !== undefined && feature.id !== null) {\r\n id = feature.id;\r\n } else\r\n if (feature.properties && feature.properties.id !== undefined && feature.properties.id !== null) {\r\n id = feature.properties.id;\r\n }\r\n id = String(id);\r\n const { geometry } = feature;\r\n let properties;\r\n if (!this.currentId || !this.currentId.includes(id)) {\r\n if (opt.clickHandler) {\r\n /* if (typeof opt.click === 'function') {\r\n if (id !== undefined && id !== 'undefined') {\r\n let response;\r\n if (feature.properties && feature.properties.datetime) {\r\n response = await opt.click({\r\n id,\r\n datetime: feature.properties.datetime,\r\n });\r\n } else {\r\n response = await opt.click(id);\r\n }\r\n if (response.data === null) return;\r\n if (response.data.success === true) {\r\n properties = response.data.data;\r\n } else\r\n if (this.$options.name === 'mapEcoLabs') {\r\n properties = response.data;\r\n }\r\n }\r\n } else { */\r\n properties = feature.properties || {};\r\n // }\r\n if (properties) {\r\n opt.clickHandler({\r\n ...properties,\r\n geometry,\r\n layerName: opt.layerName,\r\n sourceName: opt.sourceName,\r\n lngLat: e.lngLat,\r\n id,\r\n opt,\r\n });\r\n }\r\n }\r\n } else\r\n if (opt.activeClickHandler) {\r\n properties = feature.properties || {};\r\n opt.activeClickHandler({\r\n ...properties,\r\n geometry,\r\n layerName: opt.layerName,\r\n sourceName: opt.sourceName,\r\n lngLat: e.lngLat,\r\n id,\r\n opt,\r\n });\r\n }\r\n },\r\n mousedown: (e, feature) => {\r\n if (opt.mousedownHandler) {\r\n opt.mousedownHandler(e, opt.layerName, opt.sourceName, feature);\r\n }\r\n },\r\n mouseenter: (e, feature) => {\r\n if (opt.mouseenterHandler) {\r\n opt.mouseenterHandler(e, opt.layerName, opt.sourceName, feature);\r\n }\r\n },\r\n mouseleave: (e, feature) => {\r\n if (opt.mouseleaveHandler) {\r\n opt.mouseleaveHandler(e, opt.layerName, opt.sourceName, feature);\r\n }\r\n },\r\n render: (e) => {\r\n if (opt.renderHandler) {\r\n opt.renderHandler(e, opt.layerName, opt.sourceName);\r\n }\r\n },\r\n };\r\n Object.keys(this.handlers[opt.layerName]).forEach((eventName) => {\r\n this.map.eventHandlers[eventName][opt.layerName] = this.handlers[opt.layerName][eventName];\r\n });\r\n }\r\n },\r\n polarToCartesian(centerX, centerY, radius, angleInDegrees) {\r\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0;\r\n return {\r\n x: centerX + (radius * Math.cos(angleInRadians)),\r\n y: centerY + (radius * Math.sin(angleInRadians)),\r\n };\r\n },\r\n describeArc(x, y, radius, angle) {\r\n return this.polarToCartesian(x, y, radius, angle);\r\n },\r\n showPointPopup(e, features) {\r\n this.hidePopup();\r\n\r\n const contain = document.createElement('div');\r\n contain.classList.add('point-popup-map');\r\n\r\n const row = document.createElement('div');\r\n row.classList.add('point-popup-map__row');\r\n row.addEventListener('wheel', function (event) {\r\n let modifier = null;\r\n if (event.deltaMode === event.DOM_DELTA_PIXEL) {\r\n modifier = 1;\r\n } else if (event.deltaMode === event.DOM_DELTA_LINE) {\r\n modifier = parseInt(getComputedStyle(this).lineHeight, 10);\r\n } else if (event.deltaMode === event.DOM_DELTA_PAGE) {\r\n modifier = this.clientHeight;\r\n }\r\n if (event.deltaY !== 0) {\r\n this.scrollLeft += modifier * event.deltaY;\r\n event.preventDefault();\r\n }\r\n });\r\n contain.appendChild(row);\r\n features.forEach((featurePoint) => {\r\n if (this.map.eventHandlers.click[featurePoint.layer.id]) {\r\n const src = featurePoint.properties.iconImage;\r\n const image = new Image(48, 48);\r\n image.src = src;\r\n\r\n image.onclick = async () => {\r\n this.map.eventHandlers.click[featurePoint.layer.id]('', featurePoint, true);\r\n };\r\n row.appendChild(image);\r\n }\r\n });\r\n\r\n const closeButton = document.createElement('span');\r\n closeButton.classList.add('point-popup-map__close-button');\r\n const icon = document.createElement('i');\r\n icon.style.fontSize = '2.5rem';\r\n\r\n icon.classList.add('el-icon-close');\r\n closeButton.appendChild(icon);\r\n\r\n closeButton.onclick = async () => {\r\n this.hidePopup();\r\n };\r\n\r\n contain.appendChild(closeButton);\r\n\r\n this.initPopup({\r\n click: false,\r\n maxWidth: 344,\r\n hasClass: 'no-tip',\r\n });\r\n this.showPopup(e.lngLat, '', contain);\r\n },\r\n onLoadDrawLayer(params) {\r\n this.map.on('load', () => {\r\n this.drawLayer(params);\r\n });\r\n },\r\n drawLayer(params) {\r\n const id = `${this.$options.name}${params.id ? `-${params.id}` : ''}-${this.uuid}`;\r\n const sourceName = `${id}-source`;\r\n let layerName = `${id}-layer`;\r\n if (params.layers) {\r\n layerName = params.layers.map((item, index) => `${layerName}-${index}`);\r\n }\r\n const addLayer = (opt, name) => {\r\n if (opt.sectorCluster) {\r\n this.sectorClusterAddEvents(opt, name, sourceName);\r\n } else {\r\n const type = opt.type || 'symbol';\r\n let { layout } = opt;\r\n if (!opt.layout && type === 'symbol') {\r\n layout = {\r\n 'icon-image': ['get', 'iconImage'],\r\n 'icon-size': ['get', 'iconSize'],\r\n 'icon-allow-overlap': true,\r\n };\r\n }\r\n const layerOpt = {\r\n id: name,\r\n type,\r\n source: sourceName,\r\n };\r\n if (layout) layerOpt.layout = layout;\r\n ['paint', 'filter', 'minzoom', 'maxzoom', 'source-layer'].forEach((key) => {\r\n if (opt[key] !== undefined) layerOpt[key] = opt[key];\r\n });\r\n this.map.addLayer(layerOpt, opt.layerOrder);\r\n this.mapLayers.push(name);\r\n if (opt.click || opt.clickHandler) {\r\n this.addClickEvent({\r\n layerName: name,\r\n sourceName,\r\n click: opt.click,\r\n clickHandler: opt.clickHandler || this.layerClickHandler,\r\n activeClickHandler: opt.activeClickHandler || this.activeLayerClickHandler,\r\n mousedownHandler: opt.mousedownHandler || this.layerMousedownHandler,\r\n mouseenterHandler: opt.mouseenterHandler || this.layerMouseenterHandler,\r\n mouseleaveHandler: opt.mouseleaveHandler || this.layerMouseleaveHandler,\r\n hasDisabledClickFeatures: !!opt.hasDisabledClickFeatures,\r\n skipPoints: !!opt.skipPoints,\r\n });\r\n }\r\n }\r\n };\r\n if (params.layers) {\r\n params.layers.forEach((layer) => {\r\n if (layer.iconFunction) {\r\n this.setIconImage(params.source.features, layer.iconFunction);\r\n }\r\n });\r\n } else if (params.iconFunction) {\r\n this.setIconImage(params.source.features, params.iconFunction);\r\n }\r\n if (this.map.getSource(sourceName)) {\r\n if (params.sourceUrl) {\r\n this.map.getSource(sourceName).setUrl(params.sourceUrl);\r\n } else {\r\n this.map.getSource(sourceName).setData(params.source);\r\n }\r\n } else {\r\n let sourceOpt = {\r\n type: 'geojson',\r\n data: params.source,\r\n };\r\n if (params.sourceUrl) {\r\n sourceOpt = {\r\n type: 'vector',\r\n url: params.sourceUrl,\r\n };\r\n }\r\n ['cluster', 'clusterMaxZoom', 'clusterRadius', 'clusterProperties'].forEach((key) => {\r\n if (params[key] !== undefined) sourceOpt[key] = params[key];\r\n });\r\n this.map.addSource(sourceName, sourceOpt);\r\n if (params.layers) {\r\n params.layers.forEach((item, index) => {\r\n addLayer(item, layerName[index]);\r\n });\r\n } else {\r\n addLayer(params, layerName);\r\n }\r\n this.mapLayers.push(sourceName);\r\n }\r\n return layerName;\r\n },\r\n setIconImage(features, func) {\r\n features.forEach((feature) => {\r\n if (!feature.properties) feature.properties = {};\r\n feature.properties.iconImage = func(feature);\r\n });\r\n },\r\n clusterLayer(color = '#808085') {\r\n return {\r\n filter: ['has', 'point_count'],\r\n type: 'circle',\r\n paint: {\r\n 'circle-color': color,\r\n 'circle-radius': 20,\r\n 'circle-stroke-color': '#434D56',\r\n 'circle-stroke-width': 4,\r\n },\r\n clickHandler: (opt) => this.clusterZoom(opt),\r\n };\r\n },\r\n clusterNumbers(color = '#FDFDFD') {\r\n return {\r\n filter: ['has', 'point_count'],\r\n type: 'symbol',\r\n layout: {\r\n 'text-field': '{point_count}',\r\n 'text-font': this.mapFonts,\r\n 'text-size': 18,\r\n 'text-allow-overlap': true,\r\n },\r\n paint: {\r\n 'text-color': color,\r\n },\r\n clickHandler: (opt) => this.clusterZoom(opt),\r\n };\r\n },\r\n clusterZoom(params) {\r\n this.map.getSource(params.sourceName).getClusterExpansionZoom(params.cluster_id, (err, zoom) => {\r\n if (err) return;\r\n this.map.easeTo({\r\n center: params.geometry.coordinates,\r\n zoom,\r\n });\r\n });\r\n },\r\n },\r\n beforeDestroy() {\r\n Object.keys(this.handlers).forEach((layerName) => {\r\n Object.keys(this.handlers[layerName]).forEach((eventName) => {\r\n if (this.map.eventHandlers[eventName][layerName]) {\r\n delete this.map.eventHandlers[eventName][layerName];\r\n }\r\n });\r\n });\r\n },\r\n};\r\n","/* eslint-disable no-underscore-dangle */\r\nexport default {\r\n data() {\r\n return {\r\n bbox: null,\r\n bboxObj: null,\r\n };\r\n },\r\n methods: {\r\n checkBBoxChange(check = true) {\r\n let trigger = false;\r\n if (check) {\r\n if (!this.bboxObj) {\r\n trigger = true;\r\n } else {\r\n const {\r\n s,\r\n w,\r\n n,\r\n e,\r\n } = this.getViewBounds();\r\n if (s < this.bboxObj.s || w < this.bboxObj.w || n > this.bboxObj.n || e > this.bboxObj.e) {\r\n trigger = true;\r\n }\r\n }\r\n if (trigger) {\r\n this.setCurrentBBox();\r\n }\r\n }\r\n return trigger;\r\n },\r\n setCurrentBBox() {\r\n const {\r\n s,\r\n w,\r\n n,\r\n e,\r\n } = this.getViewBounds();\r\n this.bboxObj = {\r\n s: s - (n - s) / 2,\r\n w: w - (e - w) / 2,\r\n n: (n - s) / 2 + n,\r\n e: (e - w) / 2 + e,\r\n };\r\n this.bbox = this.formatBBoxObj(this.bboxObj);\r\n },\r\n formatBBoxObj({\r\n s,\r\n w,\r\n n,\r\n e,\r\n }) {\r\n return [w, n, e, s];\r\n },\r\n getViewBounds() {\r\n const bounds = this.map.getBounds();\r\n return {\r\n s: bounds._sw.lat,\r\n w: bounds._sw.lng,\r\n n: bounds._ne.lat,\r\n e: bounds._ne.lng,\r\n };\r\n },\r\n },\r\n};\r\n","import { mapState } from 'vuex';\r\nimport EventBus from '@/eventBus';\r\nimport layersMixin from '@eputs/map-module/mixin/layers';\r\nimport bboxMixin from '@eputs/map-module/mixin/bbox';\r\n\r\nexport default {\r\n mixins: [layersMixin, bboxMixin],\r\n props: ['options'],\r\n data({ options: { map, params } }) {\r\n const tooltipPosition = params\r\n && params.tooltipPosition\r\n && ['top', 'left', 'right', 'bottom'].includes(params.tooltipPosition)\r\n ? params.tooltipPosition\r\n : '';\r\n const clicked = (params && params.clicked) ? params.clicked : null;\r\n const clickable = params && (Object.prototype.hasOwnProperty.call(params, 'clickable')) ? params.clickable : true;\r\n return {\r\n tooltipPosition,\r\n iconValue: null,\r\n iconSize: 26,\r\n visible: params && params.visible !== undefined ? params.visible : false,\r\n hiddenBtn: params && params.hiddenBtn !== undefined ? params.hiddenBtn : false,\r\n geojsonData: {},\r\n updateInterval: 60,\r\n updateIntervalTimer: null,\r\n map,\r\n markerSize: 0.5,\r\n markerScale: 1.5,\r\n date: null,\r\n boundsChanged: false,\r\n dateChanged: false,\r\n markerName: [],\r\n currentId: clicked || [],\r\n externalData: false,\r\n bbox: [37.650, 55.751, 37.651, 55.750],\r\n loading: false,\r\n loadingFull: false,\r\n clickable,\r\n params,\r\n };\r\n },\r\n computed: {\r\n ...mapState(['mapMaxBounds']),\r\n // access() {\r\n // if (this.options.params && this.options.params.access !== undefined) {\r\n // if (typeof this.options.params.access === 'boolean') return this.options.params.access;\r\n // if (typeof this.options.params.access === 'function') return this.options.params.access();\r\n // }\r\n // if (this.accessDefault !== undefined) {\r\n // if (typeof this.accessDefault === 'boolean') return this.accessDefault;\r\n // if (typeof this.accessDefault === 'function') return this.accessDefault();\r\n // }\r\n // return false;\r\n // },\r\n iconText() {\r\n return null;\r\n },\r\n buttonText() {\r\n return null;\r\n },\r\n data() {\r\n return !this.isEmpty(this.geojsonData);\r\n },\r\n },\r\n watch: {\r\n visible: {\r\n handler: 'onVisible',\r\n immediate: true,\r\n },\r\n data: {\r\n handler(value) {\r\n if (value) {\r\n this.$emit('button-event', {\r\n type: 'enabled',\r\n });\r\n }\r\n },\r\n immediate: true,\r\n },\r\n currentId: {\r\n handler() {\r\n this.formatGeojsonData();\r\n if (this.visible) {\r\n this.drawPoints();\r\n }\r\n },\r\n deep: true,\r\n },\r\n },\r\n methods: {\r\n toggleVisibility() {\r\n if (this.loading) return;\r\n this.visible = !this.visible;\r\n },\r\n show() {\r\n this.visible = true;\r\n },\r\n hide() {\r\n this.visible = false;\r\n },\r\n async loadDataWrapper(value) {\r\n const { type } = value || {};\r\n try {\r\n this.loading = type === 'visible';\r\n await this.loadData(value);\r\n } catch (e) {\r\n console.error(e);\r\n if (type === 'visible' && e.message !== 'Cancel') {\r\n this.$message.error('Вызываемый слой не отвечает, попробуйте вызвать позже или обратиться к администратору системы');\r\n this.visible = false;\r\n }\r\n } finally {\r\n this.loading = false;\r\n }\r\n },\r\n async onVisible(value, prevValue) {\r\n if (value === prevValue) return;\r\n this.$emit('update:buttonActive', value);\r\n if (value) {\r\n if (!this.externalData) {\r\n this.setCurrentBBox();\r\n this.loadDataWrapper({\r\n type: 'visible',\r\n });\r\n }\r\n } else {\r\n this.externalData = false;\r\n this.redraw();\r\n EventBus.$emit('mapPopup/close', {\r\n btn_uuid: this.uuid,\r\n id: 'all',\r\n });\r\n }\r\n this.$emit('button-event', {\r\n type: 'visible',\r\n value,\r\n });\r\n EventBus.$emit('mapButtons/toggleEvent', {\r\n visible: value,\r\n params: this.options.params,\r\n uuid: this.uuid,\r\n name: this.$options.name,\r\n });\r\n },\r\n redraw(notDelete, opt) {\r\n this.clearPoints(notDelete);\r\n if (this.updateInterval) {\r\n clearTimeout(this.updateIntervalTimer);\r\n }\r\n if (this.visible) {\r\n this.drawPoints(opt);\r\n if (this.updateInterval) {\r\n this.updateIntervalTimer = setTimeout(() => {\r\n this.loadDataWrapper({\r\n type: 'interval',\r\n });\r\n }, this.updateInterval * 1000);\r\n }\r\n }\r\n },\r\n drawPoints() {},\r\n init() {\r\n this.loadMarkersImages();\r\n },\r\n loadMarkersImages(sizes) {\r\n this.markerName.forEach((item) => {\r\n if (item.icon) {\r\n this.loadMarker(item.icon, item.size);\r\n } else {\r\n this.loadMarker(item);\r\n }\r\n });\r\n },\r\n formatGeojsonData(obj = this.geojsonData) {\r\n if (obj) {\r\n if (obj.features) {\r\n obj.features.forEach((item) => {\r\n const active = this.currentId.includes(String(item.id));\r\n item.properties.isActive = active;\r\n item.properties.iconSize = active ? this.markerSize * this.markerScale : this.markerSize;\r\n });\r\n } else {\r\n Object.keys(obj).forEach((key) => {\r\n this.formatGeojsonData(obj[key]);\r\n });\r\n }\r\n }\r\n },\r\n layerClickHandler(params) {\r\n this.$set(this, 'currentId', [...this.currentId, params.id]);\r\n EventBus.$emit('mapPopup/open', {\r\n type: this.$options.name,\r\n data: params,\r\n btn_uuid: this.uuid,\r\n $options: this.options,\r\n });\r\n },\r\n activeLayerClickHandler(params) {\r\n EventBus.$emit('mapPopup/close', {\r\n id: params.id,\r\n btn_uuid: this.uuid,\r\n });\r\n },\r\n defaultIconLayout(iconImage = this.markerName[0]) {\r\n return {\r\n 'icon-image': iconImage.icon ? iconImage.icon : iconImage,\r\n 'icon-size': ['get', 'iconSize'],\r\n 'icon-allow-overlap': true,\r\n };\r\n },\r\n busIconLayout() {\r\n return {\r\n 'icon-image': ['get', 'iconImage'],\r\n 'icon-size': 0.5,\r\n 'icon-allow-overlap': true,\r\n 'icon-rotate': ['+', 180, ['get', 'azimuth']],\r\n 'icon-rotation-alignment': 'map',\r\n };\r\n },\r\n setIcons(features, icons) {\r\n features.forEach((item) => {\r\n if (!item.properties) item.properties = {};\r\n item.properties.iconImage = this.markerName[icons[icons[item.properties.status] !== undefined ? item.properties.status : 'default']];\r\n });\r\n },\r\n async onClickPoint({\r\n route_id,\r\n route_num,\r\n paint,\r\n ...params\r\n }) {\r\n if (this.params.getGeo) {\r\n try {\r\n const { data } = await this.params.getGeo({\r\n ...(route_id ? { route_id } : { route_num }),\r\n });\r\n\r\n this.geojsonData.lines = data;\r\n this.drawLayer({\r\n source: this.geojsonData.lines,\r\n paint,\r\n id: 'lines',\r\n type: 'line',\r\n skipPoints: true,\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n const data = await this.params.getItem(params);\r\n\r\n return data;\r\n },\r\n removeLayer(data) {\r\n if (this.map.getSource(`${this.$options.name}-lines-${data.uuid}-source`)) {\r\n this.map.getSource(`${this.$options.name}-lines-${data.uuid}-source`).setData({\r\n features: [],\r\n type: 'FeatureCollection',\r\n });\r\n }\r\n },\r\n onSetCurrentBox() {\r\n if (this.visible) {\r\n this.setCurrentBBox();\r\n }\r\n this.init();\r\n },\r\n },\r\n created() {\r\n if (this.options.params) {\r\n if (this.options.params.iconValue) this.iconValue = this.options.params.iconValue;\r\n if (this.options.params.iconSize) this.iconSize = this.options.params.iconSize;\r\n if (this.options.params.popupText) this.popupText = this.options.params.popupText;\r\n }\r\n\r\n this.eventBusOn('map/main-map/loaded', (map, mapUuid) => {\r\n if (this.options.mapUuid === mapUuid) {\r\n this.onSetCurrentBox();\r\n }\r\n });\r\n this.onSetCurrentBox();\r\n this.eventBusOn('map/main-map/moveend', (opt) => {\r\n if (this.options.mapUuid === opt.uuid) {\r\n if (this.boundsChanged && this.visible && this.data && !this.externalData && this.checkBBoxChange()) {\r\n this.loadDataWrapper({\r\n type: 'moveend',\r\n });\r\n }\r\n }\r\n });\r\n this.eventBusOn('mapPopup/closeEvent', (params) => {\r\n if (params.uuid === this.uuid) {\r\n this.$set(this, 'currentId', this.currentId.filter((item) => item !== params.id));\r\n }\r\n });\r\n if (this.options.group_uuid) {\r\n this.eventBusOn('mapButtons/toggleGroup', (params) => {\r\n if (params.uuid === this.options.group_uuid) {\r\n this.visible = params.visible;\r\n }\r\n });\r\n }\r\n this.eventBusOn('mapButtons/toggleAll', (params) => {\r\n if (params.uuid !== this.uuid) {\r\n this.visible = params.visible;\r\n }\r\n });\r\n if (this.options.params && this.options.params.visible) { // чтобы в мониторинге понять - включена ли кнопка (по названию);\r\n EventBus.$emit('mapButtons/toggleEvent', {\r\n visible: this.options.params.visible,\r\n params: this.options.params,\r\n uuid: this.uuid,\r\n name: this.$options.name,\r\n });\r\n }\r\n this.eventBusOn('mapButtons/updateOne', (params) => {\r\n if (params.name === this.$options.name || params.uuid === this.uuid) {\r\n if (params.visible !== undefined) {\r\n if (params.data !== undefined && (!params.data.substractMonths || (this.options.params && this.options.params.substractMonths === params.data.substractMonths))) {\r\n this.visible = true;\r\n } else {\r\n this.visible = false;\r\n }\r\n }\r\n if (params.data !== undefined) {\r\n if (this.updateInterval) {\r\n clearTimeout(this.updateIntervalTimer);\r\n }\r\n if (!params.data.substractMonths || (this.options.params && this.options.params.substractMonths === params.data.substractMonths)) {\r\n this.externalData = true;\r\n this.loadDataWrapper({\r\n type: 'externalData',\r\n externalData: params.data,\r\n });\r\n }\r\n }\r\n }\r\n });\r\n EventBus.$on('mapModule/setMapZoomAndCenter', () => {\r\n this.onVisible(this.visible);\r\n });\r\n\r\n if (this.options.params.getGeo) {\r\n EventBus.$on('mapPopup/closeEvent', (data) => {\r\n this.removeLayer(data);\r\n });\r\n }\r\n },\r\n beforeDestroy() {\r\n if (this.updateInterval) {\r\n clearTimeout(this.updateIntervalTimer);\r\n }\r\n },\r\n};\r\n","export default {\r\n data() {\r\n return {\r\n sectorMarkers: {},\r\n sectorMarkersOnScreen: {},\r\n };\r\n },\r\n methods: {\r\n sectorClusterLayer(params) {\r\n return {\r\n ...params,\r\n sectorCluster: true,\r\n };\r\n },\r\n createSectorCluster(props, opt) { // создание элемента кластера\r\n const offsets = [];\r\n let colors = null;\r\n if (typeof opt.color === 'string') {\r\n colors = { singleStatus: opt.color };\r\n props.singleStatus = props.point_count;\r\n } else {\r\n colors = opt.color;\r\n }\r\n const counts = Object.keys(colors).map((key) => (props[key] !== undefined ? props[key] : null)).filter((item) => item !== null);\r\n const sum = counts.reduce((item, acc) => item + acc, 0);\r\n counts.push(props.point_count - sum);\r\n let total = 0;\r\n for (let i = 0; i < counts.length; i += 1) {\r\n offsets.push(total);\r\n total += counts[i];\r\n }\r\n\r\n let r = 25; // радиус\r\n let clusterClass = '';\r\n if (total >= 20) {\r\n r = 40;\r\n // spaceRatio = 16;\r\n clusterClass = 'sector-cluster--big';\r\n } else if (total >= 10) {\r\n // spaceRatio = 8;\r\n r = 25;\r\n }\r\n const perimeter = this.perimeter(r - 6);\r\n const w = r * 2;\r\n let html = `
\r\n \r\n `;\r\n let offset = -3;\r\n for (let i = 0; i < counts.length; i += 1) {\r\n if (counts[i]) {\r\n const ringOffset = counts[i] === total ? 0 : 6; // сдвиг/отступ, 0 для отрисовки одного статуса\r\n const segmentLength = ((perimeter / total) * counts[i] - ringOffset); // длинна сегмента с учетом сдвига\r\n html += counts[i] ? this.createSectorClusterSegment(\r\n i,\r\n r - 6,\r\n segmentLength,\r\n ringOffset > 0 ? offset : 0,\r\n perimeter,\r\n Object.values(colors)[i],\r\n ringOffset,\r\n ) : '';\r\n offset -= (segmentLength + ringOffset);\r\n }\r\n }\r\n html += `\r\n
${total}
\r\n
\r\n
`;\r\n const el = document.createElement('div');\r\n el.innerHTML = html;\r\n return el.firstChild;\r\n },\r\n createSectorClusterSegment(i, r, segment, offset, perimeter, color, spaceRatio) { // создание диаграммы\r\n const style = this.circlePathStyle(offset, segment, perimeter);\r\n return [ // рисуется круг радиусом r, вокруг обводка, которая формирует диаграмму\r\n ``,\r\n ].join(' ');\r\n },\r\n perimeter(radius) { // длина окружности\r\n return 2 * Math.PI * radius;\r\n },\r\n circlePathStyle(offset, percentage, perimeter) { // подсчет сдвига\r\n // const percent = (perimeter * percentage) - 4;\r\n return {\r\n strokeDasharray: `${percentage < 0 ? 0 : percentage}px, ${perimeter - percentage}px`,\r\n strokeDashoffset: `${offset}px`,\r\n transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease',\r\n };\r\n },\r\n relativeStrokeWidth(strokeWidth, width) {\r\n return ((strokeWidth / width) * 100).toFixed(1);\r\n },\r\n updateSectorClusters(opt, sourceName, eventLayerName) {\r\n const newMarkers = {};\r\n this.map.querySourceFeatures(sourceName).forEach((feature) => {\r\n const props = feature.properties;\r\n if (props.cluster) {\r\n const coords = feature.geometry.coordinates;\r\n const { cluster_id } = props;\r\n let marker = this.sectorMarkers[cluster_id];\r\n if (!marker) {\r\n const el = this.createSectorCluster(props, opt);\r\n marker = new mapboxgl.Marker({\r\n element: el,\r\n }).setLngLat(coords);\r\n el.addEventListener('click', (e) => {\r\n this.clusterZoom({\r\n sourceName,\r\n cluster_id,\r\n geometry: feature.geometry,\r\n eventLayerName,\r\n });\r\n e.stopPropagation();\r\n });\r\n this.sectorMarkers[cluster_id] = marker;\r\n }\r\n newMarkers[cluster_id] = marker;\r\n if (!this.sectorMarkersOnScreen[cluster_id]) marker.addTo(this.map);\r\n }\r\n });\r\n Object.keys(this.sectorMarkersOnScreen).forEach((cluster_id) => {\r\n if (!newMarkers[cluster_id]) this.sectorMarkersOnScreen[cluster_id].remove();\r\n });\r\n this.sectorMarkersOnScreen = newMarkers;\r\n },\r\n removeSectorClusters() {\r\n this.sectorMarkers = {};\r\n Object.keys(this.sectorMarkersOnScreen).forEach((id) => {\r\n this.sectorMarkersOnScreen[id].remove();\r\n });\r\n this.sectorMarkersOnScreen = {};\r\n },\r\n sectorClusterAddEvents(opt, layerName, sourceName) {\r\n this.addClickEvent({\r\n layerName,\r\n sourceName,\r\n renderHandler: (e, eventLayerName, eventSourceName) => {\r\n if (this.map.getSource(eventSourceName) && this.map.isSourceLoaded(eventSourceName)) {\r\n this.updateSectorClusters(opt, eventSourceName, eventLayerName);\r\n }\r\n },\r\n click: opt.click,\r\n clickHandler: opt.clickHandler || this.layerClickHandler,\r\n activeClickHandler: opt.activeClickHandler || this.activeLayerClickHandler,\r\n mousedownHandler: opt.mousedownHandler || this.layerMousedownHandler,\r\n mouseenterHandler: opt.mouseenterHandler || this.layerMouseenterHandler,\r\n mouseleaveHandler: opt.mouseleaveHandler || this.layerMouseleaveHandler,\r\n });\r\n },\r\n },\r\n};\r\n","/* eslint-disable */\r\n// import {\r\n// getWeightControlPointsGeojson,\r\n// getWeightControlPointsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\nimport markerService from './img/marker-service.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapAsvgk',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'asvgk',\r\n popupText: 'АПВГК',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n markerService,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessWeightControlPointView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n NO_DATA: 1,\r\n DOWN: 1,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n DOWN: ['+', ['case', ['==', ['get', 'status'], 'DOWN'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: !this.clickable ? null : this.params.getItem,\r\n },\r\n this.clusterLayer('#F97D0B'),\r\n this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#F97D0B',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#979797',\r\n DOWN: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=6ee86adc&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable prefer-destructuring */\r\nexport default {\r\n methods: {\r\n formatGeojsonData() {\r\n this.geojsonData.lines = {\r\n features: [],\r\n type: 'FeatureCollection',\r\n };\r\n this.geojsonData.markers = {\r\n features: [],\r\n type: 'FeatureCollection',\r\n };\r\n\r\n const markersSrcList = this.geojsonData.markersSrc && this.geojsonData.markersSrc.features;\r\n markersSrcList.forEach((item) => {\r\n item.properties.iconImage = this.markerName[0].icon;\r\n });\r\n const currentMarker = markersSrcList.filter((item) => this.currentId.includes(String(item.id)));\r\n const routeNum = currentMarker.length ? currentMarker[0].properties.route_num : null;\r\n if (!currentMarker.length) {\r\n this.geojsonData.markers.features = markersSrcList;\r\n } else {\r\n this.geojsonData.markers.features = markersSrcList.filter((item) => routeNum === item.properties.route_num);\r\n currentMarker.forEach((item) => {\r\n item.properties.iconImage = this.markerName[1].icon;\r\n });\r\n }\r\n if (routeNum) {\r\n this.geojsonData.lines.features = this.geojsonData.linesSrc && this.geojsonData.linesSrc.features.filter((item) => item.properties.route_num === routeNum);\r\n }\r\n },\r\n },\r\n};\r\n","import {\r\n // getOsmMapBusLine,\r\n // getBusGpsCollections,\r\n // getPublicTransportVehicleInfo,\r\n // getOsmMapBusLine,\r\n} from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport mapBusMixin from '@eputs/map-buttons/mixin-bus';\r\nimport marker from './img/marker.svg';\r\nimport markerActive from './img/marker-active.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapBus',\r\n mixins: [\r\n mapButtonsMixin,\r\n mapBusMixin,\r\n sectorCluster,\r\n ],\r\n data() {\r\n return {\r\n iconValue: 'bus',\r\n popupText: 'Автобусы',\r\n updateInterval: 30,\r\n markerName: [\r\n {\r\n icon: marker,\r\n size: [76, 96],\r\n },\r\n {\r\n icon: markerActive,\r\n size: [76, 96],\r\n },\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n try {\r\n const markersData = await this.params.getCollection(this.bbox);\r\n this.$set(this.geojsonData, 'markersSrc', markersData.data);\r\n this.geojsonData.markersSrc.features.forEach((item) => {\r\n item.properties.route_num = String(item.properties.route_num).toLowerCase();\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n this.$set(this, 'geojsonData', null);\r\n throw new Error(e);\r\n } finally {\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData.markers,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: (data) => this.onClickPoint({\r\n ...data,\r\n paint: {\r\n 'line-color': '#27AC54',\r\n 'line-width': 6,\r\n 'line-opacity': 1,\r\n },\r\n }),\r\n layout: this.busIconLayout(),\r\n skipPoints: true,\r\n },\r\n // this.clusterLayer('#27AC54'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#27AC54',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (params.name === 'mapOtHeatmapHistory' && params.uuid !== this.uuid && params.visible) this.visible = false;\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=521f85c4&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapBusLine,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapBusLine',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'bus',\r\n popupText: 'Маршруты автобусов',\r\n updateInterval: 0,\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n type: 'line',\r\n paint: {\r\n 'line-color': '#27AC54',\r\n 'line-width': 2,\r\n 'line-opacity': 1,\r\n },\r\n skipPoints: true,\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=472c9a30&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapBusStop,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapBusStop',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'bus',\r\n popupText: 'Автобусные остановки',\r\n updateInterval: 0,\r\n markerName: [\r\n {\r\n icon: marker,\r\n size: [68, 68],\r\n },\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: true,\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer('#27AC54'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#27AC54',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=5e3370e2&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getComplexFvfViolationsGeojson,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapComplexFvfViolations',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'car-list',\r\n popupText: 'Концентрация нарушений',\r\n markerName: [\r\n marker,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessComplexFxfView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection(this.bbox);\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n layers: [\r\n {\r\n // click: (a) => {\r\n // console.log(a);\r\n // console.log('click');\r\n // },\r\n type: 'heatmap',\r\n paint: {\r\n 'heatmap-weight': 1,\r\n 'heatmap-intensity': 1,\r\n 'heatmap-color': [\r\n 'interpolate',\r\n ['linear'],\r\n ['heatmap-density'],\r\n 0,\r\n 'rgba(33,102,172,0)',\r\n 0.2,\r\n '#88F6D9',\r\n 0.4,\r\n '#88F6D9',\r\n 0.6,\r\n '#88F6D9',\r\n 0.8,\r\n '#88F6D9',\r\n 1,\r\n '#88F6D9',\r\n ],\r\n 'heatmap-radius': [\r\n 'interpolate',\r\n ['linear'],\r\n ['get', 'violations_number'],\r\n 0, 10,\r\n 10, 25,\r\n 50, 50,\r\n 100, 50,\r\n ],\r\n 'heatmap-opacity': 0.8,\r\n },\r\n },\r\n {\r\n id: 'heatmap-labels',\r\n type: 'symbol',\r\n source: 'places',\r\n layout: {\r\n 'text-field': ['get', 'violations_number'],\r\n 'text-justify': 'auto',\r\n // 'text-font': ['Noto Sans Regular'],\r\n },\r\n paint: {\r\n 'text-color': '#071AEF',\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=7cc5d6e0&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getComplexFvfGeojson,\r\n// getComplexFvfItem,\r\n// // getVideoStationsGeojson,\r\n// // getVideoStationsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\nimport markerOnService from './img/marker-onservice.svg';\r\n\r\nexport default {\r\n name: 'mapComplexFvf',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'complex-fvf',\r\n popupText: 'Комплексы ФВФ',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n markerOnService,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessComplexFxfView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n default: 1,\r\n // NO_DATA: 1, // TODO: EPUTS-1888\r\n NO_DATA: 0,\r\n NO_SIGNAL: 1,\r\n DOWN: 2,\r\n DAMAGED: 2,\r\n SERVICE: 3,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n DOWN: ['+', ['case', ['==', ['get', 'status'], 'DOWN'], 1, 0]],\r\n NO_SIGNAL: ['+', ['case', ['==', ['get', 'status'], 'NO_SIGNAL'], 1, 0]],\r\n SERVICE: ['+', ['case', ['==', ['get', 'status'], 'SERVICE'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: !this.clickable ? null : this.params.getItem,\r\n },\r\n // this.clusterLayer('#05cef9'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#05cef9',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#FCB938',\r\n DOWN: '#F44F47',\r\n NO_SIGNAL: '#979797',\r\n SERVICE: '#F68D21',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=1e3b6a5e&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getEcoLabsGeojson,\r\n// getEcoLabsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\nimport markerMove from './img/markerMove.svg';\r\nimport markerMoveDisabled from './img/markerMove-disabled.svg';\r\nimport markerMoveError from './img/markerMove-error.svg';\r\n\r\nexport default {\r\n name: 'mapEcoLabs',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'eco-labs',\r\n popupText: 'Экологические лаборатории',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n {\r\n icon: markerMove,\r\n size: [80, 96],\r\n },\r\n {\r\n icon: markerMoveDisabled,\r\n size: [80, 96],\r\n },\r\n {\r\n icon: markerMoveError,\r\n size: [80, 96],\r\n },\r\n ],\r\n // accessDefault: this.$accessEco,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.geojsonData.features.forEach((item) => {\r\n if (item.properties.stationary) {\r\n item.properties.azimuth = 0;\r\n }\r\n let iconImage;\r\n if (item.properties.status === 'UP') {\r\n iconImage = item.properties.stationary ? marker : markerMove;\r\n } else\r\n if (item.properties.status === 'DAMAGED') {\r\n iconImage = item.properties.stationary ? markerError : markerMoveError;\r\n } else {\r\n iconImage = item.properties.stationary ? markerDisabled : markerMoveDisabled;\r\n }\r\n item.properties.iconImage = iconImage;\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: !this.clickable ? null : this.params.getItem,\r\n layout: {\r\n 'icon-image': ['get', 'iconImage'],\r\n 'icon-size': ['get', 'iconSize'],\r\n 'icon-allow-overlap': true,\r\n 'icon-rotate': ['to-number', ['get', 'azimuth']],\r\n 'icon-rotation-alignment': 'map',\r\n },\r\n },\r\n this.clusterLayer('#219653'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#219653',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#FCB938',\r\n DOWN: '#f83a2e',\r\n NO_SIGNAL: '#979797',\r\n SERVICE: '#F68D21',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=138635ed&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getRoadEventsGeojson,\r\n// getRoadEventsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapEvents',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'event',\r\n popupText: 'События',\r\n markerName: [\r\n marker,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessEvents,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer('#EB5757'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#EB5757',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=5b3046eb&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getIncidentEventsGeojson,\r\n// getRoadEvent,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapEventIncidents',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'alarm-fire',\r\n popupText: 'Инциденты',\r\n markerName: [\r\n marker,\r\n ],\r\n boundsChanged: true,\r\n accessDefault: this.$accessEventsView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n even_type_class: 'emergency',\r\n });\r\n this.$set(this, 'geojsonData', data.data || data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer('#A6100E'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#A6100E',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=73a43e5d&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getIncidentEventsGeojson,\r\n// getRoadEvent,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBgExternal from './img/marker-no-bg-external.svg';\r\nimport markerNoBgInternal from './img/marker-no-bg-internal.svg';\r\nimport markerNoBgSystem from './img/marker-no-bg-system.svg';\r\nimport externalIcon from './img/external.svg';\r\nimport internalIcon from './img/internal.svg';\r\nimport systemIcon from './img/system.svg';\r\n\r\nexport default {\r\n name: 'mapEventIncidentsIcon',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: '',\r\n iconSize: '',\r\n popupText: '',\r\n markerName: [\r\n externalIcon,\r\n internalIcon,\r\n systemIcon,\r\n ],\r\n boundsChanged: true,\r\n accessDefault: this.$accessEventsView,\r\n requestParams: {},\r\n clasterColor: '',\r\n marker: 0,\r\n };\r\n },\r\n created() {\r\n const {\r\n params: {\r\n popupText = '',\r\n iconValue = 'external',\r\n iconSize = 35,\r\n requestParams = {},\r\n marker = 0,\r\n clasterColor = '#A6100E',\r\n },\r\n } = this.options;\r\n this.requestParams = requestParams;\r\n this.iconValue = iconValue;\r\n this.iconSize = iconSize;\r\n this.popupText = popupText;\r\n this.marker = marker;\r\n this.clasterColor = clasterColor;\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n ...this.requestParams,\r\n });\r\n this.$set(this, 'geojsonData', data.data || data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n let clusterIcon = null;\r\n switch (this.iconValue) {\r\n case 'external':\r\n clusterIcon = markerNoBgExternal;\r\n break;\r\n case 'internal':\r\n clusterIcon = markerNoBgInternal;\r\n break;\r\n case 'system':\r\n clusterIcon = markerNoBgSystem;\r\n break;\r\n default:\r\n clusterIcon = markerNoBgExternal;\r\n }\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n layout: this.defaultIconLayout(this.markerName[this.marker]),\r\n },\r\n // this.clusterLayer(this.clasterColor),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: this.clasterColor,\r\n icon: clusterIcon,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=56eee438&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import moment from 'moment';\r\nimport {\r\n getExternalRoadEmergencyMap,\r\n getExternalRoadEmergency,\r\n} from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapExternalEmergency',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'alarm-fire',\r\n popupText: 'ЧС и ГО',\r\n markerName: [\r\n marker,\r\n ],\r\n boundsChanged: true,\r\n accessDefault: this.$accessExternalEmergency,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await getExternalRoadEmergencyMap({\r\n bbox: this.bbox,\r\n end_date: moment(),\r\n start_date: moment().subtract(1, 'months'),\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: getExternalRoadEmergency,\r\n layout: this.defaultIconLayout(),\r\n },\r\n this.clusterLayer('#AB0D14'),\r\n this.clusterNumbers(),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=0f94dbfe&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* Возможно legacy */\r\nimport moment from 'moment';\r\nimport {\r\n getExternalRoadEventsMap,\r\n getExternalRoadEvents,\r\n} from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapExternalEvents',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'emergency',\r\n popupText: 'Внешние события',\r\n markerName: [\r\n marker,\r\n ],\r\n boundsChanged: true,\r\n accessDefault: this.$accessExternalEvents,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await getExternalRoadEventsMap({\r\n bbox: this.bbox,\r\n end_date: moment(),\r\n start_date: moment().subtract(1, 'months'),\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: getExternalRoadEvents,\r\n layout: this.defaultIconLayout(),\r\n },\r\n this.clusterLayer('#FCC900'),\r\n this.clusterNumbers(),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=33bafd20&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getRoadWorksGeofenceGeojson,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapGeozone',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'geozone',\r\n popupText: 'Геозоны',\r\n boundsChanged: true,\r\n // accessDefault: this.$accessGeofenceView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection(this.bbox);\r\n this.$set(this, 'geojsonData', data);\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n layers: [\r\n {\r\n type: 'line',\r\n paint: {\r\n 'line-color': '#0069FF',\r\n 'line-width': 3,\r\n 'line-opacity': 1,\r\n },\r\n filter: ['==', '$type', 'Polygon'],\r\n skipPoints: true,\r\n },\r\n {\r\n type: 'circle',\r\n paint: {\r\n 'circle-radius': 6,\r\n 'circle-color': '#0069FF',\r\n },\r\n filter: ['==', '$type', 'Point'],\r\n skipPoints: true,\r\n },\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=b9912e32&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\r\n methods: {\r\n getLineColor(type, defaultColor = '#999999') {\r\n switch (type) {\r\n case 'footway':\r\n case 'steps':\r\n return '#F44F47';\r\n case 'motorway':\r\n case 'motorway_link':\r\n case 'trunk':\r\n case 'trunk_link':\r\n case 'primary':\r\n case 'primary_link':\r\n return '#E9760C';\r\n case 'secondary':\r\n case 'secondary_link':\r\n case 'tertiary':\r\n case 'tertiary_link':\r\n return '#FDD136';\r\n case 'proposed':\r\n return '#156782';\r\n case 'construction':\r\n return '#D32828 ';\r\n case 'unclassified':\r\n return '#B9B7B1';\r\n default:\r\n return defaultColor;\r\n }\r\n },\r\n getLineType(type, defaultType = 'normal') {\r\n switch (type) {\r\n case 'pedestrian':\r\n case 'footway':\r\n case 'steps':\r\n return 'dasharray';\r\n default:\r\n return defaultType;\r\n }\r\n },\r\n },\r\n};\r\n","import EventBus from '@/eventBus';\r\n// import {\r\n// getRoads,\r\n// getRoadsItem,\r\n// getNodes,\r\n// getNodesItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport colorsMixin from './colorsMixin';\r\n\r\nexport default {\r\n name: 'mapGraph',\r\n mixins: [mapButtonsMixin, colorsMixin],\r\n data({ options: { params } }) {\r\n return {\r\n clickedCount: params && params.clickedCount ? params.clickedCount : null,\r\n onlyNodes: !!params && !!params.onlyNodes,\r\n iconValue: 'graph-layer',\r\n popupText: 'Граф дорог',\r\n updateInterval: 0,\r\n boundsChanged: true,\r\n hoveredStateId: {},\r\n // accessDefault: this.$accessRoadGraph,\r\n loadTimestamp: null,\r\n loadZoom: null,\r\n lines: null,\r\n nodes: null,\r\n nodesLayer: null,\r\n };\r\n },\r\n computed: {\r\n nullData() {\r\n return !this.lines && !this.nodes;\r\n },\r\n },\r\n watch: {\r\n nullData(value) {\r\n if (value) {\r\n this.visible = false;\r\n }\r\n },\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n if (!opt.externalData) {\r\n const zoom = Math.round(this.map.getZoom());\r\n if (!opt.compareZoom || zoom !== this.loadZoom) {\r\n const timestamp = Date.now();\r\n this.loadTimestamp = timestamp;\r\n this.loadZoom = zoom;\r\n const { onlyNodes } = this;\r\n const linesData = !onlyNodes ? await this.params.getRoadsCollection({\r\n bbox: this.bbox,\r\n zoom,\r\n }) : {\r\n data: {\r\n features: [],\r\n type: 'FeatureCollection',\r\n },\r\n };\r\n const nodesData = await this.params.getNodesCollection({\r\n bbox: this.bbox,\r\n zoom,\r\n });\r\n if (timestamp === this.loadTimestamp) {\r\n this.setData({\r\n lines: linesData.data,\r\n nodes: nodesData.data,\r\n }, 'int');\r\n }\r\n }\r\n } else {\r\n this.setData(opt.externalData, 'ext');\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n getClearFeatureCollection() {\r\n return {\r\n features: [],\r\n type: 'FeatureCollection',\r\n };\r\n },\r\n setData(data, type) {\r\n if (data.lines !== undefined) {\r\n if (type === 'ext' && this.nodes === 'int') {\r\n this.$set(this.geojsonData, 'nodes', this.getClearFeatureCollection());\r\n this.nodes = null;\r\n }\r\n if (data.lines) {\r\n if (data.lines.features) {\r\n data.lines.features.forEach((item) => {\r\n item.properties.lineColor = this.getLineColor(item.properties.highway_type ? item.properties.highway_type.code : null);\r\n item.properties.lineType = this.getLineType(item.properties.highway_type ? item.properties.highway_type.code : null);\r\n });\r\n }\r\n this.$set(this.geojsonData, 'lines', data.lines);\r\n this.lines = type;\r\n } else {\r\n this.$set(this.geojsonData, 'lines', this.getClearFeatureCollection());\r\n this.lines = null;\r\n }\r\n }\r\n if (data.nodes !== undefined) {\r\n if (type === 'ext' && this.lines === 'int') {\r\n this.$set(this.geojsonData, 'lines', this.getClearFeatureCollection());\r\n this.lines = null;\r\n }\r\n if (data.nodes) {\r\n this.$set(this.geojsonData, 'nodes', data.nodes);\r\n this.nodes = type;\r\n } else {\r\n this.$set(this.geojsonData, 'nodes', this.getClearFeatureCollection());\r\n this.nodes = null;\r\n }\r\n }\r\n if (data.lines !== undefined || data.nodes !== undefined) {\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n if (this.nodesLayer) {\r\n this.map.setLayerZoomRange(this.nodesLayer, type === 'ext' ? 0 : 12, 24);\r\n }\r\n }\r\n },\r\n updateGraph(version) {\r\n this.loadData();\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData.lines,\r\n id: 'lines-dashed',\r\n type: 'line',\r\n filter: ['all', ['==', 'lineType', 'dasharray']],\r\n paint: {\r\n 'line-color': ['get', 'lineColor'],\r\n 'line-dasharray': [1, 1],\r\n 'line-width': [\r\n 'case',\r\n ['boolean', ['feature-state', 'hover'], ['get', 'isActive']],\r\n 3,\r\n 2,\r\n ],\r\n 'line-opacity': [\r\n 'case',\r\n ['get', 'isActive'],\r\n 0.9,\r\n 0.7,\r\n ],\r\n },\r\n layout: {\r\n 'line-sort-key': ['get', 'level'],\r\n },\r\n click: this.params.getRoadsItem,\r\n hasDisabledClickFeatures: true,\r\n skipPoints: true,\r\n });\r\n this.drawLayer({\r\n source: this.geojsonData.lines,\r\n id: 'lines',\r\n type: 'line',\r\n filter: ['all', ['==', 'lineType', 'normal']],\r\n paint: {\r\n 'line-color': ['get', 'lineColor'],\r\n 'line-width': [\r\n 'case',\r\n ['boolean', ['feature-state', 'hover'], ['get', 'isActive']],\r\n 7,\r\n 5,\r\n ],\r\n 'line-opacity': [\r\n 'case',\r\n ['get', 'isActive'],\r\n 0.9,\r\n 0.7,\r\n ],\r\n },\r\n layout: {\r\n 'line-sort-key': ['get', 'level'],\r\n },\r\n click: this.params.getRoadsItem,\r\n hasDisabledClickFeatures: true,\r\n skipPoints: true,\r\n });\r\n this.nodesLayer = this.drawLayer({\r\n source: this.geojsonData.nodes,\r\n id: 'nodes',\r\n type: 'circle',\r\n paint: {\r\n 'circle-radius': [\r\n 'case',\r\n ['boolean', ['feature-state', 'hover'], ['get', 'isActive']],\r\n 7,\r\n 5,\r\n ],\r\n 'circle-color': '#071AEF',\r\n 'circle-stroke-width': 1,\r\n 'circle-stroke-color': '#fff',\r\n },\r\n clickHandler: ({ id }) => {\r\n if (this.clickedCount) {\r\n EventBus.$emit('map/map-button/graph-node/click', id);\r\n const current = [...this.currentId, id];\r\n this.$set(this, 'currentId', current.slice(-this.clickedCount));\r\n }\r\n return this.params.getNodesItem(id);\r\n },\r\n activeClickHandler: async (params) => {\r\n if (this.clickedCount) {\r\n this.$set(this, 'currentId', []);\r\n EventBus.$emit('map/map-button/graph-node/unclick', params);\r\n }\r\n },\r\n skipPoints: true,\r\n });\r\n },\r\n layerMouseenterHandler(e, layerName, sourceName, feature) {\r\n this.map.getCanvas().style.cursor = 'pointer';\r\n this.hoveredStateId[layerName] = feature.id;\r\n this.map.setFeatureState(\r\n { source: sourceName, id: this.hoveredStateId[layerName] },\r\n { hover: true },\r\n );\r\n },\r\n layerMouseleaveHandler(e, layerName, sourceName, feature) {\r\n this.map.getCanvas().style.cursor = '';\r\n if (this.hoveredStateId[layerName]) {\r\n this.map.setFeatureState(\r\n { source: sourceName, id: this.hoveredStateId[layerName] },\r\n { hover: null },\r\n );\r\n }\r\n this.hoveredStateId[layerName] = null;\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('map/main-map/moveend', (opt) => {\r\n if (this.access && this.boundsChanged && this.visible && this.data && !this.externalData) {\r\n this.setCurrentBBox();\r\n this.loadData({\r\n compareZoom: true,\r\n });\r\n }\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=7f1a4db6&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import bbox from \"@turf/bbox\";\nimport { point, } from \"@turf/helpers\";\n/**\n * Takes a {@link Feature} or {@link FeatureCollection} and returns the absolute center point of all features.\n *\n * @name center\n * @param {GeoJSON} geojson GeoJSON to be centered\n * @param {Object} [options={}] Optional parameters\n * @param {Object} [options.properties={}] Translate GeoJSON Properties to Point\n * @param {Object} [options.bbox={}] Translate GeoJSON BBox to Point\n * @param {Object} [options.id={}] Translate GeoJSON Id to Point\n * @returns {Feature} a Point feature at the absolute center point of all input features\n * @example\n * var features = turf.points([\n * [-97.522259, 35.4691],\n * [-97.502754, 35.463455],\n * [-97.508269, 35.463245]\n * ]);\n *\n * var center = turf.center(features);\n *\n * //addToMap\n * var addToMap = [features, center]\n * center.properties['marker-size'] = 'large';\n * center.properties['marker-color'] = '#000';\n */\nfunction center(geojson, options) {\n if (options === void 0) { options = {}; }\n var ext = bbox(geojson);\n var x = (ext[0] + ext[2]) / 2;\n var y = (ext[1] + ext[3]) / 2;\n return point([x, y], options.properties, options);\n}\nexport default center;\n","import centerTurf from '@turf/center';\r\n// import {\r\n// administrativeBorderFeatures,\r\n// } from '@/api';\r\n// import {\r\n// widget_301,\r\n// } from '@eputs/map-widgets/types';\r\nimport EventBus from '@/eventBus';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapInOutStatistic',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'vehicle-time',\r\n popupText: 'Время нахождения транспорта',\r\n layerName: null,\r\n activeId: null,\r\n // accessDefault: this.$accessBorderAdministrativeView,\r\n };\r\n },\r\n watch: {\r\n visible(value) {\r\n if (value) {\r\n this.activeId = '';\r\n EventBus.$emit('mapButtons/toggleAll', {\r\n visible: false,\r\n uuid: this.uuid,\r\n });\r\n EventBus.$emit('showWidgets', false);\r\n this.map.flyTo({\r\n center: centerTurf(this.geojsonData).geometry.coordinates,\r\n zoom: 7,\r\n pitch: 40,\r\n });\r\n } else {\r\n EventBus.$emit('showWidgets', true);\r\n EventBus.$emit('showAdditionalWidget', null);\r\n EventBus.$emit('map/widgets/hideGridWidget', null);\r\n this.map.flyTo({\r\n pitch: 0,\r\n });\r\n }\r\n },\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const request = {\r\n level: 9,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.geojsonData.features.forEach((feature) => {\r\n feature.properties.id = feature.id;\r\n });\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.layerName = this.drawLayer({\r\n source: this.geojsonData,\r\n layers: [\r\n {\r\n click: true,\r\n type: 'fill',\r\n skipPoints: true,\r\n paint: {\r\n 'fill-color': '#0043A7',\r\n 'fill-opacity': 0.8,\r\n 'fill-outline-color': '#BFD9FF',\r\n },\r\n },\r\n {\r\n click: true,\r\n skipPoints: true,\r\n type: 'fill-extrusion',\r\n paint: {\r\n 'fill-extrusion-color': '#599CFF',\r\n 'fill-extrusion-opacity': 0.9,\r\n 'fill-extrusion-height': [\r\n 'interpolate', ['linear'], ['zoom'],\r\n 4, 5000,\r\n 15, 300,\r\n ],\r\n },\r\n filter: ['in', 'id', this.activeId],\r\n },\r\n ],\r\n });\r\n },\r\n layerClickHandler(polygon) {\r\n this.activeId = this.activeId === polygon.id ? '' : polygon.id;\r\n this.map.setFilter(this.layerName[1], [\r\n 'in',\r\n 'id',\r\n this.activeId,\r\n ]);\r\n EventBus.$emit('showAdditionalWidget', {\r\n name: 'widget_301',\r\n visible: this.activeId !== '',\r\n properties: {\r\n id: this.activeId,\r\n name: polygon.name,\r\n },\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (params.uuid !== this.uuid && params.visible) this.visible = false;\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=93ef4946&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getMeteoStationsGeojson,\r\n// getMeteoStationsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapMeteoStations',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'meteostation',\r\n popupText: 'Метеостанции',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessMeteoStationView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n status1: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n status2: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: !this.clickable ? null : this.params.getItem,\r\n },\r\n // this.clusterLayer('#5F8CC7'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n status1: '#5F8CC7',\r\n status2: '#f83a2e',\r\n status3: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=0ff1fe02&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapMetroLine,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapMetroLine',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'metro',\r\n popupText: 'Линии метро',\r\n updateInterval: 0,\r\n boundsChanged: true,\r\n dateChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n date: this.date,\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n type: 'line',\r\n paint: {\r\n 'line-color': '#ff0000',\r\n 'line-width': 2,\r\n 'line-opacity': 1,\r\n },\r\n skipPoints: true,\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=daa3be92&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapMetroPoints,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport metroMarker from './img/marker.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapMetroStop',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'metro',\r\n popupText: 'Станции метро',\r\n updateInterval: 0,\r\n markerName: [\r\n {\r\n icon: metroMarker,\r\n size: [60, 60],\r\n },\r\n ],\r\n boundsChanged: true,\r\n dateChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n date: this.date,\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: true,\r\n layout: this.defaultIconLayout(),\r\n skipPoints: true,\r\n },\r\n // this.clusterLayer('#FDFDFD'),\r\n // this.clusterNumbers('#185BDE'),\r\n this.sectorClusterLayer({\r\n color: '#3AB162',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=ac96112e&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable prefer-destructuring */\r\n// import {\r\n// getMapBrokenEntityFeatures,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport weightControlPointMarker from '@eputs/map-buttons/types/mapAsvgk/dist/img/marker-disabled.svg';\r\nimport trafficDetectorMarker from '@eputs/map-buttons/types/mapTrafficDetectors/dist/img/marker-disabled.svg';\r\nimport trafficLightControllerMarker from '@eputs/map-buttons/types/mapTrafficLightControllers/dist/img/marker-disabled.svg';\r\nimport variableMessageSignMarker from '@eputs/map-buttons/types/mapTpi/dist/img/marker-disabled.svg';\r\nimport videoStationMarker from '@eputs/map-buttons/types/mapVideoStations/dist/img/marker-disabled.svg';\r\nimport meteoStationMarker from '@eputs/map-buttons/types/mapMeteoStations/dist/img/marker-disabled.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapNotWorking',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'not-working',\r\n popupText: 'Неработающее оборудование',\r\n markerName: [\r\n weightControlPointMarker,\r\n trafficDetectorMarker,\r\n trafficLightControllerMarker,\r\n variableMessageSignMarker,\r\n videoStationMarker,\r\n meteoStationMarker,\r\n ],\r\n boundsChanged: true,\r\n dateChanged: true,\r\n iconTypes: {\r\n weight_control_point: 0,\r\n traffic_detector: 1,\r\n traffic_light_controller: 2,\r\n variable_message_sign: 3,\r\n video_station: 4,\r\n meteo_station: 5,\r\n },\r\n // accessDefault: this.$accessToNonworkingEquipment,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n date: this.date,\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.geojsonData.features.forEach((item) => {\r\n item.properties.iconImage = this.markerName[this.iconTypes[item.properties.type.code]];\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: true,\r\n },\r\n // this.clusterLayer('#979797'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#979797',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=56500f46&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getRoadObjectsGeojson,\r\n// getRoadObjectsItem,\r\n// getRoadObjectsTypes,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport default_marker from './img/object_default.svg';\r\n\r\nconst markers = {\r\n default: default_marker,\r\n};\r\n\r\nexport default {\r\n name: 'mapObjects',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'object-tsodd',\r\n popupText: 'Объекты ТСОДД',\r\n boundsChanged: true,\r\n markerName: [],\r\n // accessDefault: this.$accessObjects,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n if (!this.markerName.length) {\r\n const { data: { data } } = await this.params.getTypes({\r\n limit: 999999,\r\n });\r\n data.forEach((item) => {\r\n if (item.file_uuid) {\r\n markers[item.code] = `${this.apiUrl}/files/file/${item.file_uuid}`;\r\n }\r\n });\r\n const arr = [];\r\n Object.keys(markers).forEach((key) => {\r\n arr.push(markers[key]);\r\n });\r\n this.$set(this, 'markerName', arr);\r\n this.init();\r\n }\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.geojsonData.features.forEach((item) => {\r\n let { type_code } = item.properties;\r\n if (!markers[type_code]) {\r\n type_code = 'default';\r\n }\r\n // item.properties.isActive = true;\r\n item.properties.iconImage = markers[type_code];\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {\r\n this.geojsonData.features.forEach((item) => {\r\n const active = this.currentId.includes(String(item.id));\r\n item.properties.fillOpacity = active ? 1 : 0.3;\r\n item.properties.lineOpacity = active ? 1 : 0.6;\r\n item.properties.iconSize = active ? this.markerSize * this.markerScale : this.markerSize;\r\n item.properties.isActive = active;\r\n });\r\n },\r\n drawPoints() {\r\n const color = '#FBA72A';\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n id: 'fill',\r\n layers: [\r\n {\r\n type: 'line',\r\n paint: {\r\n 'line-color': color,\r\n 'line-width': 4,\r\n 'line-opacity': ['get', 'lineOpacity'],\r\n },\r\n filter: ['==', '$type', 'LineString'],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n {\r\n type: 'fill',\r\n paint: {\r\n 'fill-color': color,\r\n 'fill-outline-color': color,\r\n 'fill-opacity': ['get', 'fillOpacity'],\r\n },\r\n filter: ['==', '$type', 'Polygon'],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n ],\r\n });\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n },\r\n // this.clusterLayer('#FBA72A'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color,\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=7bcd47b0&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getBusGpsCollections,\r\n// getTramGpsCollections,\r\n// getTrolleyBusGpsCollections,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapOtHeatmap',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'heat',\r\n popupText: 'Тепловая карта движения ОТ',\r\n updateInterval: 30,\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const busGps = await this.params.getBusCollection(this.bbox);\r\n const tramGps = await this.params.getTramCollection(this.bbox);\r\n const trolleybusGps = await this.params.getTrolleybusCollection(this.bbox);\r\n this.geojsonData = {\r\n features: busGps.data.features.concat(tramGps.data.features, trolleybusGps.data.features),\r\n type: 'FeatureCollection',\r\n };\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n type: 'heatmap',\r\n paint: {\r\n 'heatmap-weight': 0.8,\r\n 'heatmap-intensity': 0.8,\r\n 'heatmap-color': [\r\n 'interpolate',\r\n ['linear'],\r\n ['heatmap-density'],\r\n 0, 'rgba(255,255,255,0)',\r\n 0.3, '#001fff',\r\n 0.6, '#001fff',\r\n 0.9, '#1cff00',\r\n 1, '#c0ff00',\r\n ],\r\n 'heatmap-radius': [\r\n 'interpolate',\r\n ['linear'],\r\n ['zoom'],\r\n 0,\r\n 2,\r\n 9,\r\n 20,\r\n ],\r\n 'heatmap-opacity': 0.8,\r\n },\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('mapButtons/heatmap/draw-history-data', (data) => {\r\n if (data) {\r\n const values = Object.values(data);\r\n const merged = [];\r\n values.forEach(({ features }) => {\r\n merged.push(...features);\r\n });\r\n this.geojsonData = {\r\n features: merged,\r\n type: 'FeatureCollection',\r\n };\r\n this.redraw(true);\r\n } else {\r\n this.loadData();\r\n }\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=2f50efdd&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable prefer-destructuring */\r\nimport centerTurf from '@turf/center';\r\nimport EventBus from '@/eventBus';\r\n// import {\r\n// getParkingGeojson,\r\n// getParkingItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapParking',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'parking-icon',\r\n popupText: 'Парковки',\r\n markerName: [\r\n marker,\r\n ],\r\n dataParking: null,\r\n isShowPopup: false,\r\n boundsChanged: true,\r\n // accessDefault: this.$accessParkingsView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n ...(opt && opt.externalData ? opt.externalData : null),\r\n });\r\n if (opt.externalData && opt.externalData.zone_id) {\r\n EventBus.$emit('mapButtons/toggleAll', {\r\n visible: false,\r\n uuid: this.uuid,\r\n });\r\n }\r\n if (this.$route.params.id && !this.dataParking) {\r\n const { data: { data: parking } } = await this.params.getItem(this.$route.params.id);\r\n this.dataParking = {\r\n ...parking,\r\n id: this.$route.params.id,\r\n };\r\n }\r\n\r\n this.$set(this.geojsonData, 'fill', data);\r\n this.$set(this.geojsonData, 'markers', this.getPointsFromPolygons(data));\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n\r\n if (this.dataParking) {\r\n this.dataParking = null;\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {\r\n this.geojsonData.fill.features.forEach((item) => {\r\n let color = '#0069FF';\r\n const freeSpaces = item.properties.available_spaces_percentage;\r\n if (freeSpaces !== undefined && freeSpaces !== null) {\r\n if (freeSpaces >= 60) {\r\n color = '#35C666';\r\n } else\r\n if (freeSpaces >= 30) {\r\n color = '#FFB900';\r\n } else {\r\n color = '#FF0000';\r\n }\r\n }\r\n item.properties.lineColor = color;\r\n const active = this.currentId.includes(String(item.id)) || (this.$route.params.id === String(item.id) && this.dataParking);\r\n item.properties.lineWidth = active ? 8 : 4;\r\n item.properties.fillOpacity = active ? 1 : 0.8;\r\n if (this.dataParking && active && !this.isShowPopup) {\r\n EventBus.$emit('mapPopup/open', {\r\n type: 'mapParking',\r\n data: this.dataParking,\r\n btn_uuid: this.uuid,\r\n $options: this.options,\r\n });\r\n this.map.flyTo({\r\n center: this.dataParking.location.coordinates[0],\r\n zoom: 17,\r\n });\r\n this.isShowPopup = !this.isShowPopup;\r\n }\r\n });\r\n this.geojsonData.markers.features.forEach((item) => {\r\n item.properties.iconImage = this.markerName[0];\r\n item.properties.iconSize = this.currentId.includes(String(item.id)) ? this.markerSize * this.markerScale : this.markerSize;\r\n });\r\n },\r\n getPointsFromPolygons({ features }) {\r\n return {\r\n features: features.map((feature) => ({\r\n ...feature,\r\n geometry: centerTurf(feature.geometry).geometry,\r\n })),\r\n type: 'FeatureCollection',\r\n };\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData.fill,\r\n id: 'fill',\r\n layers: [\r\n {\r\n type: 'line',\r\n paint: {\r\n 'line-color': ['get', 'lineColor'],\r\n 'line-width': ['get', 'lineWidth'],\r\n },\r\n filter: ['==', '$type', 'LineString'],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n {\r\n type: 'fill',\r\n paint: {\r\n 'fill-color': ['get', 'lineColor'],\r\n 'fill-opacity': ['get', 'fillOpacity'],\r\n },\r\n filter: ['==', '$type', 'Polygon'],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n ],\r\n });\r\n this.drawLayer({\r\n source: this.geojsonData.markers,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!', ['has', 'point_count']],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n // this.clusterLayer(),\r\n // this.clusterNumbers('#FDFDFD'),\r\n this.sectorClusterLayer({\r\n color: '#FDFDFD',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=80c618e8&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable prefer-destructuring */\r\nimport EventBus from '@/eventBus';\r\n\r\nimport centerTurf from '@turf/center';\r\nimport popupMixin from '@eputs/map-module/mixin/popup';\r\n\r\n// import {\r\n// getParkingZoneGeojson,\r\n// getParkingZoneById,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapParkingZone',\r\n mixins: [mapButtonsMixin, popupMixin],\r\n data() {\r\n return {\r\n iconValue: 'parking-zone-icon',\r\n popupText: 'Парковочные зоны',\r\n boundsChanged: true,\r\n accessDefault: this.$accessParkingZonesView,\r\n editPointId: null,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n ...(opt && opt.externalData ? opt.externalData : null),\r\n });\r\n this.$set(this.geojsonData, 'fill', data);\r\n this.formatGeojsonData();\r\n if (!this.popup) {\r\n this.initPopup({\r\n click: {\r\n pointDelete: () => {\r\n this.geojsonData.src.geometry.coordinates.splice(this.editPointId, 1);\r\n this.calculateLayers();\r\n this.drawLayers();\r\n },\r\n },\r\n });\r\n }\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {\r\n this.geojsonData.fill.features.forEach((item) => {\r\n item.properties.lineColor = '#0069FF';\r\n const active = this.currentId.includes(String(item.id));\r\n\r\n item.properties.lineWidth = active ? 4 : 2;\r\n item.properties.fillOpacity = active ? 0.5 : 0.3;\r\n });\r\n },\r\n getPointsFromPolygons({ features }) {\r\n return {\r\n features: features.map((feature) => ({\r\n ...feature,\r\n geometry: centerTurf(feature.geometry).geometry,\r\n })),\r\n type: 'FeatureCollection',\r\n };\r\n },\r\n getOptionsLayer() {\r\n return {\r\n activeClickHandler: () => {\r\n this.hidePopup();\r\n this.$set(this, 'currentId', []);\r\n EventBus.$emit('mapButtons/changeZoneId', '');\r\n },\r\n clickHandler: (params) => {\r\n const editPointId = params.id;\r\n this.$set(this, 'currentId', []);\r\n\r\n EventBus.$emit('mapButtons/changeZoneId', params.id);\r\n\r\n this.editPointId = editPointId;\r\n\r\n this.$set(this, 'currentId', [...this.currentId, String(params.id)]);\r\n\r\n const popupText = `
Парковочная зона № ${params.number}
`;\r\n\r\n this.showPopup(params.lngLat, popupText);\r\n },\r\n };\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData.fill,\r\n id: 'fill',\r\n layers: [\r\n {\r\n type: 'line',\r\n paint: {\r\n 'line-color': ['get', 'lineColor'],\r\n 'line-width': ['get', 'lineWidth'],\r\n },\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n ...this.getOptionsLayer(),\r\n },\r\n {\r\n type: 'fill',\r\n paint: {\r\n 'fill-color': ['get', 'lineColor'],\r\n 'fill-opacity': ['get', 'fillOpacity'],\r\n },\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n ...this.getOptionsLayer(),\r\n },\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=43d44980&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapRailwayLine,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapRailwayLine',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'railway',\r\n popupText: 'ЖД пути',\r\n updateInterval: 0,\r\n boundsChanged: true,\r\n accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n type: 'line',\r\n paint: {\r\n 'line-color': '#ff4b4e',\r\n 'line-width': 2,\r\n 'line-opacity': 1,\r\n },\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=6eb40c33&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapRailwayPoints,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapRailwayStop',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'railway',\r\n popupText: 'ЖД станции',\r\n updateInterval: 0,\r\n markerName: [\r\n {\r\n icon: marker,\r\n size: [68, 68],\r\n },\r\n ],\r\n boundsChanged: true,\r\n accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: true,\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer('#FF0000'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#FF0000',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=f48a3a36&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import moment from 'moment';\r\n// import {\r\n// getRoadAccidentsGeojson,\r\n// getRoadAccidentsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapRoadAccidents',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'car-crush-icon',\r\n popupText: 'ДТП',\r\n markerName: [\r\n marker,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessRoadAccident,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n start_date_time: moment().subtract(1, 'months'),\r\n end_date_time: moment(),\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n layers: [\r\n {\r\n minzoom: 12,\r\n click: this.params.getItem,\r\n layout: this.defaultIconLayout(),\r\n },\r\n {\r\n type: 'heatmap',\r\n maxzoom: 12,\r\n paint: {\r\n 'heatmap-weight': 1,\r\n 'heatmap-intensity': 1,\r\n 'heatmap-color': [\r\n 'interpolate',\r\n ['linear'],\r\n ['heatmap-density'],\r\n 0,\r\n 'rgba(33,102,172,0)',\r\n 0.2,\r\n 'rgb(103,169,207)',\r\n 0.4,\r\n 'rgb(209,229,240)',\r\n 0.6,\r\n 'rgb(253,219,199)',\r\n 0.8,\r\n 'rgb(239,138,98)',\r\n 1,\r\n '#FF0000',\r\n ],\r\n 'heatmap-radius': [\r\n 'interpolate',\r\n ['linear'],\r\n ['zoom'],\r\n 0,\r\n 2,\r\n 9,\r\n 20,\r\n ],\r\n 'heatmap-opacity': 0.8,\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=6e1f6c80&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import moment from 'moment';\r\n// import {\r\n// getRoadWorksGeojson,\r\n// getRoadWorksItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport markerImg from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapRoadWork',\r\n mixins: [mapButtonsMixin],\r\n data({ options: { params } }) {\r\n return {\r\n iconValue: 'worker',\r\n popupText: 'Дорожные работы',\r\n markerName: [\r\n markerImg,\r\n ],\r\n substractMonths: params ? params.substractMonths : null,\r\n boundsChanged: true,\r\n // accessDefault: this.$accessRoadWorksView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n if (opt && opt.externalData && opt.externalData.substractMonths && this.substractMonths) {\r\n if (this.substractMonths !== opt.externalData.substractMonths) return;\r\n }\r\n const request = {\r\n road_work_form: opt.externalData ? opt.externalData.road_work_form : null,\r\n bbox: (opt.externalData && opt.externalData.bbox) ? opt.externalData.bbox : this.bbox,\r\n period: (opt.externalData && opt.externalData.period) ? opt.externalData.period : null,\r\n status_codes: (opt.externalData && opt.externalData.status_codes && opt.externalData.status_codes.length) ? opt.externalData.status_codes : null,\r\n is_not_completed: (opt.externalData && Object.prototype.hasOwnProperty.call(opt.externalData, 'is_not_completed'))\r\n ? opt.externalData.is_not_completed\r\n : true,\r\n };\r\n if (this.substractMonths && (!opt.externalData || (opt.externalData && !opt.externalData.period))) {\r\n request.period = {\r\n end_date: moment(),\r\n start_date: moment().subtract(this.substractMonths, 'months'),\r\n };\r\n }\r\n const { data } = await this.params.getCollection(request);\r\n this.geojsonData = data;\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {\r\n this.geojsonData.features.forEach((item) => {\r\n const current = this.currentId.includes(String(item.id));\r\n item.properties.iconSize = current ? this.markerSize * this.markerScale : this.markerSize;\r\n item.properties.fillOpacity = current ? 1 : 0.7;\r\n item.properties.lineWidth = current ? 10 : 4;\r\n });\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n layers: [\r\n {\r\n type: 'fill',\r\n minzoom: 12,\r\n paint: {\r\n 'fill-color': '#FFB900',\r\n 'fill-opacity': ['get', 'fillOpacity'],\r\n },\r\n filter: ['==', '$type', 'Polygon'],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n {\r\n type: 'line',\r\n minzoom: 12,\r\n paint: {\r\n 'line-color': '#FFB900',\r\n 'line-width': ['get', 'lineWidth'],\r\n 'line-opacity': 1,\r\n },\r\n filter: ['==', '$type', 'LineString'],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n {\r\n minzoom: 12,\r\n layout: this.defaultIconLayout(),\r\n filter: ['==', '$type', 'Point'],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n {\r\n type: 'heatmap',\r\n maxzoom: 12,\r\n paint: {\r\n 'heatmap-weight': 1,\r\n 'heatmap-intensity': 1,\r\n 'heatmap-color': [\r\n 'interpolate',\r\n ['linear'],\r\n ['heatmap-density'],\r\n 0, 'rgba(255,205,24,0)',\r\n 0.2, '#ffcd18',\r\n 0.4, '#ffc800',\r\n 0.6, '#f29d00',\r\n 0.8, '#F68D21',\r\n ],\r\n 'heatmap-radius': [\r\n 'interpolate',\r\n ['linear'],\r\n ['zoom'],\r\n 0,\r\n 2,\r\n 9,\r\n 20,\r\n ],\r\n 'heatmap-opacity': 0.8,\r\n },\r\n skipPoints: true,\r\n },\r\n ],\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (params.name === this.$options.name && params.uuid !== this.uuid && params.visible) this.visible = false;\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=35ff74b3&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// childrensTransportMap,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport schoolBusMarker from './img/marker.svg';\r\nimport schoolBusMarkerActive from './img/marker-active.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapSchoolBus',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'school-bus',\r\n popupText: 'Школьные автобусы',\r\n updateInterval: 30,\r\n markerName: [\r\n {\r\n icon: schoolBusMarker,\r\n size: [76, 96],\r\n },\r\n {\r\n icon: schoolBusMarkerActive,\r\n size: [76, 96],\r\n },\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessVehicleCarryingChildrenTelemtry,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection(this.bbox);\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {\r\n this.geojsonData.features.forEach((item, index) => {\r\n item.properties.iconImage = this.currentId.includes(String(item.id)) ? this.markerName[1].icon : this.markerName[0].icon;\r\n });\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: true,\r\n layout: this.busIconLayout(),\r\n skipPoints: true,\r\n },\r\n // this.clusterLayer('#FFC700'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#FFC700',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (params.name === 'mapOtHeatmapHistory' && params.uuid !== this.uuid && params.visible) this.visible = false;\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=74b4f958&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable import/no-extraneous-dependencies */\r\n// import EventBus from '@/eventBus';\r\nimport moment from 'moment';\r\n\r\n// import {\r\n// spectechnicListTelemetry,\r\n// spectechnicVenicleData,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\n\r\nimport spectechnicMarker from './img/spectechnicMarker.svg';\r\nimport spectechnicMarkerError from './img/spectechnicMarker-error.svg';\r\nimport spectechnicMarkerDisabled from './img/spectechnicMarker-disabled.svg';\r\nimport spectechnicMarkerNoBg from './img/spectechnicMarker-no-bg.svg';\r\n\r\nimport spectechnicMarker41 from './img/spectechnicMarker_41.svg';\r\nimport spectechnicMarker41Error from './img/spectechnicMarker_41-error.svg';\r\nimport spectechnicMarker41Disabled from './img/spectechnicMarker_41-disabled.svg';\r\nimport spectechnicMarker41NoBg from './img/spectechnicMarker_41-no-bg.svg';\r\n\r\nimport spectechnicMarker42 from './img/spectechnicMarker_42.svg';\r\nimport spectechnicMarker42Error from './img/spectechnicMarker_42-error.svg';\r\nimport spectechnicMarker42Disabled from './img/spectechnicMarker_42-disabled.svg';\r\nimport spectechnicMarker42NoBg from './img/spectechnicMarker_42-no-bg.svg';\r\n\r\nimport spectechnicMarker43 from './img/spectechnicMarker_43.svg';\r\nimport spectechnicMarker43Error from './img/spectechnicMarker_43-error.svg';\r\nimport spectechnicMarker43Disabled from './img/spectechnicMarker_43-disabled.svg';\r\nimport spectechnicMarker43NoBg from './img/spectechnicMarker_43-no-bg.svg';\r\n\r\nimport spectechnicMarker44 from './img/spectechnicMarker_44.svg';\r\nimport spectechnicMarker44Error from './img/spectechnicMarker_44-error.svg';\r\nimport spectechnicMarker44Disabled from './img/spectechnicMarker_44-disabled.svg';\r\nimport spectechnicMarker44NoBg from './img/spectechnicMarker_44-no-bg.svg';\r\n\r\nimport spectechnicMarker45 from './img/spectechnicMarker_45.svg';\r\nimport spectechnicMarker45Error from './img/spectechnicMarker_45-error.svg';\r\nimport spectechnicMarker45Disabled from './img/spectechnicMarker_45-disabled.svg';\r\nimport spectechnicMarker45NoBg from './img/spectechnicMarker_45-no-bg.svg';\r\n\r\nconst markers = {\r\n default: {\r\n default: spectechnicMarker,\r\n error: spectechnicMarkerError,\r\n disabled: spectechnicMarkerDisabled,\r\n },\r\n 5: {\r\n default: spectechnicMarker41,\r\n error: spectechnicMarker41Error,\r\n disabled: spectechnicMarker41Disabled,\r\n },\r\n 2: {\r\n default: spectechnicMarker42,\r\n error: spectechnicMarker42Error,\r\n disabled: spectechnicMarker42Disabled,\r\n },\r\n 9: {\r\n default: spectechnicMarker42,\r\n error: spectechnicMarker42Error,\r\n disabled: spectechnicMarker42Disabled,\r\n },\r\n 7: {\r\n default: spectechnicMarker43,\r\n error: spectechnicMarker43Error,\r\n disabled: spectechnicMarker43Disabled,\r\n },\r\n 12: {\r\n default: spectechnicMarker43,\r\n error: spectechnicMarker43Error,\r\n disabled: spectechnicMarker43Disabled,\r\n },\r\n 4: {\r\n default: spectechnicMarker44,\r\n error: spectechnicMarker44Error,\r\n disabled: spectechnicMarker44Disabled,\r\n },\r\n 8: {\r\n default: spectechnicMarker44,\r\n error: spectechnicMarker44Error,\r\n disabled: spectechnicMarker44Disabled,\r\n },\r\n 13: {\r\n default: spectechnicMarker44,\r\n error: spectechnicMarker44Error,\r\n disabled: spectechnicMarker44Disabled,\r\n },\r\n 14: {\r\n default: spectechnicMarker44,\r\n error: spectechnicMarker44Error,\r\n disabled: spectechnicMarker44Disabled,\r\n },\r\n 10: {\r\n default: spectechnicMarker45,\r\n error: spectechnicMarker45Error,\r\n disabled: spectechnicMarker45Disabled,\r\n },\r\n};\r\n\r\nexport default {\r\n name: 'mapSpectechnic',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data({ options: { params } }) {\r\n return {\r\n iconValue: 'spectechnic',\r\n popupText: 'Cпецтехника',\r\n boundsChanged: true,\r\n markerName: (() => {\r\n const arr = [];\r\n Object.keys(markers).forEach((key) => {\r\n Object.keys(markers[key]).forEach((key2) => {\r\n arr.push(markers[key][key2]);\r\n });\r\n });\r\n return arr;\r\n })(),\r\n tag_id: params ? params.tag_id : null,\r\n // accessDefault: this.$accessRoadVehicle,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n // Условия для фильтров и подсветки кнопок\r\n if ((opt.externalData && this.tag_id) || (opt.externalData && (!opt.externalData.tag_ids || !opt.externalData.tag_ids.length))) {\r\n this.visible = false;\r\n }\r\n this.visible = this.visible || opt.type === 'visible' || (opt.externalData && opt.externalData.tag_ids && this.options.params.tag_id && this.options.params.tag_id.filter((id) => opt.externalData.tag_ids.includes(id)).length);\r\n if (opt.externalData && !this.tag_id) {\r\n this.popupText = 'Фильтр';\r\n this.visible = true;\r\n } else if (!this.tag_id) {\r\n this.popupText = 'Все';\r\n }\r\n // конец условия\r\n\r\n const request = opt.externalData ? opt.externalData : {\r\n bbox: this.bbox,\r\n tag_ids: this.tag_id,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n const momentNow = moment();\r\n this.geojsonData.features.forEach((item) => {\r\n let type = 'default';\r\n if (item.properties.tags.length && markers[item.properties.tags[0].id]) {\r\n type = item.properties.tags[0].id;\r\n }\r\n let status = 'default';\r\n if (!item.properties.date_time || !moment(item.properties.date_time).isValid() || (momentNow - moment(item.properties.date_time)) / (1000 * 60 * 60) > 2) {\r\n status = 'disabled';\r\n } else\r\n if (item.properties.speed <= 4) {\r\n status = 'error';\r\n }\r\n item.properties.iconImage = markers[type][status];\r\n item.properties.status = status;\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n let clusterIcon = null;\r\n if (!this.tag_id || !this.tag_id.length) {\r\n clusterIcon = spectechnicMarkerNoBg;\r\n } else if (this.tag_id.includes(5)) {\r\n clusterIcon = spectechnicMarker41NoBg;\r\n } else if (this.tag_id.includes(2) || this.tag_id.includes(9)) {\r\n clusterIcon = spectechnicMarker42NoBg;\r\n } else if (this.tag_id.includes(7) || this.tag_id.includes(13)) {\r\n clusterIcon = spectechnicMarker43NoBg;\r\n } else if (this.tag_id.includes(4) || this.tag_id.includes(8) || this.tag_id.includes(13) || this.tag_id.includes(14)) {\r\n clusterIcon = spectechnicMarker44NoBg;\r\n } else if (this.tag_id.includes(10)) {\r\n clusterIcon = spectechnicMarker45NoBg;\r\n }\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n default: ['+', ['case', ['==', ['get', 'status'], 'default'], 1, 0]],\r\n error: ['+', ['case', ['==', ['get', 'status'], 'error'], 1, 0]],\r\n disabled: ['+', ['case', ['==', ['get', 'status'], 'disabled'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n // this.clusterLayer('#27AC54'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n default: '#27AC54',\r\n error: '#f83a2e',\r\n disabled: '#808085',\r\n },\r\n icon: clusterIcon,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (params.name === this.$options.name && params.visible && ((params.params.tag_id && !this.tag_id) || (!params.params.tag_id && this.tag_id))) this.visible = false;\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=799fde0d&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import moment from 'moment';\r\n// import {\r\n// spectechnicAccidentsGeojson,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport spectechnicAccidentsMarker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapSpectechnicAccidents',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'car-crush-icon',\r\n popupText: 'ДТП со спецтехникой',\r\n markerName: [\r\n spectechnicAccidentsMarker,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessRoadAccident,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n start_date: moment().subtract(1, 'months'),\r\n end_date: moment(),\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n layers: [\r\n {\r\n minzoom: 12,\r\n click: true,\r\n layout: this.defaultIconLayout(),\r\n },\r\n {\r\n type: 'heatmap',\r\n maxzoom: 12,\r\n paint: {\r\n 'heatmap-weight': 1,\r\n 'heatmap-intensity': 1,\r\n 'heatmap-color': [\r\n 'interpolate',\r\n ['linear'],\r\n ['heatmap-density'],\r\n 0,\r\n 'rgba(33,102,172,0)',\r\n 0.1,\r\n 'rgb(103,169,207)',\r\n 0.2,\r\n 'rgb(209,229,240)',\r\n 0.3,\r\n '#FBA72A',\r\n ],\r\n 'heatmap-radius': [\r\n 'interpolate',\r\n ['linear'],\r\n ['zoom'],\r\n 0,\r\n 2,\r\n 9,\r\n 20,\r\n ],\r\n 'heatmap-opacity': 0.8,\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=93ab7bd2&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getWorkRequestsGeojson,\r\n// getWorkRequestsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\n// import markerCurrent from './img/marker-current.svg';\r\n\r\nexport default {\r\n name: 'mapTasks',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'work-requests',\r\n popupText: 'Задачи/работы',\r\n markerName: [\r\n marker,\r\n // markerCurrent,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessTasks,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n // this.geojsonData.features.forEach((item) => {\r\n // item.properties.iconImage = item.properties.assigned_to_me ? this.markerName[1] : this.markerName[0];\r\n // });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer('#3AB162'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#3AB162',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=59738914&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getVariableMessageSignsGeojson,\r\n// getVariableMessageSignsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\n\r\nexport default {\r\n name: 'mapTpi',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'tpi',\r\n popupText: 'Дорожное информационное табло',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessVariableMessageSignsView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: !this.clickable ? null : this.params.getItem,\r\n // click: async (id) => {\r\n // const tpiRequest = {\r\n // ...this.requestDataDefault,\r\n // filter: {\r\n // operator: 'eq',\r\n // property: 'message_sign_id',\r\n // value: id,\r\n // },\r\n // };\r\n\r\n // const tpiResponse = await getMessageList(tpiRequest);\r\n // let actualMessage = null;\r\n // if (tpiResponse.status === 200 && tpiResponse.data && tpiResponse.data.data && tpiResponse.data.data.length) {\r\n // const tpi = tpiResponse.data.data[0];\r\n // actualMessage = {\r\n // text: tpi.text,\r\n // image: tpi.image,\r\n // };\r\n // }\r\n\r\n // const tpiInfoResponse = await getMapTpiInfo(id);\r\n // const data = {\r\n // ...tpiInfoResponse.data.data,\r\n // actualMessage,\r\n // };\r\n\r\n // return new Promise((resolve) => resolve({ data: { data, success: tpiInfoResponse.data.success } }));\r\n // },\r\n },\r\n // this.clusterLayer('#CC72A8'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#CC72A8',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=80b4f012&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default [{\r\n id: 'traffic-0-other-high-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 16,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'low',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 34,\r\n ],\r\n ],\r\n },\r\n },\r\n},\r\n {\r\n id: 'traffic-0-other-high',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': 'hsl(100, 70%, 45%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1,\r\n ],\r\n [\r\n 14,\r\n 2,\r\n ],\r\n [\r\n 17,\r\n 4,\r\n ],\r\n [\r\n 22,\r\n 30,\r\n ],\r\n ],\r\n },\r\n },\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'low',\r\n ],\r\n ],\r\n ],\r\n },\r\n {\r\n id: 'traffic-0-other-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 5,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '!in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'service',\r\n 'street',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'low',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 34,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-0-other',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': 'hsl(100, 70%, 45%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1,\r\n ],\r\n [\r\n 14,\r\n 2,\r\n ],\r\n [\r\n 17,\r\n 4,\r\n ],\r\n [\r\n 22,\r\n 30,\r\n ],\r\n ],\r\n },\r\n },\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '!in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'service',\r\n 'street',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'low',\r\n ],\r\n ],\r\n ],\r\n },\r\n {\r\n id: 'traffic-1-other-high-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 16,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'moderate',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 34,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-1-other-high',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'moderate',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': 'hsl(45, 90%, 50%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1,\r\n ],\r\n [\r\n 14,\r\n 2,\r\n ],\r\n [\r\n 17,\r\n 4,\r\n ],\r\n [\r\n 22,\r\n 30,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-1-other-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 5,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '!in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'service',\r\n 'street',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'moderate',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 34,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-1-other',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '!in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'service',\r\n 'street',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'moderate',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': 'hsl(45, 90%, 50%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1,\r\n ],\r\n [\r\n 14,\r\n 2,\r\n ],\r\n [\r\n 17,\r\n 4,\r\n ],\r\n [\r\n 22,\r\n 30,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-2-other-high-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 16,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'heavy',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 34,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-2-other-high',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'heavy',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': 'hsl(30, 90%, 50%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1,\r\n ],\r\n [\r\n 14,\r\n 2,\r\n ],\r\n [\r\n 17,\r\n 4,\r\n ],\r\n [\r\n 22,\r\n 30,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-2-other-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 5,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '!in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'service',\r\n 'street',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'heavy',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 34,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-2-other',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '!in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'service',\r\n 'street',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'heavy',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': 'hsl(30, 90%, 50%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1,\r\n ],\r\n [\r\n 14,\r\n 2,\r\n ],\r\n [\r\n 17,\r\n 4,\r\n ],\r\n [\r\n 22,\r\n 30,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-3-other-high-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 16,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'severe',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 34,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-3-other-high',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'severe',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': 'hsl(0, 100%, 40%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1,\r\n ],\r\n [\r\n 14,\r\n 2,\r\n ],\r\n [\r\n 17,\r\n 4,\r\n ],\r\n [\r\n 22,\r\n 30,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-3-other-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 5,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '!in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'service',\r\n 'street',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'severe',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 34,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-3-other',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n '==',\r\n 'class',\r\n 'street',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'severe',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-blur': 0,\r\n 'line-color': 'hsl(0, 100%, 40%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 0.3,\r\n ],\r\n [\r\n 18,\r\n 6,\r\n ],\r\n [\r\n 22,\r\n 100,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1,\r\n ],\r\n [\r\n 14,\r\n 2,\r\n ],\r\n [\r\n 17,\r\n 4,\r\n ],\r\n [\r\n 22,\r\n 30,\r\n ],\r\n ],\r\n },\r\n },\r\n },\r\n {\r\n id: 'traffic-0-motorway-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 5,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n 'in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'low',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 30,\r\n ],\r\n ],\r\n },\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 5,\r\n 0.5,\r\n ],\r\n [\r\n 13,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 10,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-translate': [\r\n 0,\r\n 0,\r\n ],\r\n 'line-translate-anchor': 'map',\r\n 'line-blur': 0,\r\n },\r\n },\r\n {\r\n id: 'traffic-0-motorway',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n 'in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'low',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 1.5,\r\n ],\r\n [\r\n 18,\r\n 24,\r\n ],\r\n ],\r\n },\r\n 'line-color': 'hsl(100, 70%, 45%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 5,\r\n 0.5,\r\n ],\r\n [\r\n 13,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 10,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-translate': [\r\n 0,\r\n 0,\r\n ],\r\n 'line-translate-anchor': 'map',\r\n 'line-blur': 0,\r\n },\r\n },\r\n {\r\n id: 'traffic-1-motorway-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 5,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n 'in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'moderate',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 30,\r\n ],\r\n ],\r\n },\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 5,\r\n 0.5,\r\n ],\r\n [\r\n 13,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 10,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-translate': [\r\n 0,\r\n 0,\r\n ],\r\n 'line-translate-anchor': 'map',\r\n 'line-blur': 0,\r\n },\r\n },\r\n {\r\n id: 'traffic-1-motorway',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n 'in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'moderate',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 1.5,\r\n ],\r\n [\r\n 18,\r\n 24,\r\n ],\r\n ],\r\n },\r\n 'line-color': 'hsl(45, 90%, 50%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 5,\r\n 0.5,\r\n ],\r\n [\r\n 13,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 10,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-translate': [\r\n 0,\r\n 0,\r\n ],\r\n 'line-translate-anchor': 'map',\r\n 'line-blur': 0,\r\n },\r\n },\r\n {\r\n id: 'traffic-2-motorway-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 5,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n 'in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'heavy',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 30,\r\n ],\r\n ],\r\n },\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 5,\r\n 0.5,\r\n ],\r\n [\r\n 13,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 10,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-translate': [\r\n 0,\r\n 0,\r\n ],\r\n 'line-translate-anchor': 'map',\r\n 'line-blur': 0,\r\n },\r\n },\r\n {\r\n id: 'traffic-2-motorway',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n 'in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'heavy',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 1.5,\r\n ],\r\n [\r\n 18,\r\n 24,\r\n ],\r\n ],\r\n },\r\n 'line-color': 'hsl(30, 90%, 50%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 5,\r\n 0.5,\r\n ],\r\n [\r\n 13,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 10,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-translate': [\r\n 0,\r\n 0,\r\n ],\r\n 'line-translate-anchor': 'map',\r\n 'line-blur': 0,\r\n },\r\n },\r\n {\r\n id: 'traffic-3-motorway-case',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n minzoom: 5,\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n 'in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'severe',\r\n ],\r\n ],\r\n ],\r\n layout: {\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 30,\r\n ],\r\n ],\r\n },\r\n 'line-color': '#fff',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 5,\r\n 0.5,\r\n ],\r\n [\r\n 13,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 10,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-translate': [\r\n 0,\r\n 0,\r\n ],\r\n 'line-translate-anchor': 'map',\r\n 'line-blur': 0,\r\n },\r\n },\r\n {\r\n id: 'traffic-3-motorway',\r\n type: 'line',\r\n source: 'trafficSource',\r\n 'source-layer': 'traffic',\r\n filter: [\r\n 'all',\r\n [\r\n '==',\r\n '$type',\r\n 'LineString',\r\n ],\r\n [\r\n 'all',\r\n [\r\n 'in',\r\n 'class',\r\n 'motorway',\r\n 'motorway_link',\r\n 'trunk',\r\n ],\r\n [\r\n '==',\r\n 'congestion',\r\n 'severe',\r\n ],\r\n ],\r\n ],\r\n paint: {\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 7,\r\n 1.5,\r\n ],\r\n [\r\n 18,\r\n 24,\r\n ],\r\n ],\r\n },\r\n 'line-color': 'hsl(0, 100%, 40%)',\r\n 'line-offset': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 5,\r\n 0.5,\r\n ],\r\n [\r\n 13,\r\n 3,\r\n ],\r\n [\r\n 18,\r\n 10,\r\n ],\r\n ],\r\n },\r\n 'line-opacity': 1,\r\n 'line-translate': [\r\n 0,\r\n 0,\r\n ],\r\n 'line-translate-anchor': 'map',\r\n 'line-blur': 0,\r\n },\r\n }];\r\n","export default {\r\n methods: {\r\n getLineColor(type, defaultColor = '#999999') {\r\n switch (type) {\r\n case 'motorway':\r\n case 'motorway_link':\r\n case 'trunk':\r\n case 'trunk_link':\r\n case 'primary':\r\n case 'primary_link':\r\n return '#E9760C';\r\n case 'secondary':\r\n case 'secondary_link':\r\n case 'tertiary':\r\n case 'tertiary_link':\r\n return '#FDD136';\r\n case 'proposed':\r\n return '#156782';\r\n case 'construction':\r\n return '#D32828 ';\r\n case 'unclassified':\r\n return '#B9B7B1';\r\n default:\r\n return defaultColor;\r\n }\r\n },\r\n },\r\n};\r\n","// import {\r\n// // getRoadLineRaiting,\r\n// // getRoads,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport trafficLayers from '@eputs/map-buttons/types/mapTrafficSimple/dist/trafficLayers';\r\nimport colorsMixin from '@eputs/map-buttons/types/graphColorsMixin';\r\n\r\nexport default {\r\n name: 'mapTraffic',\r\n mixins: [mapButtonsMixin, colorsMixin],\r\n data({ options: { params } }) {\r\n const showMainRoads = params && params.showMainRoads ? params.showMainRoads : false;\r\n return {\r\n showMainRoads,\r\n popupText: 'Пробки',\r\n trafficValue: 3,\r\n layerOrder: null,\r\n loadTimestamp: null,\r\n loadZoom: null,\r\n geojsonData: {\r\n lines: null,\r\n mapbox: JSON.parse(JSON.stringify(trafficLayers)),\r\n },\r\n boundsChanged: true,\r\n baseParamsPaint: {\r\n 'line-blur': 0,\r\n 'line-color': [\r\n 'case',\r\n ['>=', ['get', 'traffic_level'], 6], '#A00505',\r\n ['>=', ['get', 'traffic_level'], 4], '#FB2E2E',\r\n ['>=', ['get', 'traffic_level'], 2], '#FCC533',\r\n ['>=', ['get', 'traffic_level'], 1], '#3BC853',\r\n '#58c322',\r\n // ['>=', ['get', 'speed_factor'], 0.7], '#58c322',\r\n // ['>=', ['get', 'speed_factor'], 0.2], '#f2b90d',\r\n // ['>=', ['get', 'speed_factor'], 0.1], '#f27f0d',\r\n // '#cc0000',\r\n ],\r\n 'line-offset': 0,\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 15,\r\n ],\r\n ],\r\n },\r\n },\r\n // accessDefault: this.$accessRoadGraph,\r\n trafficLevels: {\r\n A: 1,\r\n B: 2,\r\n C: 3,\r\n D: 4,\r\n E: 5,\r\n F: 6,\r\n },\r\n };\r\n },\r\n computed: {\r\n iconText() {\r\n return `
\r\n
${this.trafficValue}
\r\n
`;\r\n },\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n // this.getCurrentRaiting();\r\n try {\r\n const zoom = Math.round(this.map.getZoom());\r\n if (!opt.compareZoom || zoom !== this.loadZoom) {\r\n const timestamp = Date.now();\r\n this.loadTimestamp = timestamp;\r\n this.loadZoom = zoom;\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n zoom,\r\n });\r\n // console.log(data.features.filter((item) => item.properties.speed_factor !== undefined && item.properties.speed_factor !== null));\r\n if (timestamp === this.loadTimestamp) {\r\n data.features = data.features.filter((item) => item.properties.speed_factor !== undefined && item.properties.speed_factor !== null).map((item) => {\r\n item.properties.lineColor = this.getLineColor(item.properties.highway_type ? item.properties.highway_type.code : null);\r\n let traffic_level = 0;\r\n const {\r\n traffic_detector_forward,\r\n traffic_detector_backward,\r\n complex_fvf_forward,\r\n complex_fvf_backward,\r\n } = this.getNumberedValues(item.properties.speed_factor);\r\n if (complex_fvf_forward || complex_fvf_backward) {\r\n if (complex_fvf_forward && complex_fvf_backward) {\r\n traffic_level = (complex_fvf_forward + complex_fvf_backward) / 2;\r\n } else {\r\n traffic_level = complex_fvf_forward || complex_fvf_backward;\r\n }\r\n }\r\n if (traffic_detector_forward || traffic_detector_backward) {\r\n if (traffic_detector_forward && traffic_detector_backward) {\r\n traffic_level = (traffic_detector_forward + traffic_detector_backward) / 2;\r\n } else {\r\n traffic_level = traffic_detector_forward || traffic_detector_backward;\r\n }\r\n }\r\n item.properties.traffic_level = traffic_level;\r\n return item;\r\n });\r\n this.geojsonData.lines = data;\r\n this.redraw(true, opt);\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n getNumberedValues(speed_factor) {\r\n const {\r\n traffic_detector_forward,\r\n traffic_detector_backward,\r\n complex_fvf_forward,\r\n complex_fvf_backward,\r\n } = speed_factor;\r\n return {\r\n traffic_detector_forward: traffic_detector_forward ? this.trafficLevels[traffic_detector_forward] : 0,\r\n traffic_detector_backward: traffic_detector_backward ? this.trafficLevels[traffic_detector_backward] : 0,\r\n complex_fvf_forward: complex_fvf_forward ? this.trafficLevels[complex_fvf_forward] : 0,\r\n complex_fvf_backward: complex_fvf_backward ? this.trafficLevels[complex_fvf_backward] : 0,\r\n };\r\n },\r\n formatGeojsonData() {},\r\n drawPoints(opt) {\r\n if (opt && ['initial', 'visible', 'interval'].includes(opt.type)) {\r\n this.drawLayer({\r\n sourceUrl: 'mapbox://mapbox.mapbox-traffic-v1',\r\n id: 'mapbox',\r\n layers: this.geojsonData.mapbox.map((layer) => {\r\n layer.paint = {\r\n ...layer.paint,\r\n 'line-blur': this.baseParamsPaint['line-blur'],\r\n 'line-offset': this.baseParamsPaint['line-offset'],\r\n 'line-opacity': this.baseParamsPaint['line-opacity'],\r\n 'line-width': this.baseParamsPaint['line-width'],\r\n };\r\n layer.layerOrder = this.layerOrder;\r\n return layer;\r\n }),\r\n });\r\n }\r\n this.drawLayer({\r\n source: this.geojsonData.lines,\r\n id: 'lines',\r\n type: 'line',\r\n layerOrder: this.layerOrder,\r\n paint: this.baseParamsPaint,\r\n layout: {\r\n 'line-sort-key': ['get', 'level'],\r\n },\r\n });\r\n if (this.showMainRoads) {\r\n this.drawLayer({\r\n source: this.geojsonData.lines,\r\n id: 'important-road',\r\n type: 'line',\r\n layerOrder: this.layerOrder,\r\n paint: {\r\n ...this.baseParamsPaint,\r\n 'line-blur': 2,\r\n 'line-width': [\r\n 'case',\r\n ['boolean', ['get', 'important_road'], false],\r\n 12,\r\n 0,\r\n ],\r\n },\r\n // filter: ['==', ['get', 'important_road'], true],\r\n // layout: {\r\n // 'line-sort-key': ['get', 'level'],\r\n // },\r\n });\r\n }\r\n },\r\n // async getCurrentRaiting() {\r\n // try {\r\n // const { data: { data } } = await getRoadLineRaiting();\r\n // this.trafficValue = data.current_rate;\r\n // } catch (e) {\r\n // console.error(e);\r\n // }\r\n // },\r\n init() {\r\n const { layers } = this.map.getStyle();\r\n layers.forEach((item, index) => {\r\n if (/bridge/.test(item.id) && layers[index + 1]) this.layerOrder = layers[index + 1].id;\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('map/main-map/moveend', (opt) => {\r\n if (this.boundsChanged && this.visible && this.data) {\r\n this.setCurrentBBox();\r\n this.loadData({\r\n compareZoom: true,\r\n });\r\n }\r\n });\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (params.uuid !== this.uuid) {\r\n if (params.name === 'mapTrafficHeatmap') {\r\n if (params.visible) this.visible = false;\r\n }\r\n if (params.name === 'mapOtHeatmapHistory') {\r\n if (params.visible) this.visible = true;\r\n }\r\n }\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=89e9cd32&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getTrafficDetectorsGeojson,\r\n// getTrafficDetectorsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\n\r\nexport default {\r\n name: 'mapTrafficDetectors',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'transport-detector',\r\n popupText: 'Детекторы транспортного потока',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessTrafficDetectorsView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: !this.clickable ? null : this.params.getItem,\r\n },\r\n // this.clusterLayer('#01AFB0'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#01AFB0',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=4ad65174&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapTrafficSignals,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport trafficSignalMarker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapTrafficLight',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'traffic-light',\r\n popupText: 'Светофоры',\r\n updateInterval: 0,\r\n markerName: [\r\n trafficSignalMarker,\r\n ],\r\n boundsChanged: true,\r\n dateChanged: true,\r\n // accessDefault: this.$accessPublicTransportInfrastructure,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n date: this.date,\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer(),\r\n // this.clusterNumbers('#FDFDFD'),\r\n this.sectorClusterLayer({\r\n color: '#FDFDFD',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=606fa2eb&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import EventBus from '@/eventBus';\r\n\r\n// import {\r\n// getTrafficLightControllersGeojson,\r\n// getTrafficLightControllersItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapTrafficLightControllers',\r\n mixins: [sectorCluster, mapButtonsMixin],\r\n data({ options }) {\r\n return {\r\n iconValue: 'traffic-light',\r\n popupText: 'Контроллеры светофорных объектов',\r\n clickedCount: options && options.params && options.params.clickedCount ? options.params.clickedCount : null,\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessTrafficLightControllersView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n // this.geojsonData.features.forEach((item) => {\r\n // const r = Math.floor(Math.random() * 3);\r\n // if (r === 0) item.properties.status = 'UP';\r\n // else if (r === 1) item.properties.status = 'DAMAGED';\r\n // else item.properties.status = 'DEFAULT';\r\n // });\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n NO_DATA: 1,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n status1: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n status2: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n status3: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n clickHandler: !this.clickable ? null : async ({ id }) => {\r\n if (this.clickedCount) {\r\n const current = [...this.currentId, id];\r\n this.$set(this, 'currentId', current.slice(-this.clickedCount));\r\n }\r\n EventBus.$emit('map/map-button/mapTrafficLightControllers/click', id);\r\n return this.params.getItem(id);\r\n },\r\n activeClickHandler: !this.clickable ? null : async (params) => {\r\n if (this.clickedCount) {\r\n this.$set(this, 'currentId', []);\r\n EventBus.$emit('map/map-button/mapTrafficLightControllers/unclick', params);\r\n }\r\n },\r\n },\r\n this.sectorClusterLayer({\r\n color: {\r\n status1: '#6B2D88',\r\n status2: '#f83a2e',\r\n status3: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n // this.clusterLayer('#6B2D88'),\r\n // this.clusterNumbers(),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=47de88f4&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport trafficLayers from './trafficLayers';\r\n\r\nexport default {\r\n name: 'mapTrafficSimple',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'traffic',\r\n popupText: 'Пробки',\r\n layerOrder: null,\r\n geojsonData: JSON.parse(JSON.stringify(trafficLayers)),\r\n accessDefault: this.$accessPublicTransport,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n await this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n sourceUrl: 'mapbox://mapbox.mapbox-traffic-v1',\r\n layers: this.geojsonData.map((layer) => {\r\n layer.layerOrder = this.layerOrder;\r\n return layer;\r\n }),\r\n });\r\n },\r\n init() {\r\n const { layers } = this.map.getStyle();\r\n layers.forEach((item, index) => {\r\n if (/bridge/.test(item.id) && layers[index + 1]) this.layerOrder = layers[index + 1].id;\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=7dda5e95&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n // getOsmMapTramLine,\r\n// getTramGpsCollections,\r\n// getPublicTransportVehicleInfo,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport mapBusMixin from '@eputs/map-buttons/mixin-bus';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport markerActive from './img/marker-active.svg';\r\n\r\nexport default {\r\n name: 'mapTram',\r\n mixins: [\r\n mapButtonsMixin,\r\n mapBusMixin,\r\n sectorCluster,\r\n ],\r\n data() {\r\n return {\r\n iconValue: 'tram',\r\n popupText: 'Трамваи',\r\n updateInterval: 30,\r\n markerName: [\r\n {\r\n icon: marker,\r\n size: [76, 96],\r\n },\r\n {\r\n icon: markerActive,\r\n size: [76, 96],\r\n },\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n try {\r\n const markersData = await this.params.getCollection(this.bbox);\r\n this.$set(this.geojsonData, 'markersSrc', markersData.data);\r\n this.geojsonData.markersSrc.features.forEach((item) => {\r\n item.properties.route_num = String(item.properties.route_num).toLowerCase();\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n this.$set(this, 'geojsonData', null);\r\n throw new Error(e);\r\n } finally {\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData.markers,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: (data) => this.onClickPoint({\r\n ...data,\r\n paint: {\r\n 'line-color': '#FBA72A',\r\n 'line-width': 6,\r\n 'line-opacity': 1,\r\n },\r\n }),\r\n layout: this.busIconLayout(),\r\n },\r\n // this.clusterLayer('#FBA72A'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#FBA72A',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (params.name === 'mapOtHeatmapHistory' && params.uuid !== this.uuid && params.visible) this.visible = false;\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=6db2487a&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapTramLine,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapTramLine',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'tram',\r\n popupText: 'Маршруты трамваев',\r\n updateInterval: 0,\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n type: 'line',\r\n paint: {\r\n 'line-color': '#FBA72A',\r\n 'line-width': 2,\r\n 'line-opacity': 1,\r\n },\r\n skipPoints: true,\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=019311e6&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapTramStop,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapTramStop',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'tram',\r\n popupText: 'Трамвайные остановки',\r\n updateInterval: 0,\r\n markerName: [\r\n {\r\n icon: marker,\r\n size: [68, 68],\r\n },\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: true,\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer('#FBA72A'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#FBA72A',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=1899e898&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// // getOsmMapTrolleyBusLine,\r\n// getTrolleyBusGpsCollections,\r\n// getPublicTransportVehicleInfo,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport mapBusMixin from '@eputs/map-buttons/mixin-bus';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerActive from './img/marker-active.svg';\r\n\r\nexport default {\r\n name: 'mapTrolleybus',\r\n mixins: [\r\n mapButtonsMixin,\r\n mapBusMixin,\r\n sectorCluster,\r\n ],\r\n data() {\r\n return {\r\n iconValue: 'trolleybus',\r\n popupText: 'Троллейбусы',\r\n updateInterval: 30,\r\n markerName: [\r\n {\r\n icon: marker,\r\n size: [76, 96],\r\n },\r\n {\r\n icon: markerActive,\r\n size: [76, 96],\r\n },\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n try {\r\n const markersData = await this.params.getCollection(this.bbox);\r\n this.$set(this.geojsonData, 'markersSrc', markersData.data);\r\n this.geojsonData.markersSrc.features.forEach((item) => {\r\n item.properties.route_num = String(item.properties.route_num).toLowerCase();\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n this.$set(this, 'geojsonData', null);\r\n throw new Error(e);\r\n } finally {\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData.markers,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: (data) => this.onClickPoint({\r\n ...data,\r\n paint: {\r\n 'line-color': '#2C79EC',\r\n 'line-width': 6,\r\n 'line-opacity': 1,\r\n },\r\n }),\r\n layout: this.busIconLayout(),\r\n },\r\n // this.clusterLayer('#2C79EC'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#2C79EC',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (params.name === 'mapOtHeatmapHistory' && params.uuid !== this.uuid && params.visible) this.visible = false;\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=35ddeb6e&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapTrolleyBusLine,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapTrolleybusLine',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'trolleybus',\r\n popupText: 'Маршруты троллейбусов',\r\n updateInterval: 0,\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n type: 'line',\r\n paint: {\r\n 'line-color': '#2C79EC',\r\n 'line-width': 2,\r\n 'line-opacity': 1,\r\n },\r\n skipPoints: true,\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=450e5435&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getOsmMapTrolleyBusStop,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapTrolleybusStop',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'trolleybus',\r\n popupText: 'Троллейбусные остановки',\r\n updateInterval: 0,\r\n markerName: [\r\n {\r\n icon: marker,\r\n size: [68, 68],\r\n },\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: true,\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer('#2C79EC'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#2C79EC',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=5c152ae7&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getVideoStationsGeojson,\r\n// getVideoStationsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\n\r\nexport default {\r\n name: 'mapVideoStations',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'camera',\r\n popupText: 'Видеостанции',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessVideostationsView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: !this.clickable ? null : this.params.getItem,\r\n },\r\n // this.clusterLayer('#3E4DD4'),\r\n this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#3E4DD4',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=d57e21ac&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getVideoCamerasGeojson,\r\n// getVideoCamerasItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\n\r\nexport default {\r\n name: 'mapVideoCameras',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'camera-stream',\r\n popupText: 'Камеры видеонаблюдения',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessVideocamerasView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: !this.clickable ? null : this.params.getItem,\r\n },\r\n // this.clusterLayer('#3E4DD4'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#3E4DD4',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=335b9151&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getSeismographGeojson,\r\n// getSeismographItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\n\r\nexport default {\r\n name: 'mapSeismograph',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'seismograph',\r\n popupText: 'Сейсмографы',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessSeismograph,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n },\r\n // this.clusterLayer('#219653'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#219653',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=36f3b3d4&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getFireSensorGeojson,\r\n// getFireSensorItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\n\r\nexport default {\r\n name: 'mapFireSensor',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'firesensor',\r\n popupText: 'Детекторы пожаров',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessFireSensor,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n let data;\r\n if (opt.externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n },\r\n // this.clusterLayer('#E47F21'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#E47F21',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=172fb7d4&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getWaterLevelGeojson,\r\n// getWaterLevelItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport marker from './img/marker.svg';\r\nimport markerDisabled from './img/marker-disabled.svg';\r\nimport markerError from './img/marker-error.svg';\r\n\r\nexport default {\r\n name: 'mapWaterLevel',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'waterlevel',\r\n popupText: 'Уровнемеры',\r\n markerName: [\r\n marker,\r\n markerDisabled,\r\n markerError,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessWaterLevel,\r\n };\r\n },\r\n methods: {\r\n async loadData({ externalData }) {\r\n try {\r\n let data;\r\n if (externalData === undefined) {\r\n const response = await this.params.getCollection(this.bbox);\r\n data = response.data;\r\n } else {\r\n data = opt.externalData;\r\n }\r\n this.$set(this, 'geojsonData', data);\r\n this.setIcons(this.geojsonData.features, {\r\n UP: 0,\r\n DAMAGED: 2,\r\n default: 1,\r\n });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n clusterProperties: {\r\n UP: ['+', ['case', ['==', ['get', 'status'], 'UP'], 1, 0]],\r\n DAMAGED: ['+', ['case', ['==', ['get', 'status'], 'DAMAGED'], 1, 0]],\r\n NO_DATA: ['+', ['case', ['==', ['get', 'status'], 'NO_DATA'], 1, 0]],\r\n },\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n },\r\n // this.clusterLayer('#000099'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: {\r\n UP: '#000099',\r\n DAMAGED: '#f83a2e',\r\n NO_DATA: '#979797',\r\n },\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=43bf43d7&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getAlarmButtonsGeojson,\r\n// getAlarmButtonInstance,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport marker from './img/marker.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapAlarmButtons',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'alarm-indicator',\r\n popupText: 'Сигналы с тревожных кнопок',\r\n updateInterval: 0,\r\n markerName: [\r\n marker,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessAlarmButtonView,\r\n };\r\n },\r\n methods: {\r\n async loadData(opt) {\r\n try {\r\n const request = opt.externalData || {\r\n bbox: this.bbox,\r\n // date: this.date,\r\n };\r\n const { data } = await this.params.getCollection(request);\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n layout: this.defaultIconLayout(),\r\n },\r\n // this.clusterLayer('#A6100E'),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: '#A6100E',\r\n icon: markerNoBg,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=34a79574&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import {\r\n// getRoadEventsGeojson,\r\n// getRoadEventsItem,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport sectorCluster from '@eputs/map-module/mixin/layers-sectorCluster';\r\nimport defaultIcon from './img/marker.svg';\r\nimport markerNoBg from './img/marker-no-bg.svg';\r\nimport externalIcon from './img/external.svg';\r\nimport externalNoBg from './img/external-no-bg.svg';\r\nimport internalIcon from './img/internal.svg';\r\nimport internalNoBg from './img/internal-no-bg.svg';\r\nimport systemIcon from './img/system.svg';\r\nimport systemNoBg from './img/system-no-bg.svg';\r\nimport overSpeedIcon from './img/over-speed.svg';\r\nimport overSpeedNoBg from './img/over-speed-no-bg.svg';\r\nimport routeDeviationIcon from './img/route-deviation.svg';\r\nimport routeDeviationNoBg from './img/route-deviation-no-bg.svg';\r\n\r\nexport default {\r\n name: 'mapRoadEvents',\r\n mixins: [mapButtonsMixin, sectorCluster],\r\n data() {\r\n return {\r\n iconValue: 'event',\r\n popupText: 'События',\r\n markerName: [\r\n defaultIcon,\r\n externalIcon,\r\n internalIcon,\r\n systemIcon,\r\n overSpeedIcon,\r\n routeDeviationIcon,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessEvents,\r\n requestParams: {},\r\n clasterColor: '#EB5757',\r\n marker: 0,\r\n };\r\n },\r\n created() {\r\n const {\r\n params: {\r\n popupText = 'События',\r\n iconValue = 'event',\r\n iconSize = 96,\r\n requestParams = {},\r\n marker = 0,\r\n clasterColor = '#EB5757',\r\n },\r\n } = this.options && this.options.params ? this.options : { params: {} };\r\n this.requestParams = requestParams;\r\n this.iconValue = iconValue;\r\n this.iconSize = iconSize;\r\n this.popupText = popupText;\r\n this.marker = marker;\r\n this.clasterColor = clasterColor;\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n ...this.requestParams,\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n drawPoints() {\r\n let iconCluster = null;\r\n switch (this.iconValue) {\r\n case 'external':\r\n iconCluster = externalNoBg;\r\n break;\r\n case 'internal':\r\n iconCluster = internalNoBg;\r\n break;\r\n case 'system':\r\n iconCluster = systemNoBg;\r\n break;\r\n case 'public_transport_over_speed':\r\n iconCluster = overSpeedNoBg;\r\n break;\r\n case 'public_transport_left_the_route':\r\n iconCluster = routeDeviationNoBg;\r\n break;\r\n default: iconCluster = markerNoBg;\r\n }\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n cluster: true,\r\n layers: [\r\n {\r\n filter: ['!has', 'point_count'],\r\n click: this.params.getItem,\r\n layout: this.defaultIconLayout(this.markerName[this.marker]),\r\n },\r\n // this.clusterLayer(this.clasterColor),\r\n // this.clusterNumbers(),\r\n this.sectorClusterLayer({\r\n color: this.clasterColor,\r\n icon: iconCluster,\r\n }),\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=7c7733ab&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import EventBus from '@/eventBus';\r\n\r\nimport moment from 'moment';\r\n// import {\r\n// getTrafficSpeedFactor,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport trafficLayers from '@eputs/map-buttons/types/mapTrafficSimple/dist/trafficLayers';\r\nimport colorsMixin from '@eputs/map-buttons/types/graphColorsMixin';\r\n\r\nexport default {\r\n name: 'mapTrafficHeatmap',\r\n mixins: [mapButtonsMixin, colorsMixin],\r\n data({ options: { params } }) {\r\n return {\r\n trafficValue: 3,\r\n // iconValue: 'heat',\r\n popupText: 'Ретроспектива транспортной
ситуации',\r\n updateInterval: 30,\r\n layerOrder: null,\r\n loadTimestamp: null,\r\n loadZoom: null,\r\n geojsonData: {\r\n lines: null,\r\n mapbox: JSON.parse(JSON.stringify(trafficLayers)),\r\n },\r\n boundsChanged: true,\r\n historyData: [],\r\n baseParamsPaint: {\r\n 'line-blur': 0,\r\n 'line-color': [\r\n 'case',\r\n ['>=', ['get', 'speed_factor'], 0.7], '#58c322',\r\n ['>=', ['get', 'speed_factor'], 0.2], '#f2b90d',\r\n ['>=', ['get', 'speed_factor'], 0.1], '#f27f0d',\r\n '#cc0000',\r\n ],\r\n 'line-offset': 0,\r\n 'line-opacity': 1,\r\n 'line-width': {\r\n base: 1.5,\r\n stops: [\r\n [\r\n 11,\r\n 1.25,\r\n ],\r\n [\r\n 14,\r\n 2.5,\r\n ],\r\n [\r\n 17,\r\n 5.5,\r\n ],\r\n [\r\n 22,\r\n 15,\r\n ],\r\n ],\r\n },\r\n },\r\n // accessDefault: this.$accessRoadGraph,\r\n initialParams: {\r\n date_from: moment().startOf('day').format(),\r\n date_to: moment().endOf('day').format(),\r\n chunk_num: 24,\r\n },\r\n ...params,\r\n };\r\n },\r\n watch: {\r\n visible: {\r\n handler(value) {\r\n if (value) EventBus.$emit('map-history/set/title', 'Параметры ретроспективы пробок');\r\n },\r\n },\r\n },\r\n computed: {\r\n iconText() {\r\n return this.trafficValue ? `
\r\n
${this.trafficValue}
\r\n
` : null;\r\n },\r\n },\r\n methods: {\r\n async loadData(conf, params) {\r\n if (params) {\r\n this.drawSubLayer();\r\n const {\r\n date_from,\r\n date_to,\r\n chunk_num,\r\n initial,\r\n } = params || this.initialParams;\r\n if (initial) {\r\n this.initialParams = {\r\n date_from,\r\n date_to,\r\n chunk_num,\r\n };\r\n }\r\n try {\r\n const requestParams = {\r\n bbox: this.bbox,\r\n zoom: 8,\r\n chunk_num,\r\n date_from,\r\n date_to,\r\n };\r\n const { data } = await this.params.getCollection(requestParams);\r\n const chunkKeys = Object.keys(data).sort();\r\n const historyData = [];\r\n chunkKeys.forEach((key) => {\r\n historyData.push(data[key]);\r\n });\r\n\r\n this.$set(this, 'historyData', historyData);\r\n if (this.historyData.length) this.changeChunk(this.historyData.length - 1);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawSubLayer() {\r\n this.drawLayer({\r\n sourceUrl: 'mapbox://mapbox.mapbox-traffic-v1',\r\n id: 'mapbox',\r\n layers: this.geojsonData.mapbox.map((layer) => {\r\n layer.paint = {\r\n ...layer.paint,\r\n 'line-blur': this.baseParamsPaint['line-blur'],\r\n 'line-offset': this.baseParamsPaint['line-offset'],\r\n 'line-opacity': this.baseParamsPaint['line-opacity'],\r\n 'line-width': this.baseParamsPaint['line-width'],\r\n };\r\n layer.layerOrder = this.layerOrder;\r\n return layer;\r\n }),\r\n });\r\n },\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData.lines,\r\n id: 'lines',\r\n type: 'line',\r\n layerOrder: this.layerOrder,\r\n paint: this.baseParamsPaint,\r\n layout: {\r\n 'line-sort-key': ['get', 'level'],\r\n },\r\n });\r\n },\r\n init() {\r\n const { layers } = this.map.getStyle();\r\n layers.forEach((item, index) => {\r\n if (/bridge/.test(item.id) && layers[index + 1]) this.layerOrder = layers[index + 1].id;\r\n });\r\n },\r\n fetchData(params) {\r\n if (!this.visible) return;\r\n this.loadData(null, params);\r\n },\r\n changeChunk(chunk_num) {\r\n if (!this.visible) return;\r\n let chunk = {\r\n features: [],\r\n type: 'FeatureCollection',\r\n };\r\n\r\n if (this.historyData[chunk_num]) {\r\n chunk = this.historyData[chunk_num];\r\n } else if (chunk_num >= this.historyData.length) {\r\n chunk = this.historyData[this.historyData.length - 1];\r\n }\r\n chunk.features = chunk.features.filter((item) => item.properties.speed_factor !== undefined && item.properties.speed_factor !== null).map((item) => {\r\n item.properties.lineColor = this.getLineColor(item.properties.highway_type ? item.properties.highway_type.code : null);\r\n return item;\r\n });\r\n this.geojsonData.lines = chunk;\r\n this.redraw(true, true);\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('map-history/params/changed', this.fetchData);\r\n this.eventBusOn('map-history/chunk/changed', this.changeChunk);\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (['mapTraffic', 'mapOtHeatmapHistory'].includes(params.name) && params.uuid !== this.uuid && params.visible) this.visible = false;\r\n });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=6e2c2315&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import EventBus from '@/eventBus';\r\n\r\n// import {\r\n// getBusGpsCollections,\r\n// getTramGpsCollections,\r\n// getTrolleyBusGpsCollections,\r\n// getAllTransportTypeHistoryMessages,\r\n// } from '@/api';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapOtHeatmapHistory',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'heat',\r\n popupText: 'Тепловая карта движения ОТ',\r\n updateInterval: 30,\r\n boundsChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n historyData: [],\r\n historyDataRaw: null,\r\n };\r\n },\r\n watch: {\r\n visible: {\r\n handler(value) {\r\n if (value) EventBus.$emit('map-history/set/title', 'Параметры ретроспективы движения ОТ');\r\n },\r\n },\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const busGps = await this.params.getBusCollection(this.bbox);\r\n const tramGps = await this.params.getTramCollection(this.bbox);\r\n const trolleybusGps = await this.params.getTrolleybusCollection(this.bbox);\r\n this.geojsonData = {\r\n features: busGps.data.features.concat(tramGps.data.features, trolleybusGps.data.features),\r\n type: 'FeatureCollection',\r\n };\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n type: 'heatmap',\r\n paint: {\r\n 'heatmap-weight': 0.8,\r\n 'heatmap-intensity': 0.8,\r\n 'heatmap-color': [\r\n 'interpolate',\r\n ['linear'],\r\n ['heatmap-density'],\r\n 0, 'rgba(255,255,255,0)',\r\n 0.3, '#001fff',\r\n 0.6, '#001fff',\r\n 0.9, '#1cff00',\r\n 1, '#c0ff00',\r\n ],\r\n 'heatmap-radius': [\r\n 'interpolate',\r\n ['linear'],\r\n ['zoom'],\r\n 0,\r\n 2,\r\n 9,\r\n 20,\r\n ],\r\n 'heatmap-opacity': 0.8,\r\n },\r\n });\r\n },\r\n async getChunkedData({\r\n date_from,\r\n date_to,\r\n chunk_num,\r\n initial,\r\n }) {\r\n if (date_from && date_to && chunk_num && this.visible) {\r\n const { data } = await this.params.getAllCollection({\r\n chunk_num,\r\n from: date_from,\r\n to: date_to,\r\n });\r\n this.historyData = Object.values(data);\r\n this.historyDataRaw = data;\r\n if (!initial) {\r\n this.setDataByChunkIndex(this.historyData.length - 1);\r\n }\r\n }\r\n },\r\n setDataByChunkIndex(index) {\r\n if (!this.visible) return;\r\n if (this.historyData[index]) {\r\n this.geojsonData = this.historyData[index];\r\n this.redraw(true);\r\n } else if (index >= this.historyData.length) {\r\n this.geojsonData = this.historyData[this.historyData.length - 1];\r\n this.redraw(true);\r\n } else {\r\n this.loadData();\r\n }\r\n },\r\n },\r\n created() {\r\n this.eventBusOn('map-history/params/changed', this.getChunkedData);\r\n this.eventBusOn('map-history/chunk/changed', this.setDataByChunkIndex);\r\n this.eventBusOn('mapButtons/toggleEvent', (params) => {\r\n if (['mapTrolleybus', 'mapTram', 'mapSchoolBus', 'mapBus', 'mapTrafficHeatmap'].includes(params.name) && params.visible) this.visible = false;\r\n });\r\n // this.eventBusOn('mapButtons/heatmap/draw-history-data', (data) => {\r\n // if (data) {\r\n // const values = Object.values(data);\r\n // const merged = [];\r\n // values.forEach(({ features }) => {\r\n // merged.push(...features);\r\n // });\r\n // this.geojsonData = {\r\n // features: merged,\r\n // type: 'FeatureCollection',\r\n // };\r\n // this.redraw(true);\r\n // } else {\r\n // this.loadData();\r\n // }\r\n // });\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=358d2c92&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import center from '@turf/center';\r\nimport moment from 'moment';\r\nimport mapButtonsMixin from '@eputs/map-buttons/mixin';\r\nimport marker from './img/marker.svg';\r\n\r\nexport default {\r\n name: 'mapAccidentsConcentration',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'car-crush-zone-icon',\r\n popupText: 'Места концентрации ДТП',\r\n markerName: [\r\n marker,\r\n ],\r\n boundsChanged: true,\r\n // accessDefault: this.$accessRoadAccident,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n is_formed: true,\r\n period: {\r\n start_date: moment().startOf('year'),\r\n end_date: moment(),\r\n },\r\n });\r\n\r\n this.$set(this.geojsonData, 'objects', data);\r\n this.$set(this.geojsonData, 'centers', { type: 'FeatureCollection', features: (data.features || []).map((d) => center(d)) });\r\n this.formatGeojsonData();\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {\r\n this.geojsonData.objects.features.forEach((item) => {\r\n const active = this.currentId.includes(String(item.id));\r\n item.properties = item.properties || {};\r\n item.properties.lineWidth = active ? 4 : 2;\r\n item.properties.fillOpacity = active ? 0.5 : 0.2;\r\n item.properties.iconSize = active ? this.markerSize * this.markerScale : this.markerSize;\r\n item.properties.isActive = active;\r\n });\r\n },\r\n drawPoints() {\r\n const color = '#F44F47';\r\n this.drawLayer({\r\n source: this.geojsonData.objects,\r\n id: 'fill',\r\n layers: [\r\n {\r\n type: 'line',\r\n minzoom: 12,\r\n paint: {\r\n 'line-color': color,\r\n 'line-width': ['get', 'lineWidth'],\r\n },\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n {\r\n type: 'fill',\r\n minzoom: 13,\r\n paint: {\r\n 'fill-color': color,\r\n 'fill-opacity': ['get', 'fillOpacity'],\r\n },\r\n click: this.params.getItem,\r\n skipPoints: true,\r\n },\r\n {\r\n minzoom: 12,\r\n click: this.params.getItem,\r\n layout: this.defaultIconLayout(),\r\n skipPoints: true,\r\n },\r\n ],\r\n });\r\n this.drawLayer({\r\n source: this.geojsonData.centers,\r\n id: 'heatmap',\r\n layers: [\r\n {\r\n type: 'heatmap',\r\n maxzoom: 12,\r\n paint: {\r\n 'heatmap-weight': 1,\r\n 'heatmap-intensity': 1,\r\n 'heatmap-color': [\r\n 'interpolate',\r\n ['linear'],\r\n ['heatmap-density'],\r\n 0,\r\n 'rgba(33,102,172,0)',\r\n 0.1,\r\n 'rgb(103,169,207)',\r\n 0.2,\r\n 'rgb(209,229,240)',\r\n 0.3,\r\n '#F44F47',\r\n ],\r\n 'heatmap-radius': [\r\n 'interpolate',\r\n ['linear'],\r\n ['zoom'],\r\n 0,\r\n 2,\r\n 9,\r\n 20,\r\n ],\r\n 'heatmap-opacity': 0.8,\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=2728eb7b&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mapButtonsMixin from '@eputs/map-buttons/mixin';\r\n\r\nexport default {\r\n name: 'mapLightLine',\r\n mixins: [mapButtonsMixin],\r\n data() {\r\n return {\r\n iconValue: 'light',\r\n popupText: 'Освещение',\r\n updateInterval: 0,\r\n boundsChanged: true,\r\n dateChanged: true,\r\n // accessDefault: this.$accessPublicInfrastructureView,\r\n };\r\n },\r\n methods: {\r\n async loadData() {\r\n try {\r\n const { data } = await this.params.getCollection({\r\n bbox: this.bbox,\r\n // date: this.date,\r\n });\r\n this.$set(this, 'geojsonData', data);\r\n this.redraw(true);\r\n } catch (e) {\r\n console.error(e);\r\n throw new Error(e);\r\n }\r\n },\r\n formatGeojsonData() {},\r\n drawPoints() {\r\n this.drawLayer({\r\n source: this.geojsonData,\r\n id: 'lines',\r\n type: 'line',\r\n paint: {\r\n 'line-color': '#F6ED14',\r\n 'line-width': 2,\r\n 'line-opacity': 1,\r\n },\r\n skipPoints: true,\r\n });\r\n },\r\n },\r\n};\r\n","import mod from \"-!./script.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!./script.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"@eputs/map-buttons/template?vue&type=template&id=2ebfe34c&external\"\nimport script from \"./dist/script.js?vue&type=script&lang=js&external\"\nexport * from \"./dist/script.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"modules-list\"},_vm._l((_vm.moduleList),function(module_obj,module_id){return _c('module-card',{key:module_id,attrs:{\"value\":module_obj}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.value.disabled ? 'div' : 'router-link',{tag:\"component\",staticClass:\"module-card\",class:{ 'disabled': _vm.value.disabled, 'not-working': _vm.value.notWorking },attrs:{\"to\":_vm.value.disabled ? undefined : `/module/${ _vm.value.id }`}},[_c('div',{staticClass:\"module-card__inner\",class:{ 'animated': _vm.value.animated }},[_c('div',{staticClass:\"module-card__icon\"},[_c('Icon',{attrs:{\"value\":_vm.value.iconValue,\"size\":_vm.value.iconSize || 48}})],1),_c('div',{staticClass:\"module-card__title\"},[_vm._v(_vm._s(_vm.value.title))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n name: 'module-card',\n props: {\n value: {\n type: Object,\n required: true,\n },\n },\n};\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./Card.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./Card.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./Card.vue?vue&type=template&id=3a438a4c\"\nimport script from \"./Card.js?vue&type=script&lang=js&external\"\nexport * from \"./Card.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { mapState } from 'vuex';\nimport { getModules } from '@/api';\nimport ModuleCard from './Card/Card.vue';\n\nexport default {\n name: 'module-list',\n components: {\n ModuleCard,\n },\n props: {\n modules: {\n type: Array,\n default: [],\n },\n },\n data() {\n return {\n excluded: ['admin', 'dictionary', 'minister-module', 'sit-center'],\n availableModules: [],\n\n };\n },\n computed: {\n moduleList({ modules, excluded, availableModulesNames }) {\n const filtered = modules.filter(({ id }) => !excluded.includes(id));\n // return filtered;\n return filtered?.map((module) => ({\n ...module,\n notWorking: !availableModulesNames.includes(module.id),\n disabled: this.checkDisabled(module.disabled),\n }));\n },\n ...mapState([\n 'modulesLinks',\n ]),\n availableModulesNames({ availableModules }) {\n return availableModules.map(({ name }) => name);\n },\n },\n methods: {\n // getImgUrlIcons(imageName) {\n // try {\n // const images = require.context('@/assets/img/icons/', false, /\\.svg/);\n // return images(`./${imageName}.svg`);\n // } catch (e) {\n // return '';\n // }\n // },\n // startAnimation() {\n // this.modules.forEach((obj, index) => {\n // setTimeout(() => {\n // this.$set(obj, 'animated', true);\n // }, 30 * (index + 1));\n // });\n // },\n checkDisabled(disabledField = false) {\n if (disabledField && typeof disabledField === 'function') return disabledField(this);\n return disabledField;\n },\n async getAvailableModules() {\n try {\n this.loading = true;\n const { data } = await getModules();\n this.$set(this, 'availableModules', data);\n } catch (e) {\n console.error(e);\n } finally {\n this.loading = false;\n }\n },\n },\n async created() {\n await this.getAvailableModules();\n // setTimeout(() => {\n // this.startAnimation();\n // }, 1000);\n },\n};\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./ModuleList.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./ModuleList.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./ModuleList.vue?vue&type=template&id=1bc67de8\"\nimport script from \"./ModuleList.js?vue&type=script&lang=js&external\"\nexport * from \"./ModuleList.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { navigateToUrl } from 'single-spa';\nimport EventBus from '@/eventBus';\nimport modules from '@/modules';\nimport mapModule from '@eputs/map-module';\nimport mapButtons from '@eputs/map-buttons';\nimport {\n mapTrafficSimple,\n} from '@eputs/map-buttons/types';\n// import ModuleT from '@eputs/map-buttons/types'; // eslint-disable-line\n\nimport ModuleList from './ModuleList/ModuleList.vue';\n\n// console.log(ModuleT);\n// console.log(mapTrafficSimple);\n\nexport default {\n name: 'StartPage',\n components: {\n mapModule,\n mapButtons,\n ModuleList,\n },\n data() {\n return {\n loading: true,\n modules,\n buttons: [\n {\n name: mapTrafficSimple,\n params: {\n visible: true,\n access: true,\n },\n },\n ],\n map: null,\n };\n },\n computed: {\n\n },\n methods: {\n onMapLoaded(map) {\n this.map = map;\n },\n },\n created() {\n // this.$store.commit('setModulesLinks', this);\n EventBus.$on('map/main-map/loaded', this.onMapLoaded);\n EventBus.$emit('set-headerMenu/list', []);\n EventBus.$emit('set-header/moduleId', null);\n this.$store.commit('setModuleId', null);\n },\n beforeMount() {\n this.$store.commit('setMapStyles', localStorage.getItem('mapStylesCurrent') || 'default');\n },\n mounted() {\n this.$nextTick(() => {\n if (this.$checkPermission('eputs_minister_access')) {\n navigateToUrl('/module/minister/map');\n } else {\n this.loading = false;\n }\n });\n },\n beforeDestroy() {\n EventBus.$off('map/main-map/loaded', this.onMapLoaded);\n if (this.map) this.map.remove();\n },\n};\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./App.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./App.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=776207db\"\nimport script from \"./App.js?vue&type=script&lang=js&external\"\nexport * from \"./App.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport singleSpaVue from 'single-spa-vue';\nimport App from './App.vue';\n\nconst router = new VueRouter({\n // base: 'app1',\n mode: 'history',\n // routes: [\n // {\n // path: '/',\n // },\n // ],\n});\n\nconst vueLifecycles = singleSpaVue({\n Vue,\n async appOptions({ i18n, store }) {\n return {\n router,\n store,\n i18n,\n render: (r) => r(App),\n el: '#eputs-module-container',\n };\n },\n});\n\nexport const bootstrap = [vueLifecycles.bootstrap];\n\nexport function mount(props) {\n if (props.checkPermission) Vue.prototype.$checkPermission = props.checkPermission;\n return vueLifecycles.mount(props);\n}\n\nexport const unmount = [vueLifecycles.unmount];\n","module.exports = __webpack_public_path__ + \"img/marker.882e7d74.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker.981c74ee.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.3ec8dfe1.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.c5632ea5.svg\";","module.exports = __webpack_public_path__ + \"img/marker.7a19267a.svg\";","module.exports = __webpack_public_path__ + \"img/marker.1ae7f2e3.svg\";","module.exports = __webpack_public_path__ + \"img/markerMove-disabled.01b00833.svg\";","module.exports = __webpack_public_path__ + \"img/markerMove.1c47acc0.svg\";","module.exports = __webpack_public_path__ + \"img/marker-onservice.bfeaad2b.svg\";","module.exports = __webpack_public_path__ + \"img/marker.fda8411f.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.0aca1293.svg\";","module.exports = __webpack_public_path__ + \"img/marker.c1f187ee.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.fc23cceb.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.31cd1df6.svg\";","module.exports = __webpack_public_path__ + \"img/marker.8bb8fb8b.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.915127af.svg\";","module.exports = __webpack_public_path__ + \"img/marker.61ec58ee.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.2a9fe357.svg\";","module.exports = __webpack_public_path__ + \"img/marker.0f205f1b.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.e2d42dbe.svg\";","module.exports = __webpack_public_path__ + \"img/route-deviation-no-bg.bd62a3ea.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.ac2c0b2d.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_45-no-bg.f85327bf.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.610b4130.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker-disabled.9ee73ccf.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.417f35cb.svg\";","module.exports = __webpack_public_path__ + \"img/external-no-bg.2964b1de.svg\";","module.exports = __webpack_public_path__ + \"img/over-speed.8402da51.svg\";","module.exports = __webpack_public_path__ + \"img/marker-service.3404543f.svg\";","module.exports = __webpack_public_path__ + \"img/over-speed-no-bg.fb4ac45c.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_45-disabled.8d6b2385.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.6912f910.svg\";","module.exports = __webpack_public_path__ + \"img/marker.a2cbbe7b.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.a6ae5f52.svg\";","module.exports = __webpack_public_path__ + \"img/marker.587847b4.svg\";","module.exports = __webpack_public_path__ + \"img/internal.41f72142.svg\";","module.exports = __webpack_public_path__ + \"img/marker.6ed9acca.svg\";","module.exports = __webpack_public_path__ + \"img/system-no-bg.2bd39ba3.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_41.ebe937d5.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.cb0ef75a.svg\";","module.exports = __webpack_public_path__ + \"img/marker.6b221910.svg\";","module.exports = __webpack_public_path__ + \"img/external.a1286531.svg\";","module.exports = __webpack_public_path__ + \"img/internal.41f72142.svg\";","module.exports = __webpack_public_path__ + \"img/marker.df163a65.svg\";","module.exports = __webpack_public_path__ + \"img/marker.2cb50f89.svg\";","module.exports = __webpack_public_path__ + \"img/marker.64172a60.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.62e16af7.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.650a9225.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg-external.2964b1de.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg-internal.1f5591e0.svg\";","module.exports = __webpack_public_path__ + \"img/marker.f6c9aa68.svg\";","module.exports = __webpack_public_path__ + \"img/marker.fc1674f7.svg\";","module.exports = __webpack_public_path__ + \"img/marker-active.350cd8c5.svg\";","module.exports = __webpack_public_path__ + \"img/marker.88226ff6.svg\";","module.exports = __webpack_public_path__ + \"img/marker.50c48adc.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_44-error.86542939.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.8110614e.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.36036b88.svg\";","export default [\n {\n id: 'transport-permits-module',\n title: 'Модуль выдачи транспортных разрешений',\n iconValue: 'item-check',\n disabled: (ctx) => !ctx.$checkPermission('eputs_transport_permits_access'),\n },\n {\n id: 'traffic-enforcement-module',\n title: 'Модуль администрирования транспортных правонарушений',\n iconValue: 'penalty',\n disabled: (ctx) => !ctx.$checkPermission('eputs_traffic_enforcement_access'),\n },\n {\n id: 'emergency-module',\n title: 'Модуль диспетчерского управления ИТС для ЧС и ВС',\n iconValue: 'bell-emergency',\n disabled: (ctx) => !ctx.$checkPermission('eputs_emergency_access'),\n },\n {\n id: 'its_monitoring',\n title: 'Модуль контроля эффективности ИТС',\n iconValue: 'its-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_its_access'),\n },\n {\n id: 'road-works-module',\n title: 'Модуль управления дорожными работами',\n iconValue: 'roadworks-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_road_works_access'),\n },\n {\n id: 'informing-module',\n title: 'Модуль централизованного информирования участников движения',\n iconValue: 'informing-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_informing_access'),\n },\n {\n id: 'public-transport-module',\n title: 'Модуль управления движением общественного транспорта',\n iconValue: 'public-transport-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_public_transport_access'),\n },\n {\n id: 'io-module',\n title: 'Модуль внутренних и внешних сервисов',\n iconValue: 'io-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_io_access'),\n },\n {\n id: 'parking-module',\n title: 'Модуль конфигурации парковочного пространства',\n iconValue: 'parking-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_parking_access'),\n },\n {\n id: 'modeling-module',\n title: 'Модуль транспортного прогнозирования и моделирования',\n iconValue: 'modeling-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_modeling_access'),\n },\n {\n id: 'ksodd-module',\n title: 'Модуль электронного КСОДД',\n iconValue: 'ksodd-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_ksodd_access'),\n },\n {\n id: 'twin-module',\n title: 'Модуль \"Цифровой двойник\"',\n iconValue: 'twin-module-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_twin_access'),\n },\n {\n id: 'traffic-camera-map',\n title: 'Подсистема видеонаблюдения, детектирования ДТП и ЧС',\n iconValue: 'tcm-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_tcm_module_access'),\n },\n {\n id: 'its-grade',\n title: 'Подсистема комплексной оценки ИТС',\n iconValue: 'its-grade-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_its_grade_module_access'),\n },\n {\n id: 'pvr-map',\n title: 'Подсистема контроля комплексов ФВФ',\n iconValue: 'pvr-icon',\n disabled: (ctx) => !ctx.$checkPermission('eputs_pvr_module_access'),\n },\n {\n id: 'minister-module',\n title: 'Министр',\n // icon: 'module-icon-15',\n disabled: false,\n },\n {\n id: 'sit-center',\n title: 'Ситуационный центр',\n // icon: 'module-icon-15',\n disabled: false,\n },\n {\n id: 'admin',\n title: 'Управление пользователями и доступом',\n },\n {\n id: 'dictionary',\n title: 'Справочная информация',\n },\n];\n","module.exports = __webpack_public_path__ + \"img/marker.db448f31.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.d0730cd1.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_45.d02a3c54.svg\";","module.exports = __webpack_public_path__ + \"img/marker.2f55628e.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.922fc2d5.svg\";","module.exports = __webpack_public_path__ + \"img/internal-no-bg.1f5591e0.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_44.540dda71.svg\";","module.exports = __webpack_public_path__ + \"img/system.be643be6.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.73dd8f9d.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.d0e1b565.svg\";","module.exports = __webpack_public_path__ + \"img/marker.f6c9aa68.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.e2d42dbe.svg\";","module.exports = __webpack_public_path__ + \"img/marker-active.304e6b68.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_44-disabled.a67c6698.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_44-no-bg.70ff1524.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_41-no-bg.f0b1ff5d.svg\";","module.exports = __webpack_public_path__ + \"img/markerMove-error.04156987.svg\";","module.exports = __webpack_public_path__ + \"img/route-deviation.470e33e7.svg\";","module.exports = __webpack_public_path__ + \"img/external.a1286531.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.b90f6584.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.3ed22229.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.47a970bd.svg\";","module.exports = __webpack_public_path__ + \"img/marker.7d42bc69.svg\";","module.exports = __webpack_public_path__ + \"img/marker.0bfc3714.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker-error.d81fe1b9.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_43-error.fcdfce01.svg\";","module.exports = __webpack_public_path__ + \"img/system.be643be6.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.c0be3668.svg\";","module.exports = __webpack_public_path__ + \"img/marker.10513455.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.05dda9af.svg\";","module.exports = __webpack_public_path__ + \"img/marker-error.a3a788a9.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_41-disabled.5d322f13.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.905b1295.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_43-no-bg.50bf548e.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.05dda9af.svg\";","module.exports = __webpack_public_path__ + \"img/marker.fd296935.svg\";","module.exports = __webpack_public_path__ + \"img/marker-active.2859edff.svg\";","module.exports = __webpack_public_path__ + \"img/object_default.3d119902.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_42-disabled.b2142f97.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.823f6fce.svg\";","module.exports = __webpack_public_path__ + \"img/marker-disabled.98275d45.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg-system.2bd39ba3.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_41-error.468c6ac3.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.7e82cdf4.svg\";","module.exports = __webpack_public_path__ + \"img/spectechnicMarker_43-disabled.440a2550.svg\";","module.exports = __webpack_public_path__ + \"img/marker-no-bg.e8cbb6af.svg\";"],"sourceRoot":""}