Просмотр исходного кода

new-grid: fixed destory issues

Torkel Ödegaard 8 лет назад
Родитель
Сommit
7cb6093dba

+ 15 - 2
public/app/features/dashboard/dashgrid/dashgrid.ts

@@ -58,11 +58,20 @@ export class GridCtrl {
   }
 
   bindItem(element) {
-    this.gridstack.makeWidget(element);
+    if (this.gridstack) {
+      this.gridstack.makeWidget(element);
+    }
   }
 
   removeItem(element) {
-    this.gridstack.removeWidget(element, false);
+    if (this.gridstack) {
+      this.gridstack.removeWidget(element, false);
+    }
+  }
+
+  destroy() {
+    this.gridstack.destroy();
+    this.gridstack = null;
   }
 }
 
@@ -81,6 +90,10 @@ export function dashGrid($timeout) {
       $timeout(function() {
         ctrl.init();
       });
+
+      scope.$on('$destroy', () => {
+        ctrl.destroy();
+      });
     }
   };
 }

+ 0 - 1
public/app/features/dashboard/model.ts

@@ -653,7 +653,6 @@ export class DashboardModel {
 
       if (oldVersion < 15) {
         this.upgradeToGridLayout();
-        console.log(this.panels);
       }
 
       if (panelUpgrades.length === 0) {