PageSourceSearch

https://ecrin.org/themes/custom/ecrin/js/members-observers-map.js?tlv183

js ecrin.org collected 2026-10-03 19:58:34 UTC 2,137 bytes, 77 lines download raw bytes

1(function ($, Drupal) {
2
3  'use strict';
4
5  Drupal.behaviors.ecrin_map = {
6    attach: function (context, settings) {
7      // $('#members-observers-map', context).addBack('#members-observers-map').each(function() {
8      $(once('members-observers', '#members-observers-map'), context).each(function() {
9        google.charts.load("current", { packages: ["corechart", "bar", "geochart"] });
10        google.charts.setOnLoadCallback(drawMap);
11      });
12    }
13  };
14
15  function drawMap() {
16    if(google !== undefined) {
17      $.ajax({
18        url: "/api/members-observers/list",
19      })
20      .done(function (msg) {
21        var data = new google.visualization.DataTable();
22        var members = false;
23        var observers = false;
24        
25        data.addColumn("string", "Country");
26        data.addColumn("number", "Member");
27        data.addColumn({ type: "string", role: "tooltip", p: { html: false } });
28        // data.addColumn({ type: "string", role: "style" })
29
30        for (var key in msg) {
31          // Hack car Czechia doit s'appeler Czech Republic pour google...
32          if (msg[key].title == "Czechia") {
33            msg[key].title = "Czech Republic";
34          }
35
36          if (msg[key].field_member_type == "Member") {
37            data.addRow([msg[key].title, 0, "Member"]);
38            members = true;
39          } else {
40            data.addRow([msg[key].title, 1, "Observer"]);
41            observers = true;
42          }
43        }
44
45        
46        // var colors: ["#000091", "#F69331", "#fff500"];
47        
48        var colors = [];
49        
50        if(members) {
51          colors.push("#000091");
52        }
53        
54        if(observers) {
55          colors.push("#fff500");
56        }
57        
58        // Jaune #fff500
59        // Orange #F6933
60        // Bleu #000091
61        var options = {
62          legend: "none",
63          region: "150", // Europe
64          tooltip: { isHtml: true },
65          colors: colors
66        };
67
68        var chart = new google.visualization.GeoChart(
69          $("#members-observers-map").get(0)
70        );
71
72        chart.draw(data, options);
73      });
74    }
75  }
76  
77})(jQuery, Drupal);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.