From b55d0f50ec74c99a0a60d515e7ac143ab983fc17 Mon Sep 17 00:00:00 2001 From: Diogo Bastos Date: Mon, 13 Mar 2023 12:35:43 +0000 Subject: [PATCH] [AAE-12288] Add environment context to process-instances, user-tasks and service-tasks --- .../app/models/application-instance.model.ts | 1 + .../src/lib/models/filter-cloud-model.ts | 2 ++ .../edit-process-filter-cloud.component.ts | 26 ++++++++++++++++++- .../models/process-filter-cloud.model.ts | 2 ++ .../services/process-filter-cloud.service.ts | 7 ++++- .../process-list-cloud.component.ts | 5 ++++ .../process-cloud-query-request.model.ts | 2 ++ .../base-edit-task-filter-cloud.component.ts | 16 +++++++++++- .../task-filters/models/filter-cloud.model.ts | 3 +++ .../service-task-list-cloud.component.ts | 1 + .../components/task-list-cloud.component.ts | 4 +++ .../models/service-task-cloud.model.ts | 1 + 12 files changed, 67 insertions(+), 3 deletions(-) diff --git a/lib/process-services-cloud/src/lib/app/models/application-instance.model.ts b/lib/process-services-cloud/src/lib/app/models/application-instance.model.ts index 5de2774af9..0bae77a415 100644 --- a/lib/process-services-cloud/src/lib/app/models/application-instance.model.ts +++ b/lib/process-services-cloud/src/lib/app/models/application-instance.model.ts @@ -27,6 +27,7 @@ export interface ApplicationInstanceModel { description?: string; connectors?: any; descriptor?: Descriptor; + environmentId?: string; } export interface Descriptor { diff --git a/lib/process-services-cloud/src/lib/models/filter-cloud-model.ts b/lib/process-services-cloud/src/lib/models/filter-cloud-model.ts index c8be4ebc56..6ff968956c 100644 --- a/lib/process-services-cloud/src/lib/models/filter-cloud-model.ts +++ b/lib/process-services-cloud/src/lib/models/filter-cloud-model.ts @@ -21,6 +21,7 @@ export class TaskQueryCloudRequestModel { appName: string; appVersion?: string; assignee?: string; + environmentId?: string; claimedDate?: string; createdDate?: Date; createdFrom?: string; @@ -56,6 +57,7 @@ export class TaskQueryCloudRequestModel { this.appName = obj.appName; this.appVersion = obj.appVersion; this.assignee = obj.assignee; + this.environmentId = obj.environmentId; this.claimedDate = obj.claimedDate; this.createdDate = obj.createdDate; this.createdFrom = obj.createdFrom; diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts index f3a8290d56..2fa9e123b4 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts @@ -64,6 +64,9 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes @Input() id: string; + @Input() + environmentId: string; + /** List of process filter properties to display */ @Input() filterProperties = DEFAULT_PROCESS_FILTER_PROPERTIES; @@ -76,6 +79,9 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes @Input() actions = DEFAULT_ACTIONS; + @Input() + environmentList: any[] = []; + /** Toggles editing of process filter actions. */ @Input() showFilterActions = true; @@ -118,6 +124,10 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes this.id = value.id; } + if (value?.environmentId) { + this.environmentId = value.environmentId; + } + this.processFilterProperties = this.createAndFilterProperties(); this.processFilterActions = this.createAndFilterActions(); @@ -400,12 +410,21 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes .subscribe((applications) => { if (applications && applications.length > 0) { applications.map((application) => { - this.applicationNames.push({ label: application.name, value: application.name }); + if (application.environmentId) { + this.applicationNames.push({ label: `${application.name} (${this.getEnvironmentName(application.environmentId)})`, value: application.name }); + } else { + this.applicationNames.push({ label: application.name, value: application.name }); + } + }); } }); } + private getEnvironmentName(environmentId: string) { + return this.environmentList.find((env: any) => env['id'] === environmentId).name; + } + getProcessDefinitions() { this.processDefinitionNames = []; @@ -625,6 +644,11 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes key: 'id', value: 'id' }, + { + label: 'EnvironmentId', + key: 'environmentId', + value: 'environmentId' + }, { label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_NAME', key: 'name', diff --git a/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts b/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts index e55fb6747d..2aaaba1377 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts @@ -46,6 +46,7 @@ export class ProcessFilterCloudModel { startedDateType: DateCloudFilterType; suspendedDateType: DateCloudFilterType; completedDate: Date; + environmentId?: string; private dateRangeFilterService = new DateRangeFilterService(); private _completedFrom: string; @@ -60,6 +61,7 @@ export class ProcessFilterCloudModel { this.id = obj.id || Math.random().toString(36).substring(2, 9); this.name = obj.name || null; this.key = obj.key || null; + this.environmentId = obj.environmentId; this.icon = obj.icon || null; this.index = obj.index || null; this.appName = obj.appName || obj.appName === '' ? obj.appName : null; 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 d58090fc9c..7f8e2015d1 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 @@ -61,7 +61,12 @@ export class ProcessFilterCloudService { value = value || {}; const result = { appName: appName || value['appName'], - id: id || value['id'] + id: id || value['id'], + ...( + value['environmentId'] && { + environmentId: value['environmentId'] + } + ) }; for (const prop of filterProperties) { diff --git a/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts index 56407de188..325dea897d 100644 --- a/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts @@ -67,6 +67,10 @@ export class ProcessListCloudComponent extends DataTableSchema implements OnInit, OnC @Input() id: string; + @Input() + environmentId: string; + + @Input() + environmentList: any[] = []; + /** processInstanceId of the task filter. */ @Input() processInstanceId: string; @@ -244,12 +250,20 @@ export abstract class BaseEditTaskFilterCloudComponent implements OnInit, OnC .subscribe((applications) => { if (applications && applications.length > 0) { applications.map((application) => { - this.applicationNames.push({ label: application.name, value: application.name }); + if (application.environmentId) { + this.applicationNames.push({ label: `${application.name} (${this.getEnvironmentName(application.environmentId)})`, value: application.name }); + } else { + this.applicationNames.push({ label: application.name, value: application.name }); + } }); } }); } + private getEnvironmentName(environmentId: string) { + return this.environmentList.find((env: any) => env['id'] === environmentId).name; + } + getProcessDefinitions() { this.taskCloudService.getProcessDefinitions(this.appName) .subscribe((processDefinitions) => { diff --git a/lib/process-services-cloud/src/lib/task/task-filters/models/filter-cloud.model.ts b/lib/process-services-cloud/src/lib/task/task-filters/models/filter-cloud.model.ts index 6e59caf8b3..05514ac0ae 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/models/filter-cloud.model.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/models/filter-cloud.model.ts @@ -29,6 +29,7 @@ export class TaskFilterCloudModel { id: string; name: string; key: string; + environmentId?: string; icon: string; index: number; appName: string; @@ -72,6 +73,7 @@ export class TaskFilterCloudModel { this.id = obj.id || Math.random().toString(36).substr(2, 9); this.name = obj.name || null; this.key = obj.key || null; + this.environmentId = obj.environmentId || null; this.icon = obj.icon || null; this.index = obj.index || null; this.appName = obj.appName || obj.appName === '' ? obj.appName : null; @@ -191,6 +193,7 @@ export class TaskFilterCloudModel { export interface ServiceTaskFilterCloudModel { id?: string; name?: string; + environmentId?: string; key?: string; icon?: string; index?: number; diff --git a/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.ts index 21951ce113..b862bb0b28 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.ts @@ -81,6 +81,7 @@ export class ServiceTaskListCloudComponent extends BaseTaskListCloudComponent { skipCount: this.skipCount, sorting: this.sorting, id: this.queryParams?.serviceTaskId, + environmentId: this.queryParams?.environmentId, activityName: this.queryParams?.activityName, activityType: this.queryParams?.activityType, completedDate: this.queryParams?.completedDate, diff --git a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts index fad4fa2e92..0afb57383b 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts @@ -89,6 +89,9 @@ export class TaskListCloudComponent extends BaseTaskListCloudComponent