{"version":3,"file":"singleRecordMap.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/MapSingleRecord.ts","webpack://app/./Scripts/SuffolkRecordTypes.ts","webpack://app/./Scripts/TextPackLoader.ts","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\";\nimport { WfsParamSourceMapServer, IWfsParamSource } from \"esdm-map/dist/layers/vector/sources/wfs\";\nimport { VectorLayerStrategy } from \"esdm-map/dist/layers/vector/VectorLayerStrategy\";\n\nimport { SuffolkRecordType, SuffolkRecordSubType} from \"./SuffolkRecordTypes\";\nimport { IWmsLayerGroupConfig } from \"esdm-map/dist/layers/groups/wms/interfaces/IWmsLayerGroupConfig\";\nimport { WfsBboxAsWktRequestParams } from \"esdm-map/dist/layers/vector/sources/wfs/WfsBboxAsWktRequestParams\";\n\nexport class DefaultLayerConfigurationFactory {\n\n private mapFileUrl: string = \"/api/MapServer/Hbsmr\";\n\n private paramSource(): IWfsParamSource {\n return new WfsParamSourceMapServer(new WfsBboxAsWktRequestParams(),{srsName: \"EPSG:27700\"});\n }\n\n constructor() {\n }\n\n public layerConfig = (\n recordType: SuffolkRecordType,\n recordSubType: SuffolkRecordSubType = null,\n opts: IVectorLayerGroupConfig = {}\n ): IVectorLayerGroupConfig | IWmsLayerGroupConfig => {\n let layerConfig: IVectorLayerGroupConfig | IWmsLayerGroupConfig = null;\n\n switch (recordType) {\n case SuffolkRecordType.Monument:\n layerConfig = this.Monument(opts);\n break;\n\n case SuffolkRecordType.Event:\n layerConfig = this.Event(opts);\n break;\n\n case SuffolkRecordType.Consultation:\n layerConfig = this.Consultation(opts);\n break;\n\n case SuffolkRecordType.SuffolkBoundary:\n layerConfig = this.SuffolkBoundary();\n break;\n\n }\n\n if (layerConfig === null && recordSubType !== null) {\n switch (recordSubType) {\n\n case SuffolkRecordSubType.ListedBuilding:\n layerConfig = this.ListedBuilding(opts);\n break;\n\n case SuffolkRecordSubType.ScheduledMonument:\n layerConfig = this.ScheduledMonument(opts);\n break; \n \n case SuffolkRecordSubType.RegisteredParksAndGardens:\n layerConfig = this.RegisteredParksAndGardens(opts);\n break; \n\n case SuffolkRecordSubType.Shine:\n layerConfig = this.Shine(opts);\n break; \n\n }\n }\n\n return layerConfig;\n }\n\n private SuffolkBoundary = (): IWmsLayerGroupConfig => {\n return {\n displayName: \"Suffolk Boundary\",\n ref: \"SuffolkBoundary\",\n type: SuffolkRecordType.SuffolkBoundary, \n url: this.mapFileUrl,\n displayInLayerSwitcher: false,\n displayInLegend: false,\n visibleOnLoad: true, \n queryable: false,\n layers: [\n {\n layerName: \"SuffolkBoundaryWMS\",\n minZoom: 1,\n maxZoom: 19\n }\n ]\n }\n }\n\n private Monument = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Monuments\",\n ref: \"Monuments\",\n type: SuffolkRecordType.Monument,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"MonumentPolygonsWFS\",\n minZoom: 12,\n maxZoom: 19\n },\n {\n layerName: \"MonumentLinesWFS\",\n minZoom: 12,\n maxZoom: 19\n },\n {\n layerName: \"MonumentPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"MonumentLinesAsPointsWFS\",\n minZoom: 1,\n maxZoom: 11\n },\n {\n layerName: \"MonumentPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 11\n }\n ]\n }, ...opts\n };\n }\n\n private Event = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Events\",\n ref: \"Events\",\n type: SuffolkRecordType.Event,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"EventPolygonsWFS\",\n minZoom: 12,\n maxZoom: 19\n },\n {\n layerName: \"EventLinesWFS\",\n minZoom: 12,\n maxZoom: 19\n },\n {\n layerName: \"EventPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"EventLinesAsPointsWFS\",\n minZoom: 1,\n maxZoom: 11\n },\n {\n layerName: \"EventPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 11\n }\n ]\n }, ...opts\n };\n }\n\n private Consultation = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Consultations\",\n ref: \"Consultations\",\n type: SuffolkRecordType.Consultation, \n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl, \n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"ConsultationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"ConsultationLinesWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"ConsultationPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"ConsultationLinesAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n },\n {\n layerName: \"ConsultationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n\n private ListedBuilding = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Listed Buildings\",\n ref: \"ListedBuildings\",\n type: SuffolkRecordType.Designation,\n subType: SuffolkRecordSubType.ListedBuilding,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n urlParams: { recsubtypecode: SuffolkRecordSubType.ListedBuilding },\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: false,\n layers: [\n {\n layerName: \"DesignationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"DesignationLinesWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"DesignationPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"DesignationLinesAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n },\n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n\n private ScheduledMonument = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Scheduled Monuments\",\n ref: \"ScheduledMonuments\",\n type: SuffolkRecordType.Designation,\n subType: SuffolkRecordSubType.ScheduledMonument,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n urlParams: { recsubtypecode: SuffolkRecordSubType.ScheduledMonument },\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"DesignationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n }, \n \n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n \n private RegisteredParksAndGardens = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Registered Parks and Gardens\",\n ref: \"RegisteredParksAndGardens\",\n type: SuffolkRecordType.Designation,\n subType: SuffolkRecordSubType.RegisteredParksAndGardens,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n urlParams: { recsubtypecode: SuffolkRecordSubType.RegisteredParksAndGardens },\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"DesignationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n }, \n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n\n private Shine = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"SHINE\",\n ref: \"Shine\",\n type: SuffolkRecordType.Designation,\n subType: SuffolkRecordSubType.Shine,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n urlParams: { recsubtypecode: SuffolkRecordSubType.Shine },\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"DesignationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"DesignationLinesWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"DesignationPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n },\n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n\n\n}\n\n","import {\n MapOptions,\n BaseLayerType\n} from \"esdm-map/dist\";\nimport { LayerGroupCollection } from \"esdm-map/dist/layers/groups/LayerGroupCollection\";\n\n\nexport class DefaultMapOptions {\n\n public static GetDefaultOptions(\n mapElementId: string,\n mapStoreKey: string\n ): MapOptions { \n\n let opt = new MapOptions(); \n opt.bingApiKey = $(`#${mapElementId}`).data(\"bing-api-key\");\n opt.esdmOsmApiKey = $(`#${mapElementId}`).data(\"esdm-osm-api-key\");\n opt.baseMaps = [BaseLayerType.OSM, BaseLayerType.BingOS, BaseLayerType.BingAerial];\n opt.defaultBaseMap = BaseLayerType.OSM;\n opt.enableBoundsTracking = true;\n opt.mapElementId = mapElementId;\n opt.mapStoreKey = mapStoreKey;\n opt.mapZoom = 13;\n opt.minZoom = 9;\n opt.maxZoom = 19;\n opt.extent = [-611, 6760090, 206074, 6911130];\n opt.mapCentre = [128366, 6809507];\n opt.displayProjection = \"EPSG:3857\";\n opt.dataProjection = \"EPSG:27700\";\n opt.dragRotateAndZoom = false; \n opt.zoomToNearestBounds = false;\n return opt;\n }\n\n}","import {\n SuffolkRecordType,\n SuffolkRecordSubType\n} from \"./SuffolkRecordTypes\";\n\nimport {\n IRecordTypeFeatureInfoClick,\n RecordTypeResource,\n IRecordTypeHeading,\n\n IMappingTextPack\n} from \"esdm-map\";\nimport { ILayerGroup } from \"esdm-map/dist/layers/groups/ILayerGroup\";\n\n\nlet headingConfiguration = (): Array => {\n let items = new Array();\n\n items.push({\n recordTypeCode: SuffolkRecordType.Monument,\n recordSubTypeCode: null,\n heading: \"Monument(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Event,\n recordSubTypeCode: null,\n heading: \"Event(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: null,\n heading: \"Designation(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Consultation,\n recordSubTypeCode: null,\n heading: \"Consultation(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: SuffolkRecordSubType.ListedBuilding,\n heading: \"Listed Building(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: SuffolkRecordSubType.RegisteredParksAndGardens,\n heading: \"Registered Park / Garden\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: SuffolkRecordSubType.ScheduledMonument,\n heading: \"Scheduled Monument(s)\"\n }); \n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: SuffolkRecordSubType.Shine,\n heading: \"SHINE\"\n });\n\n\n return items;\n}\n\nexport class HbsmrRecordTypeResource extends RecordTypeResource {\n\n public constructor(\n private _mappingTextPack: IMappingTextPack,\n ) {\n super(headingConfiguration());\n }\n \n public groupByRecordSubTypeCode(recordTypeCode: string): boolean \n {\n return (recordTypeCode.toLowerCase() === SuffolkRecordType.Designation); \n } \n\n public mapToIRecordTypeInfoClick(featureProperties: any, layerGroup: ILayerGroup): IRecordTypeFeatureInfoClick \n {\n return {\n id: \"\",\n uid: featureProperties.uid,\n ref: featureProperties.ref,\n name: featureProperties.name,\n recordType: featureProperties.rectype,\n recordSubType: featureProperties.recsubtype,\n recordSubTypeCode: featureProperties.recsubtypecode,\n data: featureProperties,\n heading: this.getHeading(featureProperties.rectype, featureProperties.recsubtypecode),\n layerGroup: layerGroup\n }\n }\n\n public getInfoClickHtmlTemplate(recordTypeInfoClick: IRecordTypeFeatureInfoClick): string {\n let html: string = \"\";\n let featurePropertyNameForId = \"uid\";\n let layerType: string = recordTypeInfoClick.layerGroup.layerType;\n\n //add controller (or any arbitrary data) to the data object\n switch (recordTypeInfoClick.recordType.toLowerCase()) {\n case \"mon\":\n recordTypeInfoClick.data.controller = \"Monument\";\n break;\n case \"event\":\n recordTypeInfoClick.data.controller = \"Event\";\n break;\n case \"desig\":\n recordTypeInfoClick.data.controller = \"Designation\";\n break;\n case \"cons\":\n recordTypeInfoClick.data.controller = \"Consultation\";\n break;\n }\n\n html = `\n
  • \n \n  \n \n [name] ([ref]) \n \n \n \n \n
  • `;\n\n return html;\n }\n\n \n} ","import { HbsmrRecordTypeResource } from \"./HbsmrRecordTypeResource\";\nimport { IResourceFactory, IRecordTypeResource, IMappingTextPack } from \"esdm-map\";\n\n\n\nexport class HbsmrResourcefactory implements IResourceFactory {\n\n public constructor(\n private _mappingTextPack: IMappingTextPack\n ) {\n }\n\n public getRecordTypeResource(): IRecordTypeResource {\n return new HbsmrRecordTypeResource(this._mappingTextPack);\n }\n}","import {\n SuffolkRecordType,\n SuffolkRecordSubType\n} from \"./SuffolkRecordTypes\";\nimport { IStyleFactory } from \"esdm-map/dist/layers/vector/styles/IStyleFactory\";\nimport Style, { StyleFunction } from \"ol/style/Style\";\nimport Fill from 'ol/style/Fill';\nimport Circle from 'ol/style/Circle';\nimport Stroke from 'ol/style/Stroke';\nimport RegularShape from \"ol/style/RegularShape\";\n\n\nexport class HbsmrStyleFactory implements IStyleFactory {\n\n public getStyle(recordType: string, recordSubType: string = null): Style[]\n {\n let style: Style[] = null;\n\n //try and resolve sub type first\n if (recordSubType !== null) {\n switch (recordSubType) { \n\n case SuffolkRecordSubType.ListedBuilding:\n style = this.ListedBuilding();\n break;\n\n case SuffolkRecordSubType.ScheduledMonument:\n style = this.ScheduledMonument();\n break;\n \n case SuffolkRecordSubType.RegisteredParksAndGardens:\n style = this.RegisteredParksAndGardens();\n break;\n\n case SuffolkRecordSubType.Shine:\n style = this.Shine();\n break;\n\n }\n }\n\n if (style === null) {\n switch (recordType) {\n case SuffolkRecordType.Monument:\n style = this.Monument();\n break;\n\n case SuffolkRecordType.Event:\n style = this.Event();\n break;\n\n case SuffolkRecordType.Designation:\n style = this.Designation();\n break;\n\n case SuffolkRecordType.Consultation:\n style = this.Consultation();\n break;\n }\n }\n\n return style;\n }\n\n public getSelectedStyle(\n recordType: string = SuffolkRecordType.Monument): Style[]\n { \n return this.SelectedRecord();\n }\n\n private CommonStyle(fillColour: string): Style[] {\n var fill = new Fill({\n color: fillColour\n });\n var stroke = new Stroke({\n color: 'rgba(255,255,255,1)',\n width: 3\n });\n\n return [\n new Style({\n image: new Circle({\n fill: fill,\n stroke: stroke,\n radius: 12\n }),\n fill: fill,\n stroke: stroke\n })\n ];\n }\n \n private Monument(): Style[] { \n var fill = new Fill({\n //color: 'rgba(66, 94, 143,0.4)'\n color: 'rgba(255, 0, 0,0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(255,0,0,1)',\n width: 2\n });\n\n return [\n new Style({\n image: new Circle({\n fill: fill,\n stroke: stroke,\n radius: 5\n }),\n fill: fill,\n stroke: stroke\n })\n ];\n\n }\n\n private Event(): Style[] { \n var fill = new Fill({\n color: 'rgba(0, 0, 255, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(0, 0, 255, 1)',\n width: 2\n });\n\n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 3,\n radius: 10,\n rotation: 0,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n\n private Designation(): Style[] {\n return this.CommonStyle('rgba(132, 71, 15,0.4)');\n }\n\n private ListedBuilding(): Style[] {\n var fill = new Fill({\n color: 'rgba(128, 64, 0, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(128, 64, 0, 1)',\n width: 2\n });\n\n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 3,\n radius: 10,\n rotation: 0,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n\n private Consultation(): Style[] {\n //return this.CommonStyle('rgba(27, 15, 220, 0.4)'); \n var fill = new Fill({\n color: 'rgba(0, 0, 0, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(0, 0, 0, 1)',\n width: 2\n });\n\n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 5,\n radius: 8,\n radius2: 4,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n\n private ScheduledMonument(): Style[] {\n var fill = new Fill({\n color: 'rgba(255, 0, 255, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(255, 0, 255, 1)',\n width: 2\n });\n\n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 3,\n radius: 10,\n rotation: 0,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n \n private RegisteredParksAndGardens(): Style[] {\n //return this.CommonStyle('rgba(45, 123, 9,0.5)'); \n var fill = new Fill({\n color: 'rgba(56, 223, 47, 0.3)'\n });\n\n var stroke = new Stroke({\n color: 'rgba(56, 223, 47, 1)',\n width: 2\n });\n \n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 5,\n radius: 8,\n radius2: 4,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n\n private Shine(): Style[] {\n var fill = new Fill({\n color: 'rgba(255, 128, 0, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(255, 128, 0, 1)',\n width: 2\n });\n \n return [new Style({\n image: new RegularShape({\n fill: new Fill({ color: 'rgba(255, 128, 0, 0.4)' }),\n stroke: new Stroke({ color: 'rgba(255, 128, 0, 1)', width: 2 }),\n points: 3,\n radius: 10,\n rotation: 0,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n \n private SelectedRecord(): Style[] {\n var fill = new Fill({\n color: 'rgba(255, 255, 0, 0.6)'\n });\n\n return [\n new Style({\n image: new Circle({\n fill: fill,\n stroke: new Stroke({\n color: 'rgba(255, 173, 10, 1)',\n width: 3\n }),\n radius: 10\n }),\n fill: fill,\n stroke: new Stroke({\n color: 'rgba(255, 173, 10, 1)',\n width: 3\n })\n })\n ];\n }\n\n}\n","\nexport class HbsmrIdentity {\n\n public static fetch(): Promise { \n return new Promise(\n function (resolve, reject) {\n $.getJSON(\"/api/hbsmridentity/get\", function (response) {\n resolve(response);\n }).fail(function () {\n resolve(null);\n });\n }\n );\n }\n\n}\n\nexport class HbsmrUser {\n public userId: string; \n public roles: Array;\n}","import { IMappingTextPack, olMap, IMap } from \"esdm-map\";\nimport { HbsmrUser } from \"./HbsmrUser\";\nimport { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\nimport { SuffolkRecordType, SuffolkRecordSubType } from \"./SuffolkRecordTypes\";\n\nexport class MapBase {\n\n constructor( \n protected mappingTextPack: IMappingTextPack,\n protected user: HbsmrUser) { \n }\n\n protected isAuthenticated = (): boolean => {\n return this.user !== null;\n }\n\n protected filterMapLayers = (layerGroupConfig: Array ): Array => {\n if (!this.isAuthenticated()) {\n //remove layers that require authentication\n return layerGroupConfig.filter(function (value, index, arr) {\n let authlayers = (value.subType === SuffolkRecordSubType.Shine || value.type === SuffolkRecordType.Consultation);\n return !authlayers;\n });\n } else {\n return layerGroupConfig;\n }\n } \n\n}","import { PrintMap } from \"esdm-map/dist/map/tools/PrintMap\";\nimport { IPrintOptions } from \"esdm-map/dist/map/tools/IPrintOptions\";\nimport { DownloadMapPng } from \"esdm-map/dist/map/tools/DownloadMapPng\";\nimport { IMapViewStore } from \"esdm-map/dist/map/store/IMapViewStore\";\nimport { IVectorLayerGroupFactory } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupFactory\";\nimport { IMapContextMenu } from \"esdm-map/dist/map/tools/IMapContextMenu\";\nimport { IFeatureLoader } from \"esdm-map/dist/layers/vector/sources/loaders/interfaces/IFeatureLoader\";\nimport { OgcMapFilter } from \"esdm-map/dist/map/filters/OgcMapFilter\";\nimport { VectorLayerGroupFactory } from \"esdm-map/dist/layers/groups/vector/VectorLayerGroupFactory\";\nimport { MapViewStore } from \"esdm-map/dist/map/store/MapViewStore\";\nimport { MapContextMenu } from \"esdm-map/dist/map/tools/MapContextMenu\";\nimport { ToolTipProvider } from \"esdm-map/dist/map/tooltip/ToolTipProvider\";\nimport { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\nimport { GeoJsonFeatureLoader } from \"esdm-map/dist/layers/vector/sources/loaders/GeoJsonFeatureLoader\";\nimport { ILoaderExtentsBehaviour } from \"esdm-map/dist/layers/vector/sources/loaders/behaviours/ILoaderExtentsBehaviour\";\nimport { BoundsLoaderExtentsBehaviour } from \"esdm-map/dist/layers/vector/sources/loaders/behaviours/BoundsLoaderBehaviour\";\nimport { IFeatureAdd } from \"esdm-map/dist/layers/vector/sources/loaders/interfaces/IFeatureAdd\";\nimport { LayerGroupFactory } from \"esdm-map/dist/layers/groups/LayerGroupFactory\";\nimport { LayerGroupCollection } from \"esdm-map/dist/layers/groups/LayerGroupCollection\";\nimport { WfsBboxAsWktRequestParams, WfsParamSourceMapServer } from \"esdm-map/dist/layers/vector/sources/wfs\";\nimport { MapFilters } from \"esdm-map/dist/map/filters/MapFilters\";\nimport { IMappingTextPack } from \"esdm-map/dist/resources/MappingTextPack\";\nimport { FeatureAddSmallGeomsAsPoint } from \"esdm-map/dist/layers/vector/sources/loaders\";\nimport { IStyleFactory } from \"esdm-map/dist/layers/vector/styles/IStyleFactory\";\nimport { IVectorLayerSourceFactory } from \"esdm-map/dist/layers/vector/sources/interfaces\";\nimport { VectorLayerSourceFactory } from \"esdm-map/dist/layers/vector/sources\";\nimport { IBaseLayerFactory } from \"esdm-map/dist/baselayers/interfaces/IBaseLayerFactory\";\nimport { FilterType } from \"esdm-map/dist/map/filters/FilterType\";\nimport { VectorLayerStrategy } from \"esdm-map/dist/layers/vector/VectorLayerStrategy\";\nimport { ZoomToDataBounds } from \"esdm-map/dist/layers/vector/ZoomToDataBounds\";\nimport { MousePosition } from \"esdm-map/dist/map/controls/MousePosition\";\nimport { MouseWheelZoom } from \"esdm-map/dist/map/controls/MouseWheelZoom\";\n\nimport {\n MapOptions,\n IMap,\n MapLayerSwitcher,\n IMapAreaMask,\n ILogger,\n IResourceFactory,\n IMapListRecordItem,\n IMapFactory,\n BaseLayerFactory_3857,\n MapFactory,\n Logger,\n\n MapFeatureInfo\n} from \"esdm-map\";\nimport { HbsmrStyleFactory } from \"./HbsmrStyleFactory\";\nimport { HbsmrResourcefactory } from \"./HbsmrResourceFactory\";\nimport { SuffolkRecordType, SuffolkRecordSubType } from \"./SuffolkRecordTypes\";\nimport { DefaultLayerConfigurationFactory } from \"./DefaultLayerConfigurationFactory\";\nimport { DefaultMapOptions } from \"./DefaultMapOptions\";\nimport { TextPacks, TextPackLoader } from \"./TextPackLoader\";\nimport { HbsmrIdentity, HbsmrUser } from \"./HbsmrUser\";\nimport { MapBase } from \"./MapBase\";\nimport { IWmsLayerGroupConfig, IWmsLayerGroupFactory } from \"esdm-map/dist/layers/groups/wms/interfaces\";\nimport { WmsLayerGroupFactory } from \"esdm-map/dist/layers/groups/wms\";\nimport { LayerGroupCollections } from \"esdm-map/dist/layers/groups/LayerGroupCollections\";\nimport { IlayerGroupCollectionConfig } from \"esdm-map/dist/layers/groups/IlayerGroupCollectionConfig\";\n\nimport \"../wwwroot/css/ol.css\";\nimport \"../wwwroot/css/bootstrap-slider.min.css\";\nimport \"../wwwroot/css/ol-contextmenu.css\";\n\n$(document).ready(function () {\n let printOptions: PrintMap = new PrintMap();\n let ele = $(\"#theMap\");\n if (ele.length === 1) {\n HbsmrIdentity.fetch().then(function (e) {\n let user = e;\n let maxFeatureCount: number = ele.data(\"max-feature-count\");\n let mapData = $(\"#SingleRecordMapData\");\n let recordType: string = mapData.data(\"record-type\");\n\n let init = function (textpacks: TextPacks) {\n let userGuid = $(\"#mapFilters\").data(\"filter-userguid\");\n let map: MapSingleRecord = new MapSingleRecord(\"theMap\", recordType, null, maxFeatureCount, printOptions, textpacks.mapping, user);\n }\n TextPackLoader.load().then(init);\n });\n }\n});\n\n\nexport class MapSingleRecord extends MapBase{\n\n private map: IMap;\n private mapStore: IMapViewStore;\n private ls: MapLayerSwitcher;\n private initialised: boolean = false;\n private loadingCount = 0;\n private mfOptions: MapOptions;\n private layerGroups: LayerGroupCollections;\n private styleFactory: IStyleFactory;\n private herMask: IMapAreaMask;\n private infoPopup: MapFeatureInfo;\n private logger: ILogger;\n private vectorLayerSourceFactory: IVectorLayerSourceFactory;\n private wmsLayerGroupFactory: IWmsLayerGroupFactory;\n private baseLayerFactory: IBaseLayerFactory;\n private mapFactory: IMapFactory;\n private vectorLayerGroupFactory: IVectorLayerGroupFactory;\n private layerGroupFactory: LayerGroupFactory;\n private boundsLoaderBehaviour: ILoaderExtentsBehaviour;\n private mapContextMenu: IMapContextMenu;\n private resourcefactory: IResourceFactory;\n private downloadPng: DownloadMapPng;\n private featureLoader: IFeatureLoader;\n private featureAdd: IFeatureAdd;\n private mapFilter: MapFilters;\n private layerConfigFactory: DefaultLayerConfigurationFactory;\n private mousePosition: MousePosition;\n\n constructor(\n private _mapElementId: string,\n private _recordType: string,\n private _recordSubType: string,\n private _maxRecordCount: number,\n public printOptions: IPrintOptions,\n mappingTextPack: IMappingTextPack,\n user: HbsmrUser)\n {\n super(mappingTextPack, user);\n this.init();\n }\n\n private init = () => {\n if (this.initialised) {\n return;\n }\n\n this.layerConfigFactory = new DefaultLayerConfigurationFactory();\n this.wmsLayerGroupFactory = new WmsLayerGroupFactory();\n this.vectorLayerGroupFactory = new VectorLayerGroupFactory();\n this.layerGroupFactory = new LayerGroupFactory(this.vectorLayerGroupFactory, this.wmsLayerGroupFactory);\n this.baseLayerFactory = new BaseLayerFactory_3857();\n this.featureLoader = new GeoJsonFeatureLoader();\n this.featureAdd = new FeatureAddSmallGeomsAsPoint(4.5);\n this.mapFactory = new MapFactory();\n this.logger = new Logger();\n this.styleFactory = new HbsmrStyleFactory();\n this.resourcefactory = new HbsmrResourcefactory(this.mappingTextPack);\n\n this.mapFilter = new MapFilters();\n this.mapFilter.OgcFilter = new OgcMapFilter();\n\n this.mfOptions = DefaultMapOptions.GetDefaultOptions(this._mapElementId, \"SingleRecordMap\");\n this.mfOptions.mapZoom = 18;\n\n this.layerGroups = this.layerGroupFactory.getLayerGroups(this.getLayerGroupConfig(), this.styleFactory);\n this.mfOptions.layerGroupCollection = this.layerGroups;\n\n this.mapStore = new MapViewStore(this.mfOptions.mapStoreKey);\n //clear the store so we don't remember the layers etc?\n //this.MapViewStore.clear();\n this.boundsLoaderBehaviour = new BoundsLoaderExtentsBehaviour(this.logger); \n this.mapContextMenu = new MapContextMenu(this.mappingTextPack);\n this.vectorLayerSourceFactory = new VectorLayerSourceFactory(this.logger, this.boundsLoaderBehaviour, this.featureLoader, this.featureAdd);\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); \n this.infoPopup = new MapFeatureInfo(this.map, this.resourcefactory.getRecordTypeResource(), this.mappingTextPack);\n\n this.ls = new MapLayerSwitcher(this.map, this.mapStore, this.styleFactory, this.map.baseLayers, this.layerGroups, this.mappingTextPack, {\n showList: false,\n showOpenPanelByDefault: false,\n rememberActivePanel: false\n });\n\n if (this.printOptions.isPrintMap) {\n this.printOptions.setMap(this.map);\n }\n this.downloadPng = new DownloadMapPng(this.map, this.mappingTextPack); \n this.mousePosition = new MousePosition(this.map, this.mappingTextPack);\n\n //hide the gazetteer, temp fix possibly pending redoing of the html\n $(\"#slide-panel-btn-search\").hide();\n\n this.ctrlZoomHandler();\n\n this.initialised = true;\n }\n\n\n private ctrlZoomHandler = (): void => {\n let z = new MouseWheelZoom(this.map, this.mappingTextPack);\n $(\"#slide-panel,#slide-headers,.ol-control,#mouse-position,.ol-scale-line\").on('wheel', function (e) {\n e.preventDefault();\n });\n }\n\n private getLayerGroupConfig = (): Array => {\n let url: string = \"/api/MapServer/Hbsmr\";\n\n let layerGroupConfig: Array = [\n //THE SELECTED RECORD \n {\n ref: \"SelectedRecord\",\n displayName: \"Selected record\",\n type: this._recordType,\n subType: this._recordSubType,\n strategy: VectorLayerStrategy.OgcFilterAll,\n zoomToDataBounds: ZoomToDataBounds.Always,\n useSelectedStyle: true,\n visibleOnLoad: true,\n displayInLayerSwitcher: true,\n wfsParams: new WfsParamSourceMapServer(new WfsBboxAsWktRequestParams(), { srsName: \"EPSG:27700\" }),\n url: url,\n legend: { polygon: false, line: false },\n restrictMapExtentToDataBounds: true,\n filterOptions: {\n filterType: FilterType.Ogc,\n filters: [\"Uid\"],\n },\n layers: [\n {\n layerName: `${this.getLayerNameFromType()}PolygonsWFS`,\n minZoom: 7,\n maxZoom: 19\n }\n ,\n {\n layerName: `${this.getLayerNameFromType()}LinesWFS`,\n minZoom: 7,\n maxZoom: 19\n },\n {\n layerName: `${this.getLayerNameFromType()}PointsWFS`,\n minZoom: 7,\n maxZoom: 19\n },\n ]\n },\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Monument),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Event),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Designation, SuffolkRecordSubType.ScheduledMonument),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Designation, SuffolkRecordSubType.ListedBuilding),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Consultation),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Designation, SuffolkRecordSubType.RegisteredParksAndGardens),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Designation, SuffolkRecordSubType.Shine)\n\n ];\n\n return [\n {\n ref: \"all_layers\",\n name: \"All layers\",\n useAccordion: false,\n expandedOnFirstLoad: true,\n layerGroupConfigs: this.filterMapLayers(layerGroupConfig)\n }\n ];\n }\n\n\n public getLayerNameFromType = (): string => {\n let name: string = null;\n let recordType = this._recordType;\n let recordSubType = this._recordSubType;\n\n switch (recordType) {\n case SuffolkRecordType.Monument:\n name = \"Monument\"\n break;\n\n case SuffolkRecordType.Event:\n name = \"Event\"\n break;\n\n case SuffolkRecordType.Designation:\n name = \"Designation\"\n break;\n\n case SuffolkRecordType.Consultation:\n name = \"Consultation\"\n break;\n }\n\n\n if (name === null && recordSubType !== null) {\n switch (recordSubType) {\n\n case SuffolkRecordSubType.ListedBuilding:\n name = \"ListedBuilding\";\n break;\n\n case SuffolkRecordSubType.ScheduledMonument:\n name = \"ScheduledMonument\";\n break;\n\n case SuffolkRecordSubType.RegisteredParksAndGardens:\n name = \"RegisteredParksAndGardens\";\n break;\n\n case SuffolkRecordSubType.Shine:\n name = \"Shine\";\n break;\n }\n }\n return name;\n }\n}\n\n","\nexport enum SuffolkRecordType { \n Consultation = \"cons\",\n Monument = \"mon\",\n Event = \"event\",\n Source = \"source\",\n Designation = \"desig\",\n SuffolkBoundary= \"bound\"\n} \n\nexport enum SuffolkRecordSubType { \n Shine = \"SHINE\",\n ListedBuilding = \"LB\",\n RegisteredParksAndGardens = \"RG\",\n ScheduledMonument= \"SAM\"\n} \n","import {\n IMappingTextPack,\n MappingTextPack\n} from \"esdm-map\";\n\nexport class TextPacks {\n public constructor( \n public mapping: IMappingTextPack\n ) { }\n}\n\nexport class TextPackLoader {\n\n public static load(): Promise { \n let mapping = MappingTextPack.load();\n\n return Promise.all([mapping]).then(\n function (results) {\n return new TextPacks(results[0]);\n }\n )\n }\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","// 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\t506: 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__(8409)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","mapFileUrl","layerConfig","recordType","recordSubType","opts","SuffolkRecordType","Monument","Event","Consultation","SuffolkBoundary","SuffolkRecordSubType","ListedBuilding","ScheduledMonument","RegisteredParksAndGardens","Shine","displayName","ref","type","url","displayInLayerSwitcher","displayInLegend","visibleOnLoad","queryable","layers","layerName","minZoom","maxZoom","strategy","VectorLayerStrategy","Bbox","wfsParams","paramSource","legend","point","line","visibleOnFirstLoad","alwaysLoadOnZoom","Designation","subType","urlParams","recsubtypecode","WfsParamSourceMapServer","WfsBboxAsWktRequestParams","srsName","DefaultLayerConfigurationFactory","GetDefaultOptions","mapElementId","mapStoreKey","opt","MapOptions","bingApiKey","$","data","esdmOsmApiKey","baseMaps","BaseLayerType","OSM","BingOS","BingAerial","defaultBaseMap","enableBoundsTracking","mapZoom","extent","mapCentre","displayProjection","dataProjection","dragRotateAndZoom","zoomToNearestBounds","DefaultMapOptions","_mappingTextPack","items","Array","push","recordTypeCode","recordSubTypeCode","heading","groupByRecordSubTypeCode","toLowerCase","mapToIRecordTypeInfoClick","featureProperties","layerGroup","id","uid","name","rectype","recsubtype","this","getHeading","getInfoClickHtmlTemplate","recordTypeInfoClick","layerType","controller","goToDetails","centreOnMap","RecordTypeResource","HbsmrRecordTypeResource","getRecordTypeResource","HbsmrResourcefactory","getStyle","style","getSelectedStyle","SelectedRecord","CommonStyle","fillColour","fill","color","stroke","width","image","radius","points","rotation","angle","radius2","HbsmrStyleFactory","fetch","Promise","resolve","reject","getJSON","response","fail","HbsmrIdentity","HbsmrUser","MapBase","mappingTextPack","user","isAuthenticated","filterMapLayers","layerGroupConfig","filter","value","index","arr","document","ready","printOptions","PrintMap","ele","length","then","e","maxFeatureCount","TextPackLoader","load","textpacks","MapSingleRecord","mapping","_mapElementId","_recordType","_recordSubType","_maxRecordCount","initialised","loadingCount","init","layerConfigFactory","wmsLayerGroupFactory","WmsLayerGroupFactory","vectorLayerGroupFactory","VectorLayerGroupFactory","layerGroupFactory","LayerGroupFactory","baseLayerFactory","BaseLayerFactory_3857","featureLoader","GeoJsonFeatureLoader","featureAdd","FeatureAddSmallGeomsAsPoint","mapFactory","MapFactory","logger","Logger","styleFactory","resourcefactory","mapFilter","MapFilters","OgcFilter","OgcMapFilter","mfOptions","layerGroups","getLayerGroups","getLayerGroupConfig","layerGroupCollection","mapStore","MapViewStore","boundsLoaderBehaviour","BoundsLoaderExtentsBehaviour","mapContextMenu","MapContextMenu","vectorLayerSourceFactory","VectorLayerSourceFactory","map","instance","infoPopup","MapFeatureInfo","ls","MapLayerSwitcher","baseLayers","showList","showOpenPanelByDefault","rememberActivePanel","isPrintMap","setMap","downloadPng","DownloadMapPng","mousePosition","MousePosition","hide","ctrlZoomHandler","MouseWheelZoom","on","preventDefault","OgcFilterAll","zoomToDataBounds","ZoomToDataBounds","Always","useSelectedStyle","polygon","restrictMapExtentToDataBounds","filterOptions","filterType","FilterType","Ogc","filters","getLayerNameFromType","useAccordion","expandedOnFirstLoad","layerGroupConfigs","TextPacks","MappingTextPack","all","results","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""}