@alfresco/adf-process-services-cloud 9.2.0-38778559181 → 9.2.0-39158629344

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.
@@ -3,7 +3,7 @@ import { inject, Injectable, InjectionToken, EventEmitter, DestroyRef, Output, I
3
3
  import * as i3 from '@alfresco/adf-core';
4
4
  import { AppConfigService, JwtHelperService, OAuth2Service, TranslationService, DataTableSchema, UserPreferencesService, UserPreferenceValues, CustomEmptyContentTemplateDirective, ObjectDataTableAdapter, ColumnsSelectorComponent, MainMenuDataTableTemplateDirective, EmptyContentComponent, NoContentTemplateDirective, LoadingContentTemplateDirective, DataTableComponent, AdfDateFnsAdapter, MOMENT_DATE_FORMATS, AuthenticationService, StorageService, IconModule, DateFnsUtils, ADF_DATE_FORMATS, FullNamePipe, InitialUsernamePipe, FormFieldTypes, FormService, FormModel, ROW_ID_PREFIX, FormBaseComponent, ADF_DISPLAY_TEXT_SETTINGS, WidgetVisibilityService, FormExpressionService, UploadWidgetContentLinkModel, FormEvent, FormOutcomeModel, ConfirmDialogComponent, FormRulesEvent, FormOutcomeEvent, FormRendererComponent, ToolbarDividerComponent, ToolbarComponent, FormatSpacePipe, NotificationService, DownloadService, WidgetComponent, ThumbnailService, ErrorWidgetComponent, LocalizedDatePipe, UploadDirective, ContentLinkModel, getDynamicDateFieldRange, getDateFieldRange, isEmptyFieldValue, getValidationSummaryTranslationParameters, DEFAULT_DATE_FORMAT, FormFieldValueFormatterService, ADF_TYPED_VALUE_FORMATTING_ENABLED, FormFieldEvent, SelectFilterInputComponent, FormRenderingService, DynamicComponentMapper, CardViewUpdateService, ClipboardService, CardViewTextItemModel, CardViewSelectItemModel, CardViewDatetimeItemModel, CardViewDateItemModel, CardViewArrayItemModel, CardViewComponent, CustomLoadingContentTemplateDirective, isOutcomeButtonVisible, FormOutcomeNotFoundError, InplaceFormInputComponent, BaseViewerWidgetComponent, ErrorMessageModel, BaseDisplayTextWidgetComponent, ObjectDataColumn, ObjectDataRow, FormBaseModule, provideTranslations } from '@alfresco/adf-core';
5
5
  import { from, EMPTY, isObservable, of, Subject, throwError, BehaviorSubject, combineLatest, defer, merge, asapScheduler, firstValueFrom, forkJoin, catchError as catchError$1 } from 'rxjs';
6
- import { map, take, switchMap, catchError, distinctUntilChanged, filter, tap, finalize, debounceTime, shareReplay, scan, mergeMap, expand, reduce, mapTo, concatMap } from 'rxjs/operators';
6
+ import { map, take, switchMap, catchError, distinctUntilChanged, filter, tap, finalize, debounceTime, shareReplay, mergeMap, expand, reduce, mapTo, concatMap } from 'rxjs/operators';
7
7
  import { AlfrescoApiService, NodeAction, ContentNodeSelectorComponent, NodesApiService, ContentService, ContentNodeSelectorPanelService, NewVersionUploaderService, NewVersionUploaderDataAction, ContentMetadataComponent, AlfrescoViewerComponent } from '@alfresco/adf-content-services';
8
8
  import { AdfHttpClient } from '@alfresco/adf-core/api';
9
9
  import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
@@ -4193,23 +4193,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
4193
4193
  args: [{ providedIn: 'root' }]
4194
4194
  }] });
4195
4195
 
4196
- /*!
4197
- * @license
4198
- * Copyright © 2005-2026 Hyland Software, Inc. and its affiliates. All rights reserved.
4199
- *
4200
- * Licensed under the Apache License, Version 2.0 (the "License");
4201
- * you may not use this file except in compliance with the License.
4202
- * You may obtain a copy of the License at
4203
- *
4204
- * http://www.apache.org/licenses/LICENSE-2.0
4205
- *
4206
- * Unless required by applicable law or agreed to in writing, software
4207
- * distributed under the License is distributed on an "AS IS" BASIS,
4208
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4209
- * See the License for the specific language governing permissions and
4210
- * limitations under the License.
4211
- */
4212
-
4213
4196
  /*!
4214
4197
  * @license
4215
4198
  * Copyright © 2005-2026 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -4393,259 +4376,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
4393
4376
  * limitations under the License.
4394
4377
  */
4395
4378
 
