[ACA-3074] Fix preselected file loading issue (#5739)

This commit is contained in:
Popovics András
2020-06-02 10:45:39 +02:00
committed by GitHub
parent 2372710f3d
commit 0a4f792854
3 changed files with 23 additions and 7 deletions

View File

@@ -617,6 +617,21 @@ describe('FormCloudComponent', () => {
expect(formComponent.handleError).toHaveBeenCalledWith(error);
});
it('should be able to accept form data after the form has been already loaded once', (done) => {
spyOn(formCloudService, 'getForm').and.returnValue(of(fakeCloudForm));
formComponent.getFormById('test-app', '123');
formComponent.formLoaded.subscribe((form) => {
expect(form).not.toBe(null);
done();
});
const formValues: any[] = [];
const change = new SimpleChange(null, formValues, false);
formComponent.data = formValues;
formComponent.ngOnChanges({ 'data': change });
});
it('should save task form and raise corresponding event', () => {
spyOn(formCloudService, 'saveTaskForm').and.callFake(() => {
return new Observable((observer) => {

View File

@@ -224,6 +224,7 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges,
takeUntil(this.onDestroy$))
.subscribe(
(form) => {
this.formCloudRepresentationJSON = form;
const parsedForm = this.parseForm(form);
this.visibilityService.refreshVisibility(<any> parsedForm);
parsedForm.validateForm();

View File

@@ -185,7 +185,7 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy
}
private selectProcessDefinitionByProcesDefinitionName(processDefinitionName: string): void {
this.filteredProcesses = this.getProcessDefinitionList(processDefinitionName);
this.filteredProcesses = this.getProcessDefinitionListByNameOrKey(processDefinitionName);
if (this.isProcessFormValid() &&
this.filteredProcesses && this.filteredProcesses.length === 1) {
this.setProcessDefinitionOnForm(this.filteredProcesses[0].name);
@@ -200,9 +200,9 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy
this.processPayloadCloud.processDefinitionKey = this.processDefinitionCurrent.key;
}
private getProcessDefinitionList(processDefinition: string): ProcessDefinitionCloud[] {
return this.processDefinitionList.filter((option) => {
return !processDefinition || this.getProcessDefinition(option, processDefinition);
private getProcessDefinitionListByNameOrKey(processDefinitionName: string): ProcessDefinitionCloud[] {
return this.processDefinitionList.filter((processDefinitionCloud) => {
return !processDefinitionName || this.getProcessDefinition(processDefinitionCloud, processDefinitionName);
});
}
@@ -263,9 +263,9 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy
return !!this.processPayloadCloud.processDefinitionKey;
}
private getProcessDefinition(option: ProcessDefinitionCloud, processDefinition: string): boolean {
return (this.isValidName(option.name) && option.name.toLowerCase().includes(processDefinition.toLowerCase())) ||
(option.key && option.key.toLowerCase().includes(processDefinition.toLowerCase()));
private getProcessDefinition(processDefinitionCloud: ProcessDefinitionCloud, processDefinitionName: string): boolean {
return (this.isValidName(processDefinitionCloud.name) && processDefinitionCloud.name.toLowerCase().includes(processDefinitionName.toLowerCase())) ||
(processDefinitionCloud.key && processDefinitionCloud.key.toLowerCase().includes(processDefinitionName.toLowerCase()));
}
isProcessDefinitionsEmpty(): boolean {