Browse Source

Improve entity state controller.

pull/2963/head
Igor Kulikov 7 years ago
parent
commit
8d45f32d8d
  1. 23
      ui/src/app/dashboard/states/entity-state-controller.js

23
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) { function openState(id, params, openRightLayout) {
if (vm.states && vm.states[id]) { if (vm.states && vm.states[id]) {
resolveEntity(params).then( resolveEntity(params).then(
function success(entityName) { function success() {
params.entityName = entityName;
var newState = { var newState = {
id: id, id: id,
params: params params: params
@ -66,8 +65,7 @@ export default function EntityStateController($scope, $timeout, $location, $stat
} }
if (vm.states && vm.states[id]) { if (vm.states && vm.states[id]) {
resolveEntity(params).then( resolveEntity(params).then(
function success(entityName) { function success() {
params.entityName = entityName;
var newState = { var newState = {
id: id, id: id,
params: params params: params
@ -183,16 +181,16 @@ export default function EntityStateController($scope, $timeout, $location, $stat
params = params[params.targetEntityParamName]; params = params[params.targetEntityParamName];
} }
if (params && params.entityId && params.entityId.id && params.entityId.entityType) { if (params && params.entityId && params.entityId.id && params.entityId.entityType) {
if (params.entityName && params.entityName.length) { if (isEntityResolved(params)) {
deferred.resolve(params.entityName); deferred.resolve();
} else { } else {
entityService.getEntity(params.entityId.entityType, params.entityId.id, { entityService.getEntity(params.entityId.entityType, params.entityId.id, {
ignoreLoading: true, ignoreLoading: true,
ignoreErrors: true ignoreErrors: true
}).then( }).then(
function success(entity) { function success(entity) {
var entityName = entity.name; params.entityName = entity.name;
deferred.resolve(entityName); deferred.resolve();
}, },
function fail() { function fail() {
deferred.reject(); deferred.reject();
@ -200,11 +198,18 @@ export default function EntityStateController($scope, $timeout, $location, $stat
); );
} }
} else { } else {
deferred.resolve(''); deferred.resolve();
} }
return deferred.promise; return deferred.promise;
} }
function isEntityResolved(params) {
if (!params.entityName || !params.entityName.length) {
return false;
}
return true;
}
function parseState(stateBase64) { function parseState(stateBase64) {
var result; var result;
if (stateBase64) { if (stateBase64) {

Loading…
Cancel
Save