4396
- /*!
4397
- * @license
4398
- * Copyright © 2005-2026 Hyland Software, Inc. and its affiliates. All rights reserved.
4399
- *
4400
- * Licensed under the Apache License, Version 2.0 (the "License");
4401
- * you may not use this file except in compliance with the License.
4402
- * You may obtain a copy of the License at
4403
- *
4404
- * http://www.apache.org/licenses/LICENSE-2.0
4405
- *
4406
- * Unless required by applicable law or agreed to in writing, software
4407
- * distributed under the License is distributed on an "AS IS" BASIS,
4408
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4409
- * See the License for the specific language governing permissions and
4410
- * limitations under the License.
4411
- */
4412
- const PUSHED_COUNTER_SUBSCRIPTIONS_BY_ENTITY_TYPE = {
4413
- [FilterCounterEntityType.TASK]: [
4414
- {
4415
- filterKey: 'my-tasks',
4416
- graphQlFieldName: 'assignedTasks',
4417
- subscriptionQuery: `
4418
- subscription {
4419
- assignedTasks {
4420
- count
4421
- asOf
4422
- }
4423
- }
4424
- `
4425
- },
4426
- {
4427
- filterKey: 'queued-tasks',
4428
- graphQlFieldName: 'queuedTasks',
4429
- subscriptionQuery: `
4430
- subscription {
4431
- queuedTasks {
4432
- count
4433
- asOf
4434
- }
4435
- }
4436
- `
4437
- }
4438
- ],
4439
- [FilterCounterEntityType.PROCESS_INSTANCE]: [
4440
- {
4441
- filterKey: 'running-processes',
4442
- graphQlFieldName: 'runningProcesses',
4443
- subscriptionQuery: `
4444
- subscription {
4445
- runningProcesses {
4446
- count
4447
- asOf
4448
- }
4449
- }
4450
- `
4451
- }
4452
- ]
4453
- };
4454
- class QueryPushedFilterCountersCloudService extends BaseCloudService {
4455
- constructor() {
4456
- super(...arguments);
4457
- this.notificationCloudService = inject(NotificationCloudService);
4458
- this.taskListCloudService = inject(TaskListCloudService);
4459
- this.processListCloudService = inject(ProcessListCloudService);
4460
- this.injector = inject(Injector);
4461
- this.taskFiltersPerApp = new Map();
4462
- this.processFiltersPerApp = new Map();
4463
- this.recountTriggerPerApp = new Map();
4464
- this.entityTypeCountersPerApp = new Map();
4465
- this.activeEntityTypesPerApp = new Map();
4466
- this.activeSubscriberCountPerEntityType = new Map();
4467
- this.initialCountersPerApp = new Map();
4468
- this.applyCounterUpdate = (entries, event) => {
4469
- if (event.source === 'initialFetch') {
4470
- const mergedEntries = { ...entries };
4471
- Object.entries(event.counters).forEach(([filterKey, count]) => {
4472
- if (mergedEntries[filterKey]?.source === 'webSocketPush') {
4473
- return;
4474
- }
4475
- mergedEntries[filterKey] = { count, source: 'initialFetch' };
4476
- });
4477
- return mergedEntries;
4478
- }
4479
- const existingEntry = entries[event.filterKey];
4480
- const isOutOfOrderPush = existingEntry?.source === 'webSocketPush' &&
4481
- existingEntry.asOf !== undefined &&
4482
- event.asOf !== undefined &&
4483
- event.asOf < existingEntry.asOf;
4484
- if (isOutOfOrderPush) {
4485
- return entries;
4486
- }
4487
- return { ...entries, [event.filterKey]: { count: event.count, asOf: event.asOf, source: 'webSocketPush' } };
4488
- };
4489
- }
4490
- getTaskFilters(appName) {
4491
- return this.shareFilters(this.taskFiltersPerApp, appName, () => this.injector.get(TaskFilterCloudService).getTaskListFilters(appName));
4492
- }
4493
- getProcessFilters(appName) {
4494
- return this.shareFilters(this.processFiltersPerApp, appName, () => this.injector.get(ProcessFilterCloudService).getProcessFilters(appName));
4495
- }
4496
- getFilterCounters(appName, entityType) {
4497
- if (!appName) {
4498
- return EMPTY;
4499
- }
4500
- return defer(() => {
4501
- this.activateEntityType(appName, entityType);
4502
- return this.watchEntityTypeCounters(appName, entityType);
4503
- }).pipe(map((counters) => ({ counters })), finalize(() => this.deactivateEntityType(appName, entityType)));
4504
- }
4505
- refreshFilterCounters(appName) {
4506
- this.recountTrigger(appName).next();
4507
- }
4508
- getEngineEvents(_appName, _entityType) {
4509
- return EMPTY;
4510
- }
4511
- watchEntityTypeCounters(appName, entityType) {
4512
- const key = this.entityTypeKey(appName, entityType);
4513
- let entityTypeCounters$ = this.entityTypeCountersPerApp.get(key);
4514
- if (!entityTypeCounters$) {
4515
- const initialCountersEvents$ = this.initialCounters(appName).pipe(map((counters) => ({
4516
- source: 'initialFetch',
4517
- counters: counters[entityType] ?? {}
4518
- })));
4519
- const pushedCounterEvents$ = this.pushedCounterUpdates(appName, entityType).pipe(map(({ filterKey, count, asOf }) => ({
4520
- source: 'webSocketPush',
4521
- filterKey,
4522
- count,
4523
- asOf
4524
- })));
4525
- entityTypeCounters$ = merge(initialCountersEvents$, pushedCounterEvents$).pipe(scan(this.applyCounterUpdate, {}), map((entries) => this.toEntityTypeCounters(entries)), shareReplay({ bufferSize: 1, refCount: true }));
4526
- this.entityTypeCountersPerApp.set(key, entityTypeCounters$);
4527
- }
4528
- return entityTypeCounters$;
4529
- }
4530
- activateEntityType(appName, entityType) {
4531
- const key = this.entityTypeKey(appName, entityType);
4532
- const activeSubscriberCount = (this.activeSubscriberCountPerEntityType.get(key) ?? 0) + 1;
4533
- this.activeSubscriberCountPerEntityType.set(key, activeSubscriberCount);
4534
- if (activeSubscriberCount > 1) {
4535
- return;
4536
- }
4537
- const activeEntityTypes = this.activeEntityTypes(appName);
4538
- const joinsAlreadyActiveEntityTypes = activeEntityTypes.size > 0;
4539
- activeEntityTypes.add(entityType);
4540
- if (joinsAlreadyActiveEntityTypes) {
4541
- this.refreshFilterCounters(appName);
4542
- }
4543
- }
4544
- deactivateEntityType(appName, entityType) {
4545
- const key = this.entityTypeKey(appName, entityType);
4546
- const activeSubscriberCount = (this.activeSubscriberCountPerEntityType.get(key) ?? 1) - 1;
4547
- if (activeSubscriberCount > 0) {
4548
- this.activeSubscriberCountPerEntityType.set(key, activeSubscriberCount);
4549
- return;
4550
- }
4551
- this.activeSubscriberCountPerEntityType.delete(key);
4552
- this.activeEntityTypes(appName).delete(entityType);
4553
- }
4554
- activeEntityTypes(appName) {
4555
- let activeEntityTypes = this.activeEntityTypesPerApp.get(appName);
4556
- if (!activeEntityTypes) {
4557
- activeEntityTypes = new Set();
4558
- this.activeEntityTypesPerApp.set(appName, activeEntityTypes);
4559
- }
4560
- return activeEntityTypes;
4561
- }
4562
- initialCounters(appName) {
4563
- let initialCounters$ = this.initialCountersPerApp.get(appName);
4564
- if (!initialCounters$) {
4565
- initialCounters$ = merge(of(undefined), this.recountTrigger(appName)).pipe(debounceTime(0), switchMap(() => this.fetchActiveEntityTypesCounters(appName)), shareReplay({ bufferSize: 1, refCount: true }));
4566
- this.initialCountersPerApp.set(appName, initialCounters$);
4567
- }
4568
- return initialCounters$;
4569
- }
4570
- pushedCounterUpdates(appName, entityType) {
4571
- return merge(...PUSHED_COUNTER_SUBSCRIPTIONS_BY_ENTITY_TYPE[entityType].map((subscription) => this.pushedCounterUpdate(appName, subscription)));
4572
- }
4573
- pushedCounterUpdate(appName, subscription) {
4574
- return defer(() => this.notificationCloudService.makeGQLQuery(appName, subscription.subscriptionQuery)).pipe(map((result) => result.data?.[subscription.graphQlFieldName]), filter((value) => value?.count !== undefined), map((value) => ({ filterKey: subscription.filterKey, count: value.count, asOf: value.asOf })), catchError(() => EMPTY));
4575
- }
4576
- toEntityTypeCounters(entries) {
4577
- return Object.fromEntries(Object.entries(entries).map(([filterKey, entry]) => [filterKey, entry.count]));
4578
- }
4579
- fetchActiveEntityTypesCounters(appName) {
4580
- const activeEntityTypes = this.activeEntityTypes(appName);
4581
- return combineLatest({
4582
- [FilterCounterEntityType.TASK]: activeEntityTypes.has(FilterCounterEntityType.TASK)
4583
- ? this.getTaskFilters(appName).pipe(catchError(() => of([])))
4584
- : of([]),
4585
- [FilterCounterEntityType.PROCESS_INSTANCE]: activeEntityTypes.has(FilterCounterEntityType.PROCESS_INSTANCE)
4586
- ? this.getProcessFilters(appName).pipe(catchError(() => of([])))
4587
- : of([])
4588
- }).pipe(take(1), switchMap((filters) => this.fetchFilterCounters(appName, this.buildRequest(filters))), catchError(() => EMPTY));
4589
- }
4590
- buildRequest(filters) {
4591
- const request = {};
4592
- const taskQueries = this.buildQueries(filters[FilterCounterEntityType.TASK], (taskFilter) => this.taskListCloudService.buildQueryData(new TaskFilterCloudAdapter(taskFilter)));
4593
- if (taskQueries.length) {
4594
- request[FilterCounterEntityType.TASK] = taskQueries;
4595
- }
4596
- const processQueries = this.buildQueries(filters[FilterCounterEntityType.PROCESS_INSTANCE], (processFilter) => this.processListCloudService.buildQueryData(new ProcessFilterCloudAdapter(processFilter)));
4597
- if (processQueries.length) {
4598
- request[FilterCounterEntityType.PROCESS_INSTANCE] = processQueries;
4599
- }
4600
- return request;
4601
- }
4602
- buildQueries(filters, buildQuery) {
4603
- return (filters ?? [])
4604
- .filter((candidate) => candidate?.showCounter && !!candidate?.key)
4605
- .map((candidate) => {
4606
- try {
4607
- return { ...buildQuery(candidate), requestId: candidate.key };
4608
- }
4609
- catch {
4610
- return undefined;
4611
- }
4612
- })
4613
- .filter((query) => !!query);
4614
- }
4615
- fetchFilterCounters(appName, request) {
4616
- if (!Object.keys(request).length) {
4617
- return of({});
4618
- }
4619
- const queryUrl = `${this.getBasePath(appName)}/query/v1/count`;
4620
- return this.post(queryUrl, request).pipe(map((counters) => counters || {}));
4621
- }
4622
- shareFilters(cache, appName, loadFilters) {
4623
- let filters$ = cache.get(appName);
4624
- if (!filters$) {
4625
- filters$ = defer(loadFilters).pipe(shareReplay({ bufferSize: 1, refCount: true }));
4626
- cache.set(appName, filters$);
4627
- }
4628
- return filters$;
4629
- }
4630
- recountTrigger(appName) {
4631
- let recountTrigger$ = this.recountTriggerPerApp.get(appName);
4632
- if (!recountTrigger$) {
4633
- recountTrigger$ = new Subject();
4634
- this.recountTriggerPerApp.set(appName, recountTrigger$);
4635
- }
4636
- return recountTrigger$;
4637
- }
4638
- entityTypeKey(appName, entityType) {
4639
- return `${appName}|${entityType}`;
4640
- }
4641
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: QueryPushedFilterCountersCloudService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4642
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: QueryPushedFilterCountersCloudService, providedIn: 'root' }); }
4643
- }
4644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: QueryPushedFilterCountersCloudService, decorators: [{
4645
- type: Injectable,
4646
- args: [{ providedIn: 'root' }]
4647
- }] });
4648
-
4649
4379
  /*!
4650
4380
  * @license
4651
4381
  * Copyright © 2005-2026 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -4988,13 +4718,6 @@ class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
4988
4718
  *
4989
4719
  */
