diff --git a/docs/process-services-cloud/services/task-filter-cloud.service.md b/docs/process-services-cloud/services/task-filter-cloud.service.md
index c24be9cf15..58c5802e9c 100644
--- a/docs/process-services-cloud/services/task-filter-cloud.service.md
+++ b/docs/process-services-cloud/services/task-filter-cloud.service.md
@@ -35,11 +35,6 @@ Manages task filters.
Gets all task filters for a task app.
- _appName:_ `string` - (Optional) Name of the target app
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskFilterCloudModel`](../../../lib/process-services-cloud/src/lib/task/task-filters/models/filter-cloud.model.ts)`[]>` - Observable of task filter details
-- **getTaskNotificationSubscription**(appName: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskCloudEngineEvent`](../../../lib/process-services-cloud/src/lib/models/engine-event-cloud.model.ts)`[]>`
-
- - _appName:_ `string` -
- - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskCloudEngineEvent`](../../../lib/process-services-cloud/src/lib/models/engine-event-cloud.model.ts)`[]>` -
-
- **isDefaultFilter**(filterName: `string`): `boolean`
Checks if given filter is a default filter
- _filterName:_ `string` - Name of the target task filter
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts
index e0e74ba1cb..806ca7b5d0 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts
+++ b/lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts
@@ -75,10 +75,10 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges {
currentFilter?: ProcessFilterCloudModel;
filters: ProcessFilterCloudModel[] = [];
counters: { [key: string]: number } = {};
- currentFiltersValues: { [key: string]: number } = {};
- updatedFiltersSet = new Set();
enableNotifications = true;
notificationDebounceTime = 3000;
+ currentFiltersValues: { [key: string]: number } = {};
+ updatedFiltersSet = new Set();
private filtersLoadedFor?: string;
private countersSubscription?: Subscription;
@@ -93,7 +93,6 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges {
ngOnInit() {
this.enableNotifications = this.appConfigService.get('notifications', true);
this.notificationDebounceTime = this.appConfigService.get('notificationDebounceTime', 3000);
-
if (!this.filtersLoadedFor) {
this.getFilters(this.appName);
}
@@ -139,7 +138,7 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges {
/**
* Initialize counter collection for filters
*/
- initFilterCounters(): void {
+ initFilterCounters() {
this.filters.forEach((filter) => (this.counters[filter.key] = 0));
}
@@ -165,6 +164,20 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges {
); // fallback to preserve the previous behavior
}
+ /**
+ * Check equality of the filter names by translating the given name strings
+ *
+ * @param name1 source name
+ * @param name2 target name
+ * @returns `true` if filter names are equal, otherwise `false`
+ */
+ private checkFilterNamesEquality(name1: string, name2: string): boolean {
+ const translatedName1 = this.translationService.instant(name1);
+ const translatedName2 = this.translationService.instant(name2);
+
+ return translatedName1.toLocaleLowerCase() === translatedName2.toLocaleLowerCase();
+ }
+
/**
* Selects and emits the given filter
*
@@ -231,6 +244,14 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges {
return this.filters === undefined || (this.filters && this.filters.length === 0);
}
+ /**
+ * Reset the filters
+ */
+ private resetFilter() {
+ this.filters = [];
+ this.currentFilter = undefined;
+ }
+
isActiveFilter(filter: ProcessFilterCloudModel): boolean {
return this.currentFilter.name === filter.name;
}
@@ -243,37 +264,18 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges {
}
}
- /** Flags the counter of a filter as read whenever the filter is refreshed elsewhere */
- getFilterKeysAfterExternalRefreshing(): void {
- this.processFilterCloudService.filterKeyToBeRefreshed$
- .pipe(takeUntilDestroyed(this.destroyRef))
- .subscribe((filterKey: string) => this.updatedFiltersSet.delete(filterKey));
- }
-
isFilterUpdated(filterName: string): boolean {
return this.updatedFiltersSet.has(filterName);
}
/**
- * Check equality of the filter names by translating the given name strings
+ * Get filer key when filter was refreshed by external action
*
- * @param name1 source name
- * @param name2 target name
- * @returns `true` if filter names are equal, otherwise `false`
*/
- private checkFilterNamesEquality(name1: string, name2: string): boolean {
- const translatedName1 = this.translationService.instant(name1);
- const translatedName2 = this.translationService.instant(name2);
-
- return translatedName1.toLocaleLowerCase() === translatedName2.toLocaleLowerCase();
- }
-
- /**
- * Reset the filters
- */
- private resetFilter() {
- this.filters = [];
- this.currentFilter = undefined;
+ getFilterKeysAfterExternalRefreshing(): void {
+ this.processFilterCloudService.filterKeyToBeRefreshed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((filterKey: string) => {
+ this.updatedFiltersSet.delete(filterKey);
+ });
}
private loadFilterCounters(appName: string, filters$: Observable): void {
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/mock/process-filters-cloud.mock.ts b/lib/process-services-cloud/src/lib/process/process-filters/mock/process-filters-cloud.mock.ts
index d39f80a1a8..5f31e0a9da 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/mock/process-filters-cloud.mock.ts
+++ b/lib/process-services-cloud/src/lib/process/process-filters/mock/process-filters-cloud.mock.ts
@@ -189,25 +189,3 @@ const mockAppVersion2: ApplicationVersionModel = {
};
export const mockAppVersions = [mockAppVersion1, mockAppVersion2];
-
-export const processNotifications = [
- {
- eventType: 'PROCESS_CREATED',
- entity: {
- appVersion: '1',
- id: 'bccc1217-7036-11ef-86f2-bae4749e773e',
- processDefinitionId: 'Process_XmWTFMqf:1:1b30709b-6ff3-11ef-86f2-bae4749e773e',
- processDefinitionKey: 'Process_XmWTFMqf',
- initiator: 'hruser',
- status: 'CREATED',
- processDefinitionVersion: 1,
- processDefinitionName: 'processchild'
- }
- }
-];
-
-export const processCloudEngineEventsMock = {
- data: {
- engineEvents: processNotifications
- }
-};
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts
index bdfa3094be..7a5a7911d3 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts
+++ b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts
@@ -25,12 +25,10 @@ import {
fakeProcessCloudFilterEntries,
fakeProcessCloudFilters,
fakeProcessCloudFilterWithDifferentEntries,
- fakeProcessFilter,
- processCloudEngineEventsMock
+ fakeProcessFilter
} from '../mock/process-filters-cloud.mock';
import { ProcessFilterCloudModel } from '../models/process-filter-cloud.model';
import { IdentityUserService } from '../../../people/services/identity-user.service';
-import { NotificationCloudService } from '../../../services/notification-cloud.service';
import { ApolloTestingModule } from 'apollo-angular/testing';
import { NoopTranslateModule, NoopAuthModule } from '@alfresco/adf-core';
@@ -41,7 +39,6 @@ describe('ProcessFilterCloudService', () => {
let updatePreferenceSpy: jasmine.Spy;
let createPreferenceSpy: jasmine.Spy;
let getCurrentUserInfoSpy: jasmine.Spy;
- let notificationCloudService: NotificationCloudService;
const identityUserMock = {
username: 'mock-username',
@@ -59,7 +56,6 @@ describe('ProcessFilterCloudService', () => {
const preferenceCloudService = TestBed.inject(PROCESS_FILTERS_SERVICE_TOKEN);
const identityUserService = TestBed.inject(IdentityUserService);
- notificationCloudService = TestBed.inject(NotificationCloudService);
createPreferenceSpy = spyOn(preferenceCloudService, 'createPreference').and.returnValue(of(fakeProcessCloudFilters));
updatePreferenceSpy = spyOn(preferenceCloudService, 'updatePreference').and.returnValue(of(fakeProcessCloudFilters));
@@ -250,13 +246,4 @@ describe('ProcessFilterCloudService', () => {
expect(updatePreferenceSpy).toHaveBeenCalledWith('mock-appName', 'process-filters-mock-appName-mock-username', fakeProcessCloudFilters);
});
-
- it('should return engine event task subscription', async () => {
- spyOn(notificationCloudService, 'makeGQLQuery').and.returnValue(of(processCloudEngineEventsMock));
-
- const result = await firstValueFrom(service.getProcessNotificationSubscription('testApp'));
- expect(result.length).toBe(1);
- expect(result[0].eventType).toBe('PROCESS_CREATED');
- expect(result[0].entity.status).toBe('CREATED');
- });
});
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts
index 9839470ea2..8d2df151a8 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts
+++ b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts
@@ -22,24 +22,6 @@ import { switchMap, map } from 'rxjs/operators';
import { PROCESS_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service';
import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface';
import { IdentityUserService } from '../../../people/services/identity-user.service';
-import { NotificationCloudService } from '../../../services/notification-cloud.service';
-import { TaskCloudEngineEvent } from '../../../models/engine-event-cloud.model';
-
-const PROCESS_EVENT_SUBSCRIPTION_QUERY = `
- subscription {
- engineEvents(eventType: [
- PROCESS_CANCELLED
- PROCESS_COMPLETED
- PROCESS_CREATED
- PROCESS_RESUMED
- PROCESS_SUSPENDED
- PROCESS_STARTED
- ]) {
- eventType
- entity
- }
- }
-`;
@Injectable({
providedIn: 'root'
@@ -52,7 +34,6 @@ export class ProcessFilterCloudService {
protected readonly preferenceService = inject(PROCESS_FILTERS_SERVICE_TOKEN);
protected readonly identityUserService = inject(IdentityUserService);
- private readonly notificationCloudService = inject(NotificationCloudService);
constructor() {
this.filtersSubject = new BehaviorSubject([]);
@@ -404,18 +385,6 @@ export class ProcessFilterCloudService {
];
}
- /**
- * @deprecated use FilterCountersCloudService.getEngineEvents instead.
- *
- * @param appName Name of the target app
- * @returns Process engine events
- */
- getProcessNotificationSubscription(appName: string): Observable {
- return this.notificationCloudService
- .makeGQLQuery(appName, PROCESS_EVENT_SUBSCRIPTION_QUERY)
- .pipe(map((events: any) => events?.data?.engineEvents));
- }
-
/**
* Refresh filter key
*
diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/task-filters/task-filters-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/task-filters/task-filters-cloud.component.ts
index a5b9fac8c6..c8df6aaf96 100644
--- a/lib/process-services-cloud/src/lib/task/task-filters/components/task-filters/task-filters-cloud.component.ts
+++ b/lib/process-services-cloud/src/lib/task/task-filters/components/task-filters/task-filters-cloud.component.ts
@@ -77,7 +77,6 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent imp
ngOnInit() {
this.enableNotifications = this.appConfigService.get('notifications', true);
this.notificationDebounceTime = this.appConfigService.get('notificationDebounceTime', 3000);
-
if (!this.filtersLoadedFor) {
this.getFilters(this.appName);
}
@@ -223,6 +222,14 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent imp
return this.filters === undefined || (this.filters && this.filters.length === 0);
}
+ /**
+ * Reset the filters properties
+ */
+ private resetFilter() {
+ this.filters = [];
+ this.currentFilter = undefined;
+ }
+
checkIfFilterValuesHasBeenUpdated(filterKey: string, filterValue: number) {
if (this.currentFiltersValues[filterKey] === undefined || this.currentFiltersValues[filterKey] !== filterValue) {
this.currentFiltersValues = { ...this.currentFiltersValues, [filterKey]: filterValue };
@@ -231,11 +238,14 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent imp
}
}
- /** Flags the counter of a filter as read whenever the filter is refreshed elsewhere */
+ /**
+ * Get filer key when filter was refreshed by external action
+ *
+ */
getFilterKeysAfterExternalRefreshing(): void {
- this.taskFilterCloudService.filterKeyToBeRefreshed$
- .pipe(takeUntilDestroyed(this.destroyRef))
- .subscribe((filterKey: string) => this.updatedCountersSet.delete(filterKey));
+ this.taskFilterCloudService.filterKeyToBeRefreshed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((filterKey: string) => {
+ this.updatedCountersSet.delete(filterKey);
+ });
}
private loadFilterCounters(appName: string, filters$: Observable): void {
@@ -261,12 +271,4 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent imp
this.counters = { ...this.counters, [filter.key]: counter };
});
}
-
- /**
- * Reset the filters properties
- */
- private resetFilter() {
- this.filters = [];
- this.currentFilter = undefined;
- }
}
diff --git a/lib/process-services-cloud/src/lib/task/task-filters/mock/task-filters-cloud.mock.ts b/lib/process-services-cloud/src/lib/task/task-filters/mock/task-filters-cloud.mock.ts
index 0f8bf2e70a..760e6d2e9f 100644
--- a/lib/process-services-cloud/src/lib/task/task-filters/mock/task-filters-cloud.mock.ts
+++ b/lib/process-services-cloud/src/lib/task/task-filters/mock/task-filters-cloud.mock.ts
@@ -285,12 +285,6 @@ export const taskNotifications = [
}
];
-export const taskCloudEngineEventsMock = {
- data: {
- engineEvents: taskNotifications
- }
-};
-
export const defaultTaskFiltersMock: TaskFilterCloudModel[] = [
new TaskFilterCloudModel({
name: 'CREATED_TASK_FILTER',
diff --git a/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.spec.ts b/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.spec.ts
index 80c2c514cb..6de519f5ba 100644
--- a/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.spec.ts
+++ b/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.spec.ts
@@ -25,12 +25,10 @@ import {
fakePreferenceWithNoTaskFilterPreference,
fakeTaskCloudFilters,
fakeTaskCloudPreferenceList,
- fakeTaskFilter,
- taskCloudEngineEventsMock
+ fakeTaskFilter
} from '../mock/task-filters-cloud.mock';
import { UserPreferenceCloudService } from '../../../services/user-preference-cloud.service';
import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface';
-import { NotificationCloudService } from '../../../services/notification-cloud.service';
import { IdentityUserService } from '../../../people/services/identity-user.service';
import { ApolloTestingModule } from 'apollo-angular/testing';
import { StorageService, NoopAuthModule, NoopTranslateModule } from '@alfresco/adf-core';
@@ -38,7 +36,6 @@ import { TaskStatusFilter } from '../models/filter-cloud.model';
describe('TaskFilterCloudService', () => {
let service: TaskFilterCloudService;
- let notificationCloudService: NotificationCloudService;
let getPreferencesSpy: jasmine.Spy;
let getPreferenceByKeySpy: jasmine.Spy;
@@ -58,7 +55,6 @@ describe('TaskFilterCloudService', () => {
providers: [{ provide: TASK_FILTERS_SERVICE_TOKEN, useClass: UserPreferenceCloudService }]
});
service = TestBed.inject(TaskFilterCloudService);
- notificationCloudService = TestBed.inject(NotificationCloudService);
const preferenceCloudService = service.preferenceService;
createPreferenceSpy = spyOn(preferenceCloudService, 'createPreference').and.returnValue(of(fakeTaskCloudFilters));
@@ -234,17 +230,6 @@ describe('TaskFilterCloudService', () => {
expect(service.isDefaultFilter(defaultFilterName)).toBe(true);
expect(service.isDefaultFilter(fakeFilterName)).toBe(false);
});
-
- it('should return engine event task subscription', (done) => {
- spyOn(notificationCloudService, 'makeGQLQuery').and.returnValue(of(taskCloudEngineEventsMock));
-
- service.getTaskNotificationSubscription('myAppName').subscribe((res) => {
- expect(res.length).toBe(1);
- expect(res[0].eventType).toBe('TASK_ASSIGNED');
- expect(res[0].entity.name).toBe('This is a new task');
- done();
- });
- });
});
describe('Inject [LocalPreferenceCloudService] into the TaskFilterCloudService', () => {
diff --git a/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts b/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts
index 371aa3a073..baafc85244 100644
--- a/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts
+++ b/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts
@@ -22,32 +22,12 @@ import { switchMap, map } from 'rxjs/operators';
import { BaseCloudService } from '../../../services/base-cloud.service';
import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface';
import { TASK_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service';
-import { NotificationCloudService } from '../../../services/notification-cloud.service';
-import { TaskCloudEngineEvent } from '../../../models/engine-event-cloud.model';
import { IdentityUserService } from '../../../people/services/identity-user.service';
-const TASK_EVENT_SUBSCRIPTION_QUERY = `
- subscription {
- engineEvents(eventType: [
- TASK_COMPLETED
- TASK_ASSIGNED
- TASK_ACTIVATED
- TASK_SUSPENDED
- TASK_CANCELLED,
- TASK_CREATED
- ]) {
- eventType
- entity
- }
- }
-`;
-
@Injectable({
providedIn: 'root'
})
export class TaskFilterCloudService extends BaseCloudService {
- private readonly notificationCloudService = inject(NotificationCloudService);
-
public preferenceService = inject(TASK_FILTERS_SERVICE_TOKEN);
protected identityUserService = inject(IdentityUserService);
@@ -323,17 +303,6 @@ export class TaskFilterCloudService extends BaseCloudService {
];
}
- /**
- * @deprecated use FilterCountersCloudService.getEngineEvents instead.
- * @param appName Name of the target app
- * @returns Task engine events
- */
- getTaskNotificationSubscription(appName: string): Observable {
- return this.notificationCloudService
- .makeGQLQuery(appName, TASK_EVENT_SUBSCRIPTION_QUERY)
- .pipe(map((events: any) => events.data.engineEvents));
- }
-
/**
* Refresh filter key
*