{"version":3,"file":"assetRecordMap.bundle.min.js","mappings":"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AAwB;SAClC,CAAC,CAAC;QAEH,OAAO;YACH,IAAI,eAAK,CAAC;gBACN,KAAK,EAAE,IAAI,gBAAM,CAAC;oBACd,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,IAAI,gBAAM,CAAC;wBACf,KAAK,EAAE,uBAAuB;wBAC9B,KAAK,EAAE,CAAC;qBACX,CAAC;oBACF,MAAM,EAAE,EAAE;iBACb,CAAC;gBACF,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI,gBAAM,CAAC;oBACf,KAAK,EAAE,uBAAuB;oBAC9B,KAAK,EAAE,CAAC;iBACX,CAAC;aACL,CAAC;SACL,CAAC;IACN,CAAC;IAEL,uBAAC;AAAD,CAAC;AAnXY,4CAAgB;;;;;;;UCZ7B;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEhDA;UACA;UACA;UACA;UACA","sources":["webpack://app/./wwwroot/css/bootstrap-slider.min.css","webpack://app/./wwwroot/css/ol.css","webpack://app/./wwwroot/css/ol3-contextmenu.css","webpack://app/./Scripts/AssetRecordMap.ts","webpack://app/./Scripts/Layers/ClientBaseLayerFactory.ts","webpack://app/./Scripts/Layers/Client/Buckinghamshire_BaseLayers.ts","webpack://app/./Scripts/Layers/Client/Cheshire_BaseLayers.ts","webpack://app/./Scripts/Layers/Client/Merseyside_BaseLayers.ts","webpack://app/./Scripts/Layers/Client/SouthYorkshire_BaseLayers.ts","webpack://app/./Scripts/Layers/LhlpBaseLayerFactory.ts","webpack://app/./Scripts/Layers/TenantSettingsBaseLayerResolver.ts","webpack://app/./Scripts/MapBase.ts","webpack://app/./Scripts/TextPackLoader.ts","webpack://app/./Scripts/config/DefaultLayerConfigurationFactory.ts","webpack://app/./Scripts/config/DefaultMapOptions.ts","webpack://app/./Scripts/defs/LhlpMapConfig.ts","webpack://app/./Scripts/defs/LhlpRecordType.ts","webpack://app/./Scripts/defs/LhlpTenantSettings.ts","webpack://app/./Scripts/defs/LhlpUser.ts","webpack://app/./Scripts/defs/MapSettings.ts","webpack://app/./Scripts/resources/LhlpRecordTypeResource.ts","webpack://app/./Scripts/resources/LhlpResourceFactory.ts","webpack://app/./Scripts/style/LhlpStyleFactory.ts","webpack://app/webpack/bootstrap","webpack://app/webpack/runtime/chunk loaded","webpack://app/webpack/runtime/compat get default export","webpack://app/webpack/runtime/define property getters","webpack://app/webpack/runtime/global","webpack://app/webpack/runtime/hasOwnProperty shorthand","webpack://app/webpack/runtime/make namespace object","webpack://app/webpack/runtime/jsonp chunk loading","webpack://app/webpack/before-startup","webpack://app/webpack/startup","webpack://app/webpack/after-startup"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","import { PrintMap } from \"esdm-map/dist/map/tools/PrintMap\";\r\nimport { IPrintOptions } from \"esdm-map/dist/map/tools/IPrintOptions\";\r\nimport { DownloadMapPng } from \"esdm-map/dist/map/tools/DownloadMapPng\";\r\nimport { IMapViewStore } from \"esdm-map/dist/map/store/IMapViewStore\";\r\nimport { IVectorLayerGroupFactory } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupFactory\";\r\nimport { IMapContextMenu } from \"esdm-map/dist/map/tools/IMapContextMenu\";\r\nimport { IFeatureLoader } from \"esdm-map/dist/layers/vector/sources/loaders/interfaces/IFeatureLoader\";\r\nimport { OgcMapFilter } from \"esdm-map/dist/map/filters/OgcMapFilter\";\r\nimport { VectorLayerGroupFactory } from \"esdm-map/dist/layers/groups/vector/VectorLayerGroupFactory\";\r\nimport { MapViewStore } from \"esdm-map/dist/map/store/MapViewStore\";\r\nimport { MapContextMenu } from \"esdm-map/dist/map/tools/MapContextMenu\";\r\nimport { ToolTipProvider } from \"esdm-map/dist/map/tooltip/ToolTipProvider\";\r\nimport { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\r\nimport { GeoJsonFeatureLoader } from \"esdm-map/dist/layers/vector/sources/loaders/GeoJsonFeatureLoader\";\r\nimport { ILoaderExtentsBehaviour } from \"esdm-map/dist/layers/vector/sources/loaders/behaviours/ILoaderExtentsBehaviour\";\r\nimport { BoundsLoaderExtentsBehaviour } from \"esdm-map/dist/layers/vector/sources/loaders/behaviours/BoundsLoaderBehaviour\";\r\nimport { IFeatureAdd } from \"esdm-map/dist/layers/vector/sources/loaders/interfaces/IFeatureAdd\";\r\nimport { FeatureAdd } from \"esdm-map/dist/layers/vector/sources/loaders/FeatureAdd\";\r\nimport { MapListRecordsInViewport } from \"esdm-map/dist/map/MapListRecordsInViewport\";\r\nimport { ExtentsNavigation } from \"esdm-map/dist/map/controls/ExtentsNavigation\";\r\nimport { LayerGroupFactory } from \"esdm-map/dist/layers/groups/LayerGroupFactory\";\r\nimport { LayerGroupCollection } from \"esdm-map/dist/layers/groups/LayerGroupCollection\";\r\nimport { MapFilters } from \"esdm-map/dist/map/filters/MapFilters\";\r\nimport { GridRef } from \"esdm-map/dist/map/controls/GridRef\";\r\nimport { GeoLocation } from \"esdm-map/dist/map/geolocation/geolocation\";\r\nimport { IMappingTextPack } from \"esdm-map/dist/resources/MappingTextPack\";\r\nimport { MousePosition } from \"esdm-map/dist/map/controls/MousePosition\";\r\nimport { MapViewSettingsUrlProvider } from \"esdm-map/dist/map/store/MapViewSettingsUrlProvider\";\r\nimport { IMapViewPermaLink } from \"esdm-map/dist/map/tools/IMapViewPermaLink\";\r\nimport { MapViewPermaLink } from \"esdm-map/dist/map/tools/MapViewPermaLink\";\r\nimport { FeatureAddSmallGeomsAsPoint, WktFeatureLoader } from \"esdm-map/dist/layers/vector/sources/loaders\";\r\nimport { IStyleFactory } from \"esdm-map/dist/layers/vector/styles/IStyleFactory\";\r\nimport { IVectorLayerSourceFactory } from \"esdm-map/dist/layers/vector/sources/interfaces\";\r\nimport { VectorLayerSourceFactory } from \"esdm-map/dist/layers/vector/sources\";\r\nimport { IMapViewSettingProvider } from \"esdm-map/dist/map/store/IMapViewSettingsProvider\";\r\nimport { IBaseLayerFactory } from \"esdm-map/dist/baselayers/interfaces/IBaseLayerFactory\";\r\n\r\nimport {\r\n MapOptions,\r\n IMap,\r\n MapLayerSwitcher,\r\n IMapAreaMask,\r\n ILogger,\r\n IResourceFactory,\r\n IMapListRecordItem,\r\n IMapFactory,\r\n BaseLayerFactory_3857,\r\n MapFactory,\r\n Logger,\r\n MapFeatureInfo\r\n} from \"esdm-map\";\r\n\r\nimport \"../wwwroot/css/ol.css\";\r\nimport \"../wwwroot/css/ol3-contextmenu.css\";\r\nimport \"../wwwroot/css/bootstrap-slider.min.css\"\r\nimport { TextPackLoader, TextPacks } from \"./TextPackLoader\";\r\n\r\n\r\nimport { MapBase } from \"./MapBase\";\r\nimport { MapToolTip, ToolTipOptions } from \"esdm-map/dist/map/tooltip\";\r\nimport { IDragPan } from \"esdm-map/dist/map/controls/interfaces/IDragPan\";\r\nimport { DragPan } from \"esdm-map/dist/map/controls/DragPan\";\r\nimport { IlayerGroupCollectionConfig } from \"esdm-map/dist/layers/groups/IlayerGroupCollectionConfig\";\r\nimport { LayerGroupCollections } from \"esdm-map/dist/layers/groups/LayerGroupCollections\";\r\nimport { LhlpIdentity, LhlpUser } from \"./defs/LhlpUser\";\r\nimport { DefaultLayerConfigurationFactory } from \"./config/DefaultLayerConfigurationFactory\";\r\nimport { LhlpStyleFactory } from \"./style/LhlpStyleFactory\";\r\nimport { LhlpResourcefactory } from \"./resources/LhlpResourceFactory\";\r\nimport { DefaultMapOptions } from \"./config/DefaultMapOptions\";\r\nimport { LhlpRecordSubType, LhlpRecordType } from \"./defs/LhlpRecordType\";\r\nimport { LhlpMapListRecordItem } from \"./resources/LhlpMapListRecordItem\";\r\nimport { IWmsLayerGroupConfig } from \"esdm-map/dist/layers/groups/wms/interfaces/IWmsLayerGroupConfig\";\r\nimport { IWmsLayerGroupFactory } from \"esdm-map/dist/layers/groups/wms/interfaces/IWmsLayerGroupFactory\";\r\nimport { WmsLayerGroupFactory } from \"esdm-map/dist/layers/groups/wms\";\r\nimport { LhlpBaseLayerFactory } from \"./Layers/LhlpBaseLayerFactory\";\r\nimport { LhlpGazetteer } from \"./gazetteer/LhlpGazetteer\";\r\nimport { LhlpMapConfig, LhlpStatusLookup, LhlpTypeLookup } from \"./defs/LhlpMapConfig\";\r\nimport { FilterType } from \"esdm-map/dist/map/filters/FilterType\";\r\nimport { ZoomToDataBounds } from \"esdm-map/dist/layers/vector/ZoomToDataBounds\";\r\nimport { VectorLayerStrategy } from \"esdm-map/dist/layers/vector/VectorLayerStrategy\";\r\nimport { IWfsParamSource, WfsBboxAsWktRequestParams, WfsParamSourceMapServer } from \"esdm-map/dist/layers/vector/sources/wfs\";\r\n\r\n$(document).ready(function () {\r\n\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n \r\n resizeMap();\r\n $(window).bind('resize', function () { resizeMap(); });\r\n \r\n\r\n function resizeMap() {\r\n //use max footer height, especially on mobile\r\n var fHeight = $(\"footer\").height();\r\n fHeight = Math.min(fHeight, 200);\r\n\r\n var height = $(window).height() - $(\"#mapContainer\").offset().top;\r\n if (height <= 600) {\r\n height = 600;\r\n }\r\n $('#mapContainer').height(height);\r\n $(\"#slide-content\").height(height - 55);\r\n };\r\n\r\n let ele = $(\"#theMap\");\r\n if (ele.length === 1) {\r\n LhlpIdentity.fetch().then(function (e) { \r\n loadMap(e);\r\n });\r\n }\r\n\r\n function loadMap(user: LhlpUser) {\r\n let maxFeatureCount: number = ele.data(\"max-feature-count\");\r\n let siteId: string = ele.data(\"site-id\");\r\n let siteFolder: string = ele.data(\"site-folder\");\r\n let mapConfigB64: string = ele.data(\"map-config\");\r\n\r\n let mapConfig: LhlpMapConfig = new LhlpMapConfig();\r\n if (mapConfigB64) {\r\n var json: string = atob(mapConfigB64);\r\n if (json) mapConfig = JSON.parse(json);\r\n console.log(mapConfig);\r\n }\r\n\r\n let init = function (textpacks: TextPacks) {\r\n let map = new AssetRecordMap(\r\n \"theMap\",\r\n maxFeatureCount, \r\n textpacks.mapping,\r\n user,\r\n siteId,\r\n siteFolder,\r\n mapConfig\r\n );\r\n }\r\n TextPackLoader.load().then(init);\r\n }\r\n\r\n});\r\n\r\nimport Point from \"ol/geom/Point\";\r\nimport { Coordinate } from \"ol/coordinate\";\r\nimport { IMapLayerLoadedEventArgs } from \"esdm-map/dist/map/events/IMapEvents\";\r\nimport { Layer } from \"ol/layer\";\r\nimport { IVectorLayer } from \"esdm-map/dist/layers/vector/interfaces/IVectorLayer\";\r\nimport {Draw, Modify, Snap} from 'ol/interaction';\r\nimport Select from 'ol/interaction/Select';\r\nimport Interaction from \"ol/interaction/Interaction\";\r\nimport { drawImageOrLabel } from \"ol/render/canvas\";\r\nimport GeometryType from \"ol/geom/GeometryType\";\r\nimport Source from \"ol/source/Source\";\r\nimport VectorSource from \"ol/source/Vector\";\r\nimport { Circle, Fill, Stroke, Style, Text } from \"ol/style\";\r\nimport CircleStyle from \"ol/style/Circle\";\r\nimport { Collection, Feature, MapBrowserEvent } from \"ol\";\r\nimport Polygon from \"ol/geom/Polygon\";\r\nimport MultiPoint from \"ol/geom/MultiPoint\";\r\nimport { StyleFunction } from \"ol/style/Style\";\r\nimport WKT from 'ol/format/WKT';\r\nimport { Color } from \"ol/color\";\r\nimport { EventList } from \"strongly-typed-events\";\r\nimport { Condition } from \"ol/events/condition\";\r\nimport MultiPolygon from \"ol/geom/MultiPolygon\";\r\nexport class AssetRecordMap extends MapBase {\r\n\r\n private mfOptions: MapOptions;\r\n public map: IMap;\r\n private mapStore: IMapViewStore;\r\n private ls: MapLayerSwitcher;\r\n private infoPopup: MapFeatureInfo;\r\n private initialised: boolean = false;\r\n private layerGroups: LayerGroupCollections;\r\n private styleFactory: IStyleFactory;\r\n private logger: ILogger;\r\n private vectorLayerSourceFactory: IVectorLayerSourceFactory;\r\n private baseLayerFactory: IBaseLayerFactory;\r\n private mapFactory: IMapFactory;\r\n private vectorLayerGroupFactory: IVectorLayerGroupFactory;\r\n private wmsLayerGroupFactory: IWmsLayerGroupFactory;\r\n private layerGroupFactory: LayerGroupFactory;\r\n private boundsLoaderBehaviour: ILoaderExtentsBehaviour;\r\n private mapContextMenu: IMapContextMenu;\r\n private resourcefactory: IResourceFactory;\r\n private downloadPng: DownloadMapPng;\r\n private featureLoader: IFeatureLoader;\r\n private featureAdd: IFeatureAdd;\r\n private mapFilter: MapFilters; \r\n private layerConfigFactory: DefaultLayerConfigurationFactory; \r\n private mousePosition: MousePosition;\r\n private dragPan: IDragPan;\r\n\r\n private assetTypeId: LhlpRecordSubType;\r\n private assetStatusId: string;\r\n private assetId: number;\r\n private assetPointLayer: IVectorLayer;\r\n private assetPolygonLayer: IVectorLayer;\r\n private assetSelect: Select = null;\r\n private assetDraw: Draw = null;\r\n private assetModify: Modify = null;\r\n private assetSnap: Snap = null;\r\n\r\n public constructor(\r\n public mapElementId: string,\r\n public maxFeatureCount: number, \r\n mappingTextPack: IMappingTextPack,\r\n user: LhlpUser,\r\n public siteId: string,\r\n public siteFolder: string,\r\n public mapConfig: LhlpMapConfig) {\r\n super(mappingTextPack, user);\r\n this.init();\r\n }\r\n\r\n private init = (): void => {\r\n if (!this.initialised) {\r\n\r\n this.assetTypeId = $(\"#AssetRecordMap\").data(\"assetTypeId\");\r\n this.assetStatusId = $(\"#AssetRecordMap\").data(\"assetStatusId\");\r\n this.assetId = $(\"#AssetRecordMap\").data(\"assetId\");\r\n\r\n this.layerConfigFactory = new DefaultLayerConfigurationFactory(this.siteId, this.siteFolder, this.mapConfig);\r\n this.vectorLayerGroupFactory = new VectorLayerGroupFactory();\r\n this.wmsLayerGroupFactory = new WmsLayerGroupFactory();\r\n this.layerGroupFactory = new LayerGroupFactory(this.vectorLayerGroupFactory, this.wmsLayerGroupFactory);\r\n this.baseLayerFactory = new LhlpBaseLayerFactory();\r\n this.featureLoader = new GeoJsonFeatureLoader();\r\n this.featureAdd = new FeatureAdd();\r\n\r\n this.mapFilter = new MapFilters();\r\n this.mapFilter.OgcFilter = new OgcMapFilter();\r\n this.mapFactory = new MapFactory();\r\n this.logger = new Logger();\r\n this.styleFactory = new LhlpStyleFactory(this.mapConfig);\r\n this.resourcefactory = new LhlpResourcefactory(this.mappingTextPack);\r\n\r\n this.mfOptions = DefaultMapOptions.GetDefaultOptions(this.mapElementId, `${this.siteFolder}_AssetRecordMap`, this.tenantSettings?.MapSettings);\r\n this.mfOptions.enableBoundsTracking = false;\r\n this.layerGroups = this.layerGroupFactory.getLayerGroups(this.getLayerGroupConfig(this.assetTypeId, this.assetId), this.styleFactory);\r\n this.mfOptions.layerGroupCollection = this.layerGroups;\r\n\r\n \r\n this.mapStore = new MapViewStore(this.mfOptions.mapStoreKey);\r\n //clear the store so we don't remember the layers etc\r\n //this.mapStore.clear();\r\n //this.mapStore.onActivePanelChanged(\"\");\r\n\r\n this.boundsLoaderBehaviour = new BoundsLoaderExtentsBehaviour(this.logger);\r\n this.mapContextMenu = new MapContextMenu(this.mappingTextPack);\r\n\r\n this.vectorLayerSourceFactory = new VectorLayerSourceFactory(this.logger, this.boundsLoaderBehaviour, this.featureLoader, this.featureAdd);\r\n this.map = this.mapFactory.instance(this.mfOptions, this.mapStore, this.logger, this.vectorLayerSourceFactory, this.baseLayerFactory, this.boundsLoaderBehaviour, this.mapContextMenu, null, this.mapFilter, this.mappingTextPack);\r\n this.dragPan = new DragPan(this.map, this.mappingTextPack);\r\n this.ls = new MapLayerSwitcher(this.map, this.mapStore, this.styleFactory, this.map.baseLayers, this.layerGroups, this.mappingTextPack,\r\n {\r\n showOpenPanelByDefault: false,\r\n showList: false,\r\n rememberActivePanel: false \r\n });\r\n \r\n this.downloadPng = new DownloadMapPng(this.map, this.mappingTextPack);\r\n this.mousePosition = new MousePosition(this.map, this.mappingTextPack, \"EPSG:27700\");\r\n\r\n this.initEditAsset();\r\n this.initialised = true;\r\n }\r\n }\r\n\r\n private initEditAsset = (): void => {\r\n let self = this;\r\n let selectedSource: VectorSource; //current chosen source\r\n let selectedLayer: Layer; //current chosen layer\r\n let selectedFeature: Feature; //our currently selected feature\r\n let myDragPan: Interaction = null; //our current map DragPan interaction\r\n\r\n //grab the point and polygon layers once they are loaded\r\n this.map.onLayerLoaded.subscribe(function (args: IMapLayerLoadedEventArgs) {​​​\r\n if (args.layer.layerName === \"AssetPointsById\") {​​​\r\n self.assetPointLayer = args.layer;\r\n }​​​\r\n if (args.layer.layerName === \"AssetPolygonsById\") {​​​\r\n self.assetPolygonLayer = args.layer;\r\n }​​​\r\n }​​​);\r\n\r\n let mapSave = (geomType: GeometryType, saveUrl: string): void => {\r\n let features: Feature[];\r\n let geomWKT: string = null;\r\n let wkt = new WKT();\r\n\r\n if(geomType === GeometryType.POINT) {\r\n features = self.assetPointLayer.olVectorLayer.getSource().getFeatures();\r\n let multi: MultiPoint = new MultiPoint([]);\r\n for(let i=0;ifeatures[i].getGeometry();\r\n multi.appendPoint(geom);\r\n }\r\n geomWKT = wkt.writeGeometry(multi, {\r\n dataProjection: 'EPSG:27700',\r\n featureProjection: 'EPSG:3857',\r\n decimals: 0\r\n });\r\n }\r\n\r\n if(geomType === GeometryType.POLYGON) {\r\n features = self.assetPolygonLayer.olVectorLayer.getSource().getFeatures();\r\n let multi: MultiPolygon = new MultiPolygon([]);\r\n for(let i=0;ifeatures[i].getGeometry();\r\n multi.appendPolygon(geom);\r\n }\r\n geomWKT = wkt.writeGeometry(multi, {\r\n dataProjection: 'EPSG:27700',\r\n featureProjection: 'EPSG:3857',\r\n decimals: 0\r\n });\r\n }\r\n console.log(geomWKT);\r\n if(selectedFeature) selectedFeature.setStyle(setFeatureDynamicStyle(geomType, false)); //set back to unselected style if saving\r\n\r\n let data: Object = {\r\n AssetId: self.assetId,\r\n GeomWKT: geomWKT\r\n };\r\n $.ajax({\r\n type: 'POST',\r\n url: saveUrl,\r\n data: JSON.stringify(data),\r\n dataType: 'json',\r\n contentType: 'application/json',\r\n success: function(d) { if(d) selectedSource.refresh(); },\r\n error: function(d) { \r\n alert('An error occurred updating the asset geometry.');\r\n selectedSource.refresh();\r\n }\r\n });\r\n };\r\n\r\n let mapAddInteractions = (geomType: GeometryType): void => {\r\n\r\n if(geomType === GeometryType.POINT) {\r\n selectedLayer = self.assetPointLayer.olVectorLayer;\r\n selectedSource = selectedLayer.getSource();\r\n let editFeatures: Feature[] = [];\r\n //there will only be one feature with one or more points after the map layer has loaded from mapserver\r\n // so we must convert each point into a feature so we can properly edit\r\n let features: Feature[] = selectedSource.getFeatures();\r\n if(features.length>0) {\r\n let geom: MultiPoint = features[0].getGeometry();\r\n let points: Point[] = geom.getPoints();\r\n for(let i=0; iselectedLayer.getSource();\r\n let editFeatures: Feature[] = [];\r\n //there will only be one feature with one or more polygons after the map layer has loaded from mapserver\r\n // so we must convert each polygon into a feature so we can properly edit\r\n let features: Feature[] = selectedSource.getFeatures();\r\n if(features.length>0) {\r\n let geom: MultiPolygon = features[0].getGeometry();\r\n let polys: Polygon[] = geom.getPolygons();\r\n for(let i=0; i {\r\n selectedSource.removeFeature(selectedFeature);\r\n setInteractionMode(geomType);\r\n }\r\n\r\n let setAsTopLayer = (layer: Layer): void => {\r\n self.assetPolygonLayer.olVectorLayer.setZIndex(2);\r\n self.assetPointLayer.olVectorLayer.setZIndex(3);\r\n if(layer === self.assetPolygonLayer.olVectorLayer) layer.setZIndex(4);\r\n }\r\n\r\n let showPointAddModeButton = (): void => {\r\n $('#mapAddAssetPointBtn').show().on('click', function() {\r\n mapRemoveInteractions();\r\n self.assetDraw = new Draw({\r\n source: selectedSource,\r\n type: geomType,\r\n style: setFeatureDynamicStyle(geomType, false)\r\n });\r\n self.map.olMap.addInteraction(self.assetDraw);\r\n self.assetDraw.on('drawend', function(e) {\r\n selectedFeature = e.feature;\r\n self.map.olMap.removeInteraction(self.assetDraw);\r\n $('#mapAddAssetPointBtn').hide().off('click');\r\n $('#mapDeleteAssetPointBtn').show().on('click', function() { featureDelete(geomType); }); \r\n self.map.olMap.addInteraction(self.assetSelect);\r\n self.assetModify = new Modify({\r\n features: self.assetSelect.getFeatures(),\r\n style: setFeatureDynamicStyle(geomType)\r\n });\r\n self.map.olMap.addInteraction(self.assetModify);\r\n })\r\n });\r\n }\r\n\r\n let setInteractionMode = (geomType: GeometryType): void => {\r\n mapRemoveInteractions();\r\n if(geomType === GeometryType.POINT) {\r\n showPointAddModeButton();\r\n self.assetSelect = new Select({ \r\n layers:[ selectedLayer ],\r\n style: setFeatureDynamicStyle(geomType),\r\n multi: false,\r\n toggleCondition: function() { return false }\r\n });\r\n self.map.olMap.addInteraction(self.assetSelect);\r\n self.assetModify = new Modify({\r\n features: self.assetSelect.getFeatures(),\r\n style: setFeatureDynamicStyle(geomType)\r\n });\r\n self.map.olMap.addInteraction(self.assetModify);\r\n self.assetModify.on('modifystart', function(e) {\r\n $('#mapAddAssetPointBtn').hide().off('click');\r\n if(selectedSource.getFeatures().length>1) {\r\n $('#mapDeleteAssetPointBtn').show().on('click', function() { featureDelete(geomType); });\r\n }\r\n });\r\n self.assetSelect.on('select', function(e) {\r\n let features: Feature[] = e.selected;\r\n if(features.length) {\r\n $('#mapAddAssetPointBtn').hide().off('click');\r\n selectedFeature = features[0];\r\n if(selectedSource.getFeatures().length>1) {\r\n $('#mapDeleteAssetPointBtn').show().on('click', function() { featureDelete(geomType); });\r\n }\r\n } else {\r\n $('#mapDeleteAssetPointBtn').hide().off('click');\r\n if(selectedFeature) selectedFeature.setStyle(setFeatureDynamicStyle(geomType, false));\r\n setInteractionMode(geomType);\r\n }\r\n });\r\n self.assetSnap = new Snap({\r\n source: selectedSource\r\n });\r\n self.map.olMap.addInteraction(self.assetSnap);\r\n }\r\n\r\n if(geomType === GeometryType.POLYGON) {\r\n self.assetDraw = new Draw({\r\n source: selectedSource,\r\n type: geomType\r\n });\r\n self.map.olMap.addInteraction(self.assetDraw);\r\n self.assetSelect = new Select({ \r\n layers:[ selectedLayer ],\r\n style: setFeatureDynamicStyle(geomType, true)\r\n });\r\n self.map.olMap.addInteraction(self.assetSelect);\r\n self.assetSelect.on('select', function(e) {\r\n let features: Feature[] = e.selected;\r\n if(features.length) { //edit one feature\r\n selectedFeature = features[0]; //we only manipulate one feature at a time\r\n self.assetModify = new Modify({ features: new Collection([selectedFeature]) });\r\n self.map.olMap.removeInteraction(self.assetDraw);//switch off draw mode\r\n self.map.olMap.addInteraction(self.assetModify); //switch to modify mode\r\n $('#mapDeleteAssetPolygonBtn').show().on('click', function() { featureDelete(geomType); });\r\n } else { \r\n if(selectedFeature) selectedFeature.setStyle(setFeatureDynamicStyle(geomType, false));\r\n setInteractionMode(geomType);\r\n } \r\n });\r\n self.assetSnap = new Snap({\r\n source: selectedSource\r\n });\r\n self.map.olMap.addInteraction(self.assetSnap);\r\n }\r\n \r\n //buttons are hidden until we select or add something...\r\n $('#mapDeleteAssetPointBtn').hide().off('click');\r\n $('#mapDeleteAssetPolygonBtn').hide().off('click');\r\n\r\n }\r\n\r\n setAsTopLayer(selectedLayer); //make sure the vector layer we are editing is on top\r\n setInteractionMode(geomType);\r\n \r\n //switch off DragPan when in editing mode\r\n let dragPanIndex = self.map.olMap.getInteractions().getArray().findIndex(function (element) {\r\n return element.constructor.name == \"DragPan\";\r\n });\r\n if(dragPanIndex>=0) {\r\n let dragPan: Interaction = self.map.olMap.getInteractions().getArray()[dragPanIndex];\r\n // self.map.olMap.removeInteraction(dragPan); //actually we can leave drag pan on while editing\r\n myDragPan = dragPan; //save this interaction so we can add it back when we quit editing mode\r\n }\r\n };\r\n\r\n let mapCancel = (geomType: GeometryType): void => {\r\n mapRemoveInteractions();\r\n let layer: Layer;\r\n if(geomType === GeometryType.POINT) layer = self.assetPointLayer.olVectorLayer;\r\n if(geomType === GeometryType.POLYGON) layer = self.assetPolygonLayer.olVectorLayer;\r\n let source: VectorSource = layer.getSource();\r\n source.refresh();\r\n }\r\n\r\n let mapRemoveInteractions = (): void => {\r\n self.map.olMap.removeInteraction(self.assetSnap);\r\n self.map.olMap.removeInteraction(self.assetDraw);\r\n self.map.olMap.removeInteraction(self.assetModify);\r\n self.map.olMap.removeInteraction(self.assetSelect);\r\n self.assetPolygonLayer.olVectorLayer.setZIndex(2);\r\n self.assetPointLayer.olVectorLayer.setZIndex(3);\r\n if(myDragPan != null) self.map.olMap.addInteraction(myDragPan);\r\n }\r\n\r\n let setFeatureDynamicStyle = (geomType: GeometryType, selected: boolean = true): Style | Style[] | StyleFunction => {\r\n\r\n let mapConfig: LhlpMapConfig = this.mapConfig; \r\n let iconColour: string = 'rgba(255,0,0,1)'; //what we'll use for the selected feature\r\n let iconColourFill: string = 'rgba(255,0,0,0.1)';\r\n let featureSubType: LhlpRecordSubType = self.assetTypeId;\r\n let featureStatus: string = self.assetStatusId; \r\n let iconChr: string = '\\uf60e'; //default to map pin if asset type can't be resolved\r\n\r\n if(!selected) {\r\n iconColour = 'rgba(32,32,32,1)'; //default colours if no status colour selected in db\r\n iconColourFill = 'rgba(32,32,32,0.1)';\r\n let statusStyles: Array = mapConfig.StatusStyles;\r\n if(statusStyles !== null) {\r\n for(let statusStyle of statusStyles) {\r\n if(statusStyle.StatusId == featureStatus) {\r\n iconColour = statusStyle.StatusColour;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n let typeStyles: Array = mapConfig.TypeStyles;\r\n if(typeStyles !== null) {\r\n for(let typeStyle of typeStyles) {\r\n if(typeStyle.TypeId == featureSubType) {\r\n let c: string = typeStyle.TypeCharacter;\r\n iconChr = String.fromCharCode(parseInt(c));\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if(geomType === GeometryType.POINT) {\r\n let text = new Text({\r\n text: iconChr,\r\n font: '900 25px \"Font Awesome 6 Pro\"',\r\n textBaseline: 'bottom',\r\n offsetY: 13,\r\n fill: new Fill({\r\n color: iconColour,\r\n })\r\n });\r\n if(!selected) return new Style({ text: text });\r\n\r\n return new Style({\r\n image: new Circle({\r\n stroke: new Stroke({\r\n color: iconColour,\r\n width: 3\r\n }),\r\n radius: 20,\r\n fill: new Fill({\r\n color: iconColourFill \r\n })\r\n }),\r\n text: text \r\n });\r\n }\r\n\r\n if(geomType === GeometryType.POLYGON) { \r\n let styles: Style[] = [\r\n new Style({\r\n stroke: new Stroke({\r\n color: iconColour,\r\n width: 3,\r\n }),\r\n fill: new Fill({\r\n color: iconColourFill,\r\n }),\r\n }),\r\n ];\r\n if(selected) {\r\n styles.push(\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: '#000000',\r\n }),\r\n }),\r\n geometry: function (theFeature: Feature) {\r\n // return the coordinates of the first ring of the polygon for the vertices\r\n const coordinates = theFeature.getGeometry().getCoordinates()[0];\r\n return new MultiPoint(coordinates);\r\n },\r\n })\r\n );\r\n }\r\n return styles; \r\n }\r\n } \r\n\r\n //setup the buttons on the Edit Asset div\r\n $('#mapEditAssetPointBtn').on(\"click\", function() {\r\n $('#mapEditAssetPointBtn').hide();\r\n $('#mapEditAssetPolygonBtn').hide();\r\n $('#mapEditAssetPointEnabled').show();\r\n $('#mapEditAsset').css({'background-color': 'white'});\r\n mapAddInteractions(GeometryType.POINT);\r\n });\r\n\r\n $('#mapCancelAssetPointBtn').on(\"click\", function() {\r\n mapCancel(GeometryType.POINT);\r\n $('#mapEditAssetPointBtn').show();\r\n $('#mapEditAssetPolygonBtn').show();\r\n $('#mapEditAssetPointEnabled').hide();\r\n $('#mapEditAsset').css({'background-color': 'transparent'});\r\n });\r\n\r\n $('#mapEditAssetPolygonBtn').on(\"click\", function() {\r\n $('#mapEditAssetPointBtn').hide();\r\n $('#mapEditAssetPolygonBtn').hide();\r\n $('#mapEditAssetPolygonEnabled').show();\r\n $('#mapEditAsset').css({'background-color': 'white'});\r\n mapAddInteractions(GeometryType.POLYGON);\r\n });\r\n\r\n $('#mapCancelAssetPolygonBtn').on(\"click\", function() {\r\n mapCancel(GeometryType.POLYGON);\r\n $('#mapEditAssetPointBtn').show();\r\n $('#mapEditAssetPolygonBtn').show();\r\n $('#mapEditAssetPolygonEnabled').hide();\r\n $('#mapEditAsset').css({'background-color': 'transparent'});\r\n });\r\n\r\n $('#mapOkAssetPointBtn').on(\"click\", function() {\r\n mapRemoveInteractions();\r\n let pointUrl = self.mapConfig.EditAssetPointUrl;\r\n mapSave(GeometryType.POINT, pointUrl);\r\n $('#mapEditAssetPointBtn').show();\r\n $('#mapEditAssetPolygonBtn').show();\r\n $('#mapEditAssetPointEnabled').hide();\r\n $('#mapEditAsset').css({'background-color': 'transparent'});\r\n });\r\n\r\n $('#mapOkAssetPolygonBtn').on(\"click\", function() {\r\n mapRemoveInteractions();\r\n let polygonUrl = self.mapConfig.EditAssetPolygonUrl;\r\n mapSave(GeometryType.POLYGON, polygonUrl);\r\n $('#mapEditAssetPointBtn').show();\r\n $('#mapEditAssetPolygonBtn').show();\r\n $('#mapEditAssetPolygonEnabled').hide();\r\n $('#mapEditAsset').css({'background-color': 'transparent'});\r\n });\r\n\r\n }\r\n\r\n private getLayerGroupConfig = (assetTypeId: LhlpRecordSubType, assetId: number): Array => {\r\n\r\n let layerGroups = [];\r\n \r\n let assetLayerConfig: Array = [\r\n this.layerConfigFactory.layerConfig(LhlpRecordType.ASSET, assetTypeId, null, false, assetId), \r\n ];\r\n layerGroups.push( {\r\n ref: \"AssetRecordMap\",\r\n name: \"\",\r\n useAccordion: true,\r\n expandedOnFirstLoad: true,\r\n layerGroupConfigs: assetLayerConfig\r\n });\r\n\r\n let AreaLayerGroupConfig: Array = [\r\n this.layerConfigFactory.layerConfig(LhlpRecordType.LocalListArea, null),\r\n this.layerConfigFactory.layerConfig(LhlpRecordType.LocalListSubAreas, null)\r\n ];\r\n layerGroups.push( {\r\n ref: \"Area_layers\",\r\n name: \"Project Areas\",\r\n useAccordion: true,\r\n expandedOnFirstLoad: true,\r\n layerGroupConfigs: this.filterMapLayers(AreaLayerGroupConfig)\r\n });\r\n\r\n return layerGroups;\r\n }\r\n\r\n}\r\n","import { \r\n BaseLayerFactory_3857,\r\n BaseLayerType\r\n} from \"esdm-map\";\r\nimport { IBaseLayer } from \"esdm-map/dist/baselayers/interfaces/IBaseLayer\";\r\nimport { Buckinghamshire_BaseLayers } from \"./Client/Buckinghamshire_BaseLayers\";\r\nimport { Cheshire_BaseLayers } from \"./Client/Cheshire_BaseLayers\";\r\nimport { Merseyside_BaseLayers } from \"./Client/Merseyside_BaseLayers\";\r\nimport { SouthYorkshire_BaseLayers } from \"./Client/SouthYorkshire_BaseLayers\";\r\nimport { LhlpBaseLayers } from \"./LhlpBaseLayerFactory\";\r\n\r\n//Not needed for showing 27700 on 3857?\r\n//proj4.defs(\"EPSG:27700\", \"+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs\");\r\n//register(proj4);\r\n//const proj27700 = getProjection('EPSG:27700');\r\n//proj27700.setExtent([0, 0, 700000, 1300000]);\r\n\r\nexport class ClientBaseLayerFactory extends BaseLayerFactory_3857 {\r\n\r\n private bucksBaseLayers = new Buckinghamshire_BaseLayers();\r\n private southYorkshireBaseLayers = new SouthYorkshire_BaseLayers();\r\n private cheshireBaseLayers = new Cheshire_BaseLayers();\r\n private merseysideBaseLayers = new Merseyside_BaseLayers();\r\n\r\n public GetBaseLayerByType(baseLayerType: BaseLayerType, bingApiKey: string = \"\", esdmApiKey: string = \"\"): IBaseLayer {\r\n\r\n switch (baseLayerType) {\r\n case LhlpBaseLayers.Buckinghamshire_OS:\r\n return this.bucksBaseLayers.GetBuckinghamshireOS();\r\n\r\n case LhlpBaseLayers.SouthYorkshire_OS:\r\n return this.southYorkshireBaseLayers.GetSouthYorkshireOS();\r\n\r\n case LhlpBaseLayers.Cheshire_OS:\r\n return this.cheshireBaseLayers.GetCheshireOS();\r\n\r\n case LhlpBaseLayers.Merseyside_OS:\r\n return this.merseysideBaseLayers.GetMerseysideOS();\r\n }\r\n\r\n\r\n return super.GetBaseLayerByType(baseLayerType, bingApiKey, esdmApiKey);\r\n } \r\n}","import {\r\n BaseLayer\r\n} from \"esdm-map\";\r\nimport { IBaseLayer } from \"esdm-map/dist/baselayers/interfaces/IBaseLayer\";\r\n\r\nimport TileLayer from 'ol/layer/Tile';\r\nimport WMTS from 'ol/source/WMTS';\r\nimport WMTSTileGrid from 'ol/tilegrid/WMTS';\r\n\r\n\r\nexport class Buckinghamshire_BaseLayers{\r\n\r\n public GetBuckinghamshireOS(): IBaseLayer {\r\n\r\n let lyr = new TileLayer({\r\n visible: true,\r\n source: new WMTS({ \r\n url: \"/api/ogcservice/BuckinghamshireOS\",\r\n layer: 'Bucks_Basemapping',\r\n matrixSet: 'default028mm',\r\n format: 'image/png',\r\n projection: 'EPSG:27700',\r\n tileGrid: new WMTSTileGrid({\r\n origin: [-5220400, 4470200],\r\n resolutions: [264.58386250102507, 132.29193125051253, 66.14596562525627, 33.07298281262813, 16.933367200065604, 8.466683600032802, 4.233341800016401, 2.1166709000082005, 1.0583354500041002, 0.5291677250020501, 0.26458386250102506],\r\n matrixIds: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\"]\r\n }),\r\n style: 'default',\r\n wrapX: false,\r\n attributions: `OS mapping: © Crown copyright OS 0100062456. You are granted a non-exclusive, royalty free, revocable licence solely to view the Licensed Data for non-commercial purposes for the period during which Buckinghamshire Council makes it available. You are not permitted to copy, sub-license, distribute, sell or otherwise make available the Licensed Data to third parties in any form. Third party rights to enforce the terms of this licence shall be reserved to OS.`\r\n })\r\n });\r\n return new BaseLayer(\"BucksCustom\", \"Ordnance Survey\", lyr);\r\n }\r\n\r\n}","import {\r\n BaseLayer\r\n} from \"esdm-map\";\r\nimport { IBaseLayer } from \"esdm-map/dist/baselayers/interfaces/IBaseLayer\";\r\nimport TileLayer from 'ol/layer/Tile';\r\nimport WMTS from 'ol/source/WMTS';\r\nimport WMTSTileGrid from 'ol/tilegrid/WMTS';\r\n\r\nexport class Cheshire_BaseLayers{\r\n \r\n public GetCheshireOS(): IBaseLayer {\r\n let lyr = new TileLayer({\r\n visible: true,\r\n source: new WMTS({ \r\n //url: 'https://maps-cache.cheshiresharedservices.gov.uk/maps/?wmts/OS_AllBasemaps_COLOUR/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.jpeg&KEY=3b3f5c60eca1404ea114e6941c9d3845',\r\n url: '/api/ogcservice/CheshireOS/?wmts/OS_AllBasemaps_COLOUR/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.jpeg&KEY=3b3f5c60eca1404ea114e6941c9d3845',\r\n layer: 'OS_AllBasemaps_COLOUR',\r\n matrixSet: 'osc_grid',\r\n format: 'image/jpeg',\r\n projection: 'EPSG:27700',\r\n requestEncoding: 'REST',\r\n tileGrid: new WMTSTileGrid({ \r\n //extent: [-3276800, -3276800, 3276800, 3276800],\r\n origin: [-3276800.0, 3276800.0],\r\n resolutions: [1792.003584007169, 896.0017920035843, 448.0008960017922, 224.0004480008961, 112.000224000448, 56.000112000224014, 28.000056000111993, 14.000028000056004, 7.000014000028002, 2.8000056000112004, 1.4000028000056002, 0.7000014000028001, 0.35000070000140004, 0.14000028000056003],\r\n matrixIds: ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13']\r\n }), \r\n style: 'default',\r\n wrapX: false,\r\n attributions: `© Crown copyright and database rights 2021. Ordnance Survey 100049046. Terms & Conditions.`\r\n })\r\n });\r\n \r\n return new BaseLayer(\"CheshireCustom\", \"Ordnance Survey\", lyr);\r\n }\r\n}","import {\r\n BaseLayer\r\n} from \"esdm-map\";\r\nimport { IBaseLayer } from \"esdm-map/dist/baselayers/interfaces/IBaseLayer\";\r\nimport TileLayer from \"ol/layer/Tile\";\r\nimport WMTS from \"ol/source/WMTS\";\r\nimport WMTSTileGrid from \"ol/tilegrid/WMTS\";\r\n\r\nexport class Merseyside_BaseLayers{\r\n \r\n public GetMerseysideOS(): IBaseLayer {\r\n let lyr = new TileLayer({\r\n visible: true,\r\n source: new WMTS({ \r\n url: \"/api/ogcservice/MerseysideOS\",\r\n layer: \"Road 27700\",\r\n matrixSet: \"EPSG:27700\",\r\n format: \"image/png\",\r\n projection: \"EPSG:27700\",\r\n tileGrid: new WMTSTileGrid({\r\n origin: [-238375.0, 1376256.0],\r\n resolutions: [896, 448, 224, 112, 56, 28, 14, 7, 3.5, 1.75, 0.875, 0.4375, 0.21875, 0.109375],\r\n matrixIds: [\"EPSG:27700:0\", \"EPSG:27700:1\", \"EPSG:27700:2\", \"EPSG:27700:3\", \"EPSG:27700:4\", \"EPSG:27700:5\", \"EPSG:27700:6\", \"EPSG:27700:7\", \"EPSG:27700:8\", \"EPSG:27700:9\", \"EPSG:27700:10\", \"EPSG:27700:11\", \"EPSG:27700:12\", \"EPSG:27700:13\"]\r\n }),\r\n style: \"default\",\r\n wrapX: false,\r\n attributions: \"© Crown copyright and database rights 2021 OS 100018816. You are granted a non-exclusive, royalty free, revocable licence solely to view the licensed data for non-commercial purposes for the period during which Sheffield City Council makes it available. You are not permitted to copy, sub-license, distribute, sell or otherwise make available the licensed data to third parties in any form. Third party rights to enforce the terms of this licence shall be reserved to OS.\"\r\n })\r\n });\r\n \r\n return new BaseLayer(\"MerseysideCustom\", \"Ordnance Survey\", lyr);\r\n }\r\n}","import {\r\n BaseLayer\r\n} from \"esdm-map\";\r\nimport { IBaseLayer } from \"esdm-map/dist/baselayers/interfaces/IBaseLayer\";\r\n\r\nimport TileLayer from 'ol/layer/Tile';\r\nimport WMTS from 'ol/source/WMTS';\r\nimport WMTSTileGrid from 'ol/tilegrid/WMTS';\r\n\r\n\r\nexport class SouthYorkshire_BaseLayers{\r\n\r\n public GetSouthYorkshireOS(): IBaseLayer {\r\n\r\n let lyr = new TileLayer({\r\n visible: true,\r\n source: new WMTS({ \r\n url: \"/api/ogcservice/SouthYorkshireOS\",\r\n layer: 'Road 27700',\r\n matrixSet: 'EPSG:27700',\r\n format: 'image/png',\r\n projection: 'EPSG:27700',\r\n tileGrid: new WMTSTileGrid({\r\n origin: [-238375.0, 1376256.0],\r\n resolutions: [896, 448, 224, 112, 56, 28, 14, 7, 3.5, 1.75, 0.875, 0.4375, 0.21875, 0.109375],\r\n matrixIds: [\"EPSG:27700:0\", \"EPSG:27700:1\", \"EPSG:27700:2\", \"EPSG:27700:3\", \"EPSG:27700:4\", \"EPSG:27700:5\", \"EPSG:27700:6\", \"EPSG:27700:7\", \"EPSG:27700:8\", \"EPSG:27700:9\", \"EPSG:27700:10\", \"EPSG:27700:11\", \"EPSG:27700:12\", \"EPSG:27700:13\"]\r\n }),\r\n style: 'default',\r\n wrapX: false,\r\n attributions: '© Crown copyright and database rights 2021 OS 100018816. You are granted a non-exclusive, royalty free, revocable licence solely to view the licensed data for non-commercial purposes for the period during which Sheffield City Council makes it available. You are not permitted to copy, sub-license, distribute, sell or otherwise make available the licensed data to third parties in any form. Third party rights to enforce the terms of this licence shall be reserved to OS.'\r\n })\r\n });\r\n return new BaseLayer(\"SYorksCustom\", \"Ordnance Survey\", lyr);\r\n }\r\n\r\n}","import {\r\n BaseLayer,\r\n BaseLayerFactory_3857,\r\n BaseLayerType\r\n} from \"esdm-map\";\r\nimport { IBaseLayer } from \"esdm-map/dist/baselayers/interfaces/IBaseLayer\";\r\nimport TileLayer from 'ol/layer/Tile';\r\nimport * as olProj from 'ol/proj';\r\nimport OSM from 'ol/source/OSM';\r\nimport XYZ from 'ol/source/XYZ';\r\nimport { ClientBaseLayerFactory } from \"./ClientBaseLayerFactory\";;\r\n\r\nexport const LhlpBaseLayers = {\r\n ...BaseLayerType,\r\n OrdnanceSurvey_1937to1961 : 999,\r\n OrdnanceSurvey_1900: 1000,\r\n Buckinghamshire_OS: 1001,\r\n SouthYorkshire_OS: 1002,\r\n Cheshire_OS: 1003,\r\n Merseyside_OS: 1004\r\n};\r\n\r\nexport class LhlpBaseLayerFactory extends ClientBaseLayerFactory {\r\n \r\n public GetBaseLayerByType(baseLayerType: BaseLayerType, bingApiKey: string = \"\", esdmApiKey: string = \"\"): IBaseLayer {\r\n\r\n switch (baseLayerType) {\r\n case LhlpBaseLayers.OrdnanceSurvey_1937to1961:\r\n return this.GetOrdnanceSurvey_1937to1961();\r\n \r\n case LhlpBaseLayers.OrdnanceSurvey_1900:\r\n return this.GetOrdnanceSurvey_1900();\r\n \r\n case LhlpBaseLayers.OSM_ESDM_contours: //override definition in esdm_map to set maxZoom\r\n\r\n let lyr = new TileLayer({\r\n source: new OSM({\r\n url: `//{a-f}.osm.esdm.co.uk/900913/c/{z}/{x}/{y}.png?APIKEY=${esdmApiKey}`,\r\n maxZoom: 18\r\n })\r\n });\r\n return new BaseLayer('OSM_ESDM_contours', 'OpenStreetMap', lyr); \r\n\r\n //case LhlpBaseLayers.BingOS:\r\n // let lyr = new TileLayer({\r\n // source: new BingMaps({\r\n // key: bingApiKey,\r\n // imagerySet: \"OrdnanceSurvey\",\r\n // culture: 'en-gb',\r\n // maxZoom: 15\r\n // })\r\n // });\r\n // lyr.getSource().setAttributions('© Crown Copyright and database right ' + new Date().getFullYear() + '. All rights reserved.Ordnance Survey Licence number 100023706');\r\n \r\n // return new BaseLayer(\"OrdnanceSurvey\", \"Bing Ordnance Survey\", lyr); \r\n }\r\n\r\n return super.GetBaseLayerByType(baseLayerType, bingApiKey, esdmApiKey);\r\n } \r\n\r\n private GetOrdnanceSurvey_1937to1961(): IBaseLayer {\r\n const lyr = new TileLayer({\r\n extent: olProj.transformExtent([-7.68, 49.8, 1.77, 60.4], 'EPSG:4326', 'EPSG:3857'),\r\n preload: Infinity,\r\n //title: \"Great Britain - OS 1:25,000, 1937-61\",\r\n source: new XYZ({\r\n urls: [\r\n 'https://api.maptiler.com/tiles/uk-osgb25k1937/{z}/{x}/{y}.jpg?key=IkTLgYxZjV68oqpwdBjp'\r\n ],\r\n minZoom: 1,\r\n maxZoom: 18,\r\n attributions: 'Mapping from National Library of Scotland',\r\n }),\r\n //type: 'overlay',\r\n visible: false,\r\n //keytext: 'View the individual sheets of this OS 1:25,000 mapping by selecting \"Find by place\" above',\r\n //key: 'geo.nls.uk/mapdata2/os/25000/key/openlayers.html'\r\n });\r\n\r\n return new BaseLayer(\"OS25k1937\", \"OS 1:25,000 1937-1961\", lyr);\r\n }\r\n\r\n \r\n\r\n private GetOrdnanceSurvey_1900(): IBaseLayer {\r\n const lyr = new TileLayer({\r\n extent: olProj.transformExtent([-14.169172, 49.205882, 4.393046, 61.483786], 'EPSG:4326', 'EPSG:3857'),\r\n preload: Infinity,\r\n //title: \"Great Britain - OS One-Inch, 1885-1903 - Hills\",\r\n source: new XYZ({\r\n attributions: 'Mapping from National Library of Scotland
We are very grateful to David Rumsey for supporting the scanning and georeferencing of this overlay',\r\n urls: [\r\n 'https://api.maptiler.com/tiles/uk-osgb63k1885/{z}/{x}/{y}.png?key=IkTLgYxZjV68oqpwdBjp'\r\n ],\r\n minZoom: 1,\r\n maxZoom: 18\r\n }),\r\n //type: 'overlay',\r\n visible: false\r\n });\r\n return new BaseLayer(\"OSAll1900\", \"OS All Scales 1900s\", lyr);\r\n }\r\n\r\n}","import { BaseLayerType } from \"esdm-map\";\r\nimport { BaseMap, MapSettings } from \"../defs/MapSettings\";\r\nimport { LhlpBaseLayers } from \"./LhlpBaseLayerFactory\";\r\n\r\n/**\r\n * Converts the Tenant base layers into the correct enum for each base layer\r\n * */\r\nexport class TenantSettingsBaseLayerResolver {\r\n\r\n\r\n public constructor(\r\n private _mapSettings: MapSettings\r\n ){}\r\n\r\n public getBaseLayerTypes = (): BaseLayerType[] => {\r\n let types = new Array();\r\n\r\n let sortedBaselayers = this._mapSettings.BaseMaps.sort((a, b) => (a.Order > b.Order ? 1 : -1));\r\n sortedBaselayers.forEach(function (map: BaseMap) {\r\n //NB\r\n //Add any new enumerations to the help in LHL.Core.Configuration.TenantSettingsDefault & the XSD\r\n switch (map.BaseMapType) {\r\n case \"BingAerial\":\r\n types.push(LhlpBaseLayers.BingAerial);\r\n break;\r\n\r\n case \"BingOS\":\r\n types.push(LhlpBaseLayers.BingOS);\r\n break;\r\n\r\n case \"OSM_ESDM_contours\":\r\n types.push(LhlpBaseLayers.OSM_ESDM_contours);\r\n break;\r\n\r\n case \"OrdnanceSurvey_1937to1961\":\r\n types.push(LhlpBaseLayers.OrdnanceSurvey_1937to1961);\r\n break;\r\n\r\n case \"OrdnanceSurvey_1900\":\r\n types.push(LhlpBaseLayers.OrdnanceSurvey_1900);\r\n break;\r\n\r\n case \"Buckinghamshire_OS\":\r\n types.push(LhlpBaseLayers.Buckinghamshire_OS);\r\n break;\r\n\r\n case \"SouthYorkshire_OS\":\r\n types.push(LhlpBaseLayers.SouthYorkshire_OS);\r\n break;\r\n\r\n case \"Cheshire_OS\":\r\n types.push(LhlpBaseLayers.Cheshire_OS);\r\n break;\r\n\r\n case \"Merseyside_OS\":\r\n types.push(LhlpBaseLayers.Merseyside_OS);\r\n break;\r\n }\r\n\r\n });\r\n\r\n return types;\r\n }\r\n\r\n}","import { IMappingTextPack, IMap } from \"esdm-map\";\r\nimport { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\r\nimport { LhlpRecordType } from \"./defs/LhlpRecordType\";\r\nimport { ILhlpTenantSettingsFactory, LhlpTenantSettings, LhlpTenantSettingsFactory } from \"./defs/LhlpTenantSettings\";\r\nimport { LhlpUser } from \"./defs/LhlpUser\";\r\n\r\n\r\nexport class MapBase {\r\n\r\n protected tenantSettings: LhlpTenantSettings;\r\n\r\n constructor( \r\n protected mappingTextPack: IMappingTextPack,\r\n protected user: LhlpUser)\r\n { \r\n const tenantSettingsFactory: ILhlpTenantSettingsFactory = new LhlpTenantSettingsFactory();\r\n this.tenantSettings = tenantSettingsFactory.GetSettings();\r\n this.setToolbarStyleForTouch();\r\n }\r\n\r\n protected setToolbarStyleForTouch(): void { \r\n //touch test (copied from ol code that adds ol-touch to viewport)\r\n if ('ontouchstart' in window) {\r\n let e = $(\"#mapToolbar\");\r\n if (e[0]) {\r\n e.addClass(\"ol-touch\");\r\n }\r\n }\r\n }\r\n\r\n protected isAuthenticated = (): boolean => {\r\n return this.user !== null;\r\n }\r\n\r\n protected filterMapLayers = (layerGroupConfig: Array ): Array => {\r\n // if (!this.isAuthenticated()) {\r\n // //remove layers that require authentication\r\n // return layerGroupConfig.filter(function (value, index, arr) {\r\n // let authlayers = (value.type === LhlpRecordType.ASSET_PRIVATE);\r\n // return !authlayers;\r\n // });\r\n // } else {\r\n // //remove layers that don't require authentication\r\n // return layerGroupConfig.filter(function (value, index, arr) {\r\n // let authlayers = (value.type === LhlpRecordType.ASSET_PUBLIC);\r\n // return !authlayers;\r\n // });\r\n // }\r\n return layerGroupConfig;\r\n } \r\n}","import {\r\n IMappingTextPack,\r\n MappingTextPack\r\n} from \"esdm-map\";\r\n\r\nexport class TextPacks {\r\n public constructor( \r\n public mapping: IMappingTextPack\r\n ) { }\r\n}\r\n\r\nexport class TextPackLoader {\r\n\r\n public static load(): Promise { \r\n let mapping = MappingTextPack.load();\r\n\r\n return Promise.all([mapping]).then(\r\n function (results) {\r\n return new TextPacks(results[0]);\r\n }\r\n )\r\n }\r\n}","import { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\r\nimport { IWmsLayerGroupConfig } from \"esdm-map/dist/layers/groups/wms/interfaces/IWmsLayerGroupConfig\";\r\nimport { WfsParamSourceMapServer, IWfsParamSource, WfsBboxAsWktRequestParams } from \"esdm-map/dist/layers/vector/sources/wfs\";\r\nimport { VectorLayerStrategy } from \"esdm-map/dist/layers/vector/VectorLayerStrategy\";\r\nimport { LhlpRecordSubType, LhlpRecordType } from \"../defs/LhlpRecordType\";\r\nimport { LhlpMapConfig } from \"../defs/LhlpMapConfig\";\r\nimport { type } from \"jquery\";\r\nimport { ZoomToDataBounds } from \"esdm-map/dist/layers/vector/ZoomToDataBounds\";\r\n\r\nexport class DefaultLayerConfigurationFactory {\r\n\r\n private mapServerProxyUrl: string = \"/api/MapServer/lhlp\";\r\n private ogcProxyUrl: string = \"/api/OgcService/NHLE\";\r\n private siteId: string;\r\n private siteFolder: string;\r\n private mapConfig: LhlpMapConfig;\r\n \r\n private paramSource3857(): IWfsParamSource {\r\n return new WfsParamSourceMapServer(new WfsBboxAsWktRequestParams(), {\r\n srsName: \"EPSG:3857\"\r\n }); \r\n }\r\n\r\n constructor(siteid: string, sitefolder: string, mapconfig: LhlpMapConfig) {\r\n this.siteId = siteid;\r\n this.siteFolder = sitefolder;\r\n if(this.siteFolder!='') { // the URLs to the proxies must be on the tenant site for the claims to work properly\r\n this.mapServerProxyUrl = '/' + this.siteFolder + this.mapServerProxyUrl;\r\n this.ogcProxyUrl = '/' + this.siteFolder + this.ogcProxyUrl;\r\n }\r\n this.mapConfig = mapconfig;\r\n }\r\n\r\n public layerConfig = (\r\n recordType: LhlpRecordType,\r\n recordSubType: LhlpRecordSubType = null,\r\n opts: IVectorLayerGroupConfig = {},\r\n isPublic: boolean = false,\r\n assetId: number = 0\r\n ): IVectorLayerGroupConfig | IWmsLayerGroupConfig =>\r\n {\r\n let layerConfig: IVectorLayerGroupConfig = null;\r\n\r\n if (recordSubType !== null) {\r\n\r\n switch (recordSubType) {\r\n\r\n case LhlpRecordSubType.AssetTypeBuilding:\r\n layerConfig = this.AssetTypeBuilding(opts, isPublic);\r\n break;\r\n \r\n case LhlpRecordSubType.AssetTypeParkOrGarden:\r\n layerConfig = this.AssetTypeParkOrGarden(opts, isPublic);\r\n break;\r\n \r\n case LhlpRecordSubType.AssetTypeLandmarkOrArtwork:\r\n layerConfig = this.AssetTypeLandmarkOrArtwork(opts, isPublic);\r\n break;\r\n \r\n case LhlpRecordSubType.AssetTypeOtherSiteStructure:\r\n layerConfig = this.AssetTypeOtherSiteStructure(opts, isPublic);\r\n break; \r\n\r\n case LhlpRecordSubType.ListedBuilding:\r\n layerConfig = this.ListedBuilding(opts);\r\n break;\r\n\r\n case LhlpRecordSubType.ScheduledMonument:\r\n layerConfig = this.ScheduledMonument(opts);\r\n break; \r\n \r\n case LhlpRecordSubType.RegisteredParkAndGarden:\r\n layerConfig = this.RegisteredParkAndGarden(opts);\r\n break; \r\n\r\n case LhlpRecordSubType.Battlefield:\r\n layerConfig = this.Battlefield(opts);\r\n break; \r\n\r\n case LhlpRecordSubType.ProtectedWreck:\r\n layerConfig = this.ProtectedWreck(opts);\r\n break; \r\n\r\n case LhlpRecordSubType.WorldHeritageSite:\r\n layerConfig = this.WorldHeritageSite(opts);\r\n break;\r\n }\r\n }\r\n\r\n if(layerConfig === null) {\r\n \r\n switch (recordType) { \r\n case LhlpRecordType.LocalListArea:\r\n layerConfig = this.LocalListArea(opts);\r\n break;\r\n\r\n case LhlpRecordType.LocalListSubAreas:\r\n layerConfig = this.LocalListSubAreas(opts);\r\n break;\r\n\r\n case LhlpRecordType.ASSET:\r\n layerConfig = this.Asset(opts, recordSubType, assetId);\r\n }\r\n }\r\n\r\n return layerConfig;\r\n }\r\n\r\n public rootSiteLayerConfig = (\r\n recordType: LhlpRecordType,\r\n recordSubType: LhlpRecordSubType = null,\r\n opts: IVectorLayerGroupConfig = {}\r\n ): IVectorLayerGroupConfig | IWmsLayerGroupConfig =>\r\n {\r\n let layerConfig: IVectorLayerGroupConfig = null;\r\n\r\n if (recordSubType !== null) {\r\n\r\n switch (recordSubType) {\r\n\r\n case LhlpRecordSubType.AssetTypeBuilding:\r\n layerConfig = this.AssetTypeBuildingAll(opts);\r\n break;\r\n \r\n case LhlpRecordSubType.AssetTypeParkOrGarden:\r\n layerConfig = this.AssetTypeParkOrGardenAll(opts);\r\n break;\r\n \r\n case LhlpRecordSubType.AssetTypeLandmarkOrArtwork:\r\n layerConfig = this.AssetTypeLandmarkOrArtworkAll(opts);\r\n break;\r\n \r\n case LhlpRecordSubType.AssetTypeOtherSiteStructure:\r\n layerConfig = this.AssetTypeOtherSiteStructureAll(opts);\r\n break;\r\n }\r\n }\r\n\r\n if(layerConfig === null) {\r\n \r\n switch (recordType) { \r\n case LhlpRecordType.LocalListArea:\r\n layerConfig = this.LocalListAreaAll(opts);\r\n break;\r\n\r\n case LhlpRecordType.LocalListSubAreas:\r\n layerConfig = this.LocalListSubAreasAll(opts);\r\n break;\r\n }\r\n }\r\n\r\n return layerConfig;\r\n }\r\n\r\n private Asset = (opts: IVectorLayerGroupConfig, subType: LhlpRecordSubType, assetId: number): IVectorLayerGroupConfig => {\r\n\r\n return {\r\n ...{\r\n displayName: \"Selected Asset\",\r\n ref: \"SelectAssetRecord\",\r\n type: LhlpRecordType.ASSET,\r\n subType: subType,\r\n strategy: VectorLayerStrategy.All,\r\n zoomToDataBounds: ZoomToDataBounds.Always, \r\n url: this.mapServerProxyUrl,\r\n legend: { polygon: true, line: false },\r\n visibleOnLoad: true,\r\n queryable:false,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n restrictMapExtentToDataBounds: false,\r\n urlParams: {\r\n assetId: assetId\r\n }, \r\n layers: [\r\n {\r\n layerName: \"AssetPointsById\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AssetPolygonsById\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n //this one currently won't work as map server is configured to want an asset type\r\n private Assets = (opts: IVectorLayerGroupConfig, isPublic: boolean = false): IVectorLayerGroupConfig => {\r\n let ispublic: string = isPublic?\"Public\":\"\";\r\n return {\r\n ...{\r\n displayName: \"Assets\",\r\n ref: \"Assets\" + ispublic,\r\n type: LhlpRecordType.ASSET,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.NotSet,\r\n isPublic: isPublic?1:0,\r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n legend: { polygon: false, line: false },\r\n visibleOnFirstLoad: false,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AssetPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n } \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private MakeAssetLayerTitleWithHelp = (subType: LhlpRecordSubType): string => { \r\n let displayName: string = \"Undefined in database?\";\r\n for(let typeStyle of this.mapConfig.TypeStyles) {\r\n if(typeStyle.TypeId == subType) {\r\n let layerName: string = typeStyle.LayerName;\r\n if(layerName) displayName = layerName; //override displayName if provided\r\n let layerHelpText: string = typeStyle.LayerHelpText;\r\n let layerHelpUrl: string = typeStyle.LayerHelpUrl;\r\n if(layerHelpText) {\r\n let helpIcon: string = ' ';\r\n displayName += helpIcon;\r\n }\r\n break;\r\n }\r\n } \r\n return \"\" + displayName + \"\";\r\n }\r\n\r\n private AssetTypeBuilding = (opts: IVectorLayerGroupConfig, isPublic: boolean = false): IVectorLayerGroupConfig => {\r\n let ispublic: string = isPublic?\"Public\":\"\"; \r\n let displayName: string = this.MakeAssetLayerTitleWithHelp(LhlpRecordSubType.AssetTypeBuilding);\r\n return {\r\n ...{\r\n displayName: displayName,\r\n ref: \"AssetTypeBuilding\" + ispublic,\r\n type: LhlpRecordType.ASSET,\r\n subType: LhlpRecordSubType.AssetTypeBuilding,\r\n strategy: VectorLayerStrategy.All, //Bbox strategy stopped working for some reason...\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.AssetTypeBuilding,\r\n isPublic: isPublic?1:0,\r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n legend: { polygon: true, line: false },\r\n visibleOnFirstLoad: true,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AssetPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private AssetTypeParkOrGarden = (opts: IVectorLayerGroupConfig, isPublic: boolean = false): IVectorLayerGroupConfig => {\r\n let ispublic: string = isPublic?\"Public\":\"\";\r\n let displayName: string = this.MakeAssetLayerTitleWithHelp(LhlpRecordSubType.AssetTypeParkOrGarden);\r\n return {\r\n ...{\r\n displayName: displayName,\r\n ref: \"AssetTypeParkOrGarden\" + ispublic,\r\n type: LhlpRecordType.ASSET,\r\n subType: LhlpRecordSubType.AssetTypeParkOrGarden,\r\n strategy: VectorLayerStrategy.All,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.AssetTypeParkOrGarden,\r\n isPublic: isPublic?1:0,\r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n legend: { polygon: true, line: false },\r\n visibleOnFirstLoad: true,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AssetPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }, \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private AssetTypeLandmarkOrArtwork = (opts: IVectorLayerGroupConfig, isPublic: boolean = false): IVectorLayerGroupConfig => {\r\n let ispublic: string = isPublic?\"Public\":\"\";\r\n let displayName: string = this.MakeAssetLayerTitleWithHelp(LhlpRecordSubType.AssetTypeLandmarkOrArtwork);\r\n return {\r\n ...{\r\n displayName: displayName,\r\n ref: \"AssetTypeLandmarkOrArtwork\" + ispublic,\r\n type: LhlpRecordType.ASSET,\r\n subType: LhlpRecordSubType.AssetTypeLandmarkOrArtwork,\r\n strategy: VectorLayerStrategy.All,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.AssetTypeLandmarkOrArtwork,\r\n isPublic: isPublic?1:0,\r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n legend: { polygon: true, line: false },\r\n visibleOnFirstLoad: true,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AssetPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }, \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private AssetTypeOtherSiteStructure = (opts: IVectorLayerGroupConfig, isPublic: boolean = false): IVectorLayerGroupConfig => {\r\n let ispublic: string = isPublic?\"Public\":\"\";\r\n let displayName: string = this.MakeAssetLayerTitleWithHelp(LhlpRecordSubType.AssetTypeOtherSiteStructure);\r\n return {\r\n ...{\r\n displayName: displayName,\r\n ref: \"AssetTypeOtherSiteStructure\" + ispublic,\r\n type: LhlpRecordType.ASSET,\r\n subType: LhlpRecordSubType.AssetTypeOtherSiteStructure,\r\n strategy: VectorLayerStrategy.All,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.AssetTypeOtherSiteStructure,\r\n isPublic: isPublic?1:0,\r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n legend: { polygon: true, line: false },\r\n visibleOnFirstLoad: true,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AssetPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }, \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private LocalListSubAreas = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: this.mapConfig.SubAreaLayerTitle,\r\n ref: \"LocalListSubAreas\",\r\n type: LhlpRecordType.LocalListSubAreas,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n visibleOnFirstLoad: false,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"ProjectSubAreaPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private LocalListArea = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Local List Area\",\r\n ref: \"LocalListArea\",\r\n type: LhlpRecordType.LocalListArea,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n visibleOnFirstLoad: true,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"ProjectAreaPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n\r\n //******************************************************************************************************************************** */\r\n //ROOT SITE MAP LAYERS - providing an overview of all project areas and assets\r\n\r\n private AssetTypeBuildingAll = (opts: IVectorLayerGroupConfig): IVectorLayerGroupConfig => { \r\n let displayName: string = this.MakeAssetLayerTitleWithHelp(LhlpRecordSubType.AssetTypeBuilding);\r\n return {\r\n ...{\r\n displayName: displayName,\r\n ref: \"AssetTypeBuildingAll\",\r\n type: LhlpRecordType.ASSET,\r\n subType: LhlpRecordSubType.AssetTypeBuilding,\r\n strategy: VectorLayerStrategy.All, //Bbox strategy stopped working for some reason...\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.AssetTypeBuilding\r\n },\r\n legend: { polygon: true, line: false },\r\n visibleOnFirstLoad: true,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AllListedAssetPolygons\",\r\n minZoom: 11,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AllListedAssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }, \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private AssetTypeParkOrGardenAll = (opts: IVectorLayerGroupConfig): IVectorLayerGroupConfig => {\r\n let displayName: string = this.MakeAssetLayerTitleWithHelp(LhlpRecordSubType.AssetTypeParkOrGarden);\r\n return {\r\n ...{\r\n displayName: displayName,\r\n ref: \"AssetTypeParkOrGardenAll\",\r\n type: LhlpRecordType.ASSET,\r\n subType: LhlpRecordSubType.AssetTypeParkOrGarden,\r\n strategy: VectorLayerStrategy.All,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.AssetTypeParkOrGarden\r\n },\r\n legend: { polygon: true, line: false },\r\n visibleOnFirstLoad: true,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AllListedAssetPolygons\",\r\n minZoom: 11,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AllListedAssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }, \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private AssetTypeLandmarkOrArtworkAll = (opts: IVectorLayerGroupConfig): IVectorLayerGroupConfig => {\r\n let displayName: string = this.MakeAssetLayerTitleWithHelp(LhlpRecordSubType.AssetTypeLandmarkOrArtwork);\r\n return {\r\n ...{\r\n displayName: displayName,\r\n ref: \"AssetTypeLandmarkOrArtworkAll\",\r\n type: LhlpRecordType.ASSET,\r\n subType: LhlpRecordSubType.AssetTypeLandmarkOrArtwork,\r\n strategy: VectorLayerStrategy.All,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.AssetTypeLandmarkOrArtwork\r\n },\r\n legend: { polygon: true, line: false },\r\n visibleOnFirstLoad: true,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AllListedAssetPolygons\",\r\n minZoom: 11,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AllListedAssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }, \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private AssetTypeOtherSiteStructureAll = (opts: IVectorLayerGroupConfig): IVectorLayerGroupConfig => {\r\n let displayName: string = this.MakeAssetLayerTitleWithHelp(LhlpRecordSubType.AssetTypeOtherSiteStructure);\r\n return {\r\n ...{\r\n displayName: displayName,\r\n ref: \"AssetTypeOtherSiteStructureAll\",\r\n type: LhlpRecordType.ASSET,\r\n subType: LhlpRecordSubType.AssetTypeOtherSiteStructure,\r\n strategy: VectorLayerStrategy.All,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n assetTypeId: LhlpRecordSubType.AssetTypeOtherSiteStructure,\r\n },\r\n legend: { polygon: true, line: false },\r\n visibleOnFirstLoad: true,\r\n wfsParams: this.paramSource3857(),\r\n useWfsBboxRequestParameter: false,\r\n layers: [\r\n {\r\n layerName: \"AllListedAssetPolygons\",\r\n minZoom: 11,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"AllListedAssetPoints\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }, \r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private LocalListSubAreasAll = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: this.mapConfig.SubAreaLayerTitle,\r\n ref: \"LocalListSubAreasAll\",\r\n type: LhlpRecordType.LocalListSubAreas,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n visibleOnFirstLoad: false,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"SubAreaPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private LocalListAreaAll = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Local List Area\",\r\n ref: \"LocalListAreaAll\",\r\n type: LhlpRecordType.LocalListArea,\r\n url: this.mapServerProxyUrl,\r\n urlParams: { \r\n siteId: this.siteId,\r\n siteFolder: this.siteFolder\r\n },\r\n visibleOnFirstLoad: true,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"AreaPolygons\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n\r\n\r\n //******************************************************************************************************************************** */\r\n //NHLE Layers\r\n private MakeNHLELayerTitleWithHelp = (layerName: string, layerHelpUrl: string): string => { \r\n let displayName: string = layerName;\r\n let layerHelpText: string = layerName + \" are legally protected through their inclusion on the National Heritage List for England (NHLE)\";\r\n let helpIcon: string = ' ';\r\n displayName += helpIcon;\r\n return \"\" + displayName + \"\";\r\n }\r\n\r\n private ListedBuilding = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: this.MakeNHLELayerTitleWithHelp(\r\n \"Listed Buildings\", \r\n \"https://historicengland.org.uk/listing/what-is-designation/listed-buildings/\"\r\n ),\r\n ref: \"ListedBuildings\",\r\n type: LhlpRecordType.NHLE,\r\n subType: LhlpRecordSubType.ListedBuilding,\r\n url: this.ogcProxyUrl,\r\n visibleOnFirstLoad: false,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"ListedBuildings\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private ScheduledMonument = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: this.MakeNHLELayerTitleWithHelp(\r\n \"Scheduled Monuments\", \r\n \"https://historicengland.org.uk/listing/what-is-designation/scheduled-monuments/\"\r\n ),\r\n ref: \"ScheduledMonuments\",\r\n type: LhlpRecordType.NHLE,\r\n subType: LhlpRecordSubType.ScheduledMonument,\r\n url: this.ogcProxyUrl,\r\n visibleOnFirstLoad: false,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"ScheduledMonuments\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n \r\n private RegisteredParkAndGarden = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: this.MakeNHLELayerTitleWithHelp(\r\n \"Parks and Gardens\", \r\n \"https://historicengland.org.uk/listing/what-is-designation/registered-parks-and-gardens/\"\r\n ),\r\n ref: \"ParksandGardens\",\r\n type: LhlpRecordType.NHLE,\r\n subType: LhlpRecordSubType.RegisteredParkAndGarden,\r\n url: this.ogcProxyUrl,\r\n visibleOnFirstLoad: false,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"ParksandGardens\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private Battlefield = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: this.MakeNHLELayerTitleWithHelp(\r\n \"Battlefields\",\r\n \"https://historicengland.org.uk/listing/what-is-designation/registered-battlefields/\"\r\n ),\r\n ref: \"Battlefields\",\r\n type: LhlpRecordType.NHLE,\r\n subType: LhlpRecordSubType.Battlefield,\r\n url: this.ogcProxyUrl,\r\n visibleOnFirstLoad: false,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"Battlefields\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private ProtectedWreck = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: this.MakeNHLELayerTitleWithHelp(\r\n \"Protected Wrecks\",\r\n \"https://historicengland.org.uk/listing/what-is-designation/protected-wreck-sites/\"\r\n ),\r\n ref: \"ProtectedWrecks\",\r\n type: LhlpRecordType.NHLE,\r\n subType: LhlpRecordSubType.ProtectedWreck,\r\n url: this.ogcProxyUrl,\r\n visibleOnFirstLoad: false,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"ProtectedWrecks\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private MakeWorldHeritageLayerTitleWithHelp = (layerName: string, layerHelpUrl: string): string => { \r\n let displayName: string = layerName;\r\n let layerHelpText: string = \"World Heritage Sites are legally protected through their inclusion on the World Heritage List.\";\r\n let helpIcon: string = ' ';\r\n displayName += helpIcon;\r\n return \"\" + displayName + \"\";\r\n }\r\n\r\n private WorldHeritageSite = (opts: IWmsLayerGroupConfig): IWmsLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: this.MakeWorldHeritageLayerTitleWithHelp(\r\n \"World Heritage Sites\",\r\n \"https://whc.unesco.org/\"\r\n ),\r\n ref: \"WorldHeritageSites\",\r\n type: LhlpRecordType.NHLE,\r\n subType: LhlpRecordSubType.WorldHeritageSite,\r\n url: this.ogcProxyUrl,\r\n visibleOnFirstLoad: false,\r\n info_format: \"text/html\",\r\n layers: [\r\n {\r\n layerName: \"WorldHeritageSites\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n}\r\n\r\n","import {\r\n BaseLayer,\r\n MapOptions\r\n} from \"esdm-map/dist\";\r\nimport { BaseLayerType } from \"esdm-map/dist/baselayers/BaseLayerType\";\r\nimport { MapSettings } from \"../defs/MapSettings\";\r\nimport { LhlpBaseLayers } from \"../Layers/LhlpBaseLayerFactory\";\r\n\r\nimport { boundingExtent } from 'ol/extent';\r\nimport { TenantSettingsBaseLayerResolver } from \"../Layers/TenantSettingsBaseLayerResolver\";\r\n\r\nexport class DefaultMapOptions {\r\n\r\n //needed for base layer reprojection\r\n //static OS_extent = boundingExtent([-841259.18, 6405988.48, 404314.68, 8733289.16]);\r\n\r\n public static GetDefaultOptions(\r\n mapElementId: string,\r\n mapStoreKey: string,\r\n mapSettings: MapSettings\r\n ): MapOptions { \r\n\r\n if (mapSettings != null) {\r\n let resolver = new TenantSettingsBaseLayerResolver(mapSettings);\r\n let baseLayers: BaseLayerType[] = resolver.getBaseLayerTypes();\r\n\r\n let opt = new MapOptions();\r\n opt.baseMaps = baseLayers;\r\n opt.defaultBaseMap = baseLayers[0];\r\n opt.enableBoundsTracking = true;\r\n opt.mapElementId = mapElementId;\r\n opt.mapStoreKey = mapStoreKey;\r\n\r\n opt.bingApiKey = mapSettings.BingApiKey;\r\n opt.esdmOsmApiKey = mapSettings.EsdmOsmApiKey;\r\n opt.mapCentre = mapSettings.GetCentre();\r\n opt.mapZoom = mapSettings.MapZoom;\r\n opt.minZoom = mapSettings.MinZoom;\r\n opt.maxZoom = mapSettings.MaxZoom;\r\n opt.extent = mapSettings.GetExtents(); \r\n\r\n opt.displayProjection = \"EPSG:3857\";\r\n opt.dataProjection = \"EPSG:3857\";\r\n opt.dragRotateAndZoom = false;\r\n opt.maxZoomToBounds = 15;\r\n opt.zoomToNearestBounds = false;\r\n return opt;\r\n }\r\n\r\n return null; \r\n }\r\n\r\n}","export class LhlpMapConfig {\r\n public StatusStyles: Array; \r\n public TypeStyles: Array;\r\n\r\n public SubAreaLayerTitle: string;\r\n\r\n public CreateAssetUrl: string;\r\n public EditAssetPointUrl: string;\r\n public EditAssetPolygonUrl: string;\r\n\r\n public constructor() {\r\n this.StatusStyles = [ new LhlpStatusLookup() ];\r\n this.TypeStyles = [ new LhlpTypeLookup() ];\r\n }\r\n}\r\n\r\nexport class LhlpStatusLookup {\r\n public StatusId: string;\r\n public StatusColour: string;\r\n}\r\n\r\nexport class LhlpTypeLookup {\r\n public TypeId: string;\r\n public TypeCharacter: string;\r\n public LayerName: string;\r\n public LayerHelpText: string;\r\n public LayerHelpUrl: string;\r\n}","\r\nexport enum LhlpRecordType {\r\n //NHLE\r\n NHLE = \"nhle\",\r\n //LHLP\r\n ASSET = \"asset\",\r\n LocalListArea = \"LocalListArea\",\r\n LocalListSubAreas = \"LocalListSubAreas\",\r\n} \r\n\r\nexport enum LhlpRecordSubType {\r\n NotSet = \"\",\r\n //NHLE\r\n Battlefield = \"Battlefields\",\r\n ListedBuilding = \"ListedBuildings\",\r\n RegisteredParkAndGarden = \"ParksandGardens\",\r\n ProtectedWreck = \"ProtectedWrecks\",\r\n ScheduledMonument = \"ScheduledMonuments\",\r\n WorldHeritageSite = \"WorldHeritageSites\",\r\n //LHLP\r\n AssetTypeBuilding = \"1\",\r\n AssetTypeParkOrGarden = \"2\",\r\n AssetTypeLandmarkOrArtwork = \"3\",\r\n AssetTypeOtherSiteStructure = \"4\",\r\n} \r\n","import { MapSettings } from \"./MapSettings\";\r\n\r\nexport interface ILhlpTenantSettingsFactory {\r\n GetSettings(): LhlpTenantSettings;\r\n}\r\n\r\nexport class LhlpTenantSettingsFactory implements ILhlpTenantSettingsFactory {\r\n\r\n public GetSettings(): LhlpTenantSettings {\r\n var s = $(\"#tenantSettings\").data(\"tenantSettings\");\r\n\r\n if (s) { \r\n return new LhlpTenantSettings(s);\r\n }\r\n\r\n console.error(\"Tenant settings not found\");\r\n return null;\r\n }\r\n}\r\n\r\nexport class LhlpTenantSettings {\r\n public MapSettings: MapSettings;\r\n\r\n public constructor(obj) { \r\n this.MapSettings = Object.assign(new MapSettings(), obj[\"MapSettings\"]);\r\n }\r\n}\r\n","export class LhlpIdentity {\r\n\r\n public static fetch(): Promise {\r\n return new Promise(\r\n function (resolve, reject) {\r\n\r\n let target: string = \"api/identity/get\";\r\n\r\n // jk - finding endpoint by above relative URL was failing for tenants under some circumstances\r\n let ele = $(\"#theMap\");\r\n if (ele.length === 1) {\r\n let siteFolder: string = ele.data(\"site-folder\");\r\n if (siteFolder.length > 0) {\r\n target = `/${siteFolder}/${target}`;\r\n }\r\n }\r\n\r\n $.getJSON(target, function (response) {\r\n resolve(response);\r\n }).fail(function () {\r\n resolve(null);\r\n });\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport class LhlpUser {\r\n public userId: string;\r\n public roles: Array;\r\n}","export class MapSettings {\r\n public MapCentreEasting: number;\r\n public MapCentreNorthing: number;\r\n public MinZoom: number;\r\n public MaxZoom: number;\r\n public MapZoom: number;\r\n public ExtentMinX: number;\r\n public ExtentMinY: number;\r\n public ExtentMaxX: number;\r\n public ExtentMaxY: number;\r\n public BingApiKey: string;\r\n public EsdmOsmApiKey: string;\r\n public GazetteerApiKey: string;\r\n public BaseMaps: BaseMap[];\r\n public OtherMapWMSLayers: Layer[];\r\n\r\n public GetExtents(): [number, number, number, number] {\r\n return [this.ExtentMinX, this.ExtentMinY, this.ExtentMaxX, this.ExtentMaxY];\r\n }\r\n\r\n public GetCentre(): [number, number] {\r\n return [this.MapCentreEasting, this.MapCentreNorthing];\r\n }\r\n}\r\n\r\nexport class BaseMap {\r\n public Order: number;\r\n public BaseMapType: string;\r\n}\r\n\r\nexport class Layer { \r\n public WMSURL: string;\r\n public LayerName: string;\r\n public WMSServerLayerNamesCSV: string;\r\n public HelpLinkURL: string;\r\n}","import {\r\n IRecordTypeFeatureInfoClick,\r\n RecordTypeResource,\r\n IRecordTypeHeading, \r\n IMappingTextPack\r\n} from \"esdm-map\";\r\nimport { ILayerGroup } from \"esdm-map/dist/layers/groups/ILayerGroup\";\r\nimport { LhlpRecordType } from \"../defs/LhlpRecordType\";\r\n\r\n\r\nlet headingConfiguration = (): Array => {\r\n let items = new Array();\r\n\r\n items.push({\r\n recordTypeCode: LhlpRecordType.NHLE,\r\n recordSubTypeCode: null,\r\n heading: \"Monuments\"\r\n }); \r\n \r\n\r\n return items;\r\n}\r\n\r\nexport class LhlpRecordTypeResource extends RecordTypeResource {\r\n\r\n public constructor(\r\n private _mappingTextPack: IMappingTextPack,\r\n ) {\r\n super(headingConfiguration());\r\n }\r\n\r\n public groupByRecordSubTypeCode(recordTypeCode: string): boolean {\r\n return false\r\n } \r\n\r\n\r\n public mapToIRecordTypeInfoClick(featureProperties: any, layerGroup: ILayerGroup): IRecordTypeFeatureInfoClick \r\n { \r\n return {\r\n id: \"\",\r\n uid: featureProperties.uid,\r\n ref: featureProperties.ref,\r\n name: featureProperties.name,\r\n recordType: featureProperties.rectype,\r\n recordSubType: featureProperties.recsubtype,\r\n recordSubTypeCode: featureProperties.recsubtypecode,\r\n data: featureProperties,\r\n heading: this.getHeading(featureProperties.rectype, featureProperties.recsubtypecode),\r\n layerGroup: layerGroup\r\n }\r\n }\r\n\r\n public getInfoClickHtmlTemplate(recordTypeInfoClick: IRecordTypeFeatureInfoClick): string \r\n { \r\n let html: string = \"\";\r\n let featurePropertyNameForId = \"uid\";\r\n let layerType: string = recordTypeInfoClick.layerGroup.layerType;\r\n\r\n //add controller (or any arbitrary data) to the data object\r\n switch (recordTypeInfoClick.recordType.toLowerCase()) {\r\n case \"asset\": \r\n recordTypeInfoClick.data.controller = \"asset\"; \r\n break; \r\n } \r\n html = `\r\n
  • \r\n \r\n  \r\n \r\n [name] \r\n \r\n \r\n \r\n \r\n
  • `;\r\n\r\n return html;\r\n }\r\n\r\n \r\n}","import { IResourceFactory, IRecordTypeResource, IMappingTextPack } from \"esdm-map\";\r\nimport { LhlpRecordTypeResource } from \"./LhlpRecordTypeResource\";\r\n\r\n\r\n\r\nexport class LhlpResourcefactory implements IResourceFactory {\r\n\r\n public constructor(\r\n private _mappingTextPack: IMappingTextPack\r\n ) {\r\n }\r\n\r\n public getRecordTypeResource(): IRecordTypeResource {\r\n return new LhlpRecordTypeResource(this._mappingTextPack);\r\n }\r\n\r\n}\r\n\r\n","import { IStyleFactory } from \"esdm-map/dist/layers/vector/styles/IStyleFactory\";\r\nimport Feature from \"ol/Feature\";\r\nimport Style, { StyleFunction } from \"ol/style/Style\";\r\nimport Fill from 'ol/style/Fill';\r\nimport Circle from 'ol/style/Circle';\r\nimport Stroke from 'ol/style/Stroke';\r\nimport RegularShape from 'ol/style/RegularShape';\r\nimport Text from 'ol/style/Text';\r\nimport * as olHas from 'ol/has';\r\nimport { LhlpRecordSubType, LhlpRecordType } from \"../defs/LhlpRecordType\";\r\nimport { LhlpMapConfig, LhlpStatusLookup, LhlpTypeLookup } from \"../defs/LhlpMapConfig\";\r\n\r\nexport class LhlpStyleFactory implements IStyleFactory {\r\n\r\n private mapConfig: LhlpMapConfig;\r\n\r\n constructor(mapconfig: LhlpMapConfig) {\r\n this.mapConfig = mapconfig;\r\n }\r\n\r\n public getStyle(recordType: LhlpRecordType, recordSubType: LhlpRecordSubType = null): (Style | Style[] | StyleFunction) {\r\n\r\n let style: (Style | Style[] | StyleFunction) = null;\r\n\r\n if(recordType === LhlpRecordType.ASSET) {\r\n return this.setAssetDynamicStyle(recordSubType); //returns a style function\r\n }\r\n\r\n //try and resolve sub type\r\n switch (recordSubType) {\r\n case LhlpRecordSubType.Battlefield:\r\n style = this.ConservationArea();\r\n break;\r\n\r\n case LhlpRecordSubType.ListedBuilding:\r\n style = this.ListedBuilding();\r\n break;\r\n\r\n case LhlpRecordSubType.ScheduledMonument:\r\n style = this.ScheduledMonument();\r\n break;\r\n\r\n case LhlpRecordSubType.RegisteredParkAndGarden:\r\n style = this.RegisteredParksAndGardens();\r\n break;\r\n\r\n case LhlpRecordSubType.ProtectedWreck:\r\n style = this.AreasArchaeologicalImportance();\r\n break;\r\n\r\n case LhlpRecordSubType.WorldHeritageSite:\r\n style = this.AreasArchaeologicalImportance();\r\n break;\r\n\r\n }\r\n\r\n return style;\r\n }\r\n\r\n public getSelectedStyle(\r\n recordType: LhlpRecordType = LhlpRecordType.NHLE,\r\n recordSubType: LhlpRecordSubType = null\r\n ): (Style | Style[] | StyleFunction)\r\n { \r\n return this.SelectedRecord();\r\n }\r\n\r\n private setAssetDynamicStyle(featureSubType: LhlpRecordSubType): StyleFunction {\r\n \r\n let stylesConfig: LhlpMapConfig = this.mapConfig;\r\n\r\n return function(feature: Feature) {\r\n\r\n let featureStatus: string = feature.get('asset_status_id');\r\n if(typeof(featureStatus) == 'undefined') featureStatus = \"0\"; //get the default colour of listed features \r\n let iconChr: string = '\\uf60e';\r\n let iconColour: string = '#F00000';\r\n let siteListedColour: string = '#000000';\r\n\r\n let featureGeometryType: string = feature.getGeometry().getType();\r\n\r\n let statusStyles: Array = stylesConfig.StatusStyles;\r\n let matchedStatus: boolean = false;\r\n if(statusStyles !== null) {\r\n for(let statusStyle of statusStyles) {\r\n if(statusStyle.StatusId == '0') {\r\n siteListedColour = statusStyle.StatusColour;\r\n }\r\n if(statusStyle.StatusId === featureStatus) {\r\n iconColour = statusStyle.StatusColour;\r\n matchedStatus = true;\r\n break;\r\n }\r\n }\r\n if(!matchedStatus) iconColour = siteListedColour;\r\n }\r\n\r\n let typeStyles: Array = stylesConfig.TypeStyles;\r\n if(typeStyles !== null) {\r\n for(let typeStyle of typeStyles) {\r\n if(typeStyle.TypeId == featureSubType) {\r\n let c: string = typeStyle.TypeCharacter;\r\n iconChr = String.fromCharCode(parseInt(c));\r\n break;\r\n }\r\n }\r\n }\r\n\r\n let text = new Text({\r\n text: iconChr,\r\n font: '900 23px \"Font Awesome 6 Pro\"',\r\n textBaseline: 'bottom',\r\n offsetY: 11,\r\n fill: new Fill({\r\n color: iconColour,\r\n }),\r\n stroke: new Stroke({\r\n color: 'rgba(255,255,255,0.8)',\r\n width: 5,\r\n }),\r\n });\r\n\r\n if(featureGeometryType === 'Point' || featureGeometryType === 'MultiPoint') {\r\n return new Style({ text: text }) ;\r\n }\r\n //polygons\r\n return [\r\n new Style({\r\n stroke: new Stroke({\r\n color: iconColour,\r\n width: 3,\r\n }),\r\n fill: new Fill({\r\n color: iconColour + '20',\r\n }),\r\n }),\r\n ];\r\n }\r\n }\r\n \r\n private CommonStyle(fillColour: string): Style[] {\r\n var fill = new Fill({\r\n color: fillColour\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(255,255,255,1)',\r\n width: 3\r\n });\r\n\r\n return [\r\n new Style({\r\n image: new Circle({\r\n fill: fill,\r\n stroke: stroke,\r\n radius: 12\r\n }),\r\n fill: fill,\r\n stroke: stroke\r\n })\r\n ];\r\n }\r\n\r\n private Asset(): Style[] {\r\n //default\r\n var fill = new Fill({\r\n color: 'rgba(16, 16, 16, 0.6)'\r\n });\r\n var pointfill = new Fill({\r\n color: 'rgba(0, 0, 0, 0.9)'\r\n });\r\n var stroke = new Stroke({\r\n color: '#000000',\r\n width: 2\r\n });\r\n\r\n return [\r\n new Style({\r\n image: new RegularShape({\r\n fill: pointfill,\r\n stroke: stroke,\r\n points: 4,\r\n radius: 8,\r\n angle: Math.PI / 4,\r\n }),\r\n fill: fill,\r\n stroke: stroke\r\n })\r\n ];\r\n }\r\n\r\n private Event(): Style[] {\r\n var fill = new Fill({\r\n color: 'rgba(0, 0, 205, 0.5)'\r\n });\r\n var pointfill = new Fill({\r\n color: 'rgba(0, 0, 128, 0.9)'\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(0, 0, 128, 1)',\r\n width: 2\r\n });\r\n\r\n return [\r\n new Style({\r\n image: new RegularShape({\r\n fill: pointfill,\r\n stroke: stroke,\r\n points: 4,\r\n radius: 4,\r\n angle: Math.PI / 4,\r\n }),\r\n fill: fill,\r\n stroke: stroke\r\n })\r\n ];\r\n }\r\n\r\n private AreasArchaeologicalImportance(): Style[] {\r\n //return this.CommonStyle('rgba(239, 26, 28,0.5)'); \r\n // Generate a canvasPattern\r\n var canvas = document.createElement('canvas');\r\n var context = canvas.getContext('2d');\r\n var p = document.createElement('canvas');\r\n // Gradient and pattern are in canvas pixel space, so we adjust for the\r\n // renderer's pixel ratio\r\n var pixelRatio = olHas.DEVICE_PIXEL_RATIO;\r\n var pattern = (function () {\r\n canvas.width = 32 * pixelRatio;\r\n canvas.height = 16 * pixelRatio;\r\n // background\r\n context.fillStyle = \"rgba(239, 26, 28, 0.1)\";\r\n context.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n var x0 = 36;\r\n var x1 = -4;\r\n var y0 = -2;\r\n var y1 = 18;\r\n var offset = 32;\r\n\r\n context.strokeStyle = \"rgba(255, 0, 0, 1)\";\r\n context.lineWidth = 1;\r\n context.beginPath();\r\n context.moveTo(x0, y0);\r\n context.lineTo(x1, y1);\r\n context.moveTo(x0 - offset, y0);\r\n context.lineTo(x1 - offset, y1);\r\n context.moveTo(x0 + offset, y0);\r\n context.lineTo(x1 + offset, y1);\r\n context.stroke();\r\n\r\n context.fillStyle = context.createPattern(canvas, 'repeat');\r\n context.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n return context.createPattern(canvas, 'repeat');\r\n }());\r\n\r\n var fill = new Fill({\r\n color: 'rgba(239, 26, 28, 0.4)'\r\n });\r\n fill.setColor(pattern);\r\n\r\n var stroke = new Stroke({\r\n color: 'rgba(239, 26, 28, 1)',\r\n width: 2\r\n });\r\n\r\n return [new Style({\r\n image: new RegularShape({\r\n fill: new Fill({ color: 'rgba(239, 26, 28, 0.4)' }),\r\n stroke: stroke,\r\n points: 3,\r\n radius: 8,\r\n radius2: 4,\r\n angle: 0\r\n }),\r\n fill: fill,\r\n stroke: stroke\r\n })];\r\n }\r\n\r\n private ScheduledMonument(): Style[] {\r\n return [\r\n new Style({\r\n fill: new Fill({\r\n color: 'rgba(255, 0, 255, 0.6)'\r\n }),\r\n stroke: new Stroke({\r\n color: 'rgba(186, 85, 211, 1)',\r\n width: 2\r\n })\r\n })\r\n ];\r\n }\r\n\r\n private ListedBuilding(): Style[] {\r\n var fill = new Fill({\r\n color: 'rgba(255, 234, 0, 0.6)'\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(0, 0, 0, 1.0)',\r\n width: 2\r\n });\r\n var pointfill = new Fill({\r\n color: 'rgba(255, 234, 0, 0.6)'\r\n });\r\n return [new Style({\r\n image: new Circle({\r\n fill: pointfill,\r\n stroke: stroke,\r\n radius: 4\r\n }),\r\n fill: fill,\r\n stroke: stroke\r\n })];\r\n }\r\n\r\n\r\n private RegisteredParksAndGardens(): Style[] {\r\n return [\r\n new Style({\r\n fill: new Fill({\r\n color: 'rgba(0, 255, 0, 0.6)'\r\n }),\r\n stroke: new Stroke({\r\n color: 'rgba(50, 205, 50, 1)',\r\n width: 2\r\n })\r\n })\r\n ];\r\n }\r\n\r\n\r\n private ConservationArea(): Style[] {\r\n var fill = new Fill({\r\n color: 'rgba(135, 206, 235, 0.5)'\r\n });\r\n var pointfill = new Fill({\r\n color: 'rgba(135, 206, 235, 0.9)'\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(0, 191, 255, 1)',\r\n width: 2\r\n });\r\n\r\n return [\r\n new Style({\r\n image: new Circle({\r\n fill: pointfill,\r\n stroke: stroke,\r\n radius: 4\r\n }),\r\n fill: fill,\r\n stroke: stroke\r\n })\r\n ];\r\n }\r\n\r\n\r\n\r\n private SelectedRecord(): Style[] {\r\n var fill = new Fill({\r\n color: 'rgba(255, 255, 0, 0.5)'\r\n });\r\n\r\n return [\r\n new Style({\r\n image: new Circle({\r\n fill: fill,\r\n stroke: new Stroke({\r\n color: 'rgba(255, 173, 10, 1)',\r\n width: 3\r\n }),\r\n radius: 10\r\n }),\r\n fill: fill,\r\n stroke: new Stroke({\r\n color: 'rgba(255, 173, 10, 1)',\r\n width: 3\r\n })\r\n })\r\n ];\r\n }\r\n\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t301: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkapp\"] = self[\"webpackChunkapp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [216], () => (__webpack_require__(1769)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""}