4990
4720
  this.searchApiMethod = 'GET';
4991
- /**
4992
- * (optional) Resolves the initial counters of the filters with a single call to
4993
- * `POST /query/v1/count`, then keeps the counters of the `my-tasks` and `queued-tasks`
4994
- * filters in sync with the counts pushed by the engine over the web socket, without any
4995
- * further call to the count endpoint. Both filter components have to use the same value.
4996
- */
4997
- this.queryPushedCounter = false;
4998
4721
  /** Emitted when a filter is being selected based on the filterParam input. */
4999
4722
  this.filterSelected = new EventEmitter();
5000
4723
  /** Emitted when a filter is being clicked from the UI. */
@@ -5010,15 +4733,11 @@ class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
5010
4733
  this.taskFilterCloudService = inject(TaskFilterCloudService);
5011
4734
  this.taskListCloudService = inject(TaskListCloudService);
5012
4735
  this.filterCountersCloudService = inject(FilterCountersCloudService);
5013
- this.queryPushedFilterCountersCloudService = inject(QueryPushedFilterCountersCloudService);
5014
4736
  this.translationService = inject(TranslationService);
5015
4737
  this.appConfigService = inject(AppConfigService);
5016
4738
  this.activatedRoute = inject(ActivatedRoute);
5017
4739
  this.currentRouteFilterId = toSignal(this.activatedRoute.queryParamMap.pipe(map((params) => params.get('filterId'))));
5018
4740
  }
5019
- get filterCountersService() {
5020
- return this.queryPushedCounter ? this.queryPushedFilterCountersCloudService : this.filterCountersCloudService;
5021
- }
5022
4741
  ngOnInit() {
5023
4742
  this.enableNotifications = this.appConfigService.get('notifications', true);
5024
4743
  this.notificationDebounceTime = this.appConfigService.get('notificationDebounceTime', 3000);
@@ -5037,10 +4756,6 @@ class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
5037
4756
  else if (filter && filter.currentValue !== filter.previousValue) {
5038
4757
  this.selectFilterAndEmit(filter.currentValue);
5039
4758
  }
5040
- else if (changes['queryPushedCounter'] && !changes['queryPushedCounter'].firstChange && this.filtersLoadedFor) {
5041
- this.initFilterCounterNotifications();
5042
- this.loadFilterCounters(this.filtersLoadedFor);
5043
- }
5044
4759
  }
5045
4760
  /**
5046
4761
  * Loads the filter list filtered by appName
@@ -5049,7 +4764,7 @@ class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
5049
4764
  */
