mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
AAE-41605 Add ability to filter by linked processes (#11664)
This commit is contained in:
+2
@@ -49,6 +49,7 @@ export class ProcessFilterCloudModel {
|
|||||||
suspendedDateType: DateCloudFilterType | null;
|
suspendedDateType: DateCloudFilterType | null;
|
||||||
includeSubprocesses: boolean | null;
|
includeSubprocesses: boolean | null;
|
||||||
includeUnlinkedProcesses: boolean | null;
|
includeUnlinkedProcesses: boolean | null;
|
||||||
|
includeLinkedProcesses: boolean | null;
|
||||||
completedDate: Date | null;
|
completedDate: Date | null;
|
||||||
environmentId: string | null;
|
environmentId: string | null;
|
||||||
showCounter: boolean;
|
showCounter: boolean;
|
||||||
@@ -116,6 +117,7 @@ export class ProcessFilterCloudModel {
|
|||||||
this._suspendedTo = obj._suspendedTo || null;
|
this._suspendedTo = obj._suspendedTo || null;
|
||||||
this.includeSubprocesses = obj.includeSubprocesses || null;
|
this.includeSubprocesses = obj.includeSubprocesses || null;
|
||||||
this.includeUnlinkedProcesses = obj.includeUnlinkedProcesses || null;
|
this.includeUnlinkedProcesses = obj.includeUnlinkedProcesses || null;
|
||||||
|
this.includeLinkedProcesses = obj.includeLinkedProcesses || null;
|
||||||
|
|
||||||
this.initArrayProperties(obj);
|
this.initArrayProperties(obj);
|
||||||
}
|
}
|
||||||
|
|||||||
+29
@@ -735,6 +735,35 @@ describe('ProcessListCloudComponent', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('includeLinkedProcesses', () => {
|
||||||
|
it('should set includeLinkedProcesses to true in request node when input is true', () => {
|
||||||
|
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
||||||
|
component.includeLinkedProcesses = true;
|
||||||
|
component.ngAfterContentInit();
|
||||||
|
component.reload();
|
||||||
|
|
||||||
|
expect(component.processListRequestNode.includeLinkedProcesses).toBeTrue();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should set includeLinkedProcesses to false in request node when input is false', () => {
|
||||||
|
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
||||||
|
component.includeLinkedProcesses = false;
|
||||||
|
component.ngAfterContentInit();
|
||||||
|
component.reload();
|
||||||
|
|
||||||
|
expect(component.processListRequestNode.includeLinkedProcesses).toBeFalse();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should omit includeLinkedProcesses in request node when input is null', () => {
|
||||||
|
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
||||||
|
component.includeLinkedProcesses = null;
|
||||||
|
component.ngAfterContentInit();
|
||||||
|
component.reload();
|
||||||
|
|
||||||
|
expect(component.processListRequestNode.includeLinkedProcesses).toBeNull();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('processRelatedTo', () => {
|
describe('processRelatedTo', () => {
|
||||||
it('should include processRelatedTo in request node when values are provided', () => {
|
it('should include processRelatedTo in request node when values are provided', () => {
|
||||||
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
||||||
|
|||||||
+5
@@ -310,6 +310,10 @@ export class ProcessListCloudComponent
|
|||||||
@Input()
|
@Input()
|
||||||
includeUnlinkedProcesses: boolean | null = null;
|
includeUnlinkedProcesses: boolean | null = null;
|
||||||
|
|
||||||
|
/** Include linked processes in the process list. */
|
||||||
|
@Input()
|
||||||
|
includeLinkedProcesses: boolean | null = null;
|
||||||
|
|
||||||
/** Emitted when a row in the process list is clicked. */
|
/** Emitted when a row in the process list is clicked. */
|
||||||
@Output()
|
@Output()
|
||||||
rowClick: EventEmitter<string> = new EventEmitter<string>();
|
rowClick: EventEmitter<string> = new EventEmitter<string>();
|
||||||
@@ -655,6 +659,7 @@ export class ProcessListCloudComponent
|
|||||||
suspendedTo: this.suspendedTo,
|
suspendedTo: this.suspendedTo,
|
||||||
includeSubprocesses: this.includeSubprocesses,
|
includeSubprocesses: this.includeSubprocesses,
|
||||||
includeUnlinkedProcesses: this.includeUnlinkedProcesses,
|
includeUnlinkedProcesses: this.includeUnlinkedProcesses,
|
||||||
|
includeLinkedProcesses: this.includeLinkedProcesses,
|
||||||
processVariableKeys: this.getVariableDefinitionsRequestModel(),
|
processVariableKeys: this.getVariableDefinitionsRequestModel(),
|
||||||
processVariableFilters: this.processVariables,
|
processVariableFilters: this.processVariables,
|
||||||
processRelatedTo: this.processRelatedTo()
|
processRelatedTo: this.processRelatedTo()
|
||||||
|
|||||||
+2
@@ -104,6 +104,7 @@ export class ProcessListRequestModel {
|
|||||||
suspendedTo?: string;
|
suspendedTo?: string;
|
||||||
includeSubprocesses?: boolean;
|
includeSubprocesses?: boolean;
|
||||||
includeUnlinkedProcesses?: boolean;
|
includeUnlinkedProcesses?: boolean;
|
||||||
|
includeLinkedProcesses?: boolean;
|
||||||
processRelatedTo?: string[];
|
processRelatedTo?: string[];
|
||||||
|
|
||||||
processVariableFilters?: ProcessVariableFilterModel[];
|
processVariableFilters?: ProcessVariableFilterModel[];
|
||||||
@@ -135,6 +136,7 @@ export class ProcessListRequestModel {
|
|||||||
this.suspendedTo = obj.suspendedTo;
|
this.suspendedTo = obj.suspendedTo;
|
||||||
this.includeSubprocesses = obj.includeSubprocesses;
|
this.includeSubprocesses = obj.includeSubprocesses;
|
||||||
this.includeUnlinkedProcesses = obj.includeUnlinkedProcesses;
|
this.includeUnlinkedProcesses = obj.includeUnlinkedProcesses;
|
||||||
|
this.includeLinkedProcesses = obj.includeLinkedProcesses;
|
||||||
|
|
||||||
this.processVariableKeys = obj.processVariableKeys;
|
this.processVariableKeys = obj.processVariableKeys;
|
||||||
this.processVariableFilters = obj.processVariableFilters;
|
this.processVariableFilters = obj.processVariableFilters;
|
||||||
|
|||||||
+42
@@ -258,6 +258,48 @@ describe('ProcessListCloudService', () => {
|
|||||||
expect(requestBodyParams.includeUnlinkedProcesses).toBeUndefined();
|
expect(requestBodyParams.includeUnlinkedProcesses).toBeUndefined();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('includeLinkedProcesses', () => {
|
||||||
|
it('should include includeLinkedProcesses=true in body', async () => {
|
||||||
|
const processRequest = {
|
||||||
|
appName: 'fakeName',
|
||||||
|
pagination: { skipCount: 0, maxItems: 20 },
|
||||||
|
includeLinkedProcesses: true
|
||||||
|
} as ProcessListRequestModel;
|
||||||
|
requestSpy.and.callFake(returnCallBody);
|
||||||
|
|
||||||
|
const requestBodyParams = await firstValueFrom(service.fetchProcessList(processRequest));
|
||||||
|
|
||||||
|
expect(requestBodyParams).toEqual({ includeLinkedProcesses: true });
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should include includeLinkedProcesses=false in body', async () => {
|
||||||
|
const processRequest = {
|
||||||
|
appName: 'fakeName',
|
||||||
|
pagination: { skipCount: 0, maxItems: 20 },
|
||||||
|
includeLinkedProcesses: false
|
||||||
|
} as ProcessListRequestModel;
|
||||||
|
requestSpy.and.callFake(returnCallBody);
|
||||||
|
|
||||||
|
const requestBodyParams = await firstValueFrom(service.fetchProcessList(processRequest));
|
||||||
|
|
||||||
|
expect(requestBodyParams).toEqual({ includeLinkedProcesses: false });
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should omit includeLinkedProcesses when null', async () => {
|
||||||
|
const processRequest = {
|
||||||
|
appName: 'fakeName',
|
||||||
|
pagination: { skipCount: 0, maxItems: 20 },
|
||||||
|
includeLinkedProcesses: null
|
||||||
|
} as unknown as ProcessListRequestModel;
|
||||||
|
requestSpy.and.callFake(returnCallBody);
|
||||||
|
|
||||||
|
const requestBodyParams = await firstValueFrom(service.fetchProcessList(processRequest));
|
||||||
|
|
||||||
|
expect(requestBodyParams).toEqual({});
|
||||||
|
expect(requestBodyParams.includeLinkedProcesses).toBeUndefined();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('getAdminProcessRequest', () => {
|
describe('getAdminProcessRequest', () => {
|
||||||
|
|||||||
+1
@@ -121,6 +121,7 @@ export class ProcessListCloudService extends BaseCloudService {
|
|||||||
processVariableFilters: requestNode.processVariableFilters,
|
processVariableFilters: requestNode.processVariableFilters,
|
||||||
includeSubprocesses: requestNode.includeSubprocesses,
|
includeSubprocesses: requestNode.includeSubprocesses,
|
||||||
includeUnlinkedProcesses: requestNode.includeUnlinkedProcesses,
|
includeUnlinkedProcesses: requestNode.includeUnlinkedProcesses,
|
||||||
|
includeLinkedProcesses: requestNode.includeLinkedProcesses,
|
||||||
processRelatedTo: requestNode.processRelatedTo
|
processRelatedTo: requestNode.processRelatedTo
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user