Sha256: 2289a4e41780ddf687347f77c4e10abf0dd5358480b397913bb568a213f2abc3

Contents?: true

Size: 1.86 KB

Versions: 3

Compression:

Stored size: 1.86 KB

Contents

import AwesomeMap from "src/decidim/decidim_awesome/awesome_map/awesome_map"

document.addEventListener("DOMContentLoaded", () => {
  const sanitizeCenter = (string) => {
    if (string) {
      const parts = string.split(",")
      if (parts.length >= 2) {
        const lat = parseFloat(parts[0]);
        const lng = parseFloat(parts[1]);
        if (lat && lng) {
          return [lat, lng];
        }
      }
    }
    return null;
  };

  const parse = (string) => {
    if (!string) {
      return null;
    }
    return JSON.parse(string);
  }

  const dataset = document.getElementById("awesome-map").dataset;
  const config = {
    length: parse(dataset.truncate) || 254,
    center: sanitizeCenter(parse(dataset.mapCenter)),
    zoom: parse(dataset.mapZoom),    
    menu: {
      amendments: parse(dataset.menuAmendments),
      meetings: parse(dataset.menuMeetings),
      categories: parse(dataset.menuCategories),
      hashtags: parse(dataset.menuHashtags),
      mergeComponents: parse(dataset.menuMergeComponents)
    },
    show: {
      withdrawn: parse(dataset.showWithdrawn),
      accepted: parse(dataset.showAccepted),
      evaluating: parse(dataset.showEvaluating),
      notAnswered: parse(dataset.showNotAnswered),
      rejected: parse(dataset.showRejected)
    },
    hideControls: parse(dataset.hideCcontrols),
    collapsedMenu: parse(dataset.collapsed),
    components: parse(dataset.components)
  };

  // build awesome map (if exist)
  // This event is still launched using JQuery in version 0.28
  $("#awesome-map .dynamic-map").on("ready.decidim", (evt, map) => {
    // bindPopup doesn't work for some unknown cause and these handler neither so we're cancelling them
    map.off("popupopen");
    map.off("popupclose");

    // console.log("ready map", map);

    window.AwesomeMap = new AwesomeMap(map, config);
    window.AwesomeMap.loadControllers();
  });
});

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-decidim_awesome-0.11.3 app/packs/src/decidim/decidim_awesome/awesome_map/load_map.js
decidim-decidim_awesome-0.11.2 app/packs/src/decidim/decidim_awesome/awesome_map/load_map.js
decidim-decidim_awesome-0.11.1 app/packs/src/decidim/decidim_awesome/awesome_map/load_map.js