This is an automated email from the ASF dual-hosted git repository. heneveld pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/brooklyn-ui.git
commit 4dcf3528cf0262cc02209cf4b77d06df2136366a Author: Alex Heneveld <[email protected]> AuthorDate: Sat Jun 17 14:44:07 2023 +0100 support lookup of ancestors for breaadcrumbs but data not available so not used --- .../breadcrumb-navigation/breadcrumb-navigation.js | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/ui-modules/app-inspector/app/components/breadcrumb-navigation/breadcrumb-navigation.js b/ui-modules/app-inspector/app/components/breadcrumb-navigation/breadcrumb-navigation.js index aa1d14a7..128f0831 100644 --- a/ui-modules/app-inspector/app/components/breadcrumb-navigation/breadcrumb-navigation.js +++ b/ui-modules/app-inspector/app/components/breadcrumb-navigation/breadcrumb-navigation.js @@ -32,7 +32,8 @@ export function breadcrumbNavigation($compile, activityApi) { template: template, scope: { entityId: "@", - parentId: "@" + parentId: "@", + activitiesKnown: "@?" }, link: link }; @@ -45,14 +46,23 @@ export function breadcrumbNavigation($compile, activityApi) { parentId: $scope.parentId }; - activityApi.activity($scope.parentId).then((response)=> { - $scope.breadcrumb.parentName = response.data.displayName; - if (response.data.submittedByTask) { - $scope.breadcrumb.id = response.data.submittedByTask.metadata.id; - let el = $compile('<li breadcrumb-navigation parent-id="{{breadcrumb.id}}" entity-id="{{breadcrumb.entityId}}"></li>')($scope); + function showParent(task) { + $scope.breadcrumb.parentName = task.displayName; + if (task.submittedByTask) { + $scope.breadcrumb.id = task.submittedByTask.metadata.id; + let el = $compile('<li breadcrumb-navigation parent-id="{{breadcrumb.id}}" entity-id="{{breadcrumb.entityId}}" activities-known="{{activitiesKnown}}"></li>')($scope); $element.parent().prepend(el); } $scope.breadcrumb.loading = false; + } + + // would be nice to have activities cached so we don't need to load; but we don't on the detail view, + // and the load of ancestors is pretty fast so this isn't a big issue + const parentActivity = $scope.activitiesKnown && $scope.activitiesKnown[$scope.parentId]; + if (parentActivity) showParent(parentActivity); + // else activityApi.activity($scope.parentId).then((response)=> showParent(response.data)); + else activityApi.activity($scope.parentId).then((response)=> { + showParent(response.data); }); } }
