diff --git a/static/moderator.js b/static/moderator.js index ed9cb376f85ca7512b3d98e60bbdfcec5afc1bd6..e7ee4f5c59bd5978a0e1850c4f32b00b778b0211 100644 --- a/static/moderator.js +++ b/static/moderator.js @@ -250,56 +250,63 @@ var moderator = { } } }, + plots: { + init: function() { + $(window).on("resize", moderator.plots.resize); + $(".plotlyresize").on("click", moderator.plots.resize); + moderator.plots.createplots(".plot-view") + }, + resize: function() { + $(".plot-view").each(function () {Plotly.Plots.resize(this)}); + }, + createplots: function (selector) { + var l = $(selector); + for (var i = 0; i < l.length; i ++) { + if (!l[i].id) + l[i].id = "plot-"+i; + $(l[i]).html('<div class="plot-loader"></div>'); + $.ajax({ + divobj: l[i], + method: "GET", + url: l[i].dataset.url, + dataType: "json", + error: function (jqXHR, textStatus, errorThrow) { + $(this.divobj).html('<div class="plot-error">'+errorThrow+'</div>'); + }, + success: function (traces) { + var layout = {margin: {l: 30, r: 30, t: 10, b: 70, pad: 0}}; + for (var i = 0; i < traces.length; i ++) { + traces[i].type = this.divobj.dataset.type; + } + if (this.divobj.dataset.type == "pie") + layout.showlegend = false; + traces.sort(function (a, b) { + asum = 0; + bsum = 0; + for (var i = 0; i < a.y.length; i++) + asum += a.y[i] + for (var i = 0; i < b.y.length; i++) + bsum += b.y[i] + return bsum-asum; + }); + for (var i = 0; i < traces.length; i++) + if (i > 20) + traces[i].visible = "legendonly"; + $(this.divobj).html(""); + Plotly.newPlot(this.divobj.id, traces, layout, { "modeBarButtonsToRemove": ['sendDataToCloud','hoverCompareCartesian'], "displaylogo": false}); + } + }); + }; + }, + }, init: function () { moderator.api.init(); moderator.editor.init(); moderator.permissioneditor.init(); + moderator.plots.init(); } }; $( document ).ready( function () { moderator.init(); } ); - -$( document ).ready( function () { - var l = $(".plot-view"); - for (var i = 0; i < l.length; i ++) { - if (!l[i].id) - l[i].id = "plot-"+i; - $(l[i]).html('<div class="plot-loader"></div>'); - $.ajax({ - divobj: l[i], - method: "GET", - url: l[i].dataset.url, - dataType: "json", - error: function (jqXHR, textStatus, errorThrow) { - $(this.divobj).html('<div class="plot-error">'+errorThrow+'</div>'); - }, - success: function (traces) { - var layout = {margin: {l: 30, r: 30, t: 10, b: 70, pad: 0}}; - for (var i = 0; i < traces.length; i ++) { - traces[i].type = this.divobj.dataset.type; - } - if (this.divobj.dataset.type == "pie") - layout.showlegend = false; - traces.sort(function (a, b) { - asum = 0; - bsum = 0; - for (var i = 0; i < a.y.length; i++) - asum += a.y[i] - for (var i = 0; i < b.y.length; i++) - bsum += b.y[i] - return bsum-asum; - }); - for (var i = 0; i < traces.length; i++) - if (i > 20) - traces[i].visible = "legendonly"; - $(this.divobj).html(""); - Plotly.newPlot(this.divobj.id, traces, layout, { "modeBarButtonsToRemove": ['sendDataToCloud','hoverCompareCartesian'], "displaylogo": false}); - } - }); - }; -}); -$(window).on("resize", function () { - $(".plot-view").each(function () {Plotly.Plots.resize(this)}); -});