diff --git a/ui/src/app/dashboard/dashboard.controller.js b/ui/src/app/dashboard/dashboard.controller.js index 950e73a23f..61cdf666db 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 d4e5ba6543..129be284e7 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 1b295e8d96..6afeff9065 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 9af5122a0f..143a694af2 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);