This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a commit to branch simple-kilt
in repository https://gitbox.apache.org/repos/asf/brooklyn-ui.git

commit fec514fba1861d53bb5c5998eb2039f4d503fb5d
Author: Alex Heneveld <g...@alex.heneveld.org>
AuthorDate: Fri Jun 28 12:07:55 2024 +0100

    refactor task list and kilt to its own widget
    
    as used for details and general
---
 .../components/task-list/task-list.directive.js    | 25 ++++----
 .../task-sunburst/task-sunburst.directive.js       |  2 +-
 ui-modules/app-inspector/app/index.js              |  3 +-
 .../inspect/activities/activities.controller.js    | 32 ----------
 .../inspect/activities/activities.template.html    | 23 +------
 .../inspect/activities/detail/detail.controller.js | 18 +-----
 .../inspect/activities/detail/detail.template.html | 18 ++----
 .../activities/detail/kilt.modal.template.html     | 26 --------
 .../inspect/activities/kilt-panel.directive.js     | 74 ++++++++++++++++++++++
 ...ties.template.html => kilt-panel.template.html} | 20 ++----
 .../inspect/activities/kilt.modal.template.html    |  4 +-
 11 files changed, 108 insertions(+), 137 deletions(-)

diff --git 
a/ui-modules/app-inspector/app/components/task-list/task-list.directive.js 
b/ui-modules/app-inspector/app/components/task-list/task-list.directive.js
index 5bd99d00..c4c07bfc 100644
--- a/ui-modules/app-inspector/app/components/task-list/task-list.directive.js
+++ b/ui-modules/app-inspector/app/components/task-list/task-list.directive.js
@@ -201,7 +201,7 @@ export function taskListDirective() {
                     try {
                         const filters = 
sessionStorage.getItem('brooklyn-task-list-filters-' + $scope.contextKey);
                         if (filters) {
-                            //console.debug("Read filters for", 
$scope.contextKey, filters);
+                            // console.debug("Read filters for", 
$scope.contextKey, filters);
                             preselectedFilters = JSON.parse(filters);
                         }
                     } catch (e) {
@@ -250,17 +250,18 @@ export function taskListDirective() {
                             selectFilter($scope.taskType);
                         }
                     } else {
-                        if (!isActivityChildren) {
-                            // defaults (when not in subtask view; in subtask 
view it is as above)
-                            selectFilter('_cross_entity');
-                            selectFilter('_all_effectors');
-                            selectFilter('TOP-LEVEL');
-                            selectFilter('EFFECTOR');
-                            selectFilter('WORKFLOW');
-                            selectFilter('_periodic');
-                            selectFilter('_other_entity');
-                        } else {
-                            // in children mode we don't want any such filters
+                        selectFilter('_cross_entity');
+                        selectFilter('_all_effectors');
+                        selectFilter('TOP-LEVEL');
+                        selectFilter('EFFECTOR');
+                        selectFilter('WORKFLOW');
+                        selectFilter('_periodic');
+                        selectFilter('_other_entity');
+
+                        if (isActivityChildren) {
+                            // in children mode we also want sub-tasks
+                            // (previously selected no filters in subtask view)
+                            selectFilter('SUB-TASK');
                         }
                     }
                     if (!isActivityChildren) 
selectFilter("_workflowStepsHidden");
diff --git 
a/ui-modules/app-inspector/app/components/task-sunburst/task-sunburst.directive.js
 
