{"version":3,"sources":["app.config.js","main.js","app.js","_common/module.js","admin/module.js","front/module.js","_common/components/module.js","_common/constants/module.js","_common/directives/module.js","templates.js","_common/filters/module.js","_common/modal/module.js","_common/models/module.js","_common/service/module.js","admin/camera/module.js","admin/cms/module.js","admin/document/module.js","admin/event/module.js","admin/initiative/module.js","admin/layout/module.js","admin/sources/module.js","admin/user/module.js","front/article/module.js","front/document/module.js","front/event/module.js","front/forgotten-password/module.js","front/homepage/module.js","front/initiative/module.js","front/layout/module.js","front/map/module.js","front/page-not-found/module.js","front/registration/module.js","front/school/module.js","front/traffic/module.js","_common/constants/Constants.js","_common/directives/BindHtmlCompileDirective.js","_common/directives/ChartDirective.js","_common/directives/CompileDirective.js","_common/directives/DatePickerDirective.js","_common/directives/DirtyFormDirective.js","_common/directives/FBShare.js","_common/directives/FileUploadDirective.js","_common/directives/ImageCdnDirective.js","_common/directives/MapSearchDirective.js","_common/directives/MapSelectDirective.js","_common/directives/ScrollToDirective.js","_common/directives/ScrollbarDirective.js","_common/directives/TranslationTabsDirective.js","_common/directives/TreeSelectDirective.js","_common/filters/AddressFilter.js","_common/filters/ArrayFilter.js","_common/filters/ArrayToStringFilter.js","_common/filters/BoolToTextFilter.js","_common/filters/CapImageFilter.js","_common/filters/CapLevelFilter.js","_common/filters/CapitalizeFilter.js","_common/filters/DatetimeFilter.js","_common/filters/EventPriorityFilter.js","_common/filters/EventSeverityFilter.js","_common/filters/EventTypeFilter.js","_common/filters/FixedLengthFilter.js","_common/filters/JoinFilter.js","_common/filters/MaxDateFilter.js","_common/filters/PaginationFilter.js","_common/filters/PoliceSubTypeFilter.js","_common/filters/RiverStationNameToPositionFilter.js","_common/filters/SchoolFilter.js","_common/filters/SivsLevelFilter.js","_common/filters/SpaFilter.js","_common/filters/TrafficBollardTypeFilter.js","_common/filters/UniqueFilter.js","_common/filters/UniqueLegendFilter.js","_common/filters/UrlFilter.js","_common/filters/UserNameFilter.js","_common/leaflet/AgsDynamicLayer.js","_common/leaflet/Controls.js","_common/leaflet/Fullscreen.js","_common/leaflet/Google.js","_common/leaflet/Leaflet.AccuratePosition.js","_common/modal/LeaveConfirmationModalController.js","_common/models/PersistenceModel.js","_common/service/ApiFilterService.js","_common/service/ArticleTreeService.js","_common/service/EventService.js","_common/service/FlashMessageService.js","_common/service/HttpInterceptorService.js","_common/service/InjectCssService.js","_common/service/QueryFilterService.js","_common/service/UtilService.js","_common/components/flash-message/index.js","_common/models/admin/ApiAdminArticleModel.js","_common/models/admin/ApiAdminBollardsModel.js","_common/models/admin/ApiAdminCameraModel.js","_common/models/admin/ApiAdminCdnModel.js","_common/models/admin/ApiAdminDocumentModel.js","_common/models/admin/ApiAdminEventModel.js","_common/models/admin/ApiAdminInitiativeModel.js","_common/models/admin/ApiAdminPassabilityModel.js","_common/models/admin/ApiAdminSafetyModel.js","_common/models/admin/ApiAdminSourceModel.js","_common/models/admin/ApiAdminTrafficBollardModel.js","_common/models/admin/ApiAdminUserModel.js","_common/models/front/ApiArticleModel.js","_common/models/front/ApiAuthenticationModel.js","_common/models/front/ApiCameraModel.js","_common/models/front/ApiCdnModel.js","_common/models/front/ApiDocumentModel.js","_common/models/front/ApiEventModel.js","_common/models/front/ApiInitiativeModel.js","_common/models/front/ApiLanguageModel.js","_common/models/front/ApiMapModel.js","_common/models/front/ApiMockModel.js","_common/models/front/ApiPdfModel.js","_common/models/front/ApiSearchModel.js","_common/models/front/ApiSourceModel.js","_common/models/front/ApiStatisticsModel.js","_common/models/front/ApiTrafficModel.js","_common/models/front/ApiUserModel.js","_common/models/front/ApiWeatherModel.js","_common/service/maps/CadastreMapService.js","_common/service/maps/CameraMapService.js","_common/service/maps/DynamicDataSourceMapService.js","_common/service/maps/EventMapService.js","_common/service/maps/FloodsMapService.js","_common/service/maps/HzsMapService.js","_common/service/maps/InitiativeMapService.js","_common/service/maps/IzsMapService.js","_common/service/maps/MapSelectionService.js","_common/service/maps/NewsMapService.js","_common/service/maps/RestaurantMapService.js","_common/service/maps/SafetyMapService.js","_common/service/maps/SchoolMapService.js","_common/service/maps/TrafficMapService.js","admin/camera/controllers/AdminCameraAvailabilityController.js","admin/camera/controllers/AdminCameraController.js","admin/camera/controllers/AdminCameraGridController.js","admin/camera/controllers/AdminFutureCameraController.js","admin/camera/controllers/AdminFutureCameraFormController.js","admin/cms/controllers/AdminCmsController.js","admin/cms/controllers/AdminCreateArticleController.js","admin/cms/controllers/AdminEditArticleController.js","admin/document/controllers/AdminDocumentController.js","admin/event/controllers/AdminCreateEventController.js","admin/event/controllers/AdminEventController.js","admin/event/controllers/AdminEventDetailController.js","admin/initiative/controllers/AdminInitiativeCategoryController.js","admin/initiative/controllers/AdminInitiativeController.js","admin/initiative/controllers/AdminInitiativeDetailController.js","admin/layout/controllers/AdminLayoutController.js","admin/sources/controllers/AdminFiremanController.js","admin/sources/controllers/AdminNoiseController.js","admin/sources/controllers/AdminPassabilityPointFormController.js","admin/sources/controllers/AdminPassabilityPointsController.js","admin/sources/controllers/AdminPoliceController.js","admin/sources/controllers/AdminPubController.js","admin/sources/controllers/AdminPubFormController.js","admin/sources/controllers/AdminTrafficBollardFormController.js","admin/sources/controllers/AdminTrafficBollardsController.js","admin/sources/modal/DeleteModalController.js","admin/sources/modal/ImportCsvModalController.js","admin/sources/modal/UploadFiremanCsvModalController.js","admin/sources/modal/UploadPoliceCsvModalController.js","admin/user/controllers/AdminUserController.js","admin/user/controllers/AdminUserInboxController.js","admin/user/controllers/AdminUserProfileController.js","front/article/controllers/ArticleSearchController.js","front/article/controllers/DetailArticleController.js","front/article/controllers/DetailArticlePreviewController.js","front/document/controllers/DocumentController.js","front/event/controllers/EventController.js","front/event/controllers/EventDetailController.js","front/forgotten-password/controllers/ForgottenPasswordConfirmationController.js","front/homepage/controllers/HomepageController.js","front/homepage/models/weatherTabs.js","front/initiative/controllers/InitiativeFormController.js","front/layout/controllers/FrontLayoutController.js","front/map/controllers/CameraDetailMapController.js","front/map/controllers/CameraImageDetailController.js","front/map/controllers/CameraMapController.js","front/map/controllers/MapController.js","front/map/controllers/SafetyMapController.js","front/map/modal/CadastreMapModalController.js","front/map/modal/FutureCamerasMapModalController.js","front/map/modal/HzsDynamicsMapModalController.js","front/map/modal/MppDynamicsMapModalController.js","front/map/modal/NoiseDynamicsMapModalController.js","front/map/modal/PcrDynamicsMapModalController.js","front/map/modal/PopupModalController.js","front/map/search/MapSearchController.js","front/page-not-found/controllers/PageNotFoundController.js","front/registration/controllers/RegistrationConfirmationController.js","front/school/controllers/SyposDetailController.js","front/traffic/controllers/TrafficController.js","front/traffic/controllers/TrafficDetailController.js","_common/service/maps/dialog/MapDialogService.js","_common/service/maps/filters/DdrImageFilter.js","_common/service/maps/filters/EventImageFilter.js","_common/service/maps/filters/NumberToTextFilter.js","_common/service/maps/filters/ZoneZpsTariffFilter.js","_common/service/maps/helpers/GeometryHelper.js","_common/service/maps/helpers/HelperService.js","_common/service/maps/layers/CustomLayer.js","_common/service/maps/layers/Layer.js","_common/service/maps/layers/LayerCollection.js","_common/service/maps/layers/LineLayer.js","_common/service/maps/layers/PointLayer.js","_common/service/maps/layers/ServerLayer.js","_common/service/maps/models/MapSettings.js","_common/service/maps/providers/AirQualityLayerProvider.js","_common/service/maps/providers/BollardLayerProvider.js","_common/service/maps/providers/CameraLayerProvider.js","_common/service/maps/providers/ChemistryLayerProvider.js","_common/service/maps/providers/DdrMessageLayerProvider.js","_common/service/maps/providers/DynamicDataSourceLayerProvider.js","_common/service/maps/providers/EventLayerProvider.js","_common/service/maps/providers/InitiativeLayerProvider.js","_common/service/maps/providers/ItemCollectionLayerProviderBase.js","_common/service/maps/providers/LayerProviderFactory.js","_common/service/maps/providers/PassabilityLayerProvider.js","_common/service/maps/providers/RestaurantLayerProvider.js","_common/service/maps/providers/RiverStationLayerProvider.js","_common/service/maps/providers/StaticBollardsLayerProvider.js","_common/service/maps/providers/SyposLayerProvider.js","_common/service/maps/providers/TelescopicBollardsLayerProvider.js","_common/service/maps/services/MapHelperService.js","_common/service/maps/services/MapProviderService.js","_common/service/maps/services/MapSearchService.js","admin/camera/modal/availability/EditCameraAvailabilityModalController.js","admin/camera/modal/camera/CameraDetailModalController.js","admin/camera/modal/camera/CameraGridSettingsModalController.js","admin/camera/modal/camera/DeleteCameraAttachmentModalController.js","admin/camera/modal/camera/EditCameraModalController.js","admin/camera/modal/future/FutureCameraRequestDeleteModalController.js","admin/cms/modal/article/DeactivateArticleModalController.js","admin/cms/modal/article/DeleteArticleModalController.js","admin/document/modal/file/CreateFileModalController.js","admin/document/modal/file/CreateMultipleFileModalController.js","admin/document/modal/file/DeleteFileModalController.js","admin/document/modal/file/DeleteFolderModalController.js","admin/document/modal/file/EditFileModalController.js","admin/initiative/modal/category/CreateCategoryModalController.js","admin/initiative/modal/category/EditCategoryModalController.js","admin/initiative/modal/category/isActiveCategoryModalController.js","admin/initiative/modal/changeState/ChangeStateModalController.js","admin/layout/modal/textAngular/InsertMapModalController.js","admin/layout/modal/textAngular/InsertTableModalController.js","admin/layout/modal/textAngular/LinkArticleModalController.js","admin/layout/modal/textAngular/UploadDocumentModalController.js","admin/layout/modal/textAngular/UploadImageModalController.js","admin/user/modal/password/ResetUserPasswordModalController.js","admin/user/modal/user/DeactivateUserModalController.js","admin/user/modal/user/EditUserModalController.js","front/article/components/static-sections/index.js","front/homepage/components/events/index.js","front/homepage/components/static-links/index.js","front/homepage/components/traffic/index.js","front/homepage/components/weather/index.js","front/layout/components/contacts/index.js","front/layout/components/footer/index.js","front/layout/components/header/index.js","front/layout/components/lang/index.js","front/layout/components/loader/index.js","front/layout/components/login/index.js","front/layout/components/menu/index.js","front/layout/components/search/index.js","front/layout/modal/change-password/ChangePasswordModalController.js","front/layout/modal/forgotten-password/ForgottenPasswordModalController.js","front/layout/modal/login/LoginModalController.js","front/layout/modal/registration/RegistrationModalController.js","front/map/components/cameras/index.js","front/map/components/initiatives/index.js","front/map/components/safety/index.js","front/map/components/schools/index.js","front/homepage/components/weather/widgets/air.js","front/homepage/components/weather/widgets/cap.js","front/homepage/components/weather/widgets/hydrology.js","front/homepage/components/weather/widgets/weather.js"],"names":["appConfig","window","apiRootUrl","pdfApiRootUrl","version","facebookAppId","autoLogoutTime","galleryGridColumns","defaultCameraRefreshRate","cdnUrl","uploadLimits","images","maxWidth","maxHeight","maxSize","documents","translation","supportedLanguages","availableLanguageKeys","cs_*","en_US","en_UK","*","fallbackLanguage","preferredLanguage","mapSettings","defaultMapCenter","lat","lng","zoom","defaultLayers","lineLayers","url","key","color","fillColor","stroke","visible","legendOptions","label","colors","disable","display","order","serverLayers","switcher","title","dependencies","activate","options","enableTiling","newsLayers","name","airQualityLayer","subtitleMapWithImages","subtitleMap","_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.VERY_GOOD","_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.ACCEPTABLE","_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.BAD","_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.NO_DATA","trafficLayers","trafficLayer","group","_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.INFORMATION","_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.FROST","_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.DANGER","_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.ACCIDENT","_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.ROADWORK","_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.WIND","_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.SHUTTER","customLayers","layerProvider","pointLayers","dialogFn","iconUrl","isDynamic","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.FIRST_ORDER","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.SECOND_ORDER","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.THIRD_ORDER","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.UNMAINTAINED","layers","queryLayers","opacity","_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.RESIDENTAL","_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.VISITOR","_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.MIXED","_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.ZTP","floodsLayers","_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOODS.STATIC","_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOODS.MOBILE","propertyStyling","valueMap","1","2","featureProperty","styleProperties","AZZU","_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_CATEGORIES.FLOWING","_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_CATEGORIES.NO_FLOWING","_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_CATEGORIES.PROTECTION","2 VLT","3","4","5","6","7","riverStationLayer","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.DRY","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.NORMAL","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.SPA1","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.SPA2","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.SPA3","_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.SPA3_EXTREME","izsLayers","where","disableClusterAtZoom","cadastreLayers","schoolLayers","wmsLayers","isWms","_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.KINDERGARTEN","_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.ELEMENTARY_SCHOOL","_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.HIGH_SCHOOL","_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.HIGHER_VOCATIONAL_SCHOOL","_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.LANGUAGE_SCHOOL","_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.HOBBY","restaurantLayers","hzsLayers","cameraLayers","Navrhovaná","Projektovaná","Záložní","Ve výstavbě","Dokončená","V provozu","polygonsOfVisibility","safetyLayers","lineLayer","search","MAP_SEARCH_ADDRESSES_URL","MAP_SEARCH_STREETS_URL","MAP_PARCELS_URL","$","angular","bootstrap","document","module","config","$provide","$breadcrumbProvider","$compileProvider","$httpProvider","$locationProvider","$logProvider","$translateProvider","$translatePartialLoaderProvider","localStorageServiceProvider","localStorage","console","error","alert","setOptions","prefixStateName","interceptors","push","html5Mode","setPrefix","aHrefSanitizationTrustedUrlList","debugEnabled","translationConfig","useLoader","urlTemplate","addPart","useSanitizeValueStrategy","registerAvailableLanguageKeys","determinePreferredLanguage","useLocalStorage","navigator","serviceWorker","register","then","log","registration","scope","catch","err","decorator","taRegisterTool","taToolFunctions","taOptions","$uibModal","$state","iconclass","tooltiptext","action","deferred","restoreSelection","textAngular","this","open","templateUrl","controller","controllerAs","result","forEach","$editor","wrapSelection","image","fileInfo","resolve","onElementSelect","element","imgOnSelectAction","files","file","mapProviderService","href","relativeUrl","article","parent","absolute","event","$element","editorScope","finishEdit","updateTaBindtaTextElement","hidePopover","preventDefault","displayElements","popover","css","container","popoverContainer","empty","tableEditGroup","addRowButton","on","tbody","colnums","find","children","length","allCols","x","append","addColButton","each","k","width","remRowButton","remove","remColButton","tableResizeGroup","fullButton","height","halfButton","quartButton","tablePositionGroup","leftButton","attr","centerButton","rightButton","showPopover","showResizeOverlay","disableSanitizer","defaultTagAttributes","a","target","taSelectableElements","toolbar","constant","dateFormat","defaultTime","html5Types","date","datetime-local","month","initialPicker","reOpenDefault","enableDate","enableTime","buttonBar","show","now","text","today","clear","time","close","cancel","closeOnDateSelection","closeOnTimeNow","appendToBody","altInputFormats","ngModelOptions","saveAs","datetime","isDefined","moment","format","readAs","run","$rootScope","$transitions","$translate","FlashMessage","PersistenceModel","actualState","locale","use","onStart","to","allowed","toUrl","trans","params","hasOwnProperty","getUserRoles","_","includes","roles","role","add","id","values","pageUrl","onSuccess","transition","body","scrollTop","documentElement","fn","selectpicker","defaults","noneSelectedText","instant","multipleSeparator","selectAllText","deselectAllText","globalTitle","pageTitleTranslation","data","updateTitles","$on","go","getDefaultPage","reload","$stateProvider","state","abstract","load","$q","$http","InjectCss","defer","get","response","link","set","promise","views","root","ncyBreadcrumb","content","squash","value","childId","isEventEdit","injectCssFunction","$urlRouterProvider","otherwise","scrollTo","anchor","initiativeId","mapContent","providerService","cameraId","stationName","syposId","type","$templateCache","put","NEW","IN_PROGRESS","SOLVED","UNSOLVED","STATIC","TELESCOPIC","BindHtmlCompileDirective","$compile","restrict","attrs","$watch","$eval","cpBindHtmlCompile","html","contents","directive","$inject","ChartDirective","ApiSourceModel","noiseStationId","elem","getNoiseGraphData","path1","Chart","getContext","labels","i","subtract","prepareLabels","datasets","borderWidth","backgroundColor","prepareColors","allGraphData","borderColor","legend","scales","y","max","min","lowColor","highColor","Compile","cppCompile","DatePicker","ngModel","replace","DirtyFormDirective","require","formElement","attributes","formController","$submitted","$dirty","modalInstance","addEventListener","e","returnValue","FBShareDirective","FB","ui","method","picture","location","caption","description","message","quote","FileUploadDirective","ngChange","evt","reader","FileReader","onload","model","copy","$viewValue","alias","size","$apply","$setViewValue","readAsDataURL","ImageCdnDirective","$sce","APP_CONFIG","cdnId","src","getTrustedMediaUrl","$set","MapSearchDirective","MapSelect","MapProviderService","showLegend","mapLayers","provide","ScrollToDirective","verticalScroll","animate","param","ScrollbarDirective","PerfectScrollbar","minScrollbarLength","$scope","reset","perfectScrollbar","TranslationTabsDirective","ApiLanguageModel","form","entity","modelCommonData","modelCultureData","showDefaultTranslationOnly","pathToCultures","setCultureCode","overrideEventFn","onTranslationInit","onTranslationAdd","onTranslationChange","disableLoadedFn","setEmitEntityLoaded","setHandlers","defaultLanguage","translationData","activeTranslation","emitEntityLoadedFn","getAllLanguages","tmp","entityTranslations","cultureCode","allLanguages","availableTranslationsData","availableTranslations","existingTranslations","language","languageIndex","findIndex","cultureData","splice","assign","undefined","initTranslations","handlers","addExistingTranslation","cultureCodeArray","isArray","handlersObj","translationAdd","index","addedLang","fromCultureCode","$setPristine","template","translationChange","lang","destObj","srcObj","toCultureCode","toCopy","difference","Object","keys","path","TreeSelectDirective","$filter","treeDropdownController","selected","attributeName","optional","list","querySelector","defaultOptionAdded","$watchGroup","newValues","oldValues","obj","setSelected","getOptions","level","optionUL","optionLI","optionA","active","bind","childClick","contains","isOpen","ctrl","openTree","activeItemName","AddressFilter","address","city","cityPart","cityDistrict","street","join","houseNumber","landRegistryNumber","orientationNumber","trim","filter","ArrayFilter","isValueFound","attribute","item","query","queryValue","Array","localFound","j","toLower","items","filtered","found","isPlainObject","isEmpty","ArrayToStringFilter","collection","delimiter","map","mappedItems","BoolToTextFilter","input","CapImageFilter","CapLevelFilter","CapitalizeFilter","capitalize","DatetimeFilter","itemDatePath","datePath","stepFiltered","isGreater","isLess","itemDate","itemDatetime","from","isAfter","isSame","isBefore","EventPriorityFilter","types","EventSeverityFilter","EventTypeFilter","mapping","CHMI_WARNING","NARCOTIC","HOMELESS","PLANNED_EVENT","EXTRAORDINARY_EVENT","OTHERS","funcName","toUpper","mapIconClass","mapType","FixedLengthFilter","toString","JoinFilter","separator","reduce","sum","next","MaxDateFilter","isValid","year","PaginationFilter","start","slice","PoliceSubTypeFilter","subType","groups","subtypes","RiverStationNameToPositionFilter","SchoolFilter","universityBuildingType","F","K","M","KAT","S","SUZ","U","CEL","A","universityName","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","universityTypes","SVŠ","VVŠ","STŠ","warn","SivsLevelFilter","SpaFilter","TrafficBollardTypeFilter","BOLLARD_TYPES","UniqueFilter","field","uniqBy","UniqueLegendFilter","UrlFilter","UserNameFilter","firstName","lastName","L","AgsDynamicLayer","Layer","extend","Evented","minZoom","maxZoom","attribution","transparent","defintionQuery","unloadInvisibleTiles","Browser","mobileWebkit","initialize","Util","_url","setLayers","_updateLayer","getLayers","setTransparent","getTransparent","setDefinitionQuery","getDefinitionQuery","setOpacity","_image","style","webkitTransform","getOpacity","_reset","update","updating","visibility","hide","isVisible","onAdd","_map","_moveEnd","_zoomEnd","onRemove","getPanes","overlayPane","removeChild","off","getEvents","getAttribution","beforeAdd","_initImage","DomUtil","create","onselectstart","falseFn","onmousemove","_onImageLoad","_getImageUrl","agsLayer","appendChild","bnds","getBounds","sz","getSize","sr","crs","code","split","ne","project","_northEast","sw","_southWest","bbox","token","topLeft","containerPointToLayerPoint","Point","setPosition","Intens","CollapsibleControl","Control","Layers","position","false","true","setLayerGroups","_layerGroups","_update","addBaseLayer","layer","_addLayer","addOverlay","_checkDisabledLayers","_layers","_onLayerChange","overlay","stamp","autoZIndex","setZIndex","_lastZIndex","_layersArr","_initLayout","className","_container","setAttribute","touch","DomEvent","stopPropagation","disableClickPropagation","disableScrollPropagation","_form","collapsed","android","_expand","_collapse","stop","setTimeout","_onInputClick","_baseLayersList","_separator","_overlaysList","removeLayer","indexOf","hasLayer","inputs","getElementsByTagName","addedLayers","removedLayers","_handlingClick","_getLayer","layerId","checked","addLayer","_refocusOnMap","_addItem","parentContainer","div","createElement","defaultChecked","_createRadioElement","htmlFor","emptySpan","span","innerHTML","_sortLayers","sortBy","baseLayersPresent","overlaysPresent","me","accordionParent","randomId","Math","round","random","layerGroup","panelParent","contentId","collapseHeader","collapseHeaderHtml","contentDiv","layersDiv","_changeTouchEvents","addClass","_size","offsetTop","clientHeight","removeClass","originalEvent","offsetParent","hasClass","toBeEnabled","dragging","enable","touchZoom","tap","getZoom","disabled","BaseLayerSwitcher","layersToShow","layersToHide","cls","_layersToShow","_layersToHide","_cls","_title","_click","parentNode","childrenLength","child","factory","define","amd","exports","Error","Fullscreen","_toggleTitle","toggleFullscreen","isFullscreen","Map","include","_isFullscreen","getContainer","pseudoFullscreen","_disablePseudoFullscreen","exitFullscreen","mozCancelFullScreen","webkitCancelFullScreen","msExitFullscreen","_enablePseudoFullscreen","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","Element","ALLOW_KEYBOARD_INPUT","msRequestFullscreen","_setFullscreen","fire","fullscreen","invalidateSize","_onFullscreenChange","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","mergeOptions","fullscreenControl","addInitHook","fullscreenchange","onFullscreenChange","addControl","whenReady","control","Google","Class","tileSize","subdomains","errorTileUrl","continuousWorld","noWrap","mapOptions","_ready","google","maps","asyncWait","_type","insertAtTheBottom","_insertAtTheBottom","_initContainer","_initMapObject","_resetCallback","_limitedUpdate","limitExecByInterval","_handleZoomAnim","_controlCorners","bottomright","marginBottom","setElementSize","tilePane","first","firstChild","zIndex","insertBefore","_this","_google_center","LatLng","center","tilt","mapTypeId","MapTypeId","disableDefaultUI","keyboardShortcuts","draggable","disableDoubleClickZoom","scrollwheel","streetViewControl","styles","_reposition","addListenerOnce","onReposition","_google","_checkZoomLevels","mapObject","setZoom","hard","clearOldContainer","_center","_resize","getCenter","setCenter","trigger","asyncInitialize","o","_defaultAccuratePositionOptions","maxWait","desiredAccuracy","findAccuratePosition","geolocation","_handleAccuratePositionError","_accuratePositionEventCount","_accuratePositionOptions","enableHighAccuracy","maximumAge","timeout","onResponse","_checkAccuratePosition","onError","onTimeout","_handleAccuratePositionTimeout","_accuratePositionWatchId","watchPosition","_accuratePositionTimerId","clearWatch","_lastCheckedAccuratePosition","_handleAccuratePositionResponse","_cleanUpAccuratePositioning","clearTimeout","pos","accuracyReached","coords","accuracy","_handleAccuratePositionProgress","_prepareAccuratePositionData","latitude","longitude","latlng","latAccuracy","lngAccuracy","cos","PI","bounds","latLngBounds","timestamp","c","LeaveConfirmationModalController","$uibModalInstance","ok","dismiss","localStorageService","isAuthenticated","getAccessToken","setUserId","userId","getUserId","setFirstName","getFirstName","setLastName","getLastName","getName","user","setUserRoles","hasOnlyUserRole","clearAccessToken","setRefreshToken","refreshToken","getRefreshToken","setRefreshTokenValidity","refreshTokenValidity","getRefreshTokenValidity","setAccessToken","accessToken","setAccessTokenValidity","accessTokenValidity","getAccessTokenValidity","hasAdminRole","hasCrisisRole","hasCrisisManagerRole","hasHeadManagerRole","hasUserRole","hasEventPublisherRole","hasContentPublisherRole","hasTranslatorRole","hasInitiativesAdminRole","setSourceDataForEvent","sourceData","toJson","getSourceDataForEvent","fromJson","clearSourceDataForEvent","setSelectedMaps","selectedMaps","getSelectedMaps","setMapLayerVisibility","layerKey","mapLayersSettings","getMapLayerVisibility","setHiddenTableColumns","cacheKey","columns","getHiddenTableColumns","setupUser","expiry","clearAll","ApiFilterService","KEYS","enumValueKeys","numericValueKeys","booleanValueKeys","camera","transformSearchQueryAttribute","column","isBoolean","enumValue","numericValue","Number","boolValue","Boolean","ArticleTreeService","ApiArticleModel","getArticleTree","tree","childArticles","staticSections","getStaticSections","staticSection","routerState","EventService","iskrAttributesMapping","mapTo","mapToSourceData","severityLevel","eventType","eventTypeId","eventName","eventState","created","eventDescription","locationDescription","region","administrativeDistrict","eventsTypeMapping","206","208","211","189","191","216","392","271","200","309","164","222","379","172","425","savePoliceSourceData","districts","iskrData","reportType","attrName","districtValue","publication","private","emailToDistricts","district","saveFiremanSourceData","loadSourceDataForEvent","FlashMessageService","flashMessages","ttl","all","translationObj","isObject","trustAsHtml","$broadcast","removeAll","HttpInterceptorService","$injector","callback","ajax","contentType","dataType","done","validity","fail","notifyError","rejection","status","errorFromApi","errorCode","httpStatusCode","errorMessage","_setAccessToken","request","apiKey","headers","requestError","reject","responseError","InjectCssService","injectCss","rel","media","QueryFilterService","getAllValidPaths","paths","_getAllValidPathsRecursion","currentPath","startsWith","processTypes","string","valueObj","number","bool","range","enum","counter","counterValues","boolMultiple","typeObj","typeKey","processType","searchObj","getSearchObject","pageSize","currentPage","orderByField","reverseSort","limit","offset","orderBy","desc","UtilService","$window","remapObjectAttributes","newObj","getIdFromLocation","substr","lastIndexOf","updateQueryStringParameter","uri","re","RegExp","match","findObjectKeyRecursively","childSection","object","encodeToBase64","Base64","encode","decodeToBase64","decode","replaceContentVariableToValue","replaceContentValueToVariable","downloadFile","blob","Blob","filename","exec","simpleResponseTransform","property","getFileNameFromHeader","header","FlashMessageController","vm","isFrontSection","test","current","isAdminSection","alerts","component","ApiAdminArticleModel","$resource","cultureFields","transformArticleRequest","articleObj","articleCulture","unset","translations","transformArticleResponse","defaultTranslationIndex","id1","getAllArticles","transformResponse","articles","createArticle","transformRequest","publicContent","privateContent","parentId","headersGetter","getArticle","editArticle","publishArticle","deactivateArticle","deleteArticle","linkArticleAttachments","deleteArticleAttachment","ApiAdminBollardsModel","getTrafficBollardsPoints","ApiAdminCameraModel","extendCameraObject","imageUrl","sizeX","sizeY","id2","path2","getAll","cameras","downloadCameras","responseType","getCamera","editCamera","getCameraGrids","coordinateX","coordinateY","cameraGrids","grid","cameraPositions","createCameraGrid","col","row","cameraGrid","getCameraGrid","editCameraGrid","deleteCameraGrid","getFutureCameraEntries","getFutureCamerasExport","attachment","fileName","getFutureCameraRequest","createFutureCamera","updateFutureCamera","deleteFutureCameraRequest","assignFutureCameraAttachment","unassignFutureCameraAttachment","ApiAdminCdnModel","getContentTypes","createFile","getSingle","editFile","deleteFile","getAllFileInfo","fileInfos","getFileInfo","editFileInfo","ApiAdminDocumentModel","getStructure","getRootCultures","cultures","getFolder","folder","createFolder","editFolder","deleteFolder","addFile","lockStructure","unlockStructure","ApiAdminEventModel","tansformEventRequest","eventObj","eventCultures","transformEventResponse","getSearchedEvents","events","downloadAll","createEvent","editEvent","createEventEmail","publishEvent","unpublishEvent","ApiAdminInitiativeModel","getSearchedInitiatives","getInitiatives","getInitiative","enableInitiative","disableInitiative","updateInitiative","deleteInitiative","assignToMe","getInitiativeCategories","createInitiativeCategory","updateInitiativeCategory","deleteInitiativeCategory","undeleteInitiativeCategory","getInitiativeNotes","addInitiativeNote","sendMail","ApiAdminPassabilityModel","getPassabilityPoints","edit","delete","ApiAdminSafetyModel","savePolygons","ApiAdminSourceModel","getPoliceEntries","getSearchedPoliceEntries","getSearchedFiremanEntries","getSearchedNoiseEntries","getSearchedPubEntries","createPub","getPub","editPub","deletePub","getNoiseDataExport","ApiAdminTrafficBollardModel","getTrafficBollards","ApiAdminUserModel","getAllUsers","users","downloadUsers","createUser","getUser","editUser","getAllRoles","getUserRole","editRole","getAllDistricts","getInitiativeAdminUsers","downloadArticle","ApiAuthenticationModel","login","logout","ApiCameraModel","getImage","getFutureCameras","getCameraStates","getCameraConstructionReasons","getTypes","getCameraMobilityTypes","ApiCdnModel","ApiDocumentModel","ApiEventModel","totalCount","getWarning","getWarningDetail","getSeverities","severity","getPriorities","priority","getReportTypes","sourceTypes","getGroupTypes","eventGroupTypes","getEventTypes","eventTypes","getEventPublications","publicationTypes","getEventNotifications","eventNotifications","updateEventNotifications","getPublicationTargetTypes","downloadEvent","ApiInitiativeModel","initiatives","initiative","createInitiative","getInitiativeCategory","getInitiativeStateTypes","ApiMapModel","getAllDynamicMaps","getLayersForMap","getDataForMap","getChemistryHazardousAreas","getSchools","getSchool","getRestaurants","getRiverStations","getBollards","getDdrMessages","getAirQuality","getParcelPdf","getParcelInfo","getPolygons","ApiMockModel","processMockData","processFunction","getCameras","process","getSyposDetail","ApiPdfModel","downloadPdf","ApiSearchModel","getSivsDangerLevels","dangerLevelTypes","getCapDangerLevels","getDdrCategoryTypes","categoryTypes","getRiversSpaTypes","spaTypes","getSvodMap","getPoliceGroups","getPoliceTypes","getPoliceMapTypes","getPolicePriorityTypes","getPoliceStateTypes","getFiremanTypes","getFiremanSubTypes","getNoiseStates","dailyGraphData","mainObj","entries","noiseValue","downloadNoiseData","ApiStatisticsModel","getGaStatistics","stats","ApiTrafficModel","getDdrMessage","ApiUserModel","getCurrentUser","verifyAccount","sendPassword","resetPassword","ApiWeatherModel","getForecast","getSivs","getCap","getIskoData","stations","station","legends","ix","CadastreMapService","leafletData","MapHelperService","MapDialogService","ServerLayer","LineLayer","defaultOpacity","defaultWeight","initCadastreLayers","layerCollection","lineLayerConfiguration","fillOpacity","weight","simplifyFactor","popupScope","$new","serverLayerConfiguration","serverLayer","clickContext","clickFn","initCadastreMap","initViewModelMapData","getMap","initMap","CameraMapService","$stateParams","GeometryHelper","CameraLayerProvider","CustomLayer","marker","instance","isFromSearch","publicCamerasLayer","privateCamerasLayer","futureCamerasLayer","removedMarkers","initCameraLayers","onClickFunc","hasPrivateCameraAccess","_createCameraLayerProvider","includePublic","_createCameraCustomLayer","publicCamerasLayerProvider","includePrivate","privateCamerasLayerProvider","createFutureCamerasLayer","imageBounds","Bounds","polygonsOfVisibilityMapLayer","Proj","ImageOverlay","customLayer","_createPolygonsOfVisibility","camerasLayerProvider","overrideDefaultLayerVisibility","customLayerConfig","getLayer","eachLayer","_handlePopupOpen","camerasFilter","openDialogFutureCameras","lon","setItemClickedFunc","$promise","_setCameraPosition","cameraRef","getLatLng","_setMarker","clearLayers","Marker","icon","Icon","shadowUrl","iconAnchor","shadowAnchor","addTo","setLatLng","panTo","futureCameras","futureCamerasLayerProvider","markers","cameraState","initCameraMap","isNumber","m","convertToBoundingBox","initCameraMapForFutureCameraSelect","futureCameraRef","searchGroupLayer","isStreetModel","mkn","nazevUlice","cisloDomovni","cisloOrientacni","geometry","coordinates","locationAddress","DynamicDataSourceMapService","DynamicDataSourceLayerProvider","mapLayerConfigs","layerProviders","_initDynamicDataSourceLayer","endpointKey","layerOptions","layerConfig","baseLayerConfig","toLowerCase","source","dynamicDataSourceLayerProvider","dateFrom","dateTo","openDialogDynamics","iconColor","initDynamicDataSourceLayers","mapOption","mapLayerConfig","initDynamicDataSourceMap","EventMapService","NewsMapService","IzsMapService","InitiativeMapService","_setEventPosition","_addMarker","updateMarkerPosition","initEventMap","initNewsLayers","initIzsLayers","initInitiativeLayers","FloodsMapService","RiverStationLayerProvider","defaultFillOpacity","defaultSimplifyFactor","initFloodsLayers","initFloodsMap","initRiverStationLayer","HzsMapService","LayerProviderFactory","initHzsLayers","provider","initHzsMap","InitiativeLayerProvider","tmpOrder","_createInitiativeCustomLayer","initiativeLayerProvider","_setInitiativePosition","_addStatus","_onAccuratePositionError","_onAccuratePositionProgress","layersConfig","categories","category","categoryId","mapImage","logo","absoluteSrc","fromCategory","openDialogInitiatives","_createInitiativeLayerProvider","initInitiativeMap","frontMap","initInitiativeMapForSelect","autoLocate","latLng","_onAccuratePositionFound","addressModified","initInitiativeMapForSingleInitiative","fromSingleInitiative","PointLayer","pointLayerConfiguration","pointLayer","initIzsMap","MapSelectionService","_setPosition","markerPosition","initMapForSelect","EventLayerProvider","DdrMessageLayerProvider","AirQualityLayerProvider","airQualityConfiguration","ddrMessageConfiguration","initDdrMessagesLayer","riverStationConfiguration","initAirQualityLayer","eventConfiguration","eventLayers","initEventLayer","initNewsMap","RestaurantMapService","initRestaurantLayers","initRestaurantMap","SafetyMapService","_getPopupContent","_createDrawControl","drawnItems","prepareLealetDrawTranslations","Polygon","isInShape","turf","inside","toGeoJSON","Circle","distanceTo","getRadius","_addIsInShapeFunctionForLeafletShapeTypes","colorPickerControl","PickColor","controlDiv","addListener","click","controlUI","opacityControl","Opacity","toggle","optionColorSelected","val","drawControl","Draw","draw","polygon","showArea","showLength","shapeOptions","polyline","rectangle","circle","circlemarker","featureGroup","change","setDrawingOptions","_leaflet_id","bindPopup","setStyle","Event","CREATED","polygonData","latlngs","$emit","EDITED","DELETED","initSafetyLayers","FeatureGroup","GeoJSON","coordsToLatLngs","polygonLeafletData","initSafetyMap","enableDrawControl","polygons","SchoolMapService","initSchoolLayers","initSchoolMap","TrafficMapService","initTrafficLayers","initTrafficMap","AdminCameraAvailabilityController","BOOL_VALUES","getRoles","loadingData","boolValues","openEditRole","AdminCameraController","openEditCamera","cameraTypes","AdminCameraGridController","$interval","$timeout","addGrid","reloadTimer","countdownTimer","reloadEnabled","autoRefreshEnabled","refreshRate","userCameraRefreshRate","gridsterOptions","margins","columnNumber","handle","activeIndex","clearGrid","openCameraDetail","cam","reloadImage","imageLoadedTime","Date","getTime","dataUrl","contentBase64","imageContentType","setupReloadTimer","destroyTimers","userPrivateCameraAccess","createOrUpdateGrid","deleteGrid","clearCamera","clearCameras","openCameraSettings","changeAutoRefresh","timeToReload","setupCountdownTimer","usersAccessRights","cameraRefreshRate","privateAccess","grids","AdminFutureCameraController","filterData","openFutureCameraForm","futureCameraTypes","cameraStates","futureCameraStates","cameraConstructionReasons","futureCameraConstructionReasons","openDeleteFutureCamera","exportFutureCameras","AdminFutureCameraFormController","futureCamera","isEdit","attachments","baseUrl","boolSelect","openUploadDocumentModal","openDeleteDocumentModal","cameraMobilityType","constructionReason","AdminCmsController","getArticles","includeInactive","mainArticle","draft","mainChildArticle","subChildArticles","openDeactivateArticle","isDefault","articlesStructure","childArticle","AdminCreateArticleController","publish","fileFolderId","folderId","warningResponse","parentArticle","isUndefined","getRedirectPathParams","openEditStructure","documentsStructure","AdminEditArticleController","getDocuments","firstLoad","folderCultureRequired","structure","isDefualtLanguageUpdate","isDefualtLanguage","setEntityLoadedFn","emitEntityLoaded","draftParentId","actualCultureCode","openDeleteArticle","AdminDocumentController","allowStructureEdit","placeholder","openCreateDocument","openCreateDocuments","folderCultures","public","fileId","fileAlias","keywords","openEditDocument","openDeleteDocument","el","editTree","nodeData","$modelValue","defualtLanguage","updatePlaceholders","removeTree","hasArticles","toggleTree","childNodes","collapse","createSubtree","subFolder","subFolders","translationTabsHandlers","node","updateAllowStructureEdit","setHandlersFn","translationInit","culture","AdminCreateEventController","MapSearchService","setDefaultPublication","publishTarget","publishForRolesByEmail","searchAddress","doAddressSearch","findAddresses","results","concat","moveToLocation","createEventForm","$setSubmitted","publicationType","editAndUnpublishEvent","coordinateChanged","openUploadImageModal","isWebPublicationType","isEmailPublicationType","eventPublicationTypeChanged","validSince","initEventSourceData","eventPublications","nazevMestCast","autoSearch","nazevCastObce","AdminEventController","downloadEvents","eventSeverities","eventPriorities","AdminEventDetailController","isPublished","eventTargetPublications","AdminInitiativeCategoryController","initiativeCategories","openCreateCategory","initiativeAdminUsers","openEditCategory","openIsActiveToggleCategory","AdminInitiativeController","reportedSelect","activeSelect","openChangeStateModal","hasCurrentUserInitiativeCategoryRights","currentUserId","responsiblePerson","initiativeCategoryAdmins","initiativesAdmins","initiativeStateTypes","unshift","AdminInitiativeDetailController","INITIATIVE_STATE_STYLES","INITIATIVE_ATTACHMENT_TYPES","loadingNotesData","contactSelect","author","email","contactSelected","isAssignedToMe","isNew","isInProgress","isSolved","isUnsolved","isInMyCategory","initiativeAttachments","initAttachment","setMetadataForView","initiativeNotes","notes","knownType","removeSelection","emailContent","recipient","initiativeEmailForm","stateStyles","stateKey","0","languages","AdminLayoutController","doLogout","fulltextSearch","fulltext","changeLanguage","langKey","openSearchBox","showSearchBox","focus","modifyHtml","textFragment","sideMenuOpened","innerWidth","currentDate","languageSelect","AdminFiremanController","getFiremanEntries","firemanEntries","firemanEntry","openUploadFiremanCsv","firemanTypes","firemanSubTypes","AdminNoiseController","getNoiseEntries","noiseEntries","exportNoiseData","noiseStates","AdminPassabilityPointFormController","passabilityPoint","placeName","imageCdnDataId","AdminPassabilityController","getPassabilityEntries","passabilityPoints","openUploadPassabilityCsv","importType","successMessage","openDelete","AdminPoliceController","policeEntries","policeEntry","openUploadPoliceCsv","policeGroups","policeTypes","policePriorityTypes","policeStateTypes","AdminPubController","getPubEntries","pubEntries","openPubEdit","pub","openPubDelete","AdminPubFormController","restaurant","AdminTrafficBollardFormController","bollard","trafficBollard","bollardTypes","AdminTrafficBollardsController","getBollardsEntries","trafficBollards","openUploadCsv","DeleteModalController","ImportCsvModalController","Upload","fileSelect","errFiles","errFile","uploading","upload","Content-Type","X-Api-Key","errorMsg","numberOfUploadingFiles","progress","parseInt","loaded","total","UploadFiremanCsvModalController","UploadPoliceCsvModalController","AdminUserController","getUsers","interestDistricts","userRolesQuery","openEditUser","userRoles","openDeactivateUser","openResetUserPassword","roleHeaders","loadingUserRoles","AdminUserInboxController","markEventsAsRead","eventIds","AdminUserProfileController","userCopy","saveUser","saveUserPassword","credentials","ArticleSearchController","searchedText","pattern","searchData","searchResults","DetailArticleController","$location","isTreeSectionActive","isActive","breadcrumbs","breadcrumb","printContent","print","loadingPdf","pathname","absUrl","articleStructure","DetailArticlePreviewController","requestedCultureCode","DocumentController","EventController","EventDetailController","loadingEventsData","eventsTree","errData","ForgottenPasswordConfirmationController","password","HomepageController","InitiativeFormController","sendInitiative","addressChanged","uploadFile","maxUploadedFilesError","reported","stateTypes","FrontLayoutController","CameraDetailMapController","changeRefreshRate","isUserLoggedIn","destroyTimer","refreshRates","CameraImageDetailController","CameraMapController","$uibModalStack","dismissAll","MapController","SafetyMapController","canBeEdited","CadastreMapModalController","cadastreClickThrough","parcelData","PAR_ID","isPeasant","getPopupData","loadingParcelInfo","parcelDetailInfo","FutureCamerasMapModalController","states","mobilityTypes","constructionReasons","HzsDynamicsMapModalController","MppDynamicsMapModalController","NoiseDynamicsMapModalController","downloadData","PcrDynamicsMapModalController","PopupMapModalController","MapSearchController","HelperService","promises","findStreets","getTypeAheadContent","isNullOrUndefined","adresa","onSearchModelChanged","$item","boundList","polylineList","geometries","coord","multiPolylineLayer","smoothFactor","fitBounds","LatLngBounds","searchModel","searchModelOptions","allowInvalid","debounce","getterSetter","$onInit","townDistrictLayer","removeControl","getLayerControl","getTownDistrictLayer","PageNotFoundController","RegistrationConfirmationController","SyposDetailController","institution","institute","TrafficController","ddrData","messages","TrafficDetailController","loadingDdrMessagesData","ddrTree","ddr","$templateRequest","popupData","_openDialog","setView","linkFunction","popup","extendLeafletPopupDefaultOptions","minWidth","setContent","openOn","openDialogCadastre","openDialogSiren","openDialogAddresses","openDialogPolice","openDialogEmergency","openDialogFireBrigade","openDialogVolunteerFireBrigade","openDialogMunicipalPolice","openDialogFloodBarrier","openDialogParkingMachine","openDialogBollard","openDialogRectorate","openDialogFaculty","openRestaurant","openDialogOtherEducation","openDialogSypos","openDialogZoneZps","openDialogHazardousAreas","openDialogDdrMessages","openDialogShelters","openDialogEvents","openPassability","DdrImageFilter","ddrMessage","imageName","EventImageFilter","groupType","NumberToTextFilter","getValue","typeOfMessage","objs","NumberToText","returnedValue","barriertypeNumberToText","barrierkindNumberToText","barrierprotectionNumberToText","2002","50","100","methodName","Function","ZoneZpsTariffFilter","zpsTariff","days","dayRow","inDay","day","hours","uniq","coordinatesEqual","item1","item2","coordinateX1","coordinateX2","coordinateY1","coordinateY2","geoJsonEquals","position1","position2","northEast","getNorthEast","southWest","getSouthWest","isNull","getAgGridLocalizedObject","page","more","of","last","previous","loadingOoo","selectAll","searchOoo","blanks","filterOoo","applyFilter","equals","notEquals","lessThan","greaterThan","endsWith","noRowsToShow","ctrlC","paste","ctrlV","super","init","generalOptions","legendLabel","$current","layerVisible","selectedMap","handleServerQuery","esri","identifyFeatures","queryUrl","at","tolerance","featureCollection","features","propertiesArr","propertiesArrUpperCase","propertiesObj","mapKeys","propertyValue","propertyKey","toUpperCase","apply","queryAllowMultiple","generateLegendLabel","legendScope","outerHTML","setLegendVisible","legendVisible","getLegendLabel","getKey","setLayer","LayerCollection","controllerData","self","mapLayer","layerMap","isBase","layersControl","boundLayers","addedLayerObj","boundLayer","removedLayerObj","controlLayerGroups","setLayerControl","addLayers","getLayerByKey","layerGroups","transformedLayerGroups","transformedObj","addLayerGroup","innerOptions","esriLayer","clickable","feature","styleOptions","featureValue","properties","FeatureLayer","_createLayer","disableLoadAtOnce","pointToLayer","geojson","_getMarker","disableClustering","disableClusteringAtZoom","iconCreateFunction","getCreateIconFunction","_getInnerOptions","markerClusterGroup","MarkerClusterGroup","iconUrlFromProperty","markerOptions","createIcon","fields","dynamicLayerOptions","TileLayer","WMS","TiledMapLayer","_createEsriLayer","MapSettings","defaultZoom","defaultLatitude","defaultLongitude","getDefaultZoom","getDefaultLatitude","getDefaultLongitude","configuration","_getOverallQualityColor","iconSize","popupAnchor","def","components","compLegend","componentLegends","overallAirConditionLegend","stationGroup","LayerGroup","openPopup","BollardLayerProvider","ItemCollectionLayerProviderBase","processItems","createLayer","getItemKey","itemsEqual","apiGetFn","imagePath","snakeCase","ChemistryLayerProvider","hazardousAreas","unproject","markersGroup","mapDdrMessages","point","args","startOf","since","until","divIcon","getDateFrom","getDateTo","_createMarkerGroupLayer","eventLayer","eventsToMarkers","mapEvents","mapEvent","addedItems","currentItemsDict","itemClickedFunc","itemKey","itemsToRemove","previousKey","currentItem","currentKey","previousItem","createAndHookLayer","contextmenu","showAt","layerObj","RestaurantLayerProvider","PassabilityLayerProvider","StaticBollardsLayerProvider","TelescopicBollardsLayerProvider","SyposLayerProvider","_createChemistryLayerProvider","chemistryLayerProvider","hazardousArea","_createBollardLayerProvider","bollardLayerProvider","_createRestaurantLayerProvider","restaurantLayerProvider","_createPassabilityLayerProvider","passabilityLayerProvider","_createStaticBollardsLayerProvider","staticBollardsLayerProvider","_createTelescopicBollardsLayerProvider","telescopicBollardsLayerProvider","_createSyposLayerProvider","syposLayerProvider","providerName","providers","providerFactories","providerCreateFunction","spa","actualizationDate","timestampUtc","actualizationTime","institutes","_setProjection","CRS","origin","resolutions","zoomControl","_setDefaultPosition","settings","_createLayerCollection","serverLayerData","transform","ary","dependency","generateLegend","_popup","_latlng","_zoom","_translator","relativeId","streetAddressSearchMarker","line","_findStreetsAddresses","callResponse","findStreetsAddresses","_getSearchTip","isMulti","layerNumber","switchLayer","_switchLayer","_getLayerFromMapLayersByKey","activeMap","_getLegend","_getLayerNumberAndSwitch","laylay","registerMapLayerEvents","responseToFeatureCollection","idAttribute","objectIdField","objectIdFieldName","alternativeIdField","arcgisToGeoJSON","icons","viewModel","activeCameraGrid","gridOptions","isAddCameraGridInProgress","newCameraGridName","isCameraTabsetCollapsed","logic","controls","scrollWheelZoom","tileLayerOptions","buildTip","autoType","initial","textCancel","textErr","textPlaceholder","autoCollapse","autoResize","casesensitive","minLength","propertyLoc","propertyName","formatData","autoPanPadding","keepInView","initLayerCollection","cluster","count","getChildCount","createClusteredFeatureLayer","onClickEvent","ClusteredFeatureLayer","selectedIcon","drawLocal","actions","finish","undo","buttons","tooltip","cont","end","simpleshape","save","editDisabled","removeDisabled","subtext","initMapWithoutButtons","switchMap","mapObj","mapKey","getProviders","func","showInCms","CriminalityMapService","NoiseMapService","_doQuery","_processSearchResults","_processAddress","ADRESA","CISLODOMOVNI","CISLOORIENTACNI","pismenoCo","PISMENOCO","idAdresa","IDADRESA","psc","PSC","NAZEVCASTOBCE","NAZEVMESTCAST","NAZEVULICE","_processStreet","streets","some","ck","CK","MKN","poskytovatel","POSKYT","streetIndex","addressPromise","streetsPromise","EditCameraAvailabilityModalController","CameraDetailModalController","CameraGridSettingsModalController","DeleteCameraAttachmentModalController","EditCameraModalController","identifier","FutureCameraRequestDeleteModalController","DeactivateArticleModalController","DeleteArticleModalController","CreateFileModalController","CreateMultipleFileModalController","uploadFiles","DeleteFileModalController","DeleteFolderModalController","EditFileModalController","CreateCategoryModalController","filterTranslations","differenceBy","addTranslationSelect","addTranslation","isRequired","checkLogo","categoryLogo","isImage","touched","initiativeCategory","EditCategoryModalController","IsActiveCategoryModalController","deleted","categoryName","ChangeStateModalController","InsertMapModalController","mapProviders","InsertTableModalController","table","tableParams","colWidth","idxRow","idxCol","createTable","LinkArticleModalController","UploadDocumentModalController","UploadImageModalController","uploadImages","ResetUserPasswordModalController","username","DeactivateUserModalController","EditUserModalController","StaticSectionsController","iconLink","EventsListController","actualities","StaticLinksController","staticLinks","loadingDdrData","WeatherController","WETHER_TABS","activeTab","weatherTabs","ContactsController","FooterController","HeaderController","onFinish","LanguageController","getLanguages","LoaderController","LoginController","userName","defaultAdminPage","openLoginModal","openRegistrationModal","openChangePasswordModal","MenuController","SearchController","opened","ChangePasswordModalController","changePassword","oldPassword","newPassword","ForgottenPasswordModalController","recoverPassword","LoginModalController","openForgottenPasswordModal","RegistrationModalController","CamerasController","InitiativesController","SafetyController","setFormDirty","polygonsForm","$setDirty","polygonDataChanged","bindings","SchoolsController","syposInstitutions","AirController","loadingIskoData","iskoData","CapController","loadingCapData","capData","HydrologyController","loadingRiverStationsData","riverStations","riversSpaTypes","WeatherInPragueController","loadingForecastData","forecast"],"mappings":"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","file":"app.js","sourcesContent":["/* eslint-disable angular/window-service */\n'use strict'\n\nvar appConfig = window.appConfig || {}\n\nappConfig.apiRootUrl = '##->CRISIS_PORTAL_PRAGUE_ONE_API_ROOT_URL<-##'\nappConfig.pdfApiRootUrl = '##->CRISIS_PORTAL_PRAGUE_ONE_PDF_API_ROOT_URL<-##'\nappConfig.version = '##->CRISIS_PORTAL_PRAGUE_ONE_VERSION<-##'\nappConfig.facebookAppId = '190469767638040'\nappConfig.autoLogoutTime = 1000 * 60 * 60 * 24\nappConfig.galleryGridColumns = 6\nappConfig.defaultCameraRefreshRate = 30000\nappConfig.cdnUrl = appConfig.apiRootUrl + 'cdn/files/'\nappConfig.uploadLimits = {\n images: {\n maxWidth: 2100,\n maxHeight: 2100,\n maxSize: '2.5MB',\n },\n documents: {\n maxSize: '50MB',\n },\n}\nappConfig.translation = {\n supportedLanguages: ['cs-CZ', 'en-US'],\n availableLanguageKeys: {\n 'cs_*': 'cs-CZ',\n en_US: 'en-US',\n en_UK: 'en-US',\n '*': 'cs-CZ', // if other languages werent matched\n },\n fallbackLanguage: 'cs-CZ', // if active language doesnt have a translation\n preferredLanguage: 'cs-CZ',\n}\nappConfig.mapSettings = {\n defaultMapCenter: {\n lat: 50.087429,\n lng: 14.421164,\n zoom: 9,\n },\n defaultLayers: {\n lineLayers: [\n {\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer/2',\n key: 'districts',\n color: '#000000',\n fillColor: '#000000',\n stroke: '#000000',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.DISTRICTS',\n colors: ['#000000'],\n visible: true,\n disable: true,\n display: true,\n order: 999,\n },\n },\n ],\n },\n serverLayers: [\n {\n switcher: {\n key: 'roads',\n title: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.ORIENTATION',\n dependencies: ['nonveg', 'veg', 'relief'],\n activate: true,\n },\n options: {\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/dtmp/mtvu/MapServer',\n key: 'orientationmap',\n legendOptions: {\n label: 'Orientační mapa',\n visible: true,\n },\n visible: true,\n },\n },\n {\n switcher: {\n key: 'relief',\n title: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.RELIEF',\n dependencies: ['roads', 'nonveg', 'veg'],\n },\n options: {\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/dtmp/mtvu_3d/MapServer',\n key: 'reliefmap',\n enableTiling: true,\n legendOptions: {\n label: 'Orientační reliéf',\n visible: true,\n },\n },\n },\n {\n switcher: {\n key: 'veg',\n title: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR',\n dependencies: ['roads', 'nonveg', 'relief'],\n },\n options: {\n url: 'https://gs-pub.praha.eu/imgs/rest/services/ort/letecke_snimkovani/ImageServer',\n key: 'airmap',\n enableTiling: true,\n legendOptions: {\n label: 'Ortofoto mapa',\n visible: true,\n },\n },\n },\n {\n switcher: {\n key: 'nonveg',\n title: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.NONVEG',\n dependencies: ['roads', 'veg', 'relief'],\n },\n options: {\n url: 'https://gs-pub.praha.eu/imgs/rest/services/ort/mimovegetacni_letecke_snimkovani/ImageServer',\n key: 'airnonvegetationmap',\n enableTiling: true,\n legendOptions: {\n label: 'Ortofoto nevegetační',\n visible: true,\n },\n },\n },\n ],\n newsLayers: {\n name: 'Aktuální dění',\n // trafficLayer: {\n // key: 'newstraffic',\n // group: 'traffic',\n // url: '',\n // visible: true,\n // legendOptions: {\n // label: 'Mapa dopravy',\n // subtitleMapWithImages: true,\n // subtitleMap: {\n // Informace: 'dopravni_znacka_genericInfo.png',\n // Námraza: 'dopravni_znacka_namraza.png',\n // Nebezpečí: 'dopravni_znacka_nebezpeci.png',\n // 'Dopravní nehoda': 'dopravni_znacka_nehoda.png',\n // 'Práce na silnici': 'dopravni_znacka_prace.png',\n // Vítr: 'dopravni_znacka_vitr.png',\n // Uzavírka: 'dopravni_znacka_uzavirka.png',\n // },\n // visible: true,\n // display: true,\n // order: 1,\n // },\n // },\n // eventLayers: [\n // {\n // url: '',\n // key: 'publicnews',\n // visible: true,\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PUBLIC_NEWS',\n // images: ['udalost.png'],\n // visible: true,\n // display: true,\n // order: 2,\n // },\n // },\n // {\n // url: '',\n // key: 'privatenews',\n // visible: true,\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PRIVATE_NEWS',\n // images: ['privatni_udalost.png'],\n // visible: true,\n // display: true,\n // order: 3,\n // },\n // },\n // ],\n // riverStationLayer: {\n // url: '',\n // visible: true,\n // key: 'riverStations',\n // legendOptions: {\n // label: 'Vodočty',\n // subtitleMapWithImages: true,\n // subtitleMap: {\n // 'Normální stav': 'success.png',\n // '1. stupeň povodňové aktivity': 'notice.png',\n // '2. stupeň povodňové aktivity': 'warning.png',\n // '3. stupeň povodňové aktivity': 'danger.png',\n // 'Údaje nejsou k dispozici': 'dry.png',\n // },\n // visible: true,\n // display: true,\n // order: 4,\n // },\n // },\n airQualityLayer: {\n visible: true,\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer',\n key: 'airQuality',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.TITLE',\n subtitleMapWithImages: true,\n subtitleMap: {\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.VERY_GOOD': 'air-green.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.ACCEPTABLE': 'air-yellow.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.BAD': 'air-red.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.AIR_QUALITY.NO_DATA': 'air-black.png',\n },\n visible: true,\n display: true,\n order: 5,\n },\n },\n },\n trafficLayers: {\n name: 'Doprava',\n trafficLayer: {\n key: 'traffic',\n group: 'traffic',\n url: '',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.TITLE',\n subtitleMapWithImages: true,\n subtitleMap: {\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.INFORMATION':\n 'dopravni_znacka_genericInfo.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.FROST': 'dopravni_znacka_namraza.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.DANGER': 'dopravni_znacka_nebezpeci.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.ACCIDENT': 'dopravni_znacka_nehoda.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.ROADWORK': 'dopravni_znacka_prace.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.WIND': 'dopravni_znacka_vitr.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TRAFFIC.SHUTTER': 'dopravni_znacka_uzavirka.png',\n },\n visible: true,\n display: true,\n order: 6,\n },\n },\n customLayers: [\n {\n url: '',\n key: 'static-bollard',\n layerProvider: 'StaticBollardsLayerProvider',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.STATIC_BOLLARD',\n images: ['cone.png'],\n visible: true,\n display: true,\n order: 12,\n },\n },\n {\n url: '',\n key: 'telescopic-bollard',\n layerProvider: 'TelescopicBollardsLayerProvider',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.TELESCOPIC_BOLLARD',\n images: ['bollards.png'],\n visible: true,\n display: true,\n order: 13,\n },\n },\n ],\n pointLayers: [\n {\n key: 'parkingmachines',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/dop/zony_placeneho_stani/MapServer/1',\n dialogFn: 'openDialogParkingMachine',\n iconUrl: 'parkovaci-automaty.png',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_MACHINES',\n images: ['parkovaci-automaty.png'],\n visible: true,\n display: true,\n order: 7,\n },\n },\n ],\n serverLayers: [\n // {\n // key: 'borderszps',\n // url: 'https://gs-pub.praha.eu/arcgis/services/dop/psp_zony_parkovani/MapServer/WMSServer',\n // wmsLayers: '0',\n // isWms: true,\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_ZONES',\n // colors: ['#A900E6'],\n // images: ['zony-placeneho-stani.png'],\n // visible: true,\n // display: true,\n // order: 8,\n // },\n // },\n {\n key: 'winter',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/dop/zimni_udrzba/MapServer',\n isDynamic: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.TITLE',\n subtitleMap: {\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.FIRST_ORDER': '#00C900',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.SECOND_ORDER': '#FA3411',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.THIRD_ORDER': '#00A9E6',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WINTER_ROAD_MAINTENANCE.UNMAINTAINED': '#B2B2B2',\n },\n images: ['zimni-udrzba.png'],\n visible: true,\n display: true,\n order: 9,\n },\n },\n {\n key: 'zoneszps',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/dop/zony_placeneho_stani/MapServer',\n isDynamic: true,\n layers: 'show:3',\n queryLayers: '3',\n opacity: 0.5,\n dialogFn: 'openDialogZoneZps',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.TITLE',\n subtitleMap: {\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.RESIDENTAL': '#73B2FF',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.VISITOR': '#FFAA00',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.MIXED': '#CA7AF5',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARKING_SPACES.ZTP': '#CCCCCC',\n },\n visible: true,\n display: true,\n order: 11,\n },\n },\n ],\n },\n floodsLayers: {\n name: 'Povodně',\n lineLayers: [\n {\n key: 'antifloodsandline',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/1',\n color: '#ffff00',\n fillColor: '#ffff00',\n visible: true,\n dialogFn: 'openDialogFloodBarrier',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOODS_SAND_BAGS',\n colors: ['#ffff00'],\n images: ['pytle-s-piskem.png'],\n visible: true,\n display: true,\n order: 13,\n },\n },\n {\n key: 'antifloodline',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/2',\n color: '#ff0000',\n fillColor: '#ff0000',\n visible: true,\n dialogFn: 'openDialogFloodBarrier',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOODS.TITLE',\n subtitleMap: {\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOODS.STATIC': '#ff0051',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOODS.MOBILE': '#4CE600',\n },\n images: ['protipovodnova-ochrana.png'],\n visible: true,\n display: true,\n order: 14,\n },\n propertyStyling: {\n valueMap: {\n 1: '#ff0051',\n 2: '#4CE600',\n },\n featureProperty: 'TYP',\n styleProperties: ['color', 'fillColor'],\n },\n },\n {\n key: 'floodcategory',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/16',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_CATEGORIES.TITLE',\n subtitleMap: {\n AZZU: '#B2B2B2',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_CATEGORIES.FLOWING': '#FFFFBE',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_CATEGORIES.NO_FLOWING': '#E6A82C',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_CATEGORIES.PROTECTION': '#FFD37F',\n },\n images: ['kategorie-zaplavovych-uzemi.png'],\n visible: true,\n display: true,\n order: 15,\n },\n propertyStyling: {\n valueMap: {\n 1: '#B2B2B2',\n '2 VLT': '#FFFFBE',\n 3: '#E6A82C',\n 4: '#FFD37F',\n 5: '#FFD37F',\n 6: '#FFD37F',\n 7: '#FFD37F',\n },\n featureProperty: 'KAT_VLT',\n styleProperties: ['color', 'fillColor'],\n },\n },\n {\n key: 'activezonevltava',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/15',\n //visible: true,\n color: '#B2B2B2',\n fillColor: '#B2B2B2',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_ACTIVE_ZONES',\n colors: ['#B2B2B2'],\n images: ['aktivni-zona.png'],\n visible: true,\n display: true,\n order: 16,\n },\n },\n {\n key: 'floodareaq5vltava',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/4',\n color: '#A900E6',\n fillColor: '#A900E6',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_5_YEARS',\n colors: ['#A900E6'],\n images: ['zaplavove-uzemi-5-let.png'],\n visible: true,\n display: true,\n order: 17,\n },\n },\n {\n key: 'floodareaq20vltava',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/5',\n color: '#00E6A9',\n fillColor: '#00E6A9',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_20_YEARS',\n colors: ['#00E6A9'],\n images: ['zaplavove-uzemi-20-let.png'],\n visible: true,\n display: true,\n order: 18,\n },\n },\n {\n key: 'floodareaq50vltava',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/6',\n color: '#FF00C5',\n fillColor: '#FF00C5',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_50_YEARS',\n colors: ['#FF00C5'],\n images: ['zaplavove-uzemi-50-let.png'],\n visible: true,\n display: true,\n order: 19,\n },\n },\n {\n key: 'floodareaq100vltava',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/7',\n color: '#0070C5',\n fillColor: '#0070C5',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_100_YEARS',\n colors: ['#0070C5'],\n images: ['zaplavove-uzemi-100-let.png'],\n visible: true,\n display: true,\n order: 20,\n },\n },\n {\n key: 'floodareaq2002vltava',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/ti/zaplavy/MapServer/8',\n color: '#FF0000',\n fillColor: '#FF0000',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FLOOD_2002',\n colors: ['#FF0000'],\n images: ['zaplavove-uzemi-2002.png'],\n visible: true,\n display: true,\n order: 21,\n },\n },\n ],\n riverStationLayer: {\n url: '',\n visible: true,\n key: 'riverStations',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.TITLE',\n subtitleMapWithImages: true,\n subtitleMap: {\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.DRY': 'dry.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.NORMAL': 'normal.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.SPA1': 'spa_1.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.SPA2': 'spa_2.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.SPA3': 'spa_3.png',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.WATERS.SPA3_EXTREME': 'spa_3_extreme_danger.png',\n },\n visible: true,\n display: true,\n order: 22,\n },\n },\n },\n // shelterLayers: {\n // name: 'Ukrytí',\n // lineLayers: [\n // {\n // key: 'metrotunnels',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/11',\n // visible: true,\n // dialogFn: 'openDialogMetroTunnels',\n // color: '#009ACD',\n // weight: 12,\n // opacity: 0.5,\n // fillOpacity: 0.5,\n // propertyStyling: {\n // featureProperty: 'TRASA',\n // valueMap: {\n // A: '#458902',\n // B: '#FFF400',\n // C: '#FF073A',\n // },\n // styleProperties: ['color'],\n // },\n // legendOptions: {\n // label: 'Ochranný systém metra - tunely',\n // colors: ['#458902', '#FFF400', '#FF073A'],\n // images: ['ochrany-system-tunely.png'],\n // visible: true,\n // display: true,\n // order: 23,\n // },\n // },\n // {\n // key: 'strahovtunnel',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/7',\n // dialogFn: 'openDialogTrafficTunnel',\n // visible: true,\n // opacity: 0.5,\n // fillOpacity: 0.5,\n // legendOptions: {\n // label: 'Dopravní tunel pod Strahovem',\n // colors: ['#6E87F5'],\n // images: ['dopravni-tunel-pod-strahovem.png'],\n // visible: true,\n // display: true,\n // order: 24,\n // },\n // },\n // ],\n // pointLayers: [\n // {\n // key: 'metrostations',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/10',\n // where: 'TRASA IS NOT NULL',\n // visible: true,\n // dialogFn: 'openDialogMetroStation',\n // disableClusterAtZoom: 9,\n // propertyStyling: {\n // featureProperty: 'TRASA',\n // valueMap: {\n // A: 'greenMetro.png',\n // B: 'yellowMetro.png',\n // C: 'redMetro.png',\n // },\n // styleProperties: ['icon'],\n // },\n // legendOptions: {\n // label: 'Ochranný systém metra - stanice',\n // images: ['greenMetro.png', 'yellowMetro.png', 'redMetro.png'],\n // visible: true,\n // display: true,\n // order: 27,\n // },\n // },\n // {\n // key: 'metroentrances',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/8',\n // visible: true,\n // dialogFn: 'openDialogMetroEntrance',\n // propertyStyling: {\n // featureProperty: 'TRASA',\n // valueMap: {\n // A: 'greenEnter.png',\n // B: 'yellowEnter.png',\n // C: 'redEnter.png',\n // },\n // styleProperties: ['icon'],\n // },\n // legendOptions: {\n // label: 'Ochranný systém metra - vstupy',\n // images: ['greenEnter.png', 'yellowEnter.png', 'redEnter.png'],\n // visible: true,\n // display: true,\n // order: 28,\n // },\n // },\n // {\n // key: 'metrofeatures',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/9',\n // icon: new L.Icon({\n // iconUrl: 'styles/img/stick.png',\n // iconSize: new L.Point(2, 24),\n // iconAnchor: new L.Point(1, 12),\n // }),\n // legendOptions: {\n // label: 'Hranice úseků ochran. syst. metra',\n // colors: ['#CCCCCC'],\n // images: ['hranice-useku.png'],\n // visible: true,\n // display: true,\n // order: 29,\n // },\n // visible: true,\n // disableClusterAtZoom: 9,\n // },\n // ],\n // },\n izsLayers: {\n name: 'Bezpečnost',\n customLayers: [\n {\n url: '',\n key: 'chemistry',\n layerProvider: 'ChemistryLayerProvider',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.CHEMICAL_SUBSTANCE',\n images: ['waste.png'],\n visible: true,\n display: true,\n order: 32,\n },\n },\n ],\n pointLayers: [\n {\n key: 'rotatingsirens',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/0',\n where: \"DRUH_SIRENY = 'rotační'\",\n iconUrl: 'sirenGreen.png',\n visible: true,\n disableClusterAtZoom: 8,\n dialogFn: 'openDialogSiren',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.ROTATION_SIRENS',\n images: ['sirenGreen.png'],\n visible: true,\n display: true,\n order: 25,\n },\n },\n {\n key: 'electronic',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/0',\n where: \"DRUH_SIRENY = 'elektronická'\",\n iconUrl: 'sirenRed.png',\n visible: true,\n disableClusterAtZoom: 8,\n dialogFn: 'openDialogSiren',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.ELECTRONIC_SIRENS',\n images: ['sirenRed.png'],\n visible: true,\n display: true,\n order: 26,\n },\n },\n {\n key: 'shelterssmall',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/3',\n visible: true,\n dialogFn: 'openDialogShelters',\n iconUrl: 'shelterSmall.png',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SMALL_SHELTERS',\n images: ['shelterSmall.png'],\n visible: true,\n display: true,\n order: 30,\n },\n },\n {\n key: 'sheltersbig',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/ukryti_varovani_objekty_s_toxickymi_latkami/MapServer/4',\n visible: true,\n dialogFn: 'openDialogShelters',\n iconUrl: 'shelterBig.png',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.BIG_SHELTERS',\n images: ['shelterBig.png'],\n visible: true,\n display: true,\n order: 31,\n },\n },\n {\n key: 'policecr',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/0',\n iconUrl: 'police.png',\n visible: true,\n dialogFn: 'openDialogPolice',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.POLICE',\n images: ['police.png'],\n visible: true,\n display: true,\n order: 33,\n },\n },\n {\n key: 'emergency',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/1',\n iconUrl: 'emergency.png',\n visible: true,\n dialogFn: 'openDialogEmergency',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.EMERGENCY',\n images: ['emergency.png'],\n visible: true,\n display: true,\n order: 34,\n },\n },\n // {\n // key: 'firebrigade',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/2',\n // iconUrl: 'fireman.png',\n // visible: true,\n // dialogFn: 'openDialogFireBrigade',\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FIREMAN',\n // images: ['fireman.png'],\n // visible: true,\n // display: true,\n // order: 35,\n // },\n // },\n {\n key: 'policemuni',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/3',\n iconUrl: 'municipalPolice.png',\n visible: true,\n dialogFn: 'openDialogMunicipalPolice',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.MUNICIPAL',\n images: ['municipalPolice.png'],\n visible: true,\n display: true,\n order: 36,\n },\n },\n // {\n // key: 'volunteerfirebrigade',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/10',\n // iconUrl: 'volunteerfireman.png',\n // visible: true,\n // dialogFn: 'openDialogVolunteerFireBrigade',\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.VOLUNTEER_FIREMAN',\n // images: ['volunteerfireman.png'],\n // visible: true,\n // display: true,\n // order: 37,\n // },\n // },\n ],\n lineLayers: [\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/4',\n // key: 'munipoliceheadquarters',\n // color: '#343434',\n // fillColor: '#343434',\n // stroke: '#343434',\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.MUNICIPAL_HEADQUARTERS',\n // colors: ['#343434'],\n // images: ['obvodni-reditelstvi-mestske-policie.png'],\n // visible: true,\n // display: true,\n // order: 38,\n // },\n // },\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/5',\n // key: 'crpoliceheadquarters',\n // color: '#285891',\n // fillColor: '#285891',\n // stroke: '#285891',\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.POLICE_HEADQUARTERS',\n // colors: ['#285891'],\n // images: ['obvodni-reditelstvi-policie.png'],\n // visible: true,\n // display: true,\n // order: 39,\n // },\n // },\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/6',\n // key: 'munipolicedistricts',\n // color: '#000000',\n // fillColor: '#000000',\n // stroke: '#000000',\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.MUNICIPAL_DISTRICTS',\n // colors: ['#000000'],\n // images: ['okrsky-mestske-policie.png'],\n // visible: true,\n // display: true,\n // order: 40,\n // },\n // },\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/7',\n // key: 'crpolicedistricts',\n // color: '#285891',\n // fillColor: '#285891',\n // stroke: '#285891',\n // legendOptions: {\n // label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.POLICE_DISTRICTS',\n // colors: ['#285891'],\n // images: ['okrsky-policie.png'],\n // visible: true,\n // display: true,\n // order: 41,\n // },\n // },\n {\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/integrovany_zachranny_system/MapServer/7',\n key: 'firedistricts',\n color: '#99312e',\n fillColor: '#99312e',\n stroke: '#99312e',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FIRE_DISTRICTS',\n colors: ['#99312e'],\n images: ['hasebni-obvody.png'],\n visible: true,\n display: true,\n order: 42,\n },\n },\n ],\n },\n cadastreLayers: {\n name: 'Územní členění',\n serverLayers: [\n {\n key: 'cadastrez',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer',\n isDynamic: true,\n layers: 'show:12',\n queryLayers: '12',\n visible: true,\n dialogFn: 'openDialogCadastre',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PARCELS',\n colors: ['#000000'],\n images: ['parcely.png'],\n visible: true,\n display: true,\n order: 43,\n },\n },\n // {\n // key: 'cadastrei',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer',\n // isDynamic: true,\n // layers: 'show:15',\n // queryLayers: '15',\n // dialogFn: 'openDialogCadastre',\n // legendOptions: {\n // label: 'Parcely i',\n // colors: ['#FAA700'],\n // visible: true,\n // display: true,\n // order: 44,\n // },\n // },\n // {\n // key: 'addresses',\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer',\n // visible: true,\n // isDynamic: true,\n // layers: 'show:7',\n // queryLayers: '8',\n // dialogFn: 'openDialogAddresses',\n // legendOptions: {\n // label: 'Adresní body',\n // colors: ['#00A9E6'],\n // images: ['adresni-body.png'],\n // visible: true,\n // display: true,\n // order: 45,\n // },\n // },\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer',\n // key: 'streets',\n // isDynamic: true,\n // layers: 'show:4',\n // legendOptions: {\n // label: 'Uliční úseky',\n // colors: ['#FFFFFF'],\n // images: ['ulicni-useky.png'],\n // visible: true,\n // display: true,\n // order: 46,\n // },\n // },\n // ],\n // lineLayers: [\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer/0',\n // key: 'prague',\n // color: '#E60000',\n // fillColor: '#E60000',\n // stroke: '#E60000',\n // legendOptions: {\n // label: 'Hranice Prahy',\n // colors: ['#E60000'],\n // images: ['hranice-prahy.png'],\n // visible: true,\n // display: true,\n // order: 47,\n // },\n // },\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer/1',\n // key: 'citydistricts',\n // color: '#8C005E',\n // fillColor: '#8C005E',\n // stroke: '#8C005E',\n // legendOptions: {\n // label: 'Hranice městských částí',\n // images: ['hranice-mestskych-casti.png'],\n // colors: ['#8C005E'],\n // visible: true,\n // display: true,\n // order: 48,\n // },\n // },\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer/2',\n // key: 'districts',\n // color: '#F2C2DA',\n // fillColor: '#F2C2DA',\n // stroke: '#F2C2DA',\n // legendOptions: {\n // label: 'Správní obvody',\n // colors: ['#F2C2DA'],\n // visible: true,\n // display: true,\n // order: 49,\n // },\n // },\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer/10',\n // key: 'buildings',\n // color: '#663838',\n // fillColor: '#663838',\n // stroke: '#663838',\n // legendOptions: {\n // label: 'Stavební objekty',\n // colors: ['#663838'],\n // images: ['stavebni-objekty.png'],\n // visible: true,\n // display: true,\n // order: 50,\n // },\n // },\n // {\n // url: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer/3',\n // key: 'cadastredistricts',\n // color: '#C08FDB',\n // fillColor: '#C08FDB',\n // stroke: '#C08FDB',\n // legendOptions: {\n // label: 'Hranice katastrální území',\n // colors: ['#C08FDB'],\n // images: ['hranice-katastralni-uzemi.png'],\n // visible: true,\n // display: true,\n // order: 51,\n // },\n // },\n ],\n },\n schoolLayers: {\n customLayers: [\n {\n url: '',\n key: 'sypos',\n layerProvider: 'SyposLayerProvider',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SYPOS',\n images: ['edu-icon32.png'],\n visible: true,\n display: true,\n order: 10,\n },\n },\n ],\n serverLayers: [\n {\n key: 'schools',\n url: 'https://gs-pub.praha.eu/arcgis/services/fs/skoly/MapServer/WmsServer',\n wmsLayers: '7,8,9,11,12,13,15,16,17',\n visible: false,\n isWms: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.TITLE',\n subtitleMap: {\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.KINDERGARTEN': '#FFD37F',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.ELEMENTARY_SCHOOL': '#FF5500',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.HIGH_SCHOOL': '#B062C8',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.HIGHER_VOCATIONAL_SCHOOL': '#006FFF',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.LANGUAGE_SCHOOL': '#A83700',\n '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.HOBBY': '#01FF00',\n },\n display: true,\n order: 1,\n },\n },\n ],\n pointLayers: [\n {\n key: 'rectorates',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/skoly/MapServer/18',\n iconUrl: 'vs_rektoraty.png',\n dialogFn: 'openDialogRectorate',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.RECTORATE',\n images: ['vs_rektoraty.png'],\n order: 2,\n },\n },\n {\n key: 'faculties',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/skoly/MapServer/17',\n iconUrl: 'vs_fakulty.png',\n dialogFn: 'openDialogFaculty',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.FACULTY',\n images: ['vs_fakulty.png'],\n order: 3,\n },\n },\n {\n key: 'othereducation',\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/fs/skoly/MapServer/19',\n iconUrl: 'vs_ostatni.png',\n dialogFn: 'openDialogOtherEducation',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.SCHOOL.OTHER_EDUCATION',\n images: ['vs_ostatni.png'],\n order: 4,\n },\n },\n ],\n },\n restaurantLayers: {\n customLayers: [\n {\n url: '',\n key: 'restaurant',\n layerProvider: 'RestaurantLayerProvider',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.RESTAURANTS',\n images: ['restaurant.png'],\n visible: true,\n display: true,\n order: 1,\n },\n },\n ],\n },\n hzsLayers: {\n customLayers: [\n {\n url: '',\n key: 'passability',\n layerProvider: 'PassabilityLayerProvider',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.HZS.PASSABILITY',\n images: ['passability.png'],\n visible: true,\n display: true,\n order: 1,\n },\n },\n {\n url: '',\n key: 'staticBollards',\n layerProvider: 'StaticBollardsLayerProvider',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.HZS.STATIC_BOLLARDS',\n images: ['cone.png'],\n visible: true,\n display: true,\n order: 2,\n },\n },\n {\n url: '',\n key: 'telescopicBollards',\n layerProvider: 'TelescopicBollardsLayerProvider',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.HZS.TELESCOPIC_BOLLARDS',\n images: ['bollards.png'],\n visible: true,\n display: true,\n order: 3,\n },\n },\n ],\n },\n cameraLayers: {\n name: 'Kamery',\n customLayers: [\n {\n url: '',\n key: 'publiccameras',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PUBLIC_CAMERAS',\n images: ['camera_public.png'],\n visible: true,\n display: true,\n order: 52,\n },\n },\n {\n url: '',\n key: 'privatecameras',\n visible: true,\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.PRIVATE_CAMERAS',\n images: ['camera_private.png'],\n visible: true,\n display: true,\n order: 53,\n },\n },\n {\n url: '',\n key: 'futurecameras',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.FUTURE_CAMERAS',\n subtitleMapWithImages: true,\n subtitleMap: {\n Navrhovaná: 'camera_suggested_draft.png',\n Projektovaná: 'camera_suggested_designed.png',\n Záložní: 'camera_suggested_backup.png',\n 'Ve výstavbě': 'camera_suggested_under_construction.png',\n Dokončená: 'camera_suggested_finished.png',\n 'V provozu': 'camera_suggested_working.png',\n },\n visible: true,\n display: true,\n order: 54,\n },\n },\n ],\n polygonsOfVisibility: {\n url: '',\n key: 'polygonsofvisibility',\n legendOptions: {\n label: '_COMMON.SERVICE.MAPS.LEGEND_LABELS.CAMERA_VISIBILITY_POLYGONS',\n colors: ['rgba(206,65,150,0.55)'],\n visible: true,\n display: true,\n order: 55,\n },\n },\n },\n safetyLayers: {\n name: 'Pocit bezpečí',\n pointLayers: [\n {\n url: '',\n key: 'safety',\n visible: true,\n },\n ],\n },\n lineLayer: {\n url: 'https://gs-pub.praha.eu/arcgis/rest/services/app_vyhledavani/vyhledavani/MapServer/3',\n key: 'towndistrict',\n },\n search: {\n MAP_SEARCH_ADDRESSES_URL:\n 'https://gs-pub.praha.eu/arcgis/rest/services/app_vyhledavani/vyhledavani/MapServer/0',\n MAP_SEARCH_STREETS_URL:\n 'https://gs-pub.praha.eu/arcgis/rest/services/app_vyhledavani/vyhledavani/MapServer/7',\n MAP_PARCELS_URL: 'https://gs-pub.praha.eu/arcgis/rest/services/map/zakladni_mapa/MapServer/14',\n },\n}\nwindow.appConfig = appConfig\n","'use strict'\n\n//###INSERT-LICENSE-HERE###\n\n$(() => {\n angular.bootstrap(document, ['app'])\n})\n",";(() => {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app', [\n 'ngResource',\n 'ngMessages',\n 'gridster',\n 'LocalStorageModule',\n 'angular-bootstrap-select',\n 'leaflet-directive',\n 'ui.router',\n 'ui.bootstrap',\n 'app.common',\n 'app.front',\n 'app.admin',\n 'ngCookies',\n 'pascalprecht.translate',\n ])\n .config([\n '$provide',\n '$breadcrumbProvider',\n '$compileProvider',\n '$httpProvider',\n '$locationProvider',\n '$logProvider',\n '$translateProvider',\n '$translatePartialLoaderProvider',\n 'localStorageServiceProvider',\n function (\n $provide,\n $breadcrumbProvider,\n $compileProvider,\n $httpProvider,\n $locationProvider,\n $logProvider,\n $translateProvider,\n $translatePartialLoaderProvider,\n localStorageServiceProvider,\n ) {\n var localStoragePrefix = 'crisisPortalPragueOne'\n\n if (!window.localStorage) {\n console.error(\n 'Aplikace ke svému běhu potřebuje zapnutý localStorage. V IE lze nastavit v Internet Options => Advanced => sekce Security => Enable DOM Storage',\n )\n alert('Prohlížeč nemá povolen localStorage.')\n }\n\n $breadcrumbProvider.setOptions({\n prefixStateName: 'front.homepage',\n })\n\n // TODO commentes because ArcGIS CORS -> ApiArcGisModel\n // $httpProvider.defaults.transformRequest = function (data) {\n // angular.element('.spinner').show();\n //\n // var apiKey = angular.fromJson(localStorage.getItem(localStoragePrefix + \".accessToken\"));\n // if (apiKey) {\n // $httpProvider.defaults.headers.common['X-Api-Key'] = apiKey;\n // } else {\n // delete $httpProvider.defaults.headers.common['X-Api-Key'];\n // }\n // return angular.toJson(data);\n // };\n\n // $httpProvider.defaults.headers.common['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';\n // $httpProvider.defaults.headers.common['Cache-Control'] = 'no-cache';\n // $httpProvider.defaults.headers.common['Pragma'] = 'no-cache';\n $httpProvider.interceptors.push('HttpInterceptor')\n\n $locationProvider.html5Mode(true)\n\n localStorageServiceProvider.setPrefix(localStoragePrefix)\n $compileProvider.aHrefSanitizationTrustedUrlList(\n /^\\s*(https?|ftp|mailto|chrome-extension|blob|tel):|data:image\\//,\n )\n\n $logProvider.debugEnabled(false)\n\n var translationConfig = window.appConfig.translation\n\n $translateProvider.useLoader('$translatePartialLoader', {\n urlTemplate: 'app/modules/_common/locales/{lang}.json',\n })\n $translatePartialLoaderProvider.addPart('main')\n\n $translateProvider\n .useSanitizeValueStrategy('sanitize')\n .registerAvailableLanguageKeys(\n translationConfig.supportedLanguages,\n translationConfig.availableLanguageKeys,\n )\n .fallbackLanguage(translationConfig.fallbackLanguage)\n .preferredLanguage(translationConfig.preferredLanguage)\n .determinePreferredLanguage()\n .useLocalStorage()\n\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker\n .register('service-worker.js')\n .then((registration) => {\n console.log('ServiceWorker registration successful with scope: ', registration.scope)\n })\n .catch((err) => {\n console.log('ServiceWorker registration failed: ', err)\n })\n } else {\n console.log('This browser does NOT support ServiceWorker.')\n }\n\n $provide.decorator('taOptions', [\n 'taRegisterTool',\n 'taToolFunctions',\n '$delegate',\n '$uibModal',\n '$state',\n function (taRegisterTool, taToolFunctions, taOptions, $uibModal, $state) {\n taRegisterTool('uploadImage', {\n iconclass: 'fa fa-image',\n tooltiptext: 'Vložit obrázky',\n action: function (deferred, restoreSelection) {\n var textAngular = this\n\n $uibModal\n .open({\n templateUrl: 'app/modules/admin/layout/modal/textAngular/uploadImageModal.html',\n controller: 'UploadImageModalController',\n controllerAs: 'modalCtrl',\n })\n .result.then(\n (images) => {\n angular.forEach(images, (image) => {\n textAngular.$editor().wrapSelection('insertImage', image.fileInfo.url, true)\n })\n restoreSelection()\n deferred.resolve()\n },\n () => {\n restoreSelection()\n deferred.resolve()\n },\n )\n return false\n },\n onElementSelect: {\n element: 'img',\n action: taToolFunctions.imgOnSelectAction,\n },\n })\n\n taRegisterTool('uploadDocument', {\n iconclass: 'fa fa-file-sound-o',\n tooltiptext: 'Vložit soubory',\n action: function (deferred, restoreSelection) {\n var textAngular = this\n\n $uibModal\n .open({\n templateUrl: 'app/modules/admin/layout/modal/textAngular/uploadDocumentModal.html',\n controller: 'UploadDocumentModalController',\n controllerAs: 'modalCtrl',\n })\n .result.then(\n (files) => {\n angular.forEach(files, (file) => {\n // textAngular.$editor().wrapSelection('insertHTML', \"\" + file.fileInfo.alias + \"\", true);\n textAngular.$editor().wrapSelection('createLink', file.fileInfo.url, true)\n })\n restoreSelection()\n deferred.resolve()\n },\n () => {\n restoreSelection()\n deferred.resolve()\n },\n )\n return false\n },\n })\n\n taRegisterTool('insertMap', {\n iconclass: 'fa fa-map-marker',\n tooltiptext: 'Vložit mapu',\n action: function (deferred, restoreSelection) {\n var textAngular = this\n\n $uibModal\n .open({\n templateUrl: 'app/modules/admin/layout/modal/textAngular/insertMapModal.html',\n controller: 'InsertMapModalController',\n controllerAs: 'modalCtrl',\n })\n .result.then(\n (mapProviderService) => {\n restoreSelection()\n textAngular\n .$editor()\n .wrapSelection(\n 'insertHTML',\n `
{{activeItemName}}
\" +\n _.get(obj, scope.attributeName) +\n '
',\n )\n optionLI.append(optionA)\n\n // Set selected option if selected id or object exist..\n if (scope.selected == obj) {\n setSelected(scope, obj)\n }\n\n optionA.bind('click', function () {\n scope.childClick(obj)\n })\n\n if (obj[scope.children]) {\n optionLI.append(getOptions(scope, obj[scope.children], level + 1))\n }\n optionUL.append(optionLI)\n })\n\n return optionUL\n }\n\n function setSelected(scope, obj) {\n if (obj) {\n scope.selected = obj\n scope.activeItemName = _.get(obj, scope.attributeName)\n } else {\n if (scope.optional) {\n scope.selected = scope.model ? scope.model[scope.model.length - 1] : undefined\n } else {\n scope.selected = undefined\n }\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('address', AddressFilter)\n\n AddressFilter.$inject = []\n\n function AddressFilter() {\n return function (event) {\n var address = ''\n if (event) {\n address = [event.city, event.cityPart, event.cityDistrict, event.street].join(' ')\n\n if (event.houseNumber) {\n address += ' ' + event.houseNumber\n if (event.landRegistryNumber) {\n address += '/' + event.landRegistryNumber\n } else if (event.orientationNumber) {\n address += '/' + event.orientationNumber\n }\n } else if (event.landRegistryNumber) {\n address += ' ' + event.landRegistryNumber\n if (event.houseNumber) {\n address += '/' + event.houseNumber\n }\n }\n }\n return _.trim(address)\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('arrayFilter', ArrayFilter)\n\n ArrayFilter.$inject = []\n\n function ArrayFilter() {\n function isValueFound(attribute, item, query) {\n var queryValue = query[attribute]\n if (Array.isArray(queryValue)) {\n var localFound = false\n if (\n (queryValue.length === 0 &&\n item.hasOwnProperty(attribute) &&\n item[attribute].length === 0) ||\n queryValue.length === 0\n ) {\n localFound = true\n }\n\n for (var j = 0; j < queryValue.length; j++) {\n localFound |= _.includes(_.toLower(item[attribute]), _.toLower(queryValue[j]))\n }\n return localFound\n } else {\n if (!_.toLower(item[attribute]) && !_.toLower(queryValue)) {\n return false\n } else {\n return _.includes(_.toLower(item[attribute]), _.toLower(queryValue))\n }\n }\n }\n\n return function (items, query) {\n if (items && Array.isArray(items)) {\n var filtered = []\n for (var i = 0; i < items.length; i++) {\n var item = items[i]\n var found = true\n for (var attribute in query) {\n if (query.hasOwnProperty(attribute) && attribute in item) {\n if (_.isPlainObject(query[attribute]) && !_.isEmpty(query[attribute])) {\n // pokud jsem o jednu uroven filtrace hloubeji, napr.: query.attribute.childAttribute\n found &= isValueFound(_.keys(query[attribute]), item[attribute], query[attribute])\n } else {\n // pokud jsem na prvni urovni filtrace, napr.: query.attribute\n found &= isValueFound(attribute, item, query)\n }\n }\n }\n if (found) {\n filtered.push(item)\n }\n }\n items = filtered\n }\n return items\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('arrayToString', ArrayToStringFilter)\n\n ArrayToStringFilter.$inject = []\n\n function ArrayToStringFilter() {\n return function (items, attribute, collection, delimiter) {\n if (items && Array.isArray(items)) {\n if (attribute) {\n items = _.map(items, attribute)\n }\n\n var mappedItems = []\n angular.forEach(items, function (item) {\n angular.forEach(collection || [], function (obj) {\n if (obj.id === item && obj.name) {\n mappedItems.push(obj.name)\n }\n })\n })\n\n if (mappedItems.length > 0) {\n items = mappedItems\n }\n return _.filter(items).join(delimiter || ', ')\n }\n return items\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('boolToText', BoolToTextFilter)\n\n BoolToTextFilter.$inject = []\n\n function BoolToTextFilter() {\n return function (input) {\n if (angular.isDefined(input)) {\n return input === true ? 'Ano' : 'Ne'\n }\n return input\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('capImageFilter', CapImageFilter)\n\n CapImageFilter.$inject = []\n\n function CapImageFilter() {\n return function (input) {\n if (angular.isDefined(input)) {\n switch (input) {\n case '':\n return 'success.png'\n case 'Level1':\n return 'notice.png'\n case 'Level2':\n return 'warning.png'\n case 'Level3':\n return 'danger.png'\n default:\n return 'Neplatný'\n }\n }\n return ''\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('capLevelFilter', CapLevelFilter)\n\n CapLevelFilter.$inject = []\n\n function CapLevelFilter() {\n return function (input) {\n if (angular.isDefined(input)) {\n switch (input) {\n case 'NoDanger':\n return 'Situace bez nebezpečných jevů'\n case 'Level1':\n return '1. stupeň nebezpečí'\n case 'Level2':\n return '2. stupeň nebezpečí'\n case 'Level3':\n return '3. stupeň nebezpečí'\n default:\n return 'Neplatný'\n }\n }\n return 'Neplatný'\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('capitalize', CapitalizeFilter)\n\n CapitalizeFilter.$inject = []\n\n function CapitalizeFilter() {\n return function (input) {\n if (angular.isDefined(input)) {\n return _.capitalize(input)\n }\n return input\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('datetimeFilter', DatetimeFilter)\n\n DatetimeFilter.$inject = []\n\n function DatetimeFilter() {\n var dateFormat = 'YYYY-MM-DD HH:mm:ss Z'\n\n function compareLt(item, datetime) {\n return item.isBefore(datetime)\n }\n\n function compareLte(item, datetime) {\n return compareLt(item, datetime) || item.isSame(datetime)\n }\n\n function compareGt(item, datetime) {\n return item.isAfter(datetime)\n }\n\n function compareGte(item, datetime) {\n return compareGt(item, datetime) || item.isSame(datetime)\n }\n\n return function (items, query, itemDatePath) {\n if (angular.isDefined(items) && angular.isDefined(query)) {\n var filtered = items\n var datePath = angular.isDefined(itemDatePath) ? itemDatePath : Object.keys(query)[0]\n if (!angular.isDefined(itemDatePath)) {\n query = query[datePath]\n }\n if (datePath) {\n var stepFiltered = []\n for (var i = 0; i < filtered.length; i++) {\n var item = filtered[i]\n var itemDate = _.get(item, datePath)\n if (itemDate) {\n var itemDatetime = moment(itemDate, dateFormat)\n var isGreater = true\n var isLess = true\n if (angular.isDefined(query.from) && query.from != null) {\n var from = moment(query.from, dateFormat)\n isGreater = compareGte(itemDatetime, from)\n }\n if (angular.isDefined(query.to) && query.to != null) {\n var to = moment(query.to, dateFormat)\n isLess = compareLte(itemDatetime, to)\n }\n if (isGreater && isLess) {\n stepFiltered.push(item)\n }\n }\n }\n filtered = stepFiltered\n }\n return filtered\n }\n return items\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('eventPriority', EventPriorityFilter)\n\n EventPriorityFilter.$inject = []\n\n function EventPriorityFilter() {\n return function (type, types) {\n for (var key in types) {\n if (types.hasOwnProperty(key)) {\n if (types[key].id === type) {\n return types[key].name\n }\n }\n }\n return type\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('eventSeverity', EventSeverityFilter)\n\n EventSeverityFilter.$inject = []\n\n function EventSeverityFilter() {\n return function (type, types) {\n for (var key in types) {\n if (types.hasOwnProperty(key)) {\n if (types[key].id === type) {\n return types[key].name\n }\n }\n }\n return type\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('eventType', EventTypeFilter)\n\n EventTypeFilter.$inject = []\n\n function EventTypeFilter() {\n var mapping = {\n // UNSPECIFIED: \"help\",\n // ACCIDENT: \"crash\",\n // LAND_FALL: \"landslide\",\n // FIRE: \"fire\",\n // TRAFFIC: \"traffic\",\n // FLOOD: \"water\",\n // ENVIRONMENTAL_ACCIDENT: \"ecology\",\n // BIOLOGICAL_ACCIDENT: \"biology\",\n // PYROTECHNIST_EVENT: \"pyrotechnic\",\n // WARNING: \"exclamation\",\n // PUBLIC_ORDER: \"publicorder\",\n // DANGEROUS_LEAKAGE: \"leak\",\n // EPIDEMIC_WARNING: \"epidemy\",\n // TRAINING: \"exercise\",\n // OTHERS: \"other\",\n CHMI_WARNING: 'ecology',\n NARCOTIC: 'narcotic',\n HOMELESS: 'homeless',\n PLANNED_EVENT: 'exercise',\n EXTRAORDINARY_EVENT: 'exclamation',\n OTHERS: 'other',\n }\n\n return function (type, funcName, types) {\n switch (funcName) {\n case 'iconClass':\n return mapIconClass(type)\n case 'typeValue':\n return mapType(type, types)\n default:\n return type\n }\n }\n\n function mapType(type, types) {\n for (var key in types) {\n if (types.hasOwnProperty(key)) {\n if (types[key].id === type) {\n return types[key].name\n }\n }\n }\n return type\n }\n\n function mapIconClass(type) {\n if (mapping.hasOwnProperty(type)) {\n type = mapping[_.toUpper(type)]\n }\n return type\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('fixedLength', FixedLengthFilter)\n\n FixedLengthFilter.$inject = []\n\n function FixedLengthFilter() {\n return function (input, size) {\n var result = typeof input !== 'string' ? input.toString() : input\n while (result.length < size) {\n result = '0' + result\n }\n return result\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('join', JoinFilter)\n\n JoinFilter.$inject = []\n\n function JoinFilter() {\n return function (input, separator = ', ') {\n if (angular.isDefined(input) && angular.isArray(input)) {\n return input.reduce((sum, next) => {\n if (sum === '') {\n return next\n } else {\n return sum + separator + next\n }\n }, '')\n }\n return input\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('maxDate', MaxDateFilter)\n\n MaxDateFilter.$inject = ['$filter']\n\n function MaxDateFilter($filter) {\n return function (input, format) {\n if (input) {\n if (moment(input).isValid() && moment(input).year() > 2050) {\n return 'do odvolání'\n }\n return $filter('date')(input, format)\n }\n return 'do odvolání'\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('pagination', PaginationFilter)\n\n PaginationFilter.$inject = []\n\n function PaginationFilter() {\n return function (input, start) {\n if (angular.isDefined(input)) {\n return input.slice(start)\n }\n return input\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('policeSubType', PoliceSubTypeFilter)\n\n PoliceSubTypeFilter.$inject = []\n\n function PoliceSubTypeFilter() {\n return function (subType, groups) {\n angular.forEach(groups, function (group) {\n if (group.hasOwnProperty('subtypes')) {\n angular.forEach(group.subtypes, function (obj) {\n if (obj.id === subType) {\n subType = obj.name\n }\n })\n }\n })\n return subType\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.common.filters')\n .filter('riverStationNameToPositionFilter', RiverStationNameToPositionFilter)\n\n RiverStationNameToPositionFilter.$inject = []\n\n function RiverStationNameToPositionFilter() {\n return function (input) {\n switch (input) {\n case 'Zbečno':\n return [50.04055, 13.9199, 307229]\n case 'Beroun':\n return [49.95917, 14.08917, 307284]\n case 'Srbsko':\n return [49.93807, 14.13111, 10045026]\n case 'Praha - Chuchle':\n return [50.02722, 14.39861, 307225]\n case 'Praha - Karlův most':\n return [50.08639, 14.41361, 29183269]\n case 'Praha - Na Františku':\n return [50.09336, 14.42194, 307287]\n default:\n return [0, 0]\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('schoolFilter', SchoolFilter)\n\n SchoolFilter.$inject = []\n\n function SchoolFilter() {\n const types = {\n universityBuildingType: {\n F: 'fakulta',\n K: 'kolej',\n M: 'menza',\n KAT: 'katedry',\n S: 'sport',\n SUZ: 'Správa účelových zařízení',\n U: 'ústav',\n CEL: 'celoškolské',\n A: 'administrativa',\n },\n universityName: {\n 1: 'Bankovní institut Praha',\n 2: 'Vysoká škola hotelová',\n 3: 'Vysoká škola finanční a správní',\n 4: 'Literární akademie J.Š.',\n 5: 'Vysoká škola cestovního ruchu, hotelnictví a lázeňství',\n 6: 'Soukromá vysoká škola ekonomických studií',\n 7: 'Soukromá vysoká škola obchodní v Praze',\n 8: 'Pražský technologický institut',\n 9: 'Vysoká škola veřejné správy a mezinárodních vztahů v Praze',\n 10: 'Vysoká škola mezinárodních a veřejných vztahů',\n 11: 'Vysoká škola J. A. Komenského',\n 12: 'Anglo-americký institut',\n 13: 'Vysoká škola psychosociálních studií Praha',\n 14: 'Vysoká škola aplikovaného práva',\n 15: 'Vysoká škola ekonomie a managementu',\n 16: 'Univerzity of NewYork of Prague',\n 17: 'Vysoká škola manažerské informatiky a ekonomie',\n 18: 'Mezinárodníbaptistický teologický seminář',\n 19: 'Vysoká škola tělesné výchovy a sportu PALESTRA',\n 20: 'Vysoká škola umělecko průmyslová',\n 21: 'Vysoká škola chemicko technologická',\n 22: 'Vysoká škola ekonomická',\n 23: 'Policejní akademie',\n 24: 'Akademie výtvarných umění',\n 25: 'Akademie múzických umění',\n 26: 'Česká zemědělská univerzita',\n 27: 'České vysoké učení technické',\n 28: 'Univerzita Karlova',\n 29: 'AKCENT College s.r.o.',\n 30: 'Metropolitní univerzita Praha',\n 31: 'Vysoká škola zdravotnická',\n 32: 'Archip s.r.o.',\n 33: 'ART & DESIGN INSTITUT, s.r.o.',\n 34: 'Unicorn College s.r.o.',\n 35: 'CEVRO Institut, o. p. s.',\n 36: 'Vysoká škola regionálního rozvoje, s. r. o.',\n },\n universityTypes: {\n SVŠ: 'soukromá',\n VVŠ: 'veřejná',\n STŠ: 'státní',\n },\n }\n\n return function (input, type) {\n if (angular.isDefined(input) && angular.isDefined(type)) {\n if (type in types) {\n if (input in types[type]) {\n return types[type][input]\n } else {\n console.warn('schoolFilter dost not resolve code ' + input + 'in type ' + type)\n }\n } else {\n console.warn('Type ' + type + 'is not defined in school filter')\n }\n }\n return ''\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('sivsLevelFilter', SivsLevelFilter)\n\n SivsLevelFilter.$inject = []\n\n function SivsLevelFilter() {\n return function (input) {\n if (angular.isDefined(input)) {\n switch (input) {\n case 'NoDanger':\n return 'Situace bez nebezpečných jevů'\n case 'Level1':\n return '1. stupeň nebezpečí'\n case 'Level2':\n return '2. stupeň nebezpečí'\n case 'Level3':\n return '3. stupeň nebezpečí'\n default:\n return 'Neplatný'\n }\n }\n return 'Neplatný'\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('spaFilter', SpaFilter)\n\n SpaFilter.$inject = []\n\n function SpaFilter() {\n return function (input) {\n switch (input) {\n case -1:\n return 'Sucho'\n case 0:\n return 'Normální stav'\n case 1:\n return '1. SPA'\n case 2:\n return '2. SPA'\n case 3:\n return '3. SPA'\n case 4:\n return '3. SPA - extrémní ohrožení'\n default:\n return 'Normální stav'\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('bollardType', TrafficBollardTypeFilter)\n\n TrafficBollardTypeFilter.$inject = ['BOLLARD_TYPES']\n\n function TrafficBollardTypeFilter(BOLLARD_TYPES) {\n return function (type) {\n if (BOLLARD_TYPES.hasOwnProperty(type)) {\n return BOLLARD_TYPES[type]\n }\n return 'UNKNOWN'\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('unique', UniqueFilter)\n\n UniqueFilter.$inject = []\n\n function UniqueFilter() {\n return function (input, field) {\n return _.uniqBy(input, field)\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('uniqueLegend', UniqueLegendFilter)\n\n UniqueLegendFilter.$inject = []\n\n function UniqueLegendFilter() {\n return function (input, field) {\n return _.uniqBy(input, function (obj) {\n if (obj.visible && obj.display && obj.hasOwnProperty(field) && obj[field]) {\n return obj[field]\n }\n return obj.key\n })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('url', UrlFilter)\n\n UrlFilter.$inject = []\n\n function UrlFilter() {\n return function (input) {\n if (input && input.search(/^http[s]?\\:\\/\\//) == -1) {\n return `https://${input}`\n }\n return input\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('userName', UserNameFilter)\n\n UserNameFilter.$inject = []\n\n function UserNameFilter() {\n return function (input) {\n if (angular.isDefined(input)) {\n var name = '',\n firstName = input.firstName,\n lastName = input.lastName\n if (firstName) {\n name += firstName\n }\n if (lastName) {\n name += ' ' + lastName\n }\n return _.trim(name)\n }\n return input\n }\n }\n})()\n","//\n// Taken from this blog post: https://dbouwman.wordpress.com/2011/08/04/leaflet-lean-mean-javascript-maps/\n// And here is original code (modfied to work with norwegian projections\n//\nL.AgsDynamicLayer = L.Layer.extend({\n includes: L.Evented,\n\n options: {\n minZoom: 0,\n maxZoom: 18,\n attribution: '',\n opacity: 1,\n layers: null,\n format: 'PNG8',\n transparent: 'true',\n defintionQuery: '',\n\n unloadInvisibleTiles: L.Browser.mobileWebkit,\n },\n\n initialize: function (/*String*/ url, /*Object*/ options) {\n L.Util.setOptions(this, options)\n this._url = url\n },\n\n //public properties that modify the map\n setLayers: function (/*string*/ layers) {\n this.options.layers = layers\n this._updateLayer()\n },\n\n getLayers: function () {\n return this.options.layers\n },\n\n setTransparent: function (transparent) {\n this.options.transparent = transparent\n },\n\n getTransparent: function () {\n return this.options.transparent\n },\n\n setDefinitionQuery: function (/*string*/ query) {\n this.options.defintionQuery = query\n },\n\n getDefinitionQuery: function () {\n return this.options.defintionQuery\n },\n\n setOpacity: function (opacity) {\n //set it immediately\n if (this._image) {\n this._image.style.opacity = opacity\n // stupid webkit hack to force redrawing of tiles\n this._image.style.webkitTransform += ' translate(0,0)'\n }\n this.options.opacity = opacity\n },\n\n getOpacity: function () {\n return this.options.opacity\n },\n\n reset: function () {\n this._reset()\n },\n\n update: function () {\n // var topLeft = this._map.latLngToLayerPoint(this._map.getBounds().getNorthWest()),\n // bottomRight = this._map.latLngToLayerPoint(this._map.getBounds().getSouthEast()),\n // size = bottomRight.subtract(topLeft);\n\n // L.DomUtil.setPosition(this._image, topLeft);\n // this._image.style.width = size.x + 'px';\n // this._image.style.height = size.y + 'px';\n\n this._image.updating = false\n this._updateLayer()\n },\n\n show: function () {\n this._image.style.display = 'block'\n this._image.style.visibility = 'visible'\n },\n\n hide: function () {\n this._image.style.display = 'none'\n },\n\n isVisible: function () {\n return this._image.style.display === 'block'\n },\n\n onAdd: function (map) {\n this._map = map\n\n this._reset()\n\n map.on('viewreset', this._reset, this)\n map.on('moveend', this._moveEnd, this)\n map.on('zoomend', this._zoomEnd, this)\n },\n\n onRemove: function (map) {\n map.getPanes().overlayPane.removeChild(this._image)\n this._image = null\n map.off('viewreset', this._reset, this)\n map.off('moveend', this._moveEnd, this)\n map.off('zoomend', this._zoomEnd, this)\n },\n\n getEvents: function () {\n return {}\n },\n\n getAttribution: function () {\n return null\n },\n\n beforeAdd: function (map) {},\n\n _initImage: function () {\n this._image = L.DomUtil.create('img', 'leaflet-image-layer')\n\n this._image.style.visibility = 'hidden'\n this._image.style.opacity = this.options.opacity\n this._image.style.display = 'block'\n //TODO createImage util method to remove duplication\n L.Util.extend(this._image, {\n onselectstart: L.Util.falseFn,\n onmousemove: L.Util.falseFn,\n onload: this._onImageLoad,\n src: this._getImageUrl(),\n updating: false,\n agsLayer: this,\n map: this._map,\n })\n this._map.getPanes().overlayPane.appendChild(this._image)\n },\n\n _getImageUrl: function () {\n //construct the export image url\n var bnds = this._map.getBounds()\n var sz = this._map.getSize()\n\n //JJ\n var sr = '3857'\n if (this._map.options.crs && this._map.options.crs.code) {\n sr = this._map.options.crs.code.split(':')[1]\n }\n\n //bboxsr & imagesr params need to be specified like so to avoid alignment problems on some map services - not sure why\n // JJ\n //var bbox = 'bbox=' + bnds.getSouthEast().lng + ',' + bnds.getSouthEast().lat + ',' + bnds.getNorthWest().lng + ',' + bnds.getNorthWest().lat + '&bboxsr=4326&imageSR=3857';\n var ne = this._map.options.crs.project(bnds._northEast),\n sw = this._map.options.crs.project(bnds._southWest)\n var bbox = 'bbox=' + [sw.x, sw.y, ne.x, ne.y].join(',') + '&bboxsr=' + sr + '&imageSR=' + sr\n\n var size = '&size=' + sz.x + ',' + sz.y\n var format = '&format=' + this.options.format\n var transparent = '&transparent=' + this.options.transparent\n var url = this._url + '/export?' + bbox + size + format + transparent + '&f=image'\n if (this.options.layers) {\n url += '&layers=' + this.options.layers\n }\n\n //JJ\n if (this.options.token) {\n url += '&token=' + this.options.token\n }\n\n return url // this._url + '/export?' + bbox + size + layers + format + transparent + '&f=image';\n },\n\n _updateLayer: function () {\n if (!this._image.updating) {\n //console.log('Updating layer NW: ' + map.getBounds().getNorthWest());\n this._image.updating = true\n\n //update the src based on the new location\n this._image.src = this._getImageUrl()\n\n //reset the image location on the map\n // //hang the info on the image, we'll actually update it onload to make sure we don't reposition it before the new image comes down\n //this doesn't seem to work on mobile\n // this._image.topLeft = this._map.latLngToLayerPoint(this._map.getBounds().getNorthWest());\n // var bottomRight = this._map.latLngToLayerPoint(this._map.getBounds().getSouthEast());\n // this._image.size = bottomRight.subtract(this._image.topLeft);\n\n /* JJ\n var topLeft = this._map.latLngToLayerPoint(this._map.getBounds().getNorthWest()),\n bottomRight = this._map.latLngToLayerPoint(this._map.getBounds().getSouthEast()),\n size = bottomRight.subtract(topLeft);\n */\n var topLeft = this._map.containerPointToLayerPoint(new L.Point(0, 0)),\n size = this._map.getSize()\n\n L.DomUtil.setPosition(this._image, topLeft)\n this._image.style.width = size.x + 'px'\n this._image.style.height = size.y + 'px'\n }\n },\n\n _moveEnd: function () {\n //console.log('in _moveEnd : NW: ' + map.getBounds().getNorthWest());\n //don't set display:none for moves - makes for smoother panning - no flicker\n //oops, that didn't work on mobile\n\n this._image.style.display = 'none'\n this._updateLayer()\n },\n\n _zoomEnd: function () {\n //console.log('in _moveEnd');\n\n // //zoom the image...(animate it?)\n // //L.DomUtil.setPosition(this, this.topLeft);\n // //debugger;\n // //it's gonna be something like this but it's not quite right - also will need to get/ calculate the correct factor (using 1.5 below) and change it for zoom out\n // //and we need to properly calculate the new left and top - just hard coded approximate values below\n // this._image.style.left = '-420px';\n // this._image.style.top = '-228px';\n // this._image.style.width = this._image.width * 1.5 + 'px';\n // this._image.style.height = this._image.height * 1.5 + 'px';\n\n //for now, we'll just do this\n this._image.style.display = 'none'\n this._updateLayer()\n },\n\n _reset: function () {\n if (this._image) {\n this._map.getPanes().overlayPane.removeChild(this._image)\n }\n this._initImage()\n this._updateLayer()\n },\n\n _onImageLoad: function () {\n // //reset the image location on the map - doing it this way does not seem to work on mobile\n // L.DomUtil.setPosition(this, this.topLeft);\n // this.style.width = this.size.x + 'px';\n // this.style.height = this.size.y + 'px';\n\n //this is the image\n\n //make sure it's visible and reset the updating flag\n this.style.visibility = 'visible'\n this.style.display = 'block'\n\n this.updating = false\n },\n})\n","L.Intens = function () {}\n\nL.Intens.CollapsibleControl = L.Control.Layers.extend({\n options: {\n position: 'topleft',\n title: {\n false: 'Zobrazit legendu',\n true: 'Skrýt legendu',\n },\n },\n\n setLayerGroups: function (obj) {\n this._layerGroups = obj\n this._update()\n },\n\n update: function () {\n this._update()\n },\n\n addBaseLayer: function (layer, name) {\n this._addLayer(layer, name)\n return this\n },\n\n addOverlay: function (layer, name, options) {\n this._addLayer(layer, name, true, options)\n return this\n },\n\n onRemove: function () {\n this._map.off('zoomend', this._checkDisabledLayers, this)\n\n for (var id in this._layers) {\n if (this._layers.hasOwnProperty(id)) {\n this._layers[id].layer.off('add remove', this._onLayerChange, this)\n }\n }\n },\n\n _addLayer: function (layer, name, overlay, options) {\n layer.on('add remove', this._onLayerChange, this)\n\n var id = L.Util.stamp(layer)\n\n this._layers[id] = {\n layer: layer,\n name: name,\n overlay: overlay,\n options: options,\n }\n\n if (this.options.autoZIndex && layer.setZIndex) {\n this._lastZIndex++\n layer.setZIndex(this._lastZIndex)\n }\n this._layersArr = this._layersArr || []\n this._layersArr.push(this._layers[id])\n },\n\n _initLayout: function () {\n var className = 'leaflet-control-layers',\n container = (this._container = L.DomUtil.create('div', className))\n\n //Makes this work on IE10 Touch devices by stopping it from firing a mouseout event when the touch is released\n container.setAttribute('aria-haspopup', 'true')\n\n if (!L.Browser.touch) {\n L.DomEvent.disableClickPropagation(container).disableScrollPropagation(container)\n } else {\n L.DomEvent.on(container, 'click', L.DomEvent.stopPropagation)\n L.DomEvent.on(container, 'dblclick', L.DomEvent.stopPropagation)\n }\n\n var form = (this._form = L.DomUtil.create('form', className + '-list'))\n\n if (this.options.collapsed) {\n if (!L.Browser.android) {\n L.DomEvent.on(container, 'mouseover', this._expand, this).on(\n container,\n 'mouseout',\n this._collapse,\n this,\n )\n }\n var link = L.DomUtil.create('a', className + '-toggle', container)\n link.href = '#'\n link.title = 'Layers'\n\n if (L.Browser.touch) {\n L.DomEvent.on(link, 'click', L.DomEvent.stop).on(link, 'click', this._expand, this)\n } else {\n L.DomEvent.on(link, 'focus', this._expand, this)\n }\n //Work around for Firefox android issue https://github.com/Leaflet/Leaflet/issues/2033\n L.DomEvent.on(\n form,\n 'click',\n function () {\n setTimeout(L.bind(this._onInputClick, this), 0)\n },\n this,\n )\n\n this._map.on('click', this._collapse, this)\n // TODO keyboard accessibility\n } else {\n this._expand()\n }\n\n this._baseLayersList = L.DomUtil.create('div', className + '-base', form)\n this._separator = L.DomUtil.create('div', className + '-separator', form)\n this._overlaysList = L.DomUtil.create('div', className + '-overlays', form)\n\n container.appendChild(form)\n },\n\n removeLayer: function (layer) {\n layer.off('add remove', this._onLayerChange, this)\n var id = L.Util.stamp(layer)\n if (this._layersArr) {\n var index = this._layersArr.indexOf(layer)\n if (index > -1) {\n this._layersArr.splice(index, 1)\n }\n }\n delete this._layers[id]\n return this._update()\n },\n\n // _addItem: function (obj, parentContainer) {\n // var label = document.createElement('label'),\n // input,\n // checked = this._map.hasLayer(obj.layer);\n //\n // if (obj.overlay) {\n // input = document.createElement('input');\n // input.type = 'checkbox';\n // input.className = 'leaflet-control-layers-selector';\n // input.defaultChecked = checked;\n // } else {\n // input = this._createRadioElement('leaflet-base-layers', checked);\n // }\n //\n // input.layerId = L.Util.stamp(obj.layer);\n //\n // L.DomEvent.on(input, 'click', this._onInputClick, this);\n //\n // var name = document.createElement('span');\n // name.innerHTML = ' ' + obj.name;\n //\n // if (!obj.options.legendOptions.disable) {\n // label.appendChild(input);\n // }\n // label.appendChild(name);\n //\n // var container = parentContainer || (obj.overlay ? this._overlaysList : this._baseLayersList);\n // container.appendChild(label);\n //\n // return label;\n // },\n\n _onInputClick: function () {\n var inputs = this._form.getElementsByTagName('input'),\n input,\n layer,\n hasLayer\n var addedLayers = [],\n removedLayers = []\n\n this._handlingClick = true\n\n for (var i = inputs.length - 1; i >= 0; i--) {\n input = inputs[i]\n layer = this._getLayer(input.layerId).layer\n hasLayer = this._map.hasLayer(layer)\n\n if (input.checked && !hasLayer) {\n addedLayers.push(layer)\n } else if (!input.checked && hasLayer) {\n removedLayers.push(layer)\n }\n }\n\n // Bugfix issue 2318: Should remove all old layers before readding new ones\n for (i = 0; i < removedLayers.length; i++) {\n this._map.removeLayer(removedLayers[i])\n }\n for (i = 0; i < addedLayers.length; i++) {\n this._map.addLayer(addedLayers[i])\n }\n\n this._handlingClick = false\n\n this._refocusOnMap()\n },\n\n _addItem: function (obj, parentContainer) {\n var id = obj.options.key\n var div = document.createElement('label'),\n input,\n checked = this._map.hasLayer(obj.layer)\n\n if (obj.overlay) {\n input = document.createElement('input')\n input.id = id\n input.type = 'checkbox'\n input.className = 'leaflet-control-layers-selector'\n input.defaultChecked = checked\n } else {\n input = this._createRadioElement('leaflet-base-layers', checked)\n }\n\n input.layerId = L.Util.stamp(obj.layer)\n\n L.DomEvent.on(input, 'click', this._onInputClick, this)\n\n var label = document.createElement('label')\n label.htmlFor = id\n var span = document.createElement('span')\n span.innerHTML = ' ' + obj.name\n\n div.className = 'chkbox ' + (obj.options.group ? 'hidden' : '')\n if (obj.options.legendOptions && !obj.options.legendOptions.disable) {\n div.appendChild(input)\n } else {\n var emptySpan = document.createElement('span')\n emptySpan.className = 'fake-input'\n div.appendChild(emptySpan)\n }\n label.appendChild(span)\n div.appendChild(label)\n\n var container = parentContainer || (obj.overlay ? this._overlaysList : this._baseLayersList)\n if (obj.options.legendOptions && obj.options.legendOptions.display === true) {\n container.appendChild(div)\n }\n\n return div\n },\n\n _sortLayers: function (layers) {\n return (\n _.sortBy(layers, function (obj) {\n if (obj.hasOwnProperty('options') && obj.options.hasOwnProperty('legendOptions')) {\n return obj.options.legendOptions.order || 999\n }\n return 999\n }) || []\n )\n },\n\n _update: function () {\n if (!this._container) {\n return\n }\n\n this._baseLayersList.innerHTML = ''\n this._overlaysList.innerHTML = ''\n\n var baseLayersPresent = false,\n overlaysPresent = false,\n j,\n me = this\n\n if (this._layerGroups) {\n var accordionParent = document.createElement('div')\n accordionParent.className = 'panel-group'\n var randomId = Math.round(Math.random() * 10000000)\n accordionParent.id = 'layercontrolaccordion' + randomId\n this._overlaysList.appendChild(accordionParent)\n\n for (j = 0; j < this._layerGroups.length; j++) {\n var layerGroup = this._layerGroups[j]\n var panelParent = document.createElement('div')\n panelParent.className = 'panel panel-default'\n accordionParent.appendChild(panelParent)\n\n var contentId = 'collapse' + randomId + '' + (j + 1)\n\n var collapseHeader = document.createElement('div')\n collapseHeader.className = 'panel-heading'\n var collapseHeaderHtml =\n '${description}
`\n }\n\n function _initPolygons(drawnItems, data) {\n angular.forEach(data, (polygonData) => {\n if (polygonData.latlngs && polygonData.latlngs.length > 0) {\n const polygon = new L.Polygon(L.GeoJSON.coordsToLatLngs(polygonData.latlngs), {\n color: polygonData.color,\n opacity: polygonData.opacity,\n fillOpacity: polygonData.opacity,\n })\n\n const content = _getPopupContent(polygonData.title, polygonData.description)\n polygon.bindPopup(content)\n\n drawnItems.addLayer(polygon)\n\n const polygonLeafletData = {\n id: polygon._leaflet_id,\n color: polygon.options.color,\n opacity: polygon.options.opacity,\n title: polygonData.title,\n description: polygonData.description,\n latlngs: polygon.toGeoJSON().geometry.coordinates[0],\n }\n $rootScope.$emit('polygon:initiated', polygonLeafletData)\n }\n })\n }\n\n function _createDrawnItemsLayer(map) {\n const drawnItems = new L.FeatureGroup()\n map.addLayer(drawnItems)\n return drawnItems\n }\n\n function _createDrawControl(drawnItems, map) {\n MapHelperService.prepareLealetDrawTranslations()\n _addIsInShapeFunctionForLeafletShapeTypes()\n\n const colorPickerControl = _createCustomColorPickerButton()\n const opacityControl = _createCustomOpacityButton()\n map.addControl(colorPickerControl)\n map.addControl(opacityControl)\n\n const optionColorSelected = $('#color').val()\n const opacity = +$('#opacity').val()\n\n var drawControl = new L.Control.Draw({\n position: 'topright',\n draw: {\n polygon: {\n showArea: true,\n showLength: true,\n shapeOptions: {\n color: optionColorSelected,\n opacity: opacity,\n fillOpacity: opacity,\n },\n },\n polyline: false,\n rectangle: false,\n marker: false,\n circle: false,\n /*circle: {\n showRadius: true,\n metric: true,\n feet: false,\n nautic: false,\n shapeOptions: {\n color: optionColorSelected,\n opacity: opacity,\n fillOpacity: opacity,\n },\n },*/\n circlemarker: false,\n },\n edit: {\n featureGroup: drawnItems,\n },\n }).addTo(map)\n\n $('#color, #opacity').change(() => {\n const optionColorSelected = $('#color').val()\n const opacity = +$('#opacity').val()\n\n drawControl.setDrawingOptions({\n polygon: {\n shapeOptions: {\n color: optionColorSelected,\n opacity: opacity,\n fillOpacity: opacity,\n },\n },\n /*\n circle: {\n shapeOptions: {\n color: optionColorSelected,\n opacity: opacity,\n fillOpacity: opacity,\n },\n },\n */\n })\n })\n\n $rootScope.$on('polygon:formEdited', (event, data) => {\n const layer = drawnItems.getLayers().find(({ _leaflet_id }) => _leaflet_id === data.id)\n if (layer) {\n const content = _getPopupContent(data.title, data.description)\n layer.bindPopup(content)\n\n layer.setStyle({\n color: data.color,\n opacity: data.opacity,\n fillOpacity: data.opacity,\n })\n }\n })\n\n map.on(L.Draw.Event.CREATED, (e) => {\n const layer = e.layer\n const title = 'Nadpis'\n const description = 'Popis.'\n\n const content = _getPopupContent(title, description)\n layer.bindPopup(content)\n\n drawnItems.addLayer(layer)\n\n const polygonData = {\n id: layer._leaflet_id,\n color: layer.options.color,\n opacity: layer.options.opacity,\n title,\n description,\n latlngs: layer.toGeoJSON().geometry.coordinates[0],\n }\n $rootScope.$emit('polygon:created', polygonData)\n })\n\n map.on(L.Draw.Event.EDITED, (e) => {\n e.layers.eachLayer((layer) => {\n const polygonData = {\n id: layer._leaflet_id,\n latlngs: layer.toGeoJSON().geometry.coordinates[0],\n }\n $rootScope.$emit('polygon:edited', polygonData)\n })\n })\n\n map.on(L.Draw.Event.DELETED, (e) => {\n e.layers.eachLayer((layer) => {\n $rootScope.$emit('polygon:deleted', { id: layer._leaflet_id })\n })\n })\n\n /*\n map.on(L.Draw.Event.EDITRESIZE, (e) => {\n e.layer._map._editTooltip.updateContent({\n subtext:\n L.drawLocal.draw.handlers.circle.radius +\n ': ' +\n L.GeometryUtil.readableDistance(\n e.layer._mRadius,\n drawControl.options.draw.circle.metric,\n drawControl.options.draw.circle.feet,\n drawControl.options.draw.circle.nautic,\n ),\n text: L.drawLocal.draw.handlers.simpleshape.tooltip.end,\n })\n })\n */\n\n return drawnItems\n }\n\n function initSafetyLayers(map, data) {\n const drawnItems = _createDrawnItemsLayer(map)\n\n if (data.length > 0) {\n _initPolygons(drawnItems, data)\n }\n return drawnItems\n }\n\n function initSafetyMap(data, request, enableDrawControl) {\n MapHelperService.initViewModelMapData(data)\n\n leafletData.getMap('map').then((map) => {\n MapHelperService.initMap(map, data)\n\n request.$promise.then((polygons) => {\n // workaround: pokud se defaultni vrstva \"Hranice spravnich obvodu\" nacte pozdeji, nez polygony, tak zachytava click event a nad polygony se nezobrazuji popupy\n setTimeout(() => {\n const drawnItems = initSafetyLayers(map, polygons)\n\n if (enableDrawControl) {\n _createDrawControl(drawnItems, map)\n }\n }, 1000)\n })\n })\n }\n\n return {\n initSafetyMap: initSafetyMap,\n initSafetyLayers: initSafetyLayers,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('SchoolMapService', SchoolMapService)\n\n SchoolMapService.$inject = [\n 'leafletData',\n 'MapHelperService',\n 'MapDialogService',\n 'LayerProviderFactory',\n 'PointLayer',\n 'ServerLayer',\n 'CustomLayer',\n 'APP_CONFIG',\n '$rootScope',\n '$stateParams',\n ]\n\n function SchoolMapService(\n leafletData,\n MapHelperService,\n MapDialogService,\n LayerProviderFactory,\n PointLayer,\n ServerLayer,\n CustomLayer,\n APP_CONFIG,\n $rootScope,\n $stateParams,\n ) {\n function initSchoolLayers(map, layerCollection) {\n angular.forEach(\n APP_CONFIG.mapSettings.schoolLayers.serverLayers,\n function (serverLayerConfiguration) {\n var serverLayer = new ServerLayer(\n angular.extend(serverLayerConfiguration, {\n clickContext: MapDialogService,\n clickFn: serverLayerConfiguration.dialogFn\n ? MapDialogService[serverLayerConfiguration.dialogFn]\n : null,\n map: map,\n popupScope: $rootScope.$new(),\n }),\n )\n MapHelperService.addLayer(serverLayer, layerCollection)\n },\n )\n\n angular.forEach(\n APP_CONFIG.mapSettings.schoolLayers.pointLayers,\n function (pointLayerConfiguration) {\n var pointLayer = new PointLayer(\n angular.extend(pointLayerConfiguration, {\n clickContext: MapDialogService,\n clickFn: MapDialogService[pointLayerConfiguration.dialogFn],\n map: map,\n popupScope: $rootScope.$new(),\n }),\n )\n MapHelperService.addLayer(pointLayer, layerCollection)\n },\n )\n\n angular.forEach(\n APP_CONFIG.mapSettings.schoolLayers.customLayers,\n function (customLayerConfig) {\n const provider = LayerProviderFactory.provide(map, customLayerConfig.layerProvider)\n provider.update().then(() => {\n var customLayer = new CustomLayer(\n angular.extend(customLayerConfig, {\n layer: provider.getLayer(),\n }),\n )\n MapHelperService.addLayer(customLayer, layerCollection)\n _handlePopupOpen(provider.getLayer())\n })\n },\n )\n }\n\n function _handlePopupOpen(layer) {\n const syposId = $stateParams.syposId\n layer.eachLayer((marker) => {\n if (syposId && marker.syposId.toString() === syposId.toString()) {\n marker.fire('click')\n }\n })\n }\n\n function initSchoolMap(data) {\n MapHelperService.initViewModelMapData(data)\n\n leafletData.getMap('map').then(function (map) {\n var layerCollection = MapHelperService.initMap(map, data)\n initSchoolLayers(map, layerCollection)\n })\n }\n\n return {\n initSchoolMap: initSchoolMap,\n initSchoolLayers: initSchoolLayers,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('TrafficMapService', TrafficMapService)\n\n TrafficMapService.$inject = [\n '$rootScope',\n 'leafletData',\n 'MapHelperService',\n 'MapDialogService',\n 'DdrMessageLayerProvider',\n 'LayerProviderFactory',\n 'CustomLayer',\n 'PointLayer',\n 'ServerLayer',\n 'APP_CONFIG',\n ]\n\n function TrafficMapService(\n $rootScope,\n leafletData,\n MapHelperService,\n MapDialogService,\n DdrMessageLayerProvider,\n LayerProviderFactory,\n CustomLayer,\n PointLayer,\n ServerLayer,\n APP_CONFIG,\n ) {\n function _initZpsLayers(map, layerCollection) {\n angular.forEach(\n APP_CONFIG.mapSettings.trafficLayers.pointLayers,\n function (pointLayerConfiguration) {\n var pointLayer = new PointLayer(\n angular.extend(pointLayerConfiguration, {\n clickContext: MapDialogService,\n clickFn: MapDialogService[pointLayerConfiguration.dialogFn],\n map: map,\n popupScope: $rootScope.$new(),\n }),\n )\n MapHelperService.addLayer(pointLayer, layerCollection)\n },\n )\n\n angular.forEach(\n APP_CONFIG.mapSettings.trafficLayers.serverLayers,\n function (serverLayerConfiguration) {\n var serverLayer = new ServerLayer(\n angular.extend(serverLayerConfiguration, {\n clickContext: MapDialogService,\n clickFn: serverLayerConfiguration.dialogFn\n ? MapDialogService[serverLayerConfiguration.dialogFn]\n : null,\n map: map,\n popupScope: $rootScope.$new(),\n }),\n )\n MapHelperService.addLayer(serverLayer, layerCollection)\n },\n )\n\n angular.forEach(\n APP_CONFIG.mapSettings.trafficLayers.customLayers,\n function (customLayerConfig) {\n var customLayer = new CustomLayer(\n angular.extend(customLayerConfig, {\n layer: LayerProviderFactory.provide(map, customLayerConfig.layerProvider).getLayer(),\n }),\n )\n MapHelperService.addLayer(customLayer, layerCollection)\n },\n )\n }\n\n function initTrafficLayers(map, layerCollection) {\n DdrMessageLayerProvider.initDdrMessagesLayer(\n map,\n APP_CONFIG.mapSettings.trafficLayers.trafficLayer,\n layerCollection,\n )\n _initZpsLayers(map, layerCollection)\n }\n\n function initTrafficMap(data) {\n MapHelperService.initViewModelMapData(data)\n\n leafletData.getMap('map').then(function (map) {\n var layerCollection = MapHelperService.initMap(map, data)\n initTrafficLayers(map, layerCollection)\n })\n }\n\n return {\n initTrafficMap: initTrafficMap,\n initTrafficLayers: initTrafficLayers,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('AdminCameraAvailabilityController', AdminCameraAvailabilityController)\n\n AdminCameraAvailabilityController.$inject = [\n '$http',\n '$uibModal',\n 'ApiAdminUserModel',\n 'BOOL_VALUES',\n ]\n\n function AdminCameraAvailabilityController($http, $uibModal, ApiAdminUserModel, BOOL_VALUES) {\n const vm = this\n vm.boolValues = BOOL_VALUES\n vm.openEditRole = openEditRole\n\n activate()\n\n function activate() {\n getRoles()\n prepareTableHeaders()\n }\n\n function getRoles() {\n vm.loadingData = true\n vm.roles = ApiAdminUserModel.getAllRoles(\n function () {\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http\n .get('app/modules/admin/camera/meta/camera-availability-list.json')\n .then(function (response) {\n vm.headers = response.data\n })\n }\n\n function openEditRole(role) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/availability/editCameraAvailabilityModal.html',\n controller: 'EditCameraAvailabilityModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n role: function () {\n return role\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getRoles()\n })\n },\n function () {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.camera').controller('AdminCameraController', AdminCameraController)\n\n AdminCameraController.$inject = [\n '$http',\n '$uibModal',\n 'ApiCameraModel',\n 'ApiAdminCameraModel',\n 'ApiFilterService',\n 'BOOL_VALUES',\n ]\n\n function AdminCameraController(\n $http,\n $uibModal,\n ApiCameraModel,\n ApiAdminCameraModel,\n ApiFilterService,\n BOOL_VALUES,\n ) {\n const vm = this\n vm.boolValues = BOOL_VALUES\n\n vm.getCameras = getCameras\n vm.downloadCameras = downloadCameras\n vm.openEditCamera = openEditCamera\n\n activate()\n\n function activate() {\n getCameras()\n getCameraTypes()\n prepareTableHeaders()\n }\n\n function getCameras() {\n vm.loadingData = true\n vm.cameras = ApiAdminCameraModel.getAll(\n function () {\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function downloadCameras(format) {\n var search = ApiFilterService.transformSearchQueryAttribute(\n vm.query,\n ApiFilterService.KEYS.camera,\n )\n ApiAdminCameraModel.downloadCameras({\n orderBy: vm.orderByField,\n desc: vm.reverseSort,\n search: search,\n format: format,\n })\n }\n\n function getCameraTypes() {\n vm.cameraTypes = ApiCameraModel.getTypes()\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/camera/meta/camera-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function openEditCamera(camera) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/camera/editCameraModal.html',\n controller: 'EditCameraModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n camera: function () {\n return camera\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getCameras()\n })\n },\n function () {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('AdminCameraGridController', AdminCameraGridController)\n\n AdminCameraGridController.$inject = [\n '$scope',\n '$uibModal',\n '$interval',\n '$timeout',\n 'ApiAdminCameraModel',\n 'ApiCameraModel',\n 'ApiUserModel',\n 'FlashMessage',\n 'CameraMapService',\n ]\n\n function AdminCameraGridController(\n $scope,\n $uibModal,\n $interval,\n $timeout,\n ApiAdminCameraModel,\n ApiCameraModel,\n ApiUserModel,\n FlashMessage,\n CameraMapService,\n ) {\n const vm = this\n\n vm.data = {}\n vm.activeIndex = 0\n vm.initMap = initMap\n\n vm.createOrUpdateGrid = createOrUpdateGrid\n vm.deleteGrid = deleteGrid\n\n vm.addGrid = addGrid\n vm.clearGrid = clearGrid\n\n vm.clearCamera = clearCamera\n vm.clearCameras = clearCameras\n vm.openCameraSettings = openCameraSettings\n\n vm.changeAutoRefresh = changeAutoRefresh\n\n activate()\n\n function activate() {\n getUserRefreshRate().then(function (user) {\n vm.userCameraRefreshRate = user.usersAccessRights.cameraRefreshRate * 1000\n vm.userPrivateCameraAccess = user.usersAccessRights.privateAccess\n\n getCameraGrids()\n })\n }\n\n function getUserRefreshRate() {\n return ApiUserModel.getCurrentUser().$promise\n }\n\n function getCameraGrids() {\n vm.cameraGrids = []\n ApiAdminCameraModel.getCameraGrids(function (grids) {\n angular.forEach(grids, function (grid) {\n addGrid(grid)\n reloadImage(grid)\n })\n })\n }\n\n function initMap(index, grid) {\n if (angular.isDefined(index)) {\n CameraMapService.initCameraMap(\n index,\n grid,\n vm.data,\n openCameraDetail,\n vm.userPrivateCameraAccess,\n )\n }\n }\n\n function createOrUpdateGrid(cameraGrid) {\n if (cameraGrid.id) {\n editGrid(cameraGrid)\n } else {\n createNewGrid(cameraGrid)\n }\n }\n\n function createNewGrid(cameraGrid) {\n ApiAdminCameraModel.createCameraGrid({}, cameraGrid, function (data) {\n cameraGrid.id = data.id\n FlashMessage.add('Grid ' + cameraGrid.name + ' byl úspěšně vytvořen.', 'success')\n })\n }\n\n function editGrid(cameraGrid) {\n ApiAdminCameraModel.editCameraGrid({ id2: cameraGrid.id }, cameraGrid, function () {\n FlashMessage.add('Grid ' + cameraGrid.name + ' byl úspěšně editován.', 'success')\n })\n }\n\n function deleteGrid(cameraGrid) {\n ApiAdminCameraModel.deleteCameraGrid({ id2: cameraGrid.id }, function () {\n FlashMessage.add('Grid ' + cameraGrid.name + ' byl úspěšně smazán.', 'success')\n clearGrid(cameraGrid)\n })\n }\n\n function addGrid(grid) {\n vm.cameraGrids.push({\n id: grid ? grid.id : null,\n name: grid ? grid.name : 'Grid ' + (vm.cameraGrids.length + 1),\n reloadTimer: null,\n countdownTimer: null,\n reloadEnabled: true,\n autoRefreshEnabled: false,\n refreshRate: vm.userCameraRefreshRate,\n cameraPositions: grid ? grid.cameraPositions : [],\n gridsterOptions: {\n margins: [20, 20],\n columns: grid && grid.columnNumber > 0 ? grid.columnNumber : 2,\n draggable: {\n handle: 'div.draggable-' + vm.cameraGrids.length,\n },\n },\n })\n vm.activeIndex = vm.cameraGrids.length - 1\n }\n\n function clearGrid(grid) {\n vm.cameraGrids.splice(vm.cameraGrids.indexOf(grid), 1)\n vm.activeIndex = vm.cameraGrids.length - 1\n }\n\n function openCameraDetail(grid, camera) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/camera/cameraDetailModal.html',\n controller: 'CameraDetailModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n camera: function () {\n return camera\n },\n refreshRate: function () {\n return vm.userCameraRefreshRate\n },\n },\n })\n modalInstance.result.then(\n function (camera) {\n addCamera(grid, camera)\n },\n function () {},\n )\n }\n\n function addCamera(grid, camera) {\n var cam = angular.extend(camera, {\n sizeX: 1,\n sizeY: 1,\n })\n if (!_.find(grid.cameraPositions, { id: camera.id })) {\n grid.cameraPositions.push(cam)\n }\n }\n\n function clearCamera(grid, camera) {\n grid.cameraPositions.splice(grid.cameraPositions.indexOf(camera), 1)\n }\n\n function clearCameras(grid) {\n grid.cameraPositions = []\n }\n\n function openCameraSettings(camera) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/camera/cameraGridSettingsModal.html',\n controller: 'CameraGridSettingsModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n camera: function () {\n return camera\n },\n },\n })\n modalInstance.result.then(\n function () {},\n function () {},\n )\n }\n\n function reloadImage(grid) {\n grid.imageLoadedTime = new Date().getTime()\n angular.forEach(grid.cameraPositions, function (camera) {\n ApiCameraModel.getImage({ id1: camera.id }, function (data) {\n camera.dataUrl = data.contentBase64\n camera.imageContentType = data.contentType\n })\n })\n grid.reloadEnabled = false\n setupReloadTimer(grid)\n }\n\n function setupCountdownTimer(grid) {\n if (grid.countdownTimer) {\n $interval.cancel(grid.countdownTimer)\n }\n\n grid.timeToReload = grid.refreshRate - (new Date().getTime() - grid.imageLoadedTime)\n grid.countdownTimer = $interval(function () {\n grid.timeToReload = grid.refreshRate - (new Date().getTime() - grid.imageLoadedTime)\n }, 500)\n }\n\n function setupReloadTimer(grid) {\n if (grid.reloadTimer) {\n $timeout.cancel(grid.reloadTimer)\n }\n grid.reloadTimer = $timeout(function () {\n grid.reloadEnabled = true\n if (grid.autoRefreshEnabled) {\n reloadImage(grid)\n }\n }, grid.refreshRate)\n }\n\n function changeAutoRefresh(grid) {\n if (grid.reloadEnabled && grid.autoRefreshEnabled) {\n reloadImage(grid)\n }\n if (grid.autoRefreshEnabled) {\n setupCountdownTimer(grid)\n } else if (grid.countdownTimer) {\n $interval.cancel(grid.countdownTimer)\n grid.countdownTimer = null\n }\n }\n\n function destroyTimers() {\n angular.forEach(vm.cameraGrids, function (grid) {\n if (grid.countdownTimer) {\n $interval.cancel(grid.countdownTimer)\n grid.countdownTimer = null\n }\n if (grid.reloadTimer) {\n $timeout.cancel(grid.reloadTimer)\n }\n })\n }\n\n $scope.$on('$destroy', destroyTimers)\n $scope.$on('logout', destroyTimers)\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('AdminFutureCameraController', AdminFutureCameraController)\n\n AdminFutureCameraController.$inject = [\n '$http',\n '$uibModal',\n '$window',\n 'ApiCameraModel',\n 'ApiAdminCameraModel',\n 'QueryFilterService',\n 'BOOL_VALUES',\n ]\n\n function AdminFutureCameraController(\n $http,\n $uibModal,\n $window,\n ApiCameraModel,\n ApiAdminCameraModel,\n QueryFilterService,\n BOOL_VALUES,\n ) {\n const vm = this\n vm.boolValues = BOOL_VALUES\n\n vm.filterData = filterData\n vm.openFutureCameraForm = openFutureCameraForm\n vm.openDeleteFutureCamera = openDeleteFutureCamera\n vm.exportFutureCameras = exportFutureCameras\n\n activate()\n\n function activate() {\n initSearchQuery()\n prepareTableHeaders()\n initFutureCameraEnums()\n getFutureCameras()\n }\n\n function initSearchQuery() {\n vm.query = {}\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = true\n vm.orderByField = 'id'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/camera/meta/future-camera-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function initFutureCameraEnums() {\n vm.futureCameraTypes = ApiCameraModel.getTypes()\n vm.futureCameraStates = ApiCameraModel.getCameraStates()\n vm.futureCameraConstructionReasons = ApiCameraModel.getCameraConstructionReasons()\n }\n\n function getFutureCameras() {\n vm.loadingData = true\n var search = QueryFilterService.getSearchObject(\n vm.pageSize,\n vm.currentPage,\n vm.orderByField,\n vm.reverseSort,\n vm.query,\n )\n\n ApiAdminCameraModel.getFutureCameraEntries(\n {},\n search,\n function (entries) {\n vm.futureCameras = entries.data\n vm.totalCount = entries.totalCount\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function openFutureCameraForm(camera) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/future/futureCameraFormModal.html',\n controller: 'FutureCameraFormModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n camera: function () {\n return angular.copy(camera)\n },\n cameraTypes: function () {\n return vm.futureCameraTypes\n },\n cameraStates: function () {\n return vm.futureCameraStates\n },\n cameraConstructionReasons: function () {\n return vm.futureCameraConstructionReasons\n },\n },\n })\n modalInstance.result.then(\n function (request) {\n request.$promise.then(function () {\n getFutureCameras()\n })\n },\n function () {},\n )\n }\n\n function openDeleteFutureCamera(camera) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/future/futureCameraRequestDeleteModal.html',\n controller: 'FutureCameraRequestDeleteModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n camera: function () {\n return camera\n },\n },\n })\n modalInstance.result.then(\n function (request) {\n request.$promise.then(function () {\n getFutureCameras()\n })\n },\n function () {},\n )\n }\n\n function filterData() {\n vm.currentPage = 1\n getFutureCameras()\n }\n\n function exportFutureCameras() {\n var search = QueryFilterService.getSearchObject(\n vm.pageSize,\n vm.currentPage,\n vm.orderByField,\n vm.reverseSort,\n vm.query,\n )\n\n return ApiAdminCameraModel.getFutureCamerasExport(search, function (data) {\n $window.saveAs(data.blob, data.fileName)\n })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('AdminFutureCameraFormController', AdminFutureCameraFormController)\n\n AdminFutureCameraFormController.$inject = [\n '$state',\n '$stateParams',\n '$uibModal',\n 'ApiCameraModel',\n 'ApiAdminCameraModel',\n 'CameraMapService',\n 'FlashMessage',\n 'BOOL_VALUES',\n 'APP_CONFIG',\n ]\n\n function AdminFutureCameraFormController(\n $state,\n $stateParams,\n $uibModal,\n ApiCameraModel,\n ApiAdminCameraModel,\n CameraMapService,\n FlashMessage,\n BOOL_VALUES,\n APP_CONFIG,\n ) {\n const vm = this\n\n vm.ok = ok\n\n vm.data = {\n mapLayers: [],\n legend: [],\n }\n vm.baseUrl = APP_CONFIG.cdnUrl\n vm.isEdit = !!$stateParams.id\n\n vm.boolSelect = BOOL_VALUES\n vm.openUploadDocumentModal = openUploadDocumentModal\n vm.openDeleteDocumentModal = openDeleteDocumentModal\n\n // TODO remove filled form data\n // vm.camera = {\n // \"name\": \"TK 007 2\",\n // \"alias\": \"TK 007 2\",\n // \"isPublic\": false,\n // \"requestedBy\": \"Nekdo\",\n // \"requestedOn\": null,\n // \"requestNote\": \"\",\n // \"cameraMobilityType\": \"FIXED\",\n // \"description\": \"Pekna kamerka\",\n // \"location\": {\n // \"latitude\": 0,\n // \"longitude\": 0\n // },\n // \"locationDescription\": \"Nekde\",\n // \"locationOwner\": \"Nekdo\",\n // \"locationAddress\": \"Nekde\",\n // \"constructionReason\": \"NewCamera\",\n // \"state\": \"Draft\",\n // \"newFibreOpticConnectionOn\": null,\n // \"existingFibreOpticConnectionSbName\": \"Unknown\",\n // \"fibreOptionConnectionNote\": \"\",\n // \"ownerApprovalRequestOn\": null,\n // \"ownerApprovedOn\": null,\n // \"ownerApprovalNote\": \"Tak teda jo no\",\n // \"conservationApprovalRequestedOn\": null,\n // \"conservationApprovedOn\": null,\n // \"conservationApprovalNote\": \"Tak my taky jo\",\n // \"buildingPermitRequestedOn\": null,\n // \"buildingPermitGrantedOn\": null,\n // \"buildingPermitNote\": \"Jasny, v pohode\",\n // \"connectionToNnOn\": null,\n // };\n\n activate()\n\n function activate() {\n getCamera()\n getCameraTypes()\n getCameraStates()\n getCameraConstructionReasons()\n }\n\n function getCamera() {\n vm.loadingData = true\n\n if ($stateParams.id) {\n ApiAdminCameraModel.getFutureCameraRequest({ id2: $stateParams.id }, function (data) {\n vm.camera = data\n initMap(vm.camera)\n vm.loadingData = false\n })\n } else {\n vm.camera = {\n cameraMobilityType: 'FIXED',\n constructionReason: 'NewCamera',\n state: 'Draft',\n }\n initMap(vm.camera)\n vm.loadingData = false\n }\n }\n\n function getCameraTypes() {\n return (vm.cameraTypes = ApiCameraModel.getTypes())\n }\n\n function getCameraStates() {\n return (vm.cameraStates = ApiCameraModel.getCameraStates())\n }\n\n function getCameraConstructionReasons() {\n return (vm.cameraConstructionReasons = ApiCameraModel.getCameraConstructionReasons())\n }\n\n function initMap(futureCamera) {\n CameraMapService.initCameraMapForFutureCameraSelect(vm.data, futureCamera)\n }\n\n function createFutureCamera(camera) {\n var attachments = angular.copy(camera.attachments)\n delete camera['attachments'] // TODO hack protoze BE haze chybu, kdyz mu poslu atribut attachments, melo by se poresit na BE\n\n ApiAdminCameraModel.createFutureCamera({ camera: camera }, function (data) {\n FlashMessage.add('Kamera byla úspěšně vytvořena.', 'success', 1)\n\n angular.forEach(attachments, function (file) {\n ApiAdminCameraModel.assignFutureCameraAttachment({\n id1: data.id,\n id2: file.id,\n })\n })\n $state.go('admin.future-camera')\n })\n }\n\n function updateFutureCamera(camera) {\n ApiAdminCameraModel.updateFutureCamera(\n { id2: camera.id },\n { camera: camera },\n function (data) {\n FlashMessage.add('Kamera byla úspěšně upravena.', 'success', 1)\n $state.go('admin.future-camera')\n },\n )\n }\n\n function ok() {\n if (vm.isEdit) {\n updateFutureCamera(vm.camera)\n } else {\n createFutureCamera(vm.camera)\n }\n }\n\n function openUploadDocumentModal() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/layout/modal/textAngular/uploadDocumentModal.html',\n controller: 'UploadDocumentModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function (files) {\n if (!vm.camera.hasOwnProperty('attachments')) {\n vm.camera.attachments = []\n }\n\n angular.forEach(files, function (file) {\n if (vm.isEdit) {\n ApiAdminCameraModel.assignFutureCameraAttachment({\n id1: vm.camera.id,\n id2: file.fileInfo.id,\n })\n }\n vm.camera.attachments.push(file.fileInfo)\n })\n },\n function () {},\n )\n }\n\n function openDeleteDocumentModal(file) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/camera/deleteCameraAttachmentModal.html',\n controller: 'DeleteCameraAttachmentModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n camera: function () {\n return vm.camera\n },\n attachment: function () {\n return file\n },\n },\n })\n modalInstance.result.then(\n function (file) {\n if (vm.isEdit) {\n ApiAdminCameraModel.unassignFutureCameraAttachment({\n id1: vm.camera.id,\n id2: file.id,\n })\n }\n for (var index in vm.camera.attachments) {\n if (vm.camera.attachments[index].id === file.id) {\n vm.camera.attachments.splice(index, 1)\n break\n }\n }\n },\n function () {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.cms').controller('AdminCmsController', AdminCmsController)\n\n AdminCmsController.$inject = [\n '$http',\n '$state',\n '$stateParams',\n '$uibModal',\n 'ApiAdminArticleModel',\n 'APP_CONFIG',\n 'BOOL_VALUES',\n ]\n\n function AdminCmsController(\n $http,\n $state,\n $stateParams,\n $uibModal,\n ApiAdminArticleModel,\n APP_CONFIG,\n BOOL_VALUES,\n ) {\n const vm = this\n vm.getArticles = getArticles\n vm.query = {\n parentId: null,\n }\n vm.boolValues = BOOL_VALUES\n vm.openDeactivateArticle = openDeactivateArticle\n\n activate()\n\n function activate() {\n getArticlesStructure()\n prepareTableHeaders()\n }\n\n function getArticlesStructure() {\n vm.loadingData = true\n vm.articlesStructure = ApiAdminArticleModel.getArticleTree(\n { cultureCode: APP_CONFIG.translation.fallbackLanguage },\n function (tree) {\n if (!$stateParams.id) {\n var childArticle = tree[0].childArticles[0]\n if (childArticle) {\n $state.go(\n 'admin.cms',\n {\n id: childArticle.draft ? childArticle.draft.id : childArticle.id,\n },\n { reload: true },\n )\n } else {\n vm.loadingData = false\n }\n } else {\n getArticles()\n }\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function getArticles() {\n ApiAdminArticleModel.getAllArticles(\n {\n cultureCode: APP_CONFIG.translation.fallbackLanguage,\n includeInactive: true,\n },\n function (articles) {\n vm.mainArticle =\n _.find(articles, ['id', $stateParams.id]) ||\n _.find(articles, ['draft.id', $stateParams.id])\n if (vm.mainArticle) {\n vm.childArticles = _.filter(articles, ['parentId', vm.mainArticle.id])\n if (vm.childArticles && vm.childArticles.length > 0 && !$stateParams.childId) {\n var firstChild = vm.childArticles[0]\n $state.go(\n 'admin.cms',\n {\n id: vm.mainArticle.draft ? vm.mainArticle.draft.id : vm.mainArticle.id,\n childId: firstChild.draft ? firstChild.draft.id : firstChild.id,\n },\n { reload: true },\n )\n } else {\n vm.mainChildArticle =\n _.find(articles, ['id', $stateParams.childId]) ||\n _.find(articles, ['draft.id', $stateParams.childId])\n if (vm.mainChildArticle) {\n vm.subChildArticles = _.filter(articles, ['parentId', vm.mainChildArticle.id])\n }\n vm.loadingData = false\n }\n } else {\n vm.loadingData = false\n }\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/cms/meta/article-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function openDeactivateArticle(article) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/cms/modal/article/deactivateArticleModal.html',\n controller: 'DeactivateArticleModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n article: function () {\n return article\n },\n cultureData: function () {\n return {\n cultureCode: article.cultureCode,\n isDefault: true,\n }\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getArticles()\n })\n },\n function () {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.cms')\n .controller('AdminCreateArticleController', AdminCreateArticleController)\n\n AdminCreateArticleController.$inject = [\n '$state',\n '$uibModal',\n 'ApiAdminArticleModel',\n 'ApiAdminDocumentModel',\n 'FlashMessage',\n ]\n\n function AdminCreateArticleController(\n $state,\n $uibModal,\n ApiAdminArticleModel,\n ApiAdminDocumentModel,\n FlashMessage,\n ) {\n const vm = this\n vm.modelCommonData = ['parent', 'order']\n vm.article = {}\n\n vm.createArticle = createArticle\n vm.openEditStructure = openEditStructure\n\n activate()\n\n function activate() {\n vm.loadingData = true\n }\n\n vm.onTranslationInit = function (cultureCode) {\n ApiAdminDocumentModel.getStructure(\n { cultureCode: cultureCode },\n function (data) {\n vm.documentsStructure = data\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n ApiAdminArticleModel.getArticleTree(\n { cultureCode: cultureCode },\n function (data) {\n vm.articlesStructure = data\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function createArticle(data, publish) {\n if (data.fileFolderId) {\n data.fileFolderId = data.fileFolderId.folderId ? data.fileFolderId.folderId : null\n }\n\n ApiAdminArticleModel.createArticle(data, function (article) {\n if (publish) {\n ApiAdminArticleModel.publishArticle(\n { cultureCode: data.cultureCode, id: article.id },\n function (warningResponse) {\n if (warningResponse && warningResponse.hasOwnProperty('errorMessage')) {\n FlashMessage.add(warningResponse.errorMessage, 'warning', 1)\n } else {\n FlashMessage.add(\n 'Článek ' + data.title + ' byl úspěšně vytvořen a publikován.',\n 'success',\n 1,\n )\n }\n },\n )\n } else {\n FlashMessage.add('Článek ' + data.title + ' byl úspěšně vytvořen.', 'success', 1)\n }\n\n ApiAdminArticleModel.getArticle({ id: article.id }, function (article) {\n var params = getRedirectPathParams(data.parent, article)\n $state.go('admin.cms', params, { reload: true })\n })\n })\n }\n\n function getRedirectPathParams(parentArticle, article) {\n if (angular.isUndefined(parentArticle.parentId) || parentArticle.parentId === null) {\n return { id: article.draft ? article.draft.id : article.id }\n } else {\n var parent = _.find(vm.articlesStructure[0].childArticles, ['id', parentArticle.parentId])\n if (parent && parent.parentId !== null) {\n return {\n id: parent.draft ? parent.draft.id : parent.id,\n childId: parentArticle.draft ? parentArticle.draft.id : parentArticle.id,\n }\n } else {\n return {\n id: parentArticle.draft ? parentArticle.draft.id : parentArticle.id,\n childId: article.draft ? article.draft.id : article.id,\n }\n }\n }\n }\n\n function openEditStructure() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/cms/modal/structure/editArticleStructureModal.html',\n controller: 'EditArticleStructureModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function () {},\n function () {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.cms')\n .controller('AdminEditArticleController', AdminEditArticleController)\n\n AdminEditArticleController.$inject = [\n '$stateParams',\n '$state',\n '$uibModal',\n 'ApiAdminArticleModel',\n 'ApiAdminDocumentModel',\n 'FlashMessage',\n 'UtilService',\n 'APP_CONFIG',\n ]\n\n function AdminEditArticleController(\n $stateParams,\n $state,\n $uibModal,\n ApiAdminArticleModel,\n ApiAdminDocumentModel,\n FlashMessage,\n UtilService,\n APP_CONFIG,\n ) {\n const vm = this\n vm.modelCultureData = [\n 'cultureCode',\n 'title',\n 'description',\n 'keywords',\n 'perex',\n 'relativeUrl',\n 'publicContent',\n 'privateContent',\n 'breadcrumbs',\n 'active',\n 'fileFolderId',\n ]\n\n vm.setEntityLoadedFn = function (emitEntityLoadedFn) {\n vm.emitEntityLoaded = emitEntityLoadedFn\n }\n\n vm.editArticle = editArticle\n vm.openEditStructure = openEditStructure\n vm.openDeactivateArticle = openDeactivateArticle\n vm.openDeleteArticle = openDeleteArticle\n\n activate()\n\n function activate() {\n vm.loadingData = true\n\n ApiAdminArticleModel.getArticle({ id: $stateParams.id }, function (article) {\n vm.article = article\n vm.emitEntityLoaded()\n })\n }\n\n function editArticle(publish) {\n if (vm.article.fileFolderId) {\n vm.article.fileFolderId = vm.article.fileFolderId.folderId\n ? vm.article.fileFolderId.folderId\n : null\n }\n\n ApiAdminArticleModel.editArticle({ id: vm.article.id }, vm.article, function (article) {\n if (publish) {\n ApiAdminArticleModel.publishArticle(\n { cultureCode: vm.article.cultureCode, id: article.id },\n function (warningResponse) {\n if (warningResponse && warningResponse.hasOwnProperty('errorMessage')) {\n FlashMessage.add(warningResponse.errorMessage, 'warning', 1)\n } else {\n FlashMessage.add(\n 'Článek ' + vm.article.title + ' byl úspěšně editován a publikován.',\n 'success',\n 1,\n )\n }\n vm.article.draft = { id: vm.article.draftParentId }\n $state.go('admin.cms', getRedirectPathParams(vm.article.parent, vm.article), {\n reload: true,\n })\n },\n )\n } else {\n FlashMessage.add('Článek ' + vm.article.title + ' byl úspěšně editován.', 'success', 1)\n $state.go('admin.cms', getRedirectPathParams(vm.article.parent, vm.article), {\n reload: true,\n })\n }\n })\n }\n\n function getRedirectPathParams(parentArticle, article) {\n if (angular.isUndefined(parentArticle.parentId) || parentArticle.parentId === null) {\n return { id: article.draft ? article.draft.id : article.id }\n } else {\n var parent = _.find(vm.articlesStructure[0].childArticles, ['id', parentArticle.parentId])\n if (parent && parent.parentId !== null) {\n return {\n id: parent.draft ? parent.draft.id : parent.id,\n childId: parentArticle.draft ? parentArticle.draft.id : parentArticle.id,\n }\n } else {\n return {\n id: parentArticle.draft ? parentArticle.draft.id : parentArticle.id,\n childId: article.draft ? article.draft.id : article.id,\n }\n }\n }\n }\n\n function openEditStructure() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/cms/modal/structure/editArticleStructureModal.html',\n controller: 'EditArticleStructureModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function () {},\n function () {},\n )\n }\n\n function openDeactivateArticle(article) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/cms/modal/article/deactivateArticleModal.html',\n controller: 'DeactivateArticleModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n article: function () {\n return article\n },\n cultureData: function () {\n return {\n cultureCode: vm.actualCultureCode,\n isDefault: vm.isDefualtLanguage,\n }\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n var params = getRedirectPathParams(article.parent, article)\n $state.go('admin.cms', params, { reload: true })\n })\n },\n function () {},\n )\n }\n\n function openDeleteArticle(article) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/cms/modal/article/deleteArticleModal.html',\n controller: 'DeleteArticleModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n article: function () {\n return article\n },\n cultureData: function () {\n return {\n cultureCode: vm.actualCultureCode,\n isDefault: vm.isDefualtLanguage,\n }\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n var params = getRedirectPathParams(article.parent, article)\n $state.go('admin.cms', params, { reload: true })\n })\n },\n function () {},\n )\n }\n\n function getDocuments(cultureCode, firstLoad) {\n ApiAdminDocumentModel.getStructure(\n { cultureCode: cultureCode, folderCultureRequired: true },\n function (structure) {\n vm.documentsStructure = structure\n\n if (firstLoad) {\n ApiAdminArticleModel.getArticleTree(\n { cultureCode: cultureCode },\n function (data) {\n vm.articlesStructure = data\n\n var result = []\n UtilService.findObjectKeyRecursively(\n data[0],\n 'childArticles',\n 'id',\n vm.article.parentId,\n result,\n )\n vm.article.parent = result.length > 0 ? result[0] : null\n\n result = []\n UtilService.findObjectKeyRecursively(\n structure[0],\n 'subFolders',\n 'folderId',\n vm.article.fileFolderId,\n result,\n )\n vm.article.fileFolderId = result.length > 0 ? result[0] : null\n\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n } else {\n var result = []\n UtilService.findObjectKeyRecursively(\n structure[0],\n 'subFolders',\n 'folderId',\n vm.article.fileFolderId,\n result,\n )\n vm.article.fileFolderId = result.length > 0 ? result[0] : null\n }\n },\n )\n }\n\n function isDefualtLanguageUpdate(cultureCode) {\n vm.isDefualtLanguage = cultureCode === APP_CONFIG.translation.fallbackLanguage\n }\n\n vm.onTranslationInit = function (cultureCode) {\n vm.actualCultureCode = cultureCode\n isDefualtLanguageUpdate(cultureCode)\n getDocuments(cultureCode, true)\n }\n\n vm.onTranslationAdd = function (cultureCode) {\n vm.actualCultureCode = cultureCode\n isDefualtLanguageUpdate(cultureCode)\n getDocuments(cultureCode)\n vm.article.active = false\n }\n\n vm.onTranslationChange = function (cultureCode) {\n vm.actualCultureCode = cultureCode\n isDefualtLanguageUpdate(cultureCode)\n getDocuments(cultureCode)\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.document')\n .controller('AdminDocumentController', AdminDocumentController)\n\n AdminDocumentController.$inject = [\n '$uibModal',\n 'ApiAdminDocumentModel',\n 'PersistenceModel',\n 'APP_CONFIG',\n ]\n\n function AdminDocumentController($uibModal, ApiAdminDocumentModel, PersistenceModel, APP_CONFIG) {\n const vm = this\n\n vm.apiKey = PersistenceModel.getAccessToken()\n vm.baseUrl = APP_CONFIG.cdnUrl\n\n vm.allowStructureEdit = true\n vm.placeholder = []\n\n vm.openCreateDocument = openCreateDocument\n vm.openCreateDocuments = openCreateDocuments\n vm.openEditDocument = openEditDocument\n vm.openDeleteDocument = openDeleteDocument\n\n vm.editTree = editTree\n vm.removeTree = removeTree\n vm.toggleTree = toggleTree\n vm.createSubtree = createSubtree\n\n var translationTabsHandlers = {}\n\n vm.setHandlersFn = function (handlersObj) {\n translationTabsHandlers = handlersObj\n }\n \n\n function getStructure(cultureCode) {\n vm.loadingData = true\n ApiAdminDocumentModel.getStructure(\n { cultureCode: cultureCode },\n function (data) {\n vm.documents = data\n if (vm.allowStructureEdit && vm.documents[0].parentId === undefined) {\n updatePlaceholders(vm.documents[0])\n }\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function removeTree(scope) {\n var nodeData = scope.$modelValue\n if (!nodeData.hasArticles) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/document/modal/file/deleteFolderModal.html',\n controller: 'DeleteFolderModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n folder: function () {\n return nodeData\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n scope.remove()\n })\n },\n function () {},\n )\n } else {\n ApiAdminDocumentModel.deleteFolder({ id: nodeData.folderId }, function () {\n scope.remove()\n })\n }\n }\n\n function toggleTree(scope) {\n scope.toggle()\n _.each(scope.childNodes(), function (c) {\n c.collapse()\n })\n }\n\n function createSubtree(scope) {\n var nodeData = scope.$modelValue\n var subFolder = {\n parentId: nodeData.folderId,\n folderCultures: [\n {\n cultureCode: vm.cultureCode,\n name: nodeData.folderCultures[0].name + '.' + (nodeData.subFolders.length + 1),\n files: [],\n },\n ],\n hasArticles: false,\n subFolders: [],\n }\n vm.loadingData = true\n ApiAdminDocumentModel.createFolder(\n { folder: subFolder },\n function (folder) {\n subFolder.folderId = folder.id\n nodeData.subFolders.push(subFolder)\n updatePlaceholders(subFolder)\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function editTree(scope) {\n var nodeData = scope.$modelValue\n nodeData.folderCultures[0].cultureCode = vm.cultureCode\n if (vm.cultureCode === vm.defualtLanguage) {\n updatePlaceholders(nodeData)\n }\n\n ApiAdminDocumentModel.editFolder(\n { id: nodeData.folderId },\n { folder: nodeData },\n function () {\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function openCreateDocument(folder) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/document/modal/file/createFileModal.html',\n controller: 'CreateFileModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n folder: function () {\n return folder\n },\n },\n })\n modalInstance.result.then(\n function () {},\n function () {},\n )\n }\n\n function openCreateDocuments(folder) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/document/modal/file/createMultipleFileModal.html',\n controller: 'CreateMultipleFileModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n folder: function () {\n return folder\n },\n },\n })\n modalInstance.result.then(\n function (files) {\n angular.forEach(files, function (file) {\n folder.folderCultures[0].files.push({\n public: file.fileInfo.public,\n fileId: file.fileInfo.id,\n fileAlias: file.fileInfo.alias,\n fileName: file.fileInfo.name,\n keywords: file.fileInfo.keywords,\n })\n })\n },\n function () {},\n )\n }\n\n function openEditDocument(file) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/document/modal/file/editFileModal.html',\n controller: 'EditFileModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n file: function () {\n return file\n },\n },\n })\n modalInstance.result.then(\n function () {},\n function () {},\n )\n }\n\n function openDeleteDocument(file, folder) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/document/modal/file/deleteFileModal.html',\n controller: 'DeleteFileModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n file: function () {\n return file\n },\n folder: function () {\n return folder\n },\n cultureCode: function () {\n return vm.cultureCode\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n folder.folderCultures[0].files = folder.folderCultures[0].files.filter(function (el) {\n return el.fileId !== file.fileId\n })\n })\n },\n function () {},\n )\n }\n\n function updatePlaceholders(node) {\n vm.placeholder[node.folderId] = node.folderCultures[0].name\n\n _.forEach(node.subFolders, function (subFolder) {\n updatePlaceholders(subFolder)\n })\n }\n\n function updateAllowStructureEdit() {\n vm.allowStructureEdit = vm.cultureCode === APP_CONFIG.translation.fallbackLanguage\n }\n\n vm.translationInit = function (cultureCode) {\n vm.cultureCode = cultureCode\n vm.defualtLanguage = cultureCode\n\n ApiAdminDocumentModel.getRootCultures(function (existingTranslations) {\n translationTabsHandlers.addExistingTranslation(\n existingTranslations.map(function (culture) {\n return culture.cultureCode\n }),\n )\n })\n\n updateAllowStructureEdit()\n getStructure(cultureCode)\n }\n\n vm.translationAdd = function (cultureCode) {\n vm.cultureCode = cultureCode\n\n updateAllowStructureEdit()\n getStructure(cultureCode)\n }\n\n vm.translationChange = function (cultureCode) {\n vm.cultureCode = cultureCode\n\n updateAllowStructureEdit()\n getStructure(cultureCode)\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.event')\n .controller('AdminCreateEventController', AdminCreateEventController)\n\n AdminCreateEventController.$inject = [\n '$rootScope',\n '$state',\n '$stateParams',\n '$uibModal',\n 'ApiEventModel',\n 'ApiAdminEventModel',\n 'ApiUserModel',\n 'ApiAdminUserModel',\n 'PersistenceModel',\n 'EventService',\n 'EventMapService',\n 'MapSearchService',\n 'MapHelperService',\n 'FlashMessage',\n 'APP_CONFIG',\n ]\n\n function AdminCreateEventController(\n $rootScope,\n $state,\n $stateParams,\n $uibModal,\n ApiEventModel,\n ApiAdminEventModel,\n ApiUserModel,\n ApiAdminUserModel,\n PersistenceModel,\n EventService,\n EventMapService,\n MapSearchService,\n MapHelperService,\n FlashMessage,\n APP_CONFIG,\n ) {\n const vm = this\n vm.modelCultureData = [\n 'cultureCode',\n 'location',\n 'characteristic',\n 'title',\n 'perex',\n 'keywords',\n 'description',\n 'cooperation',\n 'actionSteps',\n 'actionOSKS',\n 'relativeUrl',\n 'attachment',\n ]\n\n vm.baseUrl = APP_CONFIG.cdnUrl\n vm.hasHeadManagerRole = PersistenceModel.hasHeadManagerRole()\n vm.hasEventPublisherRole = PersistenceModel.hasEventPublisherRole()\n vm.hasTranslatorRole = PersistenceModel.hasTranslatorRole()\n vm.isEventEdit = $stateParams.isEventEdit\n // vm.asyncLoad = !!($stateParams.isEventEdit || $stateParams.id);\n vm.data = {\n mapLayers: [],\n legend: [],\n }\n\n vm.createEvent = createEvent\n vm.publishEvent = publishEvent\n vm.editAndUnpublishEvent = editAndUnpublishEvent\n vm.coordinateChanged = coordinateChanged\n vm.openUploadImageModal = openUploadImageModal\n vm.openUploadDocumentModal = openUploadDocumentModal\n vm.isWebPublicationType = isWebPublicationType\n vm.isEmailPublicationType = isEmailPublicationType\n vm.eventPublicationTypeChanged = eventPublicationTypeChanged\n\n activate()\n\n function activate() {\n getUserRefreshRate().then(function (user) {\n vm.userCameraRefreshRate = user.usersAccessRights.cameraRefreshRate * 1000\n vm.userPrivateCameraAccess = user.usersAccessRights.privateAccess\n\n initEventSourceData()\n })\n getEventTypes()\n getEventDistricts()\n getUserRoles()\n getPublicationTargetTypes()\n }\n\n function initMap() {\n EventMapService.initEventMap(\n vm.data,\n vm.event,\n null,\n openCameraDetail,\n vm.userPrivateCameraAccess,\n )\n }\n\n function getUserRefreshRate() {\n return ApiUserModel.getCurrentUser().$promise\n }\n\n function openCameraDetail(grid, camera) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/camera/cameraDetailModal.html',\n controller: 'CameraDetailModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n camera: function () {\n camera.disabled = true\n return camera\n },\n refreshRate: function () {\n return vm.userCameraRefreshRate\n },\n },\n })\n modalInstance.result.then(\n function () {},\n function () {},\n )\n }\n\n function getEventTypes() {\n vm.eventTypes = ApiEventModel.getEventTypes({\n cultureCode: APP_CONFIG.translation.fallbackLanguage,\n })\n }\n\n function getEventDistricts() {\n vm.districts = ApiUserModel.getAllDistricts()\n }\n\n function getPublicationTargetTypes() {\n vm.eventPublications = ApiEventModel.getPublicationTargetTypes()\n }\n\n function initEventSourceData() {\n if ($stateParams.id) {\n ApiAdminEventModel.getSingle({ id: $stateParams.id }, function (event) {\n vm.event = angular.extend(event, {\n validSince: event.validSince || moment().format(),\n publication: angular.extend(event.publication, setDefaultPublication()),\n })\n if (!vm.isEventEdit) {\n vm.event.id = null\n vm.event.publication.publicationType = null\n }\n initMap()\n searchAddress(vm.event)\n })\n } else {\n var event = EventService.loadSourceDataForEvent()\n vm.event = angular.extend(event, {\n source: 'Praha1.online',\n validSince: event.validSince || moment().format(),\n publication: setDefaultPublication(),\n })\n initMap()\n searchAddress(vm.event)\n }\n }\n\n function setDefaultPublication() {\n return {\n publishTarget: vm.hasEventPublisherRole || vm.hasTranslatorRole ? 'WEB_AND_EMAIL' : 'EMAIL',\n private: false,\n publishForRolesByEmail:\n vm.hasEventPublisherRole || vm.hasTranslatorRole\n ? ['REGISTERED_USER', 'CRISIS_MANAGER', 'HEAD_MANAGER']\n : ['CRISIS_MANAGER', 'HEAD_MANAGER'],\n emailToDistricts: ['PRAHA_1'],\n }\n }\n\n function searchAddress(event) {\n var address = ''\n if (event.street) {\n address = event.street\n if (event.houseNumber) {\n doAddressSearch(address + ' ' + event.houseNumber)\n }\n if (event.landRegistryNumber) {\n doAddressSearch(address + ' ' + event.landRegistryNumber)\n }\n }\n }\n\n function doAddressSearch(address) {\n MapSearchService.findAddresses(address).then(function (results) {\n var data = []\n data = data.concat(results)\n data = data.slice(0, 1)\n\n if (data.length > 0) {\n leafletData.getMap('map').then(function (map) {\n MapHelperService.moveToLocation(data[0], '', map, null, true)\n })\n }\n })\n }\n\n function createEvent() {\n vm.createEventForm.$setSubmitted()\n vm.event.publication = null\n if (vm.hasEventPublisherRole || vm.hasTranslatorRole) {\n if (vm.isEventEdit) {\n ApiAdminEventModel.editEvent({ id: vm.event.id }, vm.event, function () {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně editována.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n })\n } else {\n vm.event.id = null\n ApiAdminEventModel.createEvent(vm.event, function () {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně vytvořena.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n })\n }\n } else {\n FlashMessage.add('Nemáte oprávnění vytvořit aktualitu.')\n }\n }\n\n function publishEvent() {\n vm.createEventForm.$setSubmitted()\n vm.event.publication.publicationType = 'PUBLISHED'\n if (vm.hasEventPublisherRole || vm.hasTranslatorRole) {\n if (vm.isEventEdit) {\n ApiAdminEventModel.editEvent({ id: vm.event.id }, vm.event, function () {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně editována a publikována.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n })\n } else {\n ApiAdminEventModel.createEvent(vm.event, function (event) {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně vytvořena a publikována.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n })\n }\n } else if (vm.hasHeadManagerRole) {\n ApiAdminEventModel.createEventEmail(vm.event, function (event) {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně vytvořena a publikována na email.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n })\n } else {\n FlashMessage.add('Nemáte oprávnění publikovat aktualita.')\n }\n }\n\n function editAndUnpublishEvent() {\n if (vm.hasEventPublisherRole || vm.hasTranslatorRole || vm.hasHeadManagerRole) {\n vm.event.publication = null\n if (vm.isEventEdit) {\n ApiAdminEventModel.editEvent({ id: vm.event.id }, vm.event, function () {\n ApiAdminEventModel.unpublishEvent(\n { id: vm.event.id, cultureCode: vm.event.cultureCode },\n function () {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně editována a odpublikována.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n },\n )\n })\n }\n } else {\n FlashMessage.add('Nemáte oprávnění odpublikovat aktualitu.')\n }\n }\n\n function openUploadImageModal() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/layout/modal/textAngular/uploadImageModal.html',\n controller: 'UploadImageModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function (images) {\n angular.forEach(images, function (image) {\n vm.event.image = image.fileInfo\n })\n },\n function () {},\n )\n }\n\n function openUploadDocumentModal() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/layout/modal/textAngular/uploadDocumentModal.html',\n controller: 'UploadDocumentModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function (files) {\n angular.forEach(files, function (file) {\n vm.event.attachment = file.fileInfo\n })\n },\n function () {},\n )\n }\n\n function coordinateChanged() {\n if (vm.event.coordinateX && vm.event.coordinateY) {\n EventMapService.updateMarkerPosition(vm.event.coordinateY, vm.event.coordinateX)\n }\n }\n\n function getUserRoles() {\n ApiAdminUserModel.getAllRoles(function (roles) {\n vm.roles = _.filter(roles, function (obj) {\n if (vm.hasEventPublisherRole || vm.hasTranslatorRole) {\n return (\n obj.id === 'REGISTERED_USER' ||\n obj.id === 'CRISIS_MANAGER' ||\n obj.id === 'HEAD_MANAGER'\n )\n }\n return obj.id === 'CRISIS_MANAGER' || obj.id === 'HEAD_MANAGER'\n })\n })\n }\n\n function isWebPublicationType() {\n return vm.event && vm.event.publication ? vm.event.publication.publishTarget === 'WEB' : false\n }\n\n function isEmailPublicationType() {\n return vm.event && vm.event.publication\n ? vm.event.publication.publishTarget === 'EMAIL'\n : false\n }\n\n function eventPublicationTypeChanged() {\n if (vm.event.publication) {\n vm.event.publication.private = true\n }\n }\n\n // map events\n $rootScope.$on('mapAddressSearched', function (event, address) {\n if (!address.isStreetModel) {\n var administrativeDistrict = null\n var cityDistrict = address.nazevMestCast\n\n if (address.autoSearch === true) {\n vm.event.coordinateX = address.geometry.coordinates[0]\n vm.event.coordinateY = address.geometry.coordinates[1]\n } else {\n vm.event.street = address.nazevUlice\n vm.event.cityDistrict = cityDistrict\n vm.event.cityPart = address.nazevCastObce\n if (administrativeDistrict) {\n vm.event.administrativeDistrict = administrativeDistrict\n }\n vm.event.houseNumber = address.cisloOrientacni\n vm.event.landRegistryNumber = address.cisloDomovni\n vm.event.coordinateX = address.geometry.coordinates[0]\n vm.event.coordinateY = address.geometry.coordinates[1]\n }\n } else {\n vm.event.street = address.mkn\n }\n })\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.event').controller('AdminEventController', AdminEventController)\n\n AdminEventController.$inject = [\n '$http',\n '$state',\n 'QueryFilterService',\n 'ApiAdminEventModel',\n 'ApiEventModel',\n 'PersistenceModel',\n 'ApiFilterService',\n 'APP_CONFIG',\n ]\n\n function AdminEventController(\n $http,\n $state,\n QueryFilterService,\n ApiAdminEventModel,\n ApiEventModel,\n PersistenceModel,\n ApiFilterService,\n APP_CONFIG,\n ) {\n const vm = this\n vm.baseUrl = APP_CONFIG.cdnUrl\n vm.createEvent = createEvent\n\n vm.filterData = filterData\n vm.getEvents = getEvents\n vm.downloadEvents = downloadEvents\n\n activate()\n\n function activate() {\n initSearchQuery()\n getEvents()\n prepareTableHeaders()\n getEventSeverities()\n getEventPriorities()\n getEventTypes()\n getEventPublications()\n }\n\n function initSearchQuery() {\n vm.query = {\n enum: {\n eventCultures: {\n publication: { publicationType: ['PUBLISHED'] },\n },\n },\n }\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = true\n vm.orderByField = 'created'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/event/meta/event-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getEvents() {\n vm.loadingData = true\n var search = QueryFilterService.getSearchObject(\n vm.pageSize,\n vm.currentPage,\n vm.orderByField,\n vm.reverseSort,\n vm.query,\n )\n\n ApiAdminEventModel.getSearchedEvents(\n { cultureCode: APP_CONFIG.translation.fallbackLanguage },\n search,\n function (data) {\n vm.events = data.events\n vm.totalCount = data.totalCount\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function downloadEvents(format) {\n var search = ApiFilterService.transformSearchQueryAttribute(\n vm.query,\n ApiFilterService.KEYS.event,\n )\n ApiAdminEventModel.downloadAll(\n {},\n {\n orderBy: vm.orderByField,\n desc: vm.reverseSort,\n search: search,\n format: format,\n },\n )\n }\n\n function filterData() {\n vm.currentPage = 1\n getEvents()\n }\n\n function getEventSeverities() {\n vm.eventSeverities = ApiEventModel.getSeverities()\n }\n\n function getEventPriorities() {\n vm.eventPriorities = ApiEventModel.getPriorities()\n }\n\n function getEventTypes() {\n vm.eventTypes = ApiEventModel.getEventTypes({\n cultureCode: APP_CONFIG.translation.fallbackLanguage,\n })\n }\n\n function getEventPublications() {\n vm.eventPublications = ApiEventModel.getEventPublications()\n }\n\n function createEvent() {\n PersistenceModel.clearSourceDataForEvent()\n $state.go('admin.event-create', { id: null }, { reload: true })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.event')\n .controller('AdminEventDetailController', AdminEventDetailController)\n\n AdminEventDetailController.$inject = [\n '$http',\n '$state',\n '$stateParams',\n '$uibModal',\n 'ApiUserModel',\n 'ApiAdminUserModel',\n 'ApiEventModel',\n 'ApiAdminEventModel',\n 'PersistenceModel',\n 'FlashMessage',\n 'APP_CONFIG',\n ]\n\n function AdminEventDetailController(\n $http,\n $state,\n $stateParams,\n $uibModal,\n ApiUserModel,\n ApiAdminUserModel,\n ApiEventModel,\n ApiAdminEventModel,\n PersistenceModel,\n FlashMessage,\n APP_CONFIG,\n ) {\n const vm = this\n vm.baseUrl = APP_CONFIG.cdnUrl\n vm.hasHeadManagerRole = PersistenceModel.hasHeadManagerRole()\n vm.hasEventPublisherRole = PersistenceModel.hasEventPublisherRole()\n vm.hasTranslatorRole = PersistenceModel.hasTranslatorRole()\n\n vm.publishEvent = publishEvent\n vm.unpublishEvent = unpublishEvent\n vm.openUploadDocumentModal = openUploadDocumentModal\n vm.isWebPublicationType = isWebPublicationType\n vm.isEmailPublicationType = isEmailPublicationType\n vm.eventPublicationTypeChanged = eventPublicationTypeChanged\n\n activate()\n\n function activate() {\n prepareTableHeaders()\n getEvent()\n // getEventSeverities();\n getEventPriorities()\n getEventTypes()\n getEventPublications()\n\n getPublicationTargetTypes()\n getEventDistricts()\n getUserRoles()\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/event/meta/event-detail.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getEvent() {\n vm.loadingData = true\n ApiAdminEventModel.getSingle(\n {\n id: $stateParams.id,\n cultureCode: APP_CONFIG.translation.fallbackLanguage,\n },\n function (event) {\n vm.event = angular.extend(event, event.eventCultures[0])\n if (\n vm.event.publication &&\n vm.event.publication.emailToDistricts &&\n vm.event.publication.emailToDistricts.length === 0\n ) {\n delete vm.event.publication.emailToDistricts\n }\n vm.event.publication = angular.extend({}, setDefaultPublication(), vm.event.publication)\n vm.event.isPublished = vm.event.publication.publicationType === 'PUBLISHED'\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function setDefaultPublication() {\n return {\n publishTarget: vm.hasEventPublisherRole || vm.hasTranslatorRole ? 'WEB_AND_EMAIL' : 'EMAIL',\n private: true,\n publishForRolesByEmail:\n vm.hasEventPublisherRole || vm.hasTranslatorRole\n ? ['REGISTERED_USER', 'CRISIS_MANAGER', 'HEAD_MANAGER']\n : ['CRISIS_MANAGER', 'HEAD_MANAGER'],\n emailToDistricts: ['PRAHA_1'],\n }\n }\n\n // function getEventSeverities() {\n // vm.eventSeverities = ApiEventModel.getSeverities();\n // }\n\n function getEventPriorities() {\n vm.eventPriorities = ApiEventModel.getPriorities()\n }\n\n function getEventTypes() {\n vm.eventTypes = ApiEventModel.getEventTypes({\n cultureCode: APP_CONFIG.translation.fallbackLanguage,\n })\n }\n\n function getEventPublications() {\n vm.eventPublications = ApiEventModel.getEventPublications()\n }\n\n function getEventDistricts() {\n vm.districts = ApiUserModel.getAllDistricts()\n }\n\n function getPublicationTargetTypes() {\n vm.eventTargetPublications = ApiEventModel.getPublicationTargetTypes()\n }\n\n function publishEvent() {\n if (vm.hasEventPublisherRole || vm.hasTranslatorRole) {\n ApiAdminEventModel.publishEvent(\n { id: vm.event.id, cultureCode: vm.event.cultureCode },\n vm.event.publication,\n function () {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně publikována.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n },\n )\n } else if (vm.hasHeadManagerRole) {\n vm.event.id = null\n ApiAdminEventModel.createEventEmail(vm.event, function (event) {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně publikována na email.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n })\n } else {\n FlashMessage.add('Nemáte oprávnění vytvořit aktualitu.')\n }\n }\n\n function unpublishEvent() {\n ApiAdminEventModel.unpublishEvent(\n { id: vm.event.id, cultureCode: vm.event.cultureCode },\n function () {\n FlashMessage.add(\n 'Aktualita ' + vm.event.title + ' byla úspěšně odpublikována.',\n 'success',\n 1,\n )\n $state.go('admin.event', {}, { reload: true })\n },\n )\n }\n\n function openUploadDocumentModal() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/layout/modal/textAngular/uploadDocumentModal.html',\n controller: 'UploadDocumentModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function (files) {\n angular.forEach(files, function (file) {\n vm.event.attachment = file.fileInfo\n })\n },\n function () {},\n )\n }\n\n function getUserRoles() {\n ApiAdminUserModel.getAllRoles(function (roles) {\n vm.roles = _.filter(roles, function (obj) {\n if (vm.hasEventPublisherRole || vm.hasTranslatorRole) {\n return (\n obj.id === 'REGISTERED_USER' ||\n obj.id === 'CRISIS_MANAGER' ||\n obj.id === 'HEAD_MANAGER'\n )\n }\n return obj.id === 'CRISIS_MANAGER' || obj.id === 'HEAD_MANAGER'\n })\n })\n }\n\n function isWebPublicationType() {\n return vm.event\n ? vm.event.publication\n ? vm.event.publication.publishTarget === 'WEB'\n : false\n : false\n }\n\n function isEmailPublicationType() {\n return vm.event\n ? vm.event.publication\n ? vm.event.publication.publishTarget === 'EMAIL'\n : false\n : false\n }\n\n function eventPublicationTypeChanged() {\n if (vm.event.publication) {\n vm.event.publication.private = true\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.initiative')\n .controller('AdminInitiativeCategoryController', AdminInitiativeCategoryController)\n\n AdminInitiativeCategoryController.$inject = [\n '$uibModal',\n 'ApiAdminInitiativeModel',\n 'ApiAdminUserModel',\n 'APP_CONFIG',\n ]\n\n function AdminInitiativeCategoryController(\n $uibModal,\n ApiAdminInitiativeModel,\n ApiAdminUserModel,\n APP_CONFIG,\n ) {\n const vm = this\n\n vm.openCreateCategory = openCreateCategory\n vm.openEditCategory = openEditCategory\n vm.openIsActiveToggleCategory = openIsActiveToggleCategory\n\n activate()\n\n function activate() {\n getInitiativeCategories()\n getInitiativeAdminUsers()\n }\n\n function getInitiativeCategories() {\n vm.loadingData = true\n ApiAdminInitiativeModel.getInitiativeCategories(\n function (data) {\n vm.initiativeCategories = data.map(function (category) {\n category.name = category.cultures.filter(function (culture) {\n return culture.cultureCode === APP_CONFIG.translation.fallbackLanguage\n })[0].name\n return category\n })\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function getInitiativeAdminUsers() {\n ApiAdminUserModel.getInitiativeAdminUsers(function (data) {\n vm.initiativeAdminUsers = data\n })\n }\n\n function openCreateCategory() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/initiative/modal/category/createCategoryModal.html',\n controller: 'CreateCategoryModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n users: function () {\n return vm.initiativeAdminUsers\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getInitiativeCategories()\n })\n },\n function () {},\n )\n }\n\n function openEditCategory(category) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/initiative/modal/category/editCategoryModal.html',\n controller: 'EditCategoryModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n users: function () {\n return vm.initiativeAdminUsers\n },\n category: function () {\n return category\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getInitiativeCategories()\n })\n },\n function () {},\n )\n }\n\n function openIsActiveToggleCategory(category) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/initiative/modal/category/isActiveCategoryModal.html',\n controller: 'IsActiveCategoryModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n category: function () {\n return category\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getInitiativeCategories()\n })\n },\n function () {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.initiative')\n .controller('AdminInitiativeController', AdminInitiativeController)\n\n AdminInitiativeController.$inject = [\n '$http',\n '$uibModal',\n 'QueryFilterService',\n 'PersistenceModel',\n 'ApiAdminInitiativeModel',\n 'ApiInitiativeModel',\n 'ApiLanguageModel',\n 'APP_CONFIG',\n 'BOOL_VALUES',\n ]\n\n function AdminInitiativeController(\n $http,\n $uibModal,\n QueryFilterService,\n PersistenceModel,\n ApiAdminInitiativeModel,\n ApiInitiativeModel,\n ApiLanguageModel,\n APP_CONFIG,\n BOOL_VALUES,\n ) {\n var lang = APP_CONFIG.translation.fallbackLanguage\n\n const vm = this\n\n vm.reportedSelect = BOOL_VALUES\n vm.activeSelect = BOOL_VALUES\n\n vm.getInitiatives = getInitiatives\n vm.filterData = filterData\n vm.openChangeStateModal = openChangeStateModal\n vm.hasCurrentUserInitiativeCategoryRights = hasCurrentUserInitiativeCategoryRights\n\n activate()\n\n function activate() {\n initSearchQuery()\n prepareTableHeaders()\n getInitiatives()\n getInitiativeCategories()\n getInitiativeStateTypes()\n getLanguages()\n }\n\n function initSearchQuery() {\n vm.query = {}\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = true\n vm.orderByField = 'created'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/initiative/meta/initiative-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getInitiatives() {\n vm.loadingData = true\n var search = QueryFilterService.getSearchObject(\n vm.pageSize,\n vm.currentPage,\n vm.orderByField,\n vm.reverseSort,\n vm.query,\n )\n\n ApiAdminInitiativeModel.getSearchedInitiatives(\n {},\n search,\n function (data) {\n vm.initiatives = data.initiatives\n vm.totalCount = data.totalCount\n vm.loadingData = false\n },\n function (data) {\n vm.loadingData = false\n },\n )\n }\n\n function getInitiativeCategories() {\n vm.initiativeCategories = ApiAdminInitiativeModel.getInitiativeCategories({\n cultureCode: lang,\n })\n }\n\n function getInitiativeStateTypes() {\n vm.initiativeStateTypes = ApiInitiativeModel.getInitiativeStateTypes({\n cultureCode: lang,\n })\n }\n\n function getLanguages() {\n ApiLanguageModel.getAllLanguages(function (cultures) {\n vm.allLanguages = cultures\n cultures.unshift({ id: null, name: 'Nic nevybráno' })\n })\n }\n\n function hasCurrentUserInitiativeCategoryRights(initiative) {\n var currentUserId = PersistenceModel.getUserId()\n\n if (!initiative.responsiblePerson || initiative.responsiblePerson.id !== currentUserId) {\n return false\n }\n\n var initiativeCategoryAdmins = vm.initiativeCategories.filter(function (category) {\n return category.id === initiative.categoryId\n })\n\n if (initiativeCategoryAdmins.length > 0) {\n return initiativeCategoryAdmins[0].initiativesAdmins.indexOf(currentUserId) !== -1\n }\n return false\n }\n\n function filterData() {\n vm.currentPage = 1\n getInitiatives()\n }\n\n function openChangeStateModal(initiative) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/initiative/modal/changeState/changeStateModal.html',\n controller: 'ChangeStateModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n initiative: function () {\n return initiative\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getInitiatives()\n })\n },\n function () {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.initiative')\n .controller('AdminInitiativeDetailController', AdminInitiativeDetailController)\n\n AdminInitiativeDetailController.$inject = [\n '$stateParams',\n 'PersistenceModel',\n 'InitiativeMapService',\n 'ApiAdminInitiativeModel',\n 'ApiInitiativeModel',\n 'ApiLanguageModel',\n 'FlashMessage',\n 'APP_CONFIG',\n 'INITIATIVE_STATE_STYLES',\n 'INITIATIVE_ATTACHMENT_TYPES',\n ]\n\n function AdminInitiativeDetailController(\n $stateParams,\n PersistenceModel,\n InitiativeMapService,\n ApiAdminInitiativeModel,\n ApiInitiativeModel,\n ApiLanguageModel,\n FlashMessage,\n APP_CONFIG,\n INITIATIVE_STATE_STYLES,\n INITIATIVE_ATTACHMENT_TYPES,\n ) {\n var lang = APP_CONFIG.translation.fallbackLanguage\n var firstLoad = true\n\n const vm = this\n\n vm.data = {\n mapLayers: [],\n legend: [],\n }\n vm.emailContent = {}\n vm.stateStyles = INITIATIVE_STATE_STYLES\n\n vm.assignToMe = assignToMe\n vm.sendMail = sendMail\n vm.contactSelected = contactSelected\n\n activate()\n\n function activate() {\n getInitiative()\n getInitiativeStateTypes()\n getLanguages()\n }\n\n function initMap(initiative) {\n InitiativeMapService.initInitiativeMapForSingleInitiative(vm.data, initiative)\n }\n\n function getInitiative() {\n vm.loadingData = true\n vm.loadingNotesData = true\n ApiAdminInitiativeModel.getInitiative(\n { id: $stateParams.id, cultureCode: lang },\n function (data) {\n vm.initiative = data\n getInitiativeCategories(data, data.categoryId)\n\n vm.loadingData = false\n\n vm.initiativeNotes = data.notes\n vm.loadingNotesData = false\n\n if (firstLoad) {\n firstLoad = false\n initMap(vm.initiative)\n }\n },\n function (data) {\n vm.loadingData = false\n vm.loadingNotesData = false\n },\n )\n }\n\n function getInitiativeCategories(initiative) {\n ApiAdminInitiativeModel.getInitiativeCategories(\n { cultureCode: lang },\n function (categories) {\n vm.initiativeCategories = categories\n setMetadataForView(initiative, categories)\n },\n function () {\n FlashMessage.add('Kategorie oznámení neexistuje, pravděpodobně byla smazána.', 'danger')\n },\n )\n }\n\n function getInitiativeStateTypes() {\n vm.initiativeStateTypes = ApiInitiativeModel.getInitiativeStateTypes({\n cultureCode: lang,\n })\n }\n\n function getLanguages() {\n ApiLanguageModel.getAllLanguages(function (data) {\n vm.languages = data\n })\n }\n\n function initAttachment(attachment) {\n var type = 'none'\n var url = null\n\n if (attachment) {\n type = 'download'\n url = APP_CONFIG.cdnUrl + attachment.id\n\n for (var i = 0, knownType; (knownType = INITIATIVE_ATTACHMENT_TYPES[i]); i++) {\n if (attachment.contentType.startsWith(knownType + '/')) {\n type = knownType\n break\n }\n }\n }\n\n return {\n id: attachment.id,\n type: type,\n url: url,\n }\n }\n\n function setMetadataForView(initiative, categories) {\n vm.contactSelect = vm.initiative.author.email\n contactSelected()\n\n var currentUserId = PersistenceModel.getUserId()\n vm.isAssignedToMe =\n initiative.responsiblePerson && initiative.responsiblePerson.id === currentUserId\n vm.isNew = initiative.state === 'NEW'\n vm.isInProgress = initiative.state === 'IN_PROGRESS'\n vm.isSolved = initiative.state === 'SOLVED'\n vm.isUnsolved = initiative.state === 'UNSOLVED'\n var initiativeCategoryAdmins = categories.filter(function (category) {\n return category.id === initiative.categoryId\n })\n if (initiativeCategoryAdmins.length > 0) {\n vm.isInMyCategory =\n initiativeCategoryAdmins[0].initiativesAdmins.indexOf(currentUserId) !== -1\n }\n\n vm.initiativeAttachments = initiative.attachments.map(initAttachment)\n }\n\n function assignToMe() {\n ApiAdminInitiativeModel.assignToMe(\n { id: vm.initiative.id },\n function (data) {\n FlashMessage.add('Oznámení bylo úspěšně přiřazeno.', 'success')\n getInitiative()\n },\n function () {\n FlashMessage.add('Oznámení má již jiného řešitele.', 'warning')\n getInitiative()\n },\n )\n }\n\n function sendMail(stateKey) {\n var states = {\n 0: 'IN_PROGRESS',\n 1: 'SOLVED',\n 2: 'UNSOLVED',\n }\n\n vm.emailContent.state = states[stateKey]\n\n ApiAdminInitiativeModel.sendMail({ id: $stateParams.id }, vm.emailContent, function () {\n FlashMessage.add('Poznámka k oznámení s emailem byla úspěšně přidána.', 'success', 1)\n clearInitiativeEmailForm()\n })\n }\n\n function clearInitiativeEmailForm() {\n getInitiative()\n vm.emailContent = {}\n vm.initiativeEmailForm.$setPristine()\n }\n\n function contactSelected(removeSelection) {\n if (removeSelection) {\n delete vm.contactSelect\n } else {\n vm.emailContent.recipient = vm.contactSelect\n }\n vm.initiativeEmailForm.recipient.$dirty = true\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.layout').controller('AdminLayoutController', AdminLayoutController)\n\n AdminLayoutController.$inject = [\n '$rootScope',\n '$state',\n '$translate',\n 'ApiLanguageModel',\n 'PersistenceModel',\n 'ApiAuthenticationModel',\n 'APP_CONFIG',\n ]\n\n function AdminLayoutController(\n $rootScope,\n $state,\n $translate,\n ApiLanguageModel,\n PersistenceModel,\n ApiAuthenticationModel,\n APP_CONFIG,\n ) {\n const vm = this\n vm.changeLanguage = changeLanguage\n vm.logout = logout\n vm.fulltextSearch = fulltextSearch\n vm.openSearchBox = openSearchBox\n vm.createEvent = createEvent\n vm.scrollTo = scrollTo\n vm.modifyHtml = modifyHtml\n\n vm.hasAdminRole = PersistenceModel.hasAdminRole()\n vm.hasCrisisRole = PersistenceModel.hasCrisisRole()\n vm.hasHeadManagerRole = PersistenceModel.hasHeadManagerRole()\n vm.hasUserRole = PersistenceModel.hasUserRole()\n vm.hasEventPublisherRole = PersistenceModel.hasEventPublisherRole()\n vm.hasContentPublisherRole = PersistenceModel.hasContentPublisherRole()\n vm.hasTranslatorRole = PersistenceModel.hasTranslatorRole()\n vm.hasInitiativesAdminRole = PersistenceModel.hasInitiativesAdminRole()\n\n vm.actualCultureCode = $translate.use()\n\n activate()\n\n function activate() {\n vm.showSearchBox = false\n vm.fulltext = ''\n vm.sideMenuOpened = window.innerWidth > 767\n vm.version = APP_CONFIG.version\n vm.currentDate = new Date()\n vm.languageSelect = ApiLanguageModel.getAllLanguages()\n vm.defaultLanguage = APP_CONFIG.translation.fallbackLanguage\n }\n\n function changeLanguage(langKey) {\n $translate.use(langKey)\n vm.actualCultureCode = langKey\n }\n\n function logout() {\n $rootScope.$broadcast('logout')\n ApiAuthenticationModel.logout(\n function () {\n doLogout()\n },\n function () {\n doLogout()\n },\n )\n }\n\n function doLogout() {\n PersistenceModel.clear()\n $state.go(PersistenceModel.getDefaultPage(), {}, { reload: true })\n }\n\n function fulltextSearch() {\n $state.go('front.search', { fulltext: vm.fulltext }, {})\n }\n\n function openSearchBox() {\n if (vm.fulltext.trim() !== '') {\n fulltextSearch()\n } else {\n vm.showSearchBox = !vm.showSearchBox\n }\n angular.element('#fulltext-search').focus()\n }\n\n function createEvent() {\n PersistenceModel.clearSourceDataForEvent()\n }\n\n function scrollTo(verticalScroll) {\n angular.element('html, body').animate({ scrollTop: verticalScroll }, 400)\n }\n\n function modifyHtml(html) {\n var textFragment = html.match(/([\\s\\S]*?)/i)\n if (textFragment && textFragment.length > 1) {\n return textFragment[1]\n }\n return html\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.source').controller('AdminFiremanController', AdminFiremanController)\n\n AdminFiremanController.$inject = [\n '$http',\n '$state',\n '$uibModal',\n 'QueryFilterService',\n 'ApiAdminSourceModel',\n 'ApiSourceModel',\n 'ApiUserModel',\n 'EventService',\n ]\n\n function AdminFiremanController(\n $http,\n $state,\n $uibModal,\n QueryFilterService,\n ApiAdminSourceModel,\n ApiSourceModel,\n ApiUserModel,\n EventService,\n ) {\n const vm = this\n var districts = []\n\n vm.filterData = filterData\n vm.getFiremanEntries = getFiremanEntries\n vm.publish = publish\n vm.openUploadFiremanCsv = openUploadFiremanCsv\n\n activate()\n\n function activate() {\n initSearchQuery()\n prepareTableHeaders()\n getFiremanEntries()\n getEnums()\n getDistricts()\n }\n\n function initSearchQuery() {\n vm.query = {}\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = true\n vm.orderByField = 'incomeDate'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/sources/meta/fireman-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getFiremanEntries() {\n vm.loadingData = true\n var search = QueryFilterService.getSearchObject(\n vm.pageSize,\n vm.currentPage,\n vm.orderByField,\n vm.reverseSort,\n vm.query,\n )\n\n ApiAdminSourceModel.getSearchedFiremanEntries(\n {},\n search,\n function (entries) {\n vm.firemanEntries = entries.data\n vm.totalCount = entries.totalCount\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function filterData() {\n vm.currentPage = 1\n getFiremanEntries()\n }\n\n function getEnums() {\n vm.firemanTypes = ApiSourceModel.getFiremanTypes()\n vm.firemanSubTypes = ApiSourceModel.getFiremanSubTypes()\n }\n\n function getDistricts() {\n districts = ApiUserModel.getAllDistricts()\n }\n\n function openUploadFiremanCsv() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/sources/modal/uploadFiremanCsvModal.html',\n controller: 'UploadFiremanCsvModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function () {\n getFiremanEntries()\n },\n function () {},\n )\n }\n\n function publish(firemanEntry) {\n EventService.saveFiremanSourceData(firemanEntry, districts)\n $state.go('admin.event-create', {}, { reload: true })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.source').controller('AdminNoiseController', AdminNoiseController)\n\n AdminNoiseController.$inject = [\n '$translate',\n '$http',\n '$window',\n 'QueryFilterService',\n 'ApiAdminSourceModel',\n 'ApiSourceModel',\n ]\n\n function AdminNoiseController(\n $translate,\n $http,\n $window,\n QueryFilterService,\n ApiAdminSourceModel,\n ApiSourceModel,\n ) {\n var vm = this\n vm.filterData = filterData\n vm.exportNoiseData = exportNoiseData\n vm.getNoiseEntries = getNoiseEntries\n\n activate()\n\n function activate() {\n initSearchQuery()\n prepareTableHeaders()\n getNoiseEntries()\n getEnums()\n }\n\n function initSearchQuery() {\n vm.query = {}\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = true\n vm.orderByField = 'incomeDate'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/sources/meta/noise-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getNoiseEntries() {\n vm.loadingData = true\n var search = QueryFilterService.getSearchObject(\n vm.pageSize,\n vm.currentPage,\n vm.orderByField,\n vm.reverseSort,\n vm.query,\n )\n\n ApiAdminSourceModel.getSearchedNoiseEntries(\n {},\n search,\n function (entries) {\n vm.noiseEntries = entries.data\n vm.totalCount = entries.totalCount\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function filterData() {\n vm.currentPage = 1\n getNoiseEntries()\n }\n\n function getEnums() {\n vm.noiseStates = ApiSourceModel.getNoiseStates({ cultureCode: $translate.use() })\n }\n\n function exportNoiseData() {\n var search = QueryFilterService.getSearchObject(\n vm.totalCount,\n 1,\n vm.orderByField,\n vm.reverseSort,\n vm.query,\n )\n\n return ApiAdminSourceModel.getNoiseDataExport(search, function (data) {\n $window.saveAs(data.blob, data.fileName)\n })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.source')\n .controller('AdminPassabilityPointFormController', AdminPassabilityPointFormController)\n\n AdminPassabilityPointFormController.$inject = [\n '$state',\n '$stateParams',\n '$uibModal',\n 'MapSelectionService',\n 'ApiAdminPassabilityModel',\n 'FlashMessage',\n ]\n\n function AdminPassabilityPointFormController(\n $state,\n $stateParams,\n $uibModal,\n MapSelectionService,\n ApiAdminPassabilityModel,\n FlashMessage,\n ) {\n const vm = this\n vm.isEdit = !!$stateParams.id\n vm.ok = ok\n vm.openUploadImageModal = openUploadImageModal\n\n vm.data = {\n mapLayers: [],\n legend: [],\n }\n\n activate()\n\n function activate() {\n if (vm.isEdit) {\n getPassabilityPoint()\n } else {\n vm.passabilityPoint = { position: {} }\n initMap(vm.passabilityPoint)\n }\n }\n\n function getPassabilityPoint() {\n ApiAdminPassabilityModel.getSingle({ id: $stateParams.id }, (data) => {\n vm.passabilityPoint = data.passabilityPoint\n initMap(vm.passabilityPoint)\n })\n }\n\n function initMap(passabilityPoint) {\n MapSelectionService.initMapForSelect(vm.data, passabilityPoint.position)\n }\n\n function openUploadImageModal() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/layout/modal/textAngular/uploadImageModal.html',\n controller: 'UploadImageModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function (images) {\n angular.forEach(images, function (image) {\n vm.passabilityPoint.imageCdnDataId = image.fileInfo.id\n })\n },\n function () {},\n )\n }\n\n function ok() {\n if (vm.isEdit) {\n ApiAdminPassabilityModel.edit({}, { passabilityPoint: vm.passabilityPoint }, () => {\n FlashMessage.add(\n `Průjezdnost ${vm.passabilityPoint.placeName} byla úspěšně editována.`,\n 'warning',\n 1,\n )\n $state.go('admin.passability')\n })\n } else {\n ApiAdminPassabilityModel.create({}, { passabilityPoint: vm.passabilityPoint }, () => {\n FlashMessage.add(\n `Průjezdnost ${vm.passabilityPoint.placeName} byla úspěšně vytvořena.`,\n 'success',\n 1,\n )\n $state.go('admin.passability')\n })\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.source')\n .controller('AdminPassabilityController', AdminPassabilityController)\n\n AdminPassabilityController.$inject = [\n '$http',\n '$state',\n '$uibModal',\n 'QueryFilterService',\n 'ApiAdminPassabilityModel',\n 'ApiSourceModel',\n 'ApiUserModel',\n 'EventService',\n 'FlashMessage',\n ]\n\n function AdminPassabilityController(\n $http,\n $state,\n $uibModal,\n QueryFilterService,\n ApiAdminPassabilityModel,\n ApiSourceModel,\n ApiUserModel,\n EventService,\n FlashMessage,\n ) {\n const vm = this\n var districts = []\n\n vm.getPassabilityEntries = getPassabilityEntries\n vm.publish = publish\n vm.openUploadPassabilityCsv = openUploadPassabilityCsv\n vm.openDelete = openDelete\n\n activate()\n\n function activate() {\n initSearchQuery()\n prepareTableHeaders()\n getPassabilityEntries()\n }\n\n function initSearchQuery() {\n vm.query = {}\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = true\n vm.orderByField = '-placeName'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/sources/meta/passability-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getPassabilityEntries() {\n vm.loadingData = true\n ApiAdminPassabilityModel.getPassabilityPoints(\n {},\n function (entries) {\n vm.entries = entries.passabilityPoints\n vm.totalCount = entries.passabilityPoints.length\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function openUploadPassabilityCsv() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/sources/modal/importCsvModal.html',\n controller: 'ImportCsvModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n title: () => 'Nahrát data průjezdnosti',\n importType: () => 'passabilityPoints',\n successMessage: () => 'Data průjezdnosti byla úspěšně nahrána.',\n },\n })\n modalInstance.result.then(\n function () {\n getPassabilityEntries()\n },\n function () {},\n )\n }\n\n function publish(firemanEntry) {\n EventService.saveFiremanSourceData(firemanEntry, districts)\n $state.go('admin.event-create', {}, { reload: true })\n }\n\n function openDelete(passabilityPoint) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/sources/modal/deleteModal.html',\n controller: 'DeleteModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n data: () => {\n return {\n title: 'Smazání bodu průjezdnosti ' + passabilityPoint.placeName,\n message: 'Opravdu chcete smazat bod průjezdnosti ' + passabilityPoint.placeName + '?',\n }\n },\n },\n })\n modalInstance.result.then(\n () => {\n const promise = ApiAdminPassabilityModel.delete({ id: passabilityPoint.id }, () => {\n FlashMessage.add(`Bod průjezdnosti ${passabilityPoint.placeName} byl úspěšně smazán.`)\n })\n promise.$promise.then(() => {\n getPassabilityEntries()\n })\n },\n () => {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.source').controller('AdminPoliceController', AdminPoliceController)\n\n AdminPoliceController.$inject = [\n '$http',\n '$state',\n '$uibModal',\n 'QueryFilterService',\n 'ApiAdminSourceModel',\n 'ApiSourceModel',\n 'ApiUserModel',\n 'EventService',\n ]\n\n function AdminPoliceController(\n $http,\n $state,\n $uibModal,\n QueryFilterService,\n ApiAdminSourceModel,\n ApiSourceModel,\n ApiUserModel,\n EventService,\n ) {\n var vm = this\n var districts = []\n\n vm.filterData = filterData\n vm.getPoliceEntries = getPoliceEntries\n vm.publish = publish\n vm.openUploadPoliceCsv = openUploadPoliceCsv\n\n activate()\n\n function activate() {\n initSearchQuery()\n prepareTableHeaders()\n getPoliceEntries()\n getEnums()\n getDistricts()\n }\n\n function initSearchQuery() {\n vm.query = {}\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = true\n vm.orderByField = 'incomeDate'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/sources/meta/police-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getPoliceEntries() {\n vm.loadingData = true\n var search = QueryFilterService.getSearchObject(\n vm.pageSize,\n vm.currentPage,\n vm.orderByField,\n vm.reverseSort,\n vm.query,\n )\n\n ApiAdminSourceModel.getSearchedPoliceEntries(\n {},\n search,\n function (entries) {\n vm.policeEntries = entries.data\n vm.totalCount = entries.totalCount\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function filterData() {\n vm.currentPage = 1\n getPoliceEntries()\n }\n\n function getEnums() {\n vm.policeGroups = ApiSourceModel.getPoliceGroups()\n vm.policeTypes = ApiSourceModel.getPoliceTypes()\n vm.policePriorityTypes = ApiSourceModel.getPolicePriorityTypes()\n vm.policeStateTypes = ApiSourceModel.getPoliceStateTypes()\n }\n\n function getDistricts() {\n districts = ApiUserModel.getAllDistricts()\n }\n\n function openUploadPoliceCsv() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/sources/modal/uploadPoliceCsvModal.html',\n controller: 'UploadPoliceCsvModalController',\n controllerAs: 'modalCtrl',\n })\n modalInstance.result.then(\n function () {\n getPoliceEntries()\n },\n function () {},\n )\n }\n\n function publish(policeEntry) {\n EventService.savePoliceSourceData(policeEntry, districts)\n $state.go('admin.event-create', {}, { reload: true })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.source').controller('AdminPubController', AdminPubController)\n\n AdminPubController.$inject = ['$http', '$uibModal', 'ApiAdminSourceModel', 'ApiMapModel']\n\n function AdminPubController($http, $uibModal, ApiAdminSourceModel, ApiMapModel) {\n const vm = this\n vm.openPubEdit = openPubEdit\n vm.openPubDelete = openPubDelete\n\n activate()\n\n function activate() {\n initSearchQuery()\n prepareTableHeaders()\n getPubEntries()\n }\n\n function initSearchQuery() {\n vm.query = {}\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = false\n vm.orderByField = 'name'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/sources/meta/pub-list.json').then((response) => {\n vm.headers = response.data\n })\n }\n\n function getPubEntries() {\n vm.loadingData = true\n vm.pubEntries = ApiMapModel.getRestaurants(\n () => {\n vm.loadingData = false\n },\n () => {\n vm.loadingData = false\n },\n )\n }\n\n function openPubEdit(pub) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/sources/modal/editPubModal.html',\n controller: 'EditPubModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n pub: () => {\n return pub\n },\n },\n })\n modalInstance.result.then(\n (promise) => {\n promise.$promise.then(() => {\n getPubEntries()\n })\n },\n () => {},\n )\n }\n\n function openPubDelete(pub) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/sources/modal/deleteModal.html',\n controller: 'DeleteModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n data: () => {\n return {\n title: 'Smazání hospody ' + pub.name,\n message: 'Opravdu chcete smazat hospodu ' + pub.name + '?',\n }\n },\n },\n })\n modalInstance.result.then(\n () => {\n const promise = ApiAdminSourceModel.deletePub({ id: vm.pub.id }, () => {\n FlashMessage.add(`Hospoda ${vm.pub.name} byla úspěšně smazána.`)\n })\n promise.$promise.then(() => {\n getPubEntries()\n })\n },\n () => {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.source').controller('AdminPubFormController', AdminPubFormController)\n\n AdminPubFormController.$inject = [\n '$state',\n '$stateParams',\n 'MapSelectionService',\n 'ApiAdminSourceModel',\n 'FlashMessage',\n ]\n\n function AdminPubFormController(\n $state,\n $stateParams,\n MapSelectionService,\n ApiAdminSourceModel,\n FlashMessage,\n ) {\n const vm = this\n vm.isEdit = !!$stateParams.id\n vm.ok = ok\n\n vm.data = {\n mapLayers: [],\n legend: [],\n }\n\n activate()\n\n function activate() {\n if (vm.isEdit) {\n getPub()\n } else {\n vm.pub = { position: {} }\n initMap(vm.pub)\n }\n }\n\n function getPub() {\n ApiAdminSourceModel.getPub({ id: $stateParams.id }, (data) => {\n vm.pub = data.restaurant\n initMap(vm.pub)\n })\n }\n\n function initMap(pub) {\n MapSelectionService.initMapForSelect(vm.data, pub.position)\n }\n\n function ok() {\n if (vm.isEdit) {\n ApiAdminSourceModel.editPub({ id: vm.pub.id }, vm.pub, () => {\n FlashMessage.add(`Hospoda ${vm.pub.name} byla úspěšně editována.`, 'warning', 1)\n $state.go('admin.pub')\n })\n } else {\n ApiAdminSourceModel.createPub({}, vm.pub, () => {\n FlashMessage.add(`Hospoda ${vm.pub.name} byla úspěšně vytvořena.`, 'success', 1)\n $state.go('admin.pub')\n })\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.source')\n .controller('AdminTrafficBollardFormController', AdminTrafficBollardFormController)\n\n AdminTrafficBollardFormController.$inject = [\n '$state',\n '$stateParams',\n 'MapSelectionService',\n 'ApiAdminTrafficBollardModel',\n 'FlashMessage',\n 'BOLLARD_TYPES',\n ]\n\n function AdminTrafficBollardFormController(\n $state,\n $stateParams,\n MapSelectionService,\n ApiAdminTrafficBollardModel,\n FlashMessage,\n BOLLARD_TYPES,\n ) {\n const vm = this\n vm.isEdit = !!$stateParams.id\n vm.ok = ok\n\n vm.data = {\n mapLayers: [],\n legend: [],\n }\n\n vm.bollardTypes = Object.keys(BOLLARD_TYPES).map((key) => ({\n id: key,\n name: BOLLARD_TYPES[key],\n }))\n\n activate()\n\n function activate() {\n if (vm.isEdit) {\n getTrafficBollard()\n } else {\n vm.bollard = { position: {} }\n initMap(vm.bollard)\n }\n }\n\n function getTrafficBollard() {\n ApiAdminTrafficBollardModel.getSingle({ id: $stateParams.id }, (data) => {\n vm.bollard = data.trafficBollard\n initMap(vm.bollard)\n })\n }\n\n function initMap(bollard) {\n MapSelectionService.initMapForSelect(vm.data, bollard.position)\n }\n\n function ok() {\n if (vm.isEdit) {\n ApiAdminTrafficBollardModel.edit({}, { trafficBollard: vm.bollard }, () => {\n FlashMessage.add(`Sloupek ${vm.bollard.placeName} byla úspěšně editován.`, 'warning', 1)\n $state.go('admin.bollards')\n })\n } else {\n ApiAdminTrafficBollardModel.create({}, { trafficBollard: vm.bollard }, () => {\n FlashMessage.add(`Sloupek ${vm.bollard.placeName} byla úspěšně vytvořen.`, 'success', 1)\n $state.go('admin.bollards')\n })\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.source')\n .controller('AdminTrafficBollardsController', AdminTrafficBollardsController)\n\n AdminTrafficBollardsController.$inject = [\n '$http',\n '$state',\n '$uibModal',\n 'QueryFilterService',\n 'ApiAdminBollardsModel',\n 'ApiSourceModel',\n 'ApiUserModel',\n 'EventService',\n 'BOLLARD_TYPES',\n ]\n\n function AdminTrafficBollardsController(\n $http,\n $state,\n $uibModal,\n QueryFilterService,\n ApiAdminBollardsModel,\n ApiSourceModel,\n ApiUserModel,\n EventService,\n BOLLARD_TYPES,\n ) {\n const vm = this\n var districts = []\n\n vm.getBollardsEntries = getBollardsEntries\n vm.publish = publish\n vm.openUploadCsv = openUploadCsv\n vm.bollardTypes = Object.keys(BOLLARD_TYPES).map((key) => ({\n id: key,\n name: BOLLARD_TYPES[key],\n }))\n\n activate()\n\n function activate() {\n initSearchQuery()\n prepareTableHeaders()\n getBollardsEntries()\n }\n\n function initSearchQuery() {\n vm.query = {}\n vm.pageSize = 20\n vm.currentPage = 1\n vm.reverseSort = true\n vm.orderByField = '-placeName'\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/sources/meta/bollards-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getBollardsEntries() {\n vm.loadingData = true\n ApiAdminBollardsModel.getTrafficBollardsPoints(\n {},\n function (entries) {\n vm.entries = entries.trafficBollards\n vm.totalCount = entries.trafficBollards.length\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function openUploadCsv() {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/sources/modal/importCsvModal.html',\n controller: 'ImportCsvModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n title: () => 'Nahrát data sloupků',\n importType: () => 'trafficBollards',\n successMessage: () => 'Data sloupků byla úspěšně nahrána.',\n },\n })\n modalInstance.result.then(\n function () {\n getBollardsEntries()\n },\n function () {},\n )\n }\n\n function publish(firemanEntry) {\n EventService.saveFiremanSourceData(firemanEntry, districts)\n $state.go('admin.event-create', {}, { reload: true })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.source').controller('DeleteModalController', DeleteModalController)\n\n DeleteModalController.$inject = ['$uibModalInstance', 'FlashMessage', 'data']\n\n function DeleteModalController($uibModalInstance, FlashMessage, data) {\n const vm = this\n vm.ok = ok\n vm.cancel = cancel\n vm.data = data\n\n function ok() {\n $uibModalInstance.close(true)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.source')\n .controller('ImportCsvModalController', ImportCsvModalController)\n\n ImportCsvModalController.$inject = [\n '$uibModalInstance',\n 'PersistenceModel',\n 'Upload',\n 'FlashMessage',\n 'APP_CONFIG',\n 'title',\n 'importType',\n 'successMessage',\n ]\n\n function ImportCsvModalController(\n $uibModalInstance,\n PersistenceModel,\n Upload,\n FlashMessage,\n APP_CONFIG,\n title,\n importType,\n successMessage,\n ) {\n const vm = this\n vm.fileSelect = fileSelect\n\n vm.ok = ok\n vm.cancel = cancel\n\n vm.apiKey = PersistenceModel.getAccessToken()\n vm.title = title\n \n\n function fileSelect(files, errFiles) {\n if (files.length === 1) {\n vm.file = files[0]\n }\n if (errFiles.length === 1) {\n vm.errFile = errFiles[0]\n }\n }\n\n function ok(file) {\n if (!vm.file) {\n return\n }\n\n file = vm.file\n\n file.uploading = true\n file.upload = Upload.upload({\n url: APP_CONFIG.apiRootUrl + 'admin/'+ importType +'/import',\n headers: {\n 'Content-Type': file.type,\n 'X-Api-Key': vm.apiKey,\n },\n data: { file: file },\n })\n\n file.upload.then(\n function (response) {\n FlashMessage.add(successMessage, 'success')\n file.uploading = false\n $uibModalInstance.close()\n },\n function (response) {\n if (response.status > 0) {\n vm.errorMsg = response.status + ': ' + response.data.errorMessage\n file.uploading = false\n vm.numberOfUploadingFiles--\n }\n },\n function (evt) {\n file.progress = Math.min(100, parseInt((100.0 * evt.loaded) / evt.total))\n },\n )\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.source')\n .controller('UploadFiremanCsvModalController', UploadFiremanCsvModalController)\n\n UploadFiremanCsvModalController.$inject = [\n '$uibModalInstance',\n 'PersistenceModel',\n 'Upload',\n 'FlashMessage',\n 'APP_CONFIG',\n ]\n\n function UploadFiremanCsvModalController(\n $uibModalInstance,\n PersistenceModel,\n Upload,\n FlashMessage,\n APP_CONFIG,\n ) {\n const vm = this\n vm.fileSelect = fileSelect\n\n vm.ok = ok\n vm.cancel = cancel\n\n vm.apiKey = PersistenceModel.getAccessToken()\n \n\n function fileSelect(files, errFiles) {\n if (files.length === 1) {\n vm.file = files[0]\n }\n if (errFiles.length === 1) {\n vm.errFile = errFiles[0]\n }\n }\n\n function ok(file) {\n if (!vm.file) {\n return\n }\n\n file = vm.file\n\n file.uploading = true\n file.upload = Upload.upload({\n url: APP_CONFIG.apiRootUrl + 'admin/fireDept/import',\n headers: {\n 'Content-Type': file.type,\n 'X-Api-Key': vm.apiKey,\n },\n data: { file: file },\n })\n\n file.upload.then(\n function (response) {\n FlashMessage.add('Data hasičského záchranného sboru byla úspěšně nahrána.', 'success')\n file.uploading = false\n $uibModalInstance.close()\n },\n function (response) {\n if (response.status > 0) {\n vm.errorMsg = response.status + ': ' + response.data.errorMessage\n file.uploading = false\n vm.numberOfUploadingFiles--\n }\n },\n function (evt) {\n file.progress = Math.min(100, parseInt((100.0 * evt.loaded) / evt.total))\n },\n )\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.source')\n .controller('UploadPoliceCsvModalController', UploadPoliceCsvModalController)\n\n UploadPoliceCsvModalController.$inject = [\n '$uibModalInstance',\n 'PersistenceModel',\n 'Upload',\n 'FlashMessage',\n 'APP_CONFIG',\n ]\n\n function UploadPoliceCsvModalController(\n $uibModalInstance,\n PersistenceModel,\n Upload,\n FlashMessage,\n APP_CONFIG,\n ) {\n var vm = this\n vm.fileSelect = fileSelect\n\n vm.ok = ok\n vm.cancel = cancel\n\n vm.apiKey = PersistenceModel.getAccessToken()\n\n activate()\n\n function activate() {}\n\n function fileSelect(files, errFiles) {\n if (files.length === 1) {\n vm.file = files[0]\n }\n if (errFiles.length === 1) {\n vm.errFile = errFiles[0]\n }\n }\n\n function ok(file) {\n if (!vm.file) {\n return\n }\n\n file = vm.file\n\n file.uploading = true\n file.upload = Upload.upload({\n url: APP_CONFIG.apiRootUrl + 'admin/svod/import',\n headers: {\n 'Content-Type': file.type,\n 'X-Api-Key': vm.apiKey,\n },\n data: { file: file },\n })\n\n file.upload.then(\n function (response) {\n FlashMessage.add('Data mapy kriminality byla úspěšně nahrána.', 'success')\n file.uploading = false\n $uibModalInstance.close()\n },\n function (response) {\n if (response.status > 0) {\n vm.errorMsg = response.status + ': ' + response.data.errorMessage\n file.uploading = false\n vm.numberOfUploadingFiles--\n }\n },\n function (evt) {\n file.progress = Math.min(100, parseInt((100.0 * evt.loaded) / evt.total))\n },\n )\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.user').controller('AdminUserController', AdminUserController)\n\n AdminUserController.$inject = [\n '$q',\n '$http',\n '$uibModal',\n 'ApiAdminUserModel',\n 'ApiUserModel',\n 'ApiFilterService',\n 'BOOL_VALUES',\n ]\n\n function AdminUserController(\n $q,\n $http,\n $uibModal,\n ApiAdminUserModel,\n ApiUserModel,\n ApiFilterService,\n BOOL_VALUES,\n ) {\n const vm = this\n vm.pageSize = 100\n vm.boolValues = BOOL_VALUES\n vm.query = { roles: [''], districts: [''], interestDistricts: [''] }\n vm.userRolesQuery = { roles: [''] }\n\n vm.downloadUsers = downloadUsers\n\n vm.openEditUser = openEditUser\n vm.openDeactivateUser = openDeactivateUser\n vm.openResetUserPassword = openResetUserPassword\n\n activate()\n\n function activate() {\n prepareTableHeaders()\n prepareRoleTableHeaders()\n\n vm.userRoles = getRoles()\n vm.districts = getDistricts()\n $q.all([vm.userRoles.$promise, vm.districts.$promise]).then(function () {\n getUsers()\n })\n }\n\n function getRoles() {\n vm.loadingUserRoles = true\n return ApiAdminUserModel.getAllRoles(\n function (data) {\n angular.forEach(data, function (role) {\n vm.query.roles.push(role.id)\n })\n vm.loadingUserRoles = false\n },\n function () {\n vm.loadingUserRoles = false\n },\n )\n }\n\n function getDistricts() {\n return ApiUserModel.getAllDistricts(function (data) {\n angular.forEach(data, function (district) {\n vm.query.districts.push(district.id)\n vm.query.interestDistricts.push(district.id)\n })\n })\n }\n\n function getUsers() {\n vm.loadingData = true\n vm.users = ApiAdminUserModel.getAllUsers(\n function () {\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function downloadUsers(format) {\n var search = ApiFilterService.transformSearchQueryAttribute(\n vm.query,\n ApiFilterService.KEYS.user,\n )\n ApiAdminUserModel.downloadUsers({\n orderBy: vm.orderByField,\n desc: vm.reverseSort,\n search: search,\n format: format,\n })\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/user/meta/user-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function prepareRoleTableHeaders() {\n vm.roleHeaders = []\n $http.get('app/modules/admin/user/meta/user-role-list.json').then(function (response) {\n vm.roleHeaders = response.data\n })\n }\n\n function openEditUser(user) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/user/modal/user/editUserModal.html',\n controller: 'EditUserModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n user: function () {\n return user\n },\n roles: function () {\n return vm.userRoles\n },\n districts: function () {\n return vm.districts\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getUsers()\n })\n },\n function () {},\n )\n }\n\n function openDeactivateUser(user) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/user/modal/user/deactivateUserModal.html',\n controller: 'DeactivateUserModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n user: function () {\n return user\n },\n },\n })\n modalInstance.result.then(\n function (promise) {\n promise.$promise.then(function () {\n getUsers()\n })\n },\n function () {},\n )\n }\n\n function openResetUserPassword(user) {\n var modalInstance = $uibModal.open({\n templateUrl: 'app/modules/admin/user/modal/password/resetUserPasswordModal.html',\n controller: 'ResetUserPasswordModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n user: function () {\n return user\n },\n },\n })\n modalInstance.result.then(\n function () {},\n function () {},\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.admin.user').controller('AdminUserInboxController', AdminUserInboxController)\n\n AdminUserInboxController.$inject = [\n '$http',\n '$translate',\n 'ApiEventModel',\n 'FlashMessage',\n 'APP_CONFIG',\n ]\n\n function AdminUserInboxController(\n $http,\n $translate,\n ApiEventModel,\n FlashMessage,\n APP_CONFIG,\n ) {\n const vm = this\n vm.baseUrl = APP_CONFIG.cdnUrl\n vm.markEventsAsRead = markEventsAsRead\n\n activate()\n\n function activate() {\n prepareTableHeaders()\n getEventTypes()\n getEvents()\n }\n\n function prepareTableHeaders() {\n vm.headers = []\n $http.get('app/modules/admin/user/meta/user-inbox-list.json').then(function (response) {\n vm.headers = response.data\n })\n }\n\n function getEvents() {\n vm.loadingData = true\n vm.events = ApiEventModel.getEventNotifications(\n { cultureCode: $translate.use() },\n function () {\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function getEventTypes() {\n vm.eventTypes = ApiEventModel.getEventTypes({\n cultureCode: $translate.use(),\n })\n }\n\n function markEventsAsRead(event) {\n ApiEventModel.updateEventNotifications({ eventIds: [event.id] }, function () {\n FlashMessage.add('Aktualita byla označena jako přečtená.', 'success')\n vm.event = null\n getEvents()\n })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.user')\n .controller('AdminUserProfileController', AdminUserProfileController)\n\n AdminUserProfileController.$inject = [\n '$translate',\n 'ApiUserModel',\n 'ApiLanguageModel',\n 'PersistenceModel',\n 'FlashMessage',\n ]\n\n function AdminUserProfileController(\n $translate,\n ApiUserModel,\n ApiLanguageModel,\n PersistenceModel,\n FlashMessage,\n ) {\n const vm = this\n var userCopy = {}\n vm.saveUser = saveUser\n vm.saveUserPassword = saveUserPassword\n\n activate()\n\n function activate() {\n getUserProfile()\n getDistricts()\n getLanguages()\n }\n\n function getUserProfile() {\n vm.user = ApiUserModel.getUser({ id: PersistenceModel.getUserId() }, function (data) {\n userCopy = angular.copy(data)\n })\n }\n\n function getDistricts() {\n vm.districts = ApiUserModel.getAllDistricts()\n }\n\n function getLanguages() {\n vm.languages = ApiLanguageModel.getAllLanguages()\n }\n\n function saveUser() {\n $translate.use(vm.user.cultureCode)\n ApiUserModel.editUser({ id1: vm.user.id }, { user: vm.user }, function () {\n userCopy = angular.copy(vm.user)\n FlashMessage.add('Údaje uživatele ' + vm.user.email + ' byly úspěšně editovány.', 'success')\n })\n }\n\n function saveUserPassword(credentials) {\n var user = angular.extend(userCopy, credentials)\n ApiUserModel.editUser({ id1: vm.user.id }, { user: user }, function () {\n FlashMessage.add('Heslo uživatele ' + vm.user.email + ' bylo úspěšně změněno.', 'success')\n })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.article').controller('ArticleSearchController', ArticleSearchController)\n\n ArticleSearchController.$inject = ['$stateParams', '$translate', 'ApiSearchModel']\n\n function ArticleSearchController($stateParams, $translate, ApiSearchModel) {\n const vm = this\n vm.pageSize = 20\n vm.currentPage = 1\n\n activate()\n\n function activate() {\n vm.searchedText = $stateParams.fulltext\n\n vm.loadingData = true\n ApiSearchModel.search(\n {\n pattern: vm.searchedText,\n cultureCode: $translate.use(),\n limit: vm.pageSize,\n offset: (vm.currentPage - 1) * vm.pageSize,\n },\n function (searchData) {\n vm.searchResults = searchData\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n }\n})()\n",";(() => {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.article').controller('DetailArticleController', DetailArticleController)\n\n DetailArticleController.$inject = [\n '$stateParams',\n '$location',\n '$translate',\n 'ArticleTreeService',\n 'PersistenceModel',\n 'ApiArticleModel',\n 'ApiDocumentModel',\n 'ApiPdfModel',\n 'FlashMessage',\n 'APP_CONFIG',\n ]\n\n function DetailArticleController(\n $stateParams,\n $location,\n $translate,\n ArticleTreeService,\n PersistenceModel,\n ApiArticleModel,\n ApiDocumentModel,\n ApiPdfModel,\n FlashMessage,\n APP_CONFIG,\n ) {\n const vm = this\n vm.apiKey = PersistenceModel.getAccessToken()\n vm.baseUrl = APP_CONFIG.cdnUrl\n vm.facebookAppId = APP_CONFIG.facebookAppId\n\n \n vm.isTreeSectionActive = isTreeSectionActive\n vm.printContent = printContent\n vm.downloadPdf = downloadPdf\n\n activate()\n\n function activate() {\n getArticle()\n vm.articleStructure = ArticleTreeService.getArticleTree()\n }\n\n function getArticle() {\n vm.loadingData = true\n ApiArticleModel.getArticle(\n { id1: $stateParams.relativeUrl, cultureCode: $translate.use() },\n (article) => {\n vm.article = article\n vm.article.url = _.join([$location.absUrl(), $translate.use()], '/')\n getDocuments(article.fileFolderId)\n vm.loadingData = false\n },\n () => {\n vm.loadingData = false\n },\n )\n }\n\n function getDocuments(folderId) {\n ApiDocumentModel.getFolder(\n { id: folderId, cultureCode: $translate.use() },\n (documents) => {\n vm.documents = [documents]\n },\n () => {\n FlashMessage.removeAll()\n },\n )\n }\n\n function isTreeSectionActive(relativeUrl) {\n var isActive = false\n if (vm.article) {\n angular.forEach(vm.article.breadcrumbs, (breadcrumb) => {\n if (breadcrumb.relativeUrl === relativeUrl) {\n isActive = true\n }\n })\n }\n return isActive\n }\n\n function printContent() {\n window.print()\n }\n\n function downloadPdf() {\n vm.loadingPdf = true\n ApiPdfModel.downloadPdf(\n {\n filename: $stateParams.relativeUrl,\n relativeUrl: window.location.pathname,\n },\n () => {\n vm.loadingPdf = false\n },\n () => {\n vm.loadingPdf = false\n },\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.article')\n .controller('DetailArticlePreviewController', DetailArticlePreviewController)\n\n DetailArticlePreviewController.$inject = [\n '$stateParams',\n 'PersistenceModel',\n 'ApiAdminArticleModel',\n 'ApiDocumentModel',\n 'FlashMessage',\n 'APP_CONFIG',\n ]\n\n function DetailArticlePreviewController(\n $stateParams,\n PersistenceModel,\n ApiAdminArticleModel,\n ApiDocumentModel,\n FlashMessage,\n APP_CONFIG,\n ) {\n const vm = this\n vm.apiKey = PersistenceModel.getAccessToken()\n vm.baseUrl = APP_CONFIG.cdnUrl\n var requestedCultureCode = $stateParams.cultureCode\n ? $stateParams.cultureCode\n : APP_CONFIG.translation.fallbackLanguage\n\n \n vm.isTreeSectionActive = isTreeSectionActive\n\n activate()\n\n function activate() {\n getArticle()\n getArticlesStructure()\n }\n\n function getArticle() {\n vm.loadingData = true\n ApiAdminArticleModel.getArticle(\n { id1: $stateParams.id },\n function (article) {\n vm.article = article\n var defaultTranslationIndex = _.findIndex(vm.article.articleCulture, [\n 'cultureCode',\n requestedCultureCode,\n ])\n if (defaultTranslationIndex >= 0) {\n _.assign(vm.article, vm.article.articleCulture[defaultTranslationIndex])\n if (vm.article.breadcrumbs.length === 1) {\n vm.article.breadcrumbs.unshift({})\n }\n } else {\n FlashMessage.add('Překlad neexistuje (' + requestedCultureCode + ')', 'danger')\n }\n getDocuments(article.fileFolderId)\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function getArticlesStructure() {\n ApiAdminArticleModel.getArticleTree(\n { cultureCode: requestedCultureCode },\n function (articles) {\n vm.articleStructure = articles[0]\n vm.loadingData = false\n },\n function () {\n vm.loadingData = false\n },\n )\n }\n\n function getDocuments(folderId) {\n ApiDocumentModel.getFolder(\n { id: folderId, cultureCode: requestedCultureCode },\n function (documents) {\n vm.documents = [documents]\n },\n function () {\n FlashMessage.removeAll()\n },\n )\n }\n\n function isTreeSectionActive(relativeUrl) {\n var isActive = false\n if (!vm.article) {\n return isActive\n }\n angular.forEach(vm.article.breadcrumbs, function (breadcrumb) {\n if (breadcrumb.relativeUrl === relativeUrl) {\n isActive = true\n }\n })\n return isActive\n }\n }\n})()\n",";(() => {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.document').controller('DocumentController', DocumentController)\n\n DocumentController.$inject = [\n '$translate',\n 'ApiDocumentModel',\n 'ArticleTreeService',\n 'PersistenceModel',\n 'APP_CONFIG',\n ]\n\n function DocumentController(\n $translate,\n ApiDocumentModel,\n ArticleTreeService,\n PersistenceModel,\n APP_CONFIG,\n ) {\n const vm = this\n vm.apiKey = PersistenceModel.getAccessToken()\n vm.baseUrl = APP_CONFIG.cdnUrl\n\n \n vm.toggleTree = toggleTree\n\n activate()\n\n function activate() {\n getStructure()\n vm.articleStructure = ArticleTreeService.getArticleTree()\n }\n\n function getStructure() {\n vm.loadingData = true\n ApiDocumentModel.getStructure(\n { cultureCode: $translate.use() },\n (documents) => {\n vm.documents = documents\n vm.loadingData = false\n },\n () => {\n vm.loadingData = false\n },\n )\n }\n\n function toggleTree(scope) {\n scope.toggle()\n _.each(scope.childNodes(), (c) => {\n c.collapse()\n })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.event').controller('EventController', EventController)\n\n EventController.$inject = ['$translate', 'ApiEventModel', 'APP_CONFIG']\n\n function EventController($translate, ApiEventModel, APP_CONFIG) {\n const vm = this\n vm.baseUrl = APP_CONFIG.cdnUrl\n vm.pageSize = 5\n vm.currentPage = 1\n\n \n vm.getEvents = getEvents\n\n activate()\n\n function activate() {\n getEvents()\n }\n\n function getEvents() {\n vm.loadingData = true\n ApiEventModel.getEvents(\n {\n cultureCode: $translate.use(),\n limit: vm.pageSize,\n offset: (vm.currentPage - 1) * vm.pageSize,\n },\n (data) => {\n vm.events = data.events\n vm.totalCount = data.totalCount\n vm.loadingData = false\n },\n () => {\n vm.loadingData = false\n },\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.event').controller('EventDetailController', EventDetailController)\n\n EventDetailController.$inject = [\n '$state',\n '$stateParams',\n '$translate',\n '$location',\n 'ApiEventModel',\n 'ApiPdfModel',\n 'APP_CONFIG',\n ]\n\n function EventDetailController(\n $state,\n $stateParams,\n $translate,\n $location,\n ApiEventModel,\n ApiPdfModel,\n APP_CONFIG,\n ) {\n const vm = this\n vm.baseUrl = APP_CONFIG.cdnUrl\n vm.facebookAppId = APP_CONFIG.facebookAppId\n vm.printContent = printContent\n vm.downloadPdf = downloadPdf\n\n activate()\n\n function activate() {\n getEvents()\n getEventSeverities()\n getEventPriorities()\n getEventTypes()\n getEventDetail()\n }\n\n function getEvents() {\n vm.loadingEventsData = true\n vm.eventsTree = ApiEventModel.getEvents(\n { cultureCode: $translate.use(), limit: 10 },\n () => {\n vm.loadingEventsData = false\n },\n () => {\n vm.loadingEventsData = false\n },\n )\n }\n\n function getEventDetail() {\n vm.loadingData = true\n ApiEventModel.getSingle(\n { id: $stateParams.id, cultureCode: $translate.use() },\n (event) => {\n vm.id = $stateParams.id\n vm.event = event\n vm.event.url = _.join([$location.absUrl(), $translate.use()], '/')\n vm.loadingData = false\n },\n (errData) => {\n if (errData.status === 404) {\n $state.go('front.pageNotFound')\n }\n vm.loadingData = false\n },\n )\n }\n\n function getEventSeverities() {\n vm.eventSeverities = ApiEventModel.getSeverities()\n }\n\n function getEventPriorities() {\n vm.eventPriorities = ApiEventModel.getPriorities()\n }\n\n function getEventTypes() {\n vm.eventTypes = ApiEventModel.getEventTypes({\n cultureCode: $translate.use(),\n })\n }\n\n function printContent() {\n window.print()\n }\n\n function downloadPdf() {\n vm.loadingPdf = true\n ApiPdfModel.downloadPdf(\n { filename: $stateParams.id, relativeUrl: window.location.pathname },\n () => {\n vm.loadingPdf = false\n },\n () => {\n vm.loadingPdf = false\n },\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.forgottenPassword')\n .controller('ForgottenPasswordConfirmationController', ForgottenPasswordConfirmationController)\n\n ForgottenPasswordConfirmationController.$inject = [\n '$state',\n '$stateParams',\n 'ApiUserModel',\n 'FlashMessage',\n ]\n\n function ForgottenPasswordConfirmationController(\n $state,\n $stateParams,\n ApiUserModel,\n FlashMessage,\n ) {\n const vm = this\n vm.resetPassword = resetPassword \n\n function resetPassword(password) {\n ApiUserModel.resetPassword(\n { path1: $stateParams.token },\n { password: password },\n function () {\n FlashMessage.add(\n 'FRONT.FORGOTTEN_PASSWORD.FLASH_MESSAGE.FORGOTTEN_PASSWORD_CONFIRMATION.PASS_CHANGED',\n 'success',\n 1,\n )\n $state.go('front.homepage', {}, { reload: true })\n },\n )\n }\n }\n})()\n",";(() => {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.homepage').controller('HomepageController', HomepageController)\n\n HomepageController.$inject = []\n\n function HomepageController() {}\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.homepage').constant('WETHER_TABS', [\n {\n key: 'weather',\n title: 'FRONT.HOMEPAGE.WIDGET.WEATHER.TAB.WEATHER.TITLE',\n },\n {\n key: 'air',\n title: 'FRONT.HOMEPAGE.WIDGET.WEATHER.TAB.AIR_POLLUTION.TITLE',\n },\n {\n key: 'hydrology',\n title: 'FRONT.HOMEPAGE.WIDGET.WEATHER.TAB.HYDROLOGY.TITLE',\n },\n ])\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.initiative')\n .controller('InitiativeFormController', InitiativeFormController)\n\n InitiativeFormController.$inject = [\n '$state',\n '$timeout',\n '$translate',\n 'ApiInitiativeModel',\n 'InitiativeMapService',\n 'PersistenceModel',\n 'Upload',\n 'FlashMessage',\n 'APP_CONFIG',\n ]\n\n function InitiativeFormController(\n $state,\n $timeout,\n $translate,\n ApiInitiativeModel,\n InitiativeMapService,\n PersistenceModel,\n Upload,\n FlashMessage,\n APP_CONFIG,\n ) {\n const vm = this\n\n vm.sendInitiative = sendInitiative\n vm.addressChanged = addressChanged\n vm.uploadFile = uploadFile\n\n vm.files = []\n vm.apiKey = PersistenceModel.getAccessToken()\n vm.maxUploadedFilesError = false\n vm.numberOfUploadingFiles = 0\n vm.initiative = {\n reported: false,\n addressModified: true,\n }\n\n activate()\n\n function activate() {\n vm.data = {\n mapLayers: [],\n legend: [],\n }\n getInitiativeStateTypes()\n getInitiativeCategories()\n initMap()\n }\n\n function initMap() {\n InitiativeMapService.initInitiativeMapForSelect(vm.data, vm.initiative, true)\n }\n\n function getInitiativeStateTypes() {\n vm.stateTypes = ApiInitiativeModel.getInitiativeStateTypes({\n cultureCode: $translate.use(),\n })\n }\n\n function getInitiativeCategories() {\n vm.categories = ApiInitiativeModel.getInitiativeCategories({\n cultureCode: $translate.use(),\n })\n }\n\n function addressChanged() {\n vm.initiative.addressModified = true\n }\n\n function uploadFile(files, errFiles) {\n if (files.length > 3) {\n vm.maxUploadedFilesError = true\n return\n }\n vm.maxUploadedFilesError = false\n\n vm.files = files\n vm.errFiles = errFiles\n vm.numberOfUploadingFiles = files.length\n\n angular.forEach(vm.files, (file) => {\n file.uploading = true\n file.upload = Upload.upload({\n url: APP_CONFIG.apiRootUrl + 'admin/cdn/files/upload?public=true',\n headers: {\n 'Content-Type': file.type,\n 'X-Api-Key': vm.apiKey,\n },\n data: { file: file },\n })\n\n file.upload.then(\n (response) => {\n $timeout(() => {\n if (response.data.hasOwnProperty('fileInfo')) {\n var fileInfo = response.data.fileInfo\n fileInfo.url = APP_CONFIG.cdnUrl + fileInfo.id\n file.fileInfo = fileInfo\n file.uploading = false\n vm.numberOfUploadingFiles--\n } else {\n console.log('Returned data: ' + response.data)\n }\n })\n },\n (response) => {\n if (response.status > 0) {\n vm.errorMsg = response.status + ': ' + response.data\n file.uploading = false\n vm.numberOfUploadingFiles--\n }\n },\n (evt) => {\n file.progress = Math.min(100, parseInt((100.0 * evt.loaded) / evt.total))\n },\n )\n })\n }\n\n function sendInitiative(initiative) {\n if (!vm.initiative.latitude || !vm.initiative.longitude) {\n FlashMessage.add('FRONT.INITIATIVE.FLASH_MESSAGE.CREATE_INITIATIVE_GPS_ERROR', 'danger')\n return\n }\n\n if (vm.files.length > 0) {\n initiative.attachments = vm.files.map((file) => {\n return file.fileInfo\n })\n }\n\n initiative.cultureCode = $translate.use()\n ApiInitiativeModel.createInitiative(\n { initiative: initiative },\n () => {\n FlashMessage.add('FRONT.INITIATIVE.FLASH_MESSAGE.CREATE_INITIATIVE', 'success', 1)\n $state.go('front.map.initiative', { reload: true })\n },\n () => {\n FlashMessage.add('FRONT.INITIATIVE.FLASH_MESSAGE.CREATE_INITIATIVE_ERROR', 'danger')\n },\n )\n }\n }\n})()\n",";(() => {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.layout').controller('FrontLayoutController', FrontLayoutController)\n\n FrontLayoutController.$inject = []\n\n function FrontLayoutController() {}\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.map').controller('CameraDetailMapController', CameraDetailMapController)\n\n CameraDetailMapController.$inject = [\n '$scope',\n '$translate',\n '$stateParams',\n '$interval',\n '$timeout',\n 'ApiCameraModel',\n 'ApiUserModel',\n 'PersistenceModel',\n ]\n\n function CameraDetailMapController(\n $scope,\n $translate,\n $stateParams,\n $interval,\n $timeout,\n ApiCameraModel,\n ApiUserModel,\n PersistenceModel,\n ) {\n const vm = this\n vm.changeAutoRefresh = changeAutoRefresh\n vm.changeRefreshRate = changeRefreshRate\n vm.isUserLoggedIn = PersistenceModel.isAuthenticated()\n\n var reloadTimer = null\n var countdownTimer = null\n var reloadEnabled = true\n\n activate()\n\n function activate() {\n getCamera()\n }\n\n function getCamera() {\n vm.camera = ApiCameraModel.getCamera({ id1: $stateParams.id }, function () {\n getUserRefreshRate()\n })\n }\n\n function getUserRefreshRate() {\n ApiUserModel.getCurrentUser(function (user) {\n vm.data = {\n autoRefreshEnabled: false,\n refreshRate: 30000 || user.usersAccessRights.cameraRefreshRate * 1000,\n refreshRates: [\n {\n value: 1000,\n name: $translate.instant('FRONT.MAP.CAMERA.PIC', { value: 1 }),\n },\n {\n value: 5000,\n name: $translate.instant('FRONT.MAP.CAMERA.PIC', { value: 5 }),\n },\n {\n value: 10000,\n name: $translate.instant('FRONT.MAP.CAMERA.PIC', { value: 10 }),\n },\n {\n value: 20000,\n name: $translate.instant('FRONT.MAP.CAMERA.PIC', { value: 20 }),\n },\n {\n value: 30000,\n name: $translate.instant('FRONT.MAP.CAMERA.PIC', { value: 30 }),\n },\n ],\n }\n reloadImage()\n })\n }\n\n function reloadImage() {\n vm.data.imageLoadedTime = new Date().getTime()\n ApiCameraModel.getImage({ id1: vm.camera.id }, function (data) {\n vm.camera.dataUrl = data.contentBase64\n vm.camera.imageContentType = data.contentType\n })\n reloadEnabled = false\n setupReloadTimer()\n }\n\n function setupCountdownTimer() {\n if (countdownTimer) {\n $interval.cancel(countdownTimer)\n }\n\n vm.data.timeToReload = vm.data.refreshRate - (new Date().getTime() - vm.data.imageLoadedTime)\n countdownTimer = $interval(function () {\n vm.data.timeToReload =\n vm.data.refreshRate - (new Date().getTime() - vm.data.imageLoadedTime)\n }, 500)\n }\n\n function setupReloadTimer() {\n if (reloadTimer) {\n $timeout.cancel(reloadTimer)\n }\n reloadTimer = $timeout(function () {\n reloadEnabled = true\n if (vm.data.autoRefreshEnabled) {\n reloadImage()\n }\n }, vm.data.refreshRate)\n }\n\n function changeRefreshRate() {\n if (vm.data.autoRefreshEnabled) {\n reloadImage()\n }\n if (countdownTimer) {\n $interval.cancel(countdownTimer)\n countdownTimer = null\n }\n if (vm.data.autoRefreshEnabled) {\n setupCountdownTimer()\n }\n }\n\n function changeAutoRefresh() {\n if (reloadEnabled && vm.data.autoRefreshEnabled) {\n reloadImage()\n }\n if (vm.data.autoRefreshEnabled) {\n setupCountdownTimer()\n } else if (countdownTimer) {\n $interval.cancel(countdownTimer)\n countdownTimer = null\n }\n }\n\n function destroyTimer() {\n if (reloadTimer) {\n $timeout.cancel(reloadTimer)\n }\n if (countdownTimer) {\n $interval.cancel(countdownTimer)\n countdownTimer = null\n }\n }\n\n $scope.$on('$destroy', destroyTimer)\n $scope.$on('logout', destroyTimer)\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.map')\n .controller('CameraImageDetailController', CameraImageDetailController)\n\n CameraImageDetailController.$inject = [\n '$stateParams',\n '$scope',\n '$translate',\n '$interval',\n '$timeout',\n 'ApiCameraModel',\n ]\n\n function CameraImageDetailController(\n $stateParams,\n $scope,\n $translate,\n $interval,\n $timeout,\n ApiCameraModel,\n ) {\n const vm = this\n vm.data = {\n autoRefreshEnabled: false,\n refreshRate: 30000,\n }\n vm.camera = {}\n\n vm.changeAutoRefresh = changeAutoRefresh\n\n var reloadTimer = null\n var countdownTimer = null\n var reloadEnabled = true\n\n activate()\n\n function activate() {\n getCamera()\n reloadImage()\n }\n\n function reloadImage() {\n vm.data.imageLoadedTime = new Date().getTime()\n ApiCameraModel.getImage({ id1: $stateParams.id }, function (data) {\n vm.camera.dataUrl = data.contentBase64\n vm.camera.imageContentType = data.contentType\n })\n reloadEnabled = false\n setupReloadTimer()\n }\n\n function getCamera() {\n ApiCameraModel.getCamera({ id1: $stateParams.id }, function (data) {\n vm.camera = Object.assign(vm.camera, data)\n })\n }\n\n function setupCountdownTimer() {\n if (countdownTimer) {\n $interval.cancel(countdownTimer)\n }\n\n vm.data.timeToReload = vm.data.refreshRate - (new Date().getTime() - vm.data.imageLoadedTime)\n countdownTimer = $interval(function () {\n vm.data.timeToReload =\n vm.data.refreshRate - (new Date().getTime() - vm.data.imageLoadedTime)\n }, 500)\n }\n\n function setupReloadTimer() {\n if (reloadTimer) {\n $timeout.cancel(reloadTimer)\n }\n reloadTimer = $timeout(function () {\n reloadEnabled = true\n if (vm.data.autoRefreshEnabled) {\n reloadImage()\n }\n }, vm.data.refreshRate)\n }\n\n function changeAutoRefresh() {\n if (reloadEnabled && vm.data.autoRefreshEnabled) {\n reloadImage()\n }\n if (vm.data.autoRefreshEnabled) {\n setupCountdownTimer()\n } else if (countdownTimer) {\n $interval.cancel(countdownTimer)\n countdownTimer = null\n }\n }\n\n function destroyTimer() {\n if (reloadTimer) {\n $timeout.cancel(reloadTimer)\n }\n if (countdownTimer) {\n $interval.cancel(countdownTimer)\n countdownTimer = null\n }\n }\n\n $scope.$on('$destroy', destroyTimer)\n $scope.$on('logout', destroyTimer)\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.map').controller('CameraMapController', CameraMapController)\n\n CameraMapController.$inject = [\n '$scope',\n '$uibModal',\n '$uibModalStack',\n '$interval',\n '$timeout',\n 'ApiCameraModel',\n 'ApiUserModel',\n 'CameraMapService',\n 'PersistenceModel',\n ]\n\n function CameraMapController(\n $scope,\n $uibModal,\n $uibModalStack,\n $interval,\n $timeout,\n ApiCameraModel,\n ApiUserModel,\n CameraMapService,\n PersistenceModel,\n ) {\n const vm = this\n\n vm.data = {}\n vm.activeIndex = 0\n vm.cameraGrids = []\n\n vm.changeAutoRefresh = changeAutoRefresh\n\n activate()\n\n function activate() {\n getUserRefreshRate().then(function (user) {\n vm.userCameraRefreshRate = user.usersAccessRights.cameraRefreshRate * 1000\n vm.userPrivateCameraAccess = user.usersAccessRights.privateAccess\n\n if (PersistenceModel.isAuthenticated()) {\n getCameraGrids()\n } else {\n addGrid()\n initMap()\n }\n })\n }\n\n function getUserRefreshRate() {\n return ApiUserModel.getCurrentUser().$promise\n }\n\n function getCameraGrids() {\n ApiCameraModel.getCameraGrids(function (grids) {\n if (grids.length > 0) {\n angular.forEach(grids, function (grid) {\n addGrid(grid)\n reloadImage(grid)\n })\n } else {\n addGrid()\n }\n initMap()\n })\n }\n\n function initMap() {\n CameraMapService.initCameraMap(\n null,\n vm.cameraGrids[0],\n vm.data,\n openCameraDetail,\n vm.userPrivateCameraAccess,\n )\n }\n\n function addGrid(grid) {\n vm.cameraGrids.push({\n id: grid ? grid.id : null,\n name: grid ? grid.name : 'Grid ' + (vm.cameraGrids.length + 1),\n reloadTimer: null,\n countdownTimer: null,\n reloadEnabled: true,\n autoRefreshEnabled: false,\n refreshRate: vm.userCameraRefreshRate,\n cameraPositions: grid ? grid.cameraPositions : [],\n gridsterOptions: {\n margins: [20, 20],\n columns: grid ? grid.columnNumber : 2,\n draggable: {\n handle: 'div.draggable-' + vm.cameraGrids.length,\n },\n },\n })\n vm.activeIndex = vm.cameraGrids.length - 1\n }\n\n function openCameraDetail(grid, camera) {\n $uibModalStack.dismissAll()\n $uibModal.open({\n templateUrl: 'app/modules/admin/camera/modal/camera/cameraDetailModal.html',\n controller: 'CameraDetailModalController',\n controllerAs: 'modalCtrl',\n resolve: {\n camera: function () {\n camera.disabled = true\n return camera\n },\n refreshRate: function () {\n return vm.userCameraRefreshRate\n },\n },\n })\n }\n\n function reloadImage(grid) {\n grid.imageLoadedTime = new Date().getTime()\n angular.forEach(grid.cameraPositions, function (camera) {\n ApiCameraModel.getImage({ id1: camera.id }, function (data) {\n camera.dataUrl = data.contentBase64\n camera.imageContentType = data.contentType\n })\n })\n grid.reloadEnabled = false\n setupReloadTimer(grid)\n }\n\n function setupCountdownTimer(grid) {\n if (grid.countdownTimer) {\n $interval.cancel(grid.countdownTimer)\n }\n\n grid.timeToReload = grid.refreshRate - (new Date().getTime() - grid.imageLoadedTime)\n grid.countdownTimer = $interval(function () {\n grid.timeToReload = grid.refreshRate - (new Date().getTime() - grid.imageLoadedTime)\n }, 500)\n }\n\n function setupReloadTimer(grid) {\n if (grid.reloadTimer) {\n $timeout.cancel(grid.reloadTimer)\n }\n grid.reloadTimer = $timeout(function () {\n grid.reloadEnabled = true\n if (grid.autoRefreshEnabled) {\n reloadImage(grid)\n }\n }, grid.refreshRate)\n }\n\n function changeAutoRefresh(grid) {\n if (grid.reloadEnabled && grid.autoRefreshEnabled) {\n reloadImage(grid)\n }\n if (grid.autoRefreshEnabled) {\n setupCountdownTimer(grid)\n } else if (grid.countdownTimer) {\n $interval.cancel(grid.countdownTimer)\n grid.countdownTimer = null\n }\n }\n\n function destroyTimers() {\n angular.forEach(vm.cameraGrids, function (grid) {\n if (grid.countdownTimer) {\n $interval.cancel(grid.countdownTimer)\n grid.countdownTimer = null\n }\n if (grid.reloadTimer) {\n $timeout.cancel(grid.reloadTimer)\n }\n })\n }\n\n $scope.$on('$destroy', destroyTimers)\n $scope.$on('logout', destroyTimers)\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.map').controller('MapController', MapController)\n\n MapController.$inject = ['$state']\n\n function MapController($state) {\n const vm = this\n vm.providerService = $state.current.data.providerService\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.map').controller('SafetyMapController', SafetyMapController)\n\n SafetyMapController.$inject = [\n '$rootScope',\n 'ApiMapModel',\n 'PersistenceModel',\n 'SafetyMapService',\n ]\n\n function SafetyMapController($rootScope, ApiMapModel, PersistenceModel, SafetyMapService) {\n const vm = this\n\n vm.data = {\n mapLayers: [],\n legend: [],\n }\n vm.polygons = []\n vm.canBeEdited = PersistenceModel.isAuthenticated() && PersistenceModel.hasAdminRole()\n\n activate()\n\n function activate() {\n SafetyMapService.initSafetyMap(vm.data, ApiMapModel.getPolygons(), vm.canBeEdited)\n }\n\n $rootScope.$on('polygon:initiated', (event, polygonData) => {\n vm.polygons.push(polygonData)\n })\n\n $rootScope.$on('polygon:created', (event, polygonData) => {\n vm.polygons.push(polygonData)\n })\n\n $rootScope.$on('polygon:edited', (event, polygonData) => {\n for (let i in vm.polygons) {\n if (vm.polygons[i].id === polygonData.id) {\n vm.polygons[i] = angular.extend(vm.polygons[i], polygonData)\n break\n }\n }\n })\n\n $rootScope.$on('polygon:deleted', (event, polygonData) => {\n vm.polygons = vm.polygons.filter(({ id }) => id !== polygonData.id)\n })\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.map')\n .controller('CadastreMapModalController', CadastreMapModalController)\n\n CadastreMapModalController.$inject = [\n '$window',\n 'MapDialogService',\n 'ApiMapModel',\n 'PersistenceModel',\n ]\n\n function CadastreMapModalController($window, MapDialogService, ApiMapModel, PersistenceModel) {\n const vm = this\n\n vm.cadastreClickThrough = cadastreClickThrough\n vm.getParcelPdf = getParcelPdf\n vm.isUserLoggedIn = PersistenceModel.isAuthenticated()\n\n activate()\n\n function activate() {\n vm.data = {\n isPeasant: true,\n parcelData: MapDialogService.getPopupData(),\n }\n if (vm.isUserLoggedIn) {\n getParcelInfo()\n }\n }\n\n function cadastreClickThrough() {\n $window.open(\n `https://nahlizenidokn.cuzk.cz/ZobrazObjekt.aspx?typ=parcela&id=${vm.data.parcelData.PAR_ID}`,\n '_blank',\n )\n }\n\n function getParcelPdf() {\n vm.loadingPdf = true\n ApiMapModel.getParcelPdf(\n { id1: vm.data.parcelData.PAR_ID },\n () => {\n vm.loadingPdf = false\n },\n () => {\n vm.loadingPdf = false\n },\n )\n }\n\n function getParcelInfo() {\n vm.loadingParcelInfo = true\n vm.data.parcelDetailInfo = ApiMapModel.getParcelInfo(\n { id1: vm.data.parcelData.PAR_ID },\n () => {\n vm.loadingParcelInfo = false\n },\n () => {\n vm.loadingParcelInfo = false\n },\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.map')\n .controller('FutureCamerasMapModalController', FutureCamerasMapModalController)\n\n FutureCamerasMapModalController.$inject = ['ApiCameraModel', 'MapDialogService']\n\n function FutureCamerasMapModalController(ApiCameraModel, MapDialogService) {\n const vm = this\n\n activate()\n\n function activate() {\n getEnums()\n vm.data = MapDialogService.getPopupData()\n }\n\n function getEnums() {\n vm.states = ApiCameraModel.getCameraStates()\n vm.mobilityTypes = ApiCameraModel.getCameraMobilityTypes()\n vm.constructionReasons = ApiCameraModel.getCameraConstructionReasons()\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.map')\n .controller('HzsDynamicsMapModalController', HzsDynamicsMapModalController)\n\n HzsDynamicsMapModalController.$inject = ['ApiSourceModel', 'MapDialogService']\n\n function HzsDynamicsMapModalController(ApiSourceModel, MapDialogService) {\n const vm = this\n\n activate()\n\n function activate() {\n getEnums()\n vm.data = MapDialogService.getPopupData()\n }\n\n function getEnums() {\n vm.firemanTypes = ApiSourceModel.getFiremanTypes()\n vm.firemanSubTypes = ApiSourceModel.getFiremanSubTypes()\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.map')\n .controller('MppDynamicsMapModalController', MppDynamicsMapModalController)\n\n MppDynamicsMapModalController.$inject = ['ApiSourceModel', 'MapDialogService']\n\n function MppDynamicsMapModalController(ApiSourceModel, MapDialogService) {\n const vm = this\n\n activate()\n\n function activate() {\n getEnums()\n vm.data = MapDialogService.getPopupData()\n }\n\n function getEnums() {\n vm.policeGroups = ApiSourceModel.getPoliceGroups()\n // vm.policeTypes = ApiSourceModel.getPoliceTypes();\n // vm.policePriorityTypes = ApiSourceModel.getPolicePriorityTypes();\n // vm.policeStateTypes = ApiSourceModel.getPoliceStateTypes();\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.map')\n .controller('NoiseDynamicsMapModalController', NoiseDynamicsMapModalController)\n\n NoiseDynamicsMapModalController.$inject = [\n '$translate',\n '$window',\n 'ApiSourceModel',\n 'MapDialogService',\n ]\n\n function NoiseDynamicsMapModalController($translate, $window, ApiSourceModel, MapDialogService) {\n var vm = this\n vm.downloadData = downloadData\n\n activate()\n\n function activate() {\n getEnums()\n vm.data = MapDialogService.getPopupData()\n }\n\n function getEnums() {\n vm.noiseStates = ApiSourceModel.getNoiseStates({ cultureCode: $translate.use() })\n }\n\n function downloadData(id) {\n return ApiSourceModel.downloadNoiseData({ path1: id }, function (data) {\n $window.saveAs(data.blob, data.fileName)\n })\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.map')\n .controller('PcrDynamicsMapModalController', PcrDynamicsMapModalController)\n\n PcrDynamicsMapModalController.$inject = ['ApiSourceModel', 'MapDialogService']\n\n function PcrDynamicsMapModalController(ApiSourceModel, MapDialogService) {\n const vm = this\n\n activate()\n\n function activate() {\n getEnums()\n vm.data = MapDialogService.getPopupData()\n }\n\n function getEnums() {}\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.map').controller('PopupMapModalController', PopupMapModalController)\n\n PopupMapModalController.$inject = ['MapDialogService', 'PersistenceModel']\n\n function PopupMapModalController(MapDialogService, PersistenceModel) {\n const vm = this\n vm.isUserLoggedIn = PersistenceModel.isAuthenticated()\n\n activate()\n\n function activate() {\n vm.data = MapDialogService.getPopupData()\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.map').controller('MapSearchController', MapSearchController)\n\n MapSearchController.$inject = [\n '$rootScope',\n '$q',\n '$state',\n 'MapHelperService',\n 'MapSearchService',\n 'HelperService',\n 'leafletData',\n ]\n\n function MapSearchController(\n $rootScope,\n $q,\n $state,\n MapHelperService,\n MapSearchService,\n HelperService,\n leafletData,\n ) {\n const vm = this\n\n vm.search = search\n vm.getTypeAheadContent = getTypeAheadContent\n vm.onSearchModelChanged = onSearchModelChanged\n\n activate()\n\n function activate() {\n vm.data = {\n searchModel: null,\n searchModelOptions: {\n allowInvalid: false,\n debounce: 600,\n getterSetter: false,\n },\n }\n vm.searchGroupLayer = new L.layerGroup([])\n }\n\n vm.$onInit = function () {\n MapHelperService.initViewModelMapData(vm.data)\n\n leafletData.getMap('map').then(function (map) {\n if ($state.current.name === 'maps.map-search') {\n var layerCollection = MapHelperService.initMap(map)\n map.removeControl(layerCollection.getLayerControl())\n\n var townDistrictLayer = MapHelperService.getTownDistrictLayer()\n layerCollection.addLayer(townDistrictLayer)\n }\n map.addLayer(vm.searchGroupLayer)\n })\n }\n\n function search(value) {\n var promises = []\n promises.push(MapSearchService.findStreets(value))\n promises.push(MapSearchService.findAddresses(value))\n\n return $q.all(promises).then(function (results) {\n var data = []\n data = data.concat(results[0])\n data = data.concat(results[1])\n data = data.slice(0, 20)\n return data\n })\n }\n\n function getTypeAheadContent(item) {\n if (HelperService.isNullOrUndefined(item)) {\n return null\n }\n if (item.isStreetModel) {\n return item.mkn\n }\n return item.adresa\n }\n\n function onSearchModelChanged($item, model) {\n leafletData.getMap('map').then(function (map) {\n vm.searchGroupLayer.clearLayers()\n\n if (model.isStreetModel) {\n var boundList = []\n var polylineList = []\n\n for (var key in model.geometries) {\n var coordinates = _.map(model.geometries[key].coordinates, function (coord) {\n return new L.LatLng(coord[1], coord[0])\n })\n polylineList.push(coordinates)\n boundList = boundList.concat(coordinates)\n }\n var multiPolylineLayer = L.polyline(polylineList, {\n color: 'red',\n weight: 2,\n opacity: 0.5,\n smoothFactor: 1,\n })\n\n vm.searchGroupLayer.addLayer(multiPolylineLayer)\n map.fitBounds(new L.LatLngBounds(boundList))\n } else {\n var marker = new L.Marker(\n new L.LatLng(model.geometry.coordinates[1], model.geometry.coordinates[0]),\n {\n draggable: true,\n icon: new L.Icon({\n iconUrl: 'styles/img/location-pin.png',\n shadowUrl: 'styles/img/marker-shadow.png',\n iconAnchor: new L.Point(16, 32),\n shadowAnchor: new L.Point(14, 40),\n }),\n },\n )\n\n vm.searchGroupLayer.addLayer(marker)\n map.panTo(new L.LatLng(model.geometry.coordinates[1], model.geometry.coordinates[0]))\n\n /* Zoom */\n var group = new L.FeatureGroup([marker])\n map.fitBounds(group.getBounds())\n }\n\n $rootScope.$broadcast('mapAddressSearched', model, vm.searchGroupLayer)\n })\n }\n }\n})()\n",";(() => {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.notFound').controller('PageNotFoundController', PageNotFoundController)\n\n PageNotFoundController.$inject = []\n\n function PageNotFoundController() {}\n})()\n",";(() => {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.front.registration')\n .controller('RegistrationConfirmationController', RegistrationConfirmationController)\n\n RegistrationConfirmationController.$inject = [\n '$state',\n '$stateParams',\n 'ApiUserModel',\n 'FlashMessage',\n ]\n\n function RegistrationConfirmationController($state, $stateParams, ApiUserModel, FlashMessage) {\n confirmRegistration()\n\n function confirmRegistration() {\n ApiUserModel.verifyAccount(\n {},\n { token: $stateParams.token },\n () => {\n FlashMessage.add(\n 'FRONT.REGISTRATION.FLASH_MESSAGE.REGISTRATION_CONFIRMATION.CONFIRMED',\n 'success',\n 1,\n )\n $state.go('front.homepage', {}, { reload: true })\n },\n () => {\n $state.go('front.homepage', {}, { reload: true })\n },\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.school').controller('SyposDetailController', SyposDetailController)\n\n SyposDetailController.$inject = ['$translate', '$stateParams', 'ApiMapModel', 'APP_CONFIG']\n\n function SyposDetailController($translate, $stateParams, ApiMapModel, APP_CONFIG) {\n const vm = this\n vm.baseUrl = APP_CONFIG.cdnUrl\n\n activate()\n\n function activate() {\n getSyposDetail()\n }\n\n function getSyposDetail() {\n vm.loadingData = true\n ApiMapModel.getSchool(\n { id1: $stateParams.id, cultureCode: $translate.use() },\n (data) => {\n vm.institution = data.institute\n vm.loadingData = false\n },\n (errData) => {\n if (errData.status === 404) {\n $state.go('front.pageNotFound')\n }\n vm.loadingData = false\n },\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.traffic').controller('TrafficController', TrafficController)\n\n TrafficController.$inject = ['ApiTrafficModel']\n\n function TrafficController(ApiTrafficModel) {\n const vm = this\n vm.pageSize = 5\n vm.currentPage = 1\n\n vm.getDdrMessages = getDdrMessages\n\n activate()\n\n function activate() {\n getDdrMessages()\n }\n\n function getDdrMessages() {\n vm.loadingData = true\n ApiTrafficModel.getDdrMessages(\n {\n limit: vm.pageSize,\n offset: (vm.currentPage - 1) * vm.pageSize,\n },\n (data) => {\n vm.ddrData = data.messages\n vm.totalCount = data.totalCount\n vm.loadingData = false\n },\n () => {\n vm.loadingData = false\n },\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.front.traffic').controller('TrafficDetailController', TrafficDetailController)\n\n TrafficDetailController.$inject = ['$state', '$stateParams', 'ApiTrafficModel']\n\n function TrafficDetailController($state, $stateParams, ApiTrafficModel) {\n const vm = this\n\n activate()\n\n function activate() {\n getDdrMessages()\n getDdrMessage()\n }\n\n function getDdrMessages() {\n vm.loadingDdrMessagesData = true\n ApiTrafficModel.getDdrMessages(\n {\n limit: 10,\n },\n (data) => {\n vm.ddrTree = data.messages\n vm.loadingDdrMessagesData = false\n },\n () => {\n vm.loadingDdrMessagesData = false\n },\n )\n }\n\n function getDdrMessage() {\n vm.loadingData = true\n vm.ddr = ApiTrafficModel.getDdrMessage(\n { id: $stateParams.id },\n () => {\n vm.id = $stateParams.id\n vm.loadingData = false\n },\n (errData) => {\n if (errData.status === 404) {\n $state.go('front.pageNotFound')\n }\n vm.loadingData = false\n },\n )\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('MapDialogService', MapDialogService)\n\n MapDialogService.$inject = ['$compile', '$templateRequest', 'MapHelperService']\n\n function MapDialogService($compile, $templateRequest, MapHelperService) {\n var popupData = {}\n\n function _openDialog(data, map, latlng, popupScope, template, options) {\n _setPopupData(data)\n map.setView(latlng)\n $templateRequest(template).then(function (data) {\n var linkFunction = $compile(data)\n L.popup(\n MapHelperService.extendLeafletPopupDefaultOptions(\n angular.extend({ minWidth: 500 }, options),\n ),\n )\n .setLatLng(latlng)\n .setContent(linkFunction(popupScope)[0])\n .openOn(map)\n })\n }\n\n function openDialogCadastre(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/cadastreMapModal.html', options)\n }\n\n function openDialogSiren(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/sirenMapModal.html', options)\n }\n\n function openDialogAddresses(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/addressesMapModal.html', options)\n }\n\n function openDialogPolice(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/policeMapModal.html', options)\n }\n\n function openDialogEmergency(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/emergencyMapModal.html', options)\n }\n\n function openDialogFireBrigade(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/fireBrigadeMapModal.html',\n options,\n )\n }\n\n function openDialogFireBrigade(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/fireBrigadeMapModal.html',\n options,\n )\n }\n\n function openDialogVolunteerFireBrigade(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/volunteerFireBrigadeMapModal.html',\n options,\n )\n }\n\n function openDialogMunicipalPolice(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/municipalPoliceMapModal.html',\n options,\n )\n }\n\n function openDialogFloodBarrier(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/floodBarrierMapModal.html',\n options,\n )\n }\n\n function openDialogParkingMachine(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/parkingMachineMapModal.html',\n options,\n )\n }\n\n function openDialogBollard(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/bollardMapModal.html', options)\n }\n\n function openDialogSypos(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/syposMapModal.html', options)\n }\n\n function openDialogRectorate(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/rectorateMapModal.html', options)\n }\n\n function openDialogFaculty(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/facultyMapModal.html', options)\n }\n\n function openDialogOtherEducation(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/otherEducationMapModal.html',\n options,\n )\n }\n\n function openRestaurant(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/restaurantMapModal.html',\n options,\n )\n }\n\n function openPassability(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/passabilityMapModal.html',\n options,\n )\n }\n\n function openDialogZoneZps(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/zoneZpsMapModal.html', options)\n }\n\n function openDialogHazardousAreas(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/hazardousAreasMapModal.html',\n options,\n )\n }\n\n function openDialogDdrMessages(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/ddrMessageMapModal.html',\n options,\n )\n }\n\n function openDialogShelters(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/sheltersMapModal.html', options)\n }\n\n function openDialogEvents(data, map, latlng, popupScope, options) {\n _openDialog(data, map, latlng, popupScope, 'app/modules/front/map/modal/eventMapModal.html', options)\n }\n\n function openDialogFutureCameras(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/futureCamerasMapModal.html',\n options,\n )\n }\n\n function openDialogInitiatives(data, map, latlng, popupScope, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/initiativesMapModal.html',\n options,\n )\n }\n\n function openDialogDynamics(data, map, latlng, popupScope, source, options) {\n _openDialog(\n data,\n map,\n latlng,\n popupScope,\n 'app/modules/front/map/modal/' + source.toLowerCase() + 'DynamicsMapModal.html',\n options,\n )\n }\n\n function _setPopupData(data) {\n popupData = data\n }\n\n function getPopupData() {\n return popupData\n }\n\n return {\n getPopupData: getPopupData,\n openDialogCadastre: openDialogCadastre,\n openDialogSiren: openDialogSiren,\n openDialogAddresses: openDialogAddresses,\n openDialogPolice: openDialogPolice,\n openDialogEmergency: openDialogEmergency,\n openDialogFireBrigade: openDialogFireBrigade,\n openDialogVolunteerFireBrigade: openDialogVolunteerFireBrigade,\n openDialogMunicipalPolice: openDialogMunicipalPolice,\n openDialogFloodBarrier: openDialogFloodBarrier,\n openDialogParkingMachine: openDialogParkingMachine,\n openDialogBollard: openDialogBollard,\n openDialogRectorate: openDialogRectorate,\n openDialogFaculty: openDialogFaculty,\n openRestaurant: openRestaurant,\n openDialogOtherEducation: openDialogOtherEducation,\n openDialogSypos: openDialogSypos,\n openDialogZoneZps: openDialogZoneZps,\n openDialogHazardousAreas: openDialogHazardousAreas,\n openDialogDdrMessages: openDialogDdrMessages,\n openDialogShelters: openDialogShelters,\n openDialogEvents: openDialogEvents,\n openDialogFutureCameras: openDialogFutureCameras,\n openDialogInitiatives: openDialogInitiatives,\n openDialogDynamics: openDialogDynamics,\n openPassability: openPassability,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('ddrImage', DdrImageFilter)\n\n DdrImageFilter.$inject = []\n\n function DdrImageFilter() {\n return function (ddrMessage) {\n var imageName = 'dopravni_znacka_genericInfo.png'\n\n if (ddrMessage.hasOwnProperty('categories') && ddrMessage.categories.length > 0) {\n switch (ddrMessage.categories[0]) {\n case 'Accident':\n imageName = 'dopravni_znacka_nehoda.png'\n break\n case 'Warning':\n imageName = 'dopravni_znacka_nebezpeci.png'\n break\n case 'Closures':\n imageName = 'dopravni_znacka_uzavirka.png'\n break\n case 'Roadworks':\n imageName = 'dopravni_znacka_prace.png'\n break\n case 'WinterInfo':\n imageName = 'dopravni_znacka_namraza.png'\n break\n case 'WeatherConditions':\n imageName = 'dopravni_znacka_vitr.png'\n break\n }\n }\n\n return 'styles/img/' + imageName\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('eventImage', EventImageFilter)\n\n EventImageFilter.$inject = []\n\n function EventImageFilter() {\n return function (event, privateAccess) {\n var imageName = ''\n\n if (event.hasOwnProperty('groupType')) {\n switch (_.toUpper(event.groupType)) {\n case 'SAFETY_ACTUALITY':\n imageName = privateAccess ? 'privatni_planovana_udalost.png' : 'planovana_udalost.png'\n break\n case 'OSKS_ACTUALITY':\n case 'WARNING':\n imageName = privateAccess ? 'privatni_udalost.png' : 'udalost.png'\n break\n }\n }\n\n return 'styles/img/' + imageName\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('numberToText', NumberToTextFilter)\n\n NumberToTextFilter.$inject = []\n\n function NumberToTextFilter() {\n var me = this\n\n me.getValue = function (typeOfMessage, code) {\n var objs = NumberToText[typeOfMessage]\n var returnedValue = 'Neznámé'\n var i\n\n for (i = 0; i < objs.length; i++) {\n var obj = objs[i]\n if (obj.code === code) {\n returnedValue = obj.name\n break\n }\n }\n return returnedValue\n }\n\n me.barriertypeNumberToText = function (data) {\n var mapping = {\n 0: 'Neznámé',\n 1: 'Pevné PPO',\n 2: 'Mobilní PPO',\n 3: 'Pytle s pískem',\n 4: 'Ostatní',\n }\n if (data in mapping) {\n return mapping[data]\n } else {\n return 'Neznámé'\n }\n }\n\n me.barrierkindNumberToText = function (data) {\n var mapping = {\n 1: 'Zajišťovaná městem',\n 2: 'Zajišťovaná individuálně',\n }\n if (data in mapping) {\n return mapping[data]\n } else {\n return 'Neznámé'\n }\n }\n\n me.barrierprotectionNumberToText = function (data) {\n var mapping = {\n 2002: 'Ochrana navržená na Q2002',\n 5: 'Ochrana navržená na Q5',\n 10: 'Ochrana navržená na Q10',\n 20: 'Ochrana navržená na Q20',\n 50: 'Ochrana navržená na Q50',\n 100: 'Ochrana navržená na Q100',\n }\n if (data in mapping) {\n return mapping[data]\n } else {\n return 'Neznámé'\n }\n }\n\n return function (data, typeOfMessage) {\n var methodName = typeOfMessage.toLowerCase() + 'NumberToText'\n if (me[methodName] !== undefined && me[methodName] instanceof Function) {\n return me[methodName](data)\n } else if (me[typeOfMessage] !== undefined) {\n return me.getValue(typeOfMessage, data)\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.filters').filter('zoneZpsTariff', ZoneZpsTariffFilter)\n\n ZoneZpsTariffFilter.$inject = []\n\n function ZoneZpsTariffFilter() {\n return function (zpsTariff) {\n var days = []\n\n zpsTariff.split('; ').forEach(function (dayRow) {\n var inDay = dayRow.split(': ')\n if (inDay.length === 2) {\n days.push({\n day: inDay[0],\n hours: _.uniq(inDay[1].split(', ')),\n })\n }\n })\n\n return days\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('GeometryHelper', GeometryHelper)\n\n GeometryHelper.$inject = []\n\n function GeometryHelper() {\n return {\n coordinatesEqual: function (item1, item2) {\n var coordinateX1 = item1.coordinateX.toString()\n var coordinateX2 = item2.coordinateX.toString()\n var coordinateY1 = item1.coordinateY.toString()\n var coordinateY2 = item2.coordinateY.toString()\n return coordinateX1 === coordinateX2 && coordinateY1 === coordinateY2\n },\n\n geoJsonEquals: function (position1, position2) {\n var coordinates1 = position1.coordinates.toString()\n var coordinates2 = position2.coordinates.toString()\n return coordinates1 === coordinates2\n },\n\n convertToBoundingBox: function (bounds) {\n return {\n northEast: {\n lat: bounds.getNorthEast().lat,\n lng: bounds.getNorthEast().lng,\n },\n southWest: {\n lat: bounds.getSouthWest().lat,\n lng: bounds.getSouthWest().lng,\n },\n }\n },\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('HelperService', HelperService)\n\n HelperService.$inject = []\n\n function HelperService() {\n return {\n isNullOrUndefined: function (value) {\n return _.isUndefined(value) || _.isNull(value)\n },\n getAgGridLocalizedObject: function () {\n return {\n // for filter panel\n page: 'strana',\n more: 'více',\n to: 'do',\n of: 'z',\n next: 'další',\n last: 'poslední',\n first: 'první',\n previous: 'předchozí',\n loadingOoo: 'načítání...',\n\n // for set filter\n selectAll: 'vybrat vše',\n searchOoo: 'vyhledávání...',\n blanks: 'prázdné',\n\n // for number filter and text filter\n filterOoo: 'filtr...',\n applyFilter: 'potvrdit filtr...',\n\n // for number filter\n equals: 'rovná se',\n notEquals: 'nerovná se',\n lessThan: 'menší než',\n greaterThan: 'větší než',\n\n // for text filter\n contains: 'obsahuje',\n startsWith: 'začíná',\n endsWith: 'končí',\n\n // the header of the default group column\n group: 'skupina',\n\n // other\n noRowsToShow: 'žádná data',\n\n // standard menu\n copy: 'Kopírovat',\n ctrlC: 'Ctrl + C',\n paste: 'Vložit',\n ctrlV: 'Ctrl + C',\n }\n },\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('CustomLayer', CustomLayer)\n\n CustomLayer.$inject = ['Layer']\n\n function CustomLayer(Layer) {\n return function (options) {\n var child = Object.create(Layer)\n child.super(options)\n\n child.init = function () {\n this.options = options\n this.layer = this.options.layer\n\n return child\n }\n\n return child.init()\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('Layer', Layer)\n\n Layer.$inject = [\n '$q',\n '$templateRequest',\n '$compile',\n '$rootScope',\n '$timeout',\n '$state',\n 'PersistenceModel',\n 'APP_CONFIG',\n ]\n\n function Layer(\n $q,\n $templateRequest,\n $compile,\n $rootScope,\n $timeout,\n $state,\n PersistenceModel,\n APP_CONFIG,\n ) {\n function _setRememberedLegendVisibility(generalOptions) {\n var layerVisible = PersistenceModel.getMapLayerVisibility(generalOptions.key)\n if (layerVisible !== null) {\n generalOptions.visible = layerVisible\n }\n }\n\n function _setRememberedLegendActive(generalOptions) {\n var selectedMaps = PersistenceModel.getSelectedMaps()\n if (\n selectedMaps !== null &&\n generalOptions.legendOptions &&\n !generalOptions.legendOptions.disable\n ) {\n generalOptions.legendOptions.display = false\n\n angular.forEach(selectedMaps, function (selectedMap) {\n angular.forEach(APP_CONFIG.mapSettings[selectedMap], function (entity) {\n if (_.isArray(entity)) {\n angular.forEach(entity, function (obj) {\n if (obj.hasOwnProperty('key') && generalOptions.key === obj.key) {\n generalOptions.legendOptions.display = true\n }\n })\n }\n if (\n _.isObject(entity) &&\n entity.hasOwnProperty('key') &&\n generalOptions.key === entity.key\n ) {\n generalOptions.legendOptions.display = true\n }\n })\n })\n }\n }\n\n return {\n super: function (generalOptions) {\n this.layer = {}\n this.legendLabel = null\n this.generalOptions = generalOptions\n\n if ($state.$current.name === 'front.map.all') {\n _setRememberedLegendVisibility(this.generalOptions)\n _setRememberedLegendActive(this.generalOptions)\n }\n },\n\n handleServerQuery: function (e) {\n var me = this\n return L.esri\n .identifyFeatures({\n url: this.generalOptions.queryUrl || this.generalOptions.url,\n })\n .layers(\n 'all' + (this.generalOptions.queryLayers ? ':' + this.generalOptions.queryLayers : ''),\n )\n .on(this.generalOptions.map)\n .at(e.latlng)\n .tolerance(30)\n .run(function (err, featureCollection) {\n if (\n featureCollection &&\n featureCollection.features &&\n featureCollection.features.length\n ) {\n var propertiesArr = _.map(featureCollection.features, 'properties')\n var propertiesArrUpperCase = _.map(propertiesArr, function (propertiesObj) {\n return _.mapKeys(propertiesObj, function (propertyValue, propertyKey) {\n return propertyKey.toUpperCase()\n })\n })\n me.generalOptions.clickFn.apply(me.generalOptions.clickContext, [\n me.generalOptions.queryAllowMultiple\n ? propertiesArrUpperCase\n : propertiesArrUpperCase[0],\n me.generalOptions.map,\n e.latlng,\n me.generalOptions.popupScope,\n ])\n }\n })\n },\n\n generateLegendLabel: function () {\n var deferred = $q.defer()\n\n if (!this.generalOptions.legendOptions || !this.generalOptions.legendOptions.visible) {\n this.legendLabel = null\n deferred.resolve(this.legendLabel)\n } else {\n var me = this\n var legendScope = $rootScope.$new(true)\n angular.extend(legendScope, {\n data: this.generalOptions.legendOptions,\n })\n $templateRequest('app/modules/_common/service/maps/html/legend.html').then(function (\n response,\n ) {\n var template = $compile(response)(legendScope)\n $timeout(function () {\n me.legendLabel = template[0].outerHTML\n deferred.resolve(me.legendLabel)\n })\n })\n }\n return deferred.promise\n },\n\n setLegendVisible: function (legendVisible) {\n this.generalOptions.legendOptions.display = legendVisible\n },\n\n getOptions: function () {\n return this.generalOptions\n },\n\n getLegendLabel: function () {\n return this.legendLabel\n },\n\n getLayer: function () {\n return this.layer\n },\n\n getKey: function () {\n return this.generalOptions.key\n },\n\n setLayer: function (layer) {\n this.layer = layer\n },\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('LayerCollection', LayerCollection)\n\n LayerCollection.$inject = []\n\n function LayerCollection() {\n return function (controllerData) {\n var self = this\n this.layerMap = {}\n this.controlLayerGroups = []\n\n this.map = controllerData.map\n this.layersControl = new L.Intens.CollapsibleControl({}, {})\n this.layersControl.addTo(this.map)\n\n this.addControl = function () {\n this.layersControl.addTo(this.map)\n }\n\n this.getMap = function () {\n return this.map\n }\n\n this.getLayerControl = function () {\n return this.layersControl\n }\n\n this.setLayerControl = function (control) {\n this.layersControl = control\n }\n\n this.addLayers = function (layers) {\n layers.forEach(function (layer) {\n _addLayer(layer)\n })\n this.layersControl.update()\n }\n\n this.addLayer = function (layer) {\n _addLayer(layer)\n this.layersControl.update()\n }\n\n this.hasLayer = function (layer) {\n var key = layer.getKey()\n return this.layerMap.hasOwnProperty(key)\n }\n\n this.getLayers = function () {\n var layers = []\n _.forEach(this.layerMap, function (layer) {\n layers.push(layer)\n })\n return layers\n }\n\n this.removeLayer = function (layer) {\n var key = layer.getKey()\n if (!this.layerMap[key]) {\n return\n }\n var mapLayer = layer.getLayer()\n this.map.removeLayer(mapLayer)\n this.layersControl.removeLayer(mapLayer)\n delete this.layerMap[key]\n }\n\n this.getLayerByKey = function (key) {\n return this.layerMap[key].getLayer()\n }\n\n function _addLayer(layer) {\n var key = layer.getKey()\n if (self.layerMap[key]) {\n return\n }\n var mapLayer = layer.getLayer()\n var options = layer.getOptions()\n self.layerMap[key] = layer\n var legendLabelPromise = layer.generateLegendLabel()\n\n legendLabelPromise.then(function (legendLabel) {\n if (legendLabel && !options.isBase) {\n self.layersControl.addOverlay(mapLayer, legendLabel, options)\n self.layersControl.update()\n }\n })\n\n if (options.boundLayers) {\n var me = this\n self.map.on('overlayadd', function (addedLayerObj) {\n if (mapLayer === addedLayerObj.layer) {\n options.boundLayers.forEach(function (boundLayer) {\n me.map.addLayer(boundLayer.getLayer())\n })\n }\n })\n self.map.on('overlayremove', function (removedLayerObj) {\n if (mapLayer === removedLayerObj.layer) {\n options.boundLayers.forEach(function (boundLayer) {\n me.map.removeLayer(boundLayer.getLayer())\n })\n }\n })\n }\n if (options.visible) {\n /* Podminka, ktera pro eventsmapu vypina vsechny vsrtvy, ktere maji order (aby zustaly zapnute podkladove vrstvy) a ty s disablovanou legendou, ktere se maji objevovat porad */\n if (\n (options.legendOptions &&\n (!options.legendOptions.order || options.legendOptions.disable)) ||\n controllerData.key !== 'eventsmap'\n ) {\n self.map.addLayer(mapLayer)\n }\n }\n }\n\n this.setLayerGroups = function (layerGroups) {\n var transformedLayerGroups = []\n layerGroups.forEach(function (obj) {\n var transformedObj = {\n name: obj.name,\n layers: [],\n }\n obj.layers.forEach(function (layer) {\n transformedObj.layers.push({\n layer: layer.getLayer(),\n overlay: !layer.getOptions().isBase,\n })\n })\n transformedLayerGroups.push(transformedObj)\n })\n this.controlLayerGroups = transformedLayerGroups\n this.layersControl.setLayerGroups(this.controlLayerGroups)\n }\n\n this.addLayerGroup = function (layerGroup) {\n var transformedObj = {\n name: layerGroup.name,\n layers: [],\n }\n layerGroup.layers.forEach(function (layer) {\n transformedObj.layers.push({\n layer: layer.getLayer(),\n overlay: !layer.getOptions().isBase,\n })\n })\n this.controlLayerGroups.push(transformedObj)\n this.layersControl.setLayerGroups(this.controlLayerGroups)\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('LineLayer', LineLayer)\n\n LineLayer.$inject = ['Layer']\n\n function LineLayer(Layer) {\n function _createEsriLayer(options) {\n var innerOptions = {\n url: options.url,\n simplifyFactor: options.simplifyFactor,\n clickable: options.clickContext && options.clickFn,\n style: function (feature) {\n var styleOptions = {\n color: options.color,\n fillColor: options.fillColor,\n opacity: options.opacity,\n fillOpacity: options.fillOpacity,\n weight: options.weight,\n stroke: options.stroke,\n }\n if (options.propertyStyling) {\n var featureValue = feature.properties[options.propertyStyling.featureProperty]\n var propertyValue = options.propertyStyling.valueMap[featureValue]\n var styleProperties = options.propertyStyling.styleProperties\n for (var i = 0; i < styleProperties.length; i++) {\n var styleProperty = styleProperties[i]\n styleOptions[styleProperty] = propertyValue\n }\n }\n\n for (var key in styleOptions) {\n if (styleOptions[key] == null) {\n delete styleOptions[key]\n }\n }\n return styleOptions\n },\n }\n if (options.where) {\n innerOptions.where = options.where\n }\n return new L.esri.FeatureLayer(innerOptions)\n }\n\n return function (options) {\n var child = Object.create(Layer)\n child.super(options)\n\n child.init = function () {\n this.options = options\n\n var esriLayer = _createEsriLayer(options)\n this.layer = esriLayer\n\n var me = this\n if (options.clickFn && options.clickContext) {\n esriLayer.on('click', function (event) {\n me.options.clickFn.apply(options.clickContext, [\n event.layer.feature.properties,\n me.options.map,\n L.latLng(event.latlng),\n me.options.popupScope,\n ])\n })\n }\n return child\n }\n\n return child.init()\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('PointLayer', PointLayer)\n\n PointLayer.$inject = ['Layer', 'MapHelperService']\n\n function PointLayer(Layer, MapHelperService) {\n function _createLayer(options, child) {\n var innerOptions = {\n clickable: false,\n opacity: options.opacity,\n }\n\n var layer = null\n if (options.disableLoadAtOnce) {\n innerOptions = _getInnerOptions(options, child)\n layer = options.disableClustering\n ? new L.esri.FeatureLayer(innerOptions)\n : L.markerClusterGroup(innerOptions)\n } else if (!options.disableClustering) {\n innerOptions.disableClusteringAtZoom = options.disableClusterAtZoom || 11\n innerOptions.iconCreateFunction = MapHelperService.getCreateIconFunction()\n\n layer = new L.MarkerClusterGroup(innerOptions)\n } else {\n layer = new L.FeatureGroup(innerOptions)\n }\n return layer\n }\n\n function _createQuery(options, layer, child) {\n return L.esri\n .query({\n url: options.url,\n })\n .where(options.where || '1=1')\n .fields('*')\n .run(function (err, featureCollection) {\n if (!featureCollection.features) {\n return\n }\n featureCollection.features.forEach(function (feature) {\n if (!feature.geometry || !feature.geometry.coordinates) {\n return\n }\n var marker = _getMarker(feature, options, child)\n layer.addLayer(marker)\n })\n })\n }\n\n function _getInnerOptions(options, child) {\n var innerOptions = {\n url: options.url,\n //clickable: (this.options.clickContext && this.options.clickFn),\n clickable: false,\n opacity: options.opacity,\n pointToLayer: function (geojson, latlng) {\n return _getMarker(geojson, options, child, latlng)\n },\n }\n if (options.where) {\n innerOptions.where = options.where\n }\n if (!options.disableClustering) {\n innerOptions.disableClusteringAtZoom = options.disableClusterAtZoom || 11\n innerOptions.iconCreateFunction = MapHelperService.getCreateIconFunction()\n }\n return innerOptions\n }\n\n function _getMarker(feature, options, child, latlng) {\n var iconUrlFromProperty = null\n if (options.propertyStyling) {\n var value = feature.properties[options.propertyStyling.featureProperty]\n iconUrlFromProperty = options.propertyStyling.valueMap[value]\n }\n\n var markerOptions = {\n icon:\n options.icon ||\n MapHelperService.createIcon('styles/img/' + (iconUrlFromProperty || options.iconUrl)),\n }\n\n if (!latlng) {\n latlng = L.latLng(feature.geometry.coordinates[1], feature.geometry.coordinates[0])\n }\n var marker = new L.marker(latlng, markerOptions)\n if (options.clickFn && options.clickContext) {\n marker.on('click', function (event) {\n if (options.queryUrl) {\n child.handleServerQuery(event)\n } else {\n options.clickFn.apply(options.clickContext, [\n feature.properties,\n options.map,\n latlng,\n options.popupScope,\n ])\n }\n })\n }\n return marker\n }\n\n return function (options) {\n var child = Object.create(Layer)\n child.super(options)\n\n child.init = function () {\n this.options = options\n this.layer = _createLayer(options, child)\n\n if (options.disableLoadAtOnce) {\n return child\n }\n _createQuery(options, this.layer, child)\n return child\n }\n\n return child.init()\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('ServerLayer', ServerLayer)\n\n ServerLayer.$inject = ['Layer']\n\n function ServerLayer(Layer) {\n function _createEsriLayer(options) {\n var innerOptions = {\n url: options.url,\n minZoom: 0,\n maxZoom: 18,\n continuousWorld: true,\n opacity: options.opacity,\n }\n\n if (options.where) {\n innerOptions.where = options.where\n }\n\n var esriLayer = null\n if (options.isWms) {\n innerOptions.transparent = true\n innerOptions.format = 'image/png'\n innerOptions.layers = options.wmsLayers\n delete innerOptions.url\n esriLayer = new L.TileLayer.WMS(options.url, innerOptions)\n } else if (options.isDynamic) {\n var dynamicLayerOptions = angular.extend(innerOptions, {\n layers: options.layers,\n })\n esriLayer = new L.AgsDynamicLayer(options.url, dynamicLayerOptions)\n } else {\n esriLayer = new L.esri.TiledMapLayer(innerOptions)\n }\n if (options.tileSize) {\n esriLayer.options.tileSize = options.tileSize\n }\n return esriLayer\n }\n\n return function (options) {\n var child = Object.create(Layer)\n child.super(options)\n\n child.init = function () {\n this.options = options\n this.layer = _createEsriLayer(options)\n\n var me = this\n if (this.options.clickFn && this.options.clickContext && this.options.map) {\n this.options.map.on('click', function (event) {\n if (me.options.map.hasLayer(me.layer)) {\n child.handleServerQuery(event)\n }\n })\n }\n return child\n }\n\n return child.init()\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('MapSettings', MapSettings)\n\n MapSettings.$inject = ['APP_CONFIG']\n\n function MapSettings(APP_CONFIG) {\n return function mapSettings(defaultZoom, defaultLatitude, defaultLongitude) {\n this.defaultZoom = defaultZoom\n this.defaultLatitude = defaultLatitude\n this.defaultLongitude = defaultLongitude\n this.center = APP_CONFIG.mapSettings.defaultMapCenter\n\n this.getDefaultZoom = function getDefaultZoom() {\n return this.defaultZoom ? this.defaultZoom : this.center.zoom\n }\n\n this.getDefaultLatitude = function () {\n return this.defaultLatitude ? this.defaultLatitude : this.center.lat\n }\n\n this.getDefaultLongitude = function () {\n return this.defaultLongitude ? this.defaultLongitude : this.center.lng\n }\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('AirQualityLayerProvider', AirQualityLayerProvider)\n\n AirQualityLayerProvider.$inject = [\n '$q',\n '$rootScope',\n '$stateParams',\n '$templateRequest',\n '$timeout',\n '$compile',\n 'ApiMapModel',\n 'MapHelperService',\n 'CustomLayer',\n ]\n\n function AirQualityLayerProvider(\n $q,\n $rootScope,\n $stateParams,\n $templateRequest,\n $timeout,\n $compile,\n ApiMapModel,\n MapHelperService,\n CustomLayer,\n ) {\n function _getOverallQualityColor(ix) {\n switch (ix) {\n case '-1':\n case '0':\n return 'black'\n case '1A':\n case '1B':\n return 'green'\n case '2A':\n case '2B':\n return 'yellow'\n case '3A':\n case '3B':\n return 'red'\n default:\n return 'black'\n }\n }\n\n function initAirQualityLayer(configuration, layerCollection) {\n ApiMapModel.getAirQuality(function (data) {\n var promise = _getAirQualityStationsLayerGroup(data)\n promise.then(function (stationGroup) {\n var customLayer = new CustomLayer(\n angular.extend(configuration, {\n layer: stationGroup,\n }),\n )\n MapHelperService.addLayer(customLayer, layerCollection)\n _handlePopupOpen(stationGroup)\n })\n })\n }\n\n function _getAirQualityStationsLayerGroup(data) {\n var deferred = $q.defer(),\n markers = [],\n promises = []\n\n angular.forEach(data.stations, function (station) {\n var marker = new L.Marker(new L.LatLng(station.lat, station.lon), {\n draggable: false,\n icon: new L.Icon({\n iconUrl: 'styles/img/air-' + _getOverallQualityColor(station.ix) + '.png',\n iconSize: new L.Point(24, 24),\n iconAnchor: new L.Point(24, 24),\n shadowAnchor: new L.Point(24, 28),\n popupAnchor: new L.Point(0, -35),\n }),\n })\n\n var def = $q.defer()\n promises.push(def.promise)\n\n var popupScope = $rootScope.$new(true)\n angular.extend(popupScope, {\n data: data,\n station: _preparePopupData(data, station),\n overallAirConditionLegend: _.find(data.legends, function (legend) {\n return station.ix === legend.ix\n }),\n })\n\n $templateRequest('app/modules/_common/service/maps/html/airQualityPopup.html').then(\n function (response) {\n var template = $compile(response)(popupScope)\n $timeout(function () {\n marker.bindPopup(\n template[0].outerHTML,\n MapHelperService.extendLeafletPopupDefaultOptions({}),\n )\n marker.stationName = station.code\n markers.push(marker)\n def.resolve(marker)\n })\n },\n )\n })\n\n $q.all(promises).then(function (markers) {\n var stationGroup = new L.LayerGroup(markers)\n deferred.resolve(stationGroup)\n })\n\n return deferred.promise\n }\n\n function _handlePopupOpen(stationGroup) {\n const stationName = $stateParams.stationName\n stationGroup.eachLayer((marker) => {\n if (stationName && marker.stationName === stationName.toString()) {\n marker.openPopup()\n }\n })\n }\n\n function _preparePopupData(data, station) {\n var components = []\n angular.forEach(station.components, function (component) {\n station.backgroundColor = _.result(_.find(data.legends, { ix: station.ix }), 'color')\n station.color = _.result(_.find(data.legends, { ix: station.ix }), 'colorText')\n\n component.compLegend = _.find(data.componentLegends, function (compLegend) {\n return component.code === compLegend.code\n })\n component.legend = _.find(data.legends, function (legend) {\n return component.ix === legend.ix\n })\n components.push(component)\n })\n station.components = components\n return station\n }\n\n return {\n initAirQualityLayer: initAirQualityLayer,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('BollardLayerProvider', BollardLayerProvider)\n\n BollardLayerProvider.$inject = [\n 'ItemCollectionLayerProviderBase',\n 'ApiMapModel',\n 'MapHelperService',\n ]\n\n function BollardLayerProvider(ItemCollectionLayerProviderBase, ApiMapModel, MapHelperService) {\n return function (map) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {}\n\n child.update = function update() {\n ApiMapModel.getBollards(function (bollard) {\n child.processItems(bollard)\n })\n }\n\n child.createLayer = function createLayer(item) {\n const markerOptions = {\n icon: MapHelperService.createIcon('/styles/img/cone.png'),\n }\n const latlng = {\n lat: item.position.latitude,\n lon: item.position.longitude,\n }\n angular.extend(item, { coordinates: latlng })\n\n return new L.marker(latlng, markerOptions)\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return item1.id === item2.id\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('CameraLayerProvider', CameraLayerProvider)\n\n CameraLayerProvider.$inject = [\n 'ItemCollectionLayerProviderBase',\n 'ApiCameraModel',\n 'MapHelperService',\n 'GeometryHelper',\n ]\n\n function CameraLayerProvider(\n ItemCollectionLayerProviderBase,\n ApiCameraModel,\n MapHelperService,\n GeometryHelper,\n ) {\n return function (map, filter) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {\n this.filter = filter\n this.apiGetFn = filter.futureCameras\n ? ApiCameraModel.getFutureCameras\n : ApiCameraModel.getAll\n }\n\n child.update = function update() {\n return this.apiGetFn(this.filter, function (cameras) {\n child.processItems(cameras)\n })\n }\n\n child.createLayer = function createLayer(item) {\n item.imagePath = 'styles/img/'\n if (filter.futureCameras) {\n item.imagePath +=\n 'camera_suggested' + (item.state ? '_' + _.snakeCase(item.state) : '') + '.png'\n } else {\n item.imagePath += item.public ? 'camera_public.png' : 'camera_private.png'\n }\n\n var markerOptions = {\n icon: MapHelperService.createIcon(item.imagePath),\n cameraState: item.state,\n }\n\n const marker = new L.marker([item.latitude, item.longitude], markerOptions)\n marker.cameraId = item.id\n return marker\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return (\n GeometryHelper.geoJsonEquals(item1.location, item2.location) && item1.name === item2.name\n )\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('ChemistryLayerProvider', ChemistryLayerProvider)\n\n ChemistryLayerProvider.$inject = [\n 'ItemCollectionLayerProviderBase',\n 'ApiMapModel',\n 'MapHelperService',\n 'GeometryHelper',\n ]\n\n function ChemistryLayerProvider(\n ItemCollectionLayerProviderBase,\n ApiMapModel,\n MapHelperService,\n GeometryHelper,\n ) {\n return function (map) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {}\n\n child.update = function update() {\n ApiMapModel.getChemistryHazardousAreas(function (hazardousAreas) {\n child.processItems(hazardousAreas)\n })\n }\n\n child.createLayer = function createLayer(item) {\n var markerOptions = {\n icon: MapHelperService.createIcon('styles/img/waste.png'),\n }\n var latlng = map.options.crs.unproject({\n x: item.coordinateX,\n y: item.coordinateY,\n })\n angular.extend(item, { coordinates: latlng })\n\n return new L.marker(latlng, markerOptions)\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return GeometryHelper.coordinatesEqual(item1, item2) && item1.name === item2.name\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('DdrMessageLayerProvider', DdrMessageLayerProvider)\n\n DdrMessageLayerProvider.$inject = [\n '$rootScope',\n '$filter',\n 'ApiMapModel',\n 'MapHelperService',\n 'MapDialogService',\n 'CustomLayer',\n ]\n\n function DdrMessageLayerProvider(\n $rootScope,\n $filter,\n ApiMapModel,\n MapHelperService,\n MapDialogService,\n CustomLayer,\n ) {\n function initDdrMessagesLayer(map, configuration, layerCollection) {\n var markersGroup = new L.MarkerClusterGroup({\n iconCreateFunction: MapHelperService.getCreateIconFunction(),\n disableClusteringAtZoom: 10,\n })\n\n var trafficLayer = new CustomLayer(\n angular.extend(configuration, {\n layer: markersGroup,\n }),\n )\n MapHelperService.addLayer(trafficLayer, layerCollection)\n\n ApiMapModel.getDdrMessages(function (mapDdrMessages) {\n ddrMessagesToMarkers(map, mapDdrMessages, markersGroup)\n })\n }\n\n function ddrMessagesToMarkers(map, ddrMessages, markersGroup) {\n angular.forEach(ddrMessages, function (ddrMessage) {\n var imagePath = $filter('ddrImage')(ddrMessage)\n ddrMessage.imagePath = imagePath\n var position = ddrMessage.position\n\n var markerOptions = {\n icon: new L.Icon({\n iconUrl: imagePath,\n iconSize: new L.point(36, 36),\n iconAnchor: new L.point(24, 24),\n }),\n }\n var marker = new L.marker([position.coordinates[1], position.coordinates[0]], markerOptions)\n marker.on('click', function (event, args) {\n MapDialogService.openDialogDdrMessages(\n ddrMessage,\n map,\n marker.getLatLng(),\n $rootScope.$new(),\n )\n })\n markersGroup.addLayer(marker)\n return marker\n })\n }\n\n return {\n initDdrMessagesLayer: initDdrMessagesLayer,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.common.services')\n .factory('DynamicDataSourceLayerProvider', DynamicDataSourceLayerProvider)\n\n DynamicDataSourceLayerProvider.$inject = [\n '$translate',\n 'ItemCollectionLayerProviderBase',\n 'ApiMapModel',\n 'MapHelperService',\n 'GeometryHelper',\n ]\n\n function DynamicDataSourceLayerProvider(\n $translate,\n ItemCollectionLayerProviderBase,\n ApiMapModel,\n MapHelperService,\n GeometryHelper,\n ) {\n return function (map, endpointKey, layerConfig, dateFrom, dateTo) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {\n this.endpointKey = endpointKey\n this.layerConfig = layerConfig\n this.dateFrom = dateFrom || moment().startOf('year').subtract(100, 'years').format()\n this.dateTo = dateTo || moment().format()\n }\n\n child.update = function update() {\n return ApiMapModel.getDataForMap(\n {\n id: this.endpointKey,\n id1: this.layerConfig.key,\n since: this.dateFrom,\n until: this.dateTo,\n cultureCode: $translate.use(),\n },\n function (data) {\n child.processItems(data)\n },\n )\n }\n\n child.createLayer = function createLayer(item) {\n var markerOptions = {}\n\n if (this.layerConfig.legendOptions.hasOwnProperty('colors')) {\n markerOptions = {\n icon: L.divIcon({\n html: ``,\n iconSize: L.point(20, 20),\n className: 'dynamic-div-icon',\n }),\n }\n } else if (this.layerConfig.legendOptions.hasOwnProperty('images')) {\n markerOptions = {\n icon: MapHelperService.createIcon(\n 'styles/img/' + this.layerConfig.legendOptions.images[0],\n ),\n }\n } else {\n log.error('Dynamic legend layer color or image has to be set.')\n }\n\n return new L.marker([item.latitude, item.longitude], markerOptions)\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return GeometryHelper.coordinatesEqual(item1, item2) && item1.id === item2.id\n }\n\n child.getDateFrom = function () {\n return this.dateFrom\n }\n\n child.getDateTo = function () {\n return this.dateTo\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('EventLayerProvider', EventLayerProvider)\n\n EventLayerProvider.$inject = [\n '$rootScope',\n '$filter',\n '$translate',\n 'ApiMapModel',\n 'MapHelperService',\n 'MapDialogService',\n 'PersistenceModel',\n 'CustomLayer',\n ]\n\n function EventLayerProvider(\n $rootScope,\n $filter,\n $translate,\n ApiMapModel,\n MapHelperService,\n MapDialogService,\n PersistenceModel,\n CustomLayer,\n ) {\n function initEventLayer(map, configuration, layerCollection) {\n _createPublicEventsLayer(map, configuration, layerCollection)\n if (PersistenceModel.hasCrisisRole()) {\n _createPrivateEventsLayer(map, configuration, layerCollection)\n }\n }\n\n function _createMarkerGroupLayer(configuration, key, layerCollection) {\n var markersGroup = {}\n angular.forEach(configuration, function (customLayer) {\n if (customLayer.key === key) {\n markersGroup = new L.MarkerClusterGroup({\n iconCreateFunction: MapHelperService.getCreateIconFunction(),\n disableClusteringAtZoom: 10,\n })\n\n var eventLayer = new CustomLayer(\n angular.extend(customLayer, {\n layer: markersGroup,\n }),\n )\n MapHelperService.addLayer(eventLayer, layerCollection)\n }\n })\n return markersGroup\n }\n\n function _createPublicEventsLayer(map, configuration, layerCollection) {\n var filter = {\n includePublic: true,\n cultureCode: $translate.use(),\n // includeInactive: true\n }\n var markersGroup = _createMarkerGroupLayer(configuration, 'publicnews', layerCollection)\n eventsToMarkers(map, filter, markersGroup)\n }\n\n function _createPrivateEventsLayer(map, configuration, layerCollection) {\n var filter = {\n includePrivate: true,\n cultureCode: $translate.use(),\n // includeInactive: true\n }\n var markersGroup = _createMarkerGroupLayer(configuration, 'privatenews', layerCollection)\n eventsToMarkers(map, filter, markersGroup, true)\n }\n\n function eventsToMarkers(map, filter, markersGroup, privateAccess) {\n ApiMapModel.getEvents(filter, function (mapEvents) {\n if (mapEvents.hasOwnProperty('events')) {\n angular.forEach(mapEvents.events, function (mapEvent) {\n mapEvent.imagePath = $filter('eventImage')(mapEvent, privateAccess)\n\n var markerOptions = {\n icon: new L.Icon({\n iconUrl: mapEvent.imagePath,\n iconSize: new L.point(24, 24),\n iconAnchor: new L.point(16, 16),\n }),\n }\n var marker = new L.marker([mapEvent.coordinateY, mapEvent.coordinateX], markerOptions)\n marker.on('click', function (event, args) {\n MapDialogService.openDialogEvents(\n mapEvent,\n map,\n marker.getLatLng(),\n $rootScope.$new(),\n )\n })\n markersGroup.addLayer(marker)\n })\n }\n })\n }\n\n return {\n initEventLayer: initEventLayer,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('InitiativeLayerProvider', InitiativeLayerProvider)\n\n InitiativeLayerProvider.$inject = [\n '$translate',\n 'ItemCollectionLayerProviderBase',\n 'ApiInitiativeModel',\n 'MapHelperService',\n 'GeometryHelper',\n ]\n\n function InitiativeLayerProvider(\n $translate,\n ItemCollectionLayerProviderBase,\n ApiInitiativeModel,\n MapHelperService,\n GeometryHelper,\n ) {\n function createLayer(item) {\n var markerOptions = {\n icon: MapHelperService.createIcon(this.image),\n }\n\n const marker = L.marker([item.latitude, item.longitude], markerOptions)\n marker.initiativeId = item.id\n return marker\n }\n\n function getItemKey(item) {\n return item.id.toString()\n }\n\n function itemsEqual(item1, item2) {\n return GeometryHelper.coordinatesEqual(item1, item2) && item1.id === item2.id\n }\n\n return {\n fromCategory: function (map, categoryId, image) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {\n this.categoryId = categoryId\n this.image = image\n }\n\n child.update = function update() {\n return ApiInitiativeModel.getInitiatives(\n { categoryId: this.categoryId, cultureCode: $translate.use() },\n function (initiatives) {\n child.processItems(initiatives)\n },\n )\n }\n\n child.createLayer = createLayer\n\n child.getItemKey = getItemKey\n\n child.itemsEqual = itemsEqual\n\n child.init()\n return child\n },\n fromSingleInitiative: function (map, initiative, image) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {\n this.initiative = initiative\n this.image = image\n }\n\n child.update = function update() {\n child.processItems([this.initiative])\n }\n\n child.createLayer = createLayer\n\n child.getItemKey = getItemKey\n\n child.itemsEqual = itemsEqual\n\n child.init()\n return child\n },\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.common.services')\n .factory('ItemCollectionLayerProviderBase', ItemCollectionLayerProviderBase)\n\n ItemCollectionLayerProviderBase.$inject = []\n\n function ItemCollectionLayerProviderBase() {\n return {\n super: function (map) {\n this.layer = new L.markerClusterGroup({})\n this.map = map\n this.addedItems = []\n this.addedLayers = []\n this.currentItemsDict = []\n },\n\n setItemClickedFunc: function (itemClickedFunc) {\n this.itemClickedFunc = itemClickedFunc\n },\n\n update: function () {\n return null\n },\n\n getLayer: function () {\n return this.layer\n },\n\n getItemKey: function () {},\n\n createLayer: function () {\n return null\n },\n\n itemsEqual: function () {\n return false\n },\n\n processItems: function (items) {\n var me = this\n\n this.currentItemsDict = {}\n\n // remove items that were removed\n _.forEach(items, function (item) {\n var itemKey = me.getItemKey(item)\n me.currentItemsDict[itemKey] = item\n })\n\n var itemsToRemove = []\n this.addedItems.forEach(function (previousKey) {\n var currentItem = me.currentItemsDict[previousKey]\n if (angular.isUndefined(currentItem)) {\n itemsToRemove.push(previousKey)\n }\n })\n itemsToRemove.forEach(function (key) {\n me.removeLayer(key)\n })\n\n angular.forEach(this.currentItemsDict, function (currentItem, currentKey) {\n var previousItem = me.addedItems[currentKey]\n var layer = {}\n if (angular.isUndefined(previousItem)) {\n layer = me.createAndHookLayer(currentItem)\n me.addedItems[currentKey] = currentItem\n me.layer.addLayer(layer)\n me.addedLayers[currentKey] = layer\n } else if (!me.itemsEqual(currentItem, previousItem)) {\n me.removeLayer(currentKey)\n layer = me.createAndHookLayer(currentItem)\n me.addedItems[currentKey] = currentItem\n me.layer.addLayer(layer)\n me.addedLayers[currentKey] = layer\n }\n })\n },\n\n createAndHookLayer: function (currentItem) {\n var me = this\n var layer = this.createLayer(currentItem)\n if (layer instanceof L.FeatureGroup) {\n layer.on('contextmenu', function (event) {\n me.map.contextmenu.showAt(event.latlng, null)\n })\n }\n var layerObj = layer\n if (layerObj.on != null) {\n layerObj.on('click', function () {\n if (me.itemClickedFunc != null) {\n me.itemClickedFunc(currentItem, layer)\n }\n })\n }\n return layer\n },\n\n removeLayer: function (itemKey) {\n var layer = this.addedLayers[itemKey]\n if (layer) {\n this.layer.removeLayer(layer)\n delete this.addedItems[itemKey]\n delete this.addedLayers[itemKey]\n }\n },\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('LayerProviderFactory', LayerProviderFactory)\n\n LayerProviderFactory.$inject = [\n '$rootScope',\n 'MapDialogService',\n 'AirQualityLayerProvider',\n 'BollardLayerProvider',\n 'RestaurantLayerProvider',\n 'PassabilityLayerProvider',\n 'StaticBollardsLayerProvider',\n 'TelescopicBollardsLayerProvider',\n 'SyposLayerProvider',\n 'CameraLayerProvider',\n 'ChemistryLayerProvider',\n 'DdrMessageLayerProvider',\n 'DynamicDataSourceLayerProvider',\n 'EventLayerProvider',\n 'InitiativeLayerProvider',\n 'ItemCollectionLayerProviderBase',\n 'RiverStationLayerProvider',\n ]\n\n function LayerProviderFactory(\n $rootScope,\n MapDialogService,\n AirQualityLayerProvider,\n BollardLayerProvider,\n RestaurantLayerProvider,\n PassabilityLayerProvider,\n StaticBollardsLayerProvider,\n TelescopicBollardsLayerProvider,\n SyposLayerProvider,\n CameraLayerProvider,\n ChemistryLayerProvider,\n DdrMessageLayerProvider,\n DynamicDataSourceLayerProvider,\n EventLayerProvider,\n InitiativeLayerProvider,\n ItemCollectionLayerProviderBase,\n RiverStationLayerProvider,\n ) {\n function provide(map, providerName) {\n const providers = {\n AirQualityLayerProvider: AirQualityLayerProvider,\n BollardLayerProvider: BollardLayerProvider,\n RestaurantLayerProvider: RestaurantLayerProvider,\n PassabilityLayerProvider: PassabilityLayerProvider,\n StaticBollardsLayerProvider: StaticBollardsLayerProvider,\n TelescopicBollardsLayerProvider: TelescopicBollardsLayerProvider,\n SyposLayerProvider: SyposLayerProvider,\n CameraLayerProvider: CameraLayerProvider,\n ChemistryLayerProvider: ChemistryLayerProvider,\n DdrMessageLayerProvider: DdrMessageLayerProvider,\n DynamicDataSourceLayerProvider: DynamicDataSourceLayerProvider,\n EventLayerProvider: EventLayerProvider,\n InitiativeLayerProvider: InitiativeLayerProvider,\n ItemCollectionLayerProviderBase: ItemCollectionLayerProviderBase,\n RiverStationLayerProvider: RiverStationLayerProvider,\n }\n const providerFactories = {\n _createBollardLayerProvider: _createBollardLayerProvider,\n _createChemistryLayerProvider: _createChemistryLayerProvider,\n _createSyposLayerProvider: _createSyposLayerProvider,\n _createRestaurantLayerProvider: _createRestaurantLayerProvider,\n _createPassabilityLayerProvider: _createPassabilityLayerProvider,\n _createStaticBollardsLayerProvider: _createStaticBollardsLayerProvider,\n _createTelescopicBollardsLayerProvider: _createTelescopicBollardsLayerProvider,\n }\n if (providerName in providers) {\n const provider = providers[providerName]\n const providerCreateFunction = '_create' + providerName\n if (providerCreateFunction in providerFactories) {\n return providerFactories[providerCreateFunction](map)\n } else {\n return new provider(map)\n }\n } else {\n throw new Error(providerName + ' is not defined in LayerProviderService')\n }\n }\n\n function _createChemistryLayerProvider(map) {\n var chemistryLayerProvider = new ChemistryLayerProvider(map)\n chemistryLayerProvider.setItemClickedFunc(function (hazardousArea) {\n MapDialogService.openDialogHazardousAreas(\n hazardousArea,\n map,\n hazardousArea.coordinates,\n $rootScope.$new(),\n )\n })\n chemistryLayerProvider.update()\n return chemistryLayerProvider\n }\n\n function _createBollardLayerProvider(map) {\n var bollardLayerProvider = new BollardLayerProvider(map)\n bollardLayerProvider.setItemClickedFunc(function (bollard) {\n MapDialogService.openDialogBollard(bollard, map, bollard.coordinates, $rootScope.$new())\n })\n bollardLayerProvider.update()\n return bollardLayerProvider\n }\n\n function _createRestaurantLayerProvider(map) {\n var restaurantLayerProvider = new RestaurantLayerProvider(map)\n restaurantLayerProvider.setItemClickedFunc(function (restaurant) {\n MapDialogService.openRestaurant(restaurant, map, restaurant.coordinates, $rootScope.$new())\n })\n restaurantLayerProvider.update()\n return restaurantLayerProvider\n }\n\n function _createPassabilityLayerProvider(map) {\n var passabilityLayerProvider = new PassabilityLayerProvider(map)\n passabilityLayerProvider.setItemClickedFunc(function (restaurant) {\n MapDialogService.openPassability(restaurant, map, restaurant.coordinates, $rootScope.$new())\n })\n passabilityLayerProvider.update()\n return passabilityLayerProvider\n }\n\n function _createStaticBollardsLayerProvider(map) {\n var staticBollardsLayerProvider = new StaticBollardsLayerProvider(map)\n staticBollardsLayerProvider.setItemClickedFunc(function (bollard) {\n MapDialogService.openDialogBollard(bollard, map, bollard.coordinates, $rootScope.$new())\n })\n staticBollardsLayerProvider.update()\n return staticBollardsLayerProvider\n }\n\n function _createTelescopicBollardsLayerProvider(map) {\n var telescopicBollardsLayerProvider = new TelescopicBollardsLayerProvider(map)\n telescopicBollardsLayerProvider.setItemClickedFunc(function (bollard) {\n MapDialogService.openDialogBollard(bollard, map, bollard.coordinates, $rootScope.$new())\n })\n telescopicBollardsLayerProvider.update()\n return telescopicBollardsLayerProvider\n }\n\n function _createSyposLayerProvider(map) {\n var syposLayerProvider = new SyposLayerProvider(map)\n syposLayerProvider.setItemClickedFunc(function (institution) {\n MapDialogService.openDialogSypos(\n institution,\n map,\n institution.coordinates,\n $rootScope.$new(),\n )\n })\n syposLayerProvider.update()\n return syposLayerProvider\n }\n\n return {\n provide: provide,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.common.services')\n .factory('PassabilityLayerProvider', PassabilityLayerProvider)\n\n PassabilityLayerProvider.$inject = [\n 'ItemCollectionLayerProviderBase',\n 'ApiMapModel',\n 'MapHelperService',\n ]\n\n function PassabilityLayerProvider(\n ItemCollectionLayerProviderBase,\n ApiMapModel,\n MapHelperService,\n ) {\n return function (map) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {}\n\n child.update = function update() {\n const request = ApiMapModel.getPassabilityPoints(function (point) {\n child.processItems(point)\n })\n return request.$promise\n }\n\n child.createLayer = function createLayer(item) {\n const markerOptions = {\n icon: MapHelperService.createIcon('/styles/img/passability.png'),\n }\n const latlng = {\n lat: item.position.latitude,\n lon: item.position.longitude,\n }\n angular.extend(item, { coordinates: latlng })\n\n const marker = new L.marker(latlng, markerOptions)\n marker.syposId = item.id\n return marker\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return item1.id === item2.id\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('RestaurantLayerProvider', RestaurantLayerProvider)\n\n RestaurantLayerProvider.$inject = [\n 'ItemCollectionLayerProviderBase',\n 'ApiMapModel',\n 'MapHelperService',\n ]\n\n function RestaurantLayerProvider(ItemCollectionLayerProviderBase, ApiMapModel, MapHelperService) {\n return function (map) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {}\n\n child.update = function update() {\n const request = ApiMapModel.getRestaurants(function (pub) {\n child.processItems(pub)\n })\n return request.$promise\n }\n\n child.createLayer = function createLayer(item) {\n const markerOptions = {\n icon: MapHelperService.createIcon('/styles/img/restaurant.png'),\n }\n const latlng = {\n lat: item.position.latitude,\n lon: item.position.longitude,\n }\n angular.extend(item, { coordinates: latlng })\n\n const marker = new L.marker(latlng, markerOptions)\n marker.syposId = item.id\n return marker\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return item1.id === item2.id\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.common.services')\n .factory('RiverStationLayerProvider', RiverStationLayerProvider)\n\n RiverStationLayerProvider.$inject = [\n '$q',\n '$rootScope',\n '$stateParams',\n '$templateRequest',\n '$compile',\n '$timeout',\n '$filter',\n 'MapHelperService',\n 'CustomLayer',\n 'ApiMapModel',\n 'ApiSourceModel',\n ]\n\n function RiverStationLayerProvider(\n $q,\n $rootScope,\n $stateParams,\n $templateRequest,\n $compile,\n $timeout,\n $filter,\n MapHelperService,\n CustomLayer,\n ApiMapModel,\n ApiSourceModel,\n ) {\n function initRiverStationLayer(configuration, layerCollection) {\n ApiMapModel.getRiverStations((data) => {\n ApiSourceModel.getRiversSpaTypes((spaTypes) => {\n var promise = _getRiverStationsLayerGroup(data.stations, spaTypes)\n promise.then((stationGroup) => {\n var customLayer = new CustomLayer(\n angular.extend(configuration, {\n layer: stationGroup,\n }),\n )\n MapHelperService.addLayer(customLayer, layerCollection)\n _handlePopupOpen(stationGroup)\n })\n })\n })\n }\n\n function _getRiverStationsLayerGroup(stations) {\n var deferred = $q.defer(),\n markers = [],\n promises = []\n\n angular.forEach(stations, (station) => {\n var location = $filter('riverStationNameToPositionFilter')(station.stationName)\n var marker = new L.Marker(new L.LatLng(location[0], location[1]), {\n draggable: false,\n icon: new L.Icon({\n iconUrl: 'styles/img/' + _.toLower(station.spa || 'normal') + '.png',\n iconSize: new L.Point(24, 24),\n iconAnchor: new L.Point(24, 24),\n shadowAnchor: new L.Point(12, 12),\n popupAnchor: new L.Point(5, 5),\n }),\n })\n\n var def = $q.defer()\n promises.push(def.promise)\n\n var popupScope = $rootScope.$new(true)\n angular.extend(popupScope, {\n location: location,\n station: station,\n today: moment().format('LL'),\n actualizationDate: moment(station.timestampUtc).format('LL'),\n actualizationTime: moment(station.timestampUtc).format('LTS'),\n })\n\n $templateRequest('app/modules/_common/service/maps/html/riverStationPopup.html').then((response) => {\n var template = $compile(response)(popupScope)\n $timeout(() => {\n marker.bindPopup(\n template[0].outerHTML,\n MapHelperService.extendLeafletPopupDefaultOptions({}),\n )\n marker.stationName = station.stationName\n markers.push(marker)\n def.resolve(marker)\n })\n })\n })\n\n $q.all(promises).then((markers) => {\n var stationGroup = new L.LayerGroup(markers)\n deferred.resolve(stationGroup)\n })\n\n return deferred.promise\n }\n\n function _handlePopupOpen(stationGroup) {\n const stationName = $stateParams.stationName\n stationGroup.eachLayer((marker) => {\n if (stationName && marker.stationName === stationName.toString()) {\n marker.openPopup()\n }\n })\n }\n\n return {\n initRiverStationLayer: initRiverStationLayer,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.common.services')\n .factory('StaticBollardsLayerProvider', StaticBollardsLayerProvider)\n\n StaticBollardsLayerProvider.$inject = [\n 'ItemCollectionLayerProviderBase',\n 'ApiMapModel',\n 'MapHelperService',\n ]\n\n function StaticBollardsLayerProvider(\n ItemCollectionLayerProviderBase,\n ApiMapModel,\n MapHelperService,\n ) {\n return function (map) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {}\n\n child.update = function update() {\n const request = ApiMapModel.getBollards({ type: 'STATIC' }, function (point) {\n child.processItems(point)\n })\n return request.$promise\n }\n\n child.createLayer = function createLayer(item) {\n const markerOptions = {\n icon: MapHelperService.createIcon('/styles/img/cone.png'),\n }\n const latlng = {\n lat: item.position.latitude,\n lon: item.position.longitude,\n }\n angular.extend(item, { coordinates: latlng })\n\n const marker = new L.marker(latlng, markerOptions)\n marker.syposId = item.id\n return marker\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return item1.id === item2.id\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('SyposLayerProvider', SyposLayerProvider)\n\n SyposLayerProvider.$inject = [\n 'ItemCollectionLayerProviderBase',\n 'ApiMapModel',\n 'MapHelperService',\n ]\n\n function SyposLayerProvider(ItemCollectionLayerProviderBase, ApiMapModel, MapHelperService) {\n return function (map) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {}\n\n child.update = function update() {\n const request = ApiMapModel.getSchools(function (institutes) {\n child.processItems(institutes)\n })\n return request.$promise\n }\n\n child.createLayer = function createLayer(item) {\n const markerOptions = {\n icon: MapHelperService.createIcon('/styles/img/edu-icon32.png'),\n }\n const latlng = {\n lat: item.position.latitude,\n lon: item.position.longitude,\n }\n angular.extend(item, { coordinates: latlng })\n\n const marker = new L.marker(latlng, markerOptions)\n marker.syposId = item.id\n return marker\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return item1.id === item2.id\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.common.services')\n .factory('TelescopicBollardsLayerProvider', TelescopicBollardsLayerProvider)\n\n TelescopicBollardsLayerProvider.$inject = [\n 'ItemCollectionLayerProviderBase',\n 'ApiMapModel',\n 'MapHelperService',\n ]\n\n function TelescopicBollardsLayerProvider(\n ItemCollectionLayerProviderBase,\n ApiMapModel,\n MapHelperService,\n ) {\n return function (map) {\n var child = Object.create(ItemCollectionLayerProviderBase)\n child.super(map)\n\n child.init = function () {}\n\n child.update = function update() {\n const request = ApiMapModel.getBollards({ type: 'TELESCOPIC' }, function (point) {\n child.processItems(point)\n })\n return request.$promise\n }\n\n child.createLayer = function createLayer(item) {\n const markerOptions = {\n icon: MapHelperService.createIcon('/styles/img/bollards.png'),\n }\n const latlng = {\n lat: item.position.latitude,\n lon: item.position.longitude,\n }\n angular.extend(item, { coordinates: latlng })\n\n const marker = new L.marker(latlng, markerOptions)\n marker.syposId = item.id\n return marker\n }\n\n child.getItemKey = function getItemKey(item) {\n return item.id.toString()\n }\n\n child.itemsEqual = function itemsEqual(item1, item2) {\n return item1.id === item2.id\n }\n\n child.init()\n return child\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('MapHelperService', MapHelperService)\n\n MapHelperService.$inject = [\n '$translate',\n '$rootScope',\n '$state',\n 'MapSettings',\n 'LayerCollection',\n 'ServerLayer',\n 'LineLayer',\n 'MapSearchService',\n 'HelperService',\n 'leafletData',\n 'PersistenceModel',\n 'APP_CONFIG',\n ]\n\n function MapHelperService(\n $translate,\n $rootScope,\n $state,\n MapSettings,\n LayerCollection,\n ServerLayer,\n LineLayer,\n MapSearchService,\n HelperService,\n leafletData,\n PersistenceModel,\n APP_CONFIG,\n ) {\n var controllerData = null\n\n function _makeLeafletOverrides() {\n L.esri.Util.responseToFeatureCollection = function (response, idAttribute) {\n var objectIdField\n\n if (idAttribute) {\n objectIdField = idAttribute\n } else if (response.objectIdFieldName) {\n objectIdField = response.objectIdFieldName\n } else if (response.fields) {\n var alternativeIdField = null\n for (var j = 0; j <= response.fields.length - 1; j++) {\n if (response.fields[j].type === 'esriFieldTypeOID') {\n objectIdField = response.fields[j].name\n }\n if (response.fields[j].alias === 'GLOBALID') {\n alternativeIdField = response.fields[j].name\n }\n }\n objectIdField = objectIdField || alternativeIdField\n } else {\n objectIdField = 'OBJECTID'\n }\n\n var featureCollection = {\n type: 'FeatureCollection',\n features: [],\n }\n var features = response.features || response.results\n if (features && features.length) {\n for (var i = features.length - 1; i >= 0; i--) {\n featureCollection.features.push(L.esri.Util.arcgisToGeoJSON(features[i], objectIdField))\n }\n }\n return featureCollection\n }\n }\n\n function _setProjection(map) {\n var resolutions = [\n 198.43789687579377, 132.2919312505292, 92.60435187537043, 52.91677250021167,\n 39.687579375158755, 26.458386250105836, 19.843789687579378, 13.229193125052918,\n 6.614596562526459, 5.291677250021167, 3.9687579375158752, 2.6458386250105836,\n 1.9843789687579376, 1.3229193125052918, 0.9260435187537043, 0.5291677250021167,\n 0.39687579375158755, 0.26458386250105836, 0.19843789687579377, 0.13229193125052918,\n ]\n map.options.crs = new L.Proj.CRS(\n 'EPSG:5514',\n '+proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +towgs84=589,76,480,0,0,0,0 +units=m +no_defs',\n {\n origin: [-33699800, 33699800],\n resolutions: resolutions,\n },\n )\n map.zoomControl.setPosition('topright')\n }\n\n function _setDefaultPosition(map) {\n var settings = new MapSettings()\n var lat = settings.getDefaultLatitude()\n var lng = settings.getDefaultLongitude()\n map.setView(new L.LatLng(lat, lng), settings.getDefaultZoom())\n }\n\n function _createLayerCollection(controllerData) {\n var layerCollection = new LayerCollection(controllerData)\n var layers = _createServerLayers(layerCollection)\n _createLayerSwitchers(layers, controllerData.map)\n return layerCollection\n }\n\n function _createDefaultLayers(layerCollection) {\n angular.forEach(\n APP_CONFIG.mapSettings.defaultLayers.lineLayers,\n function (lineLayerConfiguration) {\n var lineLayer = new LineLayer(\n angular.extend(lineLayerConfiguration, {\n fillOpacity: 0,\n weight: 3,\n opacity: 0.8,\n simplifyFactor: 0,\n }),\n )\n addLayer(lineLayer, layerCollection)\n },\n )\n }\n\n function addLayer(layer, layerCollection) {\n layerCollection.addLayer(layer)\n\n controllerData.mapLayers = layerCollection.getLayers()\n controllerData.legend = generateLegend(controllerData.mapLayers)\n\n controllerData.map.on('popupopen', (e) => {\n controllerData.map.setView(e.target._popup._latlng, e.target._zoom)\n })\n }\n\n function removeLayer(layer, layerCollection) {\n layerCollection.removeLayer(layer)\n controllerData.mapLayers = layerCollection.getLayers()\n controllerData.legend = generateLegend(controllerData.mapLayers)\n }\n\n function _createServerLayers(layerCollection) {\n var serverLayers = []\n\n angular.forEach(APP_CONFIG.mapSettings.serverLayers, function (serverLayerData) {\n var serverLayer = new ServerLayer(\n angular.extend(\n {\n tileSize: 512,\n isBase: true,\n },\n serverLayerData.options,\n ),\n )\n\n layerCollection.addLayer(serverLayer)\n\n var layer = {}\n layer[serverLayerData.switcher.key] = {\n layer: serverLayer.getLayer(),\n switcher: serverLayerData.switcher,\n }\n serverLayers.push(layer)\n })\n return serverLayers\n }\n\n function _createLayerSwitchers(layers, map) {\n layers = _.transform(layers, _.ary(_.extend, 2), {})\n angular.forEach(layers, function (layer, key) {\n var dependencies = []\n angular.forEach(layer.switcher.dependencies, function (dependency) {\n dependencies.push(layers[dependency].layer)\n })\n\n var ctrl = new L.Intens.BaseLayerSwitcher(\n [layer.layer],\n dependencies,\n key,\n $translate.instant(layer.switcher.title),\n )\n ctrl.addTo(map)\n if (layer.activate) {\n ctrl.activate()\n }\n })\n }\n\n function _translator(relativeId) {\n return $translate.instant('_COMMON.SERVICE.MAPS.SERVICES.MAP_HELPER_SERVICE.' + relativeId)\n }\n\n function prepareLealetDrawTranslations() {\n L.drawLocal.draw.toolbar.actions.text = _translator('draw.toolbar.actions.text')\n L.drawLocal.draw.toolbar.actions.title = _translator('draw.toolbar.actions.title')\n\n L.drawLocal.draw.toolbar.finish.text = _translator('draw.toolbar.finish.text')\n L.drawLocal.draw.toolbar.finish.title = _translator('draw.toolbar.finish.title')\n\n L.drawLocal.draw.toolbar.undo.text = _translator('draw.toolbar.undo.text')\n L.drawLocal.draw.toolbar.undo.title = _translator('draw.toolbar.undo.title')\n\n L.drawLocal.draw.toolbar.buttons.polyline = _translator('draw.toolbar.buttons.polyline')\n L.drawLocal.draw.toolbar.buttons.polygon = _translator('draw.toolbar.buttons.polygon')\n L.drawLocal.draw.toolbar.buttons.rectangle = _translator('draw.toolbar.buttons.rectangle')\n L.drawLocal.draw.toolbar.buttons.circle = _translator('draw.toolbar.buttons.circle')\n L.drawLocal.draw.toolbar.buttons.marker = _translator('draw.toolbar.buttons.marker')\n L.drawLocal.draw.toolbar.buttons.circlemarker = _translator(\n 'draw.toolbar.buttons.circlemarker',\n )\n\n L.drawLocal.draw.handlers.circle.tooltip.start = _translator(\n 'draw.handlers.circle.tooltip.start',\n )\n L.drawLocal.draw.handlers.circlemarker.tooltip.start = _translator(\n 'draw.handlers.circlemarker.tooltip.start',\n )\n L.drawLocal.draw.handlers.marker.tooltip.start = _translator(\n 'draw.handlers.marker.tooltip.start',\n )\n L.drawLocal.draw.handlers.polygon.tooltip.start = _translator(\n 'draw.handlers.polygon.tooltip.start',\n )\n L.drawLocal.draw.handlers.polygon.tooltip.cont = _translator(\n 'draw.handlers.polygon.tooltip.cont',\n )\n L.drawLocal.draw.handlers.polygon.tooltip.end = _translator(\n 'draw.handlers.polygon.tooltip.end',\n )\n L.drawLocal.draw.handlers.polyline.tooltip.start = _translator(\n 'draw.handlers.polyline.tooltip.start',\n )\n L.drawLocal.draw.handlers.polyline.tooltip.cont = _translator(\n 'draw.handlers.polyline.tooltip.cont',\n )\n L.drawLocal.draw.handlers.polyline.tooltip.end = _translator(\n 'draw.handlers.polyline.tooltip.end',\n )\n L.drawLocal.draw.handlers.rectangle.tooltip.start = _translator(\n 'draw.handlers.rectangle.tooltip.start',\n )\n L.drawLocal.draw.handlers.simpleshape.tooltip.end = _translator(\n 'draw.handlers.simpleshape.tooltip.end',\n )\n\n L.drawLocal.edit.toolbar.actions.cancel.text = _translator('edit.toolbar.actions.cancel.text')\n L.drawLocal.edit.toolbar.actions.cancel.title = _translator(\n 'edit.toolbar.actions.cancel.title',\n )\n\n L.drawLocal.edit.toolbar.actions.clearAll.text = _translator(\n 'edit.toolbar.actions.clearAll.text',\n )\n L.drawLocal.edit.toolbar.actions.clearAll.title = _translator(\n 'edit.toolbar.actions.clearAll.title',\n )\n\n L.drawLocal.edit.toolbar.actions.save.text = _translator('edit.toolbar.actions.save.text')\n L.drawLocal.edit.toolbar.actions.save.title = _translator('edit.toolbar.actions.save.title')\n\n L.drawLocal.edit.toolbar.buttons.edit = _translator('edit.toolbar.buttons.edit')\n L.drawLocal.edit.toolbar.buttons.editDisabled = _translator(\n 'edit.toolbar.buttons.editDisabled',\n )\n L.drawLocal.edit.toolbar.buttons.remove = _translator('edit.toolbar.buttons.remove')\n L.drawLocal.edit.toolbar.buttons.removeDisabled = _translator(\n 'edit.toolbar.buttons.removeDisabled',\n )\n\n L.drawLocal.edit.handlers.edit.tooltip.text = _translator('edit.handlers.edit.tooltip.text')\n L.drawLocal.edit.handlers.edit.tooltip.subtext = _translator(\n 'edit.handlers.edit.tooltip.subtext',\n )\n\n L.drawLocal.edit.handlers.remove.tooltip.text = _translator(\n 'edit.handlers.remove.tooltip.text',\n )\n }\n\n function _createSearchControl(map) {\n L.control\n .search({\n sourceData: _findStreetsAddresses,\n position: 'topright',\n buildTip: _getSearchTip,\n autoType: false,\n initial: false,\n textCancel: _translator('search.cancel'),\n textErr: _translator('search.error'),\n textPlaceholder: _translator('search.placeholder'),\n autoCollapse: false,\n autoResize: true,\n casesensitive: false,\n minLength: 2,\n marker: false,\n propertyLoc: 'geometry',\n propertyName: 'text',\n formatData: function (data) {\n var result = {}\n var key = null\n\n for (var item in data) {\n if (data.hasOwnProperty(item)) {\n item = data[item]\n if (item.isStreetModel) {\n key = item.mkn\n } else {\n key = item.adresa\n }\n result[key] = item\n }\n }\n return result\n },\n moveToLocation: function (item, title, map) {\n moveToLocation(item, title, map)\n },\n })\n .addTo(map)\n }\n\n function moveToLocation(item, title, map, layer, autoSearch) {\n var geometry = null\n item.autoSearch = autoSearch\n\n var streetAddressSearchMarker = this ? this.streetAddressSearchMarker : layer\n if (streetAddressSearchMarker) {\n map.removeLayer(streetAddressSearchMarker)\n }\n\n if (!item.isStreetModel) {\n geometry = L.latLng(item.geometry.coordinates[1], item.geometry.coordinates[0])\n\n streetAddressSearchMarker = new L.Marker(geometry, {\n draggable: false,\n icon: new L.Icon({\n iconUrl: 'styles/img/location-pin.png',\n shadowUrl: 'styles/img/marker-shadow.png',\n iconAnchor: new L.Point(16, 32),\n shadowAnchor: new L.Point(14, 40),\n }),\n })\n\n map.addLayer(streetAddressSearchMarker)\n map.panTo(geometry)\n\n var group = new L.FeatureGroup([streetAddressSearchMarker])\n map.fitBounds(group.getBounds())\n $rootScope.$broadcast('mapAddressSearched', item, group)\n } else {\n var boundList = []\n var polylineList = []\n geometry = item.geometries\n\n for (var line in geometry) {\n if (geometry.hasOwnProperty(line)) {\n var coordinates = _.map(geometry[line].coordinates, function (coord) {\n return new L.LatLng(coord[1], coord[0])\n })\n polylineList.push(coordinates)\n boundList = boundList.concat(coordinates)\n }\n }\n\n streetAddressSearchMarker = L.polyline(polylineList, {\n color: 'red',\n weight: 2,\n opacity: 0.5,\n smoothFactor: 1,\n })\n map.addLayer(streetAddressSearchMarker)\n map.fitBounds(new L.LatLngBounds(boundList))\n }\n }\n\n function _findStreetsAddresses(text, callResponse) {\n return MapSearchService.findStreetsAddresses(text).then(function (results) {\n var data = []\n data = data.concat(results[1])\n data = data.concat(results[0])\n callResponse(data)\n })\n }\n\n function _getSearchTip(text) {\n return '' + text + ''\n }\n\n function initViewModelMapData(viewModel, key) {\n // hack - when bounds are set and specified out of range, only basic OpenStreet Map tile layer is loaded - solving 404 not found error\n var southWest = L.latLng(13.732623, 49.505265),\n northEast = L.latLng(15.053312, 50.622762),\n bounds = L.latLngBounds(southWest, northEast)\n\n angular.extend(viewModel, {\n key: key,\n activeCameraGrid: 0,\n bounds: null,\n cameraGrids: null,\n cameras: null,\n gridOptions: null,\n isAddCameraGridInProgress: false,\n newCameraGridName: null,\n isCameraTabsetCollapsed: false,\n layers: {},\n events: {\n map: {\n enable: ['layeradd', 'layerremove', 'dragend', 'zoomend'],\n logic: 'emit',\n },\n },\n controls: {\n fullscreen: {\n position: 'topright',\n },\n },\n defaults: {\n scrollWheelZoom: true,\n tileLayerOptions: {\n bounds: bounds,\n //continuousWorld: true,\n attribution:\n 'Datový podklad © IPR Praha dle licence CC BY-SA 4.0',\n },\n minZoom: 3,\n maxZoom: 18,\n },\n })\n }\n\n function initMap(map, data) {\n controllerData = data\n controllerData.map = map\n\n _setProjection(map)\n _setDefaultPosition(map)\n\n var layerCollection = _createLayerCollection(controllerData)\n _createDefaultLayers(layerCollection)\n _createSearchControl(map)\n\n getTownDistrictLayer(layerCollection)\n registerMapLayerEvents(map, data)\n return layerCollection\n }\n\n function extendLeafletPopupDefaultOptions(options) {\n return angular.extend(options, {\n autoPanPadding: new L.Point(50, 20),\n keepInView: false,\n })\n }\n\n function initLayerCollection(map) {\n _setDefaultPosition(map)\n return new LayerCollection(map)\n }\n\n function createIcon(path) {\n if (this.icons[path] == null) {\n var icon = new L.Icon({\n iconUrl: path,\n iconSize: new L.Point(24, 24),\n iconAnchor: new L.Point(12, 12),\n })\n this.icons[path] = icon\n return icon\n } else {\n return this.icons[path]\n }\n }\n\n function generateLegend(mapLayers, isMulti) {\n var legend = []\n _.forEach(mapLayers, function (layer) {\n var options = layer.getOptions()\n if (!options.isBase && layer.getKey() !== 'towndistrict') {\n legend.push({\n key: layer.getKey(),\n group: layer.getOptions().group,\n layerNumber: mapLayers.indexOf(layer),\n layer: layer,\n visible: isMulti\n ? false\n : !HelperService.isNullOrUndefined(options.visible)\n ? options.visible\n : false,\n legendOptions: options.legendOptions,\n switchLayer: _switchLayer,\n })\n }\n })\n return legend\n }\n\n function getCreateIconFunction() {\n return function (cluster) {\n var count = cluster.getChildCount()\n var digits = (count + '').length\n return L.divIcon({\n html: count,\n className: 'cluster digits-' + digits,\n iconSize: null,\n })\n }\n }\n\n function getTownDistrictLayer(layerCollection) {\n var lineLayer = new LineLayer({\n url: APP_CONFIG.mapSettings.lineLayer.url,\n key: APP_CONFIG.mapSettings.lineLayer.key,\n fillOpacity: 0,\n color: '#000000',\n weight: '2px',\n visible: true,\n })\n addLayer(lineLayer, layerCollection)\n }\n\n function createClusteredFeatureLayer(url, image, onClickEvent) {\n return new L.esri.ClusteredFeatureLayer({\n url: url,\n pointToLayer: function (geojson, latlng) {\n var selectedIcon = this.createIcon('styles/img/' + image)\n var markerOptions = { icon: selectedIcon }\n var marker = new L.Marker(latlng, markerOptions)\n marker.on('click', onClickEvent)\n return marker\n },\n disableClusteringAtZoom: 11,\n iconCreateFunction: this.getCreateIconFunction(),\n })\n }\n\n function initMapWithoutButtons(map) {\n _setProjection(map)\n _setDefaultPosition(map)\n return new LayerCollection(map)\n }\n\n function _switchLayer(legend) {\n leafletData.getMap('map').then(function (map) {\n var layer = legend.layer.getLayer()\n if (legend && legend.visible === false) {\n map.addLayer(layer)\n } else {\n map.removeLayer(layer)\n }\n $rootScope.$emit('mapLayerSwitched', { legend: legend })\n })\n }\n\n function switchMap(mapKeys, data) {\n angular.forEach(APP_CONFIG.mapSettings, function (mapObj, mapKey) {\n var activeMap = _.includes(mapKeys, mapKey)\n\n angular.forEach(mapObj, function (entity) {\n if (_.isArray(entity)) {\n angular.forEach(entity, function (obj) {\n if (obj.hasOwnProperty('key')) {\n _getLayerFromMapLayersByKey(obj.key, data, activeMap)\n }\n })\n }\n if (_.isObject(entity) && entity.hasOwnProperty('key')) {\n _getLayerFromMapLayersByKey(entity.key, data, activeMap)\n }\n })\n })\n }\n\n function _getLayerFromMapLayersByKey(key, data, activeMap) {\n angular.forEach(data.mapLayers, function (layer, layerNumber) {\n if (layer.hasOwnProperty('options') && layer.options.hasOwnProperty('key')) {\n if (layer.options.key === key) {\n _addOrRemoveLayer(layerNumber, data, activeMap)\n }\n }\n })\n }\n\n function _addOrRemoveLayer(layerNumber, data, activeMap) {\n var legend = _getLegend(data, layerNumber)\n leafletData.getMap('map').then(function (map) {\n var mapLayer = data.mapLayers[layerNumber]\n var layer = mapLayer.getLayer()\n if (activeMap) {\n if (legend) {\n legend.display = true\n }\n mapLayer.setLegendVisible(true)\n // if (legend && legend.visible === false) {\n map.addLayer(layer)\n // }\n } else {\n if (legend) {\n legend.display = false\n }\n if (legend && !legend.disable) {\n mapLayer.setLegendVisible(false)\n map.removeLayer(layer)\n }\n }\n })\n }\n\n function _getLegend(data, layerNumber) {\n if (data.hasOwnProperty('legend')) {\n return data.legend[data.legend.indexOf(_.find(data.legend, ['layerNumber', layerNumber]))]\n }\n }\n\n function _getLayerNumberAndSwitch(data, layer, checked) {\n var tempCollection = _.map(data.mapLayers, function (laylay) {\n return laylay.getLayer()\n })\n var layerNumber = tempCollection.indexOf(layer)\n var legend = _getLegend(data, layerNumber)\n if (legend) {\n if ($state.$current.name === 'front.map.all') {\n PersistenceModel.setMapLayerVisibility(legend.key, checked)\n }\n legend.visible = checked\n }\n }\n\n function registerMapLayerEvents(map, data) {\n map.on('overlayadd', function (overlay) {\n _getLayerNumberAndSwitch(data, overlay.layer, true)\n })\n map.on('overlayremove', function (overlay) {\n _getLayerNumberAndSwitch(data, overlay.layer, false)\n })\n\n map.on('layeradd', function (overlay) {\n _getLayerNumberAndSwitch(data, overlay.layer, true)\n })\n map.on('layerremove', function (overlay) {\n _getLayerNumberAndSwitch(data, overlay.layer, false)\n })\n }\n\n _makeLeafletOverrides()\n\n return {\n icons: {},\n initViewModelMapData: initViewModelMapData,\n initMap: initMap,\n extendLeafletPopupDefaultOptions: extendLeafletPopupDefaultOptions,\n initLayerCollection: initLayerCollection,\n createIcon: createIcon,\n generateLegend: generateLegend,\n getCreateIconFunction: getCreateIconFunction,\n getTownDistrictLayer: getTownDistrictLayer,\n createClusteredFeatureLayer: createClusteredFeatureLayer,\n prepareLealetDrawTranslations: prepareLealetDrawTranslations,\n initMapWithoutButtons: initMapWithoutButtons,\n switchMap: switchMap,\n registerMapLayerEvents: registerMapLayerEvents,\n addLayer: addLayer,\n removeLayer: removeLayer,\n moveToLocation: moveToLocation,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('MapProviderService', MapProviderService)\n\n MapProviderService.$inject = [\n '$translate',\n 'NewsMapService',\n 'CadastreMapService',\n 'DynamicDataSourceMapService',\n 'FloodsMapService',\n 'HzsMapService',\n 'InitiativeMapService',\n 'IzsMapService',\n 'RestaurantMapService',\n 'SafetyMapService',\n 'SchoolMapService',\n 'TrafficMapService',\n ]\n\n function MapProviderService(\n $translate,\n NewsMapService,\n CadastreMapService,\n DynamicDataSourceMapService,\n FloodsMapService,\n HzsMapService,\n InitiativeMapService,\n IzsMapService,\n RestaurantMapService,\n SafetyMapService,\n SchoolMapService,\n TrafficMapService,\n ) {\n function getProviders() {\n return {\n NewsMapService: {\n func: NewsMapService.initNewsMap,\n label: $translate.instant('FRONT.MAP.MENU.AIR'),\n showInCms: true,\n },\n CadastreMapService: {\n func: CadastreMapService.initCadastreMap,\n label: $translate.instant('FRONT.MAP.MENU.CADASTRE'),\n showInCms: true,\n },\n CriminalityMapService: {\n func: DynamicDataSourceMapService.initDynamicDataSourceMap,\n param: 'criminality',\n label: $translate.instant('FRONT.MAP.MENU.CRIMINALITY'),\n showInCms: true,\n },\n FloodsMapService: {\n func: FloodsMapService.initFloodsMap,\n label: $translate.instant('FRONT.MAP.MENU.FLOODS'),\n showInCms: true,\n },\n HzsMapService: {\n func: HzsMapService.initHzsMap,\n label: $translate.instant('FRONT.MAP.MENU.HZS'),\n showInCms: true,\n },\n InitiativeMapService: {\n func: InitiativeMapService.initInitiativeMap,\n label: $translate.instant('FRONT.MAP.MENU.INITIATIVES'),\n showInCms: true,\n },\n IzsMapService: {\n func: IzsMapService.initIzsMap,\n label: $translate.instant('FRONT.MAP.MENU.ISZ'),\n showInCms: true,\n },\n NoiseMapService: {\n func: DynamicDataSourceMapService.initDynamicDataSourceMap,\n param: 'noise',\n label: $translate.instant('FRONT.MAP.MENU.NOISE'),\n showInCms: true,\n },\n RestaurantMapService: {\n func: RestaurantMapService.initRestaurantMap,\n label: $translate.instant('FRONT.MAP.MENU.PUB'),\n showInCms: true,\n },\n SafetyMapService: {\n func: SafetyMapService.initSafetyMap,\n label: $translate.instant('FRONT.MAP.MENU.SAFETY'),\n showInCms: true,\n },\n SchoolMapService: {\n func: SchoolMapService.initSchoolMap,\n label: $translate.instant('FRONT.MAP.MENU.SCHOOL'),\n showInCms: true,\n },\n TrafficMapService: {\n func: TrafficMapService.initTrafficMap,\n label: $translate.instant('FRONT.MAP.MENU.TRAFFIC'),\n showInCms: true,\n },\n }\n }\n\n function provide(key, data) {\n if (key) {\n const provider = getProviders()[key]\n provider.func(data, provider.param)\n }\n }\n\n return {\n getProviders: getProviders,\n provide: provide,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular.module('app.common.services').factory('MapSearchService', MapSearchService)\n\n MapSearchService.$inject = ['$q', 'HelperService', 'APP_CONFIG']\n\n function MapSearchService($q, HelperService, APP_CONFIG) {\n function _doQuery(url, query, func) {\n var deferred = $q.defer()\n\n var query = L.esri\n .query({\n url: url,\n })\n .where(query)\n .fields('*')\n .run(function (err, featureCollection) {\n var data = _processSearchResults(err, featureCollection, deferred, func)\n deferred.resolve(data)\n })\n\n return deferred.promise\n }\n\n function _processSearchResults(error, featureCollection, deferred, func) {\n if (!HelperService.isNullOrUndefined(error) && error.code > 0) {\n deferred.reject()\n return\n }\n\n var data = []\n for (var index in featureCollection.features) {\n if (featureCollection.features.hasOwnProperty(index)) {\n var feature = featureCollection.features[index]\n if (HelperService.isNullOrUndefined(feature.geometry)) {\n continue\n }\n\n var obj = func(feature, data)\n if (obj) {\n data.push(obj)\n }\n }\n }\n return data\n }\n\n function _processAddress(feature) {\n return {\n adresa: feature.properties.ADRESA,\n cisloDomovni: feature.properties.CISLODOMOVNI,\n cisloOrientacni: feature.properties.CISLOORIENTACNI,\n pismenoCo: feature.properties.PISMENOCO,\n idAdresa: Number(feature.properties.IDADRESA),\n psc: feature.properties.PSC,\n geometry: feature.geometry,\n isStreetModel: false,\n nazevCastObce: feature.properties.NAZEVCASTOBCE,\n nazevMestCast: feature.properties.NAZEVMESTCAST,\n nazevUlice: feature.properties.NAZEVULICE,\n }\n }\n\n function _processStreet(feature, streets) {\n if (_.some(streets, { ck: feature.properties.CK })) {\n for (var streetIndex in streets) {\n if (streets.hasOwnProperty(streetIndex)) {\n var street = streets[streetIndex]\n if (street.ck === feature.properties.CK) {\n street.geometries.push(feature.geometry)\n }\n }\n }\n } else {\n return {\n mkn: feature.properties.MKN,\n ck: feature.properties.CK,\n poskytovatel: feature.properties.POSKYT,\n geometries: new Array(feature.geometry),\n isStreetModel: true,\n }\n }\n }\n\n function findStreetsAddresses(value) {\n var addressPromise = this.findAddresses(value)\n var streetsPromise = this.findStreets(value)\n return $q.all([addressPromise, streetsPromise])\n }\n\n function findAddresses(value) {\n return _doQuery(\n APP_CONFIG.mapSettings.search.MAP_SEARCH_ADDRESSES_URL,\n \"LOWER(ADRESA) like '%\" + value.toLowerCase() + \"%'\",\n _processAddress,\n )\n }\n\n function findStreets(value) {\n return _doQuery(\n APP_CONFIG.mapSettings.search.MAP_SEARCH_STREETS_URL,\n \"LOWER(MKN) like '%\" + value.toLowerCase() + \"%'\",\n _processStreet,\n )\n }\n\n return {\n findStreetsAddresses: findStreetsAddresses,\n findAddresses: findAddresses,\n findStreets: findStreets,\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('EditCameraAvailabilityModalController', EditCameraAvailabilityModalController)\n\n EditCameraAvailabilityModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminUserModel',\n 'FlashMessage',\n 'role',\n ]\n\n function EditCameraAvailabilityModalController(\n $uibModalInstance,\n ApiAdminUserModel,\n FlashMessage,\n role,\n ) {\n const vm = this\n vm.ok = ok\n vm.cancel = cancel\n vm.role = role\n \n\n function ok() {\n var promise = ApiAdminUserModel.editRole({ id1: vm.role.id }, { role: vm.role }, function () {\n FlashMessage.add('Četnost zobrazení byla úspěšně editována.', 'success')\n })\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('CameraDetailModalController', CameraDetailModalController)\n\n CameraDetailModalController.$inject = [\n '$scope',\n '$uibModalInstance',\n '$interval',\n '$timeout',\n 'ApiCameraModel',\n 'PersistenceModel',\n 'camera',\n 'refreshRate',\n ]\n\n function CameraDetailModalController(\n $scope,\n $uibModalInstance,\n $interval,\n $timeout,\n ApiCameraModel,\n PersistenceModel,\n camera,\n refreshRate,\n ) {\n const vm = this\n vm.data = {\n autoRefreshEnabled: false,\n refreshRate: refreshRate || 30000,\n }\n vm.camera = camera\n\n vm.ok = ok\n vm.cancel = cancel\n vm.changeAutoRefresh = changeAutoRefresh\n vm.isUserLoggedIn = PersistenceModel.isAuthenticated()\n\n var reloadTimer = null\n var countdownTimer = null\n var reloadEnabled = true\n\n activate()\n\n function activate() {\n reloadImage()\n }\n\n function reloadImage() {\n vm.data.imageLoadedTime = new Date().getTime()\n ApiCameraModel.getImage({ id1: camera.id }, function (data) {\n vm.camera.dataUrl = data.contentBase64\n vm.camera.imageContentType = data.contentType\n })\n reloadEnabled = false\n setupReloadTimer()\n }\n\n function setupCountdownTimer() {\n if (countdownTimer) {\n $interval.cancel(countdownTimer)\n }\n\n vm.data.timeToReload = vm.data.refreshRate - (new Date().getTime() - vm.data.imageLoadedTime)\n countdownTimer = $interval(function () {\n vm.data.timeToReload =\n vm.data.refreshRate - (new Date().getTime() - vm.data.imageLoadedTime)\n }, 500)\n }\n\n function setupReloadTimer() {\n if (reloadTimer) {\n $timeout.cancel(reloadTimer)\n }\n reloadTimer = $timeout(function () {\n reloadEnabled = true\n if (vm.data.autoRefreshEnabled) {\n reloadImage()\n }\n }, vm.data.refreshRate)\n }\n\n function changeAutoRefresh() {\n if (reloadEnabled && vm.data.autoRefreshEnabled) {\n reloadImage()\n }\n if (vm.data.autoRefreshEnabled) {\n setupCountdownTimer()\n } else if (countdownTimer) {\n $interval.cancel(countdownTimer)\n countdownTimer = null\n }\n }\n\n function ok() {\n $uibModalInstance.close(vm.camera)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n\n function destroyTimer() {\n if (reloadTimer) {\n $timeout.cancel(reloadTimer)\n }\n if (countdownTimer) {\n $interval.cancel(countdownTimer)\n countdownTimer = null\n }\n }\n\n $scope.$on('$destroy', destroyTimer)\n $scope.$on('logout', destroyTimer)\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('CameraGridSettingsModalController', CameraGridSettingsModalController)\n\n CameraGridSettingsModalController.$inject = ['$uibModalInstance', 'camera']\n\n function CameraGridSettingsModalController($uibModalInstance, camera) {\n const vm = this\n vm.camera = camera\n\n vm.ok = ok\n vm.cancel = cancel \n\n function ok() {\n $uibModalInstance.close(vm.camera)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('DeleteCameraAttachmentModalController', DeleteCameraAttachmentModalController)\n\n DeleteCameraAttachmentModalController.$inject = ['$uibModalInstance', 'camera', 'attachment']\n\n function DeleteCameraAttachmentModalController($uibModalInstance, camera, attachment) {\n const vm = this\n vm.camera = camera\n vm.attachment = attachment\n\n vm.ok = ok\n vm.cancel = cancel\n \n\n function ok() {\n $uibModalInstance.close(vm.attachment)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller('EditCameraModalController', EditCameraModalController)\n\n EditCameraModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminCameraModel',\n 'FlashMessage',\n 'camera',\n ]\n\n function EditCameraModalController($uibModalInstance, ApiAdminCameraModel, FlashMessage, camera) {\n const vm = this\n vm.ok = ok\n vm.cancel = cancel\n vm.camera = camera\n \n\n function ok() {\n var promise = ApiAdminCameraModel.editCamera(\n { id1: vm.camera.id },\n { camera: vm.camera },\n function () {\n FlashMessage.add(\n 'Kamera s ID ' + vm.camera.identifier + ' byla úspěšně editována.',\n 'success',\n )\n },\n )\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.camera')\n .controller(\n 'FutureCameraRequestDeleteModalController',\n FutureCameraRequestDeleteModalController,\n )\n\n FutureCameraRequestDeleteModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminCameraModel',\n 'FlashMessage',\n 'camera',\n ]\n\n function FutureCameraRequestDeleteModalController(\n $uibModalInstance,\n ApiAdminCameraModel,\n FlashMessage,\n camera,\n ) {\n const vm = this\n\n vm.ok = ok\n vm.cancel = cancel\n\n vm.camera = camera\n \n\n function deleteFutureCameraRequest(camera) {\n var request = ApiAdminCameraModel.deleteFutureCameraRequest(\n { id2: camera.id },\n function (data) {\n FlashMessage.add('Kamera byla úspěšně smazána.', 'success', 1)\n },\n )\n $uibModalInstance.close(request)\n }\n\n function ok() {\n deleteFutureCameraRequest(vm.camera)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.cms')\n .controller('DeactivateArticleModalController', DeactivateArticleModalController)\n\n DeactivateArticleModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminArticleModel',\n 'FlashMessage',\n 'article',\n 'cultureData',\n ]\n\n function DeactivateArticleModalController(\n $uibModalInstance,\n ApiAdminArticleModel,\n FlashMessage,\n article,\n cultureData,\n ) {\n const vm = this\n vm.article = article\n vm.cultureData = cultureData\n\n vm.ok = ok\n vm.cancel = cancel\n \n\n function ok() {\n var promise = ApiAdminArticleModel.deactivateArticle(\n { cultureCode: vm.cultureData.cultureCode },\n { cultureCode: vm.cultureData.cultureCode, id: vm.article.id },\n function () {\n if (cultureData.isDefault) {\n FlashMessage.add('Článek ' + vm.article.title + ' byl úspěšně deaktivován.', 'success')\n } else {\n FlashMessage.add(\n 'Překlad článku ' + vm.article.title + ' byl úspěšně deaktivován.',\n 'success',\n )\n }\n },\n )\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.cms')\n .controller('DeleteArticleModalController', DeleteArticleModalController)\n\n DeleteArticleModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminArticleModel',\n 'FlashMessage',\n 'article',\n 'cultureData',\n ]\n\n function DeleteArticleModalController(\n $uibModalInstance,\n ApiAdminArticleModel,\n FlashMessage,\n article,\n cultureData,\n ) {\n const vm = this\n vm.article = article\n vm.cultureData = cultureData\n\n vm.ok = ok\n vm.cancel = cancel \n\n function ok() {\n var promise = ApiAdminArticleModel.deleteArticle(\n { cultureCode: cultureData.cultureCode, id: vm.article.id },\n function () {\n if (cultureData.isDefault) {\n FlashMessage.add('Článek ' + vm.article.title + ' byl úspěšně smazán.', 'success')\n } else {\n FlashMessage.add(\n 'Překlad článku ' + vm.article.title + ' byl úspěšně smazán.',\n 'success',\n )\n }\n },\n )\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.document')\n .controller('CreateFileModalController', CreateFileModalController)\n\n CreateFileModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminCdnModel',\n 'ApiAdminDocumentModel',\n 'FlashMessage',\n 'folder',\n ]\n\n function CreateFileModalController(\n $uibModalInstance,\n ApiAdminCdnModel,\n ApiAdminDocumentModel,\n FlashMessage,\n folder,\n ) {\n const vm = this\n vm.ok = ok\n vm.cancel = cancel\n\n activate()\n\n function activate() {\n vm.file = {\n public: false,\n }\n }\n\n function ok(data) {\n var promises = []\n var promise = ApiAdminCdnModel.createFile(\n { cultureCode: folder.folderCultures[0].cultureCode },\n { file: data },\n )\n promises.push(promise.$promise)\n promises.push(\n promise.$promise.then(function (file) {\n return ApiAdminDocumentModel.addFile(\n {\n id: folder.folderId,\n id1: file.id,\n cultureCode: folder.folderCultures[0].cultureCode,\n },\n function () {\n folder.folderCultures[0].files.push({\n public: data.public,\n fileId: file.id,\n fileAlias: data.alias,\n fileName: data.name,\n keywords: data.keywords,\n })\n FlashMessage.add('Soubor byl úspěšně vytvořen.', 'success')\n },\n ).$promise\n }),\n )\n $uibModalInstance.close(promises)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.document')\n .controller('CreateMultipleFileModalController', CreateMultipleFileModalController)\n\n CreateMultipleFileModalController.$inject = [\n '$uibModalInstance',\n '$timeout',\n 'ApiAdminDocumentModel',\n 'FlashMessage',\n 'PersistenceModel',\n 'Upload',\n 'APP_CONFIG',\n 'folder',\n ]\n\n function CreateMultipleFileModalController(\n $uibModalInstance,\n $timeout,\n ApiAdminDocumentModel,\n FlashMessage,\n PersistenceModel,\n Upload,\n APP_CONFIG,\n folder,\n ) {\n const vm = this\n vm.apiKey = PersistenceModel.getAccessToken()\n\n vm.ok = ok\n vm.cancel = cancel\n vm.uploadFiles = uploadFiles\n\n activate()\n\n function activate() {\n vm.file = {\n public: false,\n }\n vm.numberOfUploadingFiles = 0\n }\n\n function uploadFiles(files, errFiles) {\n vm.files = files\n vm.errFiles = errFiles\n vm.numberOfUploadingFiles = files.length\n\n angular.forEach(files, function (file) {\n file.uploading = true\n file.upload = Upload.upload({\n url:\n APP_CONFIG.apiRootUrl +\n 'admin/cdn/files/upload?cultureCode=' +\n folder.folderCultures[0].cultureCode,\n headers: {\n 'Content-Type': file.type,\n 'X-Api-Key': vm.apiKey,\n },\n data: { file: file },\n })\n\n file.upload.then(\n function (response) {\n $timeout(function () {\n if (response.data.hasOwnProperty('fileInfo')) {\n var fileInfo = response.data.fileInfo\n ApiAdminDocumentModel.addFile(\n {\n id: folder.folderId,\n id1: fileInfo.id,\n cultureCode: folder.folderCultures[0].cultureCode,\n },\n function () {\n fileInfo.url = APP_CONFIG.cdnUrl + fileInfo.id\n file.fileInfo = fileInfo\n file.uploading = false\n vm.numberOfUploadingFiles--\n FlashMessage.add(\n 'Soubor ' + fileInfo.alias + ' byl úspěšně vytvořen.',\n 'success',\n )\n },\n )\n } else {\n console.log('Returned data: ' + response.data)\n }\n })\n },\n function (response) {\n if (response.status > 0) {\n vm.errorMsg = response.status + ': ' + response.data.errorMessage\n file.uploading = false\n vm.numberOfUploadingFiles--\n }\n },\n function (evt) {\n file.progress = Math.min(100, parseInt((100.0 * evt.loaded) / evt.total))\n },\n )\n })\n }\n\n function ok() {\n $uibModalInstance.close(vm.files)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.document')\n .controller('DeleteFileModalController', DeleteFileModalController)\n\n DeleteFileModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminDocumentModel',\n 'FlashMessage',\n 'file',\n 'folder',\n 'cultureCode',\n ]\n\n function DeleteFileModalController(\n $uibModalInstance,\n ApiAdminDocumentModel,\n FlashMessage,\n file,\n folder,\n cultureCode,\n ) {\n const vm = this\n vm.file = file\n\n vm.ok = ok\n vm.cancel = cancel\n \n\n function ok() {\n var promise = ApiAdminDocumentModel.deleteFile(\n { id: folder.folderId, id1: vm.file.fileId, cultureCode: cultureCode },\n function () {\n FlashMessage.add('Soubor ' + vm.file.fileAlias + ' byl úspěšně smazán.', 'success')\n },\n )\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.document')\n .controller('DeleteFolderModalController', DeleteFolderModalController)\n\n DeleteFolderModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminDocumentModel',\n 'FlashMessage',\n 'folder',\n ]\n\n function DeleteFolderModalController(\n $uibModalInstance,\n ApiAdminDocumentModel,\n FlashMessage,\n folder,\n ) {\n const vm = this\n vm.folder = folder\n vm.ok = ok\n vm.cancel = cancel\n \n\n function ok() {\n var promise = ApiAdminDocumentModel.deleteFolder({ id: vm.folder.folderId }, function () {\n FlashMessage.add(\n 'Složka ' + vm.folder.folderCultures[0].name + ' byla úspěšně smazána.',\n 'success',\n )\n })\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.document')\n .controller('EditFileModalController', EditFileModalController)\n\n EditFileModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminCdnModel',\n 'FlashMessage',\n 'UtilService',\n 'file',\n ]\n\n function EditFileModalController(\n $uibModalInstance,\n ApiAdminCdnModel,\n FlashMessage,\n UtilService,\n file,\n ) {\n const vm = this\n var map = {\n fileId: 'id',\n fileName: 'name',\n fileAlias: 'alias',\n }\n vm.file = UtilService.remapObjectAttributes(file, map)\n vm.ok = ok\n vm.cancel = cancel\n \n\n function ok() {\n if (vm.file.content) {\n editFile()\n } else {\n editFileInfo()\n }\n }\n\n function editFileInfo() {\n var promise = ApiAdminCdnModel.editFileInfo(\n { id: vm.file.id },\n { fileInfo: vm.file },\n function () {\n angular.extend(file, {\n public: vm.file.public,\n fileId: vm.file.id,\n fileAlias: vm.file.alias,\n fileName: vm.file.name,\n keywords: vm.file.keywords,\n })\n FlashMessage.add('Soubor ' + vm.file.alias + ' byl úspěšně editován.', 'success')\n },\n )\n $uibModalInstance.close(promise)\n }\n\n function editFile() {\n var promise = ApiAdminCdnModel.editFile({ id: vm.file.id }, { file: vm.file }, function () {\n angular.extend(file, {\n public: vm.file.public,\n fileId: vm.file.id,\n fileAlias: vm.file.alias,\n fileName: vm.file.name,\n keywords: vm.file.keywords,\n })\n FlashMessage.add('Soubor ' + vm.file.alias + ' byl úspěšně přenahrán.', 'success')\n })\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.initiative')\n .controller('CreateCategoryModalController', CreateCategoryModalController)\n\n CreateCategoryModalController.$inject = [\n '$uibModalInstance',\n 'ApiLanguageModel',\n 'ApiAdminInitiativeModel',\n 'FlashMessage',\n 'APP_CONFIG',\n 'users',\n ]\n\n function CreateCategoryModalController(\n $uibModalInstance,\n ApiLanguageModel,\n ApiAdminInitiativeModel,\n FlashMessage,\n APP_CONFIG,\n users,\n ) {\n const vm = this\n vm.addTranslation = addTranslation\n vm.isRequired = isRequired\n vm.checkLogo = checkLogo\n\n vm.ok = ok\n vm.cancel = cancel\n\n vm.users = users\n vm.category = {\n cultures: [\n {\n cultureCode: APP_CONFIG.translation.fallbackLanguage,\n name: '',\n },\n ],\n }\n vm.categoryLogo = {\n isImage: false,\n }\n\n activate()\n\n function activate() {\n getLanguages()\n }\n\n function filterTranslations(data) {\n vm.languages = _.differenceBy(data, vm.category.cultures, 'cultureCode')\n if (vm.languages.length > 0) {\n vm.addTranslationSelect = vm.languages[0]\n }\n }\n\n function getLanguages() {\n ApiLanguageModel.getAllLanguages(function (data) {\n filterTranslations(data)\n })\n }\n\n function addTranslation(culture) {\n culture.name = ''\n vm.category.cultures.push(culture)\n filterTranslations(vm.languages)\n }\n\n function isRequired(culture) {\n return culture === APP_CONFIG.translation.fallbackLanguage\n }\n\n function checkLogo() {\n vm.categoryLogo.isImage = vm.categoryLogo.type.startsWith('image/')\n vm.categoryLogo.touched = true\n }\n\n function ok() {\n if (!vm.category.initiativesAdmins || vm.category.initiativesAdmins.length === 0) {\n FlashMessage.add('Není vyplněn žádný správce kategorie.', 'danger')\n return\n }\n\n if (vm.categoryLogo.isImage) {\n vm.category.logo = 'data:' + vm.categoryLogo.type + ';base64,' + vm.categoryLogo.content\n } else {\n vm.categoryLogo.touched = true\n FlashMessage.add('Ikonka kategorie je povinná.', 'danger')\n return\n }\n var promise = ApiAdminInitiativeModel.createInitiativeCategory(\n { initiativeCategory: vm.category },\n function () {\n FlashMessage.add('Kategorie oznámení byla úspěšně vytvořena.', 'success')\n },\n )\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.initiative')\n .controller('EditCategoryModalController', EditCategoryModalController)\n\n EditCategoryModalController.$inject = [\n '$uibModalInstance',\n 'ApiLanguageModel',\n 'ApiAdminInitiativeModel',\n 'FlashMessage',\n 'APP_CONFIG',\n 'users',\n 'category',\n ]\n\n function EditCategoryModalController(\n $uibModalInstance,\n ApiLanguageModel,\n ApiAdminInitiativeModel,\n FlashMessage,\n APP_CONFIG,\n users,\n category,\n ) {\n const vm = this\n vm.addTranslation = addTranslation\n vm.isRequired = isRequired\n vm.checkLogo = checkLogo\n\n vm.ok = ok\n vm.cancel = cancel\n\n vm.users = users\n vm.category = angular.copy(category)\n\n vm.categoryLogo = {\n isImage: false,\n }\n\n activate()\n\n function activate() {\n getLanguages()\n }\n\n function filterTranslations(data) {\n vm.languages = _.differenceBy(data, vm.category.cultures, 'cultureCode')\n if (vm.languages.length > 0) {\n vm.addTranslationSelect = vm.languages[0]\n }\n }\n\n function getLanguages() {\n ApiLanguageModel.getAllLanguages(function (data) {\n filterTranslations(data)\n })\n }\n\n function addTranslation(culture) {\n culture.name = ''\n vm.category.cultures.push(culture)\n filterTranslations(vm.languages)\n }\n\n function isRequired(culture) {\n return culture === APP_CONFIG.translation.fallbackLanguage\n }\n\n function checkLogo() {\n vm.categoryLogo.isImage = vm.categoryLogo.type.startsWith('image/')\n vm.categoryLogo.touched = true\n }\n\n function ok() {\n if (!vm.category.initiativesAdmins || vm.category.initiativesAdmins.length === 0) {\n FlashMessage.add('Není vyplněn žádný správce kategorie.', 'danger')\n return\n }\n\n if (vm.categoryLogo.isImage) {\n vm.category.logo = 'data:' + vm.categoryLogo.type + ';base64,' + vm.categoryLogo.content\n }\n var promise = ApiAdminInitiativeModel.updateInitiativeCategory(\n { id: vm.category.id, initiativeCategory: vm.category },\n function () {\n FlashMessage.add('Kategorie oznámení byla úspěšně upravena.', 'success')\n },\n )\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.initiative')\n .controller('IsActiveCategoryModalController', IsActiveCategoryModalController)\n\n IsActiveCategoryModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminInitiativeModel',\n 'FlashMessage',\n 'APP_CONFIG',\n 'category',\n ]\n\n function IsActiveCategoryModalController(\n $uibModalInstance,\n ApiAdminInitiativeModel,\n FlashMessage,\n APP_CONFIG,\n category,\n ) {\n const vm = this\n vm.ok = ok\n vm.cancel = cancel\n vm.category = category\n\n activate()\n\n function activate() {\n vm.categoryName = getCategoryName()\n }\n\n function getCategoryName() {\n return vm.category.cultures.filter(function (x) {\n return x.cultureCode === APP_CONFIG.translation.fallbackLanguage\n })[0].name\n }\n\n function ok() {\n var promise\n if (vm.category.deleted) {\n promise = ApiAdminInitiativeModel.undeleteInitiativeCategory(\n { id: vm.category.id },\n function () {\n FlashMessage.add('Kategorie oznámení byla úspěšně obnovena.', 'success')\n },\n )\n } else {\n promise = ApiAdminInitiativeModel.deleteInitiativeCategory(\n { id: vm.category.id },\n function () {\n FlashMessage.add('Kategorie oznámení byla úspěšně smazána.', 'success')\n },\n )\n }\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.initiative')\n .controller('ChangeStateModalController', ChangeStateModalController)\n\n ChangeStateModalController.$inject = [\n '$uibModalInstance',\n 'ApiAdminInitiativeModel',\n 'FlashMessage',\n 'initiative',\n ]\n\n function ChangeStateModalController(\n $uibModalInstance,\n ApiAdminInitiativeModel,\n FlashMessage,\n initiative,\n ) {\n const vm = this\n\n vm.ok = ok\n vm.cancel = cancel\n vm.initiative = initiative\n \n\n function ok() {\n var promise\n if (vm.initiative.active) {\n promise = ApiAdminInitiativeModel.disableInitiative({ id: vm.initiative.id }, function () {\n FlashMessage.add('Oznámení bylo úspěšně skryto.', 'success')\n })\n } else {\n promise = ApiAdminInitiativeModel.enableInitiative({ id: vm.initiative.id }, function () {\n FlashMessage.add('Oznámení bylo úspěšně zveřejněno.', 'success')\n })\n }\n $uibModalInstance.close(promise)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.layout')\n .controller('InsertMapModalController', InsertMapModalController)\n\n InsertMapModalController.$inject = ['$uibModalInstance', 'MapProviderService']\n\n function InsertMapModalController($uibModalInstance, MapProviderService) {\n const vm = this\n\n vm.ok = ok\n vm.cancel = cancel\n\n activate()\n\n function activate() {\n vm.mapProviders = Object.entries(MapProviderService.getProviders())\n .filter(([, settings]) => settings.showInCms)\n .map(([mapProviderService, settings]) => ({\n key: mapProviderService,\n label: settings.label,\n }))\n vm.selectedMap = vm.mapProviders[0].key\n }\n\n function ok() {\n $uibModalInstance.close(vm.selectedMap)\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel')\n }\n }\n})()\n",";(function () {\n 'use strict'\n\n //###INSERT-LICENSE-HERE###\n\n angular\n .module('app.admin.layout')\n .controller('InsertTableModalController', InsertTableModalController)\n\n InsertTableModalController.$inject = ['$uibModalInstance']\n\n function InsertTableModalController($uibModalInstance) {\n const vm = this\n vm.table = {\n row: 1,\n col: 1,\n }\n\n vm.ok = ok\n vm.cancel = cancel\n\n function createTable(tableParams) {\n if (\n angular.isNumber(tableParams.row) &&\n angular.isNumber(tableParams.col) &&\n tableParams.row > 0 &&\n tableParams.col > 0\n ) {\n var table =\n \"' +\n (idxRow === 0 ? ' | ' : '')\n }\n table += row + '
---|