{"version":3,"file":"js/decidim_homepage_interactive_map-035cc315aaa872263f43.js","mappings":"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","sources":["webpack://app/webpack/runtime/chunk loaded","webpack://app/../usr/local/bundle/bundler/gems/decidim-module-decidim_awesome-c72e7f0fa0fe/app/packs/src/vendor/jquery.truncate.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/app/packs/src/decidim/map/svg-icon.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/app/packs/src/decidim/map/icon.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-module-homepage_interactive_map-1ff222533cb3/app/packs/src/decidim/homepage_interactive_map/interactive_map.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-module-homepage_interactive_map-1ff222533cb3/app/packs/src/decidim/homepage_interactive_map/scope.js","webpack://app/../usr/local/bundle/bundler/gems/decidim-module-homepage_interactive_map-1ff222533cb3/app/packs/src/vendor/leaflet-polylabel-centroid.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/app/packs/src/decidim/vendor/leaflet-tilelayer-here.js","webpack://app/./node_modules/leaflet-svgicon/index.js","webpack://app/./node_modules/leaflet-svgicon/src/svg-icon.js","webpack://app/./node_modules/leaflet-tilelayer-here/leaflet-tilelayer-here.js","webpack://app/./node_modules/leaflet.featuregroup.subgroup/dist/leaflet.featuregroup.subgroup.js","webpack://app/webpack/bootstrap","webpack://app/webpack/runtime/hasOwnProperty shorthand","webpack://app/webpack/runtime/jsonp chunk loading","webpack://app/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","// From https://github.com/pathable/truncate/\n\n(function($) {\n\n // Matches trailing non-space characters.\n var chop = /(\\s*\\S+|\\s)$/;\n\n // Matches the first word in the string.\n var start = /^(\\S*)/;\n\n // Return a truncated html string. Delegates to $.fn.truncate.\n $.truncate = function(html, options) {\n return $('
').append(html).truncate(options).html();\n };\n\n // Truncate the contents of an element in place.\n $.fn.truncate = function(options) {\n if ($.isNumeric(options)) options = { length: options };\n var o = $.extend({}, $.truncate.defaults, options);\n\n return this.each(function() {\n var self = $(this);\n\n if (o.noBreaks) self.find('br').replaceWith(' ');\n\n var text = self.text();\n var excess = text.length - o.length;\n\n if (o.stripTags) self.text(text);\n\n // Chop off any partial words if appropriate.\n if (o.words && excess > 0) {\n var truncated = text.slice(0, o.length).replace(chop, '').length;\n\n if (o.keepFirstWord && truncated === 0) {\n excess = text.length - start.exec(text)[0].length - 1;\n } else {\n excess = text.length - truncated - 1;\n }\n }\n\n if (excess < 0 || !excess && !o.truncated) return;\n\n // Iterate over each child node in reverse, removing excess text.\n $.each(self.contents().get().reverse(), function(i, el) {\n var $el = $(el);\n var text = $el.text();\n var length = text.length;\n\n // If the text is longer than the excess, remove the node and continue.\n if (length <= excess) {\n o.truncated = true;\n excess -= length;\n $el.remove();\n return;\n }\n\n // Remove the excess text and append the ellipsis.\n if (el.nodeType === 3) {\n // should we finish the block anyway?\n if (o.finishBlock) {\n $(el.splitText(length)).replaceWith(o.ellipsis);\n } else {\n $(el.splitText(length - excess - 1)).replaceWith(o.ellipsis);\n }\n return false;\n }\n\n // Recursively truncate child nodes.\n $el.truncate($.extend(o, { length: length - excess }));\n return false;\n });\n });\n };\n\n $.truncate.defaults = {\n\n // Strip all html elements, leaving only plain text.\n stripTags: false,\n\n // Only truncate at word boundaries.\n words: false,\n\n // When 'words' is active, keeps the first word in the string\n // even if it's longer than a target length.\n keepFirstWord: false,\n\n // Replace instances of
with a single space.\n noBreaks: false,\n\n // if true always truncate the content at the end of the block.\n finishBlock: false,\n\n // The maximum length of the truncated html.\n length: Infinity,\n\n // The character to use as the ellipsis. The word joiner (U+2060) can be\n // used to prevent a hanging ellipsis, but displays incorrectly in Chrome\n // on Windows 7.\n // http://code.google.com/p/chromium/issues/detail?id=68323\n ellipsis: '\\u2026' // '\\u2060\\u2026'\n\n };\n\n})(jQuery);\n","/* 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","import * as L from \"leaflet\";\nimport \"src/decidim/vendor/leaflet-tilelayer-here\"\nimport \"src/decidim/map/icon.js\" // comes with Decidim\nimport \"leaflet.markercluster\"; // Comes with Decidim\nimport \"leaflet.featuregroup.subgroup\" // included in this package.json\nimport \"src/vendor/jquery.truncate\"\n\nimport \"src/vendor/leaflet-polylabel-centroid\";\n\nL.DivIcon.SVGIcon.DecidimIcon = L.DivIcon.SVGIcon.extend({\n options: {\n iconSize: L.point(24,34),\n fillColor: getComputedStyle(document.documentElement).getPropertyValue('--primary'),\n fillOpacity: 1,\n opacity: 0,\n },\n _createPathDescription: function() {\n return \"M12,0.17 C5.5465527,0.17 0.315,5.4015527 0.315,11.855 C0.315,23.105 10.545,32.465 10.98,32.855 C11.5531636,33.3793645 12.4318364,33.3793645 13.005,32.855 C13.44,32.42 23.67,23.045 23.67,11.855 C23.67,5.40740603 18.4475887,0.178276757 12,0.17 Z M12,17.585 C9.19163205,17.585 6.915,15.308368 6.915,12.5 C6.915,9.69163205 9.19163205,7.415 12,7.415 C14.808368,7.415 17.085,9.69163205 17.085,12.5 C17.085,15.308368 14.808368,17.585 12,17.585 L12,17.585 Z\";\n },\n _createCircle: function() {\n return \"\"\n }\n});\n\n(() => {\n $(document).ready(() => {\n const here_api_key = $(\"#interactive_map\").data(\"here-api-key\");\n const geoJson = $(\"#interactive_map\").data(\"geojson-data\");\n const $viewParticipatoryProcess = $(\"#view-participatory-process\");\n\n // Used to prevent click event when double click navigating\n const clickDelay = 500;\n let clickTimer = 0;\n let clickPrevent = false;\n\n // Style options\n const colorOpacity = 0.5;\n const hoverColorOpacity = 0.8;\n const strokeWeight = 1.5;\n const polyLineColor = 1;\n const strokeColor = \"#8a8a8a\";\n const iconSize = 28;\n\n const map = L.map('interactive_map', {scrollWheelZoom: false});\n\n let zoomOrigin = map.getZoom();\n let allZonesLayer = L.featureGroup();\n let allZonesMarkers = [];\n let allProcessesLinks = {};\n\n function zoneMarkerIconCSS(size) {\n return {\n 'font-size': `${(size / 2) - 2}px`,\n 'width' : `${size - 2}px`,\n 'height' : `${size - 2}px`,\n 'line-height' : `${size - 2}px`,\n 'border-radius' : `${size / 2}px`\n }\n }\n\n function processMarkerIconCSS(size) {\n return {\n 'font-size': `${Math.round(size / 3)}px`,\n 'width' : `${size / 2}px`,\n 'height' : `${size / 2}px`,\n 'line-height' : `${size / 2}px`,\n 'border-radius' : `${size / 4}px`\n }\n }\n\n function popupMaxwidth() {\n if ($(window).width() < 600) {\n return 260\n } else {\n return 640\n }\n }\n\n function popupMinwidth() {\n if ($(window).width() < 600) {\n return 204\n } else {\n return 500\n }\n }\n\n function isCoordinates(value, length) {\n return Array.isArray(value) && (value.length === length) && !!value.reduce((a, v) => (a && (a !== null)));\n }\n\n function hasLocation(participatory_process) {\n return (participatory_process.location !== undefined) && isCoordinates(participatory_process.location, 2);\n }\n\n function updateProcessMarkerPosition(marker, delta, zoom) {\n if (marker.origin === undefined) {\n return;\n }\n let oldPoint = map.project(L.latLng(marker.origin), zoom);\n\n let radius = ( delta / 2.5 ) + ( marker.getRadius() / 1.75 ) ;\n let newPoint = L.point(\n oldPoint.x + ( radius * Math.cos( Math.PI / 4 ) ),\n oldPoint.y - ( radius * Math.sin( Math.PI / 4 ) )\n );\n marker._latlng = map.unproject(newPoint, zoom);\n }\n\n function calculateIconSize() {\n const delta = Math.round(1.75 * (map.getZoom()));\n return (delta + 2) * 2;\n }\n\n function tmpl(participatoryProcess, linkTxt) {\n return `\n
\n

${participatoryProcess.title}

\n
\n
\n
\n ${participatoryProcess.start_date} - ${participatoryProcess.end_date}\n
\n
\n \n
\n
\n `\n }\n\n\n L.tileLayer.here({\n apiKey: here_api_key,\n scheme: \"normal.day.grey\"\n }, {continuousWorld: true}).addTo(map);\n\n map.createPane(\"processPane\").style.zIndex = 610;\n let allProcessesLayer = L.markerClusterGroup({\n clusterPane: \"processPane\",\n zoomToBoundsOnClick: false,\n removeOutsideVisibleBounds: true,\n spiderfyDistanceMultiplier: 2,\n chunkedLoading: true,\n showCoverageOnHover: false,\n maxClusterRadius: 40,\n spiderLegPolylineOptions: {\n weight: 2,\n color: getComputedStyle(document.documentElement).getPropertyValue('--primary'),\n opacity: polyLineColor\n },\n iconCreateFunction: (cluster) => {\n let actualIconSize = ( map.getZoom() > zoomOrigin ) ? calculateIconSize() : iconSize;\n\n let style = Object.entries(processMarkerIconCSS(actualIconSize)).map(\n (v) => `${v[0]}: ${v[1]};`\n ).join(\" \");\n\n return new L.DivIcon({\n html: '
' + cluster.getChildCount() + '
',\n className: 'marker-cluster',\n iconSize: new L.Point(actualIconSize / 2, actualIconSize / 2)\n });\n }\n });\n\n // Convert data from GeoJSON\n const geoJsonLayer = L.geoJson(geoJson, {\n style: (feature) => {\n return {\n interactive: false,\n stroke: true,\n color: strokeColor,\n weight: strokeWeight,\n fillColor: feature.color,\n fillOpacity: colorOpacity\n }\n }\n });\n\n // We parsed the data to generate advanced layers configuration\n geoJsonLayer.eachLayer((layer) => {\n let { feature } = layer;\n let zoneLayer = L.featureGroup();\n\n // Zone = Assembly with scope\n\n // Base zone polygon\n zoneLayer.addLayer(layer);\n\n zoneLayer.on(\"mouseover\", function() {\n this.setStyle({\n fillOpacity: hoverColorOpacity\n });\n });\n\n zoneLayer.on(\"mouseout\", function() {\n this.setStyle({\n fillOpacity: colorOpacity\n });\n });\n\n\n // Zone label\n const icon = L.divIcon({\n className: 'district-number',\n html: feature.code,\n iconSize: new L.Point(iconSize, iconSize)\n });\n const centroid = L.PolylabelCentroid(L.GeoJSON.latLngsToCoords(layer._latlngs[0], 1), 1/1000);\n\n let zoneMarker = L.marker(centroid, { icon });\n\n allZonesMarkers.push(zoneMarker);\n zoneLayer.addLayer(zoneMarker);\n\n // Navigate to target page\n zoneMarker.on(\"keypress\", (e) => {\n if( e.originalEvent.key === \"Enter\" ) {\n return window.location = feature.link;\n }\n });\n\n // Navigate to target page if not double click\n zoneMarker.on(\"click\", (e) => {\n clickTimer = setTimeout(() => {\n if (!clickPrevent) {\n return window.location = feature.link;\n }\n clickPrevent = false;\n }, clickDelay);\n });\n\n // Zoom to Polygone / Zone\n zoneMarker.on(\"dblclick\", (e) => {\n clearTimeout(clickTimer);\n clickPrevent = true;\n map.fitBounds(zoneLayer.getBounds(), {\n padding: [25, 25]\n });\n });\n\n // Manage linked participatory processes\n feature.participatory_processes.forEach((participatory_process) => {\n\n // Filling the registry links\n if(Object.keys(allProcessesLinks).includes(participatory_process.id.toString())) {\n allProcessesLinks[participatory_process.id.toString()].push(layer);\n // Process with location are only displayed once\n if( hasLocation(participatory_process) ) { return }\n } else {\n allProcessesLinks[participatory_process.id.toString()] = [layer];\n }\n\n let marker = new L.circleMarker(\n // marker is placed on its location or the center of the assembly\n hasLocation(participatory_process) ? participatory_process.location : centroid,\n {\n pane: \"processPane\",\n radius: Math.round(iconSize / 4),\n weight: 0,\n fillOpacity: 1,\n fillColor: getComputedStyle(document.documentElement).getPropertyValue('--primary'),\n }\n );\n\n let node = document.createElement(\"div\");\n $(node).html((tmpl(participatory_process, $viewParticipatoryProcess.val())));\n\n marker.bindPopup(node, {\n maxwidth: popupMaxwidth(),\n minWidth: popupMinwidth(),\n keepInView: true,\n className: \"interactive-map-info\"\n }).openPopup();\n\n marker.participatory_process_data = participatory_process;\n marker.origin = centroid;\n\n // Add marker to marker cluster group\n allProcessesLayer.addLayer(marker);\n });\n\n // Add zone to layer group\n allZonesLayer.addLayer(zoneLayer);\n });\n\n // Add zones to map\n allZonesLayer.addTo(map);\n\n // Map is centered on all the zone\n map.fitBounds(allZonesLayer.getBounds(), {\n padding: [25, 25]\n });\n\n // Update the starting zoom\n zoomOrigin = map.getZoom();\n\n\n // Now, all the element are actually projected on the map\n allProcessesLayer.eachLayer((marker) => {\n\n // Each participatory process should highlight its linked assemblies / zones\n let linked = allProcessesLinks[marker.participatory_process_data.id.toString()];\n\n linked.forEach((layer) => {\n marker.on(\"mouseover\", function() {\n layer.bringToFront().setStyle({\n fillOpacity: hoverColorOpacity,\n color: getComputedStyle(document.documentElement).getPropertyValue('--primary'),\n weight: 2\n });\n });\n\n marker.on(\"mouseout\", function() {\n layer.bringToBack().setStyle({\n fillOpacity: colorOpacity,\n color: strokeColor,\n weight: strokeWeight\n });\n });\n });\n\n // Translate the marker centered on the zone outside the zone label\n // ( like an notification badge )\n if(!hasLocation(marker.participatory_process_data)) {\n updateProcessMarkerPosition(marker, iconSize, map.getZoom());\n }\n });\n\n // Map zoom events\n map.on('zoomstart', (e) => {\n $('#interactive_map .leaflet-process-pane').hide();\n });\n\n map.on('zoomend', (e) => {\n let actualIconSize = iconSize;\n\n if (map.getZoom() > zoomOrigin) {\n actualIconSize = calculateIconSize()\n $('#interactive_map .district-number').css(zoneMarkerIconCSS(actualIconSize));\n } else {\n $('#interactive_map .district-number').css(zoneMarkerIconCSS(iconSize));\n }\n\n allZonesMarkers.forEach((marker) => {\n let icon = marker.options.icon;\n icon.options.iconSize = new L.Point(actualIconSize, actualIconSize);\n marker.setIcon(icon);\n });\n\n allProcessesLayer.eachLayer((marker) => {\n if(!hasLocation(marker.participatory_process_data)) {\n updateProcessMarkerPosition(marker, actualIconSize, map.getZoom());\n }\n });\n\n allProcessesLayer.refreshClusters();\n $('#interactive_map .leaflet-process-pane').show();\n });\n // Add markers to map\n allProcessesLayer.addTo(map);\n });\n})(window);\n","$(document).ready(() => {\n let $geolocalized = $(\"#scope_geolocalized\");\n let $geojson = $(\"#geojson\");\n\n function toggleSubField(field, subfield) {\n if (field.is(\":checked\")) {\n subfield.show();\n } else {\n subfield.hide();\n }\n }\n\n $geolocalized.on(\"click\", function () {\n toggleSubField($geolocalized, $geojson);\n }\n );\n\n toggleSubField($geolocalized, $geojson);\n});\n","// Leaflet Polylabel Centroid\n// USAGE : L.PolylabelCentroid(coordinates, precision, debug)\n// + coordinates (required) : GeoJSON Polygon coordinates\n// + precision (optional) : default to 1.0, decrease for better precision (like 1/1000)\n// + debug (optional) : activate debug coinsole output\n\n// ----------------------------------------------------------------------------\n\n// TinyQueue\n// source : https://github.com/mourner/tinyqueue/blob/3a212a4f73ad9c39caeb27922c86ff4115e59c66/index.js\n\nclass Queue {\n constructor(data = [], compare = defaultCompare) {\n this.data = data;\n this.length = this.data.length;\n this.compare = compare;\n\n if (this.length > 0) {\n for (let i = (this.length >> 1) - 1; i >= 0; i--) this._down(i);\n }\n }\n\n push(item) {\n this.data.push(item);\n this.length++;\n this._up(this.length - 1);\n }\n\n pop() {\n if (this.length === 0) return undefined;\n\n const top = this.data[0];\n const bottom = this.data.pop();\n this.length--;\n\n if (this.length > 0) {\n this.data[0] = bottom;\n this._down(0);\n }\n\n return top;\n }\n\n peek() {\n return this.data[0];\n }\n\n _up(pos) {\n const {data, compare} = this;\n const item = data[pos];\n\n while (pos > 0) {\n const parent = (pos - 1) >> 1;\n const current = data[parent];\n if (compare(item, current) >= 0) break;\n data[pos] = current;\n pos = parent;\n }\n\n data[pos] = item;\n }\n\n _down(pos) {\n const {data, compare} = this;\n const halfLength = this.length >> 1;\n const item = data[pos];\n\n while (pos < halfLength) {\n let left = (pos << 1) + 1;\n let best = data[left];\n const right = left + 1;\n\n if (right < this.length && compare(data[right], best) < 0) {\n left = right;\n best = data[right];\n }\n if (compare(best, item) >= 0) break;\n\n data[pos] = best;\n pos = left;\n }\n\n data[pos] = item;\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Polylabel\n// source : https://github.com/mapbox/polylabel/blob/6854a05e221fac42b9e025cbf356b2a057f212aa/polylabel.js\n\nfunction defaultCompare(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\nfunction polylabel(polygon, precision, debug) {\n precision = precision || 1.0;\n\n // find the bounding box of the outer ring\n var minX, minY, maxX, maxY;\n for (var i = 0; i < polygon[0].length; i++) {\n var p = polygon[0][i];\n if (!i || p[0] < minX) minX = p[0];\n if (!i || p[1] < minY) minY = p[1];\n if (!i || p[0] > maxX) maxX = p[0];\n if (!i || p[1] > maxY) maxY = p[1];\n }\n\n var width = maxX - minX;\n var height = maxY - minY;\n var cellSize = Math.min(width, height);\n var h = cellSize / 2;\n\n if (cellSize === 0) return [minX, minY];\n\n // a priority queue of cells in order of their \"potential\" (max distance to polygon)\n var cellQueue = new Queue(undefined, compareMax);\n\n // cover polygon with initial cells\n for (var x = minX; x < maxX; x += cellSize) {\n for (var y = minY; y < maxY; y += cellSize) {\n cellQueue.push(new Cell(x + h, y + h, h, polygon));\n }\n }\n\n // take centroid as the first best guess\n var bestCell = getCentroidCell(polygon);\n\n // special case for rectangular polygons\n var bboxCell = new Cell(minX + width / 2, minY + height / 2, 0, polygon);\n if (bboxCell.d > bestCell.d) bestCell = bboxCell;\n\n var numProbes = cellQueue.length;\n\n while (cellQueue.length) {\n // pick the most promising cell from the queue\n var cell = cellQueue.pop();\n\n // update the best cell if we found a better one\n if (cell.d > bestCell.d) {\n bestCell = cell;\n if (debug) console.log('found best %d after %d probes', Math.round(1e4 * cell.d) / 1e4, numProbes);\n }\n\n // do not drill down further if there's no chance of a better solution\n if (cell.max - bestCell.d <= precision) continue;\n\n // split the cell into four cells\n h = cell.h / 2;\n cellQueue.push(new Cell(cell.x - h, cell.y - h, h, polygon));\n cellQueue.push(new Cell(cell.x + h, cell.y - h, h, polygon));\n cellQueue.push(new Cell(cell.x - h, cell.y + h, h, polygon));\n cellQueue.push(new Cell(cell.x + h, cell.y + h, h, polygon));\n numProbes += 4;\n }\n\n if (debug) {\n console.log('num probes: ' + numProbes);\n console.log('best distance: ' + bestCell.d);\n }\n\n return [bestCell.x, bestCell.y];\n}\n\nfunction compareMax(a, b) {\n return b.max - a.max;\n}\n\nfunction Cell(x, y, h, polygon) {\n this.x = x; // cell center x\n this.y = y; // cell center y\n this.h = h; // half the cell size\n this.d = pointToPolygonDist(x, y, polygon); // distance from cell center to polygon\n this.max = this.d + this.h * Math.SQRT2; // max distance to polygon within a cell\n}\n\n// signed distance from point to polygon outline (negative if point is outside)\nfunction pointToPolygonDist(x, y, polygon) {\n var inside = false;\n var minDistSq = Infinity;\n\n for (var k = 0; k < polygon.length; k++) {\n var ring = polygon[k];\n\n for (var i = 0, len = ring.length, j = len - 1; i < len; j = i++) {\n var a = ring[i];\n var b = ring[j];\n\n if ((a[1] > y !== b[1] > y) &&\n (x < (b[0] - a[0]) * (y - a[1]) / (b[1] - a[1]) + a[0])) inside = !inside;\n\n minDistSq = Math.min(minDistSq, getSegDistSq(x, y, a, b));\n }\n }\n\n return (inside ? 1 : -1) * Math.sqrt(minDistSq);\n}\n\n// get polygon centroid\nfunction getCentroidCell(polygon) {\n var area = 0;\n var x = 0;\n var y = 0;\n var points = polygon[0];\n\n for (var i = 0, len = points.length, j = len - 1; i < len; j = i++) {\n var a = points[i];\n var b = points[j];\n var f = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * f;\n y += (a[1] + b[1]) * f;\n area += f * 3;\n }\n if (area === 0) return new Cell(points[0][0], points[0][1], 0, polygon);\n return new Cell(x / area, y / area, 0, polygon);\n}\n\n// get squared distance from a point to a segment\nfunction getSegDistSq(px, py, a, b) {\n\n var x = a[0];\n var y = a[1];\n var dx = b[0] - x;\n var dy = b[1] - y;\n\n if (dx !== 0 || dy !== 0) {\n\n var t = ((px - x) * dx + (py - y) * dy) / (dx * dx + dy * dy);\n\n if (t > 1) {\n x = b[0];\n y = b[1];\n\n } else if (t > 0) {\n x += dx * t;\n y += dy * t;\n }\n }\n\n dx = px - x;\n dy = py - y;\n\n return dx * dx + dy * dy;\n}\n\n// ----------------------------------------------------------------------------\n\nL.PolylabelCentroid = function(polygon, precision, debug) {\n return polylabel(polygon, precision, debug).reverse();\n}\n","/* eslint-disable */\n\n// 🍂class TileLayer.HERE\n// Tile layer for HERE maps tiles.\nL.TileLayer.HERE = L.TileLayer.extend({\n\n options: {\n subdomains: '1234',\n minZoom: 2,\n maxZoom: 18,\n\n // 🍂option scheme: String = 'normal.day'\n // The \"map scheme\", as documented in the HERE API.\n scheme: 'normal.day',\n\n // 🍂option resource: String = 'maptile'\n // The \"map resource\", as documented in the HERE API.\n resource: 'maptile',\n\n // 🍂option mapId: String = 'newest'\n // Version of the map tiles to be used, or a hash of an unique map\n mapId: 'newest',\n\n // 🍂option format: String = 'png8'\n // Image format to be used (`png8`, `png`, or `jpg`)\n format: 'png8',\n\n // 🍂option appId: String = ''\n // Required option. The `app_id` provided as part of the HERE credentials\n appId: '',\n\n // 🍂option appCode: String = ''\n // Required option. The `app_code` provided as part of the HERE credentials\n appCode: '',\n\n // 🍂option useCIT: boolean = false\n // Whether to use the CIT when loading the here-maptiles\n useCIT: false,\n\n // 🍂option useHTTPS: boolean = true\n // Whether to use HTTPS when loading the here-maptiles\n useHTTPS: true,\n\n // 🍂option language: String = ''\n // The language of the descriptions on the maps that are loaded\n language: '',\n\n // 🍂option language: String = ''\n // The second language of the descriptions on the maps that are loaded\n language2: '',\n },\n\n\n initialize: function initialize(options) {\n options = L.setOptions(this, options);\n\n // Decide if this scheme uses the aerial servers or the basemap servers\n var schemeStart = options.scheme.split('.')[0];\n options.tileResolution = 256;\n\n // {Base URL}{Path}/{resource (tile type)}/{map id}/{scheme}/{zoom}/{column}/{row}/{size}/{format}\n // ?apiKey={YOUR_API_KEY}\n // &{param}={value}\n\n var params = [\n 'apiKey=' + encodeURIComponent(options.apiKey)\n ];\n // Fallback to old app_id,app_code if no apiKey passed\n if(!options.apiKey) {\n params = [\n 'app_id=' + encodeURIComponent(options.appId),\n 'app_code=' + encodeURIComponent(options.appCode),\n ];\n }\n if(options.language) {\n params.push('lg=' + encodeURIComponent(options.language));\n }\n if(options.language2) {\n params.push('lg2=' + encodeURIComponent(options.language2));\n }\n var urlQuery = '?' + params.join('&');\n\n var path = '/maptile/2.1/{resource}/{mapId}/{scheme}/{z}/{x}/{y}/{tileResolution}/{format}' + urlQuery;\n var attributionPath = '/maptile/2.1/copyright/{mapId}?apiKey={apiKey}';\n\n var baseUrl = 'maps.ls.hereapi.com';\n\n // Old style with apiId/apiCode for compatibility\n if(!options.apiKey) {\n // make sure the CIT-url can be used\n baseUrl = 'maps' + (options.useCIT ? '.cit' : '') + '.api.here.com';\n attributionPath = '/maptile/2.1/copyright/{mapId}?app_id={appId}&app_code={appCode}';\n }\n\n var tileServer = 'base.' + baseUrl;\n if (schemeStart == 'satellite' || schemeStart == 'terrain' || schemeStart == 'hybrid') {\n tileServer = 'aerial.' + baseUrl;\n }\n if (options.scheme.indexOf('.traffic.') !== -1) {\n tileServer = 'traffic' + baseUrl;\n }\n\n var protocol = 'http' + (options.useHTTPS ? 's' : '');\n var tileUrl = protocol + '://{s}.' + tileServer + path;\n\n this._attributionUrl = L.Util.template(protocol + '://1.' + tileServer + attributionPath, this.options);\n\n L.TileLayer.prototype.initialize.call(this, tileUrl, options);\n\n this._attributionText = '';\n\n },\n\n onAdd: function onAdd(map) {\n L.TileLayer.prototype.onAdd.call(this, map);\n\n if (!this._attributionBBoxes) {\n this._fetchAttributionBBoxes();\n }\n },\n\n onRemove: function onRemove(map) {\n //\n // Remove the attribution text, and clear the cached text so it will be recalculated\n // if/when we are shown again.\n //\n this._map.attributionControl.removeAttribution(this._attributionText);\n this._attributionText = '';\n\n this._map.off('moveend zoomend resetview', this._findCopyrightBBox, this);\n\n //\n // Call the prototype last, once we've tidied up our own changes\n //\n L.TileLayer.prototype.onRemove.call(this, map);\n },\n\n _fetchAttributionBBoxes: function _onMapMove() {\n var xmlhttp = new XMLHttpRequest();\n xmlhttp.onreadystatechange = L.bind(function(){\n if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {\n this._parseAttributionBBoxes(JSON.parse(xmlhttp.responseText));\n }\n }, this);\n xmlhttp.open(\"GET\", this._attributionUrl, true);\n xmlhttp.send();\n },\n\n _parseAttributionBBoxes: function _parseAttributionBBoxes(json) {\n if (!this._map) { return; }\n var providers = json[this.options.scheme.split('.')[0]] || json.normal;\n for (var i=0; i= zoom) {\n\n if (!providers[i].boxes) {\n // No boxes = attribution always visible\n visibleProviders.push(providers[i]);\n } else {\n for (var j=0; jHERE maps'];\n for (var i=0; i' + provider.label + '');\n }\n\n var attributionText = '© ' + attributions.join(', ') + '. ';\n\n if (attributionText !== this._attributionText) {\n this._map.attributionControl.removeAttribution(this._attributionText);\n this._map.attributionControl.addAttribution(this._attributionText = attributionText);\n }\n },\n\n});\n\n\nL.tileLayer.here = function(opts){\n return new L.TileLayer.HERE(opts);\n}\n","var Lib = require('./src/svg-icon');\n\nexports.SVGIcon = Lib.SVGIcon;\nexports.SVGMarker = Lib.SVGMarker;\n","var SVGIcon = L.DivIcon.extend({\n options: {\n \"circleText\": \"\",\n \"className\": \"svg-icon\",\n \"circleAnchor\": null, //defaults to [iconSize.x/2, iconSize.x/2]\n \"circleColor\": null, //defaults to color\n \"circleOpacity\": null, // defaults to opacity\n \"circleFillColor\": \"rgb(255,255,255)\",\n \"circleFillOpacity\": null, //default to opacity\n \"circleRatio\": 0.5,\n \"circleWeight\": null, //defaults to weight\n \"color\": \"rgb(0,102,255)\",\n \"fillColor\": null, // defaults to color\n \"fillOpacity\": 0.4,\n \"fontColor\": \"rgb(0, 0, 0)\",\n \"fontOpacity\": \"1\",\n \"fontSize\": null, // defaults to iconSize.x/4\n \"iconAnchor\": null, //defaults to [iconSize.x/2, iconSize.y] (point tip)\n \"iconSize\": L.point(32,48),\n \"opacity\": 1,\n \"popupAnchor\": null,\n \"weight\": 2\n },\n initialize: function(options) {\n 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(Number(options.iconSize.x)/2, Number(options.iconSize.x)/2)\n }\n else {\n options.circleAnchor = L.point(options.circleAnchor)\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(Number(options.iconSize.x)/2, Number(options.iconSize.y))\n }\n else {\n options.iconAnchor = L.point(options.iconAnchor)\n }\n if (!options.popupAnchor) {\n options.popupAnchor = L.point(0, (-0.75)*(options.iconSize.y))\n }\n else {\n options.popupAnchor = L.point(options.popupAnchor)\n }\n\n var path = this._createPath()\n var circle = this._createCircle()\n\n options.html = this._createSVG()\n },\n _createCircle: function() {\n var cx = Number(this.options.circleAnchor.x)\n var cy = Number(this.options.circleAnchor.y)\n var radius = this.options.iconSize.x/2 * Number(this.options.circleRatio)\n var fill = this.options.circleFillColor\n var fillOpacity = this.options.circleFillOpacity\n var stroke = this.options.circleColor\n var strokeOpacity = this.options.circleOpacity\n var strokeWidth = this.options.circleWeight\n var className = this.options.className + \"-circle\"\n\n var circle = ''\n\n return circle\n },\n _createPathDescription: function() {\n var height = Number(this.options.iconSize.y)\n var width = Number(this.options.iconSize.x)\n var weight = Number(this.options.weight)\n var margin = weight / 2\n\n var startPoint = \"M \" + margin + \" \" + (width/2) + \" \"\n var leftLine = \"L \" + (width/2) + \" \" + (height - weight) + \" \"\n var rightLine = \"L \" + (width - margin) + \" \" + (width/2) + \" \"\n var arc = \"A \" + (width/4) + \" \" + (width/4) + \" 0 0 0 \" + margin + \" \" + (width/2) + \" Z\"\n\n var d = startPoint + leftLine + rightLine + arc\n\n return d\n },\n _createPath: function() {\n var pathDescription = this._createPathDescription()\n var strokeWidth = this.options.weight\n var stroke = this.options.color\n var strokeOpacity = this.options.Opacity\n var fill = this.options.fillColor\n var fillOpacity = this.options.fillOpacity\n var className = this.options.className + \"-path\"\n\n var path = ''\n\n return path\n },\n _createSVG: function() {\n var path = this._createPath()\n var circle = this._createCircle()\n var text = this._createText()\n var className = this.options.className + \"-svg\"\n\n var style = \"width:\" + this.options.iconSize.x + \"px; height:\" + this.options.iconSize.y + \"px;\"\n\n var svg = '' + path + circle + text + ''\n\n return svg\n },\n _createText: function() {\n var fontSize = this.options.fontSize + \"px\"\n var lineHeight = Number(this.options.fontSize)\n\n var x = Number(this.options.iconSize.x) / 2\n var y = x + (lineHeight * 0.35) //35% was found experimentally\n var circleText = this.options.circleText\n var textColor = this.options.fontColor.replace(\"rgb(\", \"rgba(\").replace(\")\", \",\" + this.options.fontOpacity + \")\")\n\n var text = '' + circleText + ''\n\n return text\n }\n})\n\nvar SVGMarker = L.Marker.extend({\n options: {\n \"iconFactory\": SVGIcon,\n \"iconOptions\": {}\n },\n initialize: function(latlng, options) {\n 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 var svg = this._icon.children[0]\n var iconBody = this._icon.children[0].children[0]\n var iconCircle = this._icon.children[0].children[1]\n\n if (style.color && !style.iconOptions) {\n var stroke = style.color.replace(\"rgb\",\"rgba\").replace(\")\", \",\"+this.options.icon.options.opacity+\")\")\n var 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) { style.iconOptions.color = style.color }\n var iconOptions = L.Util.setOptions(this.options.icon, style.iconOptions)\n this.setIcon(SVGIcon(iconOptions))\n }\n }\n }\n})\n\nmodule.exports = {\n SVGMarker: SVGMarker,\n SVGIcon: SVGIcon\n}\n","L.TileLayer.HERE = L.TileLayer.extend({\n\toptions: {\n\t\tsubdomains: '1234',\n\t\tminZoom: 2,\n\t\tmaxZoom: 18,\n\n\t\t// option style: String = 'explore.day'\n\t\tstyle: 'explore.day',\n\n\t\t// option resource: String = 'base'\n\t\tresource: 'base',\n\n\t\t// option format: String = 'png8'\n\t\t// Image format to be used (`png8`, `png`, or `jpg`)\n\t\tformat: 'png8',\n\n\t\t// option apiKey: String = ''\n\t\t// Required option. The `apiKey` provided as part of the HERE credentials\n\t\tapiKey: '',\n\n\t\t// option features: String = ''\n\t\t// Map Features\n\t\tfeatures: null,\n\n\t\t// option mapVersion: String = ''\n\t\t// Map Version\n\t\tmapVersion: null,\n\n\t\t// option language: String = ''\n\t\t// Map language\n\t\tlanguage: null\n\t},\n\n\n\tinitialize: function initialize(options) {\n\t\toptions = L.setOptions(this, options);\n\n\t\toptions.tileResolution = 256;\n\n\t\tif (L.Browser.retina) {\n\t\t\toptions.tileResolution = 512;\n\t\t}\n\n\t\tvar tileUrl = 'https://maps.hereapi.com/v3/{resource}/mc/{z}/{x}/{y}/{format}?apiKey={apiKey}&style={style}&size={tileResolution}';\n\t\tvar copyrightUrl = 'https://maps.hereapi.com/v3/copyright?apiKey={apiKey}';\n\n\t\tif (options.features) {\n\t\t\ttileUrl += '&features={features}'\n\t\t}\n\n\t\tif (options.mapVersion) {\n\t\t\ttileUrl += '&mv={mapVersion}'\n\t\t}\n\n\t\tif (options.language) {\n\t\t\ttileUrl += '&lang={language}'\n\t\t}\n\n\t\tthis._attributionUrl = L.Util.template(copyrightUrl, this.options);\n\n\t\tL.TileLayer.prototype.initialize.call(this, tileUrl, options);\n\n\t\tthis._attributionText = '';\n\t},\n\n\tonAdd: function onAdd(map) {\n\t\tL.TileLayer.prototype.onAdd.call(this, map);\n\n\t\tif (!this._attributionBBoxes) {\n\t\t\tthis._fetchAttributionBBoxes();\n\t\t}\n\t},\n\n\tonRemove: function onRemove(map) {\n\t\tL.TileLayer.prototype.onRemove.call(this, map);\n\n\t\tif (this._map.attributionControl) {\n\t\t\tthis._map.attributionControl.removeAttribution(this._attributionText);\n\t\t}\n\n\t\tthis._map.off('moveend zoomend resetview', this._findCopyrightBBox, this);\n\t},\n\n\t_fetchAttributionBBoxes: function _onMapMove() {\n\t\tvar xmlhttp = new XMLHttpRequest();\n\t\txmlhttp.onreadystatechange = L.bind(function () {\n\t\t\tif (xmlhttp.readyState == 4 && xmlhttp.status == 200) {\n\t\t\t\tthis._parseAttributionBBoxes(JSON.parse(xmlhttp.responseText));\n\t\t\t}\n\t\t}, this);\n\t\txmlhttp.open(\"GET\", this._attributionUrl, true);\n\t\txmlhttp.send();\n\t},\n\n\t_parseAttributionBBoxes: function _parseAttributionBBoxes(json) {\n\t\tif (!this._map) { return; }\n\t\tvar providers = json.copyrights.in;\n\n\t\tfor (var i = 0; i < providers.length; i++) {\n\t\t\tif (providers[i].boundingBoxes) {\n\t\t\t\tfor (var j = 0; j < providers[i].boundingBoxes.length; j++) {\n\t\t\t\t\tvar box = providers[i].boundingBoxes[j];\n\t\t\t\t\tproviders[i].boundingBoxes[j] = L.latLngBounds([[box.east, box.north], [box.west, box.south]]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._map.on('moveend zoomend resetview', this._findCopyrightBBox, this);\n\n\t\tthis._attributionProviders = providers;\n\n\t\tthis._findCopyrightBBox();\n\t},\n\n\t_findCopyrightBBox: function _findCopyrightBBox() {\n\t\tif (!this._map) { return; }\n\t\tvar providers = this._attributionProviders;\n\t\tvar visibleProviders = [];\n\t\tvar zoom = this._map.getZoom();\n\t\tvar visibleBounds = this._map.getBounds();\n\n\t\tfor (var i = 0; i < providers.length; i++) {\n\t\t\tif (providers[i].minLevel < zoom && providers[i].maxLevel > zoom)\n\n\t\t\t\tif (!providers[i].boundingBoxes) {\n\t\t\t\t\t// No boxes = attribution always visible\n\t\t\t\t\tvisibleProviders.push(providers[i]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\tfor (var j = 0; j < providers[i].boundingBoxes.length; j++) {\n\t\t\t\tvar box = providers[i].boundingBoxes[j];\n\t\t\t\tif (visibleBounds.overlaps(box)) {\n\t\t\t\t\tvisibleProviders.push(providers[i]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar attributionText = '© HERE maps';\n\n\t\tif (attributionText !== this._attributionText && this._map.attributionControl) {\n\t\t\tthis._map.attributionControl.removeAttribution(this._attributionText);\n\t\t\tthis._map.attributionControl.addAttribution(this._attributionText = attributionText);\n\t\t}\n\t}\n});\n\n\nL.tileLayer.here = function (opts) {\n\treturn new L.TileLayer.HERE(opts);\n}\n","/*!\n Leaflet.FeatureGroup.SubGroup 1.0.2+00bb0d4\n (c) 2015-2017 Boris Seang\n License BSD-2-Clause\n */\n!function(e,r){\"function\"==typeof define&&define.amd?define([\"leaflet\"],r):r(\"object\"==typeof module&&module.exports?require(\"leaflet\"):e.L)}(this,function(e){e.FeatureGroup.SubGroup=e.FeatureGroup.extend({initialize:function(r,t){e.FeatureGroup.prototype.initialize.call(this,t),this.setParentGroup(r)},setParentGroup:function(r){var t=r instanceof e.LayerGroup;return this._parentGroup=r,this.onAdd=t?\"function\"==typeof r.addLayers?this._onAddToGroupBatch:this._onAddToGroup:this._onAddToMap,this.onRemove=t?\"function\"==typeof r.removeLayers?this._onRemoveFromGroupBatch:this._onRemoveFromGroup:this._onRemoveFromMap,this.addLayer=t?this._addLayerToGroup:this._addLayerToMap,this.removeLayer=t?this._removeLayerFromGroup:this._removeLayerFromMap,this},setParentGroupSafe:function(e){var r=this._map;return r&&r.removeLayer(this),this.setParentGroup(e),r&&r.addLayer(this),this},getParentGroup:function(){return this._parentGroup},_onAddToGroupBatch:function(e){var r=this.getLayers();this._map=e,this._parentGroup.addLayers(r)},_onRemoveFromGroupBatch:function(){var e=this.getLayers();this._parentGroup.removeLayers(e),this._map=null},_onAddToGroup:function(e){var r=this._parentGroup;this._map=e,this.eachLayer(r.addLayer,r)},_onRemoveFromGroup:function(){var e=this._parentGroup;this.eachLayer(e.removeLayer,e),this._map=null},_onAddToMap:e.FeatureGroup.prototype.onAdd,_onRemoveFromMap:e.FeatureGroup.prototype.onRemove,_addLayerToGroup:function(e){if(this.hasLayer(e))return this;e.addEventParent(this);var r=this.getLayerId(e);return this._layers[r]=e,this._map&&this._parentGroup.addLayer(e),this.fire(\"layeradd\",{layer:e})},_removeLayerFromGroup:function(e){if(!this.hasLayer(e))return this;var r=e in this._layers?e:this.getLayerId(e);return e=this._layers[r],e.removeEventParent(this),this._map&&e&&this._parentGroup.removeLayer(e),delete this._layers[r],this.fire(\"layerremove\",{layer:e})},_addLayerToMap:e.FeatureGroup.prototype.addLayer,_removeLayerFromMap:e.FeatureGroup.prototype.removeLayer}),e.featureGroup.subGroup=function(r,t){return new e.FeatureGroup.SubGroup(r,t)}});","// 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","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// 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\t8466: 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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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, [5732,5243], function() { return __webpack_require__(17370); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","$","chop","start","truncate","html","options","append","fn","isNumeric","length","o","extend","defaults","this","each","self","noBreaks","find","replaceWith","text","excess","stripTags","words","truncated","slice","replace","keepFirstWord","exec","contents","get","reverse","i","el","$el","remove","nodeType","finishBlock","splitText","ellipsis","Infinity","jQuery","SVGIcon","L","DivIcon","point","initialize","_options","Util","setOptions","iconSize","circleAnchor","Number","x","circleColor","color","circleFillOpacity","opacity","circleOpacity","circleWeight","weight","fillColor","fontSize","iconAnchor","y","popupAnchor","_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","_createText","shadow","shadowEnable","Math","max","style","fontWeight","lineHeight","coordX","coordY","circleText","textColor","fontColor","fontOpacity","Marker","divIcon","svgIcon","latlng","icon","iconFactory","iconOptions","_latlng","onAdd","map","prototype","call","setStyle","_icon","iconBody","children","iconCircle","setAttribute","setOpacity","setIcon","DecidimIcon","getComputedStyle","document","documentElement","getPropertyValue","window","ready","here_api_key","data","geoJson","$viewParticipatoryProcess","clickTimer","clickPrevent","strokeColor","scrollWheelZoom","zoomOrigin","getZoom","allZonesLayer","allZonesMarkers","allProcessesLinks","zoneMarkerIconCSS","size","hasLocation","participatory_process","undefined","location","value","Array","isArray","reduce","a","v","updateProcessMarkerPosition","marker","delta","zoom","oldPoint","project","getRadius","newPoint","cos","PI","sin","unproject","calculateIconSize","round","apiKey","scheme","continuousWorld","addTo","createPane","zIndex","allProcessesLayer","clusterPane","zoomToBoundsOnClick","removeOutsideVisibleBounds","spiderfyDistanceMultiplier","chunkedLoading","showCoverageOnHover","maxClusterRadius","spiderLegPolylineOptions","iconCreateFunction","cluster","actualIconSize","Object","entries","join","getChildCount","feature","interactive","eachLayer","layer","zoneLayer","addLayer","on","code","centroid","_latlngs","zoneMarker","push","e","originalEvent","key","link","setTimeout","clearTimeout","fitBounds","getBounds","padding","participatory_processes","forEach","keys","includes","id","toString","participatoryProcess","linkTxt","pane","node","createElement","val","title","start_date","end_date","bindPopup","maxwidth","minWidth","keepInView","openPopup","participatory_process_data","bringToFront","bringToBack","hide","css","refreshClusters","show","$geolocalized","$geojson","toggleSubField","field","subfield","is","Queue","arguments","compare","defaultCompare","_classCallCheck","_down","item","_up","top","bottom","pop","pos","parent","current","halfLength","left","best","right","b","polylabel","polygon","precision","debug","minX","minY","maxX","maxY","p","cellSize","min","h","cellQueue","compareMax","Cell","bestCell","area","points","len","j","f","getCentroidCell","bboxCell","d","numProbes","cell","console","log","inside","minDistSq","k","ring","getSegDistSq","sqrt","pointToPolygonDist","SQRT2","px","py","dx","dy","t","PolylabelCentroid","TileLayer","HERE","subdomains","minZoom","maxZoom","resource","mapId","format","appId","appCode","useCIT","useHTTPS","language","language2","schemeStart","split","tileResolution","params","encodeURIComponent","attributionPath","baseUrl","tileServer","indexOf","protocol","tileUrl","_attributionUrl","template","_attributionText","_attributionBBoxes","_fetchAttributionBBoxes","onRemove","_map","attributionControl","removeAttribution","off","_findCopyrightBBox","xmlhttp","XMLHttpRequest","onreadystatechange","bind","readyState","status","_parseAttributionBBoxes","JSON","parse","responseText","open","send","json","providers","normal","boxes","box","latLngBounds","_attributionProviders","visibleProviders","visibleBounds","minLevel","maxLevel","intersects","attributions","provider","alt","label","attributionText","addAttribution","tileLayer","here","opts","Lib","SVGMarker","Opacity","module","exports","features","mapVersion","Browser","retina","copyrights","in","boundingBoxes","east","north","west","south","overlaps","FeatureGroup","SubGroup","r","setParentGroup","LayerGroup","_parentGroup","addLayers","_onAddToGroupBatch","_onAddToGroup","_onAddToMap","removeLayers","_onRemoveFromGroupBatch","_onRemoveFromGroup","_onRemoveFromMap","_addLayerToGroup","_addLayerToMap","removeLayer","_removeLayerFromGroup","_removeLayerFromMap","setParentGroupSafe","getParentGroup","getLayers","hasLayer","addEventParent","getLayerId","_layers","fire","removeEventParent","featureGroup","subGroup","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","O","result","chunkIds","priority","notFulfilled","fulfilled","every","splice","obj","prop","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}