@valtimo/task 13.28.1 → 13.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,14 +6,14 @@ import { RecentlyViewed16, CalendarAdd16, Edit16, FolderDetailsReference16 } fro
6
6
  import * as i4$1 from '@ngx-translate/core';
7
7
  import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
8
8
  import * as i9 from '@valtimo/components';
9
- import { ViewType, FormioOptionsImpl, FormIoModule, ConfirmationModalModule, TooltipModule, RemoveClassnamesDirective, runAfterCarbonModalClosed, CarbonListModule, PageHeaderModule, WidgetModule, SpinnerModule, CamundaFormModule, RenderInPageHeaderDirective, SearchFieldsModule, AssignmentComponent, ValtimoCdsModalDirective } from '@valtimo/components';
9
+ import { ViewType, FormioOptionsImpl, FormIoModule, ConfirmationModalModule, TooltipModule, RemoveClassnamesDirective, runAfterCarbonModalClosed, QUICK_SEARCH_SERVICE, CarbonListModule, PageHeaderModule, WidgetModule, SpinnerModule, CamundaFormModule, RenderInPageHeaderDirective, SearchFieldsModule, QuickSearchComponent, AssignmentComponent, ValtimoCdsModalDirective, ListColumnViewComponent } from '@valtimo/components';
10
10
  import * as i1$1 from '@valtimo/shared';
11
11
  import { BaseApiService, TaskListTab, InterceptorSkip, FORM_VIEW_MODEL_TOKEN, ROLE_USER, HttpLoaderFactory } from '@valtimo/shared';
12
12
  import * as i7 from '@valtimo/process-link';
13
13
  import { FORM_CUSTOM_COMPONENT_TOKEN, ProcessLinkModule, formSizeToCarbonModalSizeMap } from '@valtimo/process-link';
14
14
  import * as i2$1 from 'carbon-components-angular';
15
15
  import { LoadingModule, NotificationModule, ButtonModule, IconModule, ModalModule, ToggletipModule, DatePickerModule, LayerModule, LinkModule, TabsModule, ContentSwitcherModule, DropdownModule, TooltipModule as TooltipModule$1 } from 'carbon-components-angular';
16
- import { BehaviorSubject, combineLatest, tap, filter, switchMap, of, map as map$1, catchError, Subscription, take as take$1, distinctUntilChanged, Subject, shareReplay, EMPTY } from 'rxjs';
16
+ import { BehaviorSubject, combineLatest, Subject, switchMap, of, tap, filter, take as take$1, map as map$1, catchError, Subscription, distinctUntilChanged, shareReplay, EMPTY } from 'rxjs';
17
17
  import * as i2 from '@valtimo/document';
18
18
  import * as i4 from 'ngx-logger';
19
19
  import * as i3 from '@valtimo/access-control';
@@ -376,8 +376,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
376
376
  type: Injectable
377
377
  }], ctorParameters: () => [{ type: TaskService }, { type: TaskListService }] });
378
378
 
