diff --git a/ui/src/app/api/entity.service.js b/ui/src/app/api/entity.service.js index 0a6b06d498..b795432dee 100644 --- a/ui/src/app/api/entity.service.js +++ b/ui/src/app/api/entity.service.js @@ -593,7 +593,8 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device parameters: { rootId: relationQueryRootEntityId.id, rootType: relationQueryRootEntityId.entityType, - direction: filter.direction + direction: filter.direction, + fetchLastLevelOnly: filter.fetchLastLevelOnly }, filters: filter.filters }; @@ -643,7 +644,8 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device parameters: { rootId: searchQueryRootEntityId.id, rootType: searchQueryRootEntityId.entityType, - direction: filter.direction + direction: filter.direction, + fetchLastLevelOnly: filter.fetchLastLevelOnly }, relationType: filter.relationType }; @@ -1075,10 +1077,10 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device } } - function getRelatedEntities(rootEntityId, entityType, entitySubTypes, maxLevel, keys, typeTranslatePrefix, relationType, direction) { + function getRelatedEntities(rootEntityId, entityType, entitySubTypes, maxLevel, keys, typeTranslatePrefix, relationType, direction, fetchLastLevelOnly) { var deferred = $q.defer(); - var entitySearchQuery = constructRelatedEntitiesSearchQuery(rootEntityId, entityType, entitySubTypes, maxLevel, relationType, direction); + var entitySearchQuery = constructRelatedEntitiesSearchQuery(rootEntityId, entityType, entitySubTypes, maxLevel, relationType, direction,fetchLastLevelOnly); if (!entitySearchQuery) { deferred.reject(); } else { @@ -1499,13 +1501,14 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device ); } - function constructRelatedEntitiesSearchQuery(rootEntityId, entityType, entitySubTypes, maxLevel, relationType, direction) { + function constructRelatedEntitiesSearchQuery(rootEntityId, entityType, entitySubTypes, maxLevel, relationType, direction, fetchLastLevelOnly) { var searchQuery = { parameters: { rootId: rootEntityId.id, rootType: rootEntityId.entityType, - direction: direction + direction: direction, + fetchLastLevelOnly: !!fetchLastLevelOnly }, relationType: relationType }; diff --git a/ui/src/app/entity/entity-filter.directive.js b/ui/src/app/entity/entity-filter.directive.js index e49d79d228..39e3892ff9 100644 --- a/ui/src/app/entity/entity-filter.directive.js +++ b/ui/src/app/entity/entity-filter.directive.js @@ -83,6 +83,7 @@ export default function EntityFilterDirective($compile, $templateCache, $q, $doc filter.rootEntity = null; filter.direction = types.entitySearchDirection.from; filter.maxLevel = 1; + filter.fetchLastLevelOnly = false; if (filter.type === types.aliasFilterType.relationsQuery.value) { filter.filters = []; } else if (filter.type === types.aliasFilterType.assetSearchQuery.value) { diff --git a/ui/src/app/entity/entity-filter.tpl.html b/ui/src/app/entity/entity-filter.tpl.html index eb889bd215..bfc63a7d24 100644 --- a/ui/src/app/entity/entity-filter.tpl.html +++ b/ui/src/app/entity/entity-filter.tpl.html @@ -161,6 +161,14 @@ +