Przeglądaj źródła

[spark] Fixed width and resize for the gradient map

Enrico Berti 10 lat temu
rodzic
commit
7e60f9b2cb

+ 3 - 3
apps/spark/src/spark/templates/editor.mako

@@ -526,7 +526,7 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
               </div>
             </div>
           </div>
-          <div data-bind="css:{'span10': isLeftPanelVisible, 'span12 nomargin': !isLeftPanelVisible()}">
+          <div data-bind="css:{'span10 chart-container': isLeftPanelVisible, 'span12 nomargin chart-container': !isLeftPanelVisible()}">
 
             <div class="toggle-left-panel" style="margin-right: -30px; height: 400px; line-height: 400px; margin-top:0" data-bind="visible: !isLeftPanelVisible(), click: toggleLeftPanel">
               <a title="${_('Show settings')}" class="pointer">
@@ -535,7 +535,7 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
             </div>
 
             <div data-bind="attr:{'id': 'pieChart_'+id()}, pieChart: {data: {counts: result.data, sorting: chartSorting(), snippet: $data}, fqs: ko.observableArray([]),
-                  transformer: pieChartDataTransformer, maxWidth: 350 }, visible: chartType() == ko.HUE_CHARTS.TYPES.PIECHART" class="chart"></div>
+                  transformer: pieChartDataTransformer, maxWidth: 350, parentSelector: '.chart-container' }, visible: chartType() == ko.HUE_CHARTS.TYPES.PIECHART" class="chart"></div>
 
             <div data-bind="attr:{'id': 'barChart_'+id()}, barChart: {datum: {counts: result.data, sorting: chartSorting(), snippet: $data}, fqs: ko.observableArray([]), hideSelection: true,
                   transformer: multiSerieDataTransformer, stacked: false, showLegend: true},  stacked: true, showLegend: true, visible: chartType() == ko.HUE_CHARTS.TYPES.BARCHART" class="chart"></div>
@@ -547,7 +547,7 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
                   transformer: leafletMapChartDataTransformer, showControls: false, height: 380, visible: chartType() == ko.HUE_CHARTS.TYPES.MAP}" class="chart"></div>
 
             <div data-bind="attr:{'id': 'gradientMapChart_'+id()}, mapChart: {data: {counts: result.data, sorting: chartSorting(), snippet: $data},
-                  transformer: mapChartDataTransformer, isScale: true, showControls: false, height: 380, visible: chartType() == ko.HUE_CHARTS.TYPES.GRADIENTMAP}" class="chart"></div>
+                  transformer: mapChartDataTransformer, isScale: true, showControls: false, height: 380, maxWidth: 750, parentSelector: '.chart-container', visible: chartType() == ko.HUE_CHARTS.TYPES.GRADIENTMAP}" class="chart"></div>
 
             <div data-bind="attr:{'id': 'scatterChart_'+id()}, scatterChart: {datum: {counts: result.data, sorting: chartSorting(), snippet: $data},
                   transformer: scatterChartDataTransformer, maxWidth: 350 }, visible: chartType() == ko.HUE_CHARTS.TYPES.SCATTERCHART" class="chart"></div>

+ 25 - 23
apps/spark/static/js/assist.js

@@ -70,31 +70,33 @@ var Assist = function (options) {
       });
     }
 
-    $.ajax({
-      type: "GET",
-      url: _url + "?" + Math.random(),
-      success: function (data) {
-        if (data.error){
-          if (typeof options.failsSilentlyOn == "undefined" || (data.code != null && options.failsSilentlyOn.indexOf(data.code) == -1)){
-            $.jHueNotify.error(data.error);
+    if (! _returnCached){
+      $.ajax({
+        type: "GET",
+        url: _url + "?" + Math.random(),
+        success: function (data) {
+          if (data.error){
+            if (typeof options.failsSilentlyOn == "undefined" || (data.code != null && options.failsSilentlyOn.indexOf(data.code) == -1)){
+              $.jHueNotify.error(data.error);
+            }
           }
-        }
-        else {
-          var _obj = {
-            data: data,
-            timestamp: (new Date()).getTime()
-          }
-          $.totalStorage(_cachePath, _obj);
-          if (!_returnCached) {
-            options.onDataReceived($.totalStorage(_cachePath).data);
+          else {
+            var _obj = {
+              data: data,
+              timestamp: (new Date()).getTime()
+            }
+            $.totalStorage(_cachePath, _obj);
+            if (!_returnCached) {
+              options.onDataReceived($.totalStorage(_cachePath).data);
+            }
           }
-        }
-      },
-      error: function (error) {
-        $(document).trigger('error', error);
-      },
-      async: typeof options.async != "undefined" && optons.async
-    });
+        },
+        error: function (error) {
+          $(document).trigger('error', error);
+        },
+        async: typeof options.async != "undefined" && optons.async
+      });
+    }
 
   }
 

+ 5 - 2
desktop/core/static/js/ko.charts.js

@@ -81,7 +81,8 @@ ko.bindingHandlers.pieChart = {
         });
 
         $(element).height($(element).width());
-        $(element).parents(".card-widget").on("resize", function () {
+        var _parentSelector = typeof _options.parentSelector != "undefined" ? _options.parentSelector : ".card-widget";
+        $(element).parents(_parentSelector).on("resize", function () {
           if (typeof _options.maxWidth != "undefined") {
             var _max = _options.maxWidth * 1;
             $(element).width(Math.min($(element).parent().width(), _max));
@@ -367,7 +368,9 @@ ko.bindingHandlers.mapChart = {
 
     createDatamap(element, _options, _fills, _mapdata, _noncountries, _maphovers)
 
-    $(element).parents(".card-widget").one("resize", function () {
+    var _parentSelector = typeof _options.parentSelector != "undefined" ? _options.parentSelector : ".card-widget";
+
+    $(element).parents(_parentSelector).one("resize", function () {
       ko.bindingHandlers.mapChart.render(element, valueAccessor);
     });
   },