379
+ class TaskListHiddenColumnsService extends BaseApiService {
380
+ constructor(httpClient, configService) {
381
+ super(httpClient, configService);
382
+ this.httpClient = httpClient;
383
+ this.configService = configService;
384
+ }
385
+ getHiddenColumns(caseDefinitionName) {
386
+ return this.httpClient.get(this.getApiUrl(`v1/case/${caseDefinitionName}/hidden-task-list-column`));
387
+ }
388
+ saveHiddenColumns(caseDefinitionName, hiddenColumns) {
389
+ return this.httpClient.post(this.getApiUrl(`v1/case/${caseDefinitionName}/hidden-task-list-column`), hiddenColumns);
390
+ }
391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListHiddenColumnsService, deps: [{ token: i1.HttpClient }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
392
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListHiddenColumnsService }); }
393
+ }
394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListHiddenColumnsService, decorators: [{
395
+ type: Injectable
396
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.ConfigService }] });
397
+
379
398
  /*
380
- * Copyright 2015-2025 Ritense BV, the Netherlands.
399
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
381
400
  *
382
401
  * Licensed under EUPL, Version 1.2 (the "License");
383
402
  * you may not use this file except in compliance with the License.
@@ -395,34 +414,23 @@ class TaskListColumnService {
395
414
  get hasCustomConfigTaskList() {
396
415
  return !!this.taskService.getConfigCustomTaskList();
397
416
  }
398
- get fields$() {
399
- return this._fields$.asObservable();
417
+ get availableFields$() {
418
+ return this._availableFields$.asObservable();
400
419
  }
401
- get taskListColumnsForCase$() {
402
- return this.taskListService.caseDefinitionKey$.pipe(tap(caseDefinitionName => {
403
- if (caseDefinitionName === this.taskListService.ALL_CASES_ID) {
404
- this.resetTaskListFields();
405
- }
406
- }), filter(caseDefinitionName => !!caseDefinitionName && caseDefinitionName !== this.taskListService.ALL_CASES_ID), switchMap(caseDefinitionName => this.taskService.getTaskListColumns(caseDefinitionName)), tap(taskListColumns => {
407
- if (taskListColumns.length === 0) {
408
- this.taskListSortService.updateSortStates({
409
- isSorting: true,
410
- state: {
411
- name: this._DEFAULT_SPECIFIED_TASK_LIST_FIELDS[0].key,
412
- direction: 'DESC',
413
- },
414
- });
415
- this._fields$.next(this._DEFAULT_SPECIFIED_TASK_LIST_FIELDS);
416
- }
417
- else {
418
- this._fields$.next(this.mapTaskListColumnToColumnConfig(taskListColumns));
420
+ get fields$() {
421
+ return combineLatest([this._availableFields$, this.hiddenColumns$]).pipe(map(([availableFields, hiddenColumns]) => {
422
+ if (!hiddenColumns || hiddenColumns.length === 0) {
423
+ return availableFields;
419
424
  }
420
- }), tap(() => this.taskListService.setLoadingStateForCaseDefinition(false)));
425
+ const hiddenKeys = new Set(hiddenColumns.map(col => col.key));
426
+ return availableFields.filter(field => !hiddenKeys.has(field.key));
427
+ }));
421
428
  }
422
- constructor(taskService, taskListService, taskListSortService) {
429
+ constructor(taskService, taskListService, taskListSortService, hiddenColumnsService) {
423
430
  this.taskService = taskService;
424
431
  this.taskListService = taskListService;
425
432
  this.taskListSortService = taskListSortService;
433
+ this.hiddenColumnsService = hiddenColumnsService;
426
434
  this._DEFAULT_TASK_LIST_FIELDS = [
427
435
  {
428
436
  key: 'created',
@@ -479,7 +487,34 @@ class TaskListColumnService {
479
487
  sortable: true,
480
488
  },
481
489
  ];
482
- this._fields$ = new BehaviorSubject(this._DEFAULT_TASK_LIST_FIELDS);
490
+ this._availableFields$ = new BehaviorSubject(this._DEFAULT_TASK_LIST_FIELDS);
491
+ this._refreshHiddenColumns$ = new Subject();
492
+ this.hiddenColumns$ = this.taskListService.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => {
493
+ if (!caseDefinitionKey || caseDefinitionKey === this.taskListService.ALL_CASES_ID) {
494
+ return of([]);
495
+ }
496
+ return this._refreshHiddenColumns$.pipe(switchMap(() => this.hiddenColumnsService.getHiddenColumns(caseDefinitionKey)));
497
+ }));
498
+ this.taskListColumnsForCase$ = this.taskListService.caseDefinitionKey$.pipe(tap(caseDefinitionName => {
499
+ if (caseDefinitionName === this.taskListService.ALL_CASES_ID) {
500
+ this.resetTaskListFields();
501
+ }
502
+ }), filter(caseDefinitionName => !!caseDefinitionName && caseDefinitionName !== this.taskListService.ALL_CASES_ID), switchMap(caseDefinitionName => this.taskService.getTaskListColumns(caseDefinitionName)), tap(taskListColumns => {
503
+ if (taskListColumns.length === 0) {
504
+ this.taskListSortService.updateSortStates({
505
+ isSorting: true,
506
+ state: {
507
+ name: this._DEFAULT_SPECIFIED_TASK_LIST_FIELDS[0].key,
508
+ direction: 'DESC',
509
+ },
510
+ });
511
+ this._availableFields$.next(this._DEFAULT_SPECIFIED_TASK_LIST_FIELDS);
512
+ }
513
+ else {
514
+ this._availableFields$.next(this.mapTaskListColumnToColumnConfig(taskListColumns));
515
+ }
516
+ this._refreshHiddenColumns$.next();
517
+ }), tap(() => this.taskListService.setLoadingStateForCaseDefinition(false)));
483
518
  }
484
519
  resetTaskListFields() {
485
520
  if (this.hasCustomConfigTaskList) {
@@ -491,10 +526,19 @@ class TaskListColumnService {
491
526
  this.taskListSortService.resetDefaultSortStates();
492
527
  this.taskListService.setLoadingStateForCaseDefinition(false);
493
528
  }
529
+ saveHiddenColumns(hiddenColumns) {
530
+ this.taskListService.caseDefinitionKey$.pipe(take$1(1)).subscribe(caseDefinitionKey => {
531
+ if (caseDefinitionKey && caseDefinitionKey !== this.taskListService.ALL_CASES_ID) {
532
+ this.hiddenColumnsService
533
+ .saveHiddenColumns(caseDefinitionKey, hiddenColumns)
534
+ .subscribe(() => this._refreshHiddenColumns$.next());
535
+ }
536
+ });
537
+ }
494
538
  setFieldsToCustomTaskListFields() {
495
539
  const customTaskListFields = this.taskService.getConfigCustomTaskList().fields;
496
540
  if (customTaskListFields) {
497
- this._fields$.next(customTaskListFields.map((column, index) => ({
541
+ this._availableFields$.next(customTaskListFields.map((column, index) => ({
498
542
  key: column.propertyName,
499
543
  label: `task-list.fieldLabels.${column.translationKey}`,
500
544
  sortable: column.sortable,
@@ -504,7 +548,7 @@ class TaskListColumnService {
504
548
  }
505
549
  }
506
550
  setFieldsToDefaultTaskListFields() {
507
- this._fields$.next(this._DEFAULT_TASK_LIST_FIELDS);
551
+ this._availableFields$.next(this._DEFAULT_TASK_LIST_FIELDS);
508
552
  }
509
553
  mapTaskListColumnToColumnConfig(taskListColumns) {
510
554
  const hasDefaultSort = !!taskListColumns.find(column => column.defaultSort);
@@ -555,12 +599,12 @@ class TaskListColumnService {
555
599
  return taskListColumnColumnDisplayType;
556
600
  }
557
601
  }
558
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListColumnService, deps: [{ token: TaskService }, { token: TaskListService }, { token: TaskListSortService }], target: i0.ɵɵFactoryTarget.Injectable }); }
602
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListColumnService, deps: [{ token: TaskService }, { token: TaskListService }, { token: TaskListSortService }, { token: TaskListHiddenColumnsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
559
603
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListColumnService }); }
560
604
  }
561
605
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListColumnService, decorators: [{
562
606
  type: Injectable
563
- }], ctorParameters: () => [{ type: TaskService }, { type: TaskListService }, { type: TaskListSortService }] });
607
+ }], ctorParameters: () => [{ type: TaskService }, { type: TaskListService }, { type: TaskListSortService }, { type: TaskListHiddenColumnsService }] });
564
608
 
565
609
  /*
566
610
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -866,6 +910,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
866
910
  args: [{ providedIn: 'root' }]
867
911
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.ConfigService }] });
868
912
 
913
+ class TaskListQuickSearchService extends BaseApiService {
914
+ get _params() {
915
+ return this._params$.getValue() ?? { caseDefinitionKey: '' };
916
+ }
917
+ get params$() {
918
+ return this._params$.pipe(filter(params => !!params));
919
+ }
920
+ constructor(httpClient, configService) {
921
+ super(httpClient, configService);
922
+ this.httpClient = httpClient;
923
+ this.configService = configService;
924
+ this._params$ = new BehaviorSubject(null);
925
+ }
926
+ initParams(caseDefinitionKey) {
927
+ if (caseDefinitionKey === this._params.caseDefinitionKey)
928
+ return;
929
+ this._params$.next({ caseDefinitionKey });
930
+ }
931
+ getQuickSearchItems() {
932
+ return this.params$.pipe(take$1(1), switchMap((params) => this.httpClient.get(this.getApiUrl(`v1/task/${params?.caseDefinitionKey}/stored-quick-search`))));
933
+ }
934
+ createQuickSearchItem(quickSearchItem) {
935
+ return this.params$.pipe(take$1(1), switchMap((params) => this.httpClient.post(this.getApiUrl(`v1/task/${params?.caseDefinitionKey}/stored-quick-search`), quickSearchItem)));
936
+ }
937
+ updateQuickSearchItems(quickSearchItems) {
938
+ throw new Error('Method not implemented.');
939
+ }
940
+ editQuickSearchItem(quickSearchItem) {
941
+ return this.params$.pipe(take$1(1), switchMap((params) => this.httpClient.put(this.getApiUrl(`v1/task/${params?.caseDefinitionKey}/stored-quick-search`), quickSearchItem)));
942
+ }
943
+ deleteQuickSearchItem(quickSearchItem) {
944
+ return this.params$.pipe(take$1(1), switchMap((params) => this.httpClient.delete(this.getApiUrl(`v1/task/${params?.caseDefinitionKey}/stored-quick-search/${quickSearchItem.title}`))));
945
+ }
946
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListQuickSearchService, deps: [{ token: i1.HttpClient }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
947
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListQuickSearchService }); }
948
+ }
949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListQuickSearchService, decorators: [{
950
+ type: Injectable
951
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.ConfigService }] });
952
+
869
953
  /*
870
954
  * Copyright 2015-2025 Ritense BV, the Netherlands.
871
955
  *
@@ -2029,7 +2113,7 @@ class TaskListComponent {
2029
2113
  this.setParamsFromQueryParams();
2030
2114
  });
2031
2115
  }
2032
- constructor(configService, documentService, permissionService, router, taskService, taskListService, translateService, taskListColumnService, taskListPaginationService, taskListSortService, taskListSearchService, taskListQueryParamService, pageTitleService, sseService, teamsApiService) {
2116
+ constructor(configService, documentService, permissionService, router, taskService, taskListService, translateService, taskListColumnService, taskListPaginationService, taskListSortService, taskListSearchService, taskListQueryParamService, pageTitleService, quickSearchStateService, sseService, teamsApiService, quickSearchService) {
2033
2117
  this.configService = configService;
2034
2118
  this.documentService = documentService;
2035
2119
  this.permissionService = permissionService;
@@ -2043,8 +2127,10 @@ class TaskListComponent {
2043
2127
  this.taskListSearchService = taskListSearchService;
2044
2128
  this.taskListQueryParamService = taskListQueryParamService;
2045
2129
  this.pageTitleService = pageTitleService;
2130
+ this.quickSearchStateService = quickSearchStateService;
2046
2131
  this.sseService = sseService;
2047
2132
  this.teamsApiService = teamsApiService;
2133
+ this.quickSearchService = quickSearchService;
2048
2134
  this.ALL_CASES_ID = this.taskListService.ALL_CASES_ID;
2049
2135
  this.selectedTaskType$ = this.taskListService.selectedTaskType$;
2050
2136
  this._overrideNoResultsMessage$ = new BehaviorSubject(null);
@@ -2056,6 +2142,8 @@ class TaskListComponent {
2056
2142
  description: 'task-list.' + selectedTaskType + '.noResultsDescription',
2057
2143
  isSearchResult: false,
2058
2144
  }));
2145
+ this.availableFields$ = this.taskListColumnService.availableFields$;
2146
+ this.hiddenColumns$ = this.taskListColumnService.hiddenColumns$;
2059
2147
  this.fields$ = this.taskListColumnService.fields$.pipe(map((fields) => [
2060
2148
  {
2061
2149
  key: 'isOpened',
@@ -2206,6 +2294,9 @@ class TaskListComponent {
2206
2294
  this.taskListSortService.resetOverrideSortState();
2207
2295
  this.loadingTasks$.next(true);
2208
2296
  this.taskListService.setCaseDefinitionKey(definition.item.id);
2297
+ if (definition.item.id !== this.ALL_CASES_ID) {
2298
+ this.quickSearchService.initParams(definition.item.id);
2299
+ }
2209
2300
  this.taskListPaginationService.loadPageSizeForCaseDefinition(definition.item.id);
2210
2301
  }
2211
2302
  }
@@ -2218,6 +2309,49 @@ class TaskListComponent {
2218
2309
  return;
2219
2310
  this.taskListSearchService.setSearchFieldValues(searchFieldValues);
2220
2311
  }
2312
+ onSaveSearchEvent(searchFieldValues) {
2313
+ combineLatest([
2314
+ this.taskListSortService.sortStringForCurrentTaskType$,
2315
+ this.selectedTaskType$,
2316
+ ])
2317
+ .pipe(take(1))
2318
+ .subscribe(([sort, selectedTaskType]) => {
2319
+ const params = {};
2320
+ if (searchFieldValues && Object.keys(searchFieldValues).length > 0) {
2321
+ params['search'] = btoa(JSON.stringify(searchFieldValues));
2322
+ }
2323
+ if (selectedTaskType) {
2324
+ params['selectedTaskType'] = selectedTaskType;
2325
+ }
2326
+ if (sort) {
2327
+ params['sort'] = sort;
2328
+ }
2329
+ this.quickSearchStateService.openModal(params);
2330
+ });
2331
+ }
2332
+ onViewUpdateEvent(hiddenColumns) {
2333
+ this.taskListColumnService.saveHiddenColumns(hiddenColumns);
2334
+ }
2335
+ onQuickSearchEvent(queryPath) {
2336
+ const queryParams = Object.fromEntries(new URLSearchParams(queryPath));
2337
+ if (queryParams['search']) {
2338
+ const searchFieldValues = JSON.parse(atob(queryParams['search']));
2339
+ this.setSearchFieldValuesSubject$.next(searchFieldValues);
2340
+ this.taskListSearchService.setSearchFieldValues(searchFieldValues);
2341
+ }
2342
+ else {
2343
+ this.clearSearchFieldValuesSubject$.next(null);
2344
+ this.taskListSearchService.setSearchFieldValues({});
2345
+ }
2346
+ if (queryParams['selectedTaskType']) {
2347
+ this.taskListService.setSelectedTaskType(queryParams['selectedTaskType']);
2348
+ }
2349
+ if (queryParams['sort']) {
2350
+ const stateFromSortString = this.taskListSortService.getSortStateFromSortString(queryParams['sort']);
2351
+ if (stateFromSortString)
2352
+ this.taskListSortService.setOverrideSortState(stateFromSortString);
2353
+ }
2354
+ }
2221
2355
  updateTaskListPaginationAfterResponse(newCollectionSize) {
2222
2356
  this.taskListPaginationService.paginationForCurrentTaskType$
2223
2357
  .pipe(take(1))
@@ -2323,6 +2457,9 @@ class TaskListComponent {
2323
2457
  if (decodedParams.caseDefinitionKey) {
2324
2458
  this.taskListService.setCaseDefinitionKey(decodedParams.caseDefinitionKey);
2325
2459
  this._selectedCaseDefinitionId$.next(decodedParams.caseDefinitionKey);
2460
+ if (decodedParams.caseDefinitionKey !== this.ALL_CASES_ID) {
2461
+ this.quickSearchService.initParams(decodedParams.caseDefinitionKey);
2462
+ }
2326
2463
  this.taskListPaginationService.loadPageSizeForCaseDefinition(decodedParams.caseDefinitionKey);
2327
2464
  }
2328
2465
  if (decodedParams.otherFilters?.length > 0) {
@@ -2342,27 +2479,40 @@ class TaskListComponent {
2342
2479
  if (decodedParams.params)
2343
2480
  this.taskListPaginationService.updateTaskPagination(this.taskListService.selectedTaskType, decodedParams.params);
2344
2481
  }
2345
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListComponent, deps: [{ token: i1$1.ConfigService }, { token: i2.DocumentService }, { token: i3.PermissionService }, { token: i1$2.Router }, { token: TaskService }, { token: TaskListService }, { token: i4$1.TranslateService }, { token: TaskListColumnService }, { token: TaskListPaginationService }, { token: TaskListSortService }, { token: TaskListSearchService }, { token: TaskListQueryParamService }, { token: i9.PageTitleService }, { token: i6$1.SseService }, { token: i11.TeamsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
2482
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListComponent, deps: [{ token: i1$1.ConfigService }, { token: i2.DocumentService }, { token: i3.PermissionService }, { token: i1$2.Router }, { token: TaskService }, { token: TaskListService }, { token: i4$1.TranslateService }, { token: TaskListColumnService }, { token: TaskListPaginationService }, { token: TaskListSortService }, { token: TaskListSearchService }, { token: TaskListQueryParamService }, { token: i9.PageTitleService }, { token: i9.QuickSearchStateService }, { token: i6$1.SseService }, { token: i11.TeamsApiService }, { token: QUICK_SEARCH_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
2346
2483
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TaskListComponent, isStandalone: false, selector: "valtimo-task-list", host: { listeners: { "window:popstate": "onPopState($event)" } }, providers: [
2347
2484
  TaskListService,
2348
2485
  TaskListColumnService,
2486
+ TaskListHiddenColumnsService,
2349
2487
  TaskListPaginationService,
2350
2488
  TaskListSortService,
2351
2489
  TaskListSearchService,
2352
2490
  TaskListQueryParamService,
2353
- ], viewQueries: [{ propertyName: "_taskDetail", first: true, predicate: ["taskDetail"], descendants: true }, { propertyName: "_unreadIndicator", first: true, predicate: ["unreadIndicator"], descendants: true, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n loading: loadingTasks$ | async,\n selectedTaskType: selectedTaskType$ | async,\n tasks: tasks$ | async,\n fields: fields$ | async,\n visibleTabs: visibleTabs$ | async,\n pagination: paginationForCurrentTaskTypeForList$ | async,\n taskListColumnsForCase: taskListColumnsForCase$ | async,\n sortState: sortStateForCurrentTaskType$ | async,\n overrideSortState: overrideSortState$ | async,\n searchFields: searchFields$ | async,\n loadingSearchFields: loadingSearchFields$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n noResultsMessage: noResultsMessage$ | async,\n } as obs\"\n class=\"main-content\"\n>\n <div class=\"container-fluid\">\n @if (obs.caseDefinitionKey && obs.caseDefinitionKey !== ALL_CASES_ID) {\n <ng-container\n *ngTemplateOutlet=\"\n searchFields;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n }\n\n <ng-container\n *ngTemplateOutlet=\"\n tasksList;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n tasksListLoading;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"reload()\"\n (assignmentOfTaskChanged)=\"reload()\"\n (dueDateChanged)=\"reload()\"\n (modalClosed)=\"reload()\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n\n<ng-template #configuredTabs let-selectedTaskType=\"selectedTaskType\" let-visibleTabs=\"visibleTabs\">\n <cds-tabs *ngIf=\"visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleTabs\"\n [attr.data-testid]=\"'task-list-tab-' + tab\"\n [heading]=\"'task-list.' + tab + '.title' | translate\"\n [active]=\"selectedTaskType === tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-template>\n\n<ng-template #unreadIndicator let-data=\"data\">\n <span *ngIf=\"!data.item?.isOpened\" class=\"valtimo-task-list__unread-dot\"></span>\n</ng-template>\n\n<ng-template #caseLink let-data=\"data\">\n <ng-container *ngIf=\"cachedTasks$ | async as cachedTasks\">\n <div *ngIf=\"cachedTasks[data.index].caseLocked\">\n <a\n class=\"float-left cds--link--disabled\"\n cdsLink\n href=\"javascript:void(0)\"\n ngbTooltip=\"{{ 'task-list.caseLocked' | translate }}\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ 'task-list.goToCase' | translate }}\n </a>\n </div>\n <div *ngIf=\"!cachedTasks[data.index].caseLocked\">\n <a\n class=\"float-left cds--link\"\n cdsLink\n href=\"javascript:void(0)\"\n (click)=\"openRelatedCase($event, data.index)\"\n >\n {{ 'task-list.goToCase' | translate }}\n </a>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tasksList let-obs=\"obs\">\n <valtimo-carbon-list\n *ngIf=\"!obs.loading\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [items]=\"obs.tasks\"\n [lastColumnTemplate]=\"caseLink\"\n [pagination]=\"obs.pagination\"\n\n lockedTooltipTranslationKey=\"task-list.rowLocked\"\n [sortState]=\"obs.overrideSortState || obs.sortState\"\n (paginationClicked)=\"paginationClicked($event, obs.selectedTaskType)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div tabs>\n <ng-container *ngIf=\"obs.visibleTabs\">\n <ng-container\n *ngTemplateOutlet=\"\n configuredTabs;\n context: {selectedTaskType: obs.selectedTaskType, visibleTabs: obs.visibleTabs}\n \"\n ></ng-container>\n </ng-container>\n </div>\n\n <valtimo-no-results\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n >\n </valtimo-no-results>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tasksListLoading let-obs=\"obs\">\n <valtimo-carbon-list *ngIf=\"obs.loading\" [loading]=\"true\">\n <div tabs>\n <cds-tabs *ngIf=\"!obs.visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n [heading]=\"'task-list.mine.title' | translate\"\n [active]=\"obs.selectedTaskType === 'mine'\"\n >\n </cds-tab>\n\n <cds-tab\n [heading]=\"'task-list.open.title' | translate\"\n [active]=\"obs.selectedTaskType === 'open'\"\n >\n </cds-tab>\n\n <cds-tab\n [heading]=\"'task-list.all.title' | translate\"\n [active]=\"obs.selectedTaskType === 'all'\"\n >\n </cds-tab>\n </cds-tabs>\n\n <cds-tabs *ngIf=\"obs.visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n *ngFor=\"let tab of obs.visibleTabs\"\n [heading]=\"'task-list.' + tab + '.title' | translate\"\n [active]=\"obs.selectedTaskType === tab\"\n ></cds-tab>\n </cds-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n [inputDisabled]=\"obs.loadingSearchFields\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n [setValuesSubject$]=\"setSearchFieldValuesSubject$\"\n [clearValuesSubject$]=\"clearSearchFieldValuesSubject$\"\n (doSearch)=\"search($event)\"\n >\n </valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <cds-dropdown\n class=\"case-definition-selection\"\n *ngIf=\"{\n loadingCaseListItems: loadingCaseListItems$ | async,\n caseListItems: caseListItems$ | async,\n } as obs\"\n [attr.data-testid]=\"'task-list-case-dropdown'\"\n [disabled]=\"obs.loadingCaseListItems || (obs.caseListItems || []).length === 1\"\n [skeleton]=\"obs.loadingCaseListItems\"\n (selected)=\"setCaseDefinition($event)\"\n >\n <cds-dropdown-list [items]=\"obs.caseListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [".cds--link--disabled{cursor:not-allowed;pointer-events:auto!important;outline:0!important}.case-definition-selection{display:flex;width:250px}.valtimo-task-list__unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--cds-link-primary)}::ng-deep .valtimo-task-list__unread-column{width:2rem;padding-right:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i9.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i13.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: i2$1.Link, selector: "[cdsLink], [ibmLink]", inputs: ["inline", "disabled"] }, { kind: "component", type: i2$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "directive", type: i9.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i9.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "disableSaveSearch", "inputDisabled", "externalSearchField", "canSaveSearch"], outputs: ["doSearch", "saveSearchEvent", "clearEvent"] }, { kind: "component", type: TaskDetailModalComponent, selector: "valtimo-task-detail-modal", inputs: ["modalSize", "openFromCaseManagement"], outputs: ["formSubmit", "assignmentOfTaskChanged", "dueDateChanged", "modalClosed"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2491
+ {
2492
+ provide: QUICK_SEARCH_SERVICE,
2493
+ useClass: TaskListQuickSearchService,
2494
+ },
2495
+ ], viewQueries: [{ propertyName: "_taskDetail", first: true, predicate: ["taskDetail"], descendants: true }, { propertyName: "_unreadIndicator", first: true, predicate: ["unreadIndicator"], descendants: true, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n loading: loadingTasks$ | async,\n selectedTaskType: selectedTaskType$ | async,\n tasks: tasks$ | async,\n fields: fields$ | async,\n availableFields: availableFields$ | async,\n hiddenColumns: hiddenColumns$ | async,\n visibleTabs: visibleTabs$ | async,\n pagination: paginationForCurrentTaskTypeForList$ | async,\n taskListColumnsForCase: taskListColumnsForCase$ | async,\n sortState: sortStateForCurrentTaskType$ | async,\n overrideSortState: overrideSortState$ | async,\n searchFields: searchFields$ | async,\n loadingSearchFields: loadingSearchFields$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n noResultsMessage: noResultsMessage$ | async,\n } as obs\"\n class=\"main-content\"\n>\n <div class=\"container-fluid\">\n @if (obs.caseDefinitionKey && obs.caseDefinitionKey !== ALL_CASES_ID) {\n <ng-container\n *ngTemplateOutlet=\"\n searchFields;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <div class=\"mb-3\">\n <valtimo-quick-search (quickSearchEvent)=\"onQuickSearchEvent($event)\"></valtimo-quick-search>\n </div>\n }\n\n <ng-container\n *ngTemplateOutlet=\"\n tasksList;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n tasksListLoading;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"reload()\"\n (assignmentOfTaskChanged)=\"reload()\"\n (dueDateChanged)=\"reload()\"\n (modalClosed)=\"reload()\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n\n<ng-template #configuredTabs let-selectedTaskType=\"selectedTaskType\" let-visibleTabs=\"visibleTabs\">\n <cds-tabs *ngIf=\"visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleTabs\"\n [attr.data-testid]=\"'task-list-tab-' + tab\"\n [heading]=\"'task-list.' + tab + '.title' | translate\"\n [active]=\"selectedTaskType === tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-template>\n\n<ng-template #unreadIndicator let-data=\"data\">\n <span *ngIf=\"!data.item?.isOpened\" class=\"valtimo-task-list__unread-dot\"></span>\n</ng-template>\n\n<ng-template #caseLink let-data=\"data\">\n <ng-container *ngIf=\"cachedTasks$ | async as cachedTasks\">\n <div *ngIf=\"cachedTasks[data.index].caseLocked\">\n <a\n class=\"float-left cds--link--disabled\"\n cdsLink\n href=\"javascript:void(0)\"\n ngbTooltip=\"{{ 'task-list.caseLocked' | translate }}\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ 'task-list.goToCase' | translate }}\n </a>\n </div>\n <div *ngIf=\"!cachedTasks[data.index].caseLocked\">\n <a\n class=\"float-left cds--link\"\n cdsLink\n href=\"javascript:void(0)\"\n (click)=\"openRelatedCase($event, data.index)\"\n >\n {{ 'task-list.goToCase' | translate }}\n </a>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tasksList let-obs=\"obs\">\n <valtimo-carbon-list\n *ngIf=\"!obs.loading\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [items]=\"obs.tasks\"\n [lastColumnTemplate]=\"caseLink\"\n [pagination]=\"obs.pagination\"\n\n lockedTooltipTranslationKey=\"task-list.rowLocked\"\n [sortState]=\"obs.overrideSortState || obs.sortState\"\n (paginationClicked)=\"paginationClicked($event, obs.selectedTaskType)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div tabs>\n <ng-container *ngIf=\"obs.visibleTabs\">\n <ng-container\n *ngTemplateOutlet=\"\n configuredTabs;\n context: {selectedTaskType: obs.selectedTaskType, visibleTabs: obs.visibleTabs}\n \"\n ></ng-container>\n </ng-container>\n </div>\n\n <div carbonToolbarContent>\n <valtimo-list-column-view\n *ngIf=\"obs.caseDefinitionKey && obs.caseDefinitionKey !== ALL_CASES_ID\"\n [availableFields]=\"obs.availableFields\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-list-column-view>\n </div>\n\n <valtimo-no-results\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n >\n </valtimo-no-results>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tasksListLoading let-obs=\"obs\">\n <valtimo-carbon-list *ngIf=\"obs.loading\" [loading]=\"true\">\n <div tabs>\n <cds-tabs *ngIf=\"!obs.visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n [heading]=\"'task-list.mine.title' | translate\"\n [active]=\"obs.selectedTaskType === 'mine'\"\n >\n </cds-tab>\n\n <cds-tab\n [heading]=\"'task-list.open.title' | translate\"\n [active]=\"obs.selectedTaskType === 'open'\"\n >\n </cds-tab>\n\n <cds-tab\n [heading]=\"'task-list.all.title' | translate\"\n [active]=\"obs.selectedTaskType === 'all'\"\n >\n </cds-tab>\n </cds-tabs>\n\n <cds-tabs *ngIf=\"obs.visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n *ngFor=\"let tab of obs.visibleTabs\"\n [heading]=\"'task-list.' + tab + '.title' | translate\"\n [active]=\"obs.selectedTaskType === tab\"\n ></cds-tab>\n </cds-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [inputDisabled]=\"obs.loadingSearchFields\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n [setValuesSubject$]=\"setSearchFieldValuesSubject$\"\n [clearValuesSubject$]=\"clearSearchFieldValuesSubject$\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n </valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <cds-dropdown\n class=\"case-definition-selection\"\n *ngIf=\"{\n loadingCaseListItems: loadingCaseListItems$ | async,\n caseListItems: caseListItems$ | async,\n } as obs\"\n [attr.data-testid]=\"'task-list-case-dropdown'\"\n [disabled]=\"obs.loadingCaseListItems || (obs.caseListItems || []).length === 1\"\n [skeleton]=\"obs.loadingCaseListItems\"\n (selected)=\"setCaseDefinition($event)\"\n >\n <cds-dropdown-list [items]=\"obs.caseListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [".cds--link--disabled{cursor:not-allowed;pointer-events:auto!important;outline:0!important}.case-definition-selection{display:flex;width:250px}.valtimo-task-list__unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--cds-link-primary)}::ng-deep .valtimo-task-list__unread-column{width:2rem;padding-right:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i9.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i13.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: i2$1.Link, selector: "[cdsLink], [ibmLink]", inputs: ["inline", "disabled"] }, { kind: "component", type: i2$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "directive", type: i9.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i9.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "disableSaveSearch", "inputDisabled", "externalSearchField", "canSaveSearch"], outputs: ["doSearch", "saveSearchEvent", "clearEvent"] }, { kind: "component", type: i9.QuickSearchComponent, selector: "valtimo-quick-search", outputs: ["quickSearchEvent"] }, { kind: "component", type: i9.ListColumnViewComponent, selector: "valtimo-list-column-view", inputs: ["availableFields", "hiddenColumns", "disabled"], outputs: ["viewUpdateEvent"] }, { kind: "component", type: TaskDetailModalComponent, selector: "valtimo-task-detail-modal", inputs: ["modalSize", "openFromCaseManagement"], outputs: ["formSubmit", "assignmentOfTaskChanged", "dueDateChanged", "modalClosed"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2354
2496
  }
2355
2497
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskListComponent, decorators: [{
2356
2498
  type: Component,
2357
2499
  args: [{ standalone: false, selector: 'valtimo-task-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2358
2500
  TaskListService,
2359
2501
  TaskListColumnService,
2502
+ TaskListHiddenColumnsService,
2360
2503
  TaskListPaginationService,
2361
2504
  TaskListSortService,
2362
2505
  TaskListSearchService,
2363
2506
  TaskListQueryParamService,
2364
- ], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n loading: loadingTasks$ | async,\n selectedTaskType: selectedTaskType$ | async,\n tasks: tasks$ | async,\n fields: fields$ | async,\n visibleTabs: visibleTabs$ | async,\n pagination: paginationForCurrentTaskTypeForList$ | async,\n taskListColumnsForCase: taskListColumnsForCase$ | async,\n sortState: sortStateForCurrentTaskType$ | async,\n overrideSortState: overrideSortState$ | async,\n searchFields: searchFields$ | async,\n loadingSearchFields: loadingSearchFields$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n noResultsMessage: noResultsMessage$ | async,\n } as obs\"\n class=\"main-content\"\n>\n <div class=\"container-fluid\">\n @if (obs.caseDefinitionKey && obs.caseDefinitionKey !== ALL_CASES_ID) {\n <ng-container\n *ngTemplateOutlet=\"\n searchFields;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n }\n\n <ng-container\n *ngTemplateOutlet=\"\n tasksList;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n tasksListLoading;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"reload()\"\n (assignmentOfTaskChanged)=\"reload()\"\n (dueDateChanged)=\"reload()\"\n (modalClosed)=\"reload()\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n\n<ng-template #configuredTabs let-selectedTaskType=\"selectedTaskType\" let-visibleTabs=\"visibleTabs\">\n <cds-tabs *ngIf=\"visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleTabs\"\n [attr.data-testid]=\"'task-list-tab-' + tab\"\n [heading]=\"'task-list.' + tab + '.title' | translate\"\n [active]=\"selectedTaskType === tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-template>\n\n<ng-template #unreadIndicator let-data=\"data\">\n <span *ngIf=\"!data.item?.isOpened\" class=\"valtimo-task-list__unread-dot\"></span>\n</ng-template>\n\n<ng-template #caseLink let-data=\"data\">\n <ng-container *ngIf=\"cachedTasks$ | async as cachedTasks\">\n <div *ngIf=\"cachedTasks[data.index].caseLocked\">\n <a\n class=\"float-left cds--link--disabled\"\n cdsLink\n href=\"javascript:void(0)\"\n ngbTooltip=\"{{ 'task-list.caseLocked' | translate }}\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ 'task-list.goToCase' | translate }}\n </a>\n </div>\n <div *ngIf=\"!cachedTasks[data.index].caseLocked\">\n <a\n class=\"float-left cds--link\"\n cdsLink\n href=\"javascript:void(0)\"\n (click)=\"openRelatedCase($event, data.index)\"\n >\n {{ 'task-list.goToCase' | translate }}\n </a>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tasksList let-obs=\"obs\">\n <valtimo-carbon-list\n *ngIf=\"!obs.loading\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [items]=\"obs.tasks\"\n [lastColumnTemplate]=\"caseLink\"\n [pagination]=\"obs.pagination\"\n\n lockedTooltipTranslationKey=\"task-list.rowLocked\"\n [sortState]=\"obs.overrideSortState || obs.sortState\"\n (paginationClicked)=\"paginationClicked($event, obs.selectedTaskType)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div tabs>\n <ng-container *ngIf=\"obs.visibleTabs\">\n <ng-container\n *ngTemplateOutlet=\"\n configuredTabs;\n context: {selectedTaskType: obs.selectedTaskType, visibleTabs: obs.visibleTabs}\n \"\n ></ng-container>\n </ng-container>\n </div>\n\n <valtimo-no-results\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n >\n </valtimo-no-results>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tasksListLoading let-obs=\"obs\">\n <valtimo-carbon-list *ngIf=\"obs.loading\" [loading]=\"true\">\n <div tabs>\n <cds-tabs *ngIf=\"!obs.visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n [heading]=\"'task-list.mine.title' | translate\"\n [active]=\"obs.selectedTaskType === 'mine'\"\n >\n </cds-tab>\n\n <cds-tab\n [heading]=\"'task-list.open.title' | translate\"\n [active]=\"obs.selectedTaskType === 'open'\"\n >\n </cds-tab>\n\n <cds-tab\n [heading]=\"'task-list.all.title' | translate\"\n [active]=\"obs.selectedTaskType === 'all'\"\n >\n </cds-tab>\n </cds-tabs>\n\n <cds-tabs *ngIf=\"obs.visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n *ngFor=\"let tab of obs.visibleTabs\"\n [heading]=\"'task-list.' + tab + '.title' | translate\"\n [active]=\"obs.selectedTaskType === tab\"\n ></cds-tab>\n </cds-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n [inputDisabled]=\"obs.loadingSearchFields\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n [setValuesSubject$]=\"setSearchFieldValuesSubject$\"\n [clearValuesSubject$]=\"clearSearchFieldValuesSubject$\"\n (doSearch)=\"search($event)\"\n >\n </valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <cds-dropdown\n class=\"case-definition-selection\"\n *ngIf=\"{\n loadingCaseListItems: loadingCaseListItems$ | async,\n caseListItems: caseListItems$ | async,\n } as obs\"\n [attr.data-testid]=\"'task-list-case-dropdown'\"\n [disabled]=\"obs.loadingCaseListItems || (obs.caseListItems || []).length === 1\"\n [skeleton]=\"obs.loadingCaseListItems\"\n (selected)=\"setCaseDefinition($event)\"\n >\n <cds-dropdown-list [items]=\"obs.caseListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [".cds--link--disabled{cursor:not-allowed;pointer-events:auto!important;outline:0!important}.case-definition-selection{display:flex;width:250px}.valtimo-task-list__unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--cds-link-primary)}::ng-deep .valtimo-task-list__unread-column{width:2rem;padding-right:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2365
- }], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: i2.DocumentService }, { type: i3.PermissionService }, { type: i1$2.Router }, { type: TaskService }, { type: TaskListService }, { type: i4$1.TranslateService }, { type: TaskListColumnService }, { type: TaskListPaginationService }, { type: TaskListSortService }, { type: TaskListSearchService }, { type: TaskListQueryParamService }, { type: i9.PageTitleService }, { type: i6$1.SseService }, { type: i11.TeamsApiService }], propDecorators: { _taskDetail: [{
2507
+ {
2508
+ provide: QUICK_SEARCH_SERVICE,
2509
+ useClass: TaskListQuickSearchService,
2510
+ },
2511
+ ], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n loading: loadingTasks$ | async,\n selectedTaskType: selectedTaskType$ | async,\n tasks: tasks$ | async,\n fields: fields$ | async,\n availableFields: availableFields$ | async,\n hiddenColumns: hiddenColumns$ | async,\n visibleTabs: visibleTabs$ | async,\n pagination: paginationForCurrentTaskTypeForList$ | async,\n taskListColumnsForCase: taskListColumnsForCase$ | async,\n sortState: sortStateForCurrentTaskType$ | async,\n overrideSortState: overrideSortState$ | async,\n searchFields: searchFields$ | async,\n loadingSearchFields: loadingSearchFields$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n noResultsMessage: noResultsMessage$ | async,\n } as obs\"\n class=\"main-content\"\n>\n <div class=\"container-fluid\">\n @if (obs.caseDefinitionKey && obs.caseDefinitionKey !== ALL_CASES_ID) {\n <ng-container\n *ngTemplateOutlet=\"\n searchFields;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <div class=\"mb-3\">\n <valtimo-quick-search (quickSearchEvent)=\"onQuickSearchEvent($event)\"></valtimo-quick-search>\n </div>\n }\n\n <ng-container\n *ngTemplateOutlet=\"\n tasksList;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n tasksListLoading;\n context: {\n obs: obs,\n }\n \"\n ></ng-container>\n\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"reload()\"\n (assignmentOfTaskChanged)=\"reload()\"\n (dueDateChanged)=\"reload()\"\n (modalClosed)=\"reload()\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n\n<ng-template #configuredTabs let-selectedTaskType=\"selectedTaskType\" let-visibleTabs=\"visibleTabs\">\n <cds-tabs *ngIf=\"visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleTabs\"\n [attr.data-testid]=\"'task-list-tab-' + tab\"\n [heading]=\"'task-list.' + tab + '.title' | translate\"\n [active]=\"selectedTaskType === tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-template>\n\n<ng-template #unreadIndicator let-data=\"data\">\n <span *ngIf=\"!data.item?.isOpened\" class=\"valtimo-task-list__unread-dot\"></span>\n</ng-template>\n\n<ng-template #caseLink let-data=\"data\">\n <ng-container *ngIf=\"cachedTasks$ | async as cachedTasks\">\n <div *ngIf=\"cachedTasks[data.index].caseLocked\">\n <a\n class=\"float-left cds--link--disabled\"\n cdsLink\n href=\"javascript:void(0)\"\n ngbTooltip=\"{{ 'task-list.caseLocked' | translate }}\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ 'task-list.goToCase' | translate }}\n </a>\n </div>\n <div *ngIf=\"!cachedTasks[data.index].caseLocked\">\n <a\n class=\"float-left cds--link\"\n cdsLink\n href=\"javascript:void(0)\"\n (click)=\"openRelatedCase($event, data.index)\"\n >\n {{ 'task-list.goToCase' | translate }}\n </a>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tasksList let-obs=\"obs\">\n <valtimo-carbon-list\n *ngIf=\"!obs.loading\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [items]=\"obs.tasks\"\n [lastColumnTemplate]=\"caseLink\"\n [pagination]=\"obs.pagination\"\n\n lockedTooltipTranslationKey=\"task-list.rowLocked\"\n [sortState]=\"obs.overrideSortState || obs.sortState\"\n (paginationClicked)=\"paginationClicked($event, obs.selectedTaskType)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div tabs>\n <ng-container *ngIf=\"obs.visibleTabs\">\n <ng-container\n *ngTemplateOutlet=\"\n configuredTabs;\n context: {selectedTaskType: obs.selectedTaskType, visibleTabs: obs.visibleTabs}\n \"\n ></ng-container>\n </ng-container>\n </div>\n\n <div carbonToolbarContent>\n <valtimo-list-column-view\n *ngIf=\"obs.caseDefinitionKey && obs.caseDefinitionKey !== ALL_CASES_ID\"\n [availableFields]=\"obs.availableFields\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-list-column-view>\n </div>\n\n <valtimo-no-results\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n >\n </valtimo-no-results>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tasksListLoading let-obs=\"obs\">\n <valtimo-carbon-list *ngIf=\"obs.loading\" [loading]=\"true\">\n <div tabs>\n <cds-tabs *ngIf=\"!obs.visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n [heading]=\"'task-list.mine.title' | translate\"\n [active]=\"obs.selectedTaskType === 'mine'\"\n >\n </cds-tab>\n\n <cds-tab\n [heading]=\"'task-list.open.title' | translate\"\n [active]=\"obs.selectedTaskType === 'open'\"\n >\n </cds-tab>\n\n <cds-tab\n [heading]=\"'task-list.all.title' | translate\"\n [active]=\"obs.selectedTaskType === 'all'\"\n >\n </cds-tab>\n </cds-tabs>\n\n <cds-tabs *ngIf=\"obs.visibleTabs\" type=\"contained\" class=\"valtimo-carbon-list__tabs\">\n <cds-tab\n *ngFor=\"let tab of obs.visibleTabs\"\n [heading]=\"'task-list.' + tab + '.title' | translate\"\n [active]=\"obs.selectedTaskType === tab\"\n ></cds-tab>\n </cds-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [inputDisabled]=\"obs.loadingSearchFields\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n [setValuesSubject$]=\"setSearchFieldValuesSubject$\"\n [clearValuesSubject$]=\"clearSearchFieldValuesSubject$\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n </valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <cds-dropdown\n class=\"case-definition-selection\"\n *ngIf=\"{\n loadingCaseListItems: loadingCaseListItems$ | async,\n caseListItems: caseListItems$ | async,\n } as obs\"\n [attr.data-testid]=\"'task-list-case-dropdown'\"\n [disabled]=\"obs.loadingCaseListItems || (obs.caseListItems || []).length === 1\"\n [skeleton]=\"obs.loadingCaseListItems\"\n (selected)=\"setCaseDefinition($event)\"\n >\n <cds-dropdown-list [items]=\"obs.caseListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [".cds--link--disabled{cursor:not-allowed;pointer-events:auto!important;outline:0!important}.case-definition-selection{display:flex;width:250px}.valtimo-task-list__unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--cds-link-primary)}::ng-deep .valtimo-task-list__unread-column{width:2rem;padding-right:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2512
+ }], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: i2.DocumentService }, { type: i3.PermissionService }, { type: i1$2.Router }, { type: TaskService }, { type: TaskListService }, { type: i4$1.TranslateService }, { type: TaskListColumnService }, { type: TaskListPaginationService }, { type: TaskListSortService }, { type: TaskListSearchService }, { type: TaskListQueryParamService }, { type: i9.PageTitleService }, { type: i9.QuickSearchStateService }, { type: i6$1.SseService }, { type: i11.TeamsApiService }, { type: undefined, decorators: [{
2513
+ type: Inject,
2514
+ args: [QUICK_SEARCH_SERVICE]
2515
+ }] }], propDecorators: { _taskDetail: [{
2366
2516
  type: ViewChild,
2367
2517
  args: ['taskDetail']
2368
2518
  }], _unreadIndicator: [{
@@ -2500,6 +2650,22 @@ var TaskListSearchDropdownDataProvider;
2500
2650
  * limitations under the License.
2501
2651
  */
