{"version":3,"file":"js/9069-4785d6077d5fdffb5c76.js","mappings":"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","sources":["webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map/svg-icon.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map/icon.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map/controller_registry.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map/controller.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map/controller/markers.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map/controller/static.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map/controller/drag_marker.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map/factory.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/map.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-eb342dcc7b8a/decidim-core/app/packs/src/decidim/vendor/jquery-tmpl.js"],"sourcesContent":["/* eslint prefer-reflect: 0 */\n\n// Leaflet-SVGIcon\n// SVG icon for any marker class\n//\n// Copyright (c) 2016 University of New Hampshire - The MIT License\n// Author: Ilya Atkin \n// Originally copied from https://github.com/iatkin/leaflet-svgicon\n//\n\nlet SVGIcon = L.DivIcon.extend({\n options: {\n \"circleText\": \"\",\n \"className\": \"svg-icon\",\n // defaults to [iconSize.x/2, iconSize.x/2]\n \"circleAnchor\": null,\n // defaults to color\n \"circleColor\": null,\n // defaults to opacity\n \"circleOpacity\": null,\n \"circleFillColor\": \"rgb(255,255,255)\",\n // default to opacity\n \"circleFillOpacity\": null,\n \"circleRatio\": 0.5,\n // defaults to weight\n \"circleWeight\": null,\n \"color\": \"rgb(0,102,255)\",\n // defaults to color\n \"fillColor\": null,\n \"fillOpacity\": 0.4,\n \"fontColor\": \"rgb(0, 0, 0)\",\n \"fontOpacity\": \"1\",\n // defaults to iconSize.x/4\n \"fontSize\": null,\n \"fontWeight\": \"normal\",\n // defaults to [iconSize.x/2, iconSize.y] (point tip)\n \"iconAnchor\": null,\n \"iconSize\": L.point(32, 48),\n \"opacity\": 1,\n \"popupAnchor\": null,\n \"shadowAngle\": 45,\n \"shadowBlur\": 1,\n \"shadowColor\": \"rgb(0,0,10)\",\n \"shadowEnable\": false,\n \"shadowLength\": 0.75,\n \"shadowOpacity\": 0.5,\n \"shadowTranslate\": L.point(0, 0),\n \"weight\": 2\n },\n initialize: function(_options) {\n let options = L.Util.setOptions(this, _options)\n\n // iconSize needs to be converted to a Point object if it is not passed as one\n options.iconSize = L.point(options.iconSize)\n\n // in addition to setting option dependant defaults, Point-based options are converted to Point objects\n if (options.circleAnchor) {\n options.circleAnchor = L.point(options.circleAnchor)\n } else {\n options.circleAnchor = L.point(Number(options.iconSize.x) / 2, Number(options.iconSize.x) / 2)\n }\n if (!options.circleColor) {\n options.circleColor = options.color\n }\n if (!options.circleFillOpacity) {\n options.circleFillOpacity = options.opacity\n }\n if (!options.circleOpacity) {\n options.circleOpacity = options.opacity\n }\n if (!options.circleWeight) {\n options.circleWeight = options.weight\n }\n if (!options.fillColor) {\n options.fillColor = options.color\n }\n if (!options.fontSize) {\n options.fontSize = Number(options.iconSize.x / 4)\n }\n if (options.iconAnchor) {\n options.iconAnchor = L.point(options.iconAnchor)\n }\n else {\n options.iconAnchor = L.point(Number(options.iconSize.x) / 2, Number(options.iconSize.y))\n }\n if (options.popupAnchor) {\n options.popupAnchor = L.point(options.popupAnchor)\n }\n else {\n options.popupAnchor = L.point(0, (-0.75) * (options.iconSize.y))\n }\n\n options.html = this._createSVG()\n },\n _createCircle: function() {\n let cx = Number(this.options.circleAnchor.x)\n let cy = Number(this.options.circleAnchor.y)\n let radius = this.options.iconSize.x / 2 * Number(this.options.circleRatio)\n let fill = this.options.circleFillColor\n let fillOpacity = this.options.circleFillOpacity\n let stroke = this.options.circleColor\n let strokeOpacity = this.options.circleOpacity\n let strokeWidth = this.options.circleWeight\n let className = `${this.options.className}-circle`\n\n let circle = ``\n\n return circle\n },\n _createPathDescription: function() {\n let height = Number(this.options.iconSize.y)\n let width = Number(this.options.iconSize.x)\n let weight = Number(this.options.weight)\n let margin = weight / 2\n\n let startPoint = `M ${margin} ${width / 2} `\n let leftLine = `L ${width / 2} ${height - weight} `\n let rightLine = `L ${width - margin} ${width / 2} `\n let arc = `A ${width / 4} ${width / 4} 0 0 0 ${margin} ${width / 2} Z`\n\n let description = startPoint + leftLine + rightLine + arc\n\n return description\n },\n _createPath: function() {\n let pathDescription = this._createPathDescription()\n let strokeWidth = this.options.weight\n let stroke = this.options.color\n let strokeOpacity = this.options.opacity\n let fill = this.options.fillColor\n let fillOpacity = this.options.fillOpacity\n let className = `${this.options.className}-path`\n\n let path = ``\n\n return path\n },\n _createShadow: function() {\n let pathDescription = this._createPathDescription()\n let strokeWidth = this.options.weight\n let stroke = this.options.shadowColor\n let fill = this.options.shadowColor\n let className = `${this.options.className}-shadow`\n\n let origin = `${this.options.iconSize.x / 2}px ${this.options.iconSize.y}px`\n let rotation = this.options.shadowAngle\n let height = this.options.shadowLength\n let opacity = this.options.shadowOpacity\n let blur = this.options.shadowBlur\n let translate = `${this.options.shadowTranslate.x}px, ${this.options.shadowTranslate.y}px`\n\n let blurFilter = ``\n\n let shadow = ``\n\n return blurFilter + shadow\n },\n _createSVG: function() {\n let path = this._createPath()\n let circle = this._createCircle()\n let text = this._createText()\n let shadow = \"\"\n if (this.options.shadowEnable) {\n shadow = this._createShadow()\n }\n\n let className = `${this.options.className}-svg`\n let width = this.options.iconSize.x\n let height = this.options.iconSize.y\n\n if (this.options.shadowEnable) {\n width += this.options.iconSize.y * this.options.shadowLength - (this.options.iconSize.x / 2)\n width = Math.max(width, 32)\n height += this.options.iconSize.y * this.options.shadowLength\n }\n\n let style = `width:${width}px; height:${height}`\n let svg = `${shadow}${path}${circle}${text}`\n\n return svg\n },\n _createText: function() {\n let fontSize = `${this.options.fontSize}px`\n let fontWeight = this.options.fontWeight\n let lineHeight = Number(this.options.fontSize)\n\n let coordX = this.options.circleAnchor.x\n // 35% was found experimentally\n let coordY = this.options.circleAnchor.y + (lineHeight * 0.35)\n let circleText = this.options.circleText\n let textColor = this.options.fontColor.replace(\"rgb(\", \"rgba(\").replace(\")\", `,${this.options.fontOpacity})`)\n\n let text = `${circleText}`\n\n return text\n }\n})\n\nlet SVGMarker = L.Marker.extend({\n options: {\n \"iconFactory\": L.divIcon.svgIcon,\n \"iconOptions\": {}\n },\n initialize: function(latlng, _options) {\n let options = L.Util.setOptions(this, _options)\n options.icon = options.iconFactory(options.iconOptions)\n this._latlng = latlng\n },\n onAdd: function(map) {\n L.Marker.prototype.onAdd.call(this, map)\n },\n setStyle: function(style) {\n if (this._icon) {\n // let svg = this._icon.children[0]\n let iconBody = this._icon.children[0].children[0]\n let iconCircle = this._icon.children[0].children[1]\n\n if (style.color && !style.iconOptions) {\n let stroke = style.color.replace(\"rgb\", \"rgba\").replace(\")\", `,${this.options.icon.options.opacity})`)\n let fill = style.color.replace(\"rgb\", \"rgba\").replace(\")\", `,${this.options.icon.options.fillOpacity})`)\n iconBody.setAttribute(\"stroke\", stroke)\n iconBody.setAttribute(\"fill\", fill)\n iconCircle.setAttribute(\"stroke\", stroke)\n\n this.options.icon.fillColor = fill\n this.options.icon.color = stroke\n this.options.icon.circleColor = stroke\n }\n if (style.opacity) {\n this.setOpacity(style.opacity)\n }\n if (style.iconOptions) {\n if (style.color) {\n style.iconOptions.color = style.color\n }\n let iconOptions = L.Util.setOptions(this.options.icon, style.iconOptions)\n this.setIcon(L.divIcon.svgIcon(iconOptions))\n }\n }\n }\n});\n\nexport { SVGMarker, SVGIcon }\n\n","import { SVGIcon } from \"src/decidim/map/svg-icon\";\n\nL.DivIcon.SVGIcon = SVGIcon;\nL.DivIcon.SVGIcon.DecidimIcon = L.DivIcon.SVGIcon.extend({\n options: {\n fillColor: \"#ef604d\",\n fillOpacity: 1,\n opacity: 0\n },\n _createPathDescription: function() {\n return \"M14 1.17a11.685 11.685 0 0 0-11.685 11.685c0 11.25 10.23 20.61 10.665 21a1.5 1.5 0 0 0 2.025 0c0.435-.435 10.665-9.81 10.665-21A11.685 11.685 0 0 0 14 1.17Zm0 17.415A5.085 5.085 0 1 1 19.085 13.5 5.085 5.085 0 0 1 14 18.585Z\";\n },\n _createCircle: function() {\n return \"\"\n },\n // Improved version of the _createSVG, essentially the same as in later\n // versions of Leaflet. It adds the `px` values after the width and height\n // CSS making the focus borders work correctly across all browsers.\n _createSVG: function() {\n const path = this._createPath();\n const circle = this._createCircle();\n const text = this._createText();\n const className = `${this.options.className}-svg`;\n\n const style = `width:${this.options.iconSize.x}px; height:${this.options.iconSize.y}px;`;\n\n const svg = `${path}${circle}${text}`;\n\n return svg;\n }\n});\n","const CONTROLLER_REGISTRY = {};\n\nexport default class MapControllerRegistry {\n static getController(mapId) {\n return CONTROLLER_REGISTRY[mapId];\n }\n\n static setController(mapId, map) {\n CONTROLLER_REGISTRY[mapId] = map;\n }\n\n static findByMap(map) {\n return Object.values(CONTROLLER_REGISTRY).find((ctrl) => {\n return ctrl.getMap() === map;\n });\n }\n}\n","import MapControllerRegistry from \"src/decidim/map/controller_registry\"\n\nexport default class MapController {\n constructor(mapId, config) {\n // Remove the old map if there is already one with the same ID.\n const old = MapControllerRegistry.getController(mapId);\n if (old) {\n old.remove();\n }\n\n this.mapId = mapId;\n this.config = $.extend({\n popupTemplateId: \"marker-popup\",\n markerColor: \"#ef604d\"\n }, config);\n\n this.map = null;\n this.eventHandlers = {};\n\n MapControllerRegistry.setController(mapId, this);\n }\n\n getConfig() {\n return this.config;\n }\n\n getMap() {\n return this.map;\n }\n\n load() {\n this.map = L.map(this.mapId);\n\n this.map.scrollWheelZoom.disable();\n\n // Fix the keyboard navigation on the map\n this.map.on(\"popupopen\", (ev) => {\n const $popup = $(ev.popup.getElement());\n $popup.attr(\"tabindex\", 0).focus();\n });\n this.map.on(\"popupclose\", (ev) => {\n $(ev.popup._source._icon).focus();\n });\n\n return this.map;\n }\n\n // Override this in the specific map controllers.\n start() {}\n\n remove() {\n if (this.map) {\n this.map.remove();\n this.map = null;\n }\n }\n\n createIcon() {\n return new L.DivIcon.SVGIcon.DecidimIcon({\n fillColor: this.config.markerColor,\n iconSize: L.point(28, 36)\n });\n }\n\n setEventHandler(name, callback) {\n this.eventHandlers[name] = callback;\n }\n\n triggerEvent(eventName, payload) {\n const handler = this.eventHandlers[eventName];\n if (typeof handler === \"function\") {\n return Reflect.apply(handler, this, payload);\n }\n return null;\n }\n}\n","import \"src/decidim/vendor/jquery-tmpl\"\nimport MapController from \"src/decidim/map/controller\"\nimport \"leaflet.markercluster\";\n\nexport default class MapMarkersController extends MapController {\n start() {\n this.markerClusters = null;\n\n if (Array.isArray(this.config.markers) && this.config.markers.length > 0) {\n this.addMarkers(this.config.markers);\n } else {\n this.map.fitWorld();\n }\n }\n\n addMarkers(markersData) {\n if (this.markerClusters === null) {\n this.markerClusters = new L.MarkerClusterGroup();\n this.map.addLayer(this.markerClusters);\n }\n\n // Pre-compiles the template\n $.template(\n this.config.popupTemplateId,\n $(`#${this.config.popupTemplateId}`).html()\n );\n\n const bounds = new L.LatLngBounds(\n markersData.map(\n (markerData) => [markerData.latitude, markerData.longitude]\n )\n );\n\n markersData.forEach((markerData) => {\n let marker = new L.Marker([markerData.latitude, markerData.longitude], {\n icon: this.createIcon(),\n keyboard: true,\n title: markerData.title\n });\n\n let node = document.createElement(\"div\");\n\n $.tmpl(this.config.popupTemplateId, markerData).appendTo(node);\n marker.bindPopup(node, {\n maxwidth: 640,\n minWidth: 500,\n keepInView: true,\n className: \"map-info\"\n }).openPopup();\n\n this.markerClusters.addLayer(marker);\n });\n\n // Make sure there is enough space in the map for the padding to be\n // applied. Otherwise the map will automatically zoom out (test it on\n // mobile). Make sure there is at least the same amount of width and\n // height available on both sides + the padding (i.e. 4x padding in\n // total).\n const size = this.map.getSize();\n if (size.y >= 400 && size.x >= 400) {\n this.map.fitBounds(bounds, { padding: [100, 100] });\n } else if (size.y >= 120 && size.x >= 120) {\n this.map.fitBounds(bounds, { padding: [30, 30] });\n } else {\n this.map.fitBounds(bounds);\n }\n }\n\n clearMarkers() {\n this.map.removeLayer(this.markerClusters);\n this.markerClusters = new L.MarkerClusterGroup();\n this.map.addLayer(this.markerClusters);\n }\n}\n","import MapController from \"src/decidim/map/controller\"\n\nconst openLink = window.open;\n\nexport default class MapStaticController extends MapController {\n start() {\n this.map.removeControl(this.map.zoomControl);\n this.map.dragging.disable();\n this.map.touchZoom.disable();\n this.map.doubleClickZoom.disable();\n this.map.scrollWheelZoom.disable();\n this.map.boxZoom.disable();\n this.map.keyboard.disable();\n if (this.map.tap) {\n this.map.tap.disable();\n }\n\n if (this.config.zoom) {\n this.map.setZoom(this.config.zoom);\n } else {\n this.map.setZoom(15);\n }\n\n if (this.config.latitude && this.config.longitude) {\n const coordinates = [this.config.latitude, this.config.longitude];\n\n this.map.panTo(coordinates);\n const marker = L.marker(coordinates, {\n icon: this.createIcon(),\n keyboard: true,\n title: this.config.title\n }).addTo(this.map);\n marker._icon.removeAttribute(\"tabindex\");\n }\n\n if (this.config.link) {\n this.map._container.addEventListener(\"click\", (ev) => {\n ev.preventDefault();\n this.map._container.focus();\n openLink(this.config.link, \"_blank\");\n });\n }\n }\n}\n","import MapController from \"src/decidim/map/controller\"\n\nexport default class MapDragMarkerController extends MapController {\n start() {\n if (this.config.marker) {\n this.addMarker(this.config.marker);\n } else {\n this.map.fitWorld();\n }\n }\n\n addMarker(markerData) {\n if (markerData.latitude === null || markerData.longitude === null) {\n return;\n }\n\n const coordinates = {\n lat: markerData.latitude,\n lng: markerData.longitude\n };\n this.triggerEvent(\"coordinates\", [coordinates]);\n\n this.marker = L.marker(coordinates, {\n icon: this.createIcon(),\n keyboard: true,\n title: markerData.title,\n draggable: true\n });\n this.marker.on(\"drag\", (ev) => {\n this.triggerEvent(\"coordinates\", [ev.target.getLatLng()]);\n });\n this.marker.addTo(this.map);\n\n const zoom = parseInt(this.config.zoom, 10) || 14;\n this.map.setView(coordinates, zoom);\n }\n\n getMarker() {\n return this.marker;\n }\n\n removeMarker() {\n if (this.marker) {\n this.marker.remove();\n this.marker = null;\n }\n }\n}\n","import \"src/decidim/map/icon\"\n\nimport MapMarkersController from \"src/decidim/map/controller/markers\"\nimport MapStaticController from \"src/decidim/map/controller/static\"\nimport MapDragMarkerController from \"src/decidim/map/controller/drag_marker\"\n\n/**\n * A factory method that creates a new map controller instance. This method\n * can be overridden in order to return different types of maps for\n * differently configured map elements.\n *\n * For instance, one map could pass an extra `type` configuration with the\n * value \"custom\" for the map element, this factory method would identify\n * it and then return a different controller for that map than the default.\n * This would allow this types of maps to function differently.\n *\n * An example how to use in the ERB view:\n * <%= dynamic_map_for type: \"custom\" do %>\n * <%= javascript_pack_tag \"map_customization\" %>\n * <% end %>\n *\n * And then the actual customization at `map_customization.js.es6`:\n * var originalCreateMapController = window.Decidim.createMapController;\n * window.Decidim.createMapController = (mapId, config) => {\n * if (config.type === \"custom\") {\n * // Obviously you need to implement CustomMapController for this to\n * // work. You can find an example at:\n * // decidim-dev/app/packs/src/decidim/dev/test/custom_map_factory.js\n * return new window.Decidim.CustomMapController(mapId, config);\n * }\n *\n * return originalCreateMapController(mapId, config);\n * }\n *\n * @param {string} mapId The ID of the map element.\n * @param {Object} config The map configuration object.\n * @returns {MapController} The controller for the map.\n */\nconst createMapController = function(mapId, config) {\n if (config.type === \"static\") {\n return new MapStaticController(mapId, config);\n } else if (config.type === \"drag-marker\") {\n return new MapDragMarkerController(mapId, config);\n }\n\n return new MapMarkersController(mapId, config);\n}\n\nwindow.Decidim.createMapController = createMapController;\n","import \"src/decidim/map/factory\"\n\n$(() => {\n // Load the map controller factory method in the document.ready handler to\n // allow overriding it by any script that is loaded before the document is\n // ready.\n let $mapElements = $(\"[data-decidim-map]\");\n if ($mapElements.length < 1 && $(\"#map\").length > 0) {\n throw new Error(\n \"DEPRECATION: Please update your maps customizations or include 'decidim/map/legacy.js' for legacy support!\"\n );\n }\n\n $mapElements.each((_i, el) => {\n const $map = $(el);\n let mapId = $map.attr(\"id\");\n if (!mapId) {\n mapId = `map-${Math.random().toString(36).substr(2, 9)}`;\n $map.attr(\"id\", mapId);\n }\n\n const mapConfig = $map.data(\"decidim-map\");\n const ctrl = window.Decidim.createMapController(mapId, mapConfig);\n const map = ctrl.load();\n\n $map.data(\"map\", map);\n $map.data(\"map-controller\", ctrl);\n\n $map.trigger(\"configure.decidim\", [map, mapConfig]);\n\n ctrl.start();\n\n // Indicates the map is loaded with the map objects initialized and ready\n // to be used.\n $map.trigger(\"ready.decidim\", [map, mapConfig]);\n });\n});\n","/* eslint-disable */\n\n/*\n * jQuery Templating Plugin\n * Copyright 2010, John Resig\n * Dual licensed under the MIT or GPL Version 2 licenses.\n */\n;(function( jQuery, undefined ){\n var oldManip = jQuery.fn.domManip, tmplItmAtt = \"_tmplitem\", htmlExpr = /^[^<]*(<[\\w\\W]+>)[^>]*$|\\{\\{\\! /,\n newTmplItems = {}, wrappedItems = {}, appendToTmplItems, topTmplItem = { key: 0, data: {} }, itemKey = 0, cloneIndex = 0, stack = [];\n\n function newTmplItem( options, parentItem, fn, data ) {\n // Returns a template item data structure for a new rendered instance of a template (a 'template item').\n // The content field is a hierarchical array of strings and nested items (to be\n // removed and replaced by nodes field of dom elements, once inserted in DOM).\n var newItem = {\n data: data || (parentItem ? parentItem.data : {}),\n _wrap: parentItem ? parentItem._wrap : null,\n tmpl: null,\n parent: parentItem || null,\n nodes: [],\n calls: tiCalls,\n nest: tiNest,\n wrap: tiWrap,\n html: tiHtml,\n update: tiUpdate\n };\n if ( options ) {\n jQuery.extend( newItem, options, { nodes: [], parent: parentItem } );\n }\n if ( fn ) {\n // Build the hierarchical content to be used during insertion into DOM\n newItem.tmpl = fn;\n newItem._ctnt = newItem._ctnt || newItem.tmpl( jQuery, newItem );\n newItem.key = ++itemKey;\n // Keep track of new template item, until it is stored as jQuery Data on DOM element\n (stack.length ? wrappedItems : newTmplItems)[itemKey] = newItem;\n }\n return newItem;\n }\n\n // Override appendTo etc., in order to provide support for targeting multiple elements. (This code would disappear if integrated in jquery core).\n jQuery.each({\n appendTo: \"append\",\n prependTo: \"prepend\",\n insertBefore: \"before\",\n insertAfter: \"after\",\n replaceAll: \"replaceWith\"\n }, function( name, original ) {\n jQuery.fn[ name ] = function( selector ) {\n var ret = [], insert = jQuery( selector ), elems, i, l, tmplItems,\n parent = this.length === 1 && this[0].parentNode;\n\n appendToTmplItems = newTmplItems || {};\n if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {\n insert[ original ]( this[0] );\n ret = this;\n } else {\n for ( i = 0, l = insert.length; i < l; i++ ) {\n cloneIndex = i;\n elems = (i > 0 ? this.clone(true) : this).get();\n jQuery.fn[ original ].apply( jQuery(insert[i]), elems );\n ret = ret.concat( elems );\n }\n cloneIndex = 0;\n ret = this.pushStack( ret, name, insert.selector );\n }\n tmplItems = appendToTmplItems;\n appendToTmplItems = null;\n jQuery.tmpl.complete( tmplItems );\n return ret;\n };\n });\n\n jQuery.fn.extend({\n // Use first wrapped element as template markup.\n // Return wrapped set of template items, obtained by rendering template against data.\n tmpl: function( data, options, parentItem ) {\n return jQuery.tmpl( this[0], data, options, parentItem );\n },\n\n // Find which rendered template item the first wrapped DOM element belongs to\n tmplItem: function() {\n return jQuery.tmplItem( this[0] );\n },\n\n // Consider the first wrapped element as a template declaration, and get the compiled template or store it as a named template.\n template: function( name ) {\n return jQuery.template( name, this[0] );\n },\n\n domManip: function( args, table, callback, options ) {\n // This appears to be a bug in the appendTo, etc. implementation\n // it should be doing .call() instead of .apply(). See #6227\n if ( args[0] && args[0].nodeType ) {\n var dmArgs = jQuery.makeArray( arguments ), argsLength = args.length, i = 0, tmplItem;\n while ( i < argsLength && !(tmplItem = jQuery.data( args[i++], \"tmplItem\" ))) {}\n if ( argsLength > 1 ) {\n dmArgs[0] = [jQuery.makeArray( args )];\n }\n if ( tmplItem && cloneIndex ) {\n dmArgs[2] = function( fragClone ) {\n // Handler called by oldManip when rendered template has been inserted into DOM.\n jQuery.tmpl.afterManip( this, fragClone, callback );\n };\n }\n oldManip.apply( this, dmArgs );\n } else {\n oldManip.apply( this, arguments );\n }\n cloneIndex = 0;\n if ( !appendToTmplItems ) {\n jQuery.tmpl.complete( newTmplItems );\n }\n return this;\n }\n });\n\n jQuery.extend({\n // Return wrapped set of template items, obtained by rendering template against data.\n tmpl: function( tmpl, data, options, parentItem ) {\n var ret, topLevel = !parentItem;\n if ( topLevel ) {\n // This is a top-level tmpl call (not from a nested template using {{tmpl}})\n parentItem = topTmplItem;\n tmpl = jQuery.template[tmpl] || jQuery.template( null, tmpl );\n wrappedItems = {}; // Any wrapped items will be rebuilt, since this is top level\n } else if ( !tmpl ) {\n // The template item is already associated with DOM - this is a refresh.\n // Re-evaluate rendered template for the parentItem\n tmpl = parentItem.tmpl;\n newTmplItems[parentItem.key] = parentItem;\n parentItem.nodes = [];\n if ( parentItem.wrapped ) {\n updateWrapped( parentItem, parentItem.wrapped );\n }\n // Rebuild, without creating a new template item\n return jQuery( build( parentItem, null, parentItem.tmpl( jQuery, parentItem ) ));\n }\n if ( !tmpl ) {\n return []; // Could throw...\n }\n if ( typeof data === \"function\" ) {\n data = data.call( parentItem || {} );\n }\n if ( options && options.wrapped ) {\n updateWrapped( options, options.wrapped );\n }\n ret = jQuery.isArray( data ) ?\n jQuery.map( data, function( dataItem ) {\n return dataItem ? newTmplItem( options, parentItem, tmpl, dataItem ) : null;\n }) :\n [ newTmplItem( options, parentItem, tmpl, data ) ];\n return topLevel ? jQuery( build( parentItem, null, ret ) ) : ret;\n },\n\n // Return rendered template item for an element.\n tmplItem: function( elem ) {\n var tmplItem;\n if ( elem instanceof jQuery ) {\n elem = elem[0];\n }\n while ( elem && elem.nodeType === 1 && !(tmplItem = jQuery.data( elem, \"tmplItem\" )) && (elem = elem.parentNode) ) {}\n return tmplItem || topTmplItem;\n },\n\n // Set:\n // Use $.template( name, tmpl ) to cache a named template,\n // where tmpl is a template string, a script element or a jQuery instance wrapping a script element, etc.\n // Use $( \"selector\" ).template( name ) to provide access by name to a script block template declaration.\n\n // Get:\n // Use $.template( name ) to access a cached template.\n // Also $( selectorToScriptBlock ).template(), or $.template( null, templateString )\n // will return the compiled template, without adding a name reference.\n // If templateString includes at least one HTML tag, $.template( templateString ) is equivalent\n // to $.template( null, templateString )\n template: function( name, tmpl ) {\n if (tmpl) {\n // Compile template and associate with name\n if ( typeof tmpl === \"string\" ) {\n // This is an HTML string being passed directly in.\n tmpl = buildTmplFn( tmpl )\n } else if ( tmpl instanceof jQuery ) {\n tmpl = tmpl[0] || {};\n }\n if ( tmpl.nodeType ) {\n // If this is a template block, use cached copy, or generate tmpl function and cache.\n tmpl = jQuery.data( tmpl, \"tmpl\" ) || jQuery.data( tmpl, \"tmpl\", buildTmplFn( tmpl.innerHTML ));\n }\n return typeof name === \"string\" ? (jQuery.template[name] = tmpl) : tmpl;\n }\n // Return named compiled template\n return name ? (typeof name !== \"string\" ? jQuery.template( null, name ):\n (jQuery.template[name] ||\n // If not in map, treat as a selector. (If integrated with core, use quickExpr.exec)\n jQuery.template( null, htmlExpr.test( name ) ? name : jQuery( name )))) : null;\n },\n\n encode: function( text ) {\n // Do HTML encoding replacing < > & and ' and \" by corresponding entities.\n return (\"\" + text).split(\"<\").join(\"<\").split(\">\").join(\">\").split('\"').join(\""\").split(\"'\").join(\"'\");\n }\n });\n\n jQuery.extend( jQuery.tmpl, {\n tag: {\n \"tmpl\": {\n _default: { $2: \"null\" },\n open: \"if($notnull_1){_=_.concat($item.nest($1,$2));}\"\n // tmpl target parameter can be of type function, so use $1, not $1a (so not auto detection of functions)\n // This means that {{tmpl foo}} treats foo as a template (which IS a function).\n // Explicit parens can be used if foo is a function that returns a template: {{tmpl foo()}}.\n },\n \"wrap\": {\n _default: { $2: \"null\" },\n open: \"$item.calls(_,$1,$2);_=[];\",\n close: \"call=$item.calls();_=call._.concat($item.wrap(call,_));\"\n },\n \"each\": {\n _default: { $2: \"$index, $value\" },\n open: \"if($notnull_1){$.each($1a,function($2){with(this){\",\n close: \"}});}\"\n },\n \"if\": {\n open: \"if(($notnull_1) && $1a){\",\n close: \"}\"\n },\n \"else\": {\n _default: { $1: \"true\" },\n open: \"}else if(($notnull_1) && $1a){\"\n },\n \"html\": {\n // Unecoded expression evaluation.\n open: \"if($notnull_1){_.push($1a);}\"\n },\n \"=\": {\n // Encoded expression evaluation. Abbreviated form is ${}.\n _default: { $1: \"$data\" },\n open: \"if($notnull_1){_.push($.encode($1a));}\"\n },\n \"!\": {\n // Comment tag. Skipped by parser\n open: \"\"\n }\n },\n\n // This stub can be overridden, e.g. in jquery.tmplPlus for providing rendered events\n complete: function( items ) {\n newTmplItems = {};\n },\n\n // Call this from code which overrides domManip, or equivalent\n // Manage cloning/storing template items etc.\n afterManip: function afterManip( elem, fragClone, callback ) {\n // Provides cloned fragment ready for fixup prior to and after insertion into DOM\n var content = fragClone.nodeType === 11 ?\n jQuery.makeArray(fragClone.childNodes) :\n fragClone.nodeType === 1 ? [fragClone] : [];\n\n // Return fragment to original caller (e.g. append) for DOM insertion\n callback.call( elem, fragClone );\n\n // Fragment has been inserted:- Add inserted nodes to tmplItem data structure. Replace inserted element annotations by jQuery.data.\n storeTmplItems( content );\n cloneIndex++;\n }\n });\n\n //========================== Private helper functions, used by code above ==========================\n\n function build( tmplItem, nested, content ) {\n // Convert hierarchical content into flat string array\n // and finally return array of fragments ready for DOM insertion\n var frag, ret = content ? jQuery.map( content, function( item ) {\n return (typeof item === \"string\") ?\n // Insert template item annotations, to be converted to jQuery.data( \"tmplItem\" ) when elems are inserted into DOM.\n (tmplItem.key ? item.replace( /(<\\w+)(?=[\\s>])(?![^>]*_tmplitem)([^>]*)/g, \"$1 \" + tmplItmAtt + \"=\\\"\" + tmplItem.key + \"\\\" $2\" ) : item) :\n // This is a child template item. Build nested template.\n build( item, tmplItem, item._ctnt );\n }) :\n // If content is not defined, insert tmplItem directly. Not a template item. May be a string, or a string array, e.g. from {{html $item.html()}}.\n tmplItem;\n if ( nested ) {\n return ret;\n }\n\n // top-level template\n ret = ret.join(\"\");\n\n // Support templates which have initial or final text nodes, or consist only of text\n // Also support HTML entities within the HTML markup.\n ret.replace( /^\\s*([^<\\s][^<]*)?(<[\\w\\W]+>)([^>]*[^>\\s])?\\s*$/, function( all, before, middle, after) {\n frag = jQuery( middle ).get();\n\n storeTmplItems( frag );\n if ( before ) {\n frag = unencode( before ).concat(frag);\n }\n if ( after ) {\n frag = frag.concat(unencode( after ));\n }\n });\n return frag ? frag : unencode( ret );\n }\n\n function unencode( text ) {\n // Use createElement, since createTextNode will not render HTML entities correctly\n var el = document.createElement( \"div\" );\n el.innerHTML = text;\n return jQuery.makeArray(el.childNodes);\n }\n\n // Generate a reusable function that will serve to render a template against data\n function buildTmplFn( markup ) {\n return new Function(\"jQuery\",\"$item\",\n \"var $=jQuery,call,_=[],$data=$item.data;\" +\n\n // Introduce the data as local variables using with(){}\n \"with($data){_.push('\" +\n\n // Convert the template into pure JavaScript\n jQuery.trim(markup)\n .replace( /([\\\\'])/g, \"\\\\$1\" )\n .replace( /[\\r\\t\\n]/g, \" \" )\n .replace( /\\$\\{([^\\}]*)\\}/g, \"{{= $1}}\" )\n .replace( /\\{\\{(\\/?)(\\w+|.)(?:\\(((?:[^\\}]|\\}(?!\\}))*?)?\\))?(?:\\s+(.*?)?)?(\\(((?:[^\\}]|\\}(?!\\}))*?)\\))?\\s*\\}\\}/g,\n function( all, slash, type, fnargs, target, parens, args ) {\n var tag = jQuery.tmpl.tag[ type ], def, expr, exprAutoFnDetect;\n if ( !tag ) {\n throw \"Template command not found: \" + type;\n }\n def = tag._default || [];\n if ( parens && !/\\w$/.test(target)) {\n target += parens;\n parens = \"\";\n }\n if ( target ) {\n target = unescape( target );\n args = args ? (\",\" + unescape( args ) + \")\") : (parens ? \")\" : \"\");\n // Support for target being things like a.toLowerCase();\n // In that case don't call with template item as 'this' pointer. Just evaluate...\n expr = parens ? (target.indexOf(\".\") > -1 ? target + parens : (\"(\" + target + \").call($item\" + args)) : target;\n exprAutoFnDetect = parens ? expr : \"(typeof(\" + target + \")==='function'?(\" + target + \").call($item):(\" + target + \"))\";\n } else {\n exprAutoFnDetect = expr = def.$1 || \"null\";\n }\n fnargs = unescape( fnargs );\n return \"');\" +\n tag[ slash ? \"close\" : \"open\" ]\n .split( \"$notnull_1\" ).join( target ? \"typeof(\" + target + \")!=='undefined' && (\" + target + \")!=null\" : \"true\" )\n .split( \"$1a\" ).join( exprAutoFnDetect )\n .split( \"$1\" ).join( expr )\n .split( \"$2\" ).join( fnargs ?\n fnargs.replace( /\\s*([^\\(]+)\\s*(\\((.*?)\\))?/g, function( all, name, parens, params ) {\n params = params ? (\",\" + params + \")\") : (parens ? \")\" : \"\");\n return params ? (\"(\" + name + \").call($item\" + params) : all;\n })\n : (def.$2||\"\")\n ) +\n \"_.push('\";\n }) +\n \"');}return _;\"\n );\n }\n function updateWrapped( options, wrapped ) {\n // Build the wrapped content.\n options._wrap = build( options, true,\n // Suport imperative scenario in which options.wrapped can be set to a selector or an HTML string.\n jQuery.isArray( wrapped ) ? wrapped : [htmlExpr.test( wrapped ) ? wrapped : jQuery( wrapped ).html()]\n ).join(\"\");\n }\n\n function unescape( args ) {\n return args ? args.replace( /\\\\'/g, \"'\").replace(/\\\\\\\\/g, \"\\\\\" ) : null;\n }\n function outerHtml( elem ) {\n var div = document.createElement(\"div\");\n div.appendChild( elem.cloneNode(true) );\n return div.innerHTML;\n }\n\n // Store template items in jQuery.data(), ensuring a unique tmplItem data data structure for each rendered template instance.\n function storeTmplItems( content ) {\n var keySuffix = \"_\" + cloneIndex, elem, elems, newClonedItems = {}, i, l, m;\n for ( i = 0, l = content.length; i < l; i++ ) {\n if ( (elem = content[i]).nodeType !== 1 ) {\n continue;\n }\n elems = elem.getElementsByTagName(\"*\");\n for ( m = elems.length - 1; m >= 0; m-- ) {\n processItemKey( elems[m] );\n }\n processItemKey( elem );\n }\n function processItemKey( el ) {\n var pntKey, pntNode = el, pntItem, tmplItem, key;\n // Ensure that each rendered template inserted into the DOM has its own template item,\n if ( (key = el.getAttribute( tmplItmAtt ))) {\n while ( pntNode.parentNode && (pntNode = pntNode.parentNode).nodeType === 1 && !(pntKey = pntNode.getAttribute( tmplItmAtt ))) { }\n if ( pntKey !== key ) {\n // The next ancestor with a _tmplitem expando is on a different key than this one.\n // So this is a top-level element within this template item\n // Set pntNode to the key of the parentNode, or to 0 if pntNode.parentNode is null, or pntNode is a fragment.\n pntNode = pntNode.parentNode ? (pntNode.nodeType === 11 ? 0 : (pntNode.getAttribute( tmplItmAtt ) || 0)) : 0;\n if ( !(tmplItem = newTmplItems[key]) ) {\n // The item is for wrapped content, and was copied from the temporary parent wrappedItem.\n tmplItem = wrappedItems[key];\n tmplItem = newTmplItem( tmplItem, newTmplItems[pntNode]||wrappedItems[pntNode], null, true );\n tmplItem.key = ++itemKey;\n newTmplItems[itemKey] = tmplItem;\n }\n if ( cloneIndex ) {\n cloneTmplItem( key );\n }\n }\n el.removeAttribute( tmplItmAtt );\n } else if ( cloneIndex && (tmplItem = jQuery.data( el, \"tmplItem\" )) ) {\n // This was a rendered element, cloned during append or appendTo etc.\n // TmplItem stored in jQuery data has already been cloned in cloneCopyEvent. We must replace it with a fresh cloned tmplItem.\n cloneTmplItem( tmplItem.key );\n newTmplItems[tmplItem.key] = tmplItem;\n pntNode = jQuery.data( el.parentNode, \"tmplItem\" );\n pntNode = pntNode ? pntNode.key : 0;\n }\n if ( tmplItem ) {\n pntItem = tmplItem;\n // Find the template item of the parent element.\n // (Using !=, not !==, since pntItem.key is number, and pntNode may be a string)\n while ( pntItem && pntItem.key != pntNode ) {\n // Add this element as a top-level node for this rendered template item, as well as for any\n // ancestor items between this item and the item of its parent element\n pntItem.nodes.push( el );\n pntItem = pntItem.parent;\n }\n // Delete content built during rendering - reduce API surface area and memory use, and avoid exposing of stale data after rendering...\n delete tmplItem._ctnt;\n delete tmplItem._wrap;\n // Store template item as jQuery data on the element\n jQuery.data( el, \"tmplItem\", tmplItem );\n }\n function cloneTmplItem( key ) {\n key = key + keySuffix;\n tmplItem = newClonedItems[key] =\n (newClonedItems[key] || newTmplItem( tmplItem, newTmplItems[tmplItem.parent.key + keySuffix] || tmplItem.parent, null, true ));\n }\n }\n }\n\n //---- Helper functions for template item ----\n\n function tiCalls( content, tmpl, data, options ) {\n if ( !content ) {\n return stack.pop();\n }\n stack.push({ _: content, tmpl: tmpl, item:this, data: data, options: options });\n }\n\n function tiNest( tmpl, data, options ) {\n // nested template, using {{tmpl}} tag\n return jQuery.tmpl( jQuery.template( tmpl ), data, options, this );\n }\n\n function tiWrap( call, wrapped ) {\n // nested template, using {{wrap}} tag\n var options = call.options || {};\n options.wrapped = wrapped;\n // Apply the template, which may incorporate wrapped content,\n return jQuery.tmpl( jQuery.template( call.tmpl ), call.data, options, call.item );\n }\n\n function tiHtml( filter, textOnly ) {\n var wrapped = this._wrap;\n return jQuery.map(\n jQuery( jQuery.isArray( wrapped ) ? wrapped.join(\"\") : wrapped ).filter( filter || \"*\" ),\n function(e) {\n return textOnly ?\n e.innerText || e.textContent :\n e.outerHTML || outerHtml(e);\n });\n }\n\n function tiUpdate() {\n var coll = this.nodes;\n jQuery.tmpl( null, null, null, this).insertBefore( coll[0] );\n jQuery( coll ).remove();\n }\n})( jQuery );\n"],"names":["SVGIcon","L","DivIcon","extend","options","point","initialize","_options","Util","setOptions","this","iconSize","circleAnchor","Number","x","circleColor","color","circleFillOpacity","opacity","circleOpacity","circleWeight","weight","fillColor","fontSize","iconAnchor","y","popupAnchor","html","_createSVG","_createCircle","cx","cy","radius","circleRatio","fill","circleFillColor","fillOpacity","stroke","strokeOpacity","strokeWidth","className","concat","_createPathDescription","height","width","margin","_createPath","pathDescription","_createShadow","shadowColor","origin","rotation","shadowAngle","shadowLength","shadowOpacity","blur","shadowBlur","translate","shadowTranslate","path","circle","text","_createText","shadow","shadowEnable","Math","max","style","fontWeight","lineHeight","coordX","coordY","circleText","textColor","fontColor","replace","fontOpacity","Marker","divIcon","svgIcon","latlng","icon","iconFactory","iconOptions","_latlng","onAdd","map","prototype","call","setStyle","_icon","iconBody","children","iconCircle","setAttribute","setOpacity","setIcon","DecidimIcon","CONTROLLER_REGISTRY","MapControllerRegistry","_classCallCheck","key","value","mapId","Object","values","find","ctrl","getMap","MapController","config","old","getController","remove","$","popupTemplateId","markerColor","eventHandlers","setController","scrollWheelZoom","disable","on","ev","popup","getElement","attr","focus","_source","name","callback","eventName","payload","handler","Reflect","apply","MapMarkersController","_MapController","_callSuper","arguments","_inherits","markerClusters","Array","isArray","markers","length","addMarkers","fitWorld","markersData","_this","MarkerClusterGroup","addLayer","template","bounds","LatLngBounds","markerData","latitude","longitude","forEach","marker","createIcon","keyboard","title","node","document","createElement","tmpl","appendTo","bindPopup","maxwidth","minWidth","keepInView","openPopup","size","getSize","fitBounds","padding","removeLayer","openLink","window","open","MapStaticController","removeControl","zoomControl","dragging","touchZoom","doubleClickZoom","boxZoom","tap","zoom","setZoom","coordinates","panTo","addTo","removeAttribute","link","_container","addEventListener","preventDefault","MapDragMarkerController","addMarker","lat","lng","triggerEvent","draggable","target","getLatLng","parseInt","setView","Decidim","createMapController","type","$mapElements","Error","each","_i","el","$map","random","toString","substr","mapConfig","data","load","trigger","start","jQuery","undefined","appendToTmplItems","oldManip","fn","domManip","tmplItmAtt","htmlExpr","newTmplItems","wrappedItems","topTmplItem","itemKey","cloneIndex","stack","newTmplItem","parentItem","newItem","_wrap","parent","nodes","calls","tiCalls","nest","tiNest","wrap","tiWrap","tiHtml","update","tiUpdate","_ctnt","build","tmplItem","nested","content","frag","ret","item","join","all","before","middle","after","storeTmplItems","get","unencode","innerHTML","makeArray","childNodes","buildTmplFn","markup","Function","trim","slash","fnargs","parens","args","def","expr","exprAutoFnDetect","tag","_default","test","unescape","indexOf","$1","split","params","$2","updateWrapped","wrapped","elem","elems","i","l","m","keySuffix","newClonedItems","nodeType","getElementsByTagName","processItemKey","pntKey","pntItem","pntNode","getAttribute","parentNode","cloneTmplItem","push","pop","_","filter","textOnly","e","innerText","textContent","outerHTML","div","appendChild","cloneNode","coll","insertBefore","prependTo","insertAfter","replaceAll","original","selector","tmplItems","insert","clone","pushStack","complete","table","dmArgs","argsLength","fragClone","afterManip","_tmpl","topLevel","dataItem","encode","close","items"],"sourceRoot":""}