b/ui-modules/app-inspector/app/components/task-sunburst/task-sunburst.directive.js
index 578348eb..6278f98e 100644
--- 
a/ui-modules/app-inspector/app/components/task-sunburst/task-sunburst.directive.js
+++ 
b/ui-modules/app-inspector/app/components/task-sunburst/task-sunburst.directive.js
@@ -47,6 +47,7 @@ export function taskSunburstDirective() {
     function controller($scope, $element, $state, $window, $timeout) {
         const simpleColors = 
$window.localStorage.getItem(STORAGE_KEY_COLOR_MODE) || false;
         $scope.colorScheme = simpleColors ? "simple" : "normal";
+
         var viz = initVisualization($scope, $element, $state);
 
         angular.element($window).on('resize', viz.resize);
@@ -54,7 +55,6 @@ export function taskSunburstDirective() {
 
         $scope.$on('toggleColorScheme', (event, args) => {
             $scope.colorScheme = args.simpleColors ? "simple" : "normal";
-            $window.localStorage.setItem(STORAGE_KEY_COLOR_MODE, 
args.simpleColors);
         });
 
         $scope.$on('$destroy', function() {
diff --git a/ui-modules/app-inspector/app/index.js 
b/ui-modules/app-inspector/app/index.js
index 00848b22..7bc1e463 100755
--- a/ui-modules/app-inspector/app/index.js
+++ b/ui-modules/app-inspector/app/index.js
@@ -47,6 +47,7 @@ import entityEffector from 
"components/entity-effector/entity-effector.directive
 import entityPolicy from "components/entity-policy/entity-policy.directive";
 import taskList from "components/task-list/task-list.directive";
 import taskSunburst from "components/task-sunburst/task-sunburst.directive";
+import activitiesListAndKiltPanel from 
"views/main/inspect/activities/kilt-panel.directive";
 import stream from "components/stream/stream.directive";
 import adjunctsList from "components/adjuncts-list/adjuncts-list";
 import workflowSteps from "components/workflow/workflow-steps.directive";
@@ -72,7 +73,7 @@ angular.module('brooklynAppInspector', [ngResource, 
ngCookies, ngSanitize, uiRou
     dropdownNested,
     brServerStatus, brIconGenerator, brInterstitialSpinner, 
brooklynModuleLinks, brSensitiveField, brooklynUserManagement,
     brYamlEditor, brWebNotifications, brExpandablePanel, 'xeditable', 
brLogbook, apiProvider, entityTree, loadingState, serverApi,
-    configSensorTable, entityEffector, entityPolicy, taskList, taskSunburst, 
stream, adjunctsList,
+    configSensorTable, entityEffector, entityPolicy, taskList, taskSunburst, 
activitiesListAndKiltPanel, stream, adjunctsList,
     workflowSteps, workflowStep,
     managementDetail, brandAngularJs])
     .provider('catalogApi', catalogApiProvider)
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/activities/activities.controller.js
 
b/ui-modules/app-inspector/app/views/main/inspect/activities/activities.controller.js
index 1a375aad..2e3847b8 100644
--- 
a/ui-modules/app-inspector/app/views/main/inspect/activities/activities.controller.js
+++ 
b/ui-modules/app-inspector/app/views/main/inspect/activities/activities.controller.js
@@ -44,25 +44,6 @@ function ActivitiesController($scope, $state, $stateParams, 
$log, $timeout, enti
 
     let observers = [];
 
-    vm.modalTemplate = modalTemplate;
-
-    vm.isNonEmpty = Utils.isNonEmpty;
-
-    vm.wideKilt = false;
-    vm.setWideKilt = function (newValue) {
-        vm.wideKilt = newValue;
-        // empirically delay of 100ms means it runs after the resize;
-        // seems there is no way to hook in to resize events so it is
-        // either this or a $scope.$watch with very low interval
-        $timeout(function() { $scope.$broadcast('resize') }, 100);
-    };
-
-    vm.simpleColors = window.localStorage.getItem(STORAGE_KEY_COLOR_MODE) || 
false;
-    vm.toggleColorScheme = function () {
-        vm.simpleColors = !vm.simpleColors;
-        $timeout(function() { $scope.$broadcast('toggleColorScheme', 
{simpleColors: vm.simpleColors}) }, 100);
-    };
-
     onStateChange();
     $scope.$on('$stateChangeSuccess', (event, toState, toParams, fromState, 
fromParams, options)=> {
         // as the below only runs if we are the active state, we need to check
@@ -173,19 +154,6 @@ function ActivitiesController($scope, $state, 
$stateParams, $log, $timeout, enti
             checkTasksLoadAttemptsFinished();
         });
 
-        // previously we loaded these separately, and the (now Deep) call 
above was previously entityActivities
-        // but the only difference is for cross-entitiy activities, and 
calling just Deep and using for both is more efficient
-//        entityApi.entityActivitiesDeep(applicationId, 
entityId).then((response) => {
-//            vm.activitiesDeep = response.data;
-//            observers.push(response.subscribe((response) => {
-//                vm.activitiesDeep = response.data;
-//                vm.error = undefined;
-//            }));
-//        }).catch((error) => {
-//            $log.warn('Error loading activity children deep for entity ' + 
entityId, error);
-//            vm.error = 'Cannot load activities (deep) for entity with ID: ' 
+ entityId;
-//        });
-
         $scope.$on('$destroy', () => {
           observers.forEach((observer) => {
               observer.unsubscribe();
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/activities/activities.template.html
 
b/ui-modules/app-inspector/app/views/main/inspect/activities/activities.template.html
index e268f468..e8e66c1c 100644
--- 
a/ui-modules/app-inspector/app/views/main/inspect/activities/activities.template.html
+++ 
b/ui-modules/app-inspector/app/views/main/inspect/activities/activities.template.html
@@ -18,29 +18,10 @@
 -->
 <ui-view class="activity-any">
 
-  <div class="row">
-    <div ng-class="{ 'col-md-12': true, 'col-lg-8': !vm.wideKilt && 
vm.isNonEmpty(vm.activitiesDeep), 'col-lg-12': vm.wideKilt || 
!vm.isNonEmpty(vm.activitiesDeep)}">
+    <activities-list-and-kilt-panel activities="vm.activitiesDeep" 
focused-activities="vm.focusedActivities" global-filters="globalFilters">
         <loading-state error="vm.error" ng-if="!vm.activities"></loading-state>
         <task-list context-key="{{ entityId }}" entity-id="entityId" 
task-type="{{filter}}" search="search" tasks="vm.activities" 
tasks-loaded="activitiesLoaded" 
filtered-callback="vm.onFilteredActivitiesChange" 
ng-if="vm.activities"></task-list>
-    </div>
+    </activities-list-and-kilt-panel>
 
-    <div ng-class="{ 'col-md-12': true, 'col-lg-4': !vm.wideKilt, 'col-lg-12': 
vm.wideKilt }" ng-if="vm.isNonEmpty(vm.activitiesDeep)">
-        <expandable-panel expandable-template="vm.modalTemplate" 
class="panel-table">
-            <heading  uib-popover-template="'Colors.html'">Progress 
Map</heading>
-            <extra-buttons>
-                <button class="btn btn-link title-toolbar-item" 
ng-click="vm.toggleColorScheme()"
-                        uib-tooltip="{{vm.simpleColors ? 'Color activities by 
task id' : 'All finished activities have the same color' }}">
-                    <i class="fa" ng-class="{ 'fa-toggle-off': 
vm.simpleColors, 'fa-toggle-on': !vm.simpleColors }"></i></button>
-                <button class="visible-lg-inline-block btn btn-link 
title-toolbar-item" ng-click="vm.setWideKilt(!vm.wideKilt)"
-                        uib-tooltip="{{ vm.wideKilt ? 'Side-by-side' : 
'Full-width' }}" tooltip-placement="top" tooltip-popup-delay="500" 
tooltip-append-to-body="true">
-                    <i class="fa" ng-class="{ 'fa-indent': vm.wideKilt, 
'fa-outdent': !vm.wideKilt }"></i></button>
-            </extra-buttons>
-            <h4 class="text-center" 
ng-if="!vm.isNonEmpty(vm.activitiesDeep)">No tasks</h4>
-            <task-sunburst task-type="activity" tasks="vm.activitiesDeep" 
filtered-to="vm.focusedActivities" ng-if="vm.isNonEmpty(vm.activitiesDeep)" 
exclude-transient="globalFilters && globalFilters.transient && 
!globalFilters.transient.include"></task-sunburst>
-        </expandable-panel>
-    </div>
-    
-  </div>
-  
 </ui-view>
 
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 a4f3f221..c27aef3a 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
@@ -18,7 +18,6 @@
  */
 import {HIDE_INTERSTITIAL_SPINNER_EVENT} from 
'brooklyn-ui-utils/interstitial-spinner/interstitial-spinner';
 import template from "./detail.template.html";
-import modalTemplate from './kilt.modal.template.html';
 import {makeTaskStubFromWorkflowRecord} from "../activities.controller";
 import jsyaml from 'js-yaml';
 import runWorkflowModalTemplate from "../../run-workflow-modal.template.html";
@@ -31,6 +30,7 @@ export const detailState = {
     controller: ['$scope', '$state', '$stateParams', '$location', '$log', 
'$uibModal', '$timeout', '$sanitize', '$sce', 'activityApi', 'entityApi', 
'brUtilsGeneral', DetailController],
     controllerAs: 'vm',
 }
+
 function DetailController($scope, $state, $stateParams, $location, $log, 
$uibModal, $timeout, $sanitize, $sce, activityApi, entityApi, Utils) {
     $scope.$emit(HIDE_INTERSTITIAL_SPINNER_EVENT);
 
@@ -56,8 +56,6 @@ function DetailController($scope, $state, $stateParams, 
$location, $log, $uibMod
         workflow: {},
     };
 
-    vm.modalTemplate = modalTemplate;
-    vm.wideKilt = false;
     vm.toggleOldWorkflowRunStepDetails = () => { 
$scope.showOldWorkflowRunStepDetails = !$scope.showOldWorkflowRunStepDetails; }
 
     $scope.actions = {};
@@ -391,7 +389,7 @@ function DetailController($scope, $state, $stateParams, 
$location, $log, $uibMod
             }
         });
         
-        activityApi.activityDescendants(activityId, 8, true).then((response)=> 
{
+        activityApi.activityDescendants(activityId, 8).then((response)=> {
             vm.model.activitiesDeep = response.data;
             vm.error = undefined;
             onActivityLoadUpdate();
@@ -413,7 +411,6 @@ function DetailController($scope, $state, $stateParams, 
$location, $log, $uibMod
         
     }
 
-    vm.isNonEmpty = Utils.isNonEmpty;
     vm.yaml = (o) => typeof o === 'string' ? o : jsyaml.dump(o);
 
     vm.openInRunModel = function (workflowYaml) {
@@ -460,14 +457,6 @@ function DetailController($scope, $state, $stateParams, 
$location, $log, $uibMod
         return Object.keys($scope.streamsById);
     };
 
-    vm.setWideKilt = function (newValue) {
-        vm.wideKilt = newValue;
-        // empirically delay of 100ms means it runs after the resize;
-        // seems there is no way to hook in to resize events so it is
-        // either this or a $scope.$watch with very low interval
-        $timeout(function() { $scope.$broadcast('resize') }, 100);
-    };
-
     vm.stringify = (data) => JSON.stringify(data, null, 2);
     vm.stringifiedSize = (data) => JSON.stringify(data).length;
 
@@ -506,8 +495,7 @@ function DetailController($scope, $state, $stateParams, 
$location, $log, $uibMod
     }
 
     vm.isNullish = _.isNil;
-    vm.isEmpty = x => vm.isNullish(x) || (x.length==0) || (typeof x === 
'object' && !Object.keys(x).length);
-    vm.isNonEmpty = x => !vm.isEmpty(x);
+    vm.isNonEmpty = Utils.isNonEmpty;
 }
 
 export function getTaskWorkflowTag(task) {
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 947fc6f3..eb7e29a5 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
@@ -366,22 +366,12 @@
                         <heading> Sub-tasks</heading>
 
                         <div class="row">
-                            <div ng-class="{ 'col-md-12': true, 'col-lg-8': 
!vm.wideKilt && vm.isNonEmpty(vm.model.activitiesDeep), 'col-lg-12': 
vm.wideKilt || !vm.isNonEmpty(vm.model.activitiesDeep)}">
+                            <!-- children will include background 
non-subtasks, but deep will not; deep tasks are usually the more interesting -->
+                            <activities-list-and-kilt-panel 
activities="vm.model.activitiesDeep" global-filters="globalFilters">
                                 <task-list context-key="{{ vm.model.activityId 
}}" entity-id="vm.model.entityId" tasks="vm.model.activityChildrenAndDeep" 
parent-task-id="{{ vm.model.activityId }}" 
filtered-callback="vm.onFilteredActivitiesChange"
                                            
tasks-loaded="vm.model.activityChildren && vm.model.activitiesDeep"></task-list>
-                            </div>
-                            <div ng-class="{ 'col-md-12': true, 'col-lg-4': 
!vm.wideKilt, 'col-lg-12': vm.wideKilt }" 
ng-if="vm.isNonEmpty(vm.model.activitiesDeep)">
-                                <expandable-panel 
expandable-template="vm.modalTemplate" class="panel-table">
-                                    <heading>Progress Map</heading>
-                                    <extra-buttons>
-                                        <button class="visible-lg-inline-block 
btn btn-link title-toolbar-item" ng-click="vm.setWideKilt(!vm.wideKilt)"
-                                                uib-tooltip="{{ vm.wideKilt ? 
'Side-by-side' : 'Full-width' }}" tooltip-placement="top" 
tooltip-popup-delay="500" tooltip-append-to-body="true">
-                                            <i class="fa" ng-class="{ 
'fa-indent': vm.wideKilt, 'fa-outdent': !vm.wideKilt }"></i></button>
-                                    </extra-buttons>
-                                    <h4 class="text-center" 
ng-if="!vm.isNonEmpty(vm.model.activitiesDeep)">No tasks</h4>
-                                    <task-sunburst task-type="activity" 
tasks="vm.model.activitiesDeep" exclude-transient="globalFilters && 
globalFilters.transient && !globalFilters.transient.include" 
ng-if="vm.isNonEmpty(vm.model.activitiesDeep)"></task-sunburst>
-                                </expandable-panel>
-                            </div>
+                            </activities-list-and-kilt-panel>
+
                         </div>
                     </br-collapsible>
 
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/activities/detail/kilt.modal.template.html
 
b/ui-modules/app-inspector/app/views/main/inspect/activities/detail/kilt.modal.template.html
deleted file mode 100644
index ec5ad31c..00000000
--- 
a/ui-modules/app-inspector/app/views/main/inspect/activities/detail/kilt.modal.template.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<div class="modal-header">
-    <br-svg type="close" class="pull-right" ng-click="$dismiss('Close 
modal')"></br-svg>
-    <h3 class="modal-title">Progress Map</h3>
-</div>
-<div class="modal-body">
-    <h4 class="text-center" ng-if="!vm.isNonEmpty(vm.model.activitiesDeep)">No 
tasks</h4>
-    <task-sunburst task-type="activity" tasks="vm.model.activitiesDeep" 
ng-if="vm.isNonEmpty(vm.model.activitiesDeep)"></task-sunburst>
-</div>
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/activities/kilt-panel.directive.js
 
b/ui-modules/app-inspector/app/views/main/inspect/activities/kilt-panel.directive.js
new file mode 100644
index 00000000..185df751
--- /dev/null
+++ 
b/ui-modules/app-inspector/app/views/main/inspect/activities/kilt-panel.directive.js
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import angular from "angular";
+import {HIDE_INTERSTITIAL_SPINNER_EVENT} from 
'brooklyn-ui-utils/interstitial-spinner/interstitial-spinner';
+import template from './kilt-panel.template.html';
+import modalTemplate from './kilt.modal.template.html';
+import {STORAGE_KEY_COLOR_MODE} from 
"../../../../components/task-sunburst/task-sunburst.directive";
+
+const MODULE_NAME = 'activities.kilt-panel';
+
+angular.module(MODULE_NAME, [])
+    .directive('activitiesListAndKiltPanel', 
activitiesListAndKiltPanelDirective)
+
+export default MODULE_NAME;
+
+
+export function activitiesListAndKiltPanelDirective() {
+    return {
+        template: template,
+        restrict: 'E',
+        transclude: true,
+        scope: {
+            activities: '=',
+            focusedActivities: '=',
+            globalFilters: '=',
+        },
+        controller: ['$scope', '$window', '$state', '$stateParams', '$log', 
'$timeout', 'brUtilsGeneral', controller],
+        controllerAs: 'vm'
+    };
+
+    function controller($scope, $window, $state, $stateParams, $log, $timeout, 
Utils) {
+        $scope.$emit(HIDE_INTERSTITIAL_SPINNER_EVENT);
+        let vm = this;
+        vm.isNonEmpty = Utils.isNonEmpty;
+        vm.modalTemplate = modalTemplate;
+
+        vm.wideKilt = false;
+        vm.setWideKilt = function (newValue) {
+            vm.wideKilt = newValue;
+            // empirically delay of 100ms means it runs after the resize;
+            // seems there is no way to hook in to resize events so it is
+            // either this or a $scope.$watch with very low interval
+            $timeout(function () {
+                $scope.$broadcast('resize')
+            }, 100);
+        };
+
+        vm.simpleColors = window.localStorage.getItem(STORAGE_KEY_COLOR_MODE) 
|| false;
+        vm.toggleColorScheme = function () {
+            vm.simpleColors = !vm.simpleColors;
+            $window.localStorage.setItem(STORAGE_KEY_COLOR_MODE, 
vm.simpleColors);
+            $timeout(function () {
+                $scope.$broadcast('toggleColorScheme', {simpleColors: 
vm.simpleColors})
+            }, 100);
+        };
+    }
+
+}
\ No newline at end of file
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/activities/activities.template.html
 
b/ui-modules/app-inspector/app/views/main/inspect/activities/kilt-panel.template.html
similarity index 67%
copy from 
ui-modules/app-inspector/app/views/main/inspect/activities/activities.template.html
copy to 
ui-modules/app-inspector/app/views/main/inspect/activities/kilt-panel.template.html
index e268f468..07ccd273 100644
--- 
a/ui-modules/app-inspector/app/views/main/inspect/activities/activities.template.html
+++ 
b/ui-modules/app-inspector/app/views/main/inspect/activities/kilt-panel.template.html
@@ -16,15 +16,11 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<ui-view class="activity-any">
-
-  <div class="row">
-    <div ng-class="{ 'col-md-12': true, 'col-lg-8': !vm.wideKilt && 
vm.isNonEmpty(vm.activitiesDeep), 'col-lg-12': vm.wideKilt || 
!vm.isNonEmpty(vm.activitiesDeep)}">
-        <loading-state error="vm.error" ng-if="!vm.activities"></loading-state>
-        <task-list context-key="{{ entityId }}" entity-id="entityId" 
task-type="{{filter}}" search="search" tasks="vm.activities" 
tasks-loaded="activitiesLoaded" 
filtered-callback="vm.onFilteredActivitiesChange" 
ng-if="vm.activities"></task-list>
+<div class="row">
+    <div ng-class="{ 'col-md-12': true, 'col-lg-8': !vm.wideKilt && 
vm.isNonEmpty(activities), 'col-lg-12': vm.wideKilt || 
!vm.isNonEmpty(activities)}" ng-transclude>
     </div>
 
