From 8d45f32d8d78b436f57de43f7bf2928724bf0399 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Tue, 24 Dec 2019 14:04:04 +0200 Subject: [PATCH] Improve entity state controller. --- .../states/entity-state-controller.js | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/ui/src/app/dashboard/states/entity-state-controller.js b/ui/src/app/dashboard/states/entity-state-controller.js index a4c6cb7d7c..4762af0942 100644 --- a/ui/src/app/dashboard/states/entity-state-controller.js +++ b/ui/src/app/dashboard/states/entity-state-controller.js @@ -44,8 +44,7 @@ export default function EntityStateController($scope, $timeout, $location, $stat function openState(id, params, openRightLayout) { if (vm.states && vm.states[id]) { resolveEntity(params).then( - function success(entityName) { - params.entityName = entityName; + function success() { var newState = { id: id, params: params @@ -66,8 +65,7 @@ export default function EntityStateController($scope, $timeout, $location, $stat } if (vm.states && vm.states[id]) { resolveEntity(params).then( - function success(entityName) { - params.entityName = entityName; + function success() { var newState = { id: id, params: params @@ -183,16 +181,16 @@ export default function EntityStateController($scope, $timeout, $location, $stat params = params[params.targetEntityParamName]; } if (params && params.entityId && params.entityId.id && params.entityId.entityType) { - if (params.entityName && params.entityName.length) { - deferred.resolve(params.entityName); + if (isEntityResolved(params)) { + deferred.resolve(); } else { entityService.getEntity(params.entityId.entityType, params.entityId.id, { ignoreLoading: true, ignoreErrors: true }).then( function success(entity) { - var entityName = entity.name; - deferred.resolve(entityName); + params.entityName = entity.name; + deferred.resolve(); }, function fail() { deferred.reject(); @@ -200,11 +198,18 @@ export default function EntityStateController($scope, $timeout, $location, $stat ); } } else { - deferred.resolve(''); + deferred.resolve(); } return deferred.promise; } + function isEntityResolved(params) { + if (!params.entityName || !params.entityName.length) { + return false; + } + return true; + } + function parseState(stateBase64) { var result; if (stateBase64) {