[AAE-10089] Process variables values are not shown for old tasks and … (#7744)

* [AAE-10089] Process variables values are not shown for old tasks and processes

* fix unit test and variable names

* change variableId
This commit is contained in:
Ketevani Kvirikashvili 2022-08-11 11:33:32 +01:00 committed by GitHub
parent fd0110e5c7
commit 26c46cfb9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 12 deletions

View File

@ -20,6 +20,7 @@ import { ProcessInstanceVariable } from '../models/process-instance-variable.mod
export const getProcessInstanceVariableMock = (variable: Partial<ProcessInstanceVariable> = {}): ProcessInstanceVariable => ({
id: 1,
variableDefinitionId: 'variableDefinitionId',
processDefinitionKey: 'processDefinitionKey',
value: 'value',
appName: 'appName',
createTime: 'createTime',

View File

@ -22,6 +22,7 @@ export type WithVariablesMap<T> = T & {
export interface ProcessInstanceVariable {
id: number;
variableDefinitionId: string;
processDefinitionKey: string;
value: string;
appName: string;
createTime: string;

View File

@ -31,7 +31,8 @@ describe('VariableMapperService', () => {
it('should map variables by column title', () => {
const variable: ProcessInstanceVariable = getProcessInstanceVariableMock({
variableDefinitionId: 'variableDefinitionIdOne'
processDefinitionKey: 'processKey',
name: 'variableName'
});
const objectWithVariables = {

View File

@ -26,7 +26,7 @@ export class VariableMapperService {
instancesList: T[] = [],
columnsSchema: DataColumn<ProcessListDataColumnCustomData>[] = []
): Array<WithVariablesMap<T>> {
const columnsByVariableId = this.mapColumnKeysByVariableId(columnsSchema);
const columnsByVariables = this.mapColumnKeysByVariable(columnsSchema);
const rowsViewModel = instancesList.map<WithVariablesMap<T>>((instance) => {
if (!instance.variables?.length) {
@ -34,9 +34,9 @@ export class VariableMapperService {
}
const variablesMap = (instance.variables ?? []).reduce<{[columnTitle: string]: ProcessInstanceVariable}>((variableAccumulator, variable) => {
const processVariableDefinitionId = variable.variableDefinitionId;
const processVariableDefinitionPayload = `${variable.processDefinitionKey}/${variable.name}`;
const column = columnsByVariableId[processVariableDefinitionId];
const column = columnsByVariables[processVariableDefinitionPayload];
if (column) {
variableAccumulator[column] = {
...variable,
@ -56,23 +56,23 @@ export class VariableMapperService {
return rowsViewModel;
}
private mapColumnKeysByVariableId(
private mapColumnKeysByVariable(
columnsSchema: DataColumn<ProcessListDataColumnCustomData>[]
): { [variableId: string]: string } {
const columnsByVariableId = columnsSchema
): { [key: string]: string } {
const columnsByVariables = columnsSchema
.filter(column => !!column.customData)
.reduce<{ [variableId: string]: string }>((columnsByVariable, column) => {
.reduce<{ [key: string]: string }>((columnsByVariable, column) => {
const columnTitle = column.title;
const variableIds = column.customData.assignedVariableDefinitionIds;
const variables = column.customData.variableDefinitionsPayload;
variableIds.forEach((variableId) => {
columnsByVariable[variableId] = columnTitle;
variables.forEach((key) => {
columnsByVariable[key] = columnTitle;
});
return columnsByVariable;
}, {});
return columnsByVariableId;
return columnsByVariables;
}
private mapProcessVariableTypes(variableType: string): DataColumnType {