in ui-modules/app-inspector/app/components/task-list/task-list.directive.js [192:286]
function refreshDropdownsUntilTasksAreLoaded() {
if (tasksLoadedTrueReceived || $scope.uiDropdownInteraction) return;
tasksLoadedTrueReceived = $scope.tasksLoaded;
let preselectedFilters;
if (filtersFromSessionStorage=='initializing') {
if (!$scope.contextKey) filtersFromSessionStorage = 'absent';
else {
filtersFromSessionStorage = 'absent';
try {
const filters = sessionStorage.getItem('brooklyn-task-list-filters-' + $scope.contextKey);
if (filters) {
// console.debug("Read filters for", $scope.contextKey, filters);
preselectedFilters = JSON.parse(filters);
}
} catch (e) {
console.warn("Unable to load filiters from session storage for", $scope.contextKey, e);
}
}
}
if (filtersFromSessionStorage=='loaded') {
// don't auto-compute if taken from session storage
} else {
$scope.filters = {available: {}, selectedFilters: {}};
setFiltersForTasks($scope, isActivityChildren);
if (preselectedFilters) {
try {
if ($scope.selectedFilters) Object.entries($scope.selectedFilters, (k,v) => selectFilter(k, v, false));
$scope.selectedFilters = {};
preselectedFilters.forEach(fid => {
const f = $scope.filters.available[fid];
if (!f) {
// don't keep retrying the load, unless tasks aren't loaded yet
if (!$scope.tasksLoaded) {
filtersFromSessionStorage = 'initializing'; // we don't have all the filters yet
}
} else {
selectFilter(fid, f, true);
}
});
filtersFromSessionStorage = 'loaded';
} catch (e) {
filtersFromSessionStorage = 'absent';
console.warn("Unable to process filiters from session storage for", $scope.contextKey, preselectedFilters, e);
}
}
if (filtersFromSessionStorage == 'absent') {
selectFilter("_top", true);
selectFilter("_anyTypeTag", true);
if ($scope.taskType) {
if ($scope.taskType == "ALL") {
selectFilter("_top", false);
} else {
selectFilter($scope.taskType);
}
} else {
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");
selectFilter("_workflowReplayedTopLevel");
selectFilter("_workflowNonLastReplayHidden");
selectFilter("_workflowCompletedWithoutTaskHidden");
// pick other filter combos until we get some conetnt
if ($scope.tasksFilteredByTag.length == 0) {
selectFilter('INITIALIZATION');
}
if ($scope.tasksFilteredByTag.length == 0) {
selectFilter("_anyTypeTag", true);
}
if (!isActivityChildren && $scope.tasksFilteredByTag.length == 0) {
selectFilter("_top", false);
}
}
}
$scope.recomputeTasks();
}