2502
2652
 
2653
+ /*
2654
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
2655
+ *
2656
+ * Licensed under EUPL, Version 1.2 (the "License");
2657
+ * you may not use this file except in compliance with the License.
2658
+ * You may obtain a copy of the License at
2659
+ *
2660
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2661
+ *
2662
+ * Unless required by applicable law or agreed to in writing, software
2663
+ * distributed under the License is distributed on an "AS IS" basis,
2664
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2665
+ * See the License for the specific language governing permissions and
2666
+ * limitations under the License.
2667
+ */
2668
+
2503
2669
  /*
2504
2670
  * Copyright 2015-2025 Ritense BV, the Netherlands.
2505
2671
  *
@@ -2593,11 +2759,13 @@ class TaskModule {
2593
2759
  TooltipModule,
2594
2760
  ConfirmationModalModule,
2595
2761
  SearchFieldsModule,
2762
+ QuickSearchComponent,
2596
2763
  AssignmentComponent,
2597
2764
  TaskDetailContentComponent,
2598
2765
  TaskDetailIntermediateSaveComponent,
2599
2766
  SetTaskDueDateComponent,
2600
- ValtimoCdsModalDirective], exports: [TaskListComponent, TaskDetailModalComponent] }); }
2767
+ ValtimoCdsModalDirective,
2768
+ ListColumnViewComponent], exports: [TaskListComponent, TaskDetailModalComponent] }); }
2601
2769
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskModule, imports: [CommonModule,
2602
2770
  TaskRoutingModule,
2603
2771
  CarbonListModule,
@@ -2628,10 +2796,12 @@ class TaskModule {
2628
2796
  TooltipModule,
2629
2797
  ConfirmationModalModule,
2630
2798
  SearchFieldsModule,
2799
+ QuickSearchComponent,
2631
2800
  AssignmentComponent,
2632
2801
  TaskDetailContentComponent,
2633
2802
  TaskDetailIntermediateSaveComponent,
2634
- SetTaskDueDateComponent] }); }
2803
+ SetTaskDueDateComponent,
2804
+ ListColumnViewComponent] }); }
2635
2805
  }
2636
2806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TaskModule, decorators: [{
2637
2807
  type: NgModule,
@@ -2669,11 +2839,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2669
2839
  TooltipModule,
2670
2840
  ConfirmationModalModule,
2671
2841
  SearchFieldsModule,
2842
+ QuickSearchComponent,
2672
2843
  AssignmentComponent,
2673
2844
  TaskDetailContentComponent,
2674
2845
  TaskDetailIntermediateSaveComponent,
2675
2846
  SetTaskDueDateComponent,
2676
2847
  ValtimoCdsModalDirective,
2848
+ ListColumnViewComponent,
2677
2849
  ],
2678
2850
  exports: [TaskListComponent, TaskDetailModalComponent],
2679
2851
  }]
@@ -2702,5 +2874,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2702
2874
  * Generated bundle index. Do not edit.
2703
2875
  */
