diff --git a/lib/process-services-cloud/src/lib/models/data-column-custom-data.ts b/lib/process-services-cloud/src/lib/models/data-column-custom-data.ts index 8b8db0620d..b63b94e634 100644 --- a/lib/process-services-cloud/src/lib/models/data-column-custom-data.ts +++ b/lib/process-services-cloud/src/lib/models/data-column-custom-data.ts @@ -18,5 +18,6 @@ export const PROCESS_LIST_CUSTOM_VARIABLE_COLUMN = 'process-variable-column'; export interface ProcessListDataColumnCustomData { assignedVariableDefinitionIds: string[]; + variableDefinitionsPayload: string[]; columnType: string; } 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 716ac58473..c8be4ebc56 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 @@ -49,7 +49,7 @@ export class TaskQueryCloudRequestModel { completedFrom?: string; completedTo?: string; candidateGroupId?: string; - variableDefinitions?: string[]; + variableKeys?: string[]; constructor(obj?: any) { if (obj) { @@ -84,7 +84,7 @@ export class TaskQueryCloudRequestModel { this.completedTo = obj.completedTo; this.completedDate = obj.completedDate; this.candidateGroupId = obj.candidateGroupId; - this.variableDefinitions = obj.variableDefinitions; + this.variableKeys = obj.variableKeys; } } } diff --git a/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.spec.ts index ace1805365..a7baa41564 100644 --- a/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.spec.ts @@ -115,6 +115,7 @@ describe('ProcessListCloudComponent', () => { getDataColumnMock({ id: 'variableColumnId', customData: { + variableDefinitionsPayload: ['processKey/variableName'], assignedVariableDefinitionIds: ['variableDefinitionId'], columnType: PROCESS_LIST_CUSTOM_VARIABLE_COLUMN } @@ -321,7 +322,7 @@ describe('ProcessListCloudComponent', () => { component.ngAfterContentInit(); component.reload(); - expect(component.requestNode.variableDefinitions).not.toBeDefined(); + expect(component.requestNode.variableKeys).not.toBeDefined(); }); it('should request process variable if column for process variable is displayed', () => { @@ -333,7 +334,7 @@ describe('ProcessListCloudComponent', () => { entries: [{ entry: { key: ProcessListCloudPreferences.columnsVisibility, - value: '{"variableColumnId":true, "2":true}' + value: '{"variableColumnId":"id", "2":true}' } }] } @@ -342,7 +343,7 @@ describe('ProcessListCloudComponent', () => { component.ngAfterContentInit(); component.reload(); - expect(component.requestNode.variableDefinitions).toEqual(['variableDefinitionId']); + expect(component.requestNode.variableKeys).toEqual(['processKey/variableName']); }); it('should reload tasks when reload() is called', (done) => { 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 b28065acdb..8a47d73b66 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 @@ -440,7 +440,7 @@ export class ProcessListCloudComponent extends DataTableSchema column.customData?.columnType === PROCESS_LIST_CUSTOM_VARIABLE_COLUMN && column.isHidden !== true ) - .map(column => column.customData.assignedVariableDefinitionIds) - .reduce((allIds, ids) => [...ids, ...allIds], []); + .map(column => { + const variableDefinitionsPayload = column.customData.variableDefinitionsPayload; + return variableDefinitionsPayload; + }) + .reduce((variablesPayload, payload) => [...variablesPayload, ...payload], []); return displayedVariableColumns.length ? displayedVariableColumns : undefined; } diff --git a/lib/process-services-cloud/src/lib/process/process-list/datatable/process-list-datatable-adapter.spec.ts b/lib/process-services-cloud/src/lib/process/process-list/datatable/process-list-datatable-adapter.spec.ts index 2e712f4f76..9e27b691b4 100644 --- a/lib/process-services-cloud/src/lib/process/process-list/datatable/process-list-datatable-adapter.spec.ts +++ b/lib/process-services-cloud/src/lib/process/process-list/datatable/process-list-datatable-adapter.spec.ts @@ -41,6 +41,7 @@ describe('ProcessListDatatableAdapter', () => { title: 'columnDisplayName1', customData: { assignedVariableDefinitionIds: ['1'], + variableDefinitionsPayload: ['processKey/variableName'], columnType: PROCESS_LIST_CUSTOM_VARIABLE_COLUMN } }); diff --git a/lib/process-services-cloud/src/lib/process/process-list/models/process-cloud-query-request.model.ts b/lib/process-services-cloud/src/lib/process/process-list/models/process-cloud-query-request.model.ts index 7e937448ec..e64f8d9bb4 100644 --- a/lib/process-services-cloud/src/lib/process/process-list/models/process-cloud-query-request.model.ts +++ b/lib/process-services-cloud/src/lib/process/process-list/models/process-cloud-query-request.model.ts @@ -42,7 +42,7 @@ export class ProcessQueryCloudRequestModel { maxItems: number; skipCount: number; sorting?: ProcessListCloudSortingModel[]; - variableDefinitions?: string[]; + variableKeys?: string[]; constructor(obj?: any) { if (obj) { @@ -70,7 +70,7 @@ export class ProcessQueryCloudRequestModel { this.maxItems = obj.maxItems; this.skipCount = obj.skipCount; this.sorting = obj.sorting; - this.variableDefinitions = obj.variableDefinitions; + this.variableKeys = obj.variableKeys; } } } diff --git a/lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts b/lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts index b6b5320b9e..80b2106178 100644 --- a/lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts +++ b/lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts @@ -88,7 +88,7 @@ export class ProcessListCloudService extends BaseCloudService { requestNode: ProcessQueryCloudRequestModel, property: keyof ProcessQueryCloudRequestModel ) { - if (property === 'variableDefinitions' && requestNode[property]?.length > 0) { + if (property === 'variableKeys' && requestNode[property]?.length > 0) { return `${requestNode[property].map(variableId => variableId).join(',')}`; } diff --git a/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.spec.ts b/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.spec.ts index 520481e30e..3ddc4036d4 100644 --- a/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.spec.ts +++ b/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.spec.ts @@ -42,6 +42,7 @@ describe('VariableMapperService', () => { title: 'column name', key: '', customData: { + variableDefinitionsPayload: ['processKey/variableName'], assignedVariableDefinitionIds: [variable.variableDefinitionId], columnType: 'text' } diff --git a/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.ts b/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.ts index 8aa733ec52..f2f0de1b02 100644 --- a/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.ts +++ b/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.ts @@ -33,7 +33,7 @@ export class VariableMapperService { return instance; } - const variablesMap = (instance.variables ?? []).reduce((variableAccumulator, variable) => { + const variablesMap = (instance.variables ?? []).reduce<{[columnTitle: string]: ProcessInstanceVariable}>((variableAccumulator, variable) => { const processVariableDefinitionId = variable.variableDefinitionId; const column = columnsByVariableId[processVariableDefinitionId]; 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 dcb45f13bd..fad4fa2e92 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 @@ -214,20 +214,23 @@ export class TaskListCloudComponent extends BaseTaskListCloudComponent column.customData?.columnType === 'process-variable-column' && column.isHidden !== true ) - .map(column => column.customData.assignedVariableDefinitionIds) - .reduce((allIds, ids) => [...ids, ...allIds], []); + .map(column => { + const variableDefinitionsPayload = column.customData.variableDefinitionsPayload; + return variableDefinitionsPayload; + }) + .reduce((allRequestKeys, requestKeys) => [...requestKeys, ...allRequestKeys], []); return displayedVariableColumns.length ? displayedVariableColumns : undefined; } diff --git a/lib/process-services-cloud/src/lib/task/task-list/datatable/task-list-datatable-adapter.spec.ts b/lib/process-services-cloud/src/lib/task/task-list/datatable/task-list-datatable-adapter.spec.ts index ecdd4efb86..e1b8fe0b62 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/datatable/task-list-datatable-adapter.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/datatable/task-list-datatable-adapter.spec.ts @@ -51,6 +51,7 @@ describe('TasksListDatatableAdapter', () => { title: 'columnDisplayName1', customData: { assignedVariableDefinitionIds: ['variableDefinitionId'], + variableDefinitionsPayload: ['processKey/variableName'], columnType: PROCESS_LIST_CUSTOM_VARIABLE_COLUMN } }); diff --git a/lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts b/lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts index 757c5ea7c0..d5d9551bee 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts @@ -72,8 +72,8 @@ export class TaskListCloudService extends BaseCloudService implements TaskListCl !this.isExcludedField(propertyKey) && this.isPropertyValueValid(requestNode, propertyKey) ) { - if (propertyKey === 'variableDefinitions' && requestNode[propertyKey]?.length > 0) { - queryParam['variableDefinitions'] = requestNode[propertyKey].join(','); + if (propertyKey === 'variableKeys' && requestNode[propertyKey]?.length > 0) { + queryParam[propertyKey] = requestNode[propertyKey].join(','); } else { queryParam[propertyKey] = requestNode[propertyKey]; }