You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2022/07/13 07:16:19 UTC

[brooklyn-ui] branch master updated: show logbook widget for 404 tasks, and new trust-error option

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


The following commit(s) were added to refs/heads/master by this push:
     new aac3715d show logbook widget for 404 tasks, and new trust-error option
aac3715d is described below

commit aac3715dba5c4d056b79264f09b174177cc6ccf3
Author: Alex Heneveld <al...@cloudsoft.io>
AuthorDate: Tue Jul 12 14:26:00 2022 +0100

    show logbook widget for 404 tasks, and new trust-error option
    
    to pass html into loading-error
---
 .../components/loading-state/loading-state.directive.js   |  7 +++++--
 .../main/inspect/activities/detail/detail.controller.js   |  7 ++++---
 .../main/inspect/activities/detail/detail.template.html   | 15 ++++++++++-----
 3 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/ui-modules/app-inspector/app/components/loading-state/loading-state.directive.js b/ui-modules/app-inspector/app/components/loading-state/loading-state.directive.js
index 920e8ce7..199d44c6 100644
--- a/ui-modules/app-inspector/app/components/loading-state/loading-state.directive.js
+++ b/ui-modules/app-inspector/app/components/loading-state/loading-state.directive.js
@@ -29,8 +29,11 @@ export function loadingStateDirective() {
     return {
         restrict: 'EA',
         scope: {
-            error: '='
+            error: '=',
+            trustError: '=?',
         },
-        template: '<div class="alert alert-danger" ng-if="error">{{error}}</div><span ng-if="!error"><i class="fa fa-spin fa-circle-o-notch"></i> Loading</span>'
+        template: '<div class="alert alert-danger" ng-if="error && trustError" ng-bind-html="error"></div>'+
+            '<div class="alert alert-danger" ng-if="error && !trustError">{{ error }}</div>'+
+            '<span ng-if="!error"><i class="fa fa-spin fa-circle-o-notch"></i> Loading</span>',
     };
 }
diff --git a/ui-modules/app-inspector/app/views/main/inspect/activities/detail/detail.controller.js b/ui-modules/app-inspector/app/views/main/inspect/activities/detail/detail.controller.js
index 1ac169f1..5efaff32 100644
--- a/ui-modules/app-inspector/app/views/main/inspect/activities/detail/detail.controller.js
+++ b/ui-modules/app-inspector/app/views/main/inspect/activities/detail/detail.controller.js
@@ -24,10 +24,10 @@ export const detailState = {
     name: 'main.inspect.activities.detail',
     url: '/:activityId',
     template: template,
-    controller: ['$scope', '$state', '$stateParams', '$log', '$uibModal', '$timeout', 'activityApi', 'brUtilsGeneral', DetailController],
+    controller: ['$scope', '$state', '$stateParams', '$log', '$uibModal', '$timeout', '$sanitize', '$sce', 'activityApi', 'brUtilsGeneral', DetailController],
     controllerAs: 'vm'
 }
-function DetailController($scope, $state, $stateParams, $log, $uibModal, $timeout, activityApi, Utils) {
+function DetailController($scope, $state, $stateParams, $log, $uibModal, $timeout, $sanitize, $sce, activityApi, Utils) {
     $scope.$emit(HIDE_INTERSTITIAL_SPINNER_EVENT);
 
     const {
@@ -77,7 +77,8 @@ function DetailController($scope, $state, $stateParams, $log, $uibModal, $timeou
             $log.warn('Error loading activity for '+activityId, error);
             // prefer this simpler error message over the specific ones below
             vm.errorBasic = true;
-            vm.error = 'Cannot load activity with ID: ' + activityId;
+            vm.error = $sce.trustAsHtml('Cannot load activity with ID: <b>' + _.escape(activityId+' <i>x</i>') + '</b> <br/><br/>' +
+                'Task may have completed and been cleared from memory. Details may be available in logs.');
         });
 
         activityApi.activityChildren(activityId).then((response)=> {
diff --git a/ui-modules/app-inspector/app/views/main/inspect/activities/detail/detail.template.html b/ui-modules/app-inspector/app/views/main/inspect/activities/detail/detail.template.html
index 0c1ffa04..1c42d0d9 100644
--- a/ui-modules/app-inspector/app/views/main/inspect/activities/detail/detail.template.html
+++ b/ui-modules/app-inspector/app/views/main/inspect/activities/detail/detail.template.html
@@ -18,7 +18,8 @@
 -->
 <ui-view class="activity-any">
     <div>
-        <loading-state error="vm.error" ng-if="!vm.model.activity || !vm.model.activityChildren"></loading-state>
+        <loading-state error="vm.error" trust-error="true" ng-if="!vm.model.activity || !vm.model.activityChildren"></loading-state>
+
         <div ng-if="vm.model.activity && vm.model.activityChildren">
             <ol class="breadcrumb" ng-show="showParents">
                 <li breadcrumb-navigation parent-id="{{vm.model.activity.submittedByTask.metadata.id}}"
@@ -189,12 +190,16 @@
                         <pre>{{vm.stringifyActivity()}}</pre>
                     </br-collapsible>
 
-                    <br-collapsible state="vm.model.accordion.logbookOpen">
-                        <heading> Logbook (activity)</heading>
-                        <br-logbook task-id="{{vm.model.activityId}}"></br-logbook>
-                    </br-collapsible>
                 </div>
             </div>
         </div>
+
+        <div>
+            <br-collapsible state="vm.model.accordion.logbookOpen">
+                <heading> Logbook (activity)</heading>
+                <br-logbook task-id="{{vm.model.activityId}}"></br-logbook>
+            </br-collapsible>
+        </div>
+
     </div>
 </ui-view>