{"version":3,"file":"js/2928-32d434d5b03a6f551909.js","mappings":"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","sources":["webpack://app/./app/packs/src/decidim/map/controller/markers.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/map/controller_registry.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/map/controller.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/vendor/jquery-tmpl.js"],"sourcesContent":["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({removeOutsideVisibleBounds: false});\n this.map.addLayer(this.markerClusters);\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 const options = {\n maxwidth: 640,\n minWidth: 500,\n keepInView: false, // set it to true if you want to prevent users from panning the popup off of the screen while it is open.\n className: \"map-info\",\n autoPan: true, // whether to pan the map when dragging this marker near its edge or not.\n }\n const portrait = window.matchMedia(\"(orientation: portrait)\").matches;\n if (portrait === true){\n options[\"maxHeight\"] = 130 // map is height 200\n }\n marker.bindPopup(node, options).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({removeOutsideVisibleBounds: false});\n this.map.addLayer(this.markerClusters);\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","/* 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":["MapMarkersController","this","markerClusters","Array","isArray","config","markers","length","addMarkers","map","fitWorld","markersData","L","MarkerClusterGroup","removeOutsideVisibleBounds","addLayer","$","template","popupTemplateId","html","bounds","LatLngBounds","markerData","latitude","longitude","forEach","marker","Marker","icon","_this","createIcon","keyboard","title","node","document","createElement","tmpl","appendTo","options","maxwidth","minWidth","keepInView","className","autoPan","window","matchMedia","matches","bindPopup","openPopup","size","getSize","y","x","fitBounds","padding","removeLayer","MapController","CONTROLLER_REGISTRY","MapControllerRegistry","mapId","Object","values","find","ctrl","getMap","old","getController","remove","extend","markerColor","eventHandlers","setController","scrollWheelZoom","disable","on","ev","popup","getElement","attr","focus","_source","_icon","DivIcon","SVGIcon","DecidimIcon","fillColor","iconSize","point","name","callback","eventName","payload","handler","Reflect","apply","jQuery","undefined","appendToTmplItems","oldManip","fn","domManip","tmplItmAtt","htmlExpr","newTmplItems","wrappedItems","topTmplItem","key","data","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","replace","join","all","before","middle","after","storeTmplItems","get","unencode","concat","text","el","innerHTML","makeArray","childNodes","buildTmplFn","markup","Function","trim","slash","type","fnargs","target","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","removeAttribute","push","pop","_","call","filter","textOnly","e","innerText","textContent","outerHTML","div","appendChild","cloneNode","coll","insertBefore","each","prependTo","insertAfter","replaceAll","original","selector","tmplItems","insert","clone","pushStack","complete","table","dmArgs","arguments","argsLength","fragClone","afterManip","topLevel","dataItem","encode","open","close","items"],"sourceRoot":""}