alfresco-ng2-components/docs/form.service.md
Andy Stark 4752f3b73e [ADF-2334] Added version and status metadata to doc files (#2974)
* [ADF-2334] Added version and status metadata to doc files

* [ADF-2334] Tidier looking metadata for guide pages
2018-02-22 09:34:21 +00:00

158 lines
6.7 KiB
Markdown

---
Added: v2.0.0
Status: Active
---
# Form service
Implements Process Services form methods
## Basic Usage
```ts
import { FormService, FormEvent, FormFieldEvent } from '@alfresco/adf-core';
@Component(...)
class MyComponent {
constructor(formService: FormService) {
formService.formLoaded.subscribe(
(e: FormEvent) => {
console.log(`Form loaded: ${e.form.id}`);
}
);
formService.formFieldValueChanged.subscribe(
(e: FormFieldEvent) => {
console.log(`Field value changed. Form: ${e.form.id}, Field: ${e.field.id}, Value: ${e.field.value}`);
}
);
}
}
```
### Events
| Name | Args Type | Description |
| ---- | --------- | ----------- |
| formLoaded | FormEvent | Raised when form has been loaded or reloaded |
| formFieldValueChanged | FormFieldEvent | Raised when input values change |
| taskCompleted | FormEvent | Raised when a task is completed successfully |
| taskCompletedError | FormErrorEvent | Raised when a task is completed unsuccessfully |
| taskSaved | FormEvent | Raised when a task is saved successfully |
| taskSavedError | FormErrorEvent | Raised when a task is saved unsuccessfully |
| executeOutcome | FormOutcomeEvent | Raised when a form outcome is executed |
| formEvents | Event | You can subscribe to this event to listen : ( click, blur, change, focus, focusin, focusout, input, invalid, select) of any elements in the form , see doc below |
| validateForm | ValidateFormEvent | Raised each time a form is validated. You can use it to provide custom validation or prevent default behaviour. |
| validateFormField | ValidateFormFieldEvent | Raised each time a form field is validated. You can use it to provide custom validation or prevent default behaviour. |
### Methods
- `parseForm(json: any, data?: FormValues, readOnly: boolean = false): FormModel`
Parses JSON data to create a corresponding Form model.
- `json` - JSON to create the form
- `data` - (Optional) Values for the form fields
- `readOnly` - Should the form fields be read-only?
- `createFormFromANode(formName: string): Observable<any>`
Create a Form with a field for each metadata property.
- `formName` - Name of the new form
- `createForm(formName: string): Observable<any>`
Create a Form.
- `formName` - Name of the new form
- `saveForm(formId: string, formModel: FormDefinitionModel): Observable<any>`
Saves a form.
- `formId` - ID of the form to save
- `formModel` - Model data for the form
- `addFieldsToAForm(formId: string, formModel: FormDefinitionModel): Observable<any>`
- `formId` - ID of the form
- `formModel` - Form definition
- `searchFrom(name: string): Observable<any>`
Search for a form by name.
- `name` - The form name to search for
- `getForms(): Observable<any>`
Gets all the forms.
- `getProcessDefinitions(): Observable<any>`
Get Process Definitions
- `getProcessVarablesById(processInstanceId: string): Observable<any[]>`
Get instance variables for a process.
- `processInstanceId` - ID of the target process
- `getTasks(): Observable<any>`
Gets all the tasks.
- `getTask(taskId: string): Observable<any>`
Gets a task.
- `taskId` - Task Id
- `saveTaskForm(taskId: string, formValues: FormValues): Observable<any>`
Save Task Form.
- `taskId` - Task Id
- `formValues` - Form Values
- `completeTaskForm(taskId: string, formValues: FormValues, outcome?: string): Observable<any>`
Complete Task Form
- `taskId` - Task Id
- `formValues` - Form Values
- `outcome` - (Optional) Form Outcome
- `getTaskForm(taskId: string): Observable<any>`
Get Form related to a taskId
- `taskId` - Task Id
- `getFormDefinitionById(formId: string): Observable<any>`
Get Form Definition
- `formId` - Form Id
- `getFormDefinitionByName(name: string): Observable<any>`
Returns form definition with a given name.
- `name` - The form name
- `getStartFormInstance(processId: string): Observable<any>`
Get start form instance for a given processId
- `processId` - Process definition ID
- `getProcessIntance(processId: string): Observable<any>`
Gets a process instance.
- `processId` - ID of the process to get
- `getStartFormDefinition(processId: string): Observable<any>`
Get start form definition for a given process
- `processId` - Process definition ID
- `getRestFieldValues(taskId: string, field: string): Observable<any>`
Gets values of fields populated by a REST backend.
- `taskId` - Task identifier
- `field` - Field identifier
- `getRestFieldValuesByProcessId(processDefinitionId: string, field: string): Observable<any>`
Gets values of fields populated by a REST backend using a process ID.
- `processDefinitionId` - Process identifier
- `field` - Field identifier
- `getRestFieldValuesColumnByProcessId(processDefinitionId: string, field: string, column?: string): Observable<any>`
Gets column values of fields populated by a REST backend using a process ID.
- `processDefinitionId` - Process identifier
- `field` - Field identifier
- `column` - (Optional) Column identifier
- `getRestFieldValuesColumn(taskId: string, field: string, column?: string): Observable<any>`
Gets column values of fields populated by a REST backend.
- `taskId` - Task identifier
- `field` - Field identifier
- `column` - (Optional) Column identifier
- `getUserProfileImageApi(userId: number): string`
Returns a URL for the profile picture of a user.
- `userId` - ID of the target user
- `getWorkflowUsers(filter: string, groupId?: string): Observable<UserProcessModel[]>`
Gets a list of workflow users.
- `filter` - Filter to select specific users
- `groupId` - (Optional) Group ID for the search
- `getWorkflowGroups(filter: string, groupId?: string): Observable<GroupModel[]>`
Gets a list of groups in a workflow.
- `filter` - Filter to select specific groups
- `groupId` - (Optional) Group ID for the search
- `getFormId(res: any): string`
Gets the ID of a form.
- `res` - Object representing a form
- `toJson(res: any): any`
Creates a JSON representation of form data.
- `res` - Object representing form data
- `toJsonArray(res: any): any`
Creates a JSON array representation of form data.
- `res` - Object representing form data
- `handleError(error: any): Observable<any>`
Reports an error message.
- `error` - Data object with optional \`message\` and \`status\` fields for the error