Prechádzať zdrojové kódy

HUE-7949 [dashboard] Prevent a JS error on non-Gridster dashboards

Enrico Berti 7 rokov pred
rodič
commit
c418edf

+ 2 - 2
desktop/libs/dashboard/src/dashboard/static/dashboard/js/search.ko.js

@@ -1878,8 +1878,8 @@ var SearchViewModel = function (collection_json, query_json, initial_json, has_g
 
 
     self.draggableHit = ko.observable(bareWidgetBuilder("Hit Count", "hit-widget", 6)); // Not used
     self.draggableHit = ko.observable(bareWidgetBuilder("Hit Count", "hit-widget", 6)); // Not used
     self.draggableFacet = ko.observable(bareWidgetBuilder("Facet", "facet-widget", 6)); // Deprecated
     self.draggableFacet = ko.observable(bareWidgetBuilder("Facet", "facet-widget", 6)); // Deprecated
-    self.draggableResultset = ko.observable(bareWidgetBuilder("Grid Results", "resultset-widget", 21));
-    self.draggableHtmlResultset = ko.observable(bareWidgetBuilder("HTML Results", "html-resultset-widget", 21));
+    self.draggableResultset = ko.observable(bareWidgetBuilder("Grid Results", "resultset-widget", 16));
+    self.draggableHtmlResultset = ko.observable(bareWidgetBuilder("HTML Results", "html-resultset-widget", 16));
     self.draggableHistogram = ko.observable(bareWidgetBuilder("Histogram", "histogram-widget", 6)); // Deprecated
     self.draggableHistogram = ko.observable(bareWidgetBuilder("Histogram", "histogram-widget", 6)); // Deprecated
     self.draggableBar = ko.observable(bareWidgetBuilder("Bar Chart", "bar-widget", 6)); // Deprecated
     self.draggableBar = ko.observable(bareWidgetBuilder("Bar Chart", "bar-widget", 6)); // Deprecated
     self.draggableMap = ko.observable(bareWidgetBuilder("Map", "map-widget", 6)); // Deprecated
     self.draggableMap = ko.observable(bareWidgetBuilder("Map", "map-widget", 6)); // Deprecated

+ 19 - 15
desktop/libs/dashboard/src/dashboard/templates/common_search.mako

@@ -4025,16 +4025,18 @@ $(document).ready(function () {
   huePubSub.subscribe('gridster.added.widget', removePreviewHolder, 'dashboard');
   huePubSub.subscribe('gridster.added.widget', removePreviewHolder, 'dashboard');
 
 
   huePubSub.subscribe('gridster.clean.whitespace', function () {
   huePubSub.subscribe('gridster.clean.whitespace', function () {
-    var maxRow = 0;
-    var $gridster = $('.gridster>ul').data('gridster');
-    searchViewModel.gridItems().forEach(function (existingWidget) {
-      var tempRow = existingWidget.row() + existingWidget.size_y();
-      if (tempRow > maxRow) {
-        maxRow = tempRow;
+    if (searchViewModel.isGridster()) {
+      var maxRow = 0;
+      var $gridster = $('.gridster>ul').data('gridster');
+      searchViewModel.gridItems().forEach(function (existingWidget) {
+        var tempRow = existingWidget.row() + existingWidget.size_y();
+        if (tempRow > maxRow) {
+          maxRow = tempRow;
+        }
+      });
+      for (var i = 0; i < maxRow; i++) {
+        $gridster.remove_empty_cells(1, i, 12, 1);
       }
       }
-    });
-    for (var i = 0; i < maxRow; i++) {
-      $gridster.remove_empty_cells(1, i, 12, 1);
     }
     }
   }, 'dashboard');
   }, 'dashboard');
 
 
@@ -4130,12 +4132,14 @@ $(document).ready(function () {
   }, 'dashboard');
   }, 'dashboard');
 
 
   function resizeGridsterWidgets() {
   function resizeGridsterWidgets() {
-    var $gridster = $('.gridster>ul').data('gridster');
-    $('.gridster>ul>li.gs-w').each(function () {
-      var $el = $(this);
-      $gridster.resize_widget($el, parseInt($el.data('sizex')), Math.floor($el.find('.card-widget').height() / WIDGET_BASE_HEIGHT));
-    });
-    huePubSub.publish('gridster.clean.whitespace');
+    if (searchViewModel.isGridster()) {
+      var $gridster = $('.gridster>ul').data('gridster');
+      $('.gridster>ul>li.gs-w').each(function () {
+        var $el = $(this);
+        $gridster.resize_widget($el, parseInt($el.data('sizex')), Math.floor($el.find('.card-widget').height() / WIDGET_BASE_HEIGHT));
+      });
+      huePubSub.publish('gridster.clean.whitespace');
+    }
   }
   }
 
 
   huePubSub.subscribe('gridster.autoheight', resizeGridsterWidgets, 'dashboard');
   huePubSub.subscribe('gridster.autoheight', resizeGridsterWidgets, 'dashboard');