|
|
|
@ -81,6 +81,26 @@ function(angular, _, config) { |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
this.cleanDashboardFromRepeatedPanelsAndRows = function(dash) { |
|
|
|
|
dash.rows = _.filter(dash.rows, function(row) { |
|
|
|
|
if (row.repeatRowId) { |
|
|
|
|
console.log('filtering out row'); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
row.panels = _.filter(row.panels, function(panel) { |
|
|
|
|
if (panel.repeatPanelId) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
// remove scopedVars
|
|
|
|
|
panel.scopedVars = null; |
|
|
|
|
return true; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
this.has_unsaved_changes = function() { |
|
|
|
|
if (!self.original) { |
|
|
|
|
return false; |
|
|
|
@ -106,6 +126,9 @@ function(angular, _, config) { |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.cleanDashboardFromRepeatedPanelsAndRows(current); |
|
|
|
|
this.cleanDashboardFromRepeatedPanelsAndRows(original); |
|
|
|
|
|
|
|
|
|
// ignore some panel and row stuff
|
|
|
|
|
current.forEachPanel(function(panel, panelIndex, row, rowIndex) { |
|
|
|
|
var originalRow = original.rows[rowIndex]; |
|
|
|
|