From 2726c7184ae76accc0c2d9b12bfc4abc74e8cdf6 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Tue, 3 Oct 2017 11:19:03 +0300 Subject: [PATCH] UI: Subscription - improve entity resolving procedure. --- ui/src/app/api/entity.service.js | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/ui/src/app/api/entity.service.js b/ui/src/app/api/entity.service.js index fc09a4016c..c8a59cfc77 100644 --- a/ui/src/app/api/entity.service.js +++ b/ui/src/app/api/entity.service.js @@ -824,17 +824,27 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device var subscriptionInfo = validateSubscriptionInfo(subscriptionsInfo[index]); if (subscriptionInfo.type === types.datasourceType.entity) { if (subscriptionInfo.entityId) { - getEntity(subscriptionInfo.entityType, subscriptionInfo.entityId, {ignoreLoading: true}).then( - function success(entity) { - createDatasourceFromSubscription(subscriptionInfo, datasources, entity); - index++; - processSubscriptionsInfo(index, subscriptionsInfo, datasources, deferred); - }, - function fail() { - index++; - processSubscriptionsInfo(index, subscriptionsInfo, datasources, deferred); - } - ); + if (subscriptionInfo.entityName) { + var entity = { + id: {id: subscriptionInfo.entityId, entityType: subscriptionInfo.entityType}, + name: subscriptionInfo.entityName + }; + createDatasourceFromSubscription(subscriptionInfo, datasources, entity); + index++; + processSubscriptionsInfo(index, subscriptionsInfo, datasources, deferred); + } else { + getEntity(subscriptionInfo.entityType, subscriptionInfo.entityId, {ignoreLoading: true}).then( + function success(entity) { + createDatasourceFromSubscription(subscriptionInfo, datasources, entity); + index++; + processSubscriptionsInfo(index, subscriptionsInfo, datasources, deferred); + }, + function fail() { + index++; + processSubscriptionsInfo(index, subscriptionsInfo, datasources, deferred); + } + ); + } } else if (subscriptionInfo.entityName || subscriptionInfo.entityNamePrefix || subscriptionInfo.entityIds) { var promise;