-    <div ng-class="{ 'col-md-12': true, 'col-lg-4': !vm.wideKilt, 'col-lg-12': 
vm.wideKilt }" ng-if="vm.isNonEmpty(vm.activitiesDeep)">
+    <div ng-class="{ 'col-md-12': true, 'col-lg-4': !vm.wideKilt, 'col-lg-12': 
vm.wideKilt }" ng-if="vm.isNonEmpty(activities)">
         <expandable-panel expandable-template="vm.modalTemplate" 
class="panel-table">
             <heading  uib-popover-template="'Colors.html'">Progress 
Map</heading>
             <extra-buttons>
@@ -35,12 +31,10 @@
                         uib-tooltip="{{ vm.wideKilt ? 'Side-by-side' : 
'Full-width' }}" tooltip-placement="top" tooltip-popup-delay="500" 
tooltip-append-to-body="true">
                     <i class="fa" ng-class="{ 'fa-indent': vm.wideKilt, 
'fa-outdent': !vm.wideKilt }"></i></button>
             </extra-buttons>
-            <h4 class="text-center" 
ng-if="!vm.isNonEmpty(vm.activitiesDeep)">No tasks</h4>
-            <task-sunburst task-type="activity" tasks="vm.activitiesDeep" 
filtered-to="vm.focusedActivities" ng-if="vm.isNonEmpty(vm.activitiesDeep)" 
exclude-transient="globalFilters && globalFilters.transient && 
!globalFilters.transient.include"></task-sunburst>
+            <h4 class="text-center" ng-if="!vm.isNonEmpty(activities)">No 
tasks</h4>
+            <task-sunburst task-type="activity" tasks="activities" 
filtered-to="focusedActivities" ng-if="vm.isNonEmpty(activities)" 
exclude-transient="globalFilters && globalFilters.transient && 
!globalFilters.transient.include"></task-sunburst>
         </expandable-panel>
     </div>
