{"version":3,"file":"monumentStructuredSearchMap.bundle.min.js","mappings":"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","sources":["webpack://app/webpack/runtime/chunk loaded","webpack://app/./Scripts/DefaultLayerConfigurationFactory.ts","webpack://app/./Scripts/DefaultMapOptions.ts","webpack://app/./Scripts/HbsmrRecordTypeResource.ts","webpack://app/./Scripts/HbsmrResourceFactory.ts","webpack://app/./Scripts/HbsmrStyleFactory.ts","webpack://app/./Scripts/HbsmrUser.ts","webpack://app/./Scripts/MapBase.ts","webpack://app/./Scripts/MonumentStructuredSearchMap.ts","webpack://app/./Scripts/TextPackLoader.ts","webpack://app/./Scripts/WesternIslesBaseMapping_27700.ts","webpack://app/./Scripts/WesternIslesRecordTypes.ts","webpack://app/external var \"bootstrap\"","webpack://app/webpack/bootstrap","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/startup"],"sourcesContent":["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};","import { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\r\nimport { WfsParamSourceMapServer, IWfsParamSource, WfsBboxAsWktRequestParams } from \"esdm-map/dist/layers/vector/sources/wfs\";\r\nimport { VectorLayerStrategy } from \"esdm-map/dist/layers/vector/VectorLayerStrategy\";\r\n\r\nimport { WesternIslesRecordType, WesternIslesRecordSubType } from \"./WesternIslesRecordTypes\";\r\n\r\nexport class DefaultLayerConfigurationFactory {\r\n\r\n private mapFileUrl: string = \"/api/MapServer/Hbsmr\";\r\n\r\n private paramSource(): IWfsParamSource {\r\n return new WfsParamSourceMapServer(new WfsBboxAsWktRequestParams(),{srsName: \"EPSG:27700\"});\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n public layerConfig = (\r\n recordType: WesternIslesRecordType,\r\n recordSubType: WesternIslesRecordSubType = null,\r\n opts: IVectorLayerGroupConfig = {}\r\n ): IVectorLayerGroupConfig => {\r\n let layerConfig: IVectorLayerGroupConfig = null;\r\n\r\n switch (recordType) {\r\n case WesternIslesRecordType.Monument:\r\n layerConfig = this.Monument(opts);\r\n break; \r\n\r\n case WesternIslesRecordType.Event:\r\n layerConfig = this.Event(opts);\r\n break; \r\n\r\n }\r\n\r\n if (layerConfig === null && recordSubType !== null) {\r\n switch (recordSubType) {\r\n\r\n case WesternIslesRecordSubType.ListedBuilding:\r\n layerConfig = this.ListedBuilding(opts);\r\n break;\r\n\r\n case WesternIslesRecordSubType.ScheduledMonument:\r\n layerConfig = this.ScheduledMonument(opts);\r\n break; \r\n \r\n case WesternIslesRecordSubType.DesignedLandscape:\r\n layerConfig = this.DesignedLandscape(opts);\r\n break; \r\n\r\n case WesternIslesRecordSubType.ConservationArea:\r\n layerConfig = this.ConservationArea(opts);\r\n break; \r\n\r\n case WesternIslesRecordSubType.HistoricBattlefield:\r\n layerConfig = this.HistoricBattlefield(opts);\r\n break; \r\n\r\n case WesternIslesRecordSubType.HistoricMarineProtectedArea:\r\n layerConfig = this.HistoricMarineProtectedArea(opts);\r\n break; \r\n }\r\n }\r\n\r\n return layerConfig;\r\n }\r\n\r\n private Monument = (\r\n opts: IVectorLayerGroupConfig\r\n ): IVectorLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Monuments\",\r\n ref: \"Monuments\",\r\n type: WesternIslesRecordType.Monument,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapFileUrl,\r\n wfsParams: this.paramSource(),\r\n maxFeatureCount: 2000,\r\n //legend: { point: false, line: false },\r\n visibleOnFirstLoad: false,\r\n alwaysLoadOnZoom: true,\r\n layers: [\r\n {\r\n layerName: \"MonumentPolygonsWFS\",\r\n minZoom: 7,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"MonumentLinesWFS\",\r\n minZoom: 7,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"MonumentPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"MonumentLinesAsPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 6\r\n },\r\n {\r\n layerName: \"MonumentPolygonsAsPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 6\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private Event = (\r\n opts: IVectorLayerGroupConfig\r\n ): IVectorLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Events\",\r\n ref: \"Events\",\r\n type: WesternIslesRecordType.Event,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapFileUrl,\r\n wfsParams: this.paramSource(),\r\n maxFeatureCount: 2000, \r\n visibleOnFirstLoad: false,\r\n alwaysLoadOnZoom: true,\r\n layers: [\r\n {\r\n layerName: \"EventPolygonsWFS\",\r\n minZoom: 7,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"EventLinesWFS\",\r\n minZoom: 7,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"EventPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"EventLinesAsPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 6\r\n },\r\n {\r\n layerName: \"EventPolygonsAsPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 6\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private ListedBuilding = (\r\n opts: IVectorLayerGroupConfig\r\n ): IVectorLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Listed Buildings\",\r\n ref: \"ListedBuildings\",\r\n type: WesternIslesRecordType.Designation,\r\n subType: WesternIslesRecordSubType.ListedBuilding,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapFileUrl,\r\n urlParams: { recsubtypecode: WesternIslesRecordSubType.ListedBuilding },\r\n wfsParams: this.paramSource(),\r\n maxFeatureCount: 10000,\r\n legend: { line: false,polygon:false },\r\n visibleOnFirstLoad: false,\r\n alwaysLoadOnZoom: true,\r\n layers: [\r\n {\r\n layerName: \"DesignationPolygonsWFS\",\r\n minZoom: 7,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"DesignationPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"DesignationPolygonsAsPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 6\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private ScheduledMonument = (\r\n opts: IVectorLayerGroupConfig\r\n ): IVectorLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Scheduled Monuments\",\r\n ref: \"ScheduledMonuments\",\r\n type: WesternIslesRecordType.Designation,\r\n subType: WesternIslesRecordSubType.ScheduledMonument,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapFileUrl,\r\n urlParams: { recsubtypecode: WesternIslesRecordSubType.ScheduledMonument },\r\n wfsParams: this.paramSource(),\r\n maxFeatureCount: 10000,\r\n legend: { line: false, point: false },\r\n visibleOnFirstLoad: false,\r\n alwaysLoadOnZoom: true,\r\n layers: [\r\n {\r\n layerName: \"DesignationPolygonsWFS\",\r\n minZoom: 7,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"DesignationPolygonsAsPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 6\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n \r\n private DesignedLandscape = (\r\n opts: IVectorLayerGroupConfig\r\n ): IVectorLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Designed Landscapes\",\r\n ref: \"DesignedLandscape\",\r\n type: WesternIslesRecordType.Designation,\r\n subType: WesternIslesRecordSubType.DesignedLandscape,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapFileUrl,\r\n urlParams: { recsubtypecode: WesternIslesRecordSubType.DesignedLandscape },\r\n wfsParams: this.paramSource(),\r\n maxFeatureCount: 10000,\r\n legend: { line: false, point: false },\r\n visibleOnFirstLoad: false,\r\n alwaysLoadOnZoom: true,\r\n layers: [\r\n {\r\n layerName: \"DesignationPolygonsWFS\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private HistoricBattlefield = (\r\n opts: IVectorLayerGroupConfig\r\n ): IVectorLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Historic Battlefields\",\r\n ref: \"HistoricBattlefield\",\r\n type: WesternIslesRecordType.Designation,\r\n subType: WesternIslesRecordSubType.HistoricBattlefield,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapFileUrl,\r\n urlParams: { recsubtypecode: WesternIslesRecordSubType.HistoricBattlefield },\r\n wfsParams: this.paramSource(),\r\n maxFeatureCount: 10000,\r\n legend: { line: false, point: false },\r\n visibleOnFirstLoad: false,\r\n alwaysLoadOnZoom: true,\r\n layers: [\r\n {\r\n layerName: \"DesignationPolygonsWFS\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private ConservationArea = (\r\n opts: IVectorLayerGroupConfig\r\n ): IVectorLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Conservation Areas\",\r\n ref: \"ConservationArea\",\r\n type: WesternIslesRecordType.Designation,\r\n subType: WesternIslesRecordSubType.ConservationArea,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapFileUrl,\r\n urlParams: { recsubtypecode: WesternIslesRecordSubType.ConservationArea },\r\n wfsParams: this.paramSource(),\r\n maxFeatureCount: 10000,\r\n legend: { line: false, point: false },\r\n visibleOnFirstLoad: false,\r\n alwaysLoadOnZoom: true,\r\n layers: [\r\n {\r\n layerName: \"ConservationAreaPolygonsWFS\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n }\r\n ]\r\n }, ...opts\r\n };\r\n }\r\n\r\n private HistoricMarineProtectedArea = (\r\n opts: IVectorLayerGroupConfig\r\n ): IVectorLayerGroupConfig => {\r\n return {\r\n ...{\r\n displayName: \"Historic Marine Protected Areas\",\r\n ref: \"HistoricMarineProtectedArea\",\r\n type: WesternIslesRecordType.Designation,\r\n subType: WesternIslesRecordSubType.HistoricMarineProtectedArea,\r\n strategy: VectorLayerStrategy.Bbox,\r\n url: this.mapFileUrl,\r\n urlParams: { recsubtypecode: WesternIslesRecordSubType.HistoricMarineProtectedArea },\r\n wfsParams: this.paramSource(),\r\n maxFeatureCount: 10000,\r\n legend: { line: false, point: false },\r\n visibleOnFirstLoad: false,\r\n alwaysLoadOnZoom: true,\r\n layers: [\r\n {\r\n layerName: \"DesignationPolygonsWFS\",\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","import {\r\n MapOptions\r\n} from \"esdm-map/dist\";\r\nimport { WesternIslesBaseLayerTypes } from \"./WesternIslesBaseMapping_27700\";\r\n\r\nexport class DefaultMapOptions {\r\n\r\n public static GetDefaultOptions(\r\n mapElementId: string,\r\n mapStoreKey: string\r\n ): MapOptions { \r\n\r\n let opt = new MapOptions(); \r\n opt.bingApiKey = $(`#${mapElementId}`).data(\"bing-api-key\");\r\n opt.esdmOsmApiKey = $(`#${mapElementId}`).data(\"esdm-osm-api-key\");\r\n opt.baseMaps = [WesternIslesBaseLayerTypes.WesternIslesOS] //[WesternIslesBaseLayerTypes.WesternIslesAerial, WesternIslesBaseLayerTypes.WesternIslesOS]; \r\n opt.defaultBaseMap = WesternIslesBaseLayerTypes.WesternIslesOS;\r\n opt.enableBoundsTracking = true;\r\n opt.zoomToNearestBounds = false;\r\n opt.maxZoomToBounds = 12;\r\n opt.mapElementId = mapElementId;\r\n opt.mapStoreKey = mapStoreKey;\r\n opt.mapZoom = 4;\r\n opt.minZoom = 4;\r\n opt.maxZoom = 15; \r\n\r\n opt.extent = [3000, 700000, 210137, 1100000];\r\n opt.mapCentre = [\r\n 105000, 887500\r\n ]; \r\n\r\n opt.displayProjection = \"EPSG:27700\";\r\n opt.dataProjection = \"EPSG:27700\";\r\n opt.dragRotateAndZoom = false; \r\n return opt;\r\n }\r\n\r\n}\r\n","import {\r\n WesternIslesRecordType,\r\n WesternIslesRecordSubType\r\n} from \"./WesternIslesRecordTypes\";\r\n\r\nimport {\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\n\r\n\r\nlet headingConfiguration = (): Array => {\r\n let items = new Array();\r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Monument,\r\n recordSubTypeCode: null,\r\n heading: \"Monuments\"\r\n });\r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Event,\r\n recordSubTypeCode: null,\r\n heading: \"Events\"\r\n });\r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Designation,\r\n recordSubTypeCode: null,\r\n heading: \"Designations\"\r\n });\r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Designation,\r\n recordSubTypeCode: WesternIslesRecordSubType.ListedBuilding,\r\n heading: \"Listed Buildings\"\r\n });\r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Designation,\r\n recordSubTypeCode: WesternIslesRecordSubType.DesignedLandscape,\r\n heading: \"Designed Landscapes\"\r\n });\r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Designation,\r\n recordSubTypeCode: WesternIslesRecordSubType.ScheduledMonument,\r\n heading: \"Scheduled Monuments\"\r\n }); \r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Designation,\r\n recordSubTypeCode: WesternIslesRecordSubType.ConservationArea,\r\n heading: \"Conservation Areas\"\r\n });\r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Designation, \r\n recordSubTypeCode: WesternIslesRecordSubType.HistoricBattlefield,\r\n heading: \"Historic Battlefields\"\r\n });\r\n\r\n items.push({\r\n recordTypeCode: WesternIslesRecordType.Designation,\r\n recordSubTypeCode: WesternIslesRecordSubType.HistoricMarineProtectedArea,\r\n heading: \"Historic Marine Protected Areas\"\r\n });\r\n \r\n return items;\r\n}\r\n\r\nexport class HbsmrRecordTypeResource 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 {\r\n return (recordTypeCode.toLowerCase() === WesternIslesRecordType.Designation); \r\n } \r\n\r\n public mapToIRecordTypeInfoClick(featureProperties: any, layerGroup: ILayerGroup): IRecordTypeFeatureInfoClick \r\n {\r\n if (layerGroup.layerSubType == WesternIslesRecordSubType.ConservationArea)\r\n return {\r\n id: featureProperties.Des_ref,\r\n uid: featureProperties.Des_ref,\r\n ref: featureProperties.Des_ref,\r\n name: featureProperties.Des_title,\r\n recordType: \"desig\",\r\n recordSubType: \"Conservation Area\",\r\n recordSubTypeCode: \"COA\",\r\n data: featureProperties,\r\n heading: this.getHeading(WesternIslesRecordType.Designation, WesternIslesRecordSubType.ConservationArea),\r\n layerGroup: layerGroup\r\n }\r\n else {\r\n return {\r\n id: featureProperties.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\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 if (recordTypeInfoClick.recordSubTypeCode == \"COA\") {\r\n html = `
  • \r\n [Des_title] ([Des_ref]) \r\n
  • `;\r\n } else {\r\n //add controller (or any arbitrary data) to the data object\r\n switch (recordTypeInfoClick.recordType.toLowerCase()) {\r\n case \"mon\":\r\n recordTypeInfoClick.data.controller = \"Monument\";\r\n break;\r\n case \"event\":\r\n recordTypeInfoClick.data.controller = \"Event\";\r\n break;\r\n case \"desig\":\r\n recordTypeInfoClick.data.controller = \"Designation\";\r\n break;\r\n }\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 { HbsmrRecordTypeResource } from \"./HbsmrRecordTypeResource\";\r\nimport { IResourceFactory, IRecordTypeResource, IMappingTextPack } from \"esdm-map\";\r\n\r\n\r\n\r\nexport class HbsmrResourcefactory 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 HbsmrRecordTypeResource(this._mappingTextPack);\r\n }\r\n\r\n}","import {\r\n WesternIslesRecordType,\r\n WesternIslesRecordSubType\r\n} from \"./WesternIslesRecordTypes\";\r\nimport { IStyleFactory } from \"esdm-map/dist/layers/vector/styles/IStyleFactory\";\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 * as olHas from 'ol/has';\r\n\r\nexport class HbsmrStyleFactory implements IStyleFactory {\r\n\r\n public getStyle(recordType: string, recordSubType: string = null): Style[]\r\n {\r\n let style: Style[] = null;\r\n\r\n //try and resolve sub type first\r\n if (recordSubType !== null) {\r\n switch (recordSubType) {\r\n case WesternIslesRecordSubType.ConservationArea:\r\n style = this.ConservationArea();\r\n break;\r\n\r\n case WesternIslesRecordSubType.ListedBuilding:\r\n style = this.ListedBuilding();\r\n break;\r\n\r\n case WesternIslesRecordSubType.ScheduledMonument:\r\n style = this.ScheduledMonument();\r\n break;\r\n\r\n case WesternIslesRecordSubType.HistoricBattlefield:\r\n style = this.RegisteredBattlefield();\r\n break;\r\n\r\n case WesternIslesRecordSubType.HistoricMarineProtectedArea:\r\n style = this.MarineProtectedArea();\r\n break;\r\n\r\n case WesternIslesRecordSubType.DesignedLandscape:\r\n style = this.DesignedLandscape();\r\n break;\r\n }\r\n\r\n }\r\n\r\n if (style === null) {\r\n switch (recordType) {\r\n case WesternIslesRecordType.Monument:\r\n style = this.Monument();\r\n break;\r\n\r\n case WesternIslesRecordType.Event:\r\n style = this.Event();\r\n break;\r\n\r\n case WesternIslesRecordType.Designation:\r\n style = this.Designation();\r\n break;\r\n }\r\n }\r\n\r\n return style;\r\n }\r\n\r\n public getSelectedStyle(recordType: WesternIslesRecordType): Style[] {\r\n let style: Style[] = null;\r\n\r\n switch (recordType) {\r\n case WesternIslesRecordType.Monument:\r\n style = this.MonumentSelected();\r\n break;\r\n\r\n case WesternIslesRecordType.Event:\r\n style = this.EventSelected();\r\n break;\r\n\r\n case WesternIslesRecordType.Designation:\r\n style = this.DesignationSelected();\r\n break;\r\n }\r\n\r\n return style;\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\r\n private Monument(): Style[] {\r\n //let s = this.CommonStyle('rgba(185, 107, 225,0.5)');\r\n //s[0].setStroke(new Stroke({\r\n // color: 'rgba(185, 107, 225,1)',\r\n // width: 3\r\n //}));\r\n\r\n //return s;\r\n // new\r\n var fill = new Fill({\r\n color: 'rgba(185, 107, 225, 0.4)'\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(185, 107, 225, 1)',\r\n width: 2\r\n });\r\n\r\n return [new Style({\r\n image: new Circle({\r\n fill: new Fill({ color: 'rgba(185, 107, 225, 1)' }),\r\n stroke: new Stroke({ color: 'rgba(50, 50, 50, 1)', width: 1 }),\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 Event(): Style[] {\r\n //return this.CommonStyle('rgba(241, 171, 0, 0.4)'); \r\n var fill = new Fill({\r\n color: 'rgba(241, 171, 0, 0.4)'\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(241, 171, 0, 1)',\r\n width: 2\r\n });\r\n return [new Style({\r\n image: new Circle({\r\n fill: new Fill({ color: 'rgba(241, 171, 0, 1)' }),\r\n stroke: new Stroke({ color: 'rgba(50, 50, 50, 1)', width: 1 }),\r\n radius: 4\r\n }),\r\n fill: fill,\r\n stroke: stroke\r\n })];\r\n }\r\n\r\n private Designation(): Style[] {\r\n return this.CommonStyle('rgba(132, 71, 15,0.4)');\r\n }\r\n\r\n private ListedBuilding(): Style[] {\r\n var fill = new Fill({\r\n color: 'rgba(226, 0, 0, 0.4)'\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(50, 50, 50, 1)',\r\n width: 2\r\n });\r\n\r\n return [new Style({\r\n image: new RegularShape({\r\n fill: fill,\r\n stroke: stroke,\r\n points: 5,\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 ConservationArea(): Style[] {\r\n //return this.CommonStyle('rgba(27, 15, 220, 0.4)'); \r\n var fill = new Fill({\r\n color: 'rgba(27, 15, 220, 0.4)'\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(27, 15, 220, 1)',\r\n width: 2\r\n });\r\n\r\n return [new Style({\r\n image: new RegularShape({\r\n fill: fill,\r\n stroke: stroke,\r\n points: 5,\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 var fill = new Fill({\r\n color: 'rgba(226, 0, 0, 0.4)'\r\n });\r\n var stroke = new Stroke({\r\n color: 'rgba(226, 0, 0, 1)',\r\n width: 2\r\n });\r\n\r\n return [new Style({\r\n image: new RegularShape({\r\n fill: fill,\r\n stroke: stroke,\r\n points: 5,\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 DesignedLandscape(): Style[] {\r\n //return this.CommonStyle('rgba(45, 123, 9,0.5)'); \r\n var fill = new Fill({\r\n color: 'rgba(45, 123, 9, 0.4)'\r\n });\r\n\r\n var stroke = new Stroke({\r\n color: 'rgba(45, 123, 9, 1)',\r\n width: 2\r\n });\r\n\r\n return [new Style({\r\n image: new RegularShape({\r\n fill: fill,\r\n stroke: stroke,\r\n points: 5,\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 RegisteredBattlefield(): 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(239, 26, 28, 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 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 MarineProtectedArea(): Style[] {\r\n //return this.CommonStyle('rgba(132, 71, 15, 0.4)');\r\n var fill = new Fill({\r\n color: 'rgba(132, 71, 15, 0.4)'\r\n });\r\n\r\n var stroke = new Stroke({\r\n color: 'rgba(132, 71, 15, 1)',\r\n width: 2\r\n });\r\n\r\n return [new Style({\r\n image: new RegularShape({\r\n fill: fill,\r\n stroke: stroke,\r\n points: 5,\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 MonumentSelected(): Style[] {\r\n var fill = new Fill({\r\n color: 'rgba(63, 211, 0, 0.6)'\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(76, 255, 0, 0.6)',\r\n width: 5\r\n }),\r\n radius: 12\r\n }),\r\n fill: fill,\r\n stroke: new Stroke({\r\n color: 'rgba(76, 255, 0, 0.6)',\r\n width: 5\r\n })\r\n })\r\n ];\r\n }\r\n\r\n private EventSelected(): Style[] {\r\n return this.MonumentSelected();\r\n }\r\n\r\n private DesignationSelected(): Style[] {\r\n return this.MonumentSelected();\r\n }\r\n\r\n}\r\n","\r\nexport class HbsmrIdentity {\r\n\r\n public static fetch(): Promise { \r\n return new Promise(\r\n function (resolve, reject) {\r\n $.getJSON(\"/api/hbsmridentity/get\", 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\n\r\nexport class HbsmrUser {\r\n public userId: string; \r\n public roles: Array;\r\n}","import { IMappingTextPack, IMap } from \"esdm-map\";\r\nimport { HbsmrUser } from \"./HbsmrUser\";\r\nimport { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\r\nimport { WesternIslesRecordType, WesternIslesRecordSubType } from \"./WesternIslesRecordTypes\";\r\n\r\nexport class MapBase {\r\n\r\n constructor( \r\n protected mappingTextPack: IMappingTextPack,\r\n protected user: HbsmrUser) { \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.subType === HighlandRecordSubType.Shine || value.type === HighlandRecordType.Consultation);\r\n // return !authlayers;\r\n // });\r\n //} else {\r\n return layerGroupConfig;\r\n //}\r\n } \r\n}","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 { 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 { IMappingTextPack } from \"esdm-map/dist/resources/MappingTextPack\";\r\nimport { MousePosition } from \"esdm-map/dist/map/controls/MousePosition\";\r\nimport { GeoNames } from \"esdm-map/dist/gazetteer/geonames\";\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 { IBaseLayerFactory } from \"esdm-map/dist/baselayers/interfaces/IBaseLayerFactory\";\r\nimport { IVectorLayerGroup } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroup\";\r\nimport { ZoomToDataBounds } from \"esdm-map/dist/layers/vector/ZoomToDataBounds\";\r\nimport { VectorLayerStrategy } from \"esdm-map/dist/layers/vector/VectorLayerStrategy\";\r\nimport {\r\n MapOptions,\r\n IMap,\r\n MapLayerSwitcher,\r\n IMapAreaMask,\r\n ILogger,\r\n IResourceFactory,\r\n IMapFactory,\r\n BaseLayerFactory_3857,\r\n MapFactory,\r\n Logger,\r\n MiniMapsForLists,\r\n BaseLayerType,\r\n MapFeatureInfo\r\n} from \"esdm-map\";\r\n\r\nimport { HbsmrStyleFactory } from \"./HbsmrStyleFactory\";\r\nimport { HbsmrResourcefactory } from \"./HbsmrResourceFactory\";\r\nimport { WesternIslesRecordType, WesternIslesRecordSubType } from \"./WesternIslesRecordTypes\";\r\nimport { DefaultLayerConfigurationFactory } from \"./DefaultLayerConfigurationFactory\";\r\nimport { TextPackLoader, TextPacks } from \"./TextPackLoader\";\r\nimport { DefaultMapOptions } from \"./DefaultMapOptions\";\r\nimport { FeatureAddSmallGeomsAsPoint } from \"esdm-map/dist/layers/vector/sources/loaders\";\r\nimport { HbsmrUser, HbsmrIdentity } from \"./HbsmrUser\";\r\nimport { MapBase } from \"./MapBase\";\r\nimport { IWmsLayerGroupConfig, IWmsLayerGroupFactory } from \"esdm-map/dist/layers/groups/wms/interfaces\";\r\nimport { WmsLayerGroupFactory } from \"esdm-map/dist/layers/groups/wms\";\r\n\r\nimport { IlayerGroupCollectionConfig } from \"esdm-map/dist/layers/groups/IlayerGroupCollectionConfig\";\r\nimport { LayerGroupCollections } from \"esdm-map/dist/layers/groups/LayerGroupCollections\";\r\nimport { WesternIslesBaseLayerTypes, WesternIslesBaseMapping_27700 } from \"./WesternIslesBaseMapping_27700\";\r\nimport { MapToolTip, ToolTipOptions } from \"esdm-map/dist/map/tooltip\";\r\nimport { Popover } from \"bootstrap\";\r\n\r\nimport \"../wwwroot/css/ol.css\";\r\nimport \"../wwwroot/css/ol-contextmenu.css\";\r\nimport \"../wwwroot/css/bootstrap-select.css\"\r\n\r\n$(document).ready(function () {\r\n //selectPicker\r\n ($('.hbsmrSelectPicker')).selectpicker({\r\n noneSelectedText: \"\",\r\n \"selected-text-format\": \"count > 1\"\r\n });\r\n\r\n $('.hbsmrSelectPicker').on('loaded.bs.select', function (e) {\r\n var name = $(this).attr(\"name\").replace(/([A-Z])/g, ' $1').trim();\r\n $(this).next(\".btn\").append(\"\" + name + \"\");\r\n });\r\n\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new Popover(popoverTriggerEl, {\r\n html: true,\r\n trigger: 'focus',\r\n content: function () {\r\n var content = $(this).attr(\"data-popover-content\");\r\n return $(content).children(\".popover-body\").html();\r\n }\r\n })\r\n })\r\n\r\n let didLoadMap = false;\r\n let ele = $(\"#theMap\");\r\n let maxFeatureCount: number = ele.data(\"max-feature-count\");\r\n console.log(\"maxFeatureCount:\" + maxFeatureCount);\r\n\r\n let data = $(\"#searchMapData\");\r\n let searchOptions: IMonumentSearch = {\r\n searchString: data.data(\"search-string\"),\r\n searchMode: data.data(\"search-mode\"),\r\n recordType: data.data(\"record-type\"),\r\n monType: data.data(\"mon-type\"),\r\n objectType: data.data(\"object-type\"),\r\n adminArea: data.data(\"admin-area\"),\r\n periodFrom: data.data(\"period-from\"),\r\n periodTo: data.data(\"period-to\"),\r\n periodIncludeOverlaps: data.data(\"period-overlaps\")\r\n };\r\n\r\n let printOptions: PrintMap = new PrintMap();\r\n\r\n\r\n function addHandlers() {\r\n $(\".scrollTo\").click(function (e) {\r\n let id = $(this).data(\"scrollto\");\r\n if (id) {\r\n $('html, body').animate({\r\n scrollTop: ($(id).offset().top)\r\n }, 500);\r\n }\r\n e.preventDefault();\r\n });\r\n }\r\n addHandlers();\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 <= 400) {\r\n height = 400;\r\n }\r\n $('#mapContainer').height(height);\r\n };\r\n\r\n let loadMap = function () {\r\n HbsmrIdentity.fetch().then(function (e) {\r\n let user = e;\r\n let init = function (textpacks: TextPacks) {\r\n resizeMap();\r\n $(window).bind('resize', function () { resizeMap(); });\r\n let map = new MonumentSearchMap(\"theMap\", searchOptions, maxFeatureCount, printOptions, textpacks.mapping, user);\r\n didLoadMap = true;\r\n }\r\n TextPackLoader.load().then(init);\r\n });\r\n }\r\n\r\n if (printOptions.isPrintMap) {\r\n loadMap();\r\n }\r\n else {\r\n let bingAPIKey: string = ele.data(\"bing-api-key\");\r\n let esdmOsmApiKey: string = ele.data(\"esdm-osm-api-key\");\r\n let baseLayerFactory: IBaseLayerFactory = new WesternIslesBaseMapping_27700();\r\n let miniMaps = new MiniMapsForLists(WesternIslesBaseLayerTypes.WesternIslesOS, bingAPIKey, esdmOsmApiKey, baseLayerFactory, \"EPSG:27700\", \"EPSG:27700\", 10);\r\n\r\n //only show the map when the map tab is visible\r\n $('a[data-bs-toggle=\"tab\"]').on('shown.bs.tab', function (e) {\r\n let target = $(e.target).attr(\"href\") // activated tab\r\n if (target === \"#tabMap\") {\r\n if (didLoadMap === false) {\r\n loadMap();\r\n }\r\n } else if (target === \"#tabList\" && didLoadMap === true) {\r\n // If the map has loaded it means the user has visited the 'Map' tab, they could have possibly also put the map into fullscreen mode\r\n // if they have then we need to redraw/refresh the miniMaps on the search results list, as they don't refresh correctly after exiting\r\n // the fullscreen mode\r\n miniMaps.refreshMiniMaps();\r\n }\r\n });\r\n }\r\n});\r\n\r\nexport interface IMonumentSearch {\r\n searchString: string;\r\n searchMode: string;\r\n recordType: string;\r\n monType: string;\r\n objectType: string;\r\n adminArea: string;\r\n periodFrom: string;\r\n periodTo: string;\r\n periodIncludeOverlaps: string;\r\n}\r\n\r\nexport class MonumentSearchMap extends MapBase {\r\n\r\n private map: IMap;\r\n private mfOptions: MapOptions;\r\n private mapStore: IMapViewStore;\r\n private styleFactory: IStyleFactory;\r\n private ls: MapLayerSwitcher;\r\n private vectorLayerGroups: Array;\r\n private infoPopup: MapFeatureInfo;\r\n private initialised = false;\r\n private herMask: IMapAreaMask;\r\n private geoNames: GeoNames;\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 boundsLoaderBehaviour: ILoaderExtentsBehaviour;\r\n private mapContextMenu: IMapContextMenu;\r\n private resourcefactory: IResourceFactory;\r\n private downloadPng: DownloadMapPng;\r\n private extentsNavigation: ExtentsNavigation;\r\n private gridRefFinder: GridRef;\r\n private mousePosition: MousePosition;\r\n private featureLoader: IFeatureLoader;\r\n private featureAdd: IFeatureAdd;\r\n private mapFilter: MapFilters;\r\n private layerConfigFactory: DefaultLayerConfigurationFactory;\r\n private layerGroups: LayerGroupCollections;\r\n private layerGroupFactory: LayerGroupFactory;\r\n private mapToolTip: MapToolTip;\r\n\r\n constructor(\r\n private _mapElementId: string,\r\n private _searchOptions: IMonumentSearch,\r\n private _maxFeatureCount: number,\r\n public printOptions: IPrintOptions,\r\n mappingTextPack: IMappingTextPack,\r\n user: HbsmrUser) {\r\n super(mappingTextPack, user);\r\n this.init();\r\n }\r\n\r\n private init = () => {\r\n if (this.initialised) {\r\n return;\r\n }\r\n\r\n $(\"#printButton\").hide();\r\n\r\n this.layerConfigFactory = new DefaultLayerConfigurationFactory();\r\n this.wmsLayerGroupFactory = new WmsLayerGroupFactory();\r\n this.vectorLayerGroupFactory = new VectorLayerGroupFactory();\r\n this.layerGroupFactory = new LayerGroupFactory(this.vectorLayerGroupFactory, this.wmsLayerGroupFactory);\r\n this.mapFilter = new MapFilters();\r\n this.mapFilter.OgcFilter = new OgcMapFilter();\r\n this.baseLayerFactory = new WesternIslesBaseMapping_27700();\r\n this.featureLoader = new GeoJsonFeatureLoader();\r\n this.featureAdd = new FeatureAddSmallGeomsAsPoint(4.5);\r\n this.mapFactory = new MapFactory();\r\n this.logger = new Logger();\r\n this.boundsLoaderBehaviour = new BoundsLoaderExtentsBehaviour(this.logger);\r\n this.styleFactory = new HbsmrStyleFactory();\r\n this.resourcefactory = new HbsmrResourcefactory(this.mappingTextPack);\r\n\r\n this.mfOptions = DefaultMapOptions.GetDefaultOptions(this._mapElementId, \"MonumentSearchMap27700\");\r\n this.mfOptions.enableBoundsTracking = false;\r\n //zoom & centre determines the start position of the map\r\n this.mfOptions.mapZoom = 4;\r\n this.mfOptions.mapCentre = [105000, 887500];\r\n\r\n this.layerGroups = this.layerGroupFactory.getLayerGroups(this.getLayerGroupConfig(), this.styleFactory);\r\n this.mfOptions.layerGroupCollection = this.layerGroups;\r\n\r\n\r\n this.mapStore = new MapViewStore(this.mfOptions.mapStoreKey);\r\n //don't remember the layers if this is the first page of the search\r\n if ($(\"#MapPageNumber\").val() == 1) {\r\n this.mapStore.clear()\r\n } \r\n\r\n this.mapContextMenu = new MapContextMenu(this.mappingTextPack);\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, this.printOptions, this.mapFilter, this.mappingTextPack);\r\n this.infoPopup = new MapFeatureInfo(this.map, this.resourcefactory.getRecordTypeResource(), this.mappingTextPack);\r\n this.ls = new MapLayerSwitcher(this.map, this.mapStore, this.styleFactory, this.map.baseLayers, this.layerGroups, this.mappingTextPack, {\r\n showList: false,\r\n showOpenPanelByDefault: !this.printOptions.isPrintMap,\r\n rememberActivePanel: true\r\n });\r\n this.geoNames = new GeoNames(this.map, this.mappingTextPack);\r\n\r\n if (this.printOptions.isPrintMap) {\r\n this.printOptions.setMap(this.map);\r\n }\r\n this.downloadPng = new DownloadMapPng(this.map, this.mappingTextPack);\r\n this.gridRefFinder = new GridRef(this.map, this.mappingTextPack, this.logger);\r\n this.extentsNavigation = new ExtentsNavigation(this.map, this.logger, this.mappingTextPack);\r\n this.mousePosition = new MousePosition(this.map, this.mappingTextPack);\r\n\r\n if (!('ontouchstart' in window && navigator.maxTouchPoints > 0)) {\r\n //add tooltip if not touch\r\n this.mapToolTip = new MapToolTip(this.map, new ToolTipProvider(), new ToolTipOptions(7));\r\n }\r\n\r\n this.initialised = true;\r\n }\r\n\r\n private getLayerGroupConfig = (): Array => {\r\n let self = this;\r\n\r\n let monSearchLayers = [\r\n {\r\n layerName: \"MonumentPolygonsWFS\",\r\n minZoom: 8,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"MonumentLinesWFS\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"MonumentPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 19\r\n },\r\n {\r\n layerName: \"MonumentPolygonsAsPointsWFS\",\r\n minZoom: 1,\r\n maxZoom: 7\r\n }\r\n ]\r\n\r\n let layerGroupConfig: Array = [\r\n self.layerConfigFactory.layerConfig(WesternIslesRecordType.Monument, null, { layers: monSearchLayers }),\r\n self.layerConfigFactory.layerConfig(WesternIslesRecordType.Event),\r\n self.layerConfigFactory.layerConfig(WesternIslesRecordType.Designation, WesternIslesRecordSubType.ScheduledMonument),\r\n self.layerConfigFactory.layerConfig(WesternIslesRecordType.Designation, WesternIslesRecordSubType.ListedBuilding),\r\n self.layerConfigFactory.layerConfig(WesternIslesRecordType.Designation, WesternIslesRecordSubType.ConservationArea)\r\n ];\r\n\r\n\r\n let hasFilter = (self._searchOptions.monType || self._searchOptions.objectType || self._searchOptions.adminArea || self._searchOptions.periodFrom || self._searchOptions.periodTo);\r\n\r\n //only use the search layer if we have any filters\r\n if (hasFilter) {\r\n layerGroupConfig.forEach(function (layer: IVectorLayerGroupConfig, index: number) {\r\n if (layer.type === self._searchOptions.recordType) {\r\n layer.displayName = layer.displayName + ' ',\r\n layer.layers.forEach(l => { l.layerName += \"_StructuredSearch\" });\r\n layer.zoomToDataBounds = ZoomToDataBounds.Always;\r\n layer.strategy = VectorLayerStrategy.All;\r\n layer.allowZoomToLoadedDataBounds = false;\r\n layer.visibleOnLoad = true;\r\n layer.maxFeatureCount = self._maxFeatureCount;\r\n layer.useWfsBboxRequestParameter = true;\r\n layer.urlParams = {\r\n ...{\r\n monTypeTerm: self._searchOptions.monType,\r\n findTypeTerm: self._searchOptions.objectType,\r\n adminArea: self._searchOptions.adminArea,\r\n period1: self._searchOptions.periodFrom,\r\n period2: self._searchOptions.periodTo,\r\n periodIncludeOverlaps: self._searchOptions.periodIncludeOverlaps,\r\n maxFeatureCount: self._maxFeatureCount\r\n }, ...layer.urlParams\r\n }\r\n }\r\n });\r\n }\r\n\r\n return [\r\n {\r\n ref: \"all_layers\",\r\n name: \"All layers\",\r\n useAccordion: false,\r\n expandedOnFirstLoad: true,\r\n layerGroupConfigs: self.filterMapLayers(layerGroupConfig)\r\n }\r\n ];\r\n }\r\n\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 {\r\n BaseLayer,\r\n BaseLayerFactory_27700,\r\n BaseLayerFactory_3857,\r\n BaseLayerType\r\n} from \"esdm-map\";\r\n\r\nimport { IBaseLayer } from \"esdm-map/dist/baselayers/interfaces/IBaseLayer\";\r\nimport TileLayer from \"ol/layer/Tile\";\r\nimport TileGrid from \"ol/tilegrid/TileGrid\";\r\nimport TileWMS from 'ol/source/TileWMS';\r\n\r\nimport * as olProj from 'ol/proj';\r\nimport proj4 from \"proj4\";\r\nimport { register } from 'ol/proj/proj4';\r\nimport Projection from \"ol/proj/Projection\";\r\nimport XYZ from 'ol/source/XYZ';\r\nimport OSM from 'ol/source/OSM';\r\n\r\nexport const WesternIslesBaseLayerTypes = {\r\n ...BaseLayerType,\r\n WesternIslesOS: 999,\r\n WesternIslesAerial: 1000,\r\n};\r\n\r\nexport class WesternIslesBaseMapping_27700 extends BaseLayerFactory_27700 {\r\n\r\n private _baseLayerFactory_3857: BaseLayerFactory_3857;\r\n\r\n public constructor() {\r\n super();\r\n\r\n this._baseLayerFactory_3857 = new BaseLayerFactory_3857();\r\n \r\n proj4.defs('EPSG:27700', '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 ' +\r\n '+x_0=400000 +y_0=-100000 +ellps=airy ' +\r\n '+towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 ' +\r\n '+units=m +no_defs');\r\n register(proj4);\r\n var proj27700 = olProj.get('EPSG:27700');\r\n proj27700.setExtent([0, 0, 700000, 1300000]);\r\n }\r\n \r\n\r\n public GetBaseLayerByType(baseLayerType: BaseLayerType, bingApiKey: string, esdmOsmApiKey:string): IBaseLayer {\r\n if (baseLayerType === WesternIslesBaseLayerTypes.WesternIslesOS) {\r\n return this.GetWesternIslesOS();\r\n } \r\n\r\n if (baseLayerType === WesternIslesBaseLayerTypes.OSM_ESDM_contours) {\r\n return this.GetOSM_ESDM_contours27700(esdmOsmApiKey, \"OSM_ESDM_contours\", \"OpenStreetMap\");\r\n } \r\n\r\n if (baseLayerType === WesternIslesBaseLayerTypes.WesternIslesAerial) {\r\n return this.GetWesternIslesAerial();\r\n } \r\n\r\n //if (baseLayerType === WesternIslesBaseLayerTypes.OSM_ESDM_contours) {\r\n // return this.GetOSM_ESDM_contours3857(esdmOsmApiKey, \"OSM_ESDM_contours\", \"OpenStreetMap\");\r\n //} \r\n\r\n //if (baseLayerType == HighlandBaseLayerTypes.BingAerial || baseLayerType === HighlandBaseLayerTypes.OSM_ESDM_contours) {\r\n //if (baseLayerType == WesternIslesBaseLayerTypes.BingAerial) {\r\n // return this._baseLayerFactory_3857.GetBaseLayerByType(baseLayerType, bingApiKey, esdmOsmApiKey);\r\n //} \r\n\r\n return super.GetBaseLayerByType(baseLayerType, bingApiKey, esdmOsmApiKey);\r\n }\r\n\r\n \r\n //Currently reprojecting to 3857 as disc is full so tiles for 27700 are not getting cached for the higher numbered zoom level\r\n //to switch when the new map tile server is up & running\r\n //private GetOSM_ESDM_contours3857(esdmApiKey: string, ref: string, displayName: string): IBaseLayer {\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 // //url: `//osm-proxy.esdm.co.uk/900913/c/{z}/{x}/{y}.png?APIKEY=${esdmApiKey}`,\r\n // maxZoom: 18\r\n // })\r\n // });\r\n\r\n // return new BaseLayer(ref, displayName, lyr);\r\n //}\r\n\r\n private GetOSM_ESDM_contours27700(esdmApiKey: string, ref: string, displayName: string): IBaseLayer {\r\n let lyr = new TileLayer({\r\n source: new XYZ({\r\n projection: new Projection({\r\n code: 'EPSG:27700',\r\n extent: [-350000, -100000, 1050000, 1300000]\r\n }),\r\n maxZoom:14,\r\n url: `//{a-f}.osm.esdm.co.uk/27700/c/{z}/{x}/{y}.png?APIKEY=${esdmApiKey}`,\r\n })\r\n });\r\n lyr.setVisible(false);\r\n\r\n return new BaseLayer(ref, displayName, lyr);\r\n }\r\n\r\n private GetWesternIslesOS(): IBaseLayer {\r\n let lyr = new TileLayer({\r\n visible: false,\r\n source: new TileWMS({\r\n urls: [\"/api/OgcService/WesternIsles-OS\"],\r\n params: {\r\n LAYERS: 'viaEuropa_m0105',\r\n //TILED: 'true',\r\n FORMAT: 'image/png',\r\n SRS: 'EPSG:27700'\r\n },\r\n projection: \"EPSG:27700\", \r\n crossOrigin: \"Anonymous\",\r\n attributions: `© Crown copyright and database rights ${new Date().getFullYear()} OS AC0000811967`\r\n })\r\n });\r\n lyr.setVisible(false);\r\n\r\n return new BaseLayer(\"WesternIslesOS\", \"Ordnance Survey\", lyr);\r\n }\r\n \r\n private GetWesternIslesAerial(): IBaseLayer {\r\n let lyr = new TileLayer({\r\n visible: true,\r\n source: new TileWMS({\r\n url: \"/api/OgcService/WesternIsles-Aerial\",\r\n params: {\r\n LAYERS: 'APGB_Latest_UK_125mm',\r\n TILED: 'true',\r\n FORMAT: 'image/png',\r\n SRS: 'EPSG:27700'\r\n },\r\n projection: \"EPSG:27700\",\r\n crossOrigin: \"Anonymous\",\r\n attributions: [`© Getmapping Plc and Bluesky International Limited ${new Date().getFullYear()}`]\r\n })\r\n })\r\n\r\n return new BaseLayer(\"WesternIslesAerial\", \"Aerial\", lyr);\r\n }\r\n\r\n}","\r\nexport enum WesternIslesRecordType { \r\n Monument = \"mon\", \r\n Event = \"event\", \r\n Source = \"source\",\r\n Designation = \"desig\"\r\n} \r\n\r\nexport enum WesternIslesRecordSubType { \r\n ConservationArea = \"COA\",\r\n ListedBuilding = \"LB\",\r\n DesignedLandscape = \"DLN\",\r\n ScheduledMonument = \"SAM\",\r\n HistoricBattlefield = \"IHB\",\r\n HistoricMarineProtectedArea = \"HMPA\"\r\n} \r\n\r\n","module.exports = bootstrap;","// 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","// 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\t801: 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[chunkId] = 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, [96], () => (__webpack_require__(9150)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","mapFileUrl","layerConfig","recordType","recordSubType","opts","WesternIslesRecordType","Monument","Event","WesternIslesRecordSubType","ListedBuilding","ScheduledMonument","DesignedLandscape","ConservationArea","HistoricBattlefield","HistoricMarineProtectedArea","displayName","ref","type","strategy","VectorLayerStrategy","Bbox","url","wfsParams","paramSource","maxFeatureCount","visibleOnFirstLoad","alwaysLoadOnZoom","layers","layerName","minZoom","maxZoom","Designation","subType","urlParams","recsubtypecode","legend","line","polygon","point","WfsParamSourceMapServer","WfsBboxAsWktRequestParams","srsName","DefaultLayerConfigurationFactory","GetDefaultOptions","mapElementId","mapStoreKey","opt","MapOptions","bingApiKey","$","data","esdmOsmApiKey","baseMaps","WesternIslesBaseLayerTypes","WesternIslesOS","defaultBaseMap","enableBoundsTracking","zoomToNearestBounds","maxZoomToBounds","mapZoom","extent","mapCentre","displayProjection","dataProjection","dragRotateAndZoom","DefaultMapOptions","_mappingTextPack","items","Array","push","recordTypeCode","recordSubTypeCode","heading","groupByRecordSubTypeCode","toLowerCase","mapToIRecordTypeInfoClick","featureProperties","layerGroup","layerSubType","id","Des_ref","uid","name","Des_title","this","getHeading","rectype","recsubtype","getInfoClickHtmlTemplate","recordTypeInfoClick","html","layerType","controller","goToDetails","centreOnMap","RecordTypeResource","HbsmrRecordTypeResource","getRecordTypeResource","HbsmrResourcefactory","getStyle","style","RegisteredBattlefield","MarineProtectedArea","getSelectedStyle","MonumentSelected","EventSelected","DesignationSelected","CommonStyle","fillColour","fill","color","stroke","width","image","radius","points","radius2","angle","canvas","document","createElement","context","getContext","pixelRatio","olHas","DEVICE_PIXEL_RATIO","pattern","height","fillStyle","fillRect","strokeStyle","lineWidth","beginPath","moveTo","lineTo","x0","x1","createPattern","setColor","HbsmrStyleFactory","fetch","Promise","resolve","reject","getJSON","response","fail","HbsmrIdentity","HbsmrUser","MapBase","mappingTextPack","user","isAuthenticated","filterMapLayers","layerGroupConfig","ready","selectpicker","noneSelectedText","on","e","attr","replace","trim","next","append","slice","call","querySelectorAll","map","popoverTriggerEl","Popover","trigger","content","children","didLoadMap","ele","console","log","searchOptions","searchString","searchMode","monType","objectType","adminArea","periodFrom","periodTo","periodIncludeOverlaps","printOptions","PrintMap","resizeMap","window","offset","top","click","animate","scrollTop","preventDefault","loadMap","then","TextPackLoader","load","textpacks","bind","MonumentSearchMap","mapping","isPrintMap","bingAPIKey","baseLayerFactory","WesternIslesBaseMapping_27700","MiniMapsForLists","target","refreshMiniMaps","_mapElementId","_searchOptions","_maxFeatureCount","initialised","init","hide","layerConfigFactory","wmsLayerGroupFactory","WmsLayerGroupFactory","vectorLayerGroupFactory","VectorLayerGroupFactory","layerGroupFactory","LayerGroupFactory","mapFilter","MapFilters","OgcFilter","OgcMapFilter","featureLoader","GeoJsonFeatureLoader","featureAdd","FeatureAddSmallGeomsAsPoint","mapFactory","MapFactory","logger","Logger","boundsLoaderBehaviour","BoundsLoaderExtentsBehaviour","styleFactory","resourcefactory","mfOptions","layerGroups","getLayerGroups","getLayerGroupConfig","layerGroupCollection","mapStore","MapViewStore","val","clear","mapContextMenu","MapContextMenu","vectorLayerSourceFactory","VectorLayerSourceFactory","instance","infoPopup","MapFeatureInfo","ls","MapLayerSwitcher","baseLayers","showList","showOpenPanelByDefault","rememberActivePanel","geoNames","GeoNames","setMap","downloadPng","DownloadMapPng","gridRefFinder","GridRef","extentsNavigation","ExtentsNavigation","mousePosition","MousePosition","navigator","maxTouchPoints","mapToolTip","MapToolTip","ToolTipProvider","ToolTipOptions","self","forEach","layer","index","l","zoomToDataBounds","ZoomToDataBounds","Always","All","allowZoomToLoadedDataBounds","visibleOnLoad","useWfsBboxRequestParameter","monTypeTerm","findTypeTerm","period1","period2","useAccordion","expandedOnFirstLoad","layerGroupConfigs","TextPacks","MappingTextPack","all","results","BaseLayerType","WesternIslesAerial","_baseLayerFactory_3857","BaseLayerFactory_3857","defs","register","olProj","get","setExtent","GetBaseLayerByType","baseLayerType","GetWesternIslesOS","OSM_ESDM_contours","GetOSM_ESDM_contours27700","GetWesternIslesAerial","esdmApiKey","lyr","source","projection","code","setVisible","BaseLayer","visible","urls","params","LAYERS","FORMAT","SRS","crossOrigin","attributions","Date","getFullYear","TILED","BaseLayerFactory_27700","module","exports","bootstrap","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","value","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}