From 48c5f080972f1ddced55fdc74a5735d333170d2e Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Thu, 21 Sep 2017 14:26:02 +0300 Subject: [PATCH] UI: Improve dashboard state parsing. --- .../app/dashboard/states/default-state-controller.js | 12 +++++++++++- .../app/dashboard/states/entity-state-controller.js | 9 +++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ui/src/app/dashboard/states/default-state-controller.js b/ui/src/app/dashboard/states/default-state-controller.js index 0dfe229f17..fb02147789 100644 --- a/ui/src/app/dashboard/states/default-state-controller.js +++ b/ui/src/app/dashboard/states/default-state-controller.js @@ -154,8 +154,18 @@ export default function DefaultStateController($scope, $timeout, $location, $sta result = newResult; } + var rootStateId = dashboardUtils.getRootStateId(vm.states); if (!result[0].id) { - result[0].id = dashboardUtils.getRootStateId(vm.states); + result[0].id = rootStateId; + } + if (!vm.states[result[0].id]) { + result[0].id = rootStateId; + } + var i = result.length; + while (i--) { + if (!result[i].id || !vm.states[result[i].id]) { + result.splice(i, 1); + } } return result; } diff --git a/ui/src/app/dashboard/states/entity-state-controller.js b/ui/src/app/dashboard/states/entity-state-controller.js index 11017a8792..cfa664da34 100644 --- a/ui/src/app/dashboard/states/entity-state-controller.js +++ b/ui/src/app/dashboard/states/entity-state-controller.js @@ -205,6 +205,15 @@ export default function EntityStateController($scope, $timeout, $location, $stat if (!result[0].id) { result[0].id = rootStateId; } + if (!vm.states[result[0].id]) { + result[0].id = rootStateId; + } + var i = result.length; + while (i--) { + if (!result[i].id || !vm.states[result[i].id]) { + result.splice(i, 1); + } + } return result; }