-    
-  </div>
-  
-</ui-view>
+
+</div>
 
diff --git 
a/ui-modules/app-inspector/app/views/main/inspect/activities/kilt.modal.template.html
 
b/ui-modules/app-inspector/app/views/main/inspect/activities/kilt.modal.template.html
index 649fa7fa..a39f2aeb 100644
--- 
a/ui-modules/app-inspector/app/views/main/inspect/activities/kilt.modal.template.html
+++ 
b/ui-modules/app-inspector/app/views/main/inspect/activities/kilt.modal.template.html
@@ -21,6 +21,6 @@
     <h3 class="modal-title">Progress Map</h3>
 </div>
 <div class="modal-body">
-    <h4 class="text-center" ng-if="!vm.activitiesDeep || 
vm.activitiesDeep.length === 0">No tasks</h4>
-    <task-sunburst task-type="activity" tasks="vm.activitiesDeep" 
ng-if="vm.activitiesDeep && vm.activitiesDeep.length > 0"></task-sunburst>
+    <h4 class="text-center" ng-if="!activities || activities.length === 0">No 
tasks</h4>
+    <task-sunburst task-type="activity" tasks="activities" 
filtered-to="focusedActivities" ng-if="vm.isNonEmpty(activities)" 
exclude-transient="globalFilters && globalFilters.transient && 
!globalFilters.transient.include"></task-sunburst>
 </div>

Reply via email to