diff --git a/CHANGES.rst b/CHANGES.rst index 03e97502b..e9a8cc88d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,7 +1,7 @@ Changes ======= -0.3.3 (2017-06-xx) +0.3.3 (2017-06-15) ------------------ - Allow to add more than one sphere background (#26). diff --git a/magrit_app/static/css/style.ec4032a961e3.min.css b/magrit_app/static/css/style.2b4daa8f8303.min.css similarity index 100% rename from magrit_app/static/css/style.ec4032a961e3.min.css rename to magrit_app/static/css/style.2b4daa8f8303.min.css diff --git a/magrit_app/static/js/app.ec4032a961e3.js b/magrit_app/static/js/app.2b4daa8f8303.js similarity index 94% rename from magrit_app/static/js/app.ec4032a961e3.js rename to magrit_app/static/js/app.2b4daa8f8303.js index 652ca2368..faba8085b 100644 --- a/magrit_app/static/js/app.ec4032a961e3.js +++ b/magrit_app/static/js/app.2b4daa8f8303.js @@ -53,13 +53,11 @@ function setUpInterface(reload_project) { return 1; }); if (layer_names.length) { - (function () { - var formToSend = new FormData(); - layer_names.forEach(function (name) { - formToSend.append("layer_name", current_layers[name].key_name); - }); - navigator.sendBeacon("/layers/delete", formToSend); - })(); + var formToSend = new FormData(); + layer_names.forEach(function (name) { + formToSend.append("layer_name", current_layers[name].key_name); + }); + navigator.sendBeacon("/layers/delete", formToSend); } }, false); var bg = document.createElement('div'); @@ -815,33 +813,31 @@ function setUpInterface(reload_project) { apply_user_preferences(data); }); } else { - (function () { - // Check if there is a project to reload in the localStorage : - var last_project = window.localStorage.getItem("magrit_project"); - if (last_project && last_project.length && last_project.length > 0) { - swal({ title: "", - // text: i18next.t("app_page.common.resume_last_project"), - allowOutsideClick: false, - allowEscapeKey: false, - type: "question", - showConfirmButton: true, - showCancelButton: true, - confirmButtonText: i18next.t("app_page.common.new_project"), - cancelButtonText: i18next.t("app_page.common.resume_last") - }).then(function () { - // If we don't want to resume from the last project, we can - // remove it : - window.localStorage.removeItem("magrit_project"); - // Indicate that that no layer have been added for now :* - _app.first_layer = true; - }, function (dismiss) { - apply_user_preferences(last_project); - }); - } else { + // Check if there is a project to reload in the localStorage : + var last_project = window.localStorage.getItem("magrit_project"); + if (last_project && last_project.length && last_project.length > 0) { + swal({ title: "", + // text: i18next.t("app_page.common.resume_last_project"), + allowOutsideClick: false, + allowEscapeKey: false, + type: "question", + showConfirmButton: true, + showCancelButton: true, + confirmButtonText: i18next.t("app_page.common.new_project"), + cancelButtonText: i18next.t("app_page.common.resume_last") + }).then(function () { + // If we don't want to resume from the last project, we can + // remove it : + window.localStorage.removeItem("magrit_project"); // Indicate that that no layer have been added for now :* _app.first_layer = true; - } - })(); + }, function (dismiss) { + apply_user_preferences(last_project); + }); + } else { + // Indicate that that no layer have been added for now :* + _app.first_layer = true; + } } // Set the properties for the notification zone : alertify.set('notifier', 'position', 'bottom-left'); @@ -1101,7 +1097,7 @@ function parseQuery(search) { lng: lang, fallbackLng: existing_lang[0], backend: { - loadPath: 'static/locales/{{lng}}/translation.ec4032a961e3.json' + loadPath: 'static/locales/{{lng}}/translation.2b4daa8f8303.json' } }, function (err, tr) { if (err) { @@ -1178,48 +1174,42 @@ function displayInfoOnMove() { info_features.style("display", "none").html(""); svg_map.style.cursor = ""; } else { - var _ret6 = function () { - map.select('.brush').remove(); - var layers = svg_map.querySelectorAll(".layer"), - nb_layer = layers.length, - top_visible_layer = null; - - for (var i = nb_layer - 1; i > -1; i--) { - if (layers[i].style.visibility !== "hidden") { - top_visible_layer = _app.id_to_layer.get(layers[i].id); - break; - } - } + map.select('.brush').remove(); + var layers = svg_map.querySelectorAll(".layer"), + nb_layer = layers.length, + top_visible_layer = null; - if (!top_visible_layer) { - swal("", i18next.t("app_page.common.error_no_visible"), "error"); - return { - v: void 0 - }; + for (var i = nb_layer - 1; i > -1; i--) { + if (layers[i].style.visibility !== "hidden") { + top_visible_layer = _app.id_to_layer.get(layers[i].id); + break; } + } - var id_top_layer = "#" + _app.layer_to_id.get(top_visible_layer); - var symbol = current_layers[top_visible_layer].symbol || "path"; + if (!top_visible_layer) { + swal("", i18next.t("app_page.common.error_no_visible"), "error"); + return; + } - map.select(id_top_layer).selectAll(symbol).on("mouseover", function (d, i) { - var txt_info = ["

", top_visible_layer, "

Feature ", i + 1, "/", current_layers[top_visible_layer].n_features, "

"]; - var properties = result_data[top_visible_layer] ? result_data[top_visible_layer][i] : d.properties; - Object.getOwnPropertyNames(properties).forEach(function (el) { - txt_info.push("
" + el + " : " + properties[el]); - }); - txt_info.push("

"); - info_features.style("display", null).html(txt_info.join('')); - }); + var id_top_layer = "#" + _app.layer_to_id.get(top_visible_layer); + var symbol = current_layers[top_visible_layer].symbol || "path"; - map.select(id_top_layer).selectAll(symbol).on("mouseout", function () { - info_features.style("display", "none").html(""); + map.select(id_top_layer).selectAll(symbol).on("mouseover", function (d, i) { + var txt_info = ["

", top_visible_layer, "

Feature ", i + 1, "/", current_layers[top_visible_layer].n_features, "

"]; + var properties = result_data[top_visible_layer] ? result_data[top_visible_layer][i] : d.properties; + Object.getOwnPropertyNames(properties).forEach(function (el) { + txt_info.push("
" + el + " : " + properties[el]); }); + txt_info.push("

"); + info_features.style("display", null).html(txt_info.join('')); + }); - info_features.classed("active", true); - svg_map.style.cursor = "help"; - }(); + map.select(id_top_layer).selectAll(symbol).on("mouseout", function () { + info_features.style("display", "none").html(""); + }); - if ((typeof _ret6 === "undefined" ? "undefined" : _typeof(_ret6)) === "object") return _ret6.v; + info_features.classed("active", true); + svg_map.style.cursor = "help"; } } @@ -2105,17 +2095,15 @@ function patchSvgForFonts() { if (needed_definitions.length == 0) { return; } else { - (function () { - var fonts_definitions = Array.prototype.filter.call(document.styleSheets, function (i) { - return i.href && i.href.indexOf("style-fonts.css") > -1 ? i : null; - })[0].cssRules; - var fonts_to_add = needed_definitions.map(function (name) { - return String(fonts_definitions[customs_fonts.indexOf(name)].cssText); - }); - var style_elem = document.createElement("style"); - style_elem.innerHTML = fonts_to_add.join(' '); - svg_map.querySelector("defs").appendChild(style_elem); - })(); + var fonts_definitions = Array.prototype.filter.call(document.styleSheets, function (i) { + return i.href && i.href.indexOf("style-fonts.css") > -1 ? i : null; + })[0].cssRules; + var fonts_to_add = needed_definitions.map(function (name) { + return String(fonts_definitions[customs_fonts.indexOf(name)].cssText); + }); + var style_elem = document.createElement("style"); + style_elem.innerHTML = fonts_to_add.join(' '); + svg_map.querySelector("defs").appendChild(style_elem); } } @@ -3283,29 +3271,27 @@ var display_discretization = function display_discretization(layer_name, field_n height: window.innerHeight - 60 + "px" }); if (values.length < 500) { - (function () { - // Only allow for beeswarm plot if there isn't too many values - // as it seems to be costly due to the "simulation" + the voronoi - var current_histo = "histogram", - choice_histo = ref_histo_box.append('p').style('text-align', 'center'); - choice_histo.insert('button').attrs({ id: 'button_switch_plot', class: 'i18n button_st4', 'data-i18n': '[text]disc_box.switch_ref_histo' }).styles({ padding: '3px', 'font-size': '10px' }).html(i18next.t('disc_box.switch_ref_histo')).on('click', function () { - var str_tr = void 0; - if (current_histo == 'histogram') { - refDisplay("box_plot"); - current_histo = "box_plot"; - str_tr = "_boxplot"; - } else if (current_histo == "box_plot") { - refDisplay("beeswarm"); - current_histo = "beeswarm"; - str_tr = '_beeswarm'; - } else if (current_histo == "beeswarm") { - refDisplay("histogram"); - current_histo = "histogram"; - str_tr = ''; - } - document.getElementById('ref_histo_title').innerHTML = '' + i18next.t('disc_box.hist_ref_title' + str_tr) + ''; - }); - })(); + // Only allow for beeswarm plot if there isn't too many values + // as it seems to be costly due to the "simulation" + the voronoi + var current_histo = "histogram", + choice_histo = ref_histo_box.append('p').style('text-align', 'center'); + choice_histo.insert('button').attrs({ id: 'button_switch_plot', class: 'i18n button_st4', 'data-i18n': '[text]disc_box.switch_ref_histo' }).styles({ padding: '3px', 'font-size': '10px' }).html(i18next.t('disc_box.switch_ref_histo')).on('click', function () { + var str_tr = void 0; + if (current_histo == 'histogram') { + refDisplay("box_plot"); + current_histo = "box_plot"; + str_tr = "_boxplot"; + } else if (current_histo == "box_plot") { + refDisplay("beeswarm"); + current_histo = "beeswarm"; + str_tr = '_beeswarm'; + } else if (current_histo == "beeswarm") { + refDisplay("histogram"); + current_histo = "histogram"; + str_tr = ''; + } + document.getElementById('ref_histo_title').innerHTML = '' + i18next.t('disc_box.hist_ref_title' + str_tr) + ''; + }); } var div_svg = newBox.append('div').append("svg").attr("id", "svg_discretization").attr("width", svg_w + margin.left + margin.right).attr("height", svg_h + margin.top + margin.bottom); @@ -3936,24 +3922,22 @@ var display_discretization_links_discont = function display_discretization_links refDisplay('histogram'); if (values.length < 750) { - (function () { - // Only allow for beeswarm plot if there isn't too many values - // as it seems to be costly due to the "simulation" + the voronoi - var choiceHisto = ref_histo_box.append('p').style('text-align', 'center'); - var currentHisto = 'histogram'; - choiceHisto.insert('button').attrs({ id: 'button_switch_plot', class: 'i18n button_st4', 'data-i18n': '[text]disc_box.switch_ref_histo' }).styles({ padding: '3px', 'font-size': '10px' }).html(i18next.t('disc_box.switch_ref_histo')).on('click', function () { - if (currentHisto === 'histogram') { - refDisplay('box_plot'); - currentHisto = 'box_plot'; - } else if (currentHisto === 'box_plot') { - refDisplay('beeswarm'); - currentHisto = 'beeswarm'; - } else if (currentHisto === 'beeswarm') { - refDisplay('histogram'); - currentHisto = 'histogram'; - } - }); - })(); + // Only allow for beeswarm plot if there isn't too many values + // as it seems to be costly due to the "simulation" + the voronoi + var choiceHisto = ref_histo_box.append('p').style('text-align', 'center'); + var currentHisto = 'histogram'; + choiceHisto.insert('button').attrs({ id: 'button_switch_plot', class: 'i18n button_st4', 'data-i18n': '[text]disc_box.switch_ref_histo' }).styles({ padding: '3px', 'font-size': '10px' }).html(i18next.t('disc_box.switch_ref_histo')).on('click', function () { + if (currentHisto === 'histogram') { + refDisplay('box_plot'); + currentHisto = 'box_plot'; + } else if (currentHisto === 'box_plot') { + refDisplay('beeswarm'); + currentHisto = 'beeswarm'; + } else if (currentHisto === 'beeswarm') { + refDisplay('histogram'); + currentHisto = 'histogram'; + } + }); } var txt_nb_class = d3.select('#discretization_panel').append('input').attrs({ type: 'number', class: 'without_spinner', min: 2, max: max_nb_class, value: nb_class, step: 1 }).styles({ width: '30px', margin: '0 10px', 'vertical-align': 'calc(20%)' }).on('change', function () { @@ -4065,8 +4049,6 @@ var display_discretization_links_discont = function display_discretization_links }; "use strict"; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); function get_menu_option(func) { @@ -5297,33 +5279,27 @@ var fields_Stewart = { if (default_selected_mask) setSelected(mask_selec.node(), default_selected_mask); if (layer) { - var _ret3 = function () { - // let fields = type_col(layer, "number"), - var fields = getFieldsType("stock", layer), - field_selec = section2.select("#stewart_field"), - field_selec2 = section2.select("#stewart_field2"); - - if (fields.length == 0) { - display_error_num_field(); - return { - v: void 0 - }; - } + // let fields = type_col(layer, "number"), + var fields = getFieldsType("stock", layer), + field_selec = section2.select("#stewart_field"), + field_selec2 = section2.select("#stewart_field2"); - field_selec2.append("option").text(" ").attr("value", "None"); - fields.forEach(function (field) { - field_selec.append("option").text(field).attr("value", field); - field_selec2.append("option").text(field).attr("value", field); - }); - document.getElementById("stewart_span").value = get_first_guess_span('stewart'); + if (fields.length == 0) { + display_error_num_field(); + return; + } - field_selec.on("change", function () { - document.getElementById("stewart_output_name").value = ["Smoothed", this.value, layer].join('_'); - }); - section2.select('#stewart_yes').on('click', render_stewart); - }(); + field_selec2.append("option").text(" ").attr("value", "None"); + fields.forEach(function (field) { + field_selec.append("option").text(field).attr("value", field); + field_selec2.append("option").text(field).attr("value", field); + }); + document.getElementById("stewart_span").value = get_first_guess_span('stewart'); - if ((typeof _ret3 === "undefined" ? "undefined" : _typeof(_ret3)) === "object") return _ret3.v; + field_selec.on("change", function () { + document.getElementById("stewart_output_name").value = ["Smoothed", this.value, layer].join('_'); + }); + section2.select('#stewart_yes').on('click', render_stewart); } section2.selectAll(".params").attr("disabled", null); }, @@ -5533,74 +5509,72 @@ var fields_Anamorphose = { new_user_layer_name = document.getElementById("Anamorph_output_name").value; if (algo === "olson") { - (function () { - // let ref_size = document.getElementById("Anamorph_olson_scale_kind").value, - // let opt_scale_max = document.getElementById("Anamorph_opt2"); - // if(opt_scale_max.value > 100){ - // opt_scale_max.value = 100; - // } - // let scale_max = +document.getElementById("Anamorph_opt2").value / 100, - var nb_ft = current_layers[layer].n_features, - dataset = user_data[layer]; - - // if(contains_empty_val(dataset.map(a => a[field_name]))){ - // discard_rendering_empty_val(); - // return; - // } - - var layer_select = document.getElementById(_app.layer_to_id.get(layer)).getElementsByTagName("path"), - sqrt = Math.sqrt, - abs = Math.abs, - d_val = [], - transform = []; - - for (var i = 0; i < nb_ft; ++i) { - var val = +dataset[i][field_name]; - // We deliberatly use 0 if this is a missing value : - if (isNaN(val) || !isFinite(val)) val = 0; - d_val.push([i, val, +path.area(layer_select[i].__data__.geometry)]); - } - d_val.sort(function (a, b) { - return b[1] - a[1]; - }); - var ref = d_val[0][1] / d_val[0][2]; - d_val[0].push(1); + // let ref_size = document.getElementById("Anamorph_olson_scale_kind").value, + // let opt_scale_max = document.getElementById("Anamorph_opt2"); + // if(opt_scale_max.value > 100){ + // opt_scale_max.value = 100; + // } + // let scale_max = +document.getElementById("Anamorph_opt2").value / 100, + var nb_ft = current_layers[layer].n_features, + dataset = user_data[layer]; + + // if(contains_empty_val(dataset.map(a => a[field_name]))){ + // discard_rendering_empty_val(); + // return; + // } + + var layer_select = document.getElementById(_app.layer_to_id.get(layer)).getElementsByTagName("path"), + sqrt = Math.sqrt, + abs = Math.abs, + d_val = [], + transform = []; - for (var _i3 = 0; _i3 < nb_ft; ++_i3) { - var _val = d_val[_i3][1] / d_val[_i3][2]; - var scale = sqrt(_val / ref); - d_val[_i3].push(scale); + for (var i = 0; i < nb_ft; ++i) { + var val = +dataset[i][field_name]; + // We deliberatly use 0 if this is a missing value : + if (isNaN(val) || !isFinite(val)) val = 0; + d_val.push([i, val, +path.area(layer_select[i].__data__.geometry)]); + } + d_val.sort(function (a, b) { + return b[1] - a[1]; + }); + var ref = d_val[0][1] / d_val[0][2]; + d_val[0].push(1); + + for (var _i3 = 0; _i3 < nb_ft; ++_i3) { + var _val = d_val[_i3][1] / d_val[_i3][2]; + var scale = sqrt(_val / ref); + d_val[_i3].push(scale); + } + d_val.sort(function (a, b) { + return a[0] - b[0]; + }); + var formToSend = new FormData(); + formToSend.append("json", JSON.stringify({ + topojson: current_layers[layer].key_name, + scale_values: d_val.map(function (ft) { + return ft[3]; + }), + field_name: field_name })); + xhrequest("POST", '/compute/olson', formToSend, true).then(function (result) { + var options = { result_layer_on_add: true }; + if (new_user_layer_name.length > 0 && /^\w+$/.test(new_user_layer_name)) { + options["choosed_name"] = new_user_layer_name; } - d_val.sort(function (a, b) { - return a[0] - b[0]; - }); - var formToSend = new FormData(); - formToSend.append("json", JSON.stringify({ - topojson: current_layers[layer].key_name, - scale_values: d_val.map(function (ft) { - return ft[3]; - }), - field_name: field_name })); - xhrequest("POST", '/compute/olson', formToSend, true).then(function (result) { - var options = { result_layer_on_add: true }; - if (new_user_layer_name.length > 0 && /^\w+$/.test(new_user_layer_name)) { - options["choosed_name"] = new_user_layer_name; - } - var n_layer_name = add_layer_topojson(result, options); - current_layers[n_layer_name].renderer = "OlsonCarto"; - current_layers[n_layer_name].rendered_field = field_name; - current_layers[n_layer_name].scale_max = 1; - current_layers[n_layer_name].ref_layer_name = layer; - current_layers[n_layer_name].scale_byFeature = transform; - map.select("#" + _app.layer_to_id.get(n_layer_name)).selectAll("path").style("fill-opacity", 0.8).style("stroke", "black").style("stroke-opacity", 0.8); - switch_accordion_section(); - }, function (err) { - display_error_during_computation(); - console.log(err); - }); - })(); + var n_layer_name = add_layer_topojson(result, options); + current_layers[n_layer_name].renderer = "OlsonCarto"; + current_layers[n_layer_name].rendered_field = field_name; + current_layers[n_layer_name].scale_max = 1; + current_layers[n_layer_name].ref_layer_name = layer; + current_layers[n_layer_name].scale_byFeature = transform; + map.select("#" + _app.layer_to_id.get(n_layer_name)).selectAll("path").style("fill-opacity", 0.8).style("stroke", "black").style("stroke-opacity", 0.8); + switch_accordion_section(); + }, function (err) { + display_error_during_computation(); + console.log(err); + }); } else if (algo === "dougenik") { - var formToSend = new FormData(), + var _formToSend = new FormData(), var_to_send = {}, nb_iter = document.getElementById("Anamorph_dougenik_iterations").value; @@ -5608,16 +5582,16 @@ var fields_Anamorphose = { if (!current_layers[layer].original_fields.has(field_name)) { var table = user_data[layer], to_send = var_to_send[field_name]; - for (var i = 0, i_len = table.length; i < i_len; ++i) { - to_send.push(+table[i][field_name]); + for (var _i4 = 0, i_len = table.length; _i4 < i_len; ++_i4) { + to_send.push(+table[_i4][field_name]); } } - formToSend.append("json", JSON.stringify({ + _formToSend.append("json", JSON.stringify({ "topojson": current_layers[layer].key_name, "var_name": var_to_send, "iterations": nb_iter })); - xhrequest("POST", '/compute/carto_doug', formToSend, true).then(function (data) { + xhrequest("POST", '/compute/carto_doug', _formToSend, true).then(function (data) { var options = { result_layer_on_add: true }; if (new_user_layer_name.length > 0 && /^\w+$/.test(new_user_layer_name)) { options["choosed_name"] = new_user_layer_name; @@ -5715,64 +5689,62 @@ function make_prop_line(rendering_params, geojson_line_layer) { propSize = new PropSizer(ref_value, ref_size, symbol_type); if (!geojson_line_layer) { - (function () { - var make_geojson_line_layer = function make_geojson_line_layer() { - var ref_layer_selection = document.getElementById(_app.layer_to_id.get(layer)).getElementsByTagName("path"), - result = []; - for (var i = 0, _nb_features2 = ref_layer_selection.length; i < _nb_features2; ++i) { - var ft = ref_layer_selection[i].__data__, - value = +ft.properties[field], - new_obj = { - id: i, - type: "Feature", - properties: {}, - geometry: cloneObj(ft.geometry) - }; - if (f_ix_len) { - for (var f_ix = 0; f_ix < f_ix_len; f_ix++) { - new_obj.properties[fields_id[f_ix]] = ft.properties[fields_id[f_ix]]; - } + var make_geojson_line_layer = function make_geojson_line_layer() { + var ref_layer_selection = document.getElementById(_app.layer_to_id.get(layer)).getElementsByTagName("path"), + result = []; + for (var i = 0, _nb_features2 = ref_layer_selection.length; i < _nb_features2; ++i) { + var ft = ref_layer_selection[i].__data__, + value = +ft.properties[field], + new_obj = { + id: i, + type: "Feature", + properties: {}, + geometry: cloneObj(ft.geometry) + }; + if (f_ix_len) { + for (var f_ix = 0; f_ix < f_ix_len; f_ix++) { + new_obj.properties[fields_id[f_ix]] = ft.properties[fields_id[f_ix]]; } - new_obj.properties[field] = value; - new_obj.properties[t_field_name] = propSize.scale(value); - new_obj.properties['color'] = get_color(value, i); - if (color_field) new_obj.properties[color_field] = ft.properties[color_field]; - result.push([value, new_obj]); } - result.sort(function (a, b) { - return abs(b[0]) - abs(a[0]); - }); - return { - type: "FeatureCollection", - features: result.map(function (d) { - return d[1]; - }) - }; + new_obj.properties[field] = value; + new_obj.properties[t_field_name] = propSize.scale(value); + new_obj.properties['color'] = get_color(value, i); + if (color_field) new_obj.properties[color_field] = ft.properties[color_field]; + result.push([value, new_obj]); + } + result.sort(function (a, b) { + return abs(b[0]) - abs(a[0]); + }); + return { + type: "FeatureCollection", + features: result.map(function (d) { + return d[1]; + }) }; + }; - var get_color = void 0, - col1 = void 0, - col2 = void 0, - fields_id = getFieldsType('id', layer), - f_ix_len = fields_id ? fields_id.length : 0; + var get_color = void 0, + col1 = void 0, + col2 = void 0, + fields_id = getFieldsType('id', layer), + f_ix_len = fields_id ? fields_id.length : 0; - if (rendering_params.break_val != undefined && rendering_params.fill_color.two) { - col1 = rendering_params.fill_color.two[0], col2 = rendering_params.fill_color.two[1]; - get_color = function get_color(val, ix) { - return val > rendering_params.break_val ? col2 : col1; - }; - } else if (rendering_params.fill_color instanceof Array && rendering_params.fill_color.length == nb_features) { - get_color = function get_color(val, ix) { - return rendering_params.fill_color[ix]; - }; - } else { - get_color = function get_color() { - return rendering_params.fill_color; - }; - } + if (rendering_params.break_val != undefined && rendering_params.fill_color.two) { + col1 = rendering_params.fill_color.two[0], col2 = rendering_params.fill_color.two[1]; + get_color = function get_color(val, ix) { + return val > rendering_params.break_val ? col2 : col1; + }; + } else if (rendering_params.fill_color instanceof Array && rendering_params.fill_color.length == nb_features) { + get_color = function get_color(val, ix) { + return rendering_params.fill_color[ix]; + }; + } else { + get_color = function get_color() { + return rendering_params.fill_color; + }; + } - geojson_line_layer = make_geojson_line_layer(); - })(); + geojson_line_layer = make_geojson_line_layer(); } var layer_id = encodeId(layer_to_add); @@ -5828,87 +5800,85 @@ function make_prop_symbols(rendering_params, geojson_pt_layer) { propSize = new PropSizer(ref_value, ref_size, symbol_type); if (!geojson_pt_layer) { - (function () { - var make_geojson_pt_layer = function make_geojson_pt_layer() { - var ref_layer_selection = document.getElementById(_app.layer_to_id.get(layer)).getElementsByTagName("path"), - result = []; - for (var i = 0, _nb_features3 = ref_layer_selection.length; i < _nb_features3; ++i) { - var ft = ref_layer_selection[i].__data__, - value = +ft.properties[field], - new_obj = { - id: i, - type: "Feature", - properties: {}, - geometry: { type: 'Point' } - }; - if (ft.geometry.type.indexOf('Multi') < 0) { - if (f_ix_len) { - for (var f_ix = 0; f_ix < f_ix_len; f_ix++) { - new_obj.properties[fields_id[f_ix]] = ft.properties[fields_id[f_ix]]; - } - } - new_obj.properties[field] = value; - new_obj.properties[t_field_name] = propSize.scale(value); - new_obj.geometry['coordinates'] = d3.geoCentroid(ft.geometry); - new_obj.properties['color'] = get_color(value, i); - if (color_field) new_obj.properties[color_field] = ft.properties[color_field]; - result.push([value, new_obj]); - } else { - var areas = []; - for (var j = 0; j < ft.geometry.coordinates.length; j++) { - areas.push(path.area({ - type: ft.geometry.type, - coordinates: [ft.geometry.coordinates[j]] - })); + var make_geojson_pt_layer = function make_geojson_pt_layer() { + var ref_layer_selection = document.getElementById(_app.layer_to_id.get(layer)).getElementsByTagName("path"), + result = []; + for (var i = 0, _nb_features3 = ref_layer_selection.length; i < _nb_features3; ++i) { + var ft = ref_layer_selection[i].__data__, + value = +ft.properties[field], + new_obj = { + id: i, + type: "Feature", + properties: {}, + geometry: { type: 'Point' } + }; + if (ft.geometry.type.indexOf('Multi') < 0) { + if (f_ix_len) { + for (var f_ix = 0; f_ix < f_ix_len; f_ix++) { + new_obj.properties[fields_id[f_ix]] = ft.properties[fields_id[f_ix]]; } - var ix_max = areas.indexOf(max_fast(areas)); - if (f_ix_len) { - for (var _f_ix = 0; _f_ix < f_ix_len; _f_ix++) { - new_obj.properties[fields_id[_f_ix]] = ft.properties[fields_id[_f_ix]]; - } + } + new_obj.properties[field] = value; + new_obj.properties[t_field_name] = propSize.scale(value); + new_obj.geometry['coordinates'] = d3.geoCentroid(ft.geometry); + new_obj.properties['color'] = get_color(value, i); + if (color_field) new_obj.properties[color_field] = ft.properties[color_field]; + result.push([value, new_obj]); + } else { + var areas = []; + for (var j = 0; j < ft.geometry.coordinates.length; j++) { + areas.push(path.area({ + type: ft.geometry.type, + coordinates: [ft.geometry.coordinates[j]] + })); + } + var ix_max = areas.indexOf(max_fast(areas)); + if (f_ix_len) { + for (var _f_ix = 0; _f_ix < f_ix_len; _f_ix++) { + new_obj.properties[fields_id[_f_ix]] = ft.properties[fields_id[_f_ix]]; } - new_obj.properties[field] = value; - new_obj.properties[t_field_name] = propSize.scale(value); - new_obj.geometry['coordinates'] = d3.geoCentroid({ type: ft.geometry.type, coordinates: [ft.geometry.coordinates[ix_max]] }); - new_obj.properties['color'] = get_color(value, i); - if (color_field) new_obj.properties[color_field] = ft.properties[color_field]; - result.push([value, new_obj]); } + new_obj.properties[field] = value; + new_obj.properties[t_field_name] = propSize.scale(value); + new_obj.geometry['coordinates'] = d3.geoCentroid({ type: ft.geometry.type, coordinates: [ft.geometry.coordinates[ix_max]] }); + new_obj.properties['color'] = get_color(value, i); + if (color_field) new_obj.properties[color_field] = ft.properties[color_field]; + result.push([value, new_obj]); } - result.sort(function (a, b) { - return abs(b[0]) - abs(a[0]); - }); - return { - type: "FeatureCollection", - features: result.map(function (d) { - return d[1]; - }) - }; + } + result.sort(function (a, b) { + return abs(b[0]) - abs(a[0]); + }); + return { + type: "FeatureCollection", + features: result.map(function (d) { + return d[1]; + }) }; + }; - var get_color = void 0, - col1 = void 0, - col2 = void 0, - fields_id = getFieldsType('id', layer), - f_ix_len = fields_id ? fields_id.length : 0; + var get_color = void 0, + col1 = void 0, + col2 = void 0, + fields_id = getFieldsType('id', layer), + f_ix_len = fields_id ? fields_id.length : 0; - if (rendering_params.break_val != undefined && rendering_params.fill_color.two) { - col1 = rendering_params.fill_color.two[0], col2 = rendering_params.fill_color.two[1]; - get_color = function get_color(val, ix) { - return val > rendering_params.break_val ? col2 : col1; - }; - } else if (rendering_params.fill_color instanceof Array && rendering_params.fill_color.length == nb_features) { - get_color = function get_color(val, ix) { - return rendering_params.fill_color[ix]; - }; - } else { - get_color = function get_color() { - return rendering_params.fill_color; - }; - } + if (rendering_params.break_val != undefined && rendering_params.fill_color.two) { + col1 = rendering_params.fill_color.two[0], col2 = rendering_params.fill_color.two[1]; + get_color = function get_color(val, ix) { + return val > rendering_params.break_val ? col2 : col1; + }; + } else if (rendering_params.fill_color instanceof Array && rendering_params.fill_color.length == nb_features) { + get_color = function get_color(val, ix) { + return rendering_params.fill_color[ix]; + }; + } else { + get_color = function get_color() { + return rendering_params.fill_color; + }; + } - geojson_pt_layer = make_geojson_pt_layer(); - })(); + geojson_pt_layer = make_geojson_pt_layer(); } var layer_id = encodeId(layer_to_add); _app.layer_to_id.set(layer_to_add, layer_id); @@ -6144,8 +6114,8 @@ function prepare_categories_array(layer_name, selected_field, col_map) { cats.push({ name: k, display_name: k, nb_elem: v[0], color: randomColor() }); }); col_map = new Map(); - for (var _i4 = 0; _i4 < cats.length; _i4++) { - col_map.set(cats[_i4].name, [cats[_i4].color, cats[_i4].name, cats[_i4].nb_elem]); + for (var _i5 = 0; _i5 < cats.length; _i5++) { + col_map.set(cats[_i5].name, [cats[_i5].color, cats[_i5].name, cats[_i5].nb_elem]); } } else { col_map.forEach(function (v, k) { @@ -6537,15 +6507,13 @@ var render_discont = function render_discont() { create_li_layer_elem(new_layer_name, nb_ft, ["Line", "discont"], "result"); { - (function () { - // Only display the 50% most important values : - // TODO : reintegrate this upstream in the layer creation : - var lim = 0.5 * current_layers[new_layer_name].n_features; - result_layer.selectAll('path').style("display", function (d, i) { - return i <= lim ? null : "none"; - }); - current_layers[new_layer_name].min_display = 0.5; - })(); + // Only display the 50% most important values : + // TODO : reintegrate this upstream in the layer creation : + var lim = 0.5 * current_layers[new_layer_name].n_features; + result_layer.selectAll('path').style("display", function (d, i) { + return i <= lim ? null : "none"; + }); + current_layers[new_layer_name].min_display = 0.5; } d3.select('#layer_to_export').append('option').attr('value', new_layer_name).text(new_layer_name); @@ -7197,8 +7165,8 @@ function render_FlowMap(field_i, field_j, field_fij, name_join_field, disc_type, links_byId.push([i, val, sizes[serie.getClass(val)]]); } - for (var _i5 = 0; _i5 < nb_class; ++_i5) { - current_layers[new_layer_name].breaks.push([[user_breaks[_i5], user_breaks[_i5 + 1]], sizes[_i5]]); + for (var _i6 = 0; _i6 < nb_class; ++_i6) { + current_layers[new_layer_name].breaks.push([[user_breaks[_i6], user_breaks[_i6 + 1]], sizes[_i6]]); }layer_to_render.style('fill-opacity', 0).style('stroke-opacity', 0.8).style("stroke-width", function (d, i) { return links_byId[i][2]; }); @@ -11262,17 +11230,15 @@ function createStyleBox_Line(layer_name) { return current_layers[layer_name].linksbyId[i][2]; }); } else if (current_layers[layer_name].renderer == "DiscLayer" && prev_min_display != undefined) { - (function () { - current_layers[layer_name].min_display = prev_min_display; - current_layers[layer_name].size = prev_size; - current_layers[layer_name].breaks = prev_breaks; - var lim = prev_min_display != 0 ? prev_min_display * current_layers[layer_name].n_features : -1; - selection.style('fill-opacity', 0).style("stroke", fill_prev.single).style("stroke-opacity", border_opacity).style("display", function (d, i) { - return +i <= lim ? null : "none"; - }).style('stroke-width', function (d) { - return d.properties.prop_val; - }); - })(); + current_layers[layer_name].min_display = prev_min_display; + current_layers[layer_name].size = prev_size; + current_layers[layer_name].breaks = prev_breaks; + var lim = prev_min_display != 0 ? prev_min_display * current_layers[layer_name].n_features : -1; + selection.style('fill-opacity', 0).style("stroke", fill_prev.single).style("stroke-opacity", border_opacity).style("display", function (d, i) { + return +i <= lim ? null : "none"; + }).style('stroke-width', function (d) { + return d.properties.prop_val; + }); } else { if (fill_meth == "single") selection.style("stroke", fill_prev.single).style("stroke-opacity", border_opacity);else if (fill_meth == "random") selection.style("stroke-opacity", border_opacity).style("stroke", function () { return Colors.names[Colors.random()]; @@ -11290,30 +11256,28 @@ function createStyleBox_Line(layer_name) { var popup = d3.select(container).select(".modal-content").style("width", "300px").select(".modal-body"); if (renderer == "Categorical" || renderer == "PropSymbolsTypo") { - (function () { - var color_field = renderer === "Categorical" ? current_layers[layer_name].rendered_field : current_layers[layer_name].rendered_field2; + var color_field = renderer === "Categorical" ? current_layers[layer_name].rendered_field : current_layers[layer_name].rendered_field2; - popup.insert('p').style("margin", "auto").html("").append("button").attr("class", "button_disc").styles({ "font-size": "0.8em", "text-align": "center" }).html(i18next.t("app_page.layer_style_popup.choose_colors")).on("click", function () { - var _prepare_categories_a = prepare_categories_array(layer_name, color_field, current_layers[layer_name].color_map), - _prepare_categories_a2 = _slicedToArray(_prepare_categories_a, 2), - cats = _prepare_categories_a2[0], - _ = _prepare_categories_a2[1]; + popup.insert('p').style("margin", "auto").html("").append("button").attr("class", "button_disc").styles({ "font-size": "0.8em", "text-align": "center" }).html(i18next.t("app_page.layer_style_popup.choose_colors")).on("click", function () { + var _prepare_categories_a = prepare_categories_array(layer_name, color_field, current_layers[layer_name].color_map), + _prepare_categories_a2 = _slicedToArray(_prepare_categories_a, 2), + cats = _prepare_categories_a2[0], + _ = _prepare_categories_a2[1]; - container.modal.hide(); - display_categorical_box(result_data[layer_name], layer_name, color_field, cats).then(function (confirmed) { - container.modal.show(); - if (confirmed) { - rendering_params = { - nb_class: confirmed[0], color_map: confirmed[1], colorsByFeature: confirmed[2], - renderer: "Categorical", rendered_field: color_field, field: color_field - }; - selection.transition().style('stroke', function (d, i) { - return rendering_params.colorsByFeature[i]; - }); - } - }); + container.modal.hide(); + display_categorical_box(result_data[layer_name], layer_name, color_field, cats).then(function (confirmed) { + container.modal.show(); + if (confirmed) { + rendering_params = { + nb_class: confirmed[0], color_map: confirmed[1], colorsByFeature: confirmed[2], + renderer: "Categorical", rendered_field: color_field, field: color_field + }; + selection.transition().style('stroke', function (d, i) { + return rendering_params.colorsByFeature[i]; + }); + } }); - })(); + }); } else if (renderer == "Choropleth" || renderer == "PropSymbolsChoro") { popup.append('p').styles({ margin: 'auto', 'text-align': 'center' }).append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_discretization")).on("click", function () { container.modal.hide(); @@ -11349,52 +11313,48 @@ function createStyleBox_Line(layer_name) { } if (renderer == "Links") { - (function () { - prev_min_display = current_layers[layer_name].min_display || 0; - prev_breaks = current_layers[layer_name].breaks.slice(); - var max_val = 0; - selection.each(function (d) { - if (+d.properties.fij > max_val) max_val = d.properties.fij; - }); - var threshold_section = popup.append('p').attr("class", "line_elem"); - threshold_section.append("span").html(i18next.t("app_page.layer_style_popup.display_flow_larger")); - // The legend will be updated in order to start on the minimum value displayed instead of - // using the minimum value of the serie (skipping unused class if necessary) - threshold_section.insert('input').attrs({ type: 'range', min: 0, max: max_val, step: 0.5, value: prev_min_display }).styles({ width: "58px", "vertical-align": "middle", "display": "inline", "float": "right", "margin-right": "0px" }).on("change", function () { - var val = +this.value; - popup.select("#larger_than").html([" ", val, " "].join('')); - selection.style("display", function (d) { - return +d.properties.fij > val ? null : "none"; - }); - current_layers[layer_name].min_display = val; + prev_min_display = current_layers[layer_name].min_display || 0; + prev_breaks = current_layers[layer_name].breaks.slice(); + var max_val = 0; + selection.each(function (d) { + if (+d.properties.fij > max_val) max_val = d.properties.fij; + }); + var threshold_section = popup.append('p').attr("class", "line_elem"); + threshold_section.append("span").html(i18next.t("app_page.layer_style_popup.display_flow_larger")); + // The legend will be updated in order to start on the minimum value displayed instead of + // using the minimum value of the serie (skipping unused class if necessary) + threshold_section.insert('input').attrs({ type: 'range', min: 0, max: max_val, step: 0.5, value: prev_min_display }).styles({ width: "58px", "vertical-align": "middle", "display": "inline", "float": "right", "margin-right": "0px" }).on("change", function () { + var val = +this.value; + popup.select("#larger_than").html([" ", val, " "].join('')); + selection.style("display", function (d) { + return +d.properties.fij > val ? null : "none"; }); - threshold_section.insert('label').attr("id", "larger_than").style("float", "right").html([" ", prev_min_display, " "].join('')); - popup.append('p').style('text-align', 'center').append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.modify_size_class")).on("click", function () { - container.modal.hide(); - display_discretization_links_discont(layer_name, current_layers[layer_name].rendered_field, current_layers[layer_name].breaks.length, "user_defined").then(function (result) { - container.modal.show(); - if (result) { - (function () { - var serie = result[0], - sizes = result[1].map(function (ft) { - return ft[1]; - }), - links_byId = current_layers[layer_name].linksbyId; - serie.setClassManually(result[2]); - current_layers[layer_name].breaks = result[1]; - selection.style('fill-opacity', 0).style("stroke-width", function (d, i) { - return sizes[serie.getClass(+links_byId[i][1])]; - }); - })(); - } - }); + current_layers[layer_name].min_display = val; + }); + threshold_section.insert('label').attr("id", "larger_than").style("float", "right").html([" ", prev_min_display, " "].join('')); + popup.append('p').style('text-align', 'center').append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.modify_size_class")).on("click", function () { + container.modal.hide(); + display_discretization_links_discont(layer_name, current_layers[layer_name].rendered_field, current_layers[layer_name].breaks.length, "user_defined").then(function (result) { + container.modal.show(); + if (result) { + var serie = result[0], + sizes = result[1].map(function (ft) { + return ft[1]; + }), + links_byId = current_layers[layer_name].linksbyId; + serie.setClassManually(result[2]); + current_layers[layer_name].breaks = result[1]; + selection.style('fill-opacity', 0).style("stroke-width", function (d, i) { + return sizes[serie.getClass(+links_byId[i][1])]; + }); + } }); - })(); + }); } else if (renderer == "DiscLayer") { prev_min_display = current_layers[layer_name].min_display || 0; prev_size = current_layers[layer_name].size.slice(); prev_breaks = current_layers[layer_name].breaks.slice(); - var max_val = Math.max.apply(null, result_data[layer_name].map(function (i) { + var _max_val = Math.max.apply(null, result_data[layer_name].map(function (i) { return i.disc_value; })); var disc_part = popup.append("p").attr("class", "line_elem"); @@ -11414,19 +11374,17 @@ function createStyleBox_Line(layer_name) { display_discretization_links_discont(layer_name, "disc_value", current_layers[layer_name].breaks.length, "user_defined").then(function (result) { container.modal.show(); if (result) { - (function () { - var serie = result[0], - sizes = result[1].map(function (ft) { - return ft[1]; - }); + var serie = result[0], + sizes = result[1].map(function (ft) { + return ft[1]; + }); - serie.setClassManually(result[2]); - current_layers[layer_name].breaks = result[1]; - current_layers[layer_name].size = [sizes[0], sizes[sizes.length - 1]]; - selection.style('fill-opacity', 0).style("stroke-width", function (d, i) { - return sizes[serie.getClass(+d.properties.disc_value)]; - }); - })(); + serie.setClassManually(result[2]); + current_layers[layer_name].breaks = result[1]; + current_layers[layer_name].size = [sizes[0], sizes[sizes.length - 1]]; + selection.style('fill-opacity', 0).style("stroke-width", function (d, i) { + return sizes[serie.getClass(+d.properties.disc_value)]; + }); } }); }); @@ -11451,31 +11409,29 @@ function createStyleBox_Line(layer_name) { current_layers[layer_name]['stroke-width-const'] = val; }); } else if (renderer.startsWith('PropSymbols')) { - (function () { - var field_used = current_layers[layer_name].rendered_field; - var d_values = result_data[layer_name].map(function (f) { - return +f[field_used]; - }); - var prop_val_content = popup.append("p"); - prop_val_content.append("span").html(i18next.t("app_page.layer_style_popup.field_symbol_size", { field: current_layers[layer_name].rendered_field })); - prop_val_content.append('span').html(i18next.t("app_page.layer_style_popup.symbol_fixed_size")); - prop_val_content.insert('input').styles({ width: "60px", float: "right" }).attrs({ type: "number", id: "max_size_range", min: 0.1, step: "any", value: current_layers[layer_name].size[1] }).on("change", function () { - var f_size = +this.value, - prop_values = prop_sizer3_e(d_values, current_layers[layer_name].size[0], f_size, "line"); - current_layers[layer_name].size[1] = f_size; - redraw_prop_val(prop_values); - }); - prop_val_content.append("span").style("float", "right").html('(px)'); - - var prop_val_content2 = popup.append("p").attr("class", "line_elem"); - prop_val_content2.append("span").html(i18next.t("app_page.layer_style_popup.on_value")); - prop_val_content2.insert("input").styles({ width: "100px", float: "right" }).attrs({ type: "number", min: 0.1, step: 0.1, value: +current_layers[layer_name].size[0] }).on("change", function () { - var f_val = +this.value, - prop_values = prop_sizer3_e(d_values, f_val, current_layers[layer_name].size[1], "line"); - redraw_prop_val(prop_values); - current_layers[layer_name].size[0] = f_val; - }); - })(); + var field_used = current_layers[layer_name].rendered_field; + var d_values = result_data[layer_name].map(function (f) { + return +f[field_used]; + }); + var prop_val_content = popup.append("p"); + prop_val_content.append("span").html(i18next.t("app_page.layer_style_popup.field_symbol_size", { field: current_layers[layer_name].rendered_field })); + prop_val_content.append('span').html(i18next.t("app_page.layer_style_popup.symbol_fixed_size")); + prop_val_content.insert('input').styles({ width: "60px", float: "right" }).attrs({ type: "number", id: "max_size_range", min: 0.1, step: "any", value: current_layers[layer_name].size[1] }).on("change", function () { + var f_size = +this.value, + prop_values = prop_sizer3_e(d_values, current_layers[layer_name].size[0], f_size, "line"); + current_layers[layer_name].size[1] = f_size; + redraw_prop_val(prop_values); + }); + prop_val_content.append("span").style("float", "right").html('(px)'); + + var prop_val_content2 = popup.append("p").attr("class", "line_elem"); + prop_val_content2.append("span").html(i18next.t("app_page.layer_style_popup.on_value")); + prop_val_content2.insert("input").styles({ width: "100px", float: "right" }).attrs({ type: "number", min: 0.1, step: 0.1, value: +current_layers[layer_name].size[0] }).on("change", function () { + var f_val = +this.value, + prop_values = prop_sizer3_e(d_values, f_val, current_layers[layer_name].size[1], "line"); + redraw_prop_val(prop_values); + current_layers[layer_name].size[0] = f_val; + }); } make_generate_labels_section(popup, layer_name); @@ -11609,49 +11565,45 @@ function createStyleBox(layer_name) { if (current_layers[layer_name].colors_breaks == undefined && renderer != "Categorical") { if (current_layers[layer_name].targeted || current_layers[layer_name].is_result) { - (function () { - var fields = getFieldsType('category', null, fields_layer); - var fill_method = popup.append("p").html(i18next.t("app_page.layer_style_popup.fill_color")).insert("select"); - [[i18next.t("app_page.layer_style_popup.single_color"), "single"], [i18next.t("app_page.layer_style_popup.categorical_color"), "categorical"], [i18next.t("app_page.layer_style_popup.random_color"), "random"]].forEach(function (d, i) { - fill_method.append("option").text(d[0]).attr("value", d[1]); - }); - popup.append('div').attrs({ id: "fill_color_section" }); - fill_method.on("change", function () { - d3.select("#fill_color_section").html("").on("click", null); - if (this.value == "single") make_single_color_menu(layer_name, fill_prev);else if (this.value == "categorical") make_categorical_color_menu(fields, layer_name, fill_prev);else if (this.value == "random") make_random_color(layer_name); - }); - setSelected(fill_method.node(), Object.getOwnPropertyNames(fill_prev)[0]); - })(); + var fields = getFieldsType('category', null, fields_layer); + var fill_method = popup.append("p").html(i18next.t("app_page.layer_style_popup.fill_color")).insert("select"); + [[i18next.t("app_page.layer_style_popup.single_color"), "single"], [i18next.t("app_page.layer_style_popup.categorical_color"), "categorical"], [i18next.t("app_page.layer_style_popup.random_color"), "random"]].forEach(function (d, i) { + fill_method.append("option").text(d[0]).attr("value", d[1]); + }); + popup.append('div').attrs({ id: "fill_color_section" }); + fill_method.on("change", function () { + d3.select("#fill_color_section").html("").on("click", null); + if (this.value == "single") make_single_color_menu(layer_name, fill_prev);else if (this.value == "categorical") make_categorical_color_menu(fields, layer_name, fill_prev);else if (this.value == "random") make_random_color(layer_name); + }); + setSelected(fill_method.node(), Object.getOwnPropertyNames(fill_prev)[0]); } else { popup.append('div').attrs({ id: "fill_color_section" }); make_single_color_menu(layer_name, fill_prev); } } else if (renderer == "Categorical") { - (function () { - var rendered_field = current_layers[layer_name].rendered_field; + var rendered_field = current_layers[layer_name].rendered_field; - popup.insert('p').styles({ "margin": "auto", "text-align": "center" }).html("").append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_colors")).on("click", function () { - container.modal.hide(); + popup.insert('p').styles({ "margin": "auto", "text-align": "center" }).html("").append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_colors")).on("click", function () { + container.modal.hide(); - var _prepare_categories_a3 = prepare_categories_array(layer_name, rendered_field, current_layers[layer_name].color_map), - _prepare_categories_a4 = _slicedToArray(_prepare_categories_a3, 2), - cats = _prepare_categories_a4[0], - _ = _prepare_categories_a4[1]; + var _prepare_categories_a3 = prepare_categories_array(layer_name, rendered_field, current_layers[layer_name].color_map), + _prepare_categories_a4 = _slicedToArray(_prepare_categories_a3, 2), + cats = _prepare_categories_a4[0], + _ = _prepare_categories_a4[1]; - display_categorical_box(result_data[layer_name], layer_name, rendered_field, cats).then(function (confirmed) { - container.modal.show(); - if (confirmed) { - rendering_params = { - nb_class: confirmed[0], color_map: confirmed[1], colorsByFeature: confirmed[2], - renderer: "Categorical", rendered_field: rendered_field, field: rendered_field - }; - selection.transition().style('fill', function (d, i) { - return rendering_params.colorsByFeature[i]; - }); - } - }); + display_categorical_box(result_data[layer_name], layer_name, rendered_field, cats).then(function (confirmed) { + container.modal.show(); + if (confirmed) { + rendering_params = { + nb_class: confirmed[0], color_map: confirmed[1], colorsByFeature: confirmed[2], + renderer: "Categorical", rendered_field: rendered_field, field: rendered_field + }; + selection.transition().style('fill', function (d, i) { + return rendering_params.colorsByFeature[i]; + }); + } }); - })(); + }); } else if (renderer == "Choropleth") { popup.append('p').styles({ margin: 'auto', 'text-align': 'center' }).append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_discretization")).on("click", function () { container.modal.hide(); @@ -11680,74 +11632,64 @@ function createStyleBox(layer_name) { }); }); } else if (renderer == "Gridded") { - (function () { - var field_to_discretize = current_layers[layer_name].rendered_field; - popup.append('p').style("margin", "auto").style("text-align", "center").append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_discretization")).on("click", function () { - container.modal.hide(); - display_discretization(layer_name, field_to_discretize, current_layers[layer_name].colors_breaks.length, - // "quantiles", - current_layers[layer_name].options_disc).then(function (confirmed) { - container.modal.show(); - if (confirmed) { - rendering_params = { - nb_class: confirmed[0], - type: confirmed[1], - breaks: confirmed[2], - colors: confirmed[3], - colorsByFeature: confirmed[4], - schema: confirmed[5], - no_data: confirmed[6], - renderer: "Choropleth", - field: field_to_discretize, - extra_options: confirmed[7] - }; - var opacity_val = fill_opacity_section ? +fill_opacity_section.node().value : 0.9; - selection.transition().style("fill", function (d, i) { - return rendering_params.colorsByFeature[i]; - }); - } - }); + var field_to_discretize = current_layers[layer_name].rendered_field; + popup.append('p').style("margin", "auto").style("text-align", "center").append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_discretization")).on("click", function () { + container.modal.hide(); + display_discretization(layer_name, field_to_discretize, current_layers[layer_name].colors_breaks.length, + // "quantiles", + current_layers[layer_name].options_disc).then(function (confirmed) { + container.modal.show(); + if (confirmed) { + rendering_params = { + nb_class: confirmed[0], + type: confirmed[1], + breaks: confirmed[2], + colors: confirmed[3], + colorsByFeature: confirmed[4], + schema: confirmed[5], + no_data: confirmed[6], + renderer: "Choropleth", + field: field_to_discretize, + extra_options: confirmed[7] + }; + var opacity_val = fill_opacity_section ? +fill_opacity_section.node().value : 0.9; + selection.transition().style("fill", function (d, i) { + return rendering_params.colorsByFeature[i]; + }); + } }); - })(); + }); } else if (renderer == "Stewart") { - var prev_palette; - var recolor_stewart; - var color_palette_section; - - (function () { - var field_to_colorize = "min", - nb_ft = current_layers[layer_name].n_features; - prev_palette = cloneObj(current_layers[layer_name].color_palette); - - rendering_params = { breaks: [].concat(current_layers[layer_name].colors_breaks) }; - - recolor_stewart = function recolor_stewart(coloramp_name, reversed) { - var new_coloramp = getColorBrewerArray(nb_ft, coloramp_name); - if (reversed) new_coloramp.reverse(); - for (var i = 0; i < nb_ft; ++i) { - rendering_params.breaks[i][1] = new_coloramp[i]; - }selection.transition().style("fill", function (d, i) { - return new_coloramp[i]; - }); - current_layers[layer_name].color_palette = { name: coloramp_name, reversed: reversed }; - }; - - color_palette_section = popup.insert("p").attr("class", "line_elem"); - - color_palette_section.append("span").html(i18next.t("app_page.layer_style_popup.color_palette")); - var seq_color_select = color_palette_section.insert("select").attr("id", "coloramp_params").style('float', 'right').on("change", function () { - recolor_stewart(this.value, false); + var field_to_colorize = "min", + nb_ft = current_layers[layer_name].n_features; + var prev_palette = cloneObj(current_layers[layer_name].color_palette); + rendering_params = { breaks: [].concat(current_layers[layer_name].colors_breaks) }; + + var recolor_stewart = function recolor_stewart(coloramp_name, reversed) { + var new_coloramp = getColorBrewerArray(nb_ft, coloramp_name); + if (reversed) new_coloramp.reverse(); + for (var i = 0; i < nb_ft; ++i) { + rendering_params.breaks[i][1] = new_coloramp[i]; + }selection.transition().style("fill", function (d, i) { + return new_coloramp[i]; }); + current_layers[layer_name].color_palette = { name: coloramp_name, reversed: reversed }; + }; - ['Blues', 'BuGn', 'BuPu', 'GnBu', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'RdPu', 'YlGn', 'Greens', 'Greys', 'Oranges', 'Purples', 'Reds'].forEach(function (name) { - seq_color_select.append("option").text(name).attr("value", name); - }); - seq_color_select.node().value = prev_palette.name; - popup.insert('p').attr('class', 'line_elem').styles({ 'text-align': 'center', 'margin': '0 !important' }).insert("button").attrs({ "class": "button_st3", "id": "reverse_colramp" }).html(i18next.t("app_page.layer_style_popup.reverse_palette")).on("click", function () { - var pal_name = document.getElementById("coloramp_params").value; - recolor_stewart(pal_name, true); - }); - })(); + var color_palette_section = popup.insert("p").attr("class", "line_elem"); + color_palette_section.append("span").html(i18next.t("app_page.layer_style_popup.color_palette")); + var seq_color_select = color_palette_section.insert("select").attr("id", "coloramp_params").style('float', 'right').on("change", function () { + recolor_stewart(this.value, false); + }); + + ['Blues', 'BuGn', 'BuPu', 'GnBu', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'RdPu', 'YlGn', 'Greens', 'Greys', 'Oranges', 'Purples', 'Reds'].forEach(function (name) { + seq_color_select.append("option").text(name).attr("value", name); + }); + seq_color_select.node().value = prev_palette.name; + popup.insert('p').attr('class', 'line_elem').styles({ 'text-align': 'center', 'margin': '0 !important' }).insert("button").attrs({ "class": "button_st3", "id": "reverse_colramp" }).html(i18next.t("app_page.layer_style_popup.reverse_palette")).on("click", function () { + var pal_name = document.getElementById("coloramp_params").value; + recolor_stewart(pal_name, true); + }); } var fill_opacity_section = popup.append('p').attr("class", "line_elem"); fill_opacity_section.append("span").html(i18next.t("app_page.layer_style_popup.fill_opacity")); @@ -11847,55 +11789,53 @@ function make_generate_labels_graticule_section(parent_node) { function make_generate_labels_section(parent_node, layer_name) { var _fields = get_fields_name(layer_name) || []; if (_fields && _fields.length > 0) { - (function () { - var labels_section = parent_node.append("p"); - var input_fields = {}; - for (var i = 0; i < _fields.length; i++) { - input_fields[_fields[i]] = _fields[i]; - } - labels_section.append("span").attr("id", "generate_labels").styles({ "cursor": "pointer", "margin-top": "15px" }).html(i18next.t("app_page.layer_style_popup.generate_labels")).on("mouseover", function () { - this.style.fontWeight = "bold"; - }).on("mouseout", function () { - this.style.fontWeight = ""; - }).on("click", function () { - swal({ - title: "", - text: i18next.t("app_page.layer_style_popup.field_label"), - type: "question", - customClass: 'swal2_custom', - showCancelButton: true, - showCloseButton: false, - allowEscapeKey: false, - allowOutsideClick: false, - confirmButtonColor: "#DD6B55", - confirmButtonText: i18next.t("app_page.common.confirm"), - input: 'select', - inputPlaceholder: i18next.t("app_page.common.field"), - inputOptions: input_fields, - inputValidator: function inputValidator(value) { - return new Promise(function (resolve, reject) { - if (_fields.indexOf(value) < 0) { - reject(i18next.t("app_page.common.no_value")); - } else { - var options_labels = { - label_field: value, - color: "#000", - font: "Arial,Helvetica,sans-serif", - ref_font_size: 12, - uo_layer_name: ["Labels", value, layer_name].join('_') - }; - render_label(layer_name, options_labels); - resolve(); - } - }); - } - }).then(function (value) { - console.log(value); - }, function (dismiss) { - console.log(dismiss); - }); + var labels_section = parent_node.append("p"); + var input_fields = {}; + for (var i = 0; i < _fields.length; i++) { + input_fields[_fields[i]] = _fields[i]; + } + labels_section.append("span").attr("id", "generate_labels").styles({ "cursor": "pointer", "margin-top": "15px" }).html(i18next.t("app_page.layer_style_popup.generate_labels")).on("mouseover", function () { + this.style.fontWeight = "bold"; + }).on("mouseout", function () { + this.style.fontWeight = ""; + }).on("click", function () { + swal({ + title: "", + text: i18next.t("app_page.layer_style_popup.field_label"), + type: "question", + customClass: 'swal2_custom', + showCancelButton: true, + showCloseButton: false, + allowEscapeKey: false, + allowOutsideClick: false, + confirmButtonColor: "#DD6B55", + confirmButtonText: i18next.t("app_page.common.confirm"), + input: 'select', + inputPlaceholder: i18next.t("app_page.common.field"), + inputOptions: input_fields, + inputValidator: function inputValidator(value) { + return new Promise(function (resolve, reject) { + if (_fields.indexOf(value) < 0) { + reject(i18next.t("app_page.common.no_value")); + } else { + var options_labels = { + label_field: value, + color: "#000", + font: "Arial,Helvetica,sans-serif", + ref_font_size: 12, + uo_layer_name: ["Labels", value, layer_name].join('_') + }; + render_label(layer_name, options_labels); + resolve(); + } + }); + } + }).then(function (value) { + console.log(value); + }, function (dismiss) { + console.log(dismiss); }); - })(); + }); } } @@ -12045,34 +11985,32 @@ function createStyleBox_ProbSymbol(layer_name) { popup.append("p").styles({ "text-align": "center", "color": "grey" }).html([i18next.t("app_page.layer_style_popup.rendered_field", { field: current_layers[layer_name].rendered_field }), i18next.t("app_page.layer_style_popup.reference_layer", { layer: ref_layer_name })].join('')); if (type_method === "PropSymbolsChoro") { - (function () { - var field_color = current_layers[layer_name].rendered_field2; - popup.append('p').style("margin", "auto").html(i18next.t("app_page.layer_style_popup.field_symbol_color", { field: field_color })).append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_discretization")).on("click", function () { - container.modal.hide(); - display_discretization(layer_name, field_color, current_layers[layer_name].colors_breaks.length, - // "quantiles", - current_layers[layer_name].options_disc).then(function (confirmed) { - container.modal.show(); - if (confirmed) { - rendering_params = { - nb_class: confirmed[0], - type: confirmed[1], - breaks: confirmed[2], - colors: confirmed[3], - colorsByFeature: confirmed[4], - schema: confirmed[5], - no_data: confirmed[6], - renderer: "PropSymbolsChoro", - field: field_color, - extra_options: confirmed[7] - }; - selection.style("fill", function (d, i) { - return rendering_params.colorsByFeature[i]; - }); - } - }); + var field_color = current_layers[layer_name].rendered_field2; + popup.append('p').style("margin", "auto").html(i18next.t("app_page.layer_style_popup.field_symbol_color", { field: field_color })).append("button").attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_discretization")).on("click", function () { + container.modal.hide(); + display_discretization(layer_name, field_color, current_layers[layer_name].colors_breaks.length, + // "quantiles", + current_layers[layer_name].options_disc).then(function (confirmed) { + container.modal.show(); + if (confirmed) { + rendering_params = { + nb_class: confirmed[0], + type: confirmed[1], + breaks: confirmed[2], + colors: confirmed[3], + colorsByFeature: confirmed[4], + schema: confirmed[5], + no_data: confirmed[6], + renderer: "PropSymbolsChoro", + field: field_color, + extra_options: confirmed[7] + }; + selection.style("fill", function (d, i) { + return rendering_params.colorsByFeature[i]; + }); + } }); - })(); + }); } else if (current_layers[layer_name].break_val != undefined) { var fill_color_section = popup.append('div').attr("id", "fill_color_section"); fill_color_section.append("p").style("text-align", "center").html(i18next.t("app_page.layer_style_popup.color_break")); @@ -12104,52 +12042,48 @@ function createStyleBox_ProbSymbol(layer_name) { }); }); } else if (type_method === "PropSymbolsTypo") { - (function () { - var field_color = current_layers[layer_name].rendered_field2; - popup.append('p').style("margin", "auto").html(i18next.t("app_page.layer_style_popup.field_symbol_color", { field: field_color })); - popup.append('p').style('text-align', 'center').insert('button').attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_colors")).on("click", function () { - var _prepare_categories_a5 = prepare_categories_array(layer_name, field_color, current_layers[layer_name].color_map), - _prepare_categories_a6 = _slicedToArray(_prepare_categories_a5, 2), - cats = _prepare_categories_a6[0], - _ = _prepare_categories_a6[1]; - - container.modal.hide(); - display_categorical_box(result_data[layer_name], layer_name, field_color, cats).then(function (confirmed) { - container.modal.show(); - if (confirmed) { - rendering_params = { - nb_class: confirmed[0], color_map: confirmed[1], colorsByFeature: confirmed[2], - renderer: "Categorical", rendered_field: field_color, field: field_color - }; - selection.style("fill", function (d, i) { - return rendering_params.colorsByFeature[i]; - }); - } - }); - }); - })(); - } else { - (function () { - var fields_all = type_col2(result_data[layer_name]), - fields = getFieldsType('category', null, fields_all), - fill_method = popup.append("p").html(i18next.t("app_page.layer_style_popup.fill_color")).insert("select"); + var _field_color = current_layers[layer_name].rendered_field2; + popup.append('p').style("margin", "auto").html(i18next.t("app_page.layer_style_popup.field_symbol_color", { field: _field_color })); + popup.append('p').style('text-align', 'center').insert('button').attr("class", "button_disc").html(i18next.t("app_page.layer_style_popup.choose_colors")).on("click", function () { + var _prepare_categories_a5 = prepare_categories_array(layer_name, _field_color, current_layers[layer_name].color_map), + _prepare_categories_a6 = _slicedToArray(_prepare_categories_a5, 2), + cats = _prepare_categories_a6[0], + _ = _prepare_categories_a6[1]; - [[i18next.t("app_page.layer_style_popup.single_color"), "single"], [i18next.t("app_page.layer_style_popup.random_color"), "random"]].forEach(function (d) { - fill_method.append("option").text(d[0]).attr("value", d[1]); - }); - popup.append('div').attr("id", "fill_color_section"); - fill_method.on("change", function () { - popup.select("#fill_color_section").html("").on("click", null); - if (this.value === "single") { - make_single_color_menu(layer_name, fill_prev, type_symbol); - map.select(g_lyr_name).selectAll(type_symbol).transition().style("fill", fill_prev.single); - current_layers[layer_name].fill_color = cloneObj(fill_prev); - } else if (this.value === "random") { - make_random_color(layer_name, type_symbol); + container.modal.hide(); + display_categorical_box(result_data[layer_name], layer_name, _field_color, cats).then(function (confirmed) { + container.modal.show(); + if (confirmed) { + rendering_params = { + nb_class: confirmed[0], color_map: confirmed[1], colorsByFeature: confirmed[2], + renderer: "Categorical", rendered_field: _field_color, field: _field_color + }; + selection.style("fill", function (d, i) { + return rendering_params.colorsByFeature[i]; + }); } }); - setSelected(fill_method.node(), Object.getOwnPropertyNames(fill_prev)[0]); - })(); + }); + } else { + var fields_all = type_col2(result_data[layer_name]), + fields = getFieldsType('category', null, fields_all), + fill_method = popup.append("p").html(i18next.t("app_page.layer_style_popup.fill_color")).insert("select"); + + [[i18next.t("app_page.layer_style_popup.single_color"), "single"], [i18next.t("app_page.layer_style_popup.random_color"), "random"]].forEach(function (d) { + fill_method.append("option").text(d[0]).attr("value", d[1]); + }); + popup.append('div').attr("id", "fill_color_section"); + fill_method.on("change", function () { + popup.select("#fill_color_section").html("").on("click", null); + if (this.value === "single") { + make_single_color_menu(layer_name, fill_prev, type_symbol); + map.select(g_lyr_name).selectAll(type_symbol).transition().style("fill", fill_prev.single); + current_layers[layer_name].fill_color = cloneObj(fill_prev); + } else if (this.value === "random") { + make_random_color(layer_name, type_symbol); + } + }); + setSelected(fill_method.node(), Object.getOwnPropertyNames(fill_prev)[0]); } var fill_opct_section = popup.append('p').attr("class", "line_elem"); @@ -14854,19 +14788,17 @@ function createLegend_choro(layer, field, title, subtitle) { } if (current_layers[layer].renderer.indexOf('Choropleth') > -1 || current_layers[layer].renderer.indexOf('PropSymbolsChoro') > -1 || current_layers[layer].renderer.indexOf('Gridded') > -1 || current_layers[layer].renderer.indexOf('Stewart') > -1) { - (function () { - var tmp_pos = void 0; - legend_elems.append('text').attr('x', xpos + boxwidth * 2 + 10).attr('y', function (d, i) { - tmp_pos = y_pos2 + i * boxheight + i * boxgap; - return tmp_pos; - }).styles({ 'alignment-baseline': 'middle', 'font-size': '10px' }).text(function (d) { - return round_value(+d.value.split(' - ')[1], rounding_precision).toLocaleString(); - }); + var tmp_pos = void 0; + legend_elems.append('text').attr('x', xpos + boxwidth * 2 + 10).attr('y', function (d, i) { + tmp_pos = y_pos2 + i * boxheight + i * boxgap; + return tmp_pos; + }).styles({ 'alignment-baseline': 'middle', 'font-size': '10px' }).text(function (d) { + return round_value(+d.value.split(' - ')[1], rounding_precision).toLocaleString(); + }); - legend_root.insert('text').attr('id', 'lgd_choro_min_val').attr('x', xpos + boxwidth * 2 + 10).attr('y', tmp_pos + boxheight + boxgap).styles({ 'alignment-baseline': 'middle', 'font-size': '10px' }).text(function (d) { - return round_value(data_colors_label[data_colors_label.length - 1].value.split(' - ')[0], rounding_precision).toLocaleString(); - }); - })(); + legend_root.insert('text').attr('id', 'lgd_choro_min_val').attr('x', xpos + boxwidth * 2 + 10).attr('y', tmp_pos + boxheight + boxgap).styles({ 'alignment-baseline': 'middle', 'font-size': '10px' }).text(function (d) { + return round_value(data_colors_label[data_colors_label.length - 1].value.split(' - ')[0], rounding_precision).toLocaleString(); + }); } else { legend_elems.append('text').attr('x', xpos + boxwidth * 2 + 10).attr('y', function (d, i) { return y_pos2 + i * boxheight + i * boxgap + boxheight * 2 / 3; @@ -15122,33 +15054,29 @@ function createlegendEditBox(legend_id, layer_name) { max_nb_decimals = get_max_nb_dec(layer_name); max_nb_left = get_max_nb_left_sep(layer_name); } else { - (function () { - var nb_dec = [], - nb_left = []; - legend_boxes.each(function (d) { - nb_dec.push(get_nb_decimals(d.value)); - nb_left.push(get_nb_left_separator(d.value)); - }); - max_nb_decimals = max_fast(nb_dec); - max_nb_left = min_fast(nb_left); - })(); + var nb_dec = [], + nb_left = []; + legend_boxes.each(function (d) { + nb_dec.push(get_nb_decimals(d.value)); + nb_left.push(get_nb_left_separator(d.value)); + }); + max_nb_decimals = max_fast(nb_dec); + max_nb_left = min_fast(nb_left); } max_nb_left = max_nb_left > 2 ? max_nb_left : 2; if (max_nb_decimals > 0 || max_nb_left >= 2) { if (legend_node.getAttribute('rounding_precision')) { current_nb_dec = legend_node.getAttribute('rounding_precision'); } else { - (function () { - var nbs = [], - nb_dec = []; - legend_boxes.each(function () { - nbs.push(this.textContent); - }); - for (var i = 0; i < nbs.length; i++) { - nb_dec.push(get_nb_decimals(nbs[i])); - } - current_nb_dec = max_fast(nb_dec); - })(); + var nbs = [], + _nb_dec = []; + legend_boxes.each(function () { + nbs.push(this.textContent); + }); + for (var i = 0; i < nbs.length; i++) { + _nb_dec.push(get_nb_decimals(nbs[i])); + } + current_nb_dec = max_fast(_nb_dec); } if (max_nb_decimals > +current_nb_dec && max_nb_decimals > 18) { max_nb_decimals = 18; @@ -15161,21 +15089,21 @@ function createlegendEditBox(legend_id, layer_name) { d3.select('#precision_change_txt').html(nb_float); legend_node.setAttribute('rounding_precision', nb_float); if (legend_id === 'legend_root') { - for (var i = 0; i < legend_boxes._groups[0].length; i++) { - var values = legend_boxes._groups[0][i].__data__.value.split(' - '); - legend_boxes._groups[0][i].innerHTML = round_value(+values[1], nb_float).toLocaleString(); + for (var _i = 0; _i < legend_boxes._groups[0].length; _i++) { + var values = legend_boxes._groups[0][_i].__data__.value.split(' - '); + legend_boxes._groups[0][_i].innerHTML = round_value(+values[1], nb_float).toLocaleString(); } var min_val = +legend_boxes._groups[0][legend_boxes._groups[0].length - 1].__data__.value.split(' - ')[0]; legend_node.querySelector('#lgd_choro_min_val').innerHTML = round_value(min_val, nb_float).toLocaleString(); } else if (legend_id === 'legend_root_symbol') { - for (var _i = 0; _i < legend_boxes._groups[0].length; _i++) { - var value = legend_boxes._groups[0][_i].__data__.value; - legend_boxes._groups[0][_i].innerHTML = round_value(+value, nb_float).toLocaleString(); + for (var _i2 = 0; _i2 < legend_boxes._groups[0].length; _i2++) { + var value = legend_boxes._groups[0][_i2].__data__.value; + legend_boxes._groups[0][_i2].innerHTML = round_value(+value, nb_float).toLocaleString(); } } else if (legend_id === 'legend_root_lines_class') { - for (var _i2 = 0; _i2 < legend_boxes._groups[0].length; _i2++) { - var _value = legend_boxes._groups[0][_i2].__data__.value[1]; - legend_boxes._groups[0][_i2].innerHTML = round_value(+_value, nb_float).toLocaleString(); + for (var _i3 = 0; _i3 < legend_boxes._groups[0].length; _i3++) { + var _value = legend_boxes._groups[0][_i3].__data__.value[1]; + legend_boxes._groups[0][_i3].innerHTML = round_value(+_value, nb_float).toLocaleString(); } var _min_val = +legend_boxes._groups[0][legend_boxes._groups[0].length - 1].__data__.value[0]; legend_node.querySelector('#lgd_choro_min_val').innerHTML = round_value(_min_val, nb_float).toLocaleString(); @@ -16015,111 +15943,107 @@ function apply_user_preferences(json_pref) { // This is a layer for which a geometries have been stocked as TopoJSON : if (_layer.topo_geom) { - (function () { - var tmp = { - skip_alert: true, - choosed_name: layer_name, - skip_rescale: true - }; - if (_layer.targeted) { - tmp['target_layer_on_add'] = true; - } else if (_layer.renderer) { - tmp['func_name'] = func_name_corresp.get(_layer.renderer); - tmp['result_layer_on_add'] = true; - } - if (_layer.pointRadius != undefined) tmp['pointRadius'] = _layer.pointRadius; + var tmp = { + skip_alert: true, + choosed_name: layer_name, + skip_rescale: true + }; + if (_layer.targeted) { + tmp['target_layer_on_add'] = true; + } else if (_layer.renderer) { + tmp['func_name'] = func_name_corresp.get(_layer.renderer); + tmp['result_layer_on_add'] = true; + } + if (_layer.pointRadius != undefined) tmp['pointRadius'] = _layer.pointRadius; - // handle_reload_TopoJSON(_layer.topo_geom, tmp).then(function(n_layer_name){ - layer_name = handle_reload_TopoJSON(_layer.topo_geom, tmp); - var current_layer_prop = current_layers[layer_name]; - if (_layer.renderer) { - current_layer_prop.renderer = _layer.renderer; - } - if (_layer.targeted && _layer.fields_type) { - current_layer_prop.fields_type = _layer.fields_type; - document.getElementById('btn_type_fields').removeAttribute('disabled'); - } - layer_id = _app.layer_to_id.get(layer_name); - var layer_selec = map.select("#" + layer_id); - - current_layer_prop.rendered_field = _layer.rendered_field; - - if (_layer.ref_layer_name) current_layer_prop.ref_layer_name = _layer.ref_layer_name; - if (_layer.size) current_layer_prop.size = _layer.size; - if (_layer.colors_breaks) current_layer_prop.colors_breaks = _layer.colors_breaks; - if (_layer.options_disc) current_layer_prop.options_disc = _layer.options_disc; - if (_layer.fill_color) current_layer_prop.fill_color = _layer.fill_color; - if (_layer.color_palette) current_layer_prop.color_palette; - if (_layer.renderer) { - if (['Choropleth', 'Stewart', 'Gridded'].indexOf(_layer.renderer) > -1) { - layer_selec.selectAll("path").style(current_layer_prop.type === "Line" ? "stroke" : "fill", function (d, j) { - return _layer.color_by_id[j]; - }); - } else if (_layer.renderer === "Links") { - current_layer_prop.linksbyId = _layer.linksbyId; - current_layer_prop.min_display = _layer.min_display; - current_layer_prop.breaks = _layer.breaks; - layer_selec.selectAll("path").styles(function (d, j) { - return { - display: +d.properties.fij > _layer.min_display ? null : "none", - stroke: _layer.fill_color.single, - 'stroke-width': current_layer_prop.linksbyId[j][2] - }; - }); - } else if (_layer.renderer === "DiscLayer") { - (function () { - current_layer_prop.min_display = _layer.min_display || 0; - current_layer_prop.breaks = _layer.breaks; - var lim = current_layer_prop.min_display != 0 ? current_layer_prop.min_display * current_layers[layer_name].n_features : -1; - layer_selec.selectAll("path").styles(function (d, j) { - return { - fill: "none", - stroke: _layer.fill_color.single, - display: j <= lim ? null : 'none', - 'stroke-width': d.properties.prop_val - }; - }); - })(); - } else if (_layer.renderer.startsWith("Categorical")) { - var rendering_params = { - colorByFeature: _layer.color_by_id, - color_map: new Map(_layer.color_map), - rendered_field: _layer.rendered_field, - renderer: "Categorical" + // handle_reload_TopoJSON(_layer.topo_geom, tmp).then(function(n_layer_name){ + layer_name = handle_reload_TopoJSON(_layer.topo_geom, tmp); + var current_layer_prop = current_layers[layer_name]; + if (_layer.renderer) { + current_layer_prop.renderer = _layer.renderer; + } + if (_layer.targeted && _layer.fields_type) { + current_layer_prop.fields_type = _layer.fields_type; + document.getElementById('btn_type_fields').removeAttribute('disabled'); + } + layer_id = _app.layer_to_id.get(layer_name); + var layer_selec = map.select("#" + layer_id); + + current_layer_prop.rendered_field = _layer.rendered_field; + + if (_layer.ref_layer_name) current_layer_prop.ref_layer_name = _layer.ref_layer_name; + if (_layer.size) current_layer_prop.size = _layer.size; + if (_layer.colors_breaks) current_layer_prop.colors_breaks = _layer.colors_breaks; + if (_layer.options_disc) current_layer_prop.options_disc = _layer.options_disc; + if (_layer.fill_color) current_layer_prop.fill_color = _layer.fill_color; + if (_layer.color_palette) current_layer_prop.color_palette; + if (_layer.renderer) { + if (['Choropleth', 'Stewart', 'Gridded'].indexOf(_layer.renderer) > -1) { + layer_selec.selectAll("path").style(current_layer_prop.type === "Line" ? "stroke" : "fill", function (d, j) { + return _layer.color_by_id[j]; + }); + } else if (_layer.renderer === "Links") { + current_layer_prop.linksbyId = _layer.linksbyId; + current_layer_prop.min_display = _layer.min_display; + current_layer_prop.breaks = _layer.breaks; + layer_selec.selectAll("path").styles(function (d, j) { + return { + display: +d.properties.fij > _layer.min_display ? null : "none", + stroke: _layer.fill_color.single, + 'stroke-width': current_layer_prop.linksbyId[j][2] }; - render_categorical(layer_name, rendering_params); - } - if (_layer.legend) { - rehandle_legend(layer_name, _layer.legend); - } - } - if (_layer.stroke_color) { - layer_selec.selectAll('path').style('stroke', _layer.stroke_color); - } - if (_layer['stroke-width-const']) { - current_layer_prop['stroke-width-const'] = _layer['stroke-width-const']; - layer_selec.style('stroke-width', _layer['stroke-width-const']); - } - if (_layer.fixed_stroke) current_layer_prop.fixed_stroke = _layer.fixed_stroke; - if (_layer.fill_color && _layer.fill_color.single && _layer.renderer != "DiscLayer") { - layer_selec.selectAll('path').style(current_layer_prop.type != "Line" ? "fill" : "stroke", _layer.fill_color.single); - } else if (_layer.fill_color && _layer.fill_color.random) { - layer_selec.selectAll('path').style(current_layer_prop.type != "Line" ? "fill" : "stroke", function () { - return Colors.names[Colors.random()]; }); + } else if (_layer.renderer === "DiscLayer") { + current_layer_prop.min_display = _layer.min_display || 0; + current_layer_prop.breaks = _layer.breaks; + var lim = current_layer_prop.min_display != 0 ? current_layer_prop.min_display * current_layers[layer_name].n_features : -1; + layer_selec.selectAll("path").styles(function (d, j) { + return { + fill: "none", + stroke: _layer.fill_color.single, + display: j <= lim ? null : 'none', + 'stroke-width': d.properties.prop_val + }; + }); + } else if (_layer.renderer.startsWith("Categorical")) { + var rendering_params = { + colorByFeature: _layer.color_by_id, + color_map: new Map(_layer.color_map), + rendered_field: _layer.rendered_field, + renderer: "Categorical" + }; + render_categorical(layer_name, rendering_params); } - - layer_selec.selectAll('path').styles({ 'fill-opacity': fill_opacity, 'stroke-opacity': stroke_opacity }); - if (_layer.visible === 'hidden') { - handle_active_layer(layer_name); - } - if (_layer.filter_shadow) { - createDropShadow(layer_id); + if (_layer.legend) { + rehandle_legend(layer_name, _layer.legend); } - done += 1; - if (done === map_config.n_layers) set_final_param(); - // }); - })(); + } + if (_layer.stroke_color) { + layer_selec.selectAll('path').style('stroke', _layer.stroke_color); + } + if (_layer['stroke-width-const']) { + current_layer_prop['stroke-width-const'] = _layer['stroke-width-const']; + layer_selec.style('stroke-width', _layer['stroke-width-const']); + } + if (_layer.fixed_stroke) current_layer_prop.fixed_stroke = _layer.fixed_stroke; + if (_layer.fill_color && _layer.fill_color.single && _layer.renderer != "DiscLayer") { + layer_selec.selectAll('path').style(current_layer_prop.type != "Line" ? "fill" : "stroke", _layer.fill_color.single); + } else if (_layer.fill_color && _layer.fill_color.random) { + layer_selec.selectAll('path').style(current_layer_prop.type != "Line" ? "fill" : "stroke", function () { + return Colors.names[Colors.random()]; + }); + } + + layer_selec.selectAll('path').styles({ 'fill-opacity': fill_opacity, 'stroke-opacity': stroke_opacity }); + if (_layer.visible === 'hidden') { + handle_active_layer(layer_name); + } + if (_layer.filter_shadow) { + createDropShadow(layer_id); + } + done += 1; + if (done === map_config.n_layers) set_final_param(); + // }); } else if (layer_name === "World") { add_simplified_land_layer({ skip_rescale: true, @@ -16155,7 +16079,7 @@ function apply_user_preferences(json_pref) { // ... or this is a layer of proportionnals symbols : } else if (_layer.renderer && _layer.renderer.startsWith("PropSymbol")) { var geojson_layer = _layer.symbol === 'line' ? _layer.geo_line : _layer.geo_pt; - var rendering_params = { + var _rendering_params = { new_name: layer_name, field: _layer.rendered_field, ref_value: _layer.size[0], @@ -16165,15 +16089,15 @@ function apply_user_preferences(json_pref) { ref_layer_name: _layer.ref_layer_name, renderer: _layer.renderer }; - if (_layer.renderer === "PropSymbolsChoro" || _layer.renderer === "PropSymbolsTypo") rendering_params.fill_color = _layer.fill_color.class;else if (_layer.fill_color.random) rendering_params.fill_color = "#fff";else if (_layer.fill_color.single != undefined) rendering_params.fill_color = _layer.fill_color.single;else if (_layer.fill_color.two) { - rendering_params.fill_color = _layer.fill_color; - rendering_params.break_val = _layer.break_val; + if (_layer.renderer === "PropSymbolsChoro" || _layer.renderer === "PropSymbolsTypo") _rendering_params.fill_color = _layer.fill_color.class;else if (_layer.fill_color.random) _rendering_params.fill_color = "#fff";else if (_layer.fill_color.single != undefined) _rendering_params.fill_color = _layer.fill_color.single;else if (_layer.fill_color.two) { + _rendering_params.fill_color = _layer.fill_color; + _rendering_params.break_val = _layer.break_val; } if (_layer.symbol === 'line') { - make_prop_line(rendering_params, geojson_layer); + make_prop_line(_rendering_params, geojson_layer); } else { - make_prop_symbols(rendering_params, geojson_layer); + make_prop_symbols(_rendering_params, geojson_layer); if (_layer.stroke_color) map.select('#' + _app.layer_to_id.get(layer_name)).selectAll(_layer.symbol).style('stroke', _layer.stroke_color); } if (_layer.renderer === "PropSymbolsTypo") { @@ -16206,73 +16130,71 @@ function apply_user_preferences(json_pref) { } // ... or this is a layer of labels : } else if (_layer.renderer && _layer.renderer.startsWith("Label")) { - var _rendering_params = { + var _rendering_params2 = { uo_layer_name: layer_name, label_field: _layer.rendered_field, color: _layer.fill_color, ref_font_size: _layer.default_size, font: _layer.default_font }; - render_label(null, _rendering_params, { data: _layer.data_labels, current_position: _layer.current_position }); + render_label(null, _rendering_params2, { data: _layer.data_labels, current_position: _layer.current_position }); layer_id = _app.layer_to_id.get(layer_name); } else if (_layer.renderer && _layer.renderer.startsWith("TypoSymbol")) { - (function () { - var symbols_map = new Map(_layer.symbols_map); - var new_layer_data = { - type: "FeatureCollection", - features: _layer.current_state.map(function (d) { - return d.data; - }) - }; + var symbols_map = new Map(_layer.symbols_map); + var new_layer_data = { + type: "FeatureCollection", + features: _layer.current_state.map(function (d) { + return d.data; + }) + }; - var nb_features = new_layer_data.features.length; - var context_menu = new ContextMenu(), - getItems = function getItems(self_parent) { - return [{ "name": i18next.t("app_page.common.edit_style"), "action": function action() { - make_style_box_indiv_symbol(self_parent); - } }, { "name": i18next.t("app_page.common.delete"), "action": function action() { - self_parent.style.display = "none"; - } }]; - }; - layer_id = encodeId(layer_name); - _app.layer_to_id.set(layer_name, layer_id); - _app.id_to_layer.set(layer_id, layer_name); - // Add the features at there original positions : - map.append("g").attrs({ id: layer_id, class: "layer" }).selectAll("image").data(new_layer_data.features).enter().insert("image").attrs(function (d, j) { - var symb = symbols_map.get(d.properties.symbol_field), - prop = _layer.current_state[j], - coords = prop.pos; - return { - "x": coords[0] - symb[1] / 2, - "y": coords[1] - symb[1] / 2, - "width": prop.size, - "height": prop.size, - "xlink:href": symb[0] - }; - }).style('display', function (d, j) { - return _layer.current_state[j].display; - }).on("mouseover", function () { - this.style.cursor = "pointer"; - }).on("mouseout", function () { - this.style.cursor = "initial"; - }).on("contextmenu dblclick", function () { - context_menu.showMenu(d3.event, document.querySelector("body"), getItems(this)); - }).call(drag_elem_geo); - - create_li_layer_elem(layer_name, nb_features, ["Point", "symbol"], "result"); - current_layers[layer_name] = { - "n_features": nb_features, - "renderer": "TypoSymbols", - "symbols_map": symbols_map, - "rendered_field": _layer.rendered_field, - "is_result": true, - "symbol": "image", - "ref_layer_name": _layer.ref_layer_name + var nb_features = new_layer_data.features.length; + var context_menu = new ContextMenu(), + getItems = function getItems(self_parent) { + return [{ "name": i18next.t("app_page.common.edit_style"), "action": function action() { + make_style_box_indiv_symbol(self_parent); + } }, { "name": i18next.t("app_page.common.delete"), "action": function action() { + self_parent.style.display = "none"; + } }]; + }; + layer_id = encodeId(layer_name); + _app.layer_to_id.set(layer_name, layer_id); + _app.id_to_layer.set(layer_id, layer_name); + // Add the features at there original positions : + map.append("g").attrs({ id: layer_id, class: "layer" }).selectAll("image").data(new_layer_data.features).enter().insert("image").attrs(function (d, j) { + var symb = symbols_map.get(d.properties.symbol_field), + prop = _layer.current_state[j], + coords = prop.pos; + return { + "x": coords[0] - symb[1] / 2, + "y": coords[1] - symb[1] / 2, + "width": prop.size, + "height": prop.size, + "xlink:href": symb[0] }; - if (_layer.legend) { - rehandle_legend(layer_name, _layer.legend); - } - })(); + }).style('display', function (d, j) { + return _layer.current_state[j].display; + }).on("mouseover", function () { + this.style.cursor = "pointer"; + }).on("mouseout", function () { + this.style.cursor = "initial"; + }).on("contextmenu dblclick", function () { + context_menu.showMenu(d3.event, document.querySelector("body"), getItems(this)); + }).call(drag_elem_geo); + + create_li_layer_elem(layer_name, nb_features, ["Point", "symbol"], "result"); + current_layers[layer_name] = { + "n_features": nb_features, + "renderer": "TypoSymbols", + "symbols_map": symbols_map, + "rendered_field": _layer.rendered_field, + "is_result": true, + "symbol": "image", + "ref_layer_name": _layer.ref_layer_name + }; + if (_layer.legend) { + rehandle_legend(layer_name, _layer.legend); + } } else { null; } diff --git a/magrit_app/static/json/list_symbols.json b/magrit_app/static/json/list_symbols.json index 6f8289e34..215fdb3ba 100755 --- a/magrit_app/static/json/list_symbols.json +++ b/magrit_app/static/json/list_symbols.json @@ -1 +1 @@ -["city_large.png","city_small.png","parking.png","fountain.png","gas.png","tourist_view_point.png","phone.png","amenity=restaurant.png","car.png","tourist_museum.png","education_university.png","food_fastfood.png","city_building.png","landuse_coniferous.png","skull.png","landuse_grass.png","parachute.png","food_drinkingtap.png","tourist_cinema.png","boat.png","disability_accessibility.png","question.png","tourist_steam_train.png","deer.png","landuse_swamp.png","disability_lowvision.png","poi_place_city.png","poi_place_town.png","tourist_memorial.png","tourist_fountain.png","tourist_casino.png","amenity=bar.png","education_school.png","poi_tower_communications.png","house.png","tourist_ruin.png","plane.png","amenity=fire_station.png","poi_embassy2.png","golf.png","tourist_zoo.png","bank.png","amenity=hospital.png","tourist_theatre.png","tourist_castle.png","food_pub.png","cross.png","amenity=pub.png","landuse_coniferous_and_deciduous.png","couple.png","fish.png","tourisum_fountain.png","poi_embassy.png","landuse_quary.png","tourist_windmill.png","tourist_archaeological.png","poi_tower_power.png","poi_peak.png","tourist_waterwheel.png","teepee.png","food_cafe.png","tourist_monument.png","city_medium.png","poi_cave.png","shipwreck.png","poi_mine.png","amenity=fast_food.png","tourist_picnic.png","amenity=theatre.png","poi_point_of_interest.png","swimmer.png","landuse_deciduous.png","tourist_battlefield.png","education_nursery.png","tourist_wreck.png","skier.png","amenity=police.png","poi_tower_water.png","poi_military_bunker.png","camera.png","poi_boundary_administrative.png","tourist_beach.png","landuse_hills.png","poi_place_village.png","tourist_art_gallery2.png","food_bar.png","anchor.png","waypoint.png","walker.png","landuse_scrub.png","h.png","flag.png"] \ No newline at end of file +["amenity=pub.png","anchor.png","phone.png","tourist_picnic.png","education_nursery.png","tourist_cinema.png","fountain.png","tourist_archaeological.png","disability_accessibility.png","golf.png","gas.png","tourisum_fountain.png","landuse_swamp.png","amenity=hospital.png","food_cafe.png","car.png","landuse_grass.png","poi_place_town.png","fish.png","tourist_memorial.png","landuse_scrub.png","tourist_art_gallery2.png","house.png","poi_military_bunker.png","amenity=police.png","amenity=restaurant.png","tourist_zoo.png","skull.png","poi_tower_water.png","poi_cave.png","amenity=fire_station.png","tourist_windmill.png","tourist_museum.png","poi_boundary_administrative.png","landuse_coniferous.png","education_university.png","tourist_wreck.png","poi_embassy.png","plane.png","food_bar.png","h.png","swimmer.png","poi_mine.png","tourist_monument.png","poi_place_city.png","tourist_view_point.png","poi_place_village.png","city_small.png","city_building.png","flag.png","tourist_casino.png","education_school.png","tourist_theatre.png","poi_embassy2.png","tourist_castle.png","skier.png","landuse_hills.png","tourist_ruin.png","city_large.png","amenity=bar.png","poi_tower_communications.png","tourist_fountain.png","teepee.png","waypoint.png","parachute.png","couple.png","poi_tower_power.png","food_drinkingtap.png","camera.png","city_medium.png","question.png","landuse_deciduous.png","tourist_beach.png","amenity=theatre.png","food_pub.png","tourist_battlefield.png","shipwreck.png","disability_lowvision.png","walker.png","boat.png","poi_point_of_interest.png","amenity=fast_food.png","poi_peak.png","cross.png","landuse_coniferous_and_deciduous.png","tourist_waterwheel.png","landuse_quary.png","parking.png","tourist_steam_train.png","bank.png","deer.png","food_fastfood.png"] \ No newline at end of file diff --git a/magrit_app/static/locales/en/translation.ec4032a961e3.json b/magrit_app/static/locales/en/translation.2b4daa8f8303.json similarity index 100% rename from magrit_app/static/locales/en/translation.ec4032a961e3.json rename to magrit_app/static/locales/en/translation.2b4daa8f8303.json diff --git a/magrit_app/static/locales/es/translation.ec4032a961e3.json b/magrit_app/static/locales/es/translation.2b4daa8f8303.json similarity index 100% rename from magrit_app/static/locales/es/translation.ec4032a961e3.json rename to magrit_app/static/locales/es/translation.2b4daa8f8303.json diff --git a/magrit_app/static/locales/fr/translation.ec4032a961e3.json b/magrit_app/static/locales/fr/translation.2b4daa8f8303.json similarity index 100% rename from magrit_app/static/locales/fr/translation.ec4032a961e3.json rename to magrit_app/static/locales/fr/translation.2b4daa8f8303.json diff --git a/magrit_app/templates/modules.html b/magrit_app/templates/modules.html index 60aa61846..1968dd604 100755 --- a/magrit_app/templates/modules.html +++ b/magrit_app/templates/modules.html @@ -7,7 +7,7 @@ {{ app_name }} - + @@ -51,6 +51,6 @@ - +