{"version":3,"file":"js/decidim_decidim_awesome_map-ca475e6daff54e34be12.js","mappings":"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","sources":["webpack://app/webpack/runtime/chunk loaded","webpack://app/../usr/local/bundle/gems/decidim-core-0.26.7/app/packs/src/decidim/vendor/leaflet-tilelayer-here.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.26.7/app/packs/src/decidim/map/icon.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/controls_ui.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/controller.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/api/api_fetcher.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/api/fetcher.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/api/proposals_fetcher.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/proposals_controller.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/api/meetings_fetcher.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/meetings_controller.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/awesome_map.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/decidim/decidim_awesome/awesome_map/load_map.js","webpack://app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.1/app/packs/src/vendor/jquery.truncate.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};","/* 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","import * as L from \"leaflet\";\nimport { SVGIcon } from \"leaflet-svgicon\"\n\nL.DivIcon.SVGIcon = SVGIcon;\nL.DivIcon.SVGIcon.DecidimIcon = L.DivIcon.SVGIcon.extend({\n options: {\n fillColor: \"#ef604d\",\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","/* eslint-disable no-ternary, multiline-ternary */\n\nimport * as L from \"leaflet\";\n\nexport default class ControlsUI {\n constructor(awesomeMap) {\n this.awesomeMap = awesomeMap;\n\n this.main = L.control.layers(null, null, {\n position: \"topleft\",\n sortLayers: false,\n collapsed: this.awesomeMap.config.collapsedMenu\n // hideSingleBase: true\n });\n\n if (this.awesomeMap.config.hideControls) {\n $(this.main.getContainer()).hide();\n }\n\n this.$loading = $(\"#awesome-map .loading-spinner\");\n this.onHashtag = this._orderHashtags;\n\n this.awesomeMap.map.on(\"overlayadd\", () => {\n this.removeHiddenCategories();\n });\n }\n\n attach() {\n // legends\n this.main.addTo(this.awesomeMap.map);\n\n this.addSearchControls();\n if (this.awesomeMap.config.menu.categories) {\n this.addCategoriesControls();\n }\n\n // sub-layer hashtag title toggle\n $(\"#awesome-map\").on(\"click\", \".awesome_map-title-control\", (evt) => {\n evt.preventDefault();\n evt.stopPropagation();\n $(\"#awesome_map-categories-control\").toggleClass(\"active\");\n $(\"#awesome_map-hashtags-control\").toggleClass(\"active\");\n });\n\n // hashtag events\n $(\"#awesome-map\").on(\"change\", \".awesome_map-hashtags-selector\", (evt) => {\n evt.preventDefault();\n evt.stopPropagation();\n const tag = $(evt.target).closest(\"label\").data(\"layer\");\n // console.log(\"changed, layer\", tag, \"checked\", evt.target.checked, e);\n if (tag) {\n this.updateHashtagLayers();\n }\n });\n\n // select/deselect all tags\n $(\"#awesome-map\").on(\"click\", \".awesome_map-toggle_all_tags\", (evt) => {\n evt.preventDefault();\n evt.stopPropagation();\n $(\"#awesome-map .awesome_map-hashtags-selector\").prop(\"checked\", $(\"#awesome-map .awesome_map-hashtags-selector:checked\").length < $(\"#awesome-map .awesome_map-hashtags-selector\").length);\n this.updateHashtagLayers();\n });\n }\n\n addSearchControls() {\n $(this.main.getContainer()).contents(\"form\").append(`
${window.DecidimAwesome.texts.categories}
\n
${window.DecidimAwesome.texts.hashtags}
${window.DecidimAwesome.texts.select_deselect_all}
`);\n }\n\n addCategoriesControls() {\n this.awesomeMap.categories.forEach((category) => {\n // add control layer for this category\n const label = ` ${category.name}`;\n this.awesomeMap.layers[category.id] = {\n label: label,\n group: new L.FeatureGroup.SubGroup(this.awesomeMap.cluster)\n };\n this.awesomeMap.layers[category.id].group.addTo(this.awesomeMap.map);\n $(\"#awesome_map-categories-control .categories-container\").append(``);\n })\n\n // category events\n $(\"#awesome-map\").on(\"change\", \".awesome_map-categories-selector\", (evt) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const id = $(evt.target).closest(\"label\").data(\"layer\");\n const cat = this.awesomeMap.getCategory(id);\n // console.log(\"changed, layer\", id, \"cat\", cat, \"checked\", evt.target.checked, e);\n if (cat) {\n const layer = this.awesomeMap.layers[cat.id];\n if (evt.target.checked) {\n // show group of markers\n this.awesomeMap.map.addLayer(layer.group);\n } else {\n // hide group of markers\n this.awesomeMap.map.removeLayer(layer.group);\n // cat.children().forEach((c) => {\n // let $el = $(`.awesome_map-category-${c.id}`);\n // if($el.contents(\"input\").prop(\"checked\")) {\n // $el.click();\n // }\n // });\n }\n // if it's a children, put the parent to indeterminate\n this._indeterminateParentInput(cat);\n // sync tags\n this.updateHashtagLayers();\n }\n });\n }\n\n // Hashtags are collected directly from proposals (this is different than categories)\n addHashtagsControls(hashtags, marker) {\n // show hashtag layer\n if (hashtags && hashtags.length) {\n $(\"#awesome_map-hashtags-control\").show();\n hashtags.forEach((hashtag) => {\n // Add layer if not exists, otherwise just add the marker to the group\n if (!this.awesomeMap.layers[hashtag.tag]) {\n this.awesomeMap.layers[hashtag.tag] = {\n label: hashtag.name,\n group: new L.FeatureGroup.SubGroup(this.awesomeMap.cluster)\n };\n this.awesomeMap.map.addLayer(this.awesomeMap.layers[hashtag.tag].group);\n $(\"#awesome_map-hashtags-control .hashtags-container\").append(``);\n // Call a trigger, might be in service for customizations\n this.onHashtag(hashtag, $(\"#awesome_map-hashtags-control .hashtags-container\"));\n }\n this.awesomeMap.layers[hashtag.tag].group.addLayer(marker);\n\n const $label = $(`label.awesome_map-hashtag-${hashtag.tag}`);\n // update number of items\n $label.attr(\"title\", `${parseInt($label.attr(\"title\") || 0, 10) + 1} ${window.DecidimAwesome.texts.items}`);\n });\n }\n }\n\n showCategory(cat) {\n $(\"#awesome_map-categories-control\").show();\n // show category if hidden\n const $label = $(`label.awesome_map-category-${cat.id}`);\n const $parent = $(`label.awesome_map-category-${cat.parent}`);\n $label.show();\n // update number of items\n $label.attr(\"title\", `${parseInt($label.attr(\"title\") || 0, 10) + 1} ${window.DecidimAwesome.texts.items}`);\n // show parent if apply\n $parent.show();\n $parent.attr(\"title\", `${parseInt($parent.attr(\"title\") || 0, 10) + 1} ${window.DecidimAwesome.texts.items}`);\n }\n\n removeHiddenComponents() {\n $(\".awesome_map-component\").each((_idx, el) => {\n const layer = this.awesomeMap.layers[$(el).data(\"layer\")];\n const $input = $(el).closest(\"div\").find(\"input:not(:checked)\");\n if (layer && $input.length) {\n this.awesomeMap.map.addLayer(layer.group);\n this.awesomeMap.map.removeLayer(layer.group);\n }\n });\n }\n\n removeHiddenCategories() {\n $(\".awesome_map-categories-selector:not(:checked)\").each((_idx, el) => {\n const layer = this.awesomeMap.layers[$(el).closest(\"label\").data(\"layer\")];\n if (layer) {\n this.awesomeMap.map.addLayer(layer.group);\n this.awesomeMap.map.removeLayer(layer.group);\n }\n });\n }\n\n updateHashtagLayers() {\n // hide all\n $(\".awesome_map-hashtags-selector\").each((_idx, el) => {\n const layer = this.awesomeMap.layers[$(el).closest(\"label\").data(\"layer\")];\n if (layer) {\n this.awesomeMap.map.removeLayer(layer.group);\n }\n });\n // show selected only\n $(\".awesome_map-hashtags-selector:checked\").each((_idx, el) => {\n const layer = this.awesomeMap.layers[$(el).closest(\"label\").data(\"layer\")];\n if (layer) {\n this.awesomeMap.map.addLayer(layer.group);\n }\n });\n // hide non-selected categories\n this.removeHiddenComponents();\n this.removeHiddenCategories();\n }\n\n updateStats(uid, total) {\n // update component stats\n const $component = $(`#awesome_map-${uid}`);\n $component.attr(\"title\", `${total} ${window.DecidimAwesome.texts.items}`);\n }\n\n _indeterminateParentInput(cat) {\n if (cat.parent) {\n let $input = $(`.awesome_map-category-${cat.parent}`).contents(\"input\");\n let $subcats = $(`[class^=\"awesome_map-category-\"][data-parent=\"${cat.parent}\"]:visible`);\n let numChecked = $subcats.contents(\"input:checked\").length;\n $input.prop(\"indeterminate\", numChecked !== $subcats.length && numChecked !== 0);\n }\n }\n\n // order hashtags alphabetically\n _orderHashtags(_hashtag, $div) {\n let $last = $div.contents(\"label:last\");\n if ($last.prev(\"label\").length) {\n // move the label to order it alphabetically\n $div.contents(\"label\").each((_idx, el) => {\n if ($(el).text().localeCompare($last.text()) > 0) {\n $(el).before($last);\n }\n });\n }\n }\n}\n","import * as L from \"leaflet\";\n\nexport default class Controller {\n constructor(awesomeMap, component) {\n this.awesomeMap = awesomeMap;\n this.component = component;\n this.templateId = \"marker-meeting-popup\";\n this.controls = {\n label: this.getLabel(),\n group: new L.FeatureGroup.SubGroup(this.awesomeMap.cluster)\n };\n this.onFinished = () => {};\n this.allNodes = [];\n }\n\n getLabel() {\n let text = this.awesomeMap.config.menu.mergeComponents || this.component.name;\n if (!text) {\n text = window.DecidimAwesome.texts[this.component.type];\n }\n return `${text}`\n }\n\n setFetcher(Fetcher) {\n this.fetcher = new Fetcher(this);\n this.fetcher.onFinished = () => {\n // console.log(`all ${this.component.type} loaded`, this)\n this._onFinished();\n };\n this.fetcher.onCollection = (collection) => {\n if (collection && collection.edges) { \n // Add markers to the main cluster group\n const collectionEdges = collection.edges.filter((item) => item.node.coordinates && item.node.coordinates.latitude && item.node.coordinates.longitude);\n try {\n this.awesomeMap.cluster.addLayers(collectionEdges.map((item) => item.node.marker));\n } catch (evt) {\n console.error(\"Failed marker collection assignation\", collectionEdges, \"error\", evt);\n }\n // subgroups don't have th addLayers utility\n collectionEdges.forEach((item) => {\n this.awesomeMap.layers[this.component.type].group.addLayer(item.node.marker);\n this.addMarkerCategory(item.node.marker, item.node.category);\n this.addMarkerHashtags(item.node.marker, item.node.hashtags);\n });\n }\n };\n }\n\n addControls() {\n this.awesomeMap.controls.main.addOverlay(this.controls.group, this.controls.label);\n this.controls.group.addTo(this.awesomeMap.map);\n this.awesomeMap.layers[this.component.type] = this.controls;\n }\n\n loadNodes() {\n // to override\n }\n\n addMarker(marker, node) {\n\n /* \n theorically, this should be enough to create popups on markers but it looks that\n there is some bug in leaflet that sometimes prevents this to work\n */\n /*\n let dom = document.createElement(\"div\");\n // console.log(\"addMarker\", marker, \"dom\", dom)\n dom.innerHTML = $.templates(`#${this.templateId}`).render(node);\n marker.bindPopup(dom, {\n maxwidth: 640,\n minWidth: 500,\n keepInView: true,\n className: \"map-info\"\n }); //*/\n\n marker.on(\"click\", () => {\n let dom = document.createElement(\"div\");\n dom.innerHTML = $.templates(`#${this.templateId}`).render(node);\n\n let pop = L.popup({\n maxwidth: 640,\n minWidth: 500,\n keepInView: true,\n className: \"map-info\"\n\n }).setLatLng(marker.getLatLng()).setContent(dom);\n this.awesomeMap.map.addLayer(pop);\n });\n node.marker = marker;\n node.component = this.component;\n this.allNodes.push(node);\n }\n\n addMarkerCategory(marker, category) {\n // Add to category layer\n const cat = this.awesomeMap.getCategory(category);\n if (this.awesomeMap.layers[cat.id]) {\n try {\n this.awesomeMap.layers[cat.id].group.addLayer(marker);\n this.awesomeMap.controls.showCategory(cat);\n } catch (evt) {\n console.error(\"Failed category marker assignation\", marker, evt.message);\n }\n } \n }\n\n addMarkerHashtags(marker, hashtags) {\n // Add hashtag layer\n if (this.awesomeMap.config.menu.hashtags) {\n try {\n this.awesomeMap.controls.addHashtagsControls(hashtags, marker);\n } catch (evt) {\n console.error(\"Failed hashtags marker assignation\", marker, evt.message);\n }\n }\n }\n\n // Override if needed (call this.onFinished() at the end!)\n _onFinished() {\n this.awesomeMap.controls.updateStats(`component_${this.component.id}`, this.allNodes.length);\n this.onFinished();\n }\n\n createIcon(Builder, color) {\n return new Builder({\n color: \"#000000\",\n fillColor: color,\n circleFillColor: color,\n weight: 1,\n stroke: color,\n fillOpacity: 0.9\n });\n }\n}\n","export default class ApiFetcher { // eslint-disable-line no-unused-vars\n constructor(query, variables) {\n this.query = query;\n this.variables = variables;\n }\n\n fetch(callback) {\n $.ajax({\n method: \"POST\",\n url: \"/api\",\n contentType: \"application/json\",\n data: JSON.stringify({\n query: this.query,\n variables: this.variables\n })\n }).done(function(data) {\n callback(data.data);\n });\n }\n\n fetchAll (callback) {\n this.fetch(callback);\n }\n}\n","import ApiFetcher from \"src/decidim/decidim_awesome/awesome_map/api/api_fetcher\";\n\nexport default class Fetcher {\n constructor(controller) {\n this.controller = controller;\n this.config = {\n length: controller.awesomeMap.config.length || 255\n };\n this.onFinished = () => {};\n this.onNode = () => {};\n this.onCollection = () => {};\n this.hashtags = [];\n\n this.collection = this.controller.component.type;\n // override in specific components:\n this.query = `query ($id: ID!, $after: String!) {\n component(id: $id) {\n id\n __typename\n }\n }`;\n }\n\n fetch(after = \"\") {\n const variables = {\n \"id\": this.controller.component.id,\n \"after\": after\n };\n const api = new ApiFetcher(this.query, variables);\n api.fetchAll((result) => {\n if (result) {\n const collection = result.component[this.collection];\n // console.log(\"collection\",collection)\n \n collection.edges.forEach((element) => {\n let node = element.node;\n if (!node) {\n return;\n }\n \n if (node.coordinates && node.coordinates.latitude && node.coordinates.longitude) {\n this.decorateNode(node);\n this.onNode(node)\n }\n });\n\n this.onCollection(collection);\n\n if (collection.pageInfo.hasNextPage) {\n this.fetch(collection.pageInfo.endCursor);\n } else {\n this.onFinished();\n }\n }\n });\n }\n\n decorateNode(node) {\n const body = this.findTranslation(node.body.translations);\n const title = this.findTranslation(node.title.translations);\n node.hashtags = this.collectHashtags(title);\n node.hashtags = node.hashtags.concat(this.collectHashtags(body));\n // hashtags in the title look ugly, lets replace the gid:... structure with the tag #name\n node.title.translation = this.replaceHashtags(title, node.hashtags);\n node.body.translation = this.appendHtmlHashtags(this.truncate(this.removeHashtags(body)).replace(/\\n/g, \"
\"), node.hashtags);\n node.link = `${this.controller.component.url}/${this.collection}/${node.id}`;\n }\n\n findTranslation(translations) {\n let lang = document.querySelector(\"html\").getAttribute(\"lang\"),\n text = \"\";\n \n translations.forEach((txt) => {\n if (txt.text) {\n if (!text || txt.locale === lang) {\n text = txt.text\n }\n }\n });\n return text;\n }\n\n collectHashtags(text) {\n let tags = [];\n if (text) {\n const gids = text.match(/gid:\\/\\/[^\\s<&]+/g)\n if (gids) {\n tags = gids.filter((gid) => gid.indexOf(\"/Decidim::Hashtag/\") !== -1).map((gid) => {\n const parts = gid.split(\"/\");\n const fromSelector = parts[5].charAt(0) === \"_\";\n const tag = fromSelector ? parts[5].substr(1) : parts[5]; // eslint-disable-line no-ternary, multiline-ternary\n const name = `#${tag}`;\n const html = `${name}`;\n const hashtag = {\n color: getComputedStyle(document.documentElement).getPropertyValue(\"--secondary\"),\n gid: gid,\n id: parseInt(parts[4], 10),\n fromSelector: fromSelector,\n tag: tag,\n name: name,\n html: html\n }\n this.hashtags.push(hashtag)\n return hashtag;\n });\n }\n }\n return tags;\n }\n\n replaceHashtags(txt, hashtags) {\n let text = txt;\n hashtags.forEach((tag) => {\n text = text.replace(tag.gid, tag.name)\n });\n return text;\n }\n\n removeHashtags(text) {\n return text.replace(/gid:\\/\\/[^\\s<&]+/g, \"\");\n }\n\n appendHtmlHashtags(txt, tags) {\n let text = txt;\n tags.forEach((tag) => {\n text += ` ${tag.html}`;\n });\n return text;\n }\n\n truncate(html) {\n return $.truncate(html, this.config);\n }\n}\n","import Fetcher from \"src/decidim/decidim_awesome/awesome_map/api/fetcher\";\n\nexport default class ProposalsFetcher extends Fetcher {\n constructor(controller) {\n super(controller);\n this.query = `query ($id: ID!, $after: String!) {\n component(id: $id) {\n id\n __typename\n ... on Proposals {\n proposals(first: 50, after: $after){\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n node {\n id\n state\n title {\n translations {\n text\n locale\n }\n }\n body {\n translations {\n text\n locale\n }\n }\n address\n coordinates {\n latitude\n longitude\n }\n amendments {\n emendation {\n id\n }\n }\n category {\n id\n }\n }\n }\n }\n }\n }\n }`;\n }\n}\n","import * as L from \"leaflet\";\nimport Controller from \"src/decidim/decidim_awesome/awesome_map/controllers/controller\";\nimport ProposalsFetcher from \"src/decidim/decidim_awesome/awesome_map/api/proposals_fetcher\";\n\nconst ProposalIcon = L.DivIcon.SVGIcon.DecidimIcon.extend({\n options: {\n fillColor: \"#ef604d\",\n fillOpacity: 0.8,\n strokeWidth: 1,\n strokeOpcacity: 1\n }\n});\nexport default class ProposalsController extends Controller {\n constructor(awesomeMap, component) {\n super(awesomeMap, component)\n this.templateId = \"marker-proposal-popup\";\n this.amendments = {};\n this.setFetcher(ProposalsFetcher);\n }\n\n addControls() {\n super.addControls();\n\n // add control layer for amendments if any\n if (this.awesomeMap.config.menu.amendments && this.component.amendments && !this.awesomeMap.layers.amendments) {\n this.awesomeMap.layers.amendments = {\n label: `${window.DecidimAwesome.texts.amendments}`,\n group: new L.FeatureGroup.SubGroup(this.awesomeMap.cluster)\n }\n this.awesomeMap.controls.main.addOverlay(this.awesomeMap.layers.amendments.group, this.awesomeMap.layers.amendments.label);\n this.awesomeMap.layers.amendments.group.addTo(this.awesomeMap.map);\n }\n }\n\n loadNodes() {\n // for each proposal, create a marker with an associated popup\n this.fetcher.onNode = (proposal) => {\n let marker = new L.Marker([proposal.coordinates.latitude, proposal.coordinates.longitude], {\n icon: this.createIcon(ProposalIcon, this.awesomeMap.getCategory(proposal.category).color),\n title: proposal.title.translation\n });\n\n // Check if it has amendments, add it to a list\n // also assign parent's proposal categories to it\n if (proposal.amendments && proposal.amendments.length) {\n proposal.amendments.forEach((amendment) => {\n this.amendments[amendment.emendation.id] = proposal;\n });\n }\n\n // console.log(\"new proposal\", proposal, \"marker\", marker)\n this.addMarker(marker, proposal);\n };\n\n this.fetcher.fetch();\n }\n\n _onFinished() {\n const iterableAmendments = Object.entries(this.amendments);\n this.awesomeMap.controls.updateStats(`component_${this.component.id}`, this.allNodes.length - iterableAmendments.length);\n this.awesomeMap.controls.updateStats(`amendments_${this.component.id}`, iterableAmendments.length);\n\n // Process all amendments\n iterableAmendments.forEach((amendment) => {\n const marker = this.allNodes.find((node) => node.id === amendment[0]);\n const parent = amendment[1];\n // console.log(\"marker\", marker, \"parent proposal\", parent)\n // add marker to amendments layers and remove it from proposals\n if (marker) {\n try { \n marker.marker.removeFrom(this.controls.group) \n } catch (evt) { \n console.error(\"error removeFrom marker\", marker, \"layer\", this.controls.group, evt);\n }\n if (this.awesomeMap.config.menu.amendments) {\n marker.marker.addTo(this.awesomeMap.layers.amendments.group);\n // mimic parent category (amendments doesn't have categories)\n if (parent.category) {\n marker.marker.setIcon(this.createIcon(ProposalIcon, this.awesomeMap.getCategory(parent.category).color));\n this.addMarkerCategory(marker.marker, parent.category)\n }\n }\n }\n });\n\n this.onFinished();\n }\n}\n","import Fetcher from \"src/decidim/decidim_awesome/awesome_map/api/fetcher\";\n\nexport default class MeetingsFetcher extends Fetcher {\n constructor(controller) {\n super(controller);\n this.query = `query ($id: ID!, $after: String!) {\n component(id: $id) {\n id\n __typename\n ... on Meetings {\n meetings(first: 50, after: $after) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n node {\n id\n title {\n translations {\n text\n locale\n }\n }\n body: description {\n translations {\n text\n locale\n }\n }\n startTime\n location {\n translations {\n text\n locale\n }\n }\n address\n locationHints {\n translations {\n text\n locale\n }\n }\n coordinates {\n latitude\n longitude\n }\n category {\n id\n }\n }\n }\n }\n }\n }\n }`;\n }\n}\n","import * as L from \"leaflet\";\nimport Controller from \"src/decidim/decidim_awesome/awesome_map/controllers/controller\";\nimport MeetingsFetcher from \"src/decidim/decidim_awesome/awesome_map/api/meetings_fetcher\";\n\nconst MeetingIcon = L.DivIcon.SVGIcon.DecidimIcon.extend({\n _createPathDescription: function() {\n return \"M 15.991543,4 C 7.3956015,4 2.9250351,10.5 3.000951,16.999999 3.1063486,26.460968 12.747693,30.000004 15.991543,43 19.242091,30.000004 29,26.255134 29,16.999999 29,10.5 23.951131,4 15.996007,4 m -0.153508,2.6000001 a 2.1720294,2.1076698 0 0 1 2.330514,2.1124998 2.177008,2.1125006 0 0 1 -4.354016,0 2.1720294,2.1076698 0 0 1 2.023502,-2.1124998 m -2.651707,4.8056679 h 5.610202 l 3.935584,7.569899 -1.926038,0.934266 -2.009546,-3.859265 v 14.557403 h -2.484243 v -9.126003 h -0.642162 v 9.126003 H 13.190347 V 16.050568 l -2.009545,3.859265 -1.926036,-0.934266 3.935581,-7.569899\";\n }\n});\n\nexport default class MeetingsController extends Controller {\n constructor(awesomeMap, component) {\n super(awesomeMap, component)\n this.templateId = \"marker-meeting-popup\";\n this.setFetcher(MeetingsFetcher);\n }\n\n loadNodes() {\n // for each meeting, create a marker with an associated popup\n this.fetcher.onNode = (meeting) => {\n let marker = new L.Marker([meeting.coordinates.latitude, meeting.coordinates.longitude], {\n icon: this.createIcon(MeetingIcon, this.awesomeMap.getCategory(meeting.category).color),\n title: meeting.title.translation\n });\n // console.log(\"new meeting\", meeting, marker)\n this.addMarker(marker, meeting);\n };\n\n this.fetcher.fetch();\n }\n}\n","import * as L from \"leaflet\";\n// comes with Decidim\nimport \"src/decidim/map/icon.js\" \nimport \"src/decidim/vendor/leaflet-tilelayer-here\"\n// Comes with Decidim\nimport \"leaflet.markercluster\"; \n// included in this package.json\nimport \"leaflet.featuregroup.subgroup\" \nimport \"src/vendor/jquery.truncate\"\nimport \"jsrender\"\n\nimport ControlsUI from \"src/decidim/decidim_awesome/awesome_map/controls_ui\";\nimport ProposalsController from \"src/decidim/decidim_awesome/awesome_map/controllers/proposals_controller\";\nimport MeetingsController from \"src/decidim/decidim_awesome/awesome_map/controllers/meetings_controller\";\n\nexport default class AwesomeMap {\n constructor(map, config) {\n this.map = map;\n this.categories = window.AwesomeMap && window.AwesomeMap.categories || []\n this.config = $.extend({\n length: 255,\n center: null,\n zoom: 8,\n menu: {\n amendments: false,\n meetings: false,\n categories: true,\n hashtags: false,\n mergeComponents: false\n },\n show: {\n withdrawn: false,\n accepted: false,\n evaluating: false,\n notAnswered: false,\n rejected: false\n },\n hideControls: false,\n collapsedMenu: false,\n components: []\n }, config);\n this.layers = {};\n this.cluster = new L.MarkerClusterGroup();\n this.map.addLayer(this.cluster);\n this.controls = new ControlsUI(this);\n this.onFinished = () => {};\n this.controllers = {};\n this.loading = [];\n this._firstController = {};\n }\n\n // Queries the API and load all the markers\n loadControllers() {\n this.autoResize();\n this.controls.attach();\n\n this.config.components.forEach((component) => {\n const controller = this._getController(component);\n if (controller) {\n controller.loadNodes();\n this.loading.push(component.type);\n controller.onFinished = () => {\n this.loading.pop();\n this.autoResize();\n\n if (this.loading.length === 0) {\n this.controls.$loading.hide();\n // call trigger as all loads are finished\n this.onFinished();\n }\n };\n }\n });\n }\n\n autoResize() {\n // Setup center/zoom options if specified, otherwise fitbounds\n const bounds = this.cluster.getBounds()\n if (this.config.center && this.config.zoom) {\n this.map.setView(this.config.center, this.config.zoom);\n } else if (bounds.isValid()) {\n // this.map.fitBounds(bounds, { padding: [50, 50] }); // this doesn't work much of the time, probably some race condition\n this.map.fitBounds([[bounds.getNorth(), bounds.getEast()], [bounds.getSouth(), bounds.getWest()]], { padding: [50, 50] });\n }\n }\n\n getCategory(category) {\n let defaultCat = {\n color: getComputedStyle(document.documentElement).getPropertyValue(\"--primary\"),\n children: () => {},\n parent: null,\n name: null\n };\n\n if (category) {\n let id = category.id ? parseInt(category.id, 10) : parseInt(category, 10); // eslint-disable-line no-ternary, multiline-ternary\n let cat = this.categories.find((ct) => ct.id === id);\n if (cat) {\n cat.children = () => {\n return this.categories.filter((ct) => ct.parent === cat.id);\n }\n return cat;\n }\n }\n return defaultCat;\n }\n\n _getController(component) {\n let controller = null;\n\n if (component.type === \"proposals\") {\n controller = new ProposalsController(this, component);\n }\n if (component.type === \"meetings\" && this.config.menu.meetings) {\n controller = new MeetingsController(this, component);\n }\n\n if (controller) {\n // Agrupate layers for controlling components\n if (this._firstController[component.type] && this.config.menu.mergeComponents) {\n controller.controls = this._firstController[component.type].controls;\n } else {\n controller.addControls();\n }\n this._firstController[component.type] = this._firstController[component.type] || controller;\n this.controllers[component.type] = controller;\n return this.controllers[component.type]\n }\n return null;\n }\n}\n","import AwesomeMap from \"src/decidim/decidim_awesome/awesome_map/awesome_map\"\n\n$(() => {\n const sanitizeCenter = (string) => {\n if (string) {\n const parts = string.split(\",\")\n if (parts.length >= 2) {\n const lat = parseFloat(parts[0]);\n const lng = parseFloat(parts[1]);\n if (lat && lng) {\n return [lat, lng];\n }\n }\n }\n return null;\n };\n\n const config = {\n length: $(\"#awesome-map\").data(\"truncate\") || 254,\n center: sanitizeCenter($(\"#awesome-map\").data(\"map-center\")),\n zoom: $(\"#awesome-map\").data(\"map-zoom\"), \n menu: {\n amendments: $(\"#awesome-map\").data(\"menu-amendments\"),\n meetings: $(\"#awesome-map\").data(\"menu-meetings\"),\n categories: $(\"#awesome-map\").data(\"menu-categories\"),\n hashtags: $(\"#awesome-map\").data(\"menu-hashtags\"),\n mergeComponents: $(\"#awesome-map\").data(\"menu-merge-components\")\n },\n show: {\n withdrawn: $(\"#awesome-map\").data(\"show-withdrawn\"),\n accepted: $(\"#awesome-map\").data(\"show-accepted\"),\n evaluating: $(\"#awesome-map\").data(\"show-evaluating\"),\n notAnswered: $(\"#awesome-map\").data(\"show-not-answered\"),\n rejected: $(\"#awesome-map\").data(\"show-rejected\")\n },\n hideControls: $(\"#awesome-map\").data(\"hide-controls\"),\n collapsedMenu: $(\"#awesome-map\").data(\"collapsed\"),\n components: $(\"#awesome-map\").data(\"components\")\n };\n\n // build awesome map (if exist)\n $(\"#awesome-map .google-map\").on(\"ready.decidim\", (evt, map) => {\n // bindPopup doesn't work for some unknown cause and these handler neither so we're cancelling them\n map.off(\"popupopen\");\n map.off(\"popupclose\");\n\n // console.log(\"ready map\", map);\n\n window.AwesomeMap = new AwesomeMap(map, config);\n window.AwesomeMap.loadControllers();\n });\n});\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","// 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\t8981: 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, [7337,9335,8270], function() { return __webpack_require__(93763); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","L","TileLayer","HERE","extend","options","subdomains","minZoom","maxZoom","scheme","resource","mapId","format","appId","appCode","useCIT","useHTTPS","language","language2","initialize","schemeStart","setOptions","this","split","tileResolution","params","encodeURIComponent","apiKey","push","path","join","attributionPath","baseUrl","tileServer","indexOf","protocol","tileUrl","_attributionUrl","Util","template","prototype","call","_attributionText","onAdd","map","_attributionBBoxes","_fetchAttributionBBoxes","onRemove","_map","attributionControl","removeAttribution","off","_findCopyrightBBox","xmlhttp","XMLHttpRequest","onreadystatechange","bind","readyState","status","_parseAttributionBBoxes","JSON","parse","responseText","open","send","json","providers","normal","i","length","boxes","j","box","latLngBounds","on","_attributionProviders","visibleProviders","zoom","getZoom","visibleBounds","getBounds","minLevel","maxLevel","intersects","attributions","provider","alt","label","attributionText","addAttribution","tileLayer","here","opts","SVGIcon","fillColor","opacity","_createPathDescription","_createCircle","_createSVG","_createPath","circle","text","_createText","className","style","iconSize","x","y","ControlsUI","awesomeMap","main","position","sortLayers","collapsed","config","collapsedMenu","hideControls","$","getContainer","hide","$loading","onHashtag","_orderHashtags","_this","removeHiddenCategories","addTo","addSearchControls","menu","categories","addCategoriesControls","evt","preventDefault","stopPropagation","toggleClass","target","closest","data","_this2","updateHashtagLayers","prop","contents","append","window","DecidimAwesome","texts","hashtags","select_deselect_all","forEach","category","id","name","_this3","layers","group","cluster","parent","cat","getCategory","layer","checked","addLayer","removeLayer","_indeterminateParentInput","marker","show","hashtag","_this4","tag","$label","attr","parseInt","items","$parent","each","_idx","el","_this5","$input","find","_this6","_this7","removeHiddenComponents","uid","total","$component","$subcats","numChecked","_hashtag","$div","$last","prev","localeCompare","before","Controller","component","templateId","controls","getLabel","onFinished","allNodes","mergeComponents","type","Fetcher","fetcher","_onFinished","onCollection","collection","edges","collectionEdges","filter","item","node","coordinates","latitude","longitude","addLayers","console","error","addMarkerCategory","addMarkerHashtags","addOverlay","dom","document","createElement","innerHTML","templates","render","pop","maxwidth","minWidth","keepInView","setLatLng","getLatLng","setContent","showCategory","message","addHashtagsControls","updateStats","Builder","color","circleFillColor","weight","stroke","fillOpacity","ApiFetcher","query","variables","callback","ajax","method","url","contentType","stringify","done","fetch","controller","onNode","after","api","fetchAll","result","element","decorateNode","pageInfo","hasNextPage","endCursor","body","findTranslation","translations","title","collectHashtags","concat","translation","replaceHashtags","appendHtmlHashtags","truncate","removeHashtags","replace","link","lang","querySelector","getAttribute","txt","locale","tags","gids","match","gid","parts","fromSelector","charAt","substr","html","getComputedStyle","documentElement","getPropertyValue","ProposalsFetcher","ProposalIcon","strokeWidth","strokeOpcacity","ProposalsController","amendments","setFetcher","_get","proposal","icon","createIcon","amendment","emendation","addMarker","iterableAmendments","Object","entries","removeFrom","setIcon","MeetingsFetcher","MeetingIcon","MeetingsController","meeting","AwesomeMap","center","meetings","withdrawn","accepted","evaluating","notAnswered","rejected","components","controllers","loading","_firstController","autoResize","attach","_getController","loadNodes","bounds","setView","isValid","fitBounds","getNorth","getEast","getSouth","getWest","padding","defaultCat","children","ct","addControls","string","lat","parseFloat","lng","sanitizeCenter","loadControllers","chop","start","fn","isNumeric","o","defaults","self","noBreaks","replaceWith","excess","stripTags","words","truncated","slice","keepFirstWord","exec","get","reverse","$el","remove","nodeType","finishBlock","splitText","ellipsis","Infinity","jQuery","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","fulfilled","keys","every","key","splice","r","obj","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}