2704
2876
 
2705
- export { CAN_ASSIGN_TASK_PERMISSION, CAN_MODIFY_TASK_PERMISSION, CAN_VIEW_CASE_PERMISSION, CAN_VIEW_TASK_PERMISSION, SetTaskDueDateComponent, TASK_DETAIL_PERMISSION_RESOURCE, TASK_LIST_NO_SEARCH_RESULTS_MESSAGE, TaskDetailContentComponent, TaskDetailIntermediateSaveComponent, TaskDetailModalComponent, TaskIntermediateSaveService, TaskListColumnDefaultSort, TaskListColumnService, TaskListComponent, TaskListPaginationService, TaskListQueryParamService, TaskListSearchDropdownDataProvider, TaskListSearchFieldDataType, TaskListSearchFieldFieldType, TaskListSearchFieldMatchType, TaskListSearchService, TaskListService, TaskModule, TaskService };
2877
+ export { CAN_ASSIGN_TASK_PERMISSION, CAN_MODIFY_TASK_PERMISSION, CAN_VIEW_CASE_PERMISSION, CAN_VIEW_TASK_PERMISSION, SetTaskDueDateComponent, TASK_DETAIL_PERMISSION_RESOURCE, TASK_LIST_NO_SEARCH_RESULTS_MESSAGE, TaskDetailContentComponent, TaskDetailIntermediateSaveComponent, TaskDetailModalComponent, TaskIntermediateSaveService, TaskListColumnDefaultSort, TaskListColumnService, TaskListComponent, TaskListHiddenColumnsService, TaskListPaginationService, TaskListQueryParamService, TaskListQuickSearchService, TaskListSearchDropdownDataProvider, TaskListSearchFieldDataType, TaskListSearchFieldFieldType, TaskListSearchFieldMatchType, TaskListSearchService, TaskListService, TaskModule, TaskService };
2706
2878
  //# sourceMappingURL=valtimo-task.mjs.map