@eqproject/eqp-dynamic-module 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bundles/eqproject-eqp-dynamic-module.umd.js +3117 -0
- package/bundles/eqproject-eqp-dynamic-module.umd.js.map +1 -0
- package/bundles/eqproject-eqp-dynamic-module.umd.min.js +17 -0
- package/bundles/eqproject-eqp-dynamic-module.umd.min.js.map +1 -0
- package/eqproject-eqp-dynamic-module.d.ts +5 -0
- package/eqproject-eqp-dynamic-module.metadata.json +1 -0
- package/esm2015/eqproject-eqp-dynamic-module.js +6 -0
- package/esm2015/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.js +65 -0
- package/esm2015/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.js +534 -0
- package/esm2015/lib/components/private/add-form-field/add-form-field.component.js +486 -0
- package/esm2015/lib/components/private/dynamic-module-field/dynamic-module-field.component.js +127 -0
- package/esm2015/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.js +181 -0
- package/esm2015/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.js +56 -0
- package/esm2015/lib/components/private/field-templates/date-field-template/date-field-template.component.js +71 -0
- package/esm2015/lib/components/private/field-templates/image-field-template/image-field-template.component.js +54 -0
- package/esm2015/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.js +118 -0
- package/esm2015/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.js +63 -0
- package/esm2015/lib/components/private/field-templates/text-field-template/text-field-template.component.js +51 -0
- package/esm2015/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.js +51 -0
- package/esm2015/lib/components/private/form-records/add-form-record/add-form-record.component.js +126 -0
- package/esm2015/lib/components/private/form-records/list-form-record/list-form-record.component.js +210 -0
- package/esm2015/lib/eqp-dynamic-module.module.js +67 -0
- package/esm2015/lib/interfaces/iBaseFieldComponent.interface.js +1 -0
- package/esm2015/lib/interfaces/iRootObject.interface.js +1 -0
- package/esm2015/lib/models/baseField.model.js +36 -0
- package/esm2015/lib/models/baseObj.model.js +9 -0
- package/esm2015/lib/models/context.model.js +8 -0
- package/esm2015/lib/models/entity.model.js +7 -0
- package/esm2015/lib/models/fields/attachmentField.model.js +22 -0
- package/esm2015/lib/models/fields/booleanField.model.js +12 -0
- package/esm2015/lib/models/fields/dateField.model.js +11 -0
- package/esm2015/lib/models/fields/imageField.model.js +4 -0
- package/esm2015/lib/models/fields/listValueField.model.js +12 -0
- package/esm2015/lib/models/fields/lookupField.model.js +5 -0
- package/esm2015/lib/models/fields/numericField.model.js +5 -0
- package/esm2015/lib/models/fields/testareaField.model.js +4 -0
- package/esm2015/lib/models/fields/textField.model.js +5 -0
- package/esm2015/lib/models/form.model.js +24 -0
- package/esm2015/lib/models/record.model.js +3 -0
- package/esm2015/lib/modules/material.module.js +108 -0
- package/esm2015/lib/services/custom-form-validators.service.js +19 -0
- package/esm2015/lib/services/eqp-dynamic-module-dialog.service.js +104 -0
- package/esm2015/lib/services/utilityHelper.services.js +220 -0
- package/esm2015/public-api.js +37 -0
- package/esm5/eqproject-eqp-dynamic-module.js +6 -0
- package/esm5/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.js +66 -0
- package/esm5/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.js +546 -0
- package/esm5/lib/components/private/add-form-field/add-form-field.component.js +497 -0
- package/esm5/lib/components/private/dynamic-module-field/dynamic-module-field.component.js +128 -0
- package/esm5/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.js +184 -0
- package/esm5/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.js +57 -0
- package/esm5/lib/components/private/field-templates/date-field-template/date-field-template.component.js +72 -0
- package/esm5/lib/components/private/field-templates/image-field-template/image-field-template.component.js +55 -0
- package/esm5/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.js +121 -0
- package/esm5/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.js +64 -0
- package/esm5/lib/components/private/field-templates/text-field-template/text-field-template.component.js +52 -0
- package/esm5/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.js +52 -0
- package/esm5/lib/components/private/form-records/add-form-record/add-form-record.component.js +129 -0
- package/esm5/lib/components/private/form-records/list-form-record/list-form-record.component.js +216 -0
- package/esm5/lib/eqp-dynamic-module.module.js +70 -0
- package/esm5/lib/interfaces/iBaseFieldComponent.interface.js +1 -0
- package/esm5/lib/interfaces/iRootObject.interface.js +1 -0
- package/esm5/lib/models/baseField.model.js +43 -0
- package/esm5/lib/models/baseObj.model.js +13 -0
- package/esm5/lib/models/context.model.js +14 -0
- package/esm5/lib/models/entity.model.js +14 -0
- package/esm5/lib/models/fields/attachmentField.model.js +29 -0
- package/esm5/lib/models/fields/booleanField.model.js +19 -0
- package/esm5/lib/models/fields/dateField.model.js +18 -0
- package/esm5/lib/models/fields/imageField.model.js +11 -0
- package/esm5/lib/models/fields/listValueField.model.js +19 -0
- package/esm5/lib/models/fields/lookupField.model.js +12 -0
- package/esm5/lib/models/fields/numericField.model.js +12 -0
- package/esm5/lib/models/fields/testareaField.model.js +11 -0
- package/esm5/lib/models/fields/textField.model.js +12 -0
- package/esm5/lib/models/form.model.js +39 -0
- package/esm5/lib/models/record.model.js +7 -0
- package/esm5/lib/modules/material.module.js +111 -0
- package/esm5/lib/services/custom-form-validators.service.js +23 -0
- package/esm5/lib/services/eqp-dynamic-module-dialog.service.js +113 -0
- package/esm5/lib/services/utilityHelper.services.js +225 -0
- package/esm5/public-api.js +37 -0
- package/fesm2015/eqproject-eqp-dynamic-module.js +2757 -0
- package/fesm2015/eqproject-eqp-dynamic-module.js.map +1 -0
- package/fesm5/eqproject-eqp-dynamic-module.js +2902 -0
- package/fesm5/eqproject-eqp-dynamic-module.js.map +1 -0
- package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +21 -0
- package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +186 -0
- package/lib/components/private/add-form-field/add-form-field.component.d.ts +160 -0
- package/lib/components/private/dynamic-module-field/dynamic-module-field.component.d.ts +55 -0
- package/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.d.ts +84 -0
- package/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.d.ts +21 -0
- package/lib/components/private/field-templates/date-field-template/date-field-template.component.d.ts +27 -0
- package/lib/components/private/field-templates/image-field-template/image-field-template.component.d.ts +16 -0
- package/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.d.ts +59 -0
- package/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.d.ts +26 -0
- package/lib/components/private/field-templates/text-field-template/text-field-template.component.d.ts +20 -0
- package/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.d.ts +20 -0
- package/lib/components/private/form-records/add-form-record/add-form-record.component.d.ts +50 -0
- package/lib/components/private/form-records/list-form-record/list-form-record.component.d.ts +59 -0
- package/lib/eqp-dynamic-module.module.d.ts +2 -0
- package/lib/interfaces/iBaseFieldComponent.interface.d.ts +8 -0
- package/lib/interfaces/iRootObject.interface.d.ts +10 -0
- package/lib/models/baseField.model.d.ts +56 -0
- package/lib/models/baseObj.model.d.ts +9 -0
- package/lib/models/context.model.d.ts +9 -0
- package/lib/models/entity.model.d.ts +10 -0
- package/lib/models/fields/attachmentField.model.d.ts +17 -0
- package/lib/models/fields/booleanField.model.d.ts +11 -0
- package/lib/models/fields/dateField.model.d.ts +12 -0
- package/lib/models/fields/imageField.model.d.ts +10 -0
- package/lib/models/fields/listValueField.model.d.ts +21 -0
- package/lib/models/fields/lookupField.model.d.ts +10 -0
- package/lib/models/fields/numericField.model.d.ts +9 -0
- package/lib/models/fields/testareaField.model.d.ts +7 -0
- package/lib/models/fields/textField.model.d.ts +7 -0
- package/lib/models/form.model.d.ts +45 -0
- package/lib/models/record.model.d.ts +5 -0
- package/lib/modules/material.module.d.ts +2 -0
- package/lib/services/custom-form-validators.service.d.ts +5 -0
- package/lib/services/eqp-dynamic-module-dialog.service.d.ts +28 -0
- package/lib/services/utilityHelper.services.d.ts +48 -0
- package/package.json +39 -0
- package/public-api.d.ts +35 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3
|
+
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
|
|
4
|
+
import { ConfigColumn, EqpTableComponent } from '@eqproject/eqp-table';
|
|
5
|
+
import { BaseField } from '../../../models/baseField.model';
|
|
6
|
+
import { Context } from '../../../models/context.model';
|
|
7
|
+
import { ActionOnRecord, Form, FormScalarTypeEnum, FormTypeEnum } from '../../../models/form.model';
|
|
8
|
+
export declare class EqpDynamicModuleConfiguratorComponent implements OnInit {
|
|
9
|
+
private formBuilder;
|
|
10
|
+
private dialog;
|
|
11
|
+
context: Context;
|
|
12
|
+
form: Form;
|
|
13
|
+
innerFormManagment: boolean;
|
|
14
|
+
formFormGroup: FormGroup;
|
|
15
|
+
formCompleted: boolean;
|
|
16
|
+
previewForm: Form;
|
|
17
|
+
formFieldGroupName: string;
|
|
18
|
+
actionAutocompleteOptions: Array<{
|
|
19
|
+
label: string;
|
|
20
|
+
value: string;
|
|
21
|
+
}>;
|
|
22
|
+
FormTypeEnum: typeof FormTypeEnum;
|
|
23
|
+
FormScalarTypeEnum: typeof FormScalarTypeEnum;
|
|
24
|
+
fieldsColumns: Array<ConfigColumn>;
|
|
25
|
+
fieldsTable: EqpTableComponent;
|
|
26
|
+
selectedField: BaseField | any;
|
|
27
|
+
indexSelectedField: number;
|
|
28
|
+
actionOnRecordFormGroup: FormGroup;
|
|
29
|
+
dialogFieldRef: MatDialogRef<TemplateRef<any>>;
|
|
30
|
+
dialogField: TemplateRef<any>;
|
|
31
|
+
fieldSectionColumnTemplate: TemplateRef<any>;
|
|
32
|
+
selectedInnerForm: Form;
|
|
33
|
+
indexSelectedInnerForm: number;
|
|
34
|
+
dialogInnerFormRef: MatDialogRef<TemplateRef<any>>;
|
|
35
|
+
dialogInnerForm: TemplateRef<any>;
|
|
36
|
+
actionsOnRecordColumns: Array<ConfigColumn>;
|
|
37
|
+
actionsOnRecordTable: EqpTableComponent;
|
|
38
|
+
selectedAction: ActionOnRecord;
|
|
39
|
+
indexSelectedAction: number;
|
|
40
|
+
dialogActionOnRecordRef: MatDialogRef<TemplateRef<any>>;
|
|
41
|
+
dialogActionOnRecord: TemplateRef<any>;
|
|
42
|
+
saveFormEvent: EventEmitter<Form>;
|
|
43
|
+
constructor(formBuilder: FormBuilder, dialog: MatDialog);
|
|
44
|
+
ngOnInit(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Metodo invocato al cambio del tipo di visualizzazione della form.
|
|
47
|
+
* Se l'utente sceglie una visualizzazione raggruppata il metodo aggiunge al FormGroup un nuovo
|
|
48
|
+
* controllo per l'array dei nomi delle sezioni da creare.
|
|
49
|
+
*/
|
|
50
|
+
onChangeFormScalarType(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Evento invocato al keyup nell'input per inserire i nomi delle sezioni per la visualizzazione
|
|
53
|
+
* raggruppata della form. Quanto l'utente preme il tasto invio viene aggiunto il nuovo nome alle
|
|
54
|
+
* sezioni dispobili se non ne esiste una con lo stesso nome.
|
|
55
|
+
* @param event Evento che rappresenta il keyup sulla tastiera.
|
|
56
|
+
*/
|
|
57
|
+
onFormFieldGroupNameKeyUp(event: any): void;
|
|
58
|
+
/**
|
|
59
|
+
* Metodo per rimuovere la sezione selezionata da quelle disponibili per la form.
|
|
60
|
+
* @param groupName Nome della sezione da eliminare.
|
|
61
|
+
*/
|
|
62
|
+
onDeleteFormFieldGroupName(groupName: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* Metodo chiamato quando si vuole aggiungere un nuovo campo o si vuole modificare uno esistente.
|
|
65
|
+
* Memorizza l'eventuale Field scelto one crea uno nuovo prima di aprire il dialog per modificarlo/aggiungerlo.
|
|
66
|
+
* @param field Oggetto BaseField da modificare. Se null ne viene creata una nuova istanza per l'aggiunta.
|
|
67
|
+
*/
|
|
68
|
+
openFieldDialog(field?: BaseField): void;
|
|
69
|
+
/**
|
|
70
|
+
* Metodo che salva il campo appena creato o modificato.
|
|
71
|
+
* Prima del salvataggio controlla se esiste un altro campo con la stessa label, in questo
|
|
72
|
+
* case genere un errore (i campi devono avere nomi, e quindi label, univoche - i nomi vengono
|
|
73
|
+
* ricavati unendo le parole che formano la label tramite "_").
|
|
74
|
+
* @param field Campo da salvare
|
|
75
|
+
*/
|
|
76
|
+
onSaveField(field: BaseField): void;
|
|
77
|
+
/**
|
|
78
|
+
* Metodo che controlla se lo step per l'aggiunta dei campi nella form è concluso.
|
|
79
|
+
* @returns Se TRUE lo step viene considerato completato ed è possbile passare al successivo.
|
|
80
|
+
*/
|
|
81
|
+
isFieldStepCompleted(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Metodo per aprire il dialog di creazione/modifica delle form di dettaglio.
|
|
84
|
+
* Se il parametro passato è null sono in aggiunta altrimenti sono in modifica.
|
|
85
|
+
* @param innenrForm Form di dettaglio da modificare (se null allora vado in add).
|
|
86
|
+
*/
|
|
87
|
+
openInnerFormDialog(innenrForm?: Form): void;
|
|
88
|
+
/**
|
|
89
|
+
* Metodo scatenato al salvataggio di una form di dettaglio.
|
|
90
|
+
* @param event Form creata/modificata dall'utente. Se è null allora l'utente ha abbandonato la configurazione.
|
|
91
|
+
*/
|
|
92
|
+
onSaveOrExitInnerForm(event: Form): void;
|
|
93
|
+
/**
|
|
94
|
+
* Metodo per aprire il dialog di creazione/modifica delle action.
|
|
95
|
+
* Se il parametro passato è null sono in aggiunta altrimenti sono in modifica.
|
|
96
|
+
* @param action ActionOnRecord da modificare (se null allora vado in add).
|
|
97
|
+
*/
|
|
98
|
+
openActionOnRecordDialog(action?: ActionOnRecord): void;
|
|
99
|
+
/**
|
|
100
|
+
* Metodo per impostare i valori da suggerire nell'autocomplete del campo Formula.
|
|
101
|
+
* Viene scatenato al focus (in questo caso viene passato il parametro a null per differenziarlo
|
|
102
|
+
* dall'evento di click sulla tastiera) e al keyup sull'input (il parametro è diverso da null).
|
|
103
|
+
* @param keyboardEvent Evento scatenato al keyup sulla tastiera. Se null allora il metodo è stato invocato dal focus sull'input.
|
|
104
|
+
* @summary Aggiorna l'elenco dei suggerimenti per l'autocomplete se l'utente esegue il focus sull'input
|
|
105
|
+
* oppure al keyup sulla tastiera di un tasto diverso dalle frecce.
|
|
106
|
+
*/
|
|
107
|
+
setActionAutocompleteOptions(keyboardEvent: KeyboardEvent): void;
|
|
108
|
+
/**
|
|
109
|
+
* Metodo per salvare l'azione creata/modificate.
|
|
110
|
+
*/
|
|
111
|
+
saveActionOnRecord(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Metodo per chiudere il dialog di gestione delle action.
|
|
114
|
+
*/
|
|
115
|
+
closeDialogActionOnRecord(): void;
|
|
116
|
+
/**
|
|
117
|
+
* Metodo per segnare come conclusa la creazione della form e per crearne una copia
|
|
118
|
+
* da visalizzare come anteprima.
|
|
119
|
+
* @param completed Se TRUE segna la form come conclusa e ne crea una copia da visualizzare
|
|
120
|
+
*/
|
|
121
|
+
setFormStatus(completed: boolean): void;
|
|
122
|
+
/**
|
|
123
|
+
* Metodo che scatena l'evento di output per salvare la form creata alla fine del wizard
|
|
124
|
+
*/
|
|
125
|
+
saveForm(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Configura le colonne per le tabelle necessarie alla creazione della form:
|
|
128
|
+
* - per la visualizzazione dei campi inseriti
|
|
129
|
+
* - per le form di dettaglio create
|
|
130
|
+
* - per le azioni configurate sui record della form
|
|
131
|
+
*/
|
|
132
|
+
private configureColumns;
|
|
133
|
+
/**
|
|
134
|
+
* Crea il FormGroup per l'oggetto Form
|
|
135
|
+
*/
|
|
136
|
+
private createFormForm;
|
|
137
|
+
/**
|
|
138
|
+
* Crea il FormGroup epr l'aggiunta o la modifica di una action sui record della Form.
|
|
139
|
+
*/
|
|
140
|
+
private createActionOnRecordForm;
|
|
141
|
+
/**
|
|
142
|
+
* Chiude il dialog per aggiungere/modificare un Field senza salvare
|
|
143
|
+
*/
|
|
144
|
+
private closeFieldDialog;
|
|
145
|
+
/**
|
|
146
|
+
* Metodo per gestire l'apertura del dialog per la modifica di un Field.
|
|
147
|
+
* Se il field è di tipo "Form di dettaglio" apre il dialog per la modifica di una
|
|
148
|
+
* InnerForm altrimenti apre quello per la modifica di un Field.
|
|
149
|
+
* @param field Campo da modificare
|
|
150
|
+
*/
|
|
151
|
+
private editField;
|
|
152
|
+
/**
|
|
153
|
+
* Metodo per rimuovere un Field all'interno di una Form.
|
|
154
|
+
* Richiede conferma all'utente prima di rimuoverlo.
|
|
155
|
+
* @param field BaseField da rimuovere
|
|
156
|
+
*/
|
|
157
|
+
private deleteElement;
|
|
158
|
+
/**
|
|
159
|
+
* Metodo per spostare un campo all'interno della form.
|
|
160
|
+
* @param field Oggetto di tipo BaseField da spostare.
|
|
161
|
+
* @param moveUp Se TRUE allora sposta verso l'alto il campo (abbassa l'indice) altrimenti il contrario.
|
|
162
|
+
*/
|
|
163
|
+
private moveElement;
|
|
164
|
+
/**
|
|
165
|
+
* Imposta l'ordinamento delle sezioni che compongono la form.
|
|
166
|
+
*/
|
|
167
|
+
private setFormFieldGroupOrdinalPosition;
|
|
168
|
+
/**
|
|
169
|
+
* Imposta l'ordinamento dei campi all'interno della form in base all'ordine che l'utente
|
|
170
|
+
* ha definito nella tabella in cui sono mostrati
|
|
171
|
+
*/
|
|
172
|
+
private setFieldOrdinalPosition;
|
|
173
|
+
/**
|
|
174
|
+
* Metodo per ricaricare i dati della tabella dei campi aggiunti in una form
|
|
175
|
+
*/
|
|
176
|
+
private reloadFieldsTable;
|
|
177
|
+
/**
|
|
178
|
+
* Imposta l'ordinamento dei campi all'interno della form in base all'ordine che l'utente
|
|
179
|
+
* ha definito nella tabella in cui sono mostrati
|
|
180
|
+
*/
|
|
181
|
+
private setActionOrdinalPosition;
|
|
182
|
+
/**
|
|
183
|
+
* Metodo per ricaricare i dati della tabella delle azioni aggiuntive sui record della Form.
|
|
184
|
+
*/
|
|
185
|
+
private reloadActionsOnRecordTable;
|
|
186
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3
|
+
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
|
|
4
|
+
import { EnumHelper } from '@eqproject/eqp-select';
|
|
5
|
+
import { ConfigColumn, EqpTableComponent } from '@eqproject/eqp-table';
|
|
6
|
+
import { BaseField, ColSpanSizesEnum, FieldTypeEnum } from '../../../models/baseField.model';
|
|
7
|
+
import { BoolPresentantioEnum } from '../../../models/fields/booleanField.model';
|
|
8
|
+
import { DateTimeTypeEnum } from '../../../models/fields/dateField.model';
|
|
9
|
+
import { ListPresentationEnum } from '../../../models/fields/listValueField.model';
|
|
10
|
+
import { FormFieldGroup } from '../../../models/form.model';
|
|
11
|
+
export declare class AddFormFieldComponent implements OnInit {
|
|
12
|
+
private formBuilder;
|
|
13
|
+
private enumHelper;
|
|
14
|
+
private dialog;
|
|
15
|
+
field: BaseField | any;
|
|
16
|
+
indexField: number;
|
|
17
|
+
formFieldsGroups: Array<FormFieldGroup>;
|
|
18
|
+
/** Elenco dei Field creati nella form, usati per popolare l'autocomplete della proprietà Formula. */
|
|
19
|
+
availableFields: Array<BaseField>;
|
|
20
|
+
fieldTypesToExclude: Array<FieldTypeEnum>;
|
|
21
|
+
fieldFormGroup: FormGroup;
|
|
22
|
+
keyValueObject: {
|
|
23
|
+
key: string;
|
|
24
|
+
value: string;
|
|
25
|
+
};
|
|
26
|
+
availableColSpanSizes: Array<ColSpanSizesEnum>;
|
|
27
|
+
formulaAutocompleteOptions: Array<{
|
|
28
|
+
label: string;
|
|
29
|
+
value: string;
|
|
30
|
+
}>;
|
|
31
|
+
AvailableFileExtensions: {
|
|
32
|
+
key: string;
|
|
33
|
+
value: string;
|
|
34
|
+
}[];
|
|
35
|
+
AvailableImageExtensions: {
|
|
36
|
+
key: string;
|
|
37
|
+
value: string;
|
|
38
|
+
}[];
|
|
39
|
+
saveFieldEvent: EventEmitter<BaseField | any>;
|
|
40
|
+
fieldTypeFormTemplate: TemplateRef<any>;
|
|
41
|
+
textFieldFormTemplate: TemplateRef<any>;
|
|
42
|
+
textareaFieldFormTemplate: TemplateRef<any>;
|
|
43
|
+
booleadFieldFormTemplate: TemplateRef<any>;
|
|
44
|
+
dateFieldFormTemplate: TemplateRef<any>;
|
|
45
|
+
numericFieldFormTemplate: TemplateRef<any>;
|
|
46
|
+
attachmentFieldFormTemplate: TemplateRef<any>;
|
|
47
|
+
imageFieldFormTemplate: TemplateRef<any>;
|
|
48
|
+
listValueFieldFormTemplate: TemplateRef<any>;
|
|
49
|
+
lookupFieldFormTemplate: TemplateRef<any>;
|
|
50
|
+
metadataColumns: Array<ConfigColumn>;
|
|
51
|
+
metadataFieldsTable: EqpTableComponent;
|
|
52
|
+
selectedMetadata: BaseField;
|
|
53
|
+
indexSelectedMetadata: number;
|
|
54
|
+
dialogMetadataRef: MatDialogRef<TemplateRef<any>>;
|
|
55
|
+
dialogMetadata: TemplateRef<any>;
|
|
56
|
+
FieldTypeEnum: typeof FieldTypeEnum;
|
|
57
|
+
BoolPresentantioEnum: typeof BoolPresentantioEnum;
|
|
58
|
+
DateTimeTypeEnum: typeof DateTimeTypeEnum;
|
|
59
|
+
ListPresentationEnum: typeof ListPresentationEnum;
|
|
60
|
+
constructor(formBuilder: FormBuilder, enumHelper: EnumHelper, dialog: MatDialog);
|
|
61
|
+
ngOnInit(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Metodo per impostare i valori da suggerire nell'autocomplete del campo Formula.
|
|
64
|
+
* Viene scatenato al focus (in questo caso viene passato il parametro a null per differenziarlo
|
|
65
|
+
* dall'evento di click sulla tastiera) e al keyup sull'input (il parametro è diverso da null).
|
|
66
|
+
* @param keyboardEvent Evento scatenato al keyup sulla tastiera. Se null allora il metodo è stato invocato dal focus sull'input.
|
|
67
|
+
* @summary Aggiorna l'elenco dei suggerimenti per l'autocomplete se l'utente esegue il focus sull'input
|
|
68
|
+
* oppure al keyup sulla tastiera di un tasto diverso dalle frecce.
|
|
69
|
+
*/
|
|
70
|
+
setFormulaAutocompleteOptions(keyboardEvent: KeyboardEvent): void;
|
|
71
|
+
/**
|
|
72
|
+
* Crea il FormGroup per l'aggiunta di un nuovo campo all'interno della form.
|
|
73
|
+
* Metodo richiamato ogni volta che cambia il tipo del campo scelto o viene aggiunto/modificato un Field
|
|
74
|
+
*/
|
|
75
|
+
createFieldForm(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Metodo chiamato quando cambia il FieldType del BaseField che si sta aggiungendo/modificando.
|
|
78
|
+
* Ricrea l'oggetto field popolando solo le proprietà del BaseField inserite dall'utente
|
|
79
|
+
* (quelle comuni a tutte le tipologie di campo), ricrea la form e, in base al FieldType scelto,
|
|
80
|
+
* aggiunge alla form i FormControl necessari e seleziona il template corretto da usare.
|
|
81
|
+
* @param restoreField Se TRUE ripristina i valori base (ereditati dal modello BaseField) del campo aggiunto/modificato
|
|
82
|
+
*/
|
|
83
|
+
onFieldTypeChange(restoreField?: boolean): void;
|
|
84
|
+
/**
|
|
85
|
+
* Metodo invocato alla selezione di una classe nella select per le colonne di bootstrap
|
|
86
|
+
* da usare nella visualizzazione del campo. Questa funzione manipola la sorgente dati per
|
|
87
|
+
* la eqp-select in modo da escludere i valori dell'enumeratore che fanno riferimento ad
|
|
88
|
+
* una larghezza di schermo già selezionata. Esempio: per gli schermi piccoli (sm) l'utente
|
|
89
|
+
* seleziona la classe "col-sm-6", al change del valore questo metodo rimuove dalla select
|
|
90
|
+
* tutti gli altri valori per la grandezza di schermo selezionata.
|
|
91
|
+
*/
|
|
92
|
+
onColSizeSelect(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Metodo chiamato al keyup degli input testuali che prevedono l'aggiunta del valore inserito in un array.
|
|
95
|
+
* Se l'utente preme il tasto invio, in base al tipo di campo che sta inserendo/modificando, questo metodo
|
|
96
|
+
* aggiunge il valore inserito dall'utente nella lista di stringhe corretta (in input viene passato il nome
|
|
97
|
+
* della proprietà in cui inserire la stringa).
|
|
98
|
+
* @param event Evento che rappresenta il keyup dell'utente
|
|
99
|
+
* @param propertyName Nome della proprietà del field in cui inserire la stringa digitata.
|
|
100
|
+
*/
|
|
101
|
+
onMultiSelectInputKeyup(event: any, propertyName: string): void;
|
|
102
|
+
/**
|
|
103
|
+
* Metodo chiamato per mostrare come elenco le opzioni aggiunte in un campo di tipo "Elenco generico".
|
|
104
|
+
* @returns Restituisce un array di oggetti del tipo { key: string, value: string } con i valori inseriti dall'utente.
|
|
105
|
+
*/
|
|
106
|
+
getDictionaryKeyValue(): {
|
|
107
|
+
key: string;
|
|
108
|
+
value: any;
|
|
109
|
+
}[];
|
|
110
|
+
/**
|
|
111
|
+
* Metodo per rimuovere una opzione aggiunta al campo di tipo "Elenco generico"
|
|
112
|
+
* @param key Nome della chiave da rimuovere
|
|
113
|
+
*/
|
|
114
|
+
deleteKeyFromDictionary(key: string): void;
|
|
115
|
+
/**
|
|
116
|
+
* Metodo per aprire il dialog per aggiungere/modificare un metadata in un campo di tipo Allegato o Immagine.
|
|
117
|
+
* @param metadata Metadata da modificare, se null allora ne sto creando uno nuovo.
|
|
118
|
+
*/
|
|
119
|
+
openMetadataDialog(field?: BaseField): void;
|
|
120
|
+
/**
|
|
121
|
+
* Metodo invocato dall'output dal dialog per aggiungere/modificare un metadata
|
|
122
|
+
* nei campi di tipo Allegato o Immagine. Prima di aggiungere il metadata nell'elenco
|
|
123
|
+
* contolla se esiste un altro metadata con lo stesso nome e nel caso genera un errore
|
|
124
|
+
* (i metadata, come per i campi della form, devono avere un nome univoco).
|
|
125
|
+
* @param metadata Metadata aggiunto o modificato, se null allora il dialog è stato chiuso senza fare modifiche.
|
|
126
|
+
*/
|
|
127
|
+
onSaveMetadata(metadata: BaseField): void;
|
|
128
|
+
/**
|
|
129
|
+
* Metodo per disabilitare il pulsante per salvare il campo inserito/modificato.
|
|
130
|
+
* @returns Restituisce un booleano, se true il salvataggio viene disabilitato.
|
|
131
|
+
*/
|
|
132
|
+
disableSaveField(): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Metodo per salvare il campo inserito/modificato.
|
|
135
|
+
* Se è stato inserito un field con la stessa label viene generato un errore (le label devono essere univoche).
|
|
136
|
+
* Una volta aggiunto/aggiornato il campo nell'elenco dei Field della Form chiude il dialog e ricarica la tabella
|
|
137
|
+
* che mostra l'elenco dei campi aggiunti alla form.
|
|
138
|
+
*/
|
|
139
|
+
saveAndExitAddField(save: boolean): void;
|
|
140
|
+
/**
|
|
141
|
+
* Metodo per ripristinare l'oggetto field al cambio del tipo selezionato.
|
|
142
|
+
* Lascia valorizzate solo le proprietà dell'oggetto BaseField comune a tutti i tipi di campo.
|
|
143
|
+
*/
|
|
144
|
+
private restoreBaseFieldProperties;
|
|
145
|
+
private configureColumns;
|
|
146
|
+
/**
|
|
147
|
+
* Metodo per eliminare un metadata aggiunto per un campo di tipo Allegato o Immagine.
|
|
148
|
+
* @param metadata Metadata da eliminare.
|
|
149
|
+
*/
|
|
150
|
+
private deleteMetadata;
|
|
151
|
+
/**
|
|
152
|
+
* Imposta l'ordinamento dei metadata all'interno dei campi di tipo Allegato e Immagine.
|
|
153
|
+
*/
|
|
154
|
+
private setMetadataOrdinalPosition;
|
|
155
|
+
/**
|
|
156
|
+
* Metodo per ricaricare i dati della tabella dei metadata visualizzata nella creazione/modifica
|
|
157
|
+
* dei campi di tipo Allegato o Immagine.
|
|
158
|
+
*/
|
|
159
|
+
private reloadMetadataTable;
|
|
160
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { EventEmitter, OnInit, QueryList, TemplateRef } from '@angular/core';
|
|
2
|
+
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { IBaseFieldComponent } from '../../../interfaces/iBaseFieldComponent.interface';
|
|
4
|
+
import { BaseField, FieldTypeEnum } from '../../../models/baseField.model';
|
|
5
|
+
import { Form } from '../../../models/form.model';
|
|
6
|
+
import { Record } from '../../../models/record.model';
|
|
7
|
+
import { ListFormRecordComponent } from '../form-records/list-form-record/list-form-record.component';
|
|
8
|
+
export declare class DynamicModuleFieldComponent implements OnInit, IBaseFieldComponent {
|
|
9
|
+
private dialog;
|
|
10
|
+
field: BaseField;
|
|
11
|
+
form: Form;
|
|
12
|
+
record: Record;
|
|
13
|
+
recordChange: EventEmitter<Record>;
|
|
14
|
+
FieldTypeEnum: typeof FieldTypeEnum;
|
|
15
|
+
selectedInnerForm: Form;
|
|
16
|
+
selectedInnerFormRecord: Record;
|
|
17
|
+
indexInnerFormRecord: number;
|
|
18
|
+
onlyViewInnerFormRecord: boolean;
|
|
19
|
+
dialogInnerFormRecordRef: MatDialogRef<TemplateRef<any>>;
|
|
20
|
+
dialogInnerFormRecord: TemplateRef<any>;
|
|
21
|
+
fieldTemplate: QueryList<DynamicModuleFieldComponent>;
|
|
22
|
+
listInnerFormRecords: QueryList<ListFormRecordComponent>;
|
|
23
|
+
constructor(dialog: MatDialog);
|
|
24
|
+
updateField(): void;
|
|
25
|
+
ngOnInit(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Metodo invocato al cambio del valore di ogni proprietà dell'oggetto record.
|
|
28
|
+
* Serve ad aggiornare il valore di tutti i campi che hanno una formula.
|
|
29
|
+
*/
|
|
30
|
+
onRecordChange(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Metodo per recuperare una InnerForm a partire dal Field che la rappresenta.
|
|
33
|
+
* @param field Campo a partire dal quale si vuole recuperare la InnerForm.
|
|
34
|
+
* @returns Restituisce un oggetto di tipo Form.
|
|
35
|
+
*/
|
|
36
|
+
getInnerFormFromField(field: BaseField): Form;
|
|
37
|
+
/**
|
|
38
|
+
* Metodo per aprire un dialog in cui aggiungere/modificare/visualizzare un record appartenente
|
|
39
|
+
* a una form di dettaglio.
|
|
40
|
+
* @param record Evento di output del componente list-form-record, contiene il record selezionato e un booleno che indica
|
|
41
|
+
* se l'utente vuole modificare o visualizzare l'elemento selezionato.
|
|
42
|
+
* @param innerForm Contiene la Form di dettaglio dalla quale è stato richiesto il record.
|
|
43
|
+
*/
|
|
44
|
+
onAddViewEditInnerFormRecord(record: {
|
|
45
|
+
record: Record;
|
|
46
|
+
onlyView: boolean;
|
|
47
|
+
}, field: BaseField): void;
|
|
48
|
+
/**
|
|
49
|
+
* Metodo invocato al salvataggio o alla chiusura del dialog di aggiunta/modifica/visualizzazione
|
|
50
|
+
* di un record di una form di dettaglio.
|
|
51
|
+
* @param record Oggetto restituito dal componente add-form-field (questo qui) contenente il Record
|
|
52
|
+
* aggiornato dall'utente. Se null allora l'utente non ha modificato nulla e ha chiuso il dialog.
|
|
53
|
+
*/
|
|
54
|
+
onSaveInnerFormRecord(record: Record): void;
|
|
55
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
|
|
2
|
+
import { Record } from '../../../../models/record.model';
|
|
3
|
+
import { AttachmentField } from '../../../../models/fields/attachmentField.model';
|
|
4
|
+
import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
|
|
5
|
+
import { UtilityHelperService } from '../../../../services/utilityHelper.services';
|
|
6
|
+
import { EqpAttachmentsComponent } from '@eqproject/eqp-attachments';
|
|
7
|
+
import { FormGroup } from '@angular/forms';
|
|
8
|
+
import { ConfigColumn } from '@eqproject/eqp-table';
|
|
9
|
+
export declare class AttachmentFieldTemplateComponent implements OnInit, OnChanges, IBaseFieldComponent, AfterViewInit {
|
|
10
|
+
utilityService: UtilityHelperService;
|
|
11
|
+
private cdr;
|
|
12
|
+
onlyImages: boolean;
|
|
13
|
+
field: AttachmentField;
|
|
14
|
+
record: Record;
|
|
15
|
+
recordChange: EventEmitter<Record>;
|
|
16
|
+
eqpAttachments: EqpAttachmentsComponent;
|
|
17
|
+
metadataColumnTemplate: TemplateRef<any>;
|
|
18
|
+
metadataFormGroups: Array<FormGroup>;
|
|
19
|
+
previewLabel: string;
|
|
20
|
+
emptyTableMessage: string;
|
|
21
|
+
downloadTooltipPosition: string;
|
|
22
|
+
openLinkLabel: string;
|
|
23
|
+
addButtonLabel: string;
|
|
24
|
+
downloadLabel: string;
|
|
25
|
+
deleteLabel: string;
|
|
26
|
+
fileNameLabel: string;
|
|
27
|
+
uploadFileLabel: string;
|
|
28
|
+
confirmLabel: string;
|
|
29
|
+
abortLabel: string;
|
|
30
|
+
saveLabel: string;
|
|
31
|
+
exitLabel: string;
|
|
32
|
+
eqpTableSearchText: string;
|
|
33
|
+
deleteDialogTitle: string;
|
|
34
|
+
deleteDialogMessage: string;
|
|
35
|
+
noImageSelectedErrorMessage: string;
|
|
36
|
+
constructor(utilityService: UtilityHelperService, cdr: ChangeDetectorRef);
|
|
37
|
+
ngOnInit(): void;
|
|
38
|
+
ngAfterViewInit(): void;
|
|
39
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
40
|
+
/**
|
|
41
|
+
* Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
|
|
42
|
+
*/
|
|
43
|
+
updateField(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Metodo per intercettare le modifiche agli allegati caricati.
|
|
46
|
+
* Se il campo prevede dei metadata allora per ogni allegato caricato crea un FormGroup
|
|
47
|
+
* per gestire la validazione degli input che l'utente può/deve riempire. I FormGroup
|
|
48
|
+
* seguono lo stesso ordine degli allegati caricati.
|
|
49
|
+
* @param event Contiene la lista aggiornata degli Attachment caricati dall'utente.
|
|
50
|
+
*/
|
|
51
|
+
catchAttachmentList(event: any): void;
|
|
52
|
+
/**
|
|
53
|
+
* Metodo per aggiornare lo stato di validazione del FormControl che rappresenta
|
|
54
|
+
* il campo Allegato (non i metadata al suo interno). Se tra le form dei metadata
|
|
55
|
+
* ne trova una invalida allora marca il controllo come invalido.
|
|
56
|
+
*/
|
|
57
|
+
updateMetadataValidity(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Metodo per recuperare il BaseField che rappresenta il metadata nella riga della eqp-table
|
|
60
|
+
* in base alla colonna e alla riga. Una volta trovato il BaseField gli viene associato il
|
|
61
|
+
* FormGroup di cui fa parte.
|
|
62
|
+
* @param col Colonna della eqp-table.
|
|
63
|
+
* @param row Riga della eqp-table (in questo caso eredita da IAttachment).
|
|
64
|
+
* @returns Restituisce un BaseField per renderizzare il campo nella eqp-table degli allegati multipli.
|
|
65
|
+
*/
|
|
66
|
+
getFieldFromMetadata(col: ConfigColumn, row: any): any;
|
|
67
|
+
/**
|
|
68
|
+
* Metodo per aggiornare il valore e il validator del FormControl associato al campo.
|
|
69
|
+
*/
|
|
70
|
+
private setFormControlValue;
|
|
71
|
+
/**
|
|
72
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
73
|
+
*/
|
|
74
|
+
private onRecordValueChange;
|
|
75
|
+
/**
|
|
76
|
+
* Metodo per aggiungere alle colonne di eqp-attachments le colonne per modificare i metadata
|
|
77
|
+
* configurati per il campo Allegato o Immagine.
|
|
78
|
+
*/
|
|
79
|
+
private configureMultiAttachmentColumns;
|
|
80
|
+
/**
|
|
81
|
+
* Metodo per creare i FormGroup che rappresentano i metadata degli allegati caricati.
|
|
82
|
+
*/
|
|
83
|
+
private createMetadataFormGroups;
|
|
84
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Record } from '../../../../models/record.model';
|
|
3
|
+
import { BooleanField, BoolPresentantioEnum } from '../../../../models/fields/booleanField.model';
|
|
4
|
+
import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
|
|
5
|
+
export declare class BooleanFieldTemplateComponent implements OnInit, OnChanges, IBaseFieldComponent {
|
|
6
|
+
field: BooleanField;
|
|
7
|
+
record: Record;
|
|
8
|
+
recordChange: EventEmitter<Record>;
|
|
9
|
+
BoolPresentantioEnum: typeof BoolPresentantioEnum;
|
|
10
|
+
constructor();
|
|
11
|
+
ngOnInit(): void;
|
|
12
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
13
|
+
/**
|
|
14
|
+
* Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
|
|
15
|
+
*/
|
|
16
|
+
updateField(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
19
|
+
*/
|
|
20
|
+
onRecordValueChange(): void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { PickerModeEnum } from '@eqproject/eqp-datetimepicker';
|
|
3
|
+
import { Record } from '../../../../models/record.model';
|
|
4
|
+
import { DateField } from '../../../../models/fields/dateField.model';
|
|
5
|
+
import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
|
|
6
|
+
export declare class DateFieldTemplateComponent implements OnInit, OnChanges, IBaseFieldComponent {
|
|
7
|
+
field: DateField;
|
|
8
|
+
record: Record;
|
|
9
|
+
recordChange: EventEmitter<Record>;
|
|
10
|
+
pickerMode: PickerModeEnum;
|
|
11
|
+
constructor();
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
14
|
+
/**
|
|
15
|
+
* Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
|
|
16
|
+
*/
|
|
17
|
+
updateField(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
20
|
+
*/
|
|
21
|
+
onRecordValueChange(): void;
|
|
22
|
+
/**
|
|
23
|
+
* In base al formato della data richiesta nel DateField (solo data, solo orario o data e ora)
|
|
24
|
+
* imposta la visualizzazione corretta del componente eqp-datetimepicker.
|
|
25
|
+
*/
|
|
26
|
+
private setTimeType;
|
|
27
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { ImageField } from '../../../../models/fields/imageField.model';
|
|
3
|
+
import { Record } from '../../../../models/record.model';
|
|
4
|
+
import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
|
|
5
|
+
export declare class ImageFieldTemplateComponent implements OnInit, OnChanges, IBaseFieldComponent {
|
|
6
|
+
record: Record;
|
|
7
|
+
field: ImageField;
|
|
8
|
+
recordChange: EventEmitter<Record>;
|
|
9
|
+
constructor();
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
12
|
+
/**
|
|
13
|
+
* Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
|
|
14
|
+
*/
|
|
15
|
+
updateField(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Record } from '../../../../models/record.model';
|
|
3
|
+
import { ListPresentationEnum, ListValueField } from '../../../../models/fields/listValueField.model';
|
|
4
|
+
import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
|
|
5
|
+
export declare class ListValueFieldTemplateComponent implements OnInit, OnChanges, IBaseFieldComponent {
|
|
6
|
+
field: ListValueField;
|
|
7
|
+
record: Record;
|
|
8
|
+
recordChange: EventEmitter<Record>;
|
|
9
|
+
ListPresentationEnum: typeof ListPresentationEnum;
|
|
10
|
+
arrayData: {
|
|
11
|
+
Key: string;
|
|
12
|
+
Value: any;
|
|
13
|
+
Selected?: boolean;
|
|
14
|
+
}[];
|
|
15
|
+
constructor();
|
|
16
|
+
ngOnInit(): void;
|
|
17
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
18
|
+
/**
|
|
19
|
+
* Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
|
|
20
|
+
*/
|
|
21
|
+
updateField(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Metodo per recuperare la classe da applicare al button (nella relativa visualizzazione).
|
|
24
|
+
* Se il pulsante è stato selezionato imposta la classe "selected-button".
|
|
25
|
+
* @param data Oggetto bindato al pulsante
|
|
26
|
+
* @returns Restituisce la classe da applicare tramite [ngClass]
|
|
27
|
+
*/
|
|
28
|
+
getSelectButtonClass(data: {
|
|
29
|
+
Key: string;
|
|
30
|
+
Value: any;
|
|
31
|
+
Selected?: boolean;
|
|
32
|
+
}): string;
|
|
33
|
+
/**
|
|
34
|
+
* Metodo invocato quando viene selezionata un'opzione nella visualizzazione a button
|
|
35
|
+
* @param data Rappresenta l'oggetto selezionato
|
|
36
|
+
*/
|
|
37
|
+
buttonSelectClick(data: {
|
|
38
|
+
Key: string;
|
|
39
|
+
Value: any;
|
|
40
|
+
Selected?: boolean;
|
|
41
|
+
}): void;
|
|
42
|
+
/**
|
|
43
|
+
* Metodo per aggiornare il/i valore/i selezionato/i dall'utente.
|
|
44
|
+
* @param emitChange Se true scatena l'evento di output della modifica del valore di record
|
|
45
|
+
*/
|
|
46
|
+
updateSelected(emitChange?: boolean): void;
|
|
47
|
+
/**
|
|
48
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
49
|
+
*/
|
|
50
|
+
onRecordValueChange(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Metodo per creare un array di oggetti del tipo { Key: string, Value: any } da usare come sorgente dati per la eqp-select.
|
|
53
|
+
*/
|
|
54
|
+
private setArrayData;
|
|
55
|
+
/**
|
|
56
|
+
* Metodo per aggiornare il valore e il validator del FormControl associato al campo.
|
|
57
|
+
*/
|
|
58
|
+
private setFormControlValue;
|
|
59
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { NumericMaskConfig } from '@eqproject/eqp-numeric';
|
|
3
|
+
import { Record } from '../../../../models/record.model';
|
|
4
|
+
import { NumericField } from '../../../../models/fields/numericField.model';
|
|
5
|
+
import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
|
|
6
|
+
export declare class NumericFieldTemplateComponent implements OnInit, OnChanges, IBaseFieldComponent {
|
|
7
|
+
field: NumericField;
|
|
8
|
+
record: Record;
|
|
9
|
+
recordChange: EventEmitter<Record>;
|
|
10
|
+
eqpNumericOptions: Partial<NumericMaskConfig>;
|
|
11
|
+
constructor();
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
14
|
+
/**
|
|
15
|
+
* Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
|
|
16
|
+
*/
|
|
17
|
+
updateField(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
20
|
+
*/
|
|
21
|
+
onRecordValueChange(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Metodo per configurare eqp-numeric
|
|
24
|
+
*/
|
|
25
|
+
private configureEqpNumericOptions;
|
|
26
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Record } from '../../../../models/record.model';
|
|
3
|
+
import { TextField } from '../../../../models/fields/textField.model';
|
|
4
|
+
import { IBaseFieldComponent } from '../../../../interfaces/iBaseFieldComponent.interface';
|
|
5
|
+
export declare class TextFieldTemplateComponent implements OnInit, OnChanges, IBaseFieldComponent {
|
|
6
|
+
field: TextField;
|
|
7
|
+
record: Record;
|
|
8
|
+
recordChange: EventEmitter<Record>;
|
|
9
|
+
constructor();
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
12
|
+
/**
|
|
13
|
+
* Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
|
|
14
|
+
*/
|
|
15
|
+
updateField(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
18
|
+
*/
|
|
19
|
+
onRecordValueChange(): void;
|
|
20
|
+
}
|