refactoring unsavedChangesSrv and who now owns original
This commit is contained in:
@@ -77,7 +77,7 @@ function (angular, _, moment) {
|
|||||||
$scope.share = dashboard.share_link(dashboard.current.title,'temp',result._id);
|
$scope.share = dashboard.share_link(dashboard.current.title,'temp',result._id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$rootScope.$emit('dashboard-saved');
|
$rootScope.$emit('dashboard-saved', dashboard.current);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
|
|||||||
$rootScope.$on('$routeChangeSuccess',function(){
|
$rootScope.$on('$routeChangeSuccess',function(){
|
||||||
// Clear the current dashboard to prevent reloading
|
// Clear the current dashboard to prevent reloading
|
||||||
self.current = {};
|
self.current = {};
|
||||||
self.original = null;
|
|
||||||
self.indices = [];
|
self.indices = [];
|
||||||
route();
|
route();
|
||||||
});
|
});
|
||||||
@@ -169,10 +168,6 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
|
|||||||
|
|
||||||
$rootScope.$emit('dashboard-loaded', self.current);
|
$rootScope.$emit('dashboard-loaded', self.current);
|
||||||
|
|
||||||
$timeout(function() {
|
|
||||||
self.original = angular.copy(self.current);
|
|
||||||
}, 1000);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -385,7 +380,6 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
|
|||||||
if(type === 'dashboard') {
|
if(type === 'dashboard') {
|
||||||
$location.path('/dashboard/elasticsearch/'+title);
|
$location.path('/dashboard/elasticsearch/'+title);
|
||||||
}
|
}
|
||||||
self.original = angular.copy(self.current);
|
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
// Failure
|
// Failure
|
||||||
|
|||||||
@@ -16,6 +16,18 @@ function (angular, _, config) {
|
|||||||
var self = this;
|
var self = this;
|
||||||
var modalScope = $rootScope.$new();
|
var modalScope = $rootScope.$new();
|
||||||
|
|
||||||
|
$rootScope.$on("dashboard-loaded", function(event, newDashboard ) {
|
||||||
|
self.original = angular.copy(newDashboard);
|
||||||
|
});
|
||||||
|
|
||||||
|
$rootScope.$on("dashboard-saved", function(event, savedDashboard) {
|
||||||
|
self.original = angular.copy(savedDashboard);
|
||||||
|
});
|
||||||
|
|
||||||
|
$rootScope.$on("$routeChangeSuccess", function() {
|
||||||
|
self.original = null;
|
||||||
|
});
|
||||||
|
|
||||||
window.onbeforeunload = function () {
|
window.onbeforeunload = function () {
|
||||||
if (self.has_unsaved_changes()) {
|
if (self.has_unsaved_changes()) {
|
||||||
return "There are unsaved changes to this dashboard";
|
return "There are unsaved changes to this dashboard";
|
||||||
@@ -47,12 +59,12 @@ function (angular, _, config) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.has_unsaved_changes = function () {
|
this.has_unsaved_changes = function () {
|
||||||
if (!dashboard.original) {
|
if (!self.original) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var current = angular.copy(dashboard.current);
|
var current = angular.copy(dashboard.current);
|
||||||
var original = dashboard.original;
|
var original = self.original;
|
||||||
|
|
||||||
// ignore timespan changes
|
// ignore timespan changes
|
||||||
current.services.filter.time = original.services.filter.time = {};
|
current.services.filter.time = original.services.filter.time = {};
|
||||||
@@ -83,7 +95,7 @@ function (angular, _, config) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
modalScope.ignore = function() {
|
modalScope.ignore = function() {
|
||||||
dashboard.original = null;
|
self.original = null;
|
||||||
self.goto_next();
|
self.goto_next();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user