5050
4765
  getFilters(appName) {
5051
4766
  this.filtersLoadedFor = appName;
5052
- const filters$ = this.filterCountersService.getTaskFilters(appName);
4767
+ const filters$ = this.filterCountersCloudService.getTaskFilters(appName);
5053
4768
  this.filters$ = filters$.pipe(catchError(() => of([])));
5054
4769
  filters$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
5055
4770
  next: (res) => {
@@ -5101,9 +4816,8 @@ class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
5101
4816
  if (!this.appName) {
5102
4817
  return;
5103
4818
  }
5104
- this.notificationsSubscription?.unsubscribe();
5105
4819
  if (this.enableNotifications) {
5106
- this.notificationsSubscription = this.filterCountersService
4820
+ this.filterCountersCloudService
5107
4821
  .getEngineEvents(this.appName, FilterCounterEntityType.TASK)
5108
4822
  .pipe(takeUntilDestroyed(this.destroyRef))
5109
4823
  .subscribe((events) => {
@@ -5206,7 +4920,7 @@ class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
5206
4920
  this.countersSubscription?.unsubscribe();
5207
4921
  this.countersSubscription = combineLatest([
5208
4922
  this.countersFilters$.pipe(catchError(() => of([]))),
5209
- this.filterCountersService.getFilterCounters(appName, FilterCounterEntityType.TASK)
4923
+ this.filterCountersCloudService.getFilterCounters(appName, FilterCounterEntityType.TASK)
5210
4924
  ])
5211
4925
  .pipe(takeUntilDestroyed(this.destroyRef))
5212
4926
  .subscribe(([, { counters }]) => {
@@ -5241,18 +4955,16 @@ class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
5241
4955
  this.currentFilter = undefined;
5242
4956
  }
5243
4957
  refreshFilterCounter() {
5244
- this.filterCountersService.refreshFilterCounters(this.appName);
4958
+ this.filterCountersCloudService.refreshFilterCounters(this.appName);
5245
4959
  }
5246
4960
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: TaskFiltersCloudComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5247
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: TaskFiltersCloudComponent, isStandalone: true, selector: "adf-cloud-task-filters", inputs: { searchApiMethod: "searchApiMethod", queryPushedCounter: "queryPushedCounter" }, outputs: { filterSelected: "filterSelected", filterClicked: "filterClicked", filterCounterUpdated: "filterCounterUpdated", updatedFilter: "updatedFilter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (filters$ | async; as filterList) {\n <mat-nav-list>\n @for (filter of filterList; track filter.id) {\n <a mat-list-item\n [activated]=\"filter.id === currentRouteFilterId()\"\n [routerLink]=\"[TASKS_ROUTE]\"\n [queryParams]=\"{ filterId: filter.id }\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n class=\"adf-task-filters__entry\"\n [class.adf-active]=\"filter.id === currentRouteFilterId()\"\n [attr.aria-current]=\"filter.id === currentRouteFilterId() ? 'page' : null\"\n [id]=\"filter.id\"\n [title]=\"filter.name | translate\"\n [attr.aria-label]=\"filter.name | translate\"\n (click)=\"onFilterClick(filter)\">\n <span matListItemTitle>\n {{ filter.name | translate }}\n </span>\n @if (showIcons) {\n <mat-icon matListItemIcon\n data-automation-id=\"adf-filter-icon\"\n [adf-icon]=\"filter.icon\"\n aria-hidden=\"true\" />\n }\n @if (counters[filter.key]) {\n <span matListItemMeta\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-task-filters__entry-counter\"\n [class.adf-active]=\"wasFilterUpdated(filter.key)\"\n >\n {{ counters[filter.key] }}\n </span>\n }\n </a>\n }\n </mat-nav-list>\n} @else {\n <div class=\"adf-app-list-spinner\">\n <mat-spinner [attr.aria-label]=\"'ADF_CLOUD_TASK_LIST.LOADING' | translate\" aria-live=\"polite\" />\n </div>\n}\n", styles: [".adf-task-filters__entry-counter{padding:0 5px;border-radius:var(--mat-sys-corner-large)}.adf-task-filters__entry-counter.adf-active{background-color:var(--mat-sys-secondary);--mat-list-list-item-trailing-supporting-text-color: var(--mat-sys-on-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$1.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2$1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "mat-icon[adf-icon]", inputs: ["adf-icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4961
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: TaskFiltersCloudComponent, isStandalone: true, selector: "adf-cloud-task-filters", inputs: { searchApiMethod: "searchApiMethod" }, outputs: { filterSelected: "filterSelected", filterClicked: "filterClicked", filterCounterUpdated: "filterCounterUpdated", updatedFilter: "updatedFilter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (filters$ | async; as filterList) {\n <mat-nav-list>\n @for (filter of filterList; track filter.id) {\n <a mat-list-item\n [activated]=\"filter.id === currentRouteFilterId()\"\n [routerLink]=\"[TASKS_ROUTE]\"\n [queryParams]=\"{ filterId: filter.id }\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n class=\"adf-task-filters__entry\"\n [class.adf-active]=\"filter.id === currentRouteFilterId()\"\n [attr.aria-current]=\"filter.id === currentRouteFilterId() ? 'page' : null\"\n [id]=\"filter.id\"\n [title]=\"filter.name | translate\"\n [attr.aria-label]=\"filter.name | translate\"\n (click)=\"onFilterClick(filter)\">\n <span matListItemTitle>\n {{ filter.name | translate }}\n </span>\n @if (showIcons) {\n <mat-icon matListItemIcon\n data-automation-id=\"adf-filter-icon\"\n [adf-icon]=\"filter.icon\"\n aria-hidden=\"true\" />\n }\n @if (counters[filter.key]) {\n <span matListItemMeta\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-task-filters__entry-counter\"\n [class.adf-active]=\"wasFilterUpdated(filter.key)\"\n >\n {{ counters[filter.key] }}\n </span>\n }\n </a>\n }\n </mat-nav-list>\n} @else {\n <div class=\"adf-app-list-spinner\">\n <mat-spinner [attr.aria-label]=\"'ADF_CLOUD_TASK_LIST.LOADING' | translate\" aria-live=\"polite\" />\n </div>\n}\n", styles: [".adf-task-filters__entry-counter{padding:0 5px;border-radius:var(--mat-sys-corner-large)}.adf-task-filters__entry-counter.adf-active{background-color:var(--mat-sys-secondary);--mat-list-list-item-trailing-supporting-text-color: var(--mat-sys-on-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$1.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2$1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "mat-icon[adf-icon]", inputs: ["adf-icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5248
4962
  }
5249
4963
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: TaskFiltersCloudComponent, decorators: [{
5250
4964
  type: Component,
5251
4965
  args: [{ selector: 'adf-cloud-task-filters', imports: [AsyncPipe, MatProgressSpinnerModule, TranslatePipe, MatListModule, RouterLink, IconModule], template: "@if (filters$ | async; as filterList) {\n <mat-nav-list>\n @for (filter of filterList; track filter.id) {\n <a mat-list-item\n [activated]=\"filter.id === currentRouteFilterId()\"\n [routerLink]=\"[TASKS_ROUTE]\"\n [queryParams]=\"{ filterId: filter.id }\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n class=\"adf-task-filters__entry\"\n [class.adf-active]=\"filter.id === currentRouteFilterId()\"\n [attr.aria-current]=\"filter.id === currentRouteFilterId() ? 'page' : null\"\n [id]=\"filter.id\"\n [title]=\"filter.name | translate\"\n [attr.aria-label]=\"filter.name | translate\"\n (click)=\"onFilterClick(filter)\">\n <span matListItemTitle>\n {{ filter.name | translate }}\n </span>\n @if (showIcons) {\n <mat-icon matListItemIcon\n data-automation-id=\"adf-filter-icon\"\n [adf-icon]=\"filter.icon\"\n aria-hidden=\"true\" />\n }\n @if (counters[filter.key]) {\n <span matListItemMeta\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-task-filters__entry-counter\"\n [class.adf-active]=\"wasFilterUpdated(filter.key)\"\n >\n {{ counters[filter.key] }}\n </span>\n }\n </a>\n }\n </mat-nav-list>\n} @else {\n <div class=\"adf-app-list-spinner\">\n <mat-spinner [attr.aria-label]=\"'ADF_CLOUD_TASK_LIST.LOADING' | translate\" aria-live=\"polite\" />\n </div>\n}\n", styles: [".adf-task-filters__entry-counter{padding:0 5px;border-radius:var(--mat-sys-corner-large)}.adf-task-filters__entry-counter.adf-active{background-color:var(--mat-sys-secondary);--mat-list-list-item-trailing-supporting-text-color: var(--mat-sys-on-secondary)}\n"] }]
5252
4966
  }], propDecorators: { searchApiMethod: [{
5253
4967
  type: Input
5254
- }], queryPushedCounter: [{
5255
- type: Input
5256
4968
  }], filterSelected: [{
5257
4969
  type: Output
5258
4970
  }], filterClicked: [{
@@ -8062,7 +7774,7 @@ const isDropdownCloudValidValue = (value, options) => !!value && isDropdownCloud
8062
7774
  const isDropdownCloudRestField = (field) => field?.optionType === 'rest' && !!field?.restUrl;
8063
7775
  const isDropdownCloudLinkedField = (field) => !!field?.rule?.ruleOn;
8064
7776
  const getOptionsFromPath = (data, path, id, label) => {
8065
- const properties = path.split('.').map((property) => property.trim());
7777
+ const properties = path.split('.');
8066
7778
  const currentProperty = properties.shift();
8067
7779
  if (data === null || typeof data !== 'object' || !Object.hasOwn(data, currentProperty)) {
8068
7780
  return { options: [], errors: [`${currentProperty} not found in ${JSON.stringify(data)}`] };
@@ -8080,11 +7792,7 @@ const resolveDropdownCloudVariableOptions = (field, variableConfig = field?.vari
8080
7792
  if (data == null) {
8081
7793
  return null;
8082
7794
  }
8083
- const optionsPath = variableConfig?.optionsPath ?? DEFAULT_VARIABLE_OPTION_PATH;
8084
- if (!optionsPath.trim()) {
8085
- return { options: [], errors: ['Options path is empty'] };
8086
- }
8087
- return getOptionsFromPath(data, optionsPath, variableConfig?.optionsId ?? DEFAULT_VARIABLE_OPTION_ID, variableConfig?.optionsLabel ?? DEFAULT_VARIABLE_OPTION_LABEL);
7795
+ return getOptionsFromPath(data, variableConfig?.optionsPath ?? DEFAULT_VARIABLE_OPTION_PATH, variableConfig?.optionsId ?? DEFAULT_VARIABLE_OPTION_ID, variableConfig?.optionsLabel ?? DEFAULT_VARIABLE_OPTION_LABEL);
8088
7796
  };
8089
7797
 
8090
7798
  /*!
@@ -12282,13 +11990,6 @@ class ProcessFiltersCloudComponent {
12282
11990
  *
12283
11991
  */
12284
11992
  this.searchApiMethod = 'GET';
12285
- /**
12286
- * (optional) Resolves the initial counters of the filters with a single call to
12287
- * `POST /query/v1/count`, then keeps the counter of the `running-processes` filter in sync
12288
- * with the counts pushed by the engine over the web socket, without any further call to the
12289
- * count endpoint. Both filter components have to use the same value.
12290
- */
12291
- this.queryPushedCounter = false;
12292
11993
  /** (optional) Toggles showing an icon by the side of each filter */
12293
11994
  this.showIcons = false;
12294
11995
  /** Emitted when a filter is being selected based on the filterParam input. */
@@ -12313,13 +12014,9 @@ class ProcessFiltersCloudComponent {
12313
12014
  this.appConfigService = inject(AppConfigService);
12314
12015
  this.processListCloudService = inject(ProcessListCloudService);
12315
12016
  this.filterCountersCloudService = inject(FilterCountersCloudService);
12316
- this.queryPushedFilterCountersCloudService = inject(QueryPushedFilterCountersCloudService);
12317
12017
  this.activatedRoute = inject(ActivatedRoute);
12318
12018
  this.currentRouteFilterId = toSignal(this.activatedRoute.queryParamMap.pipe(map((params) => params.get('filterId'))));
12319
12019
  }
12320
- get filterCountersService() {
12321
- return this.queryPushedCounter ? this.queryPushedFilterCountersCloudService : this.filterCountersCloudService;
12322
- }
12323
12020
  ngOnInit() {
12324
12021
  this.enableNotifications = this.appConfigService.get('notifications', true);
12325
12022
  this.notificationDebounceTime = this.appConfigService.get('notificationDebounceTime', 3000);
@@ -12337,9 +12034,6 @@ class ProcessFiltersCloudComponent {
12337
12034
  else if (filter && filter.currentValue !== filter.previousValue) {
12338
12035
  this.selectFilterAndEmit(filter.currentValue);
12339
12036
  }
12340
- else if (changes['queryPushedCounter'] && !changes['queryPushedCounter'].firstChange && this.filtersLoadedFor) {
12341
- this.loadFilterCounters(this.filtersLoadedFor);
12342
- }
12343
12037
  }
12344
12038
  /**
12345
12039
  * Fetch the filter list based on appName
@@ -12348,7 +12042,7 @@ class ProcessFiltersCloudComponent {
12348
12042
  */
12349
12043
  getFilters(appName) {
12350
12044
  this.filtersLoadedFor = appName;
12351
- const filters$ = this.filterCountersService.getProcessFilters(appName);
12045
+ const filters$ = this.filterCountersCloudService.getProcessFilters(appName);
12352
12046
  this.filters$ = filters$.pipe(catchError(() => of([])));
12353
12047
  filters$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
12354
12048
  next: (res) => {
@@ -12532,7 +12226,7 @@ class ProcessFiltersCloudComponent {
12532
12226
  this.countersSubscription?.unsubscribe();
12533
12227
  this.countersSubscription = combineLatest([
12534
12228
  this.countersFilters$.pipe(catchError(() => of([]))),
12535
- this.filterCountersService.getFilterCounters(appName, FilterCounterEntityType.PROCESS_INSTANCE)
12229
+ this.filterCountersCloudService.getFilterCounters(appName, FilterCounterEntityType.PROCESS_INSTANCE)
12536
12230
  ])
12537
12231
  .pipe(takeUntilDestroyed(this.destroyRef))
12538
12232
  .subscribe(([, { counters }]) => {
@@ -12555,7 +12249,7 @@ class ProcessFiltersCloudComponent {
12555
12249
  });
12556
12250
  }
12557
12251
  refreshFilterCounter() {
12558
- this.filterCountersService.refreshFilterCounters(this.appName);
12252
+ this.filterCountersCloudService.refreshFilterCounters(this.appName);
12559
12253
  }
12560
12254
  fetchProcessFilterCounter(filter) {
12561
12255
  return this.searchApiMethod === 'POST'
@@ -12563,7 +12257,7 @@ class ProcessFiltersCloudComponent {
12563
12257
  : this.processListCloudService.getProcessCounter(filter.appName, filter.status);
12564
12258
  }
12565
12259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ProcessFiltersCloudComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12566
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: ProcessFiltersCloudComponent, isStandalone: true, selector: "adf-cloud-process-filters", inputs: { appName: "appName", searchApiMethod: "searchApiMethod", queryPushedCounter: "queryPushedCounter", filterParam: "filterParam", showIcons: "showIcons" }, outputs: { filterSelected: "filterSelected", filterClicked: "filterClicked", success: "success", error: "error", updatedFilter: "updatedFilter" }, usesOnChanges: true, ngImport: i0, template: "@if (filters$ | async; as filterList) {\n <mat-nav-list>\n @for (filter of filterList; track filter.id) {\n <a mat-list-item\n [activated]=\"filter.id === currentRouteFilterId()\"\n [routerLink]=\"[PROCESSES_ROUTE]\"\n [queryParams]=\"{ filterId: filter.id }\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n class=\"adf-process-filters__entry\"\n [class.adf-active]=\"filter.id === currentRouteFilterId()\"\n [attr.aria-current]=\"filter.id === currentRouteFilterId() ? 'page' : null\"\n [id]=\"filter.id\"\n [title]=\"filter.name ?? '' | translate\"\n [attr.aria-label]=\"filter.name ?? '' | translate\"\n (click)=\"onFilterClick(filter)\">\n <span matListItemTitle>\n {{ filter.name ?? '' | translate }}\n </span>\n @if (showIcons) {\n <mat-icon matListItemIcon\n data-automation-id=\"adf-filter-icon\"\n [adf-icon]=\"filter.icon ?? ''\"\n aria-hidden=\"true\" />\n }\n @if (counters[filter.key ?? '']) {\n <span matListItemMeta\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-process-filters__entry-counter\"\n [class.adf-active]=\"isFilterUpdated(filter.key ?? '')\"\n >\n {{ counters[filter.key ?? ''] }}\n </span>\n }\n </a>\n }\n </mat-nav-list>\n} @else {\n <div class=\"adf-app-list-spinner\">\n <mat-spinner [attr.aria-label]=\"'ADF_CLOUD_PROCESS_LIST.LOADING' | translate\" aria-live=\"polite\" />\n </div>\n}\n\n", styles: [".adf-process-filters__entry-counter{padding:0 5px;border-radius:var(--mat-sys-corner-large)}.adf-process-filters__entry-counter.adf-active{background-color:var(--mat-sys-secondary);--mat-list-list-item-trailing-supporting-text-color: var(--mat-sys-on-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: IconModule }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "mat-icon[adf-icon]", inputs: ["adf-icon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$1.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2$1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
12260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: ProcessFiltersCloudComponent, isStandalone: true, selector: "adf-cloud-process-filters", inputs: { appName: "appName", searchApiMethod: "searchApiMethod", filterParam: "filterParam", showIcons: "showIcons" }, outputs: { filterSelected: "filterSelected", filterClicked: "filterClicked", success: "success", error: "error", updatedFilter: "updatedFilter" }, usesOnChanges: true, ngImport: i0, template: "@if (filters$ | async; as filterList) {\n <mat-nav-list>\n @for (filter of filterList; track filter.id) {\n <a mat-list-item\n [activated]=\"filter.id === currentRouteFilterId()\"\n [routerLink]=\"[PROCESSES_ROUTE]\"\n [queryParams]=\"{ filterId: filter.id }\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n class=\"adf-process-filters__entry\"\n [class.adf-active]=\"filter.id === currentRouteFilterId()\"\n [attr.aria-current]=\"filter.id === currentRouteFilterId() ? 'page' : null\"\n [id]=\"filter.id\"\n [title]=\"filter.name ?? '' | translate\"\n [attr.aria-label]=\"filter.name ?? '' | translate\"\n (click)=\"onFilterClick(filter)\">\n <span matListItemTitle>\n {{ filter.name ?? '' | translate }}\n </span>\n @if (showIcons) {\n <mat-icon matListItemIcon\n data-automation-id=\"adf-filter-icon\"\n [adf-icon]=\"filter.icon ?? ''\"\n aria-hidden=\"true\" />\n }\n @if (counters[filter.key ?? '']) {\n <span matListItemMeta\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-process-filters__entry-counter\"\n [class.adf-active]=\"isFilterUpdated(filter.key ?? '')\"\n >\n {{ counters[filter.key ?? ''] }}\n </span>\n }\n </a>\n }\n </mat-nav-list>\n} @else {\n <div class=\"adf-app-list-spinner\">\n <mat-spinner [attr.aria-label]=\"'ADF_CLOUD_PROCESS_LIST.LOADING' | translate\" aria-live=\"polite\" />\n </div>\n}\n\n", styles: [".adf-process-filters__entry-counter{padding:0 5px;border-radius:var(--mat-sys-corner-large)}.adf-process-filters__entry-counter.adf-active{background-color:var(--mat-sys-secondary);--mat-list-list-item-trailing-supporting-text-color: var(--mat-sys-on-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: IconModule }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "mat-icon[adf-icon]", inputs: ["adf-icon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$1.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2$1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
12567
12261
  }
12568
12262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ProcessFiltersCloudComponent, decorators: [{
12569
12263
  type: Component,
@@ -12572,8 +12266,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
12572
12266
  type: Input
12573
12267
  }], searchApiMethod: [{
12574
12268
  type: Input
12575
- }], queryPushedCounter: [{
12576
- type: Input
12577
12269
  }], filterParam: [{
12578
12270
  type: Input
12579
12271
  }], showIcons: [{
@@ -15928,9 +15620,6 @@ class DataTablePathParserHelper {
15928
15620
  return undefined;
15929
15621
  }
15930
15622
  const properties = this.splitPathIntoProperties(path);
15931
- if (properties.length === 0) {
15932
- return undefined;
15933
- }
15934
15623
  const currentProperty = properties.shift();
15935
15624
  const propertyIndexReferences = this.getIndexReferencesFromProperty(currentProperty);
15936
15625
  const purePropertyName = this.extractPurePropertyName(currentProperty);
@@ -15962,7 +15651,7 @@ class DataTablePathParserHelper {
15962
15651
  switch (char) {
15963
15652
  case separator:
15964
15653
  if (isPropertySeparatorOutsideBrackets()) {
15965
- properties.push(currentPropertyBuffer.trim());
15654
+ properties.push(currentPropertyBuffer);
15966
15655
  currentPropertyBuffer = '';
15967
15656
  }
15968
15657
  else {
@@ -15982,9 +15671,8 @@ class DataTablePathParserHelper {
15982
15671
  break;
15983
15672
  }
15984
15673
  }
15985
- const lastProperty = currentPropertyBuffer.trim();
15986
- if (lastProperty) {
15987
- properties.push(lastProperty);
15674
+ if (currentPropertyBuffer) {
15675
+ properties.push(currentPropertyBuffer);
15988
15676
  }
15989
15677
  return properties;
15990
15678
  }
@@ -17420,5 +17108,5 @@ const DATE_FORMAT_CLOUD = 'YYYY-MM-DD';
17420
17108
  * Generated bundle index. Do not edit.
17421
17109
  */
17422
17110
 
17423
- export { ADF_FORM_TAB_NAV_ENABLED, ADF_TASK_RUNTIME_BUNDLE_FALLBACK_ENABLED, APP_CUSTOM_SCREEN_TOKEN, ApplicationVersionModel, ApplicationVersionResponseModel, AppsProcessCloudService, AssignmentType, AttachFileCloudWidgetComponent, BaseCloudService, CLOUD_FORM_FIELD_VALIDATORS, CloudFormRenderingService, ContentCloudNodeSelectorService, DATE_FORMAT_CLOUD, DEFAULT_OPTION, DEFAULT_TASK_PRIORITIES, DROPDOWN_CLOUD_WIDGET_SET_VALUE_DEBOUNCE, DateCloudFilterType, DateCloudWidgetComponent, DateRangeFilterService, DescriptorCustomUIAuthFlowType, DisplayModeService, DisplayRichTextWidgetComponent, DropdownCloudFieldValidator, DropdownCloudWidgetComponent, EditProcessFilterCloudComponent, EditServiceTaskFilterCloudComponent, EditTaskFilterCloudComponent, FORM_CLOUD_DIRECTIVES, FORM_CLOUD_FIELD_VALIDATORS_TOKEN, FORM_CLOUD_SERVICE_FIELD_VALIDATORS_TOKEN, FilePropertiesTableCloudComponent, FileViewerWidgetComponent, FilterCounterEntityType, FilterCountersCloudService, FormCloudComponent, FormCloudDisplayMode, FormCloudModule, FormCloudService, FormCustomOutcomesComponent, FormFieldType, FormSpinnerComponent, GroupCloudComponent, GroupCloudModule, GroupCloudWidgetComponent, HIDE_FILTER_LIMIT, IdentityGroupService, IdentityUserService, LocalPreferenceCloudService, NotificationCloudService, PROCESS_CLOUD_DIRECTIVES, PROCESS_FILTERS_CLOUD_DIRECTIVES, PROCESS_FILTERS_SERVICE_TOKEN, PROCESS_FILTER_ACTION_DELETE, PROCESS_FILTER_ACTION_RESTORE, PROCESS_FILTER_ACTION_SAVE, PROCESS_FILTER_ACTION_SAVE_AS, PROCESS_FILTER_ACTION_SAVE_DEFAULT, PROCESS_LISTS_PREFERENCES_SERVICE_TOKEN, PROCESS_SERVICES_CLOUD_DIRECTIVES, PeopleCloudComponent, PeopleCloudModule, PeopleCloudWidgetComponent, PeopleModeOptions, ProcessCloudContentService, ProcessCloudModule, ProcessCloudService, ProcessDefinitionCloud, ProcessFilterCloudAdapter, ProcessFilterCloudModel, ProcessFilterCloudService, ProcessFilterDialogCloudComponent, ProcessFiltersCloudComponent, ProcessFiltersCloudModule, ProcessHeaderCloudComponent, ProcessHeaderCloudModule, ProcessListCloudComponent, ProcessListCloudModule, ProcessListCloudPreferences, ProcessListCloudService, ProcessListCloudSortingModel, ProcessListRequestModel, ProcessListRequestSortingModel, ProcessPayloadCloud, ProcessQueryCloudRequestModel, ProcessServicesCloudModule, ProcessTaskListCloudService, PropertiesViewerWidgetComponent, PropertiesViewerWrapperComponent, QueryPushedFilterCountersCloudService, RICH_TEXT_PARSER_TOKEN, RadioButtonsCloudWidgetComponent, ScreenRenderingService, ServiceTaskFilterCloudService, ServiceTaskFiltersCloudComponent, ServiceTaskListCloudComponent, ServiceTaskListCloudService, StartProcessCloudComponent, StartProcessCloudService, StartProcessScreenCloudComponent, StartTaskCloudRequestModel, TASK_ASSIGNED_STATE, TASK_CANCELLED_STATE, TASK_CLAIM_PERMISSION, TASK_COMPLETED_STATE, TASK_CREATED_STATE, TASK_FILTERS_CLOUD_DIRECTIVES, TASK_FILTERS_SERVICE_TOKEN, TASK_FORM_CLOUD_DIRECTIVES, TASK_LIST_CLOUD_DIRECTIVES, TASK_LIST_CLOUD_TOKEN, TASK_LIST_PREFERENCES_SERVICE_TOKEN, TASK_RELEASE_PERMISSION, TASK_SUSPENDED_STATE, TASK_UPDATE_PERMISSION, TASK_VIEW_PERMISSION, TaskAssignmentFilterCloudComponent, TaskCloudEntryModel, TaskCloudModule, TaskCloudNodePaging, TaskCloudPagingList, TaskCloudService, TaskFilterCloudAdapter, TaskFilterCloudModel, TaskFilterCloudService, TaskFilterDialogCloudComponent, TaskFiltersCloudComponent, TaskFiltersCloudModule, TaskFormCloudComponent, TaskFormModule, TaskHeaderCloudComponent, TaskHeaderCloudModule, TaskListCloudComponent, TaskListCloudModule, TaskListCloudService, TaskListCloudSortingModel, TaskListRequestModel, TaskListRequestSortingModel, TaskQueryCloudRequestModel, TaskStatusFilter, TaskVariableCloud, UploadCloudWidgetComponent, UserPreferenceCloudService, UserTaskCloudButtonsComponent, UserTaskCloudComponent, VariableMapperService, WebSocketService, getDateCloudWidgetRange, getExpressionEvaluationEnabled$, materializeSubmissionValues, processCloudPresetsDefaultModel, provideCloudFormRenderer, provideCloudPreferences, provideScreen, radioButtonsSchema, resolveTaskRuntimeBundleFallback$ };
17111
+ export { ADF_FORM_TAB_NAV_ENABLED, ADF_TASK_RUNTIME_BUNDLE_FALLBACK_ENABLED, APP_CUSTOM_SCREEN_TOKEN, ApplicationVersionModel, ApplicationVersionResponseModel, AppsProcessCloudService, AssignmentType, AttachFileCloudWidgetComponent, BaseCloudService, CLOUD_FORM_FIELD_VALIDATORS, CloudFormRenderingService, ContentCloudNodeSelectorService, DATE_FORMAT_CLOUD, DEFAULT_OPTION, DEFAULT_TASK_PRIORITIES, DROPDOWN_CLOUD_WIDGET_SET_VALUE_DEBOUNCE, DateCloudFilterType, DateCloudWidgetComponent, DateRangeFilterService, DescriptorCustomUIAuthFlowType, DisplayModeService, DisplayRichTextWidgetComponent, DropdownCloudFieldValidator, DropdownCloudWidgetComponent, EditProcessFilterCloudComponent, EditServiceTaskFilterCloudComponent, EditTaskFilterCloudComponent, FORM_CLOUD_DIRECTIVES, FORM_CLOUD_FIELD_VALIDATORS_TOKEN, FORM_CLOUD_SERVICE_FIELD_VALIDATORS_TOKEN, FilePropertiesTableCloudComponent, FileViewerWidgetComponent, FilterCounterEntityType, FilterCountersCloudService, FormCloudComponent, FormCloudDisplayMode, FormCloudModule, FormCloudService, FormCustomOutcomesComponent, FormFieldType, FormSpinnerComponent, GroupCloudComponent, GroupCloudModule, GroupCloudWidgetComponent, HIDE_FILTER_LIMIT, IdentityGroupService, IdentityUserService, LocalPreferenceCloudService, NotificationCloudService, PROCESS_CLOUD_DIRECTIVES, PROCESS_FILTERS_CLOUD_DIRECTIVES, PROCESS_FILTERS_SERVICE_TOKEN, PROCESS_FILTER_ACTION_DELETE, PROCESS_FILTER_ACTION_RESTORE, PROCESS_FILTER_ACTION_SAVE, PROCESS_FILTER_ACTION_SAVE_AS, PROCESS_FILTER_ACTION_SAVE_DEFAULT, PROCESS_LISTS_PREFERENCES_SERVICE_TOKEN, PROCESS_SERVICES_CLOUD_DIRECTIVES, PeopleCloudComponent, PeopleCloudModule, PeopleCloudWidgetComponent, PeopleModeOptions, ProcessCloudContentService, ProcessCloudModule, ProcessCloudService, ProcessDefinitionCloud, ProcessFilterCloudAdapter, ProcessFilterCloudModel, ProcessFilterCloudService, ProcessFilterDialogCloudComponent, ProcessFiltersCloudComponent, ProcessFiltersCloudModule, ProcessHeaderCloudComponent, ProcessHeaderCloudModule, ProcessListCloudComponent, ProcessListCloudModule, ProcessListCloudPreferences, ProcessListCloudService, ProcessListCloudSortingModel, ProcessListRequestModel, ProcessListRequestSortingModel, ProcessPayloadCloud, ProcessQueryCloudRequestModel, ProcessServicesCloudModule, ProcessTaskListCloudService, PropertiesViewerWidgetComponent, PropertiesViewerWrapperComponent, RICH_TEXT_PARSER_TOKEN, RadioButtonsCloudWidgetComponent, ScreenRenderingService, ServiceTaskFilterCloudService, ServiceTaskFiltersCloudComponent, ServiceTaskListCloudComponent, ServiceTaskListCloudService, StartProcessCloudComponent, StartProcessCloudService, StartProcessScreenCloudComponent, StartTaskCloudRequestModel, TASK_ASSIGNED_STATE, TASK_CANCELLED_STATE, TASK_CLAIM_PERMISSION, TASK_COMPLETED_STATE, TASK_CREATED_STATE, TASK_FILTERS_CLOUD_DIRECTIVES, TASK_FILTERS_SERVICE_TOKEN, TASK_FORM_CLOUD_DIRECTIVES, TASK_LIST_CLOUD_DIRECTIVES, TASK_LIST_CLOUD_TOKEN, TASK_LIST_PREFERENCES_SERVICE_TOKEN, TASK_RELEASE_PERMISSION, TASK_SUSPENDED_STATE, TASK_UPDATE_PERMISSION, TASK_VIEW_PERMISSION, TaskAssignmentFilterCloudComponent, TaskCloudEntryModel, TaskCloudModule, TaskCloudNodePaging, TaskCloudPagingList, TaskCloudService, TaskFilterCloudAdapter, TaskFilterCloudModel, TaskFilterCloudService, TaskFilterDialogCloudComponent, TaskFiltersCloudComponent, TaskFiltersCloudModule, TaskFormCloudComponent, TaskFormModule, TaskHeaderCloudComponent, TaskHeaderCloudModule, TaskListCloudComponent, TaskListCloudModule, TaskListCloudService, TaskListCloudSortingModel, TaskListRequestModel, TaskListRequestSortingModel, TaskQueryCloudRequestModel, TaskStatusFilter, TaskVariableCloud, UploadCloudWidgetComponent, UserPreferenceCloudService, UserTaskCloudButtonsComponent, UserTaskCloudComponent, VariableMapperService, WebSocketService, getDateCloudWidgetRange, getExpressionEvaluationEnabled$, materializeSubmissionValues, processCloudPresetsDefaultModel, provideCloudFormRenderer, provideCloudPreferences, provideScreen, radioButtonsSchema, resolveTaskRuntimeBundleFallback$ };
17424
17112
  //# sourceMappingURL=adf-process-services-cloud.mjs.map