demo/demo.service.ts
Methods |
|
Public getForm |
getForm()
|
Defined in demo/demo.service.ts:212
|
Returns :
any[]
|
import { Injectable } from '@angular/core';
const groups: any[] = [
{
'code': 'G-01',
'description': 'Fieldset Group',
'type': 'group',
'questions': [
{
'name': 'Q-0100',
'description': 'Check Question 0100',
'type': 'checkbox',
'defaultOption': false,
'validations': [
{ 'type': 'pattern', 'message': 'Required field.', 'value': 'true' }
]
},
{
'name': 'Q-0101',
'description': 'Radio Question 0101',
'type': 'radio',
'options': ['Option 1', 'Option 2'],
'defaultOption': 'Option 1',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'disabled': true
},
{
'name': 'Q-0102',
'description': 'Select Question 0102',
'type': 'select',
'options': [
{ 'value': 'op-1', 'description': 'Option 1' },
{ 'value': 'op-2', 'description': 'Option 2' },
{ 'value': 'op-3', 'description': 'Option 3' }
],
'editableOption': 'op-1',
'placeholder': 'Select',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'answer': { 'value': 'op-2', 'id': 1 }
},
{
'name': 'Q-0103',
'description': 'Select Question 0103',
'type': 'select',
'options': ['Option 1', 'Option 2'],
'editableOption': 'Option 2',
'placeholder': 'Select',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
]
},
{
'name': 'Q-0104',
'description': 'Text Question 0104',
'type': 'text',
'answer': '200',
'placeholder': 'Text Question 0104',
'validations': [
{ 'type': 'required', 'message': 'Required field.' },
{ 'type': 'minlength', 'message': 'Min Length: 3', 'value': 3 },
{ 'type': 'maxlength', 'message': 'Max Length: 10', 'value': 10 }
]
},
{
'name': 'Q-0105',
'description': 'Text Question 0105',
'type': 'text',
'placeholder': 'Text Question 0105',
'validations': [
{ 'type': 'required', 'message': 'Required field.' },
{ 'type': 'pattern', 'message': 'Format: 00000-000', 'value': '^\\d{5}-\\d{3}$' }
],
'mask': '00000-000'
},
{
'name': 'Q-0106',
'description': 'TextArea Question 0106',
'type': 'textarea',
'placeholder': 'TextArea Question 0106',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'dependencies': [
{ 'code': 'Q-0103', 'criteria': 'equals', 'expectedAnswer': 'Option 1' }
]
},
{
'name': 'Q-0107',
'description': 'Text Question 0107',
'type': 'text',
'placeholder': 'Text Question 0107',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'dependencies': [
{ 'code': 'Q-0104', 'criteria': 'lessthan', 'expectedAnswer': '300' },
{ 'code': 'Q-0104', 'criteria': 'notequals', 'expectedAnswer': '100' },
{ 'code': 'Q-0104', 'criteria': 'greaterthan', 'expectedAnswer': '100' },
{ 'code': 'Q-0104', 'criteria': 'lessthanorequals', 'expectedAnswer': '300' }
]
},
{
'name': 'Q-0108',
'description': 'Text Question 0108',
'type': 'text',
'placeholder': 'Text Question 0108',
'validations': [
{ 'type': 'min', 'message': 'Min value: 1.', 'value': '1' },
{ 'type': 'max', 'message': 'Max value: 10.', 'value': '10' }
]
},
{
'name': 'Q-0109',
'description': 'Text Question 0109',
'type': 'text',
'placeholder': 'Text Question 0109',
'validations': [
{ 'type': 'email', 'message': 'Invalid e-mail.' }
]
}
]
},
{
'code': 'G-02',
'description': 'DataTable Group',
'type': 'datatable',
'validations': [
{ 'type': 'required', 'message': 'Min number of registers: 1.' },
{ 'type': 'minlength', 'message': 'Min number of registers: 1.', 'value': 1 },
{ 'type': 'maxlength', 'message': 'Max number of registers: 3.', 'value': 3 }
],
'questions': [
[
{
'name': 'Q-0201',
'description': 'Select Question 0201',
'type': 'select',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'options': ['Option 1', 'Option 2', 'Option 3'],
'editableOption': 'Option 3',
'placeholder': 'Select'
},
{
'name': 'Q-0202',
'description': 'Text Question 0202',
'type': 'text',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'placeholder': 'Text Question 0202'
}
],
[
{
'name': 'Q-0201',
'description': 'Select Question 0201',
'type': 'select',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'options': ['Option 1', 'Option 2', 'Option 3'],
'placeholder': 'Select',
'answer': { 'value': 'Option 2', 'id': 1 }
},
{
'name': 'Q-0202',
'description': 'Text Question 0202',
'type': 'text',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'placeholder': 'Text Question 0202',
'answer': { 'value': 'Answer 0202', 'id': 1 }
}
],
[
{
'name': 'Q-0201',
'description': 'Select Question 0201',
'type': 'select',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'options': ['Option 1', 'Option 2', 'Option 3'],
'placeholder': 'Select',
'answer': { 'value': 'Option 3', 'id': 2 }
},
{
'name': 'Q-0202',
'description': 'Text Question 0202',
'type': 'text',
'validations': [
{ 'type': 'required', 'message': 'Required field.' }
],
'placeholder': 'Text Question 0202',
'answer': { 'value': 'Answer 0202 2', 'id': 2 }
}
]
]
}
];
@Injectable()
export class DemoService {
public getForm(): any[] {
return groups;
}
}