diff --git a/demo-shell/src/app/app.module.ts b/demo-shell/src/app/app.module.ts
index 14dd77cee5..60b2d6e54e 100644
--- a/demo-shell/src/app/app.module.ts
+++ b/demo-shell/src/app/app.module.ts
@@ -72,6 +72,7 @@ import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.compo
import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component';
import { ProcessesCloudDemoComponent } from './components/cloud/processes-cloud-demo.component';
import { TaskDetailsCloudDemoComponent } from './components/cloud/task-details-cloud-demo.component';
+import { CloudViewerComponent } from './components/cloud/cloud-viewer.component';
import { ProcessDetailsCloudDemoComponent } from './components/cloud/process-details-cloud-demo.component';
import { StartTaskCloudDemoComponent } from './components/cloud/start-task-cloud-demo.component';
import { StartProcessCloudDemoComponent } from './components/cloud/start-process-cloud-demo.component';
@@ -139,6 +140,7 @@ import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/
TasksCloudDemoComponent,
ProcessesCloudDemoComponent,
TaskDetailsCloudDemoComponent,
+ CloudViewerComponent,
ProcessDetailsCloudDemoComponent,
StartTaskCloudDemoComponent,
StartProcessCloudDemoComponent,
diff --git a/demo-shell/src/app/app.routes.ts b/demo-shell/src/app/app.routes.ts
index b7f17bb126..10441b9c7c 100644
--- a/demo-shell/src/app/app.routes.ts
+++ b/demo-shell/src/app/app.routes.ts
@@ -47,6 +47,7 @@ import { ProcessesCloudDemoComponent } from './components/cloud/processes-cloud-
import { StartTaskCloudDemoComponent } from './components/cloud/start-task-cloud-demo.component';
import { StartProcessCloudDemoComponent } from './components/cloud/start-process-cloud-demo.component';
import { TaskDetailsCloudDemoComponent } from './components/cloud/task-details-cloud-demo.component';
+import { CloudViewerComponent } from './components/cloud/cloud-viewer.component';
import { ProcessDetailsCloudDemoComponent } from './components/cloud/process-details-cloud-demo.component';
import { TemplateDemoComponent } from './components/template-list/template-demo.component';
import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/cloud-form-demo.component';
@@ -152,6 +153,7 @@ export const appRoutes: Routes = [
path: 'cloud',
canActivate: [AuthGuardSsoRoleService],
data: { roles: ['ACTIVITI_USER'], redirectUrl: '/error/403'},
+
children: [
{
path: '',
@@ -192,6 +194,10 @@ export const appRoutes: Routes = [
path: 'task-details/:taskId',
component: TaskDetailsCloudDemoComponent
},
+ {
+ path: 'task-details/:taskId/files/:nodeId/view',
+ component: CloudViewerComponent
+ },
{
path: 'process-details/:processInstanceId',
component: ProcessDetailsCloudDemoComponent
diff --git a/demo-shell/src/app/components/cloud/cloud-viewer.component.css b/demo-shell/src/app/components/cloud/cloud-viewer.component.css
new file mode 100644
index 0000000000..0e5cdfdd65
--- /dev/null
+++ b/demo-shell/src/app/components/cloud/cloud-viewer.component.css
@@ -0,0 +1,3 @@
+.activiti-form-viewer {
+ margin: 10px;
+}
diff --git a/demo-shell/src/app/components/cloud/cloud-viewer.component.html b/demo-shell/src/app/components/cloud/cloud-viewer.component.html
new file mode 100644
index 0000000000..f224ceba15
--- /dev/null
+++ b/demo-shell/src/app/components/cloud/cloud-viewer.component.html
@@ -0,0 +1,4 @@
+
+
diff --git a/demo-shell/src/app/components/cloud/cloud-viewer.component.ts b/demo-shell/src/app/components/cloud/cloud-viewer.component.ts
new file mode 100644
index 0000000000..a65bfe0b5c
--- /dev/null
+++ b/demo-shell/src/app/components/cloud/cloud-viewer.component.ts
@@ -0,0 +1,46 @@
+/*!
+ * @license
+ * Copyright 2019 Alfresco Software, Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Component, OnDestroy, OnInit } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+import { Subscription } from 'rxjs';
+import { Params } from '@angular/router/src/shared';
+
+@Component({
+ selector: 'app-cloud-viewer',
+ templateUrl: './cloud-viewer.component.html'
+})
+export class CloudViewerComponent implements OnInit, OnDestroy {
+
+ nodeId: string;
+
+ private sub: Subscription;
+
+ constructor(private route: ActivatedRoute) {
+ }
+
+ ngOnInit() {
+ this.sub = this.route.params.subscribe((params: Params) => {
+ this.nodeId = params['nodeId'];
+ });
+ }
+
+ ngOnDestroy() {
+ this.sub.unsubscribe();
+ }
+
+}
diff --git a/demo-shell/src/app/components/cloud/task-details-cloud-demo.component.ts b/demo-shell/src/app/components/cloud/task-details-cloud-demo.component.ts
index 3f590ba456..d003313993 100644
--- a/demo-shell/src/app/components/cloud/task-details-cloud-demo.component.ts
+++ b/demo-shell/src/app/components/cloud/task-details-cloud-demo.component.ts
@@ -69,6 +69,10 @@ export class TaskDetailsCloudDemoComponent {
this.goBack();
}
+ onFormContentClicked(resourceId) {
+ this.router.navigate([`/cloud/${this.appName}/task-details/${this.taskId}/files/${resourceId.nodeId}/view`]);
+ }
+
onFormSaved() {
this.notificationService.openSnackMessage('Task has been saved successfully');
}
diff --git a/lib/core/form/components/widgets/core/form-field.model.ts b/lib/core/form/components/widgets/core/form-field.model.ts
index 56a6cc9e71..c3c3957e16 100644
--- a/lib/core/form/components/widgets/core/form-field.model.ts
+++ b/lib/core/form/components/widgets/core/form-field.model.ts
@@ -374,10 +374,11 @@ export class FormFieldModel extends FormWidgetModel {
}
break;
case FormFieldTypes.UPLOAD:
+ this.form.hasUpload = true;
if (this.value && this.value.length > 0) {
this.form.values[this.id] = this.value.map((elem) => elem.id).join(',');
} else {
- this.form.values[this.id] = null;
+ this.form.values[this.id] = [];
}
break;
case FormFieldTypes.TYPEAHEAD:
diff --git a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.spec.ts
index 342f5a7c97..2486aa13f0 100644
--- a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.spec.ts
+++ b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.spec.ts
@@ -17,7 +17,7 @@
import { SimpleChange } from '@angular/core';
import { Observable, of, throwError } from 'rxjs';
-import { FormFieldModel, FormFieldTypes, FormOutcomeEvent, FormOutcomeModel, LogService, WidgetVisibilityService } from '@alfresco/adf-core';
+import { FormFieldModel, FormFieldTypes, FormService, FormOutcomeEvent, FormOutcomeModel, LogService, WidgetVisibilityService } from '@alfresco/adf-core';
import { FormCloudService } from '../services/form-cloud.service';
import { FormCloudComponent } from './form-cloud.component';
import { FormCloud } from '../models/form-cloud.model';
@@ -25,7 +25,8 @@ import { cloudFormMock } from '../mocks/cloud-form.mock';
describe('FormCloudComponent', () => {
- let formService: FormCloudService;
+ let formCloudService: FormCloudService;
+ let formService: FormService;
let formComponent: FormCloudComponent;
let visibilityService: WidgetVisibilityService;
let logService: LogService;
@@ -34,8 +35,9 @@ describe('FormCloudComponent', () => {
logService = new LogService(null);
visibilityService = new WidgetVisibilityService(null, logService);
spyOn(visibilityService, 'refreshVisibility').and.stub();
- formService = new FormCloudService(null, null, logService);
- formComponent = new FormCloudComponent(formService, visibilityService);
+ formCloudService = new FormCloudService(null, null, logService);
+ formService = new FormService(null, null, logService);
+ formComponent = new FormCloudComponent(formCloudService, formService, null, visibilityService);
});
it('should check form', () => {
@@ -144,15 +146,15 @@ describe('FormCloudComponent', () => {
});
it('should get task variables if a task form is rendered', () => {
- spyOn(formService, 'getTaskForm').and.callFake((currentTaskId) => {
+ spyOn(formCloudService, 'getTaskForm').and.callFake((currentTaskId) => {
return new Observable((observer) => {
observer.next({ formRepresentation: { taskId: currentTaskId }});
observer.complete();
});
});
- spyOn(formService, 'getTaskVariables').and.returnValue(of({}));
- spyOn(formService, 'getTask').and.callFake((currentTaskId) => {
+ spyOn(formCloudService, 'getTaskVariables').and.returnValue(of({}));
+ spyOn(formCloudService, 'getTask').and.callFake((currentTaskId) => {
return new Observable((observer) => {
observer.next({ formRepresentation: { taskId: currentTaskId }});
observer.complete();
@@ -165,25 +167,25 @@ describe('FormCloudComponent', () => {
formComponent.taskId = taskId;
formComponent.loadForm();
- expect(formService.getTaskVariables).toHaveBeenCalledWith(appName, taskId);
+ expect(formCloudService.getTaskVariables).toHaveBeenCalledWith(appName, taskId);
});
it('should not get task variables and form if task id is not specified', () => {
- spyOn(formService, 'getTaskForm').and.callFake((currentTaskId) => {
+ spyOn(formCloudService, 'getTaskForm').and.callFake((currentTaskId) => {
return new Observable((observer) => {
observer.next({ taskId: currentTaskId });
observer.complete();
});
});
- spyOn(formService, 'getTaskVariables').and.returnValue(of({}));
+ spyOn(formCloudService, 'getTaskVariables').and.returnValue(of({}));
formComponent.appName = 'test-app';
formComponent.taskId = null;
formComponent.loadForm();
- expect(formService.getTaskForm).not.toHaveBeenCalled();
- expect(formService.getTaskVariables).not.toHaveBeenCalled();
+ expect(formCloudService.getTaskForm).not.toHaveBeenCalled();
+ expect(formCloudService.getTaskVariables).not.toHaveBeenCalled();
});
it('should get form definition by form id on load', () => {
@@ -200,7 +202,7 @@ describe('FormCloudComponent', () => {
});
it('should refresh visibility when the form is loaded', () => {
- spyOn(formService, 'getForm').and.returnValue(of({formRepresentation: {formDefinition: {}}}));
+ spyOn(formCloudService, 'getForm').and.returnValue(of({formRepresentation: {formDefinition: {}}}));
const formId = '123';
const appName = 'test-app';
@@ -208,7 +210,7 @@ describe('FormCloudComponent', () => {
formComponent.formId = formId;
formComponent.loadForm();
- expect(formService.getForm).toHaveBeenCalledWith(appName, formId);
+ expect(formCloudService.getForm).toHaveBeenCalledWith(appName, formId);
expect(visibilityService.refreshVisibility).toHaveBeenCalled();
});
@@ -376,12 +378,12 @@ describe('FormCloudComponent', () => {
const appName = 'test-app';
const taskId = '456';
- spyOn(formService, 'getTask').and.returnValue(of({}));
- spyOn(formService, 'getTaskVariables').and.returnValue(of({}));
- spyOn(formService, 'getTaskForm').and.returnValue(of({formRepresentation: {taskId: taskId, formDefinition: {selectedOutcome: 'custom-outcome'}}}));
+ spyOn(formCloudService, 'getTask').and.returnValue(of({}));
+ spyOn(formCloudService, 'getTaskVariables').and.returnValue(of({}));
+ spyOn(formCloudService, 'getTaskForm').and.returnValue(of({formRepresentation: {taskId: taskId, formDefinition: {selectedOutcome: 'custom-outcome'}}}));
formComponent.formLoaded.subscribe(() => {
- expect(formService.getTaskForm).toHaveBeenCalledWith(appName, taskId);
+ expect(formCloudService.getTaskForm).toHaveBeenCalledWith(appName, taskId);
expect(formComponent.form).toBeDefined();
expect(formComponent.form.taskId).toBe(taskId);
done();
@@ -395,10 +397,10 @@ describe('FormCloudComponent', () => {
it('should handle error when getting form by task id', (done) => {
const error = 'Some error';
- spyOn(formService, 'getTask').and.returnValue(of({}));
- spyOn(formService, 'getTaskVariables').and.returnValue(of({}));
+ spyOn(formCloudService, 'getTask').and.returnValue(of({}));
+ spyOn(formCloudService, 'getTaskVariables').and.returnValue(of({}));
spyOn(formComponent, 'handleError').and.stub();
- spyOn(formService, 'getTaskForm').and.callFake(() => {
+ spyOn(formCloudService, 'getTaskForm').and.callFake(() => {
return throwError(error);
});
@@ -409,7 +411,7 @@ describe('FormCloudComponent', () => {
});
it('should fetch and parse form definition by id', (done) => {
- spyOn(formService, 'getForm').and.callFake((currentAppName, currentFormId) => {
+ spyOn(formCloudService, 'getForm').and.callFake((currentAppName, currentFormId) => {
return new Observable((observer) => {
observer.next({ formRepresentation: {id: currentFormId, formDefinition: {}}});
observer.complete();
@@ -433,14 +435,14 @@ describe('FormCloudComponent', () => {
const error = 'Some error';
spyOn(formComponent, 'handleError').and.stub();
- spyOn(formService, 'getForm').and.callFake(() => throwError(error));
+ spyOn(formCloudService, 'getForm').and.callFake(() => throwError(error));
formComponent.getFormById('test-app', '123');
expect(formComponent.handleError).toHaveBeenCalledWith(error);
});
it('should save task form and raise corresponding event', () => {
- spyOn(formService, 'saveTaskForm').and.callFake(() => {
+ spyOn(formCloudService, 'saveTaskForm').and.callFake(() => {
return new Observable((observer) => {
observer.next();
observer.complete();
@@ -475,14 +477,14 @@ describe('FormCloudComponent', () => {
formComponent.saveTaskForm();
- expect(formService.saveTaskForm).toHaveBeenCalledWith(appName, formModel.taskId, formModel.id, formModel.values);
+ expect(formCloudService.saveTaskForm).toHaveBeenCalledWith(appName, formModel.taskId, formModel.id, formModel.values);
expect(saved).toBeTruthy();
expect(savedForm).toEqual(formModel);
});
it('should handle error during form save', () => {
const error = 'Error';
- spyOn(formService, 'saveTaskForm').and.callFake(() => throwError(error));
+ spyOn(formCloudService, 'saveTaskForm').and.callFake(() => throwError(error));
spyOn(formComponent, 'handleError').and.stub();
const taskId = '123-223';
@@ -509,7 +511,7 @@ describe('FormCloudComponent', () => {
});
it('should require form with appName and taskId to save', () => {
- spyOn(formService, 'saveTaskForm').and.stub();
+ spyOn(formCloudService, 'saveTaskForm').and.stub();
formComponent.form = null;
formComponent.saveTaskForm();
@@ -523,11 +525,11 @@ describe('FormCloudComponent', () => {
formComponent.taskId = '123';
formComponent.saveTaskForm();
- expect(formService.saveTaskForm).not.toHaveBeenCalled();
+ expect(formCloudService.saveTaskForm).not.toHaveBeenCalled();
});
it('should require form with appName and taskId to complete', () => {
- spyOn(formService, 'completeTaskForm').and.stub();
+ spyOn(formCloudService, 'completeTaskForm').and.stub();
formComponent.form = null;
formComponent.completeTaskForm('save');
@@ -540,11 +542,11 @@ describe('FormCloudComponent', () => {
formComponent.taskId = '123';
formComponent.completeTaskForm('complete');
- expect(formService.completeTaskForm).not.toHaveBeenCalled();
+ expect(formCloudService.completeTaskForm).not.toHaveBeenCalled();
});
it('should complete form and raise corresponding event', () => {
- spyOn(formService, 'completeTaskForm').and.callFake(() => {
+ spyOn(formCloudService, 'completeTaskForm').and.callFake(() => {
return new Observable((observer) => {
observer.next();
observer.complete();
@@ -575,7 +577,7 @@ describe('FormCloudComponent', () => {
formComponent.appName = appName;
formComponent.completeTaskForm(outcome);
- expect(formService.completeTaskForm).toHaveBeenCalledWith(appName, formModel.taskId, formModel.id, formModel.values, outcome);
+ expect(formCloudService.completeTaskForm).toHaveBeenCalledWith(appName, formModel.taskId, formModel.id, formModel.values, outcome);
expect(completed).toBeTruthy();
});
@@ -714,7 +716,7 @@ describe('FormCloudComponent', () => {
formComponent.onOutcomeClicked(outcome);
});
- it('should refresh form values when data is changed', () => {
+ it('should refresh form values when data is changed', (done) => {
formComponent.form = new FormCloud(JSON.parse(JSON.stringify(cloudFormMock)));
let formFields = formComponent.form.getFormFields();
@@ -723,17 +725,23 @@ describe('FormCloudComponent', () => {
expect(labelField.value).toBeNull();
expect(radioField.value).toBeUndefined();
- const formValues: any[] = [{name: 'text1', value: 'test'}, {name: 'number1', value: 23}];
+ const formValues: any[] = [{name: 'text1', value: 'test'}, {name: 'number1', value: 99}];
const change = new SimpleChange(null, formValues, false);
formComponent.data = formValues;
+
+ formComponent.formLoaded.subscribe( (form) => {
+ formFields = form.getFormFields();
+ labelField = formFields.find((field) => field.id === 'text1');
+ radioField = formFields.find((field) => field.id === 'number1');
+ expect(labelField.value).toBe('test');
+ expect(radioField.value).toBe(99);
+
+ done();
+ });
+
formComponent.ngOnChanges({ 'data': change });
- formFields = formComponent.form.getFormFields();
- labelField = formFields.find((field) => field.id === 'text1');
- radioField = formFields.find((field) => field.id === 'number1');
- expect(labelField.value).toBe('test');
- expect(radioField.value).toBe(23);
});
it('should refresh radio buttons value when id is given to data', () => {
diff --git a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts
index f0a832a0a0..6d4f80ef89 100644
--- a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts
+++ b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts
@@ -22,7 +22,7 @@ import {
import { Observable, of, forkJoin } from 'rxjs';
import { switchMap } from 'rxjs/operators';
import { Subscription } from 'rxjs';
-import { FormBaseComponent, FormFieldModel, FormOutcomeEvent, FormOutcomeModel, WidgetVisibilityService } from '@alfresco/adf-core';
+import { FormBaseComponent, FormFieldModel, FormOutcomeEvent, FormOutcomeModel, WidgetVisibilityService, FormService, NotificationService } from '@alfresco/adf-core';
import { FormCloudService } from '../services/form-cloud.service';
import { FormCloud } from '../models/form-cloud.model';
import { TaskVariableCloud } from '../models/task-variable-cloud.model';
@@ -81,12 +81,21 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
@Output()
formDataRefreshed: EventEmitter = new EventEmitter();
+ @Output()
+ formContentClicked: EventEmitter = new EventEmitter();
+
protected subscriptions: Subscription[] = [];
nodeId: string;
- constructor(protected formService: FormCloudService,
+ constructor(protected formCloudService: FormCloudService,
+ protected formService: FormService,
+ private notificationService: NotificationService,
protected visibilityService: WidgetVisibilityService) {
super();
+
+ this.formService.formContentClicked.subscribe((content: any) => {
+ this.formContentClicked.emit(content);
+ });
}
ngOnChanges(changes: SimpleChanges) {
@@ -136,10 +145,10 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
}
findProcessVariablesByTaskId(appName: string, taskId: string): Observable {
- return this.formService.getTask(appName, taskId).pipe(
+ return this.formCloudService.getTask(appName, taskId).pipe(
switchMap((task: any) => {
if (this.isAProcessTask(task)) {
- return this.formService.getTaskVariables(appName, taskId);
+ return this.formCloudService.getTaskVariables(appName, taskId);
} else {
return of({});
}
@@ -153,8 +162,8 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
getFormByTaskId(appName, taskId: string): Promise {
return new Promise((resolve, reject) => {
- forkJoin(this.formService.getTaskForm(appName, taskId),
- this.formService.getTaskVariables(appName, taskId))
+ forkJoin(this.formCloudService.getTaskForm(appName, taskId),
+ this.formCloudService.getTaskVariables(appName, taskId))
.subscribe(
(data) => {
this.data = data[1];
@@ -163,7 +172,6 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
this.visibilityService.refreshVisibility( parsedForm);
parsedForm.validateForm();
this.form = parsedForm;
- this.form.nodeId = this.nodeId;
this.onFormLoaded(this.form);
resolve(this.form);
},
@@ -176,17 +184,8 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
});
}
- async getFormDefinitionWithFolderTask(appName: string, taskId: string) {
- await this.getFolderTask(appName, taskId);
- await this.getFormByTaskId(appName, taskId);
- }
-
- async getFolderTask(appName: string, taskId: string) {
- this.nodeId = await this.formService.getProcessStorageFolderTask(appName, taskId).toPromise();
- }
-
getFormById(appName: string, formId: string) {
- this.formService
+ this.formCloudService
.getForm(appName, formId)
.subscribe(
(form) => {
@@ -195,7 +194,6 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
this.visibilityService.refreshVisibility( parsedForm);
parsedForm.validateForm();
this.form = parsedForm;
- this.form.nodeId = this.nodeId;
this.onFormLoaded(this.form);
},
(error) => {
@@ -204,9 +202,37 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
);
}
+ getFormDefinitionWithFolderTask(appName: string, taskId: string) {
+ this.getFormDefinitionWithFolderByTaskId(appName, taskId);
+ }
+
+ async getFormDefinitionWithFolderByTaskId(appName: string, taskId: string) {
+ try {
+ await this.getFormByTaskId(appName, taskId);
+
+ const hasUploadWidget = ( this.form).hasUpload;
+ if (hasUploadWidget) {
+ try {
+ await this.getFolderTask(appName, taskId);
+ this.form.nodeId = this.nodeId;
+ } catch (error) {
+ this.notificationService.openSnackMessage('The content repo is not configured');
+ }
+ }
+
+ } catch (error) {
+ this.notificationService.openSnackMessage('Form service an error occour');
+ }
+
+ }
+
+ async getFolderTask(appName: string, taskId: string) {
+ this.nodeId = await this.formCloudService.getProcessStorageFolderTask(appName, taskId).toPromise();
+ }
+
saveTaskForm() {
if (this.form && this.appName && this.taskId) {
- this.formService
+ this.formCloudService
.saveTaskForm(this.appName, this.taskId, this.form.id, this.form.values)
.subscribe(
() => {
@@ -219,7 +245,7 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
completeTaskForm(outcome?: string) {
if (this.form && this.appName && this.taskId) {
- this.formService
+ this.formCloudService
.completeTaskForm(this.appName, this.taskId, this.form.id, this.form.values, outcome)
.subscribe(
() => {
@@ -232,7 +258,7 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges {
parseForm(json: any): FormCloud {
if (json) {
- const form = new FormCloud(json, this.data, this.readOnly, this.formService);
+ const form = new FormCloud(json, this.data, this.readOnly, this.formCloudService);
if (!json.formRepresentation.formDefinition || !json.formRepresentation.formDefinition.fields) {
form.outcomes = this.getFormDefinitionOutcomes(form);
}
diff --git a/lib/process-services-cloud/src/lib/form/components/upload-cloud.widget.html b/lib/process-services-cloud/src/lib/form/components/upload-cloud.widget.html
index 1e8b6a207f..2bfe986a4f 100644
--- a/lib/process-services-cloud/src/lib/form/components/upload-cloud.widget.html
+++ b/lib/process-services-cloud/src/lib/form/components/upload-cloud.widget.html
@@ -2,13 +2,13 @@
[class.adf-invalid]="!field.isValid"
[class.adf-readonly]="field.readOnly">
-