Details
diff --git a/ui/src/app/dashboard/dashboard.controller.js b/ui/src/app/dashboard/dashboard.controller.js
index 950e73a..61cdf66 100644
--- a/ui/src/app/dashboard/dashboard.controller.js
+++ b/ui/src/app/dashboard/dashboard.controller.js
@@ -994,7 +994,6 @@ export default function DashboardController(types, utils, dashboardUtils, widget
vm.isEdit = isEdit;
if (vm.isEdit) {
vm.prevDashboard = angular.copy(vm.dashboard);
- vm.prevDashboardState = vm.dashboardCtx.state;
} else {
if (vm.widgetEditMode) {
if (revert) {
@@ -1006,11 +1005,11 @@ export default function DashboardController(types, utils, dashboardUtils, widget
vm.dashboard = vm.prevDashboard;
vm.dashboardConfiguration = vm.dashboard.configuration;
vm.dashboardCtx.dashboardTimewindow = vm.dashboardConfiguration.timewindow;
- openDashboardState(vm.prevDashboardState);
entityAliasesUpdated();
} else {
vm.dashboard.configuration.timewindow = vm.dashboardCtx.dashboardTimewindow;
}
+ vm.dashboardCtx.stateController.resetState();
}
}
}
diff --git a/ui/src/app/dashboard/states/default-state-controller.js b/ui/src/app/dashboard/states/default-state-controller.js
index d4e5ba6..129be28 100644
--- a/ui/src/app/dashboard/states/default-state-controller.js
+++ b/ui/src/app/dashboard/states/default-state-controller.js
@@ -23,6 +23,7 @@ export default function DefaultStateController($scope, $location, $state, $state
vm.openState = openState;
vm.updateState = updateState;
+ vm.resetState = resetState;
vm.navigatePrevState = navigatePrevState;
vm.getStateId = getStateId;
vm.getStateParams = getStateParams;
@@ -70,6 +71,12 @@ export default function DefaultStateController($scope, $location, $state, $state
}
}
+ function resetState() {
+ var rootStateId = dashboardUtils.getRootStateId(vm.states);
+ vm.stateObject = [ { id: rootStateId, params: {} } ];
+ gotoState(rootStateId, true);
+ }
+
function navigatePrevState(index) {
if (index < vm.stateObject.length-1) {
stopWatchStateObject();
diff --git a/ui/src/app/dashboard/states/entity-state-controller.js b/ui/src/app/dashboard/states/entity-state-controller.js
index 1b295e8..6afeff9 100644
--- a/ui/src/app/dashboard/states/entity-state-controller.js
+++ b/ui/src/app/dashboard/states/entity-state-controller.js
@@ -25,6 +25,7 @@ export default function EntityStateController($scope, $location, $state, $stateP
vm.openState = openState;
vm.updateState = updateState;
+ vm.resetState = resetState;
vm.navigatePrevState = navigatePrevState;
vm.getStateId = getStateId;
vm.getStateParams = getStateParams;
@@ -77,6 +78,12 @@ export default function EntityStateController($scope, $location, $state, $stateP
}
}
+ function resetState() {
+ var rootStateId = dashboardUtils.getRootStateId(vm.states);
+ vm.stateObject = [ { id: rootStateId, params: {} } ];
+ gotoState(rootStateId, true);
+ }
+
function navigatePrevState(index) {
if (index < vm.stateObject.length-1) {
stopWatchStateObject();
@@ -192,9 +199,6 @@ export default function EntityStateController($scope, $location, $state, $stateP
if (!result[0].id) {
result[0].id = rootStateId;
}
- if (result[0].id !== rootStateId) {
- result = [ { id: rootStateId, params: {} } ];
- }
return result;
}
diff --git a/ui/src/app/dashboard/states/states-component.directive.js b/ui/src/app/dashboard/states/states-component.directive.js
index 9af5122..143a694 100644
--- a/ui/src/app/dashboard/states/states-component.directive.js
+++ b/ui/src/app/dashboard/states/states-component.directive.js
@@ -41,6 +41,12 @@ export default function StatesComponent($compile, $templateCache, $controller, s
}
}
+ stateController.resetState = function() {
+ if (scope.statesController) {
+ scope.statesController.resetState();
+ }
+ }
+
stateController.navigatePrevState = function(index) {
if (scope.statesController) {
scope.statesController.navigatePrevState(index);