@eqproject/eqp-dynamic-module 2.0.11 → 2.0.12

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.
Files changed (44) hide show
  1. package/esm2020/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +133 -136
  2. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +9 -10
  3. package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +200 -117
  4. package/esm2020/lib/components/private/add-formula-field/add-formula-field.component.mjs +7 -7
  5. package/esm2020/lib/components/private/dynamic-module-field/dynamic-module-field.component.mjs +4 -4
  6. package/esm2020/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +4 -4
  7. package/esm2020/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +4 -4
  8. package/esm2020/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +4 -4
  9. package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +4 -4
  10. package/esm2020/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +4 -4
  11. package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +4 -4
  12. package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +4 -4
  13. package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +4 -4
  14. package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +4 -4
  15. package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +164 -23
  16. package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +262 -92
  17. package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +424 -0
  18. package/esm2020/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.mjs +4 -4
  19. package/esm2020/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +160 -0
  20. package/esm2020/lib/components/private/spinner/spinner.component.mjs +4 -4
  21. package/esm2020/lib/eqp-dynamic-module.module.mjs +11 -5
  22. package/esm2020/lib/models/DynamicModuleViewModeEnum.mjs +6 -4
  23. package/esm2020/lib/models/endPointConfiguration.model.mjs +60 -1
  24. package/esm2020/lib/models/record.model.mjs +1 -1
  25. package/esm2020/lib/modules/material.module.mjs +5 -5
  26. package/esm2020/lib/services/eqp-dynamic-module-dialog.service.mjs +4 -4
  27. package/esm2020/lib/services/spinner.service.mjs +4 -4
  28. package/esm2020/lib/services/utilityHelper.services.mjs +5 -5
  29. package/esm2020/lib/services/voice-recognition.service.mjs +4 -4
  30. package/fesm2015/eqproject-eqp-dynamic-module.mjs +1527 -509
  31. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
  32. package/fesm2020/eqproject-eqp-dynamic-module.mjs +1522 -506
  33. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
  34. package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +24 -8
  35. package/lib/components/private/add-form-field/add-form-field.component.d.ts +13 -13
  36. package/lib/components/private/form-records/add-form-record/add-form-record.component.d.ts +18 -3
  37. package/lib/components/private/form-records/list-form-record/list-form-record.component.d.ts +47 -26
  38. package/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.d.ts +110 -0
  39. package/lib/components/private/form-records/view-form-record/view-form-record.component.d.ts +32 -0
  40. package/lib/eqp-dynamic-module.module.d.ts +18 -16
  41. package/lib/models/DynamicModuleViewModeEnum.d.ts +5 -3
  42. package/lib/models/endPointConfiguration.model.d.ts +1 -0
  43. package/lib/models/record.model.d.ts +2 -0
  44. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, EventEmitter, OnInit } from "@angular/core";
1
+ import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnInit } from "@angular/core";
2
2
  import { Context } from "../../../models/context.model";
3
3
  import { DynamicModuleCompileConfig } from "../../../models/dynamicModuleCompileConfig.model";
4
4
  import { DynamicModuleGeneralConfig } from "../../../models/dynamicModuleGeneralConfig.model";
@@ -13,6 +13,7 @@ import { UtilityHelperService } from "../../../services/utilityHelper.services";
13
13
  import * as i0 from "@angular/core";
14
14
  export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit {
15
15
  private utilityHelperService;
16
+ private changeDetector;
16
17
  configurations: DynamicModuleGeneralConfig;
17
18
  formID: string;
18
19
  starterViewMode: DynamicModuleViewModeEnum;
@@ -24,6 +25,7 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
24
25
  FormJSON: string;
25
26
  defaultListActions: DynamicModuleListFormRecordActionsDefault;
26
27
  onSaveBackToList: boolean;
28
+ onBackTo: DynamicModuleViewModeEnum;
27
29
  context: Context;
28
30
  /**
29
31
  * Url del server da chiamare per recuperare, salvare o eliminare i record.
@@ -68,10 +70,9 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
68
70
  dynamicModuleListConfig: DynamicModuleListConfig;
69
71
  dynamicModuleRepairConfig: DynamicModuleRepairConfig;
70
72
  loader: boolean;
71
- constructor(utilityHelperService: UtilityHelperService);
73
+ constructor(utilityHelperService: UtilityHelperService, changeDetector: ChangeDetectorRef);
72
74
  ngOnInit(): Promise<void>;
73
75
  ngAfterViewInit(): void;
74
- getFormByID(id?: string): void;
75
76
  /**
76
77
  * Metodo per configurare gli endpoint da usare di default a partire dall'url base del server
77
78
  * a cui si deve connettere e al token da passare per autenticarsi.
@@ -85,7 +86,7 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
85
86
  * La risposta della chiamata deve essere un array di oggetti di tipo "DynRecord"
86
87
  * a partire dai quali vengono ricreati i Record usati nel client.
87
88
  */
88
- getRecordsByFormID(): Promise<void>;
89
+ onGoBack(): void;
89
90
  /**
90
91
  * Metodo invocato quando si vuole aggiungere, visualizzare o modificare un record.
91
92
  * Se l'evento è null vuol dire che stiamo aggiungendo un nuovo record altrimenti siamo in modifica
@@ -100,12 +101,25 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
100
101
  onlyView: boolean;
101
102
  }): void;
102
103
  /**
103
- * Metodo per salvare il record aggiunto o modificato.
104
- * Se è stato configurato un endPoint per il salvataggio viene effettuata una chiamata al server passando l'oggeto da salvare
105
- * nel body della chiamata, altrimenti scatena l'evento "saveRecord".
104
+ * Metodo invocato quando si vuole aggiungere, visualizzare o modificare un record.
105
+ * Se l'evento è null vuol dire che stiamo aggiungendo un nuovo record altrimenti siamo in modifica
106
+ * o visualizzazione. In questi ultimi due casi, se è stato configurato un endpoint per il recupero
107
+ * del record completo allora viene effettuata una chiamata al server, altrimenti viene usato l'oggetto selezionato.
108
+ * @param event Oggetto con due proprietà:
109
+ * "record" = oggetto da modificare/visualizzare,
110
+ * "onlyView" = booleano (se TRUE siamo in visualizzazione altrimenti in modifica)
111
+ */
112
+ onViewRecord(record: Record): void;
113
+ /**
114
+ * Metodo per gestire il componente dopo che il record è stato aggiunto o modificato.
106
115
  * @param event Oggetto di tipo Record da salvare.
107
116
  */
108
117
  onSaveRecord(event: Record): void;
118
+ /**
119
+ * Metodo per gestire il componente dopo che e stata richiesta una aggiunto o una modifica del record nell' add-form-record.
120
+ * @param event Oggetto di tipo Record da salvare.
121
+ */
122
+ onAfterSaveRecord(event: Record): void;
109
123
  /**
110
124
  * Metodo per duplicare un record precedentemente salvato.
111
125
  * Se è stato configurato un endPoint per la duplicazione lato server allora effettua una chiamata passando nel body
@@ -113,6 +127,7 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
113
127
  * @param record Oggetto di tipo Record da duplicare.
114
128
  */
115
129
  onDuplicateRecord(record: Record): void;
130
+ onAfterDuplicateRecord(record: Record): void;
116
131
  /**
117
132
  * Metodo per eliminare un record.
118
133
  * Se è stato configurato un endPoint per l'eliminazione allora effettua una chiamata passando l'ID del record da eliminare
@@ -120,7 +135,8 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
120
135
  * @param record Oggetto di tipo Record da duplicare.
121
136
  */
122
137
  onDeleteRecord(record: Record): void;
138
+ onAfterDeleteRecord(record: Record): void;
123
139
  onSaveJson(record: string): void;
124
140
  static ɵfac: i0.ɵɵFactoryDeclaration<EqpDynamicModuleComponent, never>;
125
- static ɵcmp: i0.ɵɵComponentDeclaration<EqpDynamicModuleComponent, "eqp-dynamic-module", never, { "configurations": "configurations"; "formID": "formID"; "starterViewMode": "starterViewMode"; "userID": "userID"; "showTitle": "showTitle"; "showBackButton": "showBackButton"; "showSaveButton": "showSaveButton"; "values": "values"; "FormJSON": "FormJSON"; "defaultListActions": "defaultListActions"; "onSaveBackToList": "onSaveBackToList"; }, { "saveRecord": "saveRecord"; "deleteRecord": "deleteRecord"; "duplicateRecord": "duplicateRecord"; "SaveJSON": "SaveJSON"; "afterSaveRecord": "afterSaveRecord"; "afterDeleteRecord": "afterDeleteRecord"; "afterDuplicateRecord": "afterDuplicateRecord"; }, never, never, false>;
141
+ static ɵcmp: i0.ɵɵComponentDeclaration<EqpDynamicModuleComponent, "eqp-dynamic-module", never, { "configurations": "configurations"; "formID": "formID"; "starterViewMode": "starterViewMode"; "userID": "userID"; "showTitle": "showTitle"; "showBackButton": "showBackButton"; "showSaveButton": "showSaveButton"; "values": "values"; "FormJSON": "FormJSON"; "defaultListActions": "defaultListActions"; "onSaveBackToList": "onSaveBackToList"; "onBackTo": "onBackTo"; }, { "saveRecord": "saveRecord"; "deleteRecord": "deleteRecord"; "duplicateRecord": "duplicateRecord"; "SaveJSON": "SaveJSON"; "afterSaveRecord": "afterSaveRecord"; "afterDeleteRecord": "afterDeleteRecord"; "afterDuplicateRecord": "afterDuplicateRecord"; }, never, never, false>;
126
142
  }
@@ -1,16 +1,16 @@
1
- import { ChangeDetectorRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
2
- import { FormControl, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
3
- import { MatDialog, MatDialogRef } from '@angular/material/dialog';
4
- import { AttachmentType, EqpAttachmentsComponent, IAttachmentDTO } from '@eqproject/eqp-attachments';
5
- import { PickerModeEnum } from '@eqproject/eqp-datetimepicker';
6
- import { EnumHelper } from '@eqproject/eqp-select';
7
- import { ConfigColumn } from '@eqproject/eqp-table';
8
- import { BaseField, ColSpanSizesEnum, FieldTypeEnum } from '../../../models/baseField.model';
9
- import { BoolPresentantioEnum } from '../../../models/fields/booleanField.model';
10
- import { DateTimeTypeEnum } from '../../../models/fields/dateField.model';
11
- import { ListPresentationEnum } from '../../../models/fields/listValueField.model';
12
- import { TextMaskEnum } from '../../../models/fields/textField.model';
13
- import { FormFieldGroup } from '../../../models/form.model';
1
+ import { ChangeDetectorRef, EventEmitter, OnInit, TemplateRef } from "@angular/core";
2
+ import { FormControl, UntypedFormBuilder, UntypedFormGroup } from "@angular/forms";
3
+ import { MatDialog, MatDialogRef } from "@angular/material/dialog";
4
+ import { AttachmentType, EqpAttachmentsComponent, IAttachmentDTO } from "@eqproject/eqp-attachments";
5
+ import { PickerModeEnum } from "@eqproject/eqp-datetimepicker";
6
+ import { EnumHelper } from "@eqproject/eqp-select";
7
+ import { ConfigColumn } from "@eqproject/eqp-table";
8
+ import { BaseField, ColSpanSizesEnum, FieldTypeEnum } from "../../../models/baseField.model";
9
+ import { BoolPresentantioEnum } from "../../../models/fields/booleanField.model";
10
+ import { DateTimeTypeEnum } from "../../../models/fields/dateField.model";
11
+ import { ListPresentationEnum } from "../../../models/fields/listValueField.model";
12
+ import { TextMaskEnum } from "../../../models/fields/textField.model";
13
+ import { FormFieldGroup } from "../../../models/form.model";
14
14
  import * as i0 from "@angular/core";
15
15
  export declare class AddFormFieldComponent implements OnInit {
16
16
  private formBuilder;
@@ -6,18 +6,21 @@ import { Form, FormScalarTypeEnum } from '../../../../models/form.model';
6
6
  import { Record } from '../../../../models/record.model';
7
7
  import { UtilityHelperService } from '../../../../services/utilityHelper.services';
8
8
  import { DynamicModuleFieldFixComponent } from '../../dynamic-module-field-fix/dynamic-module-field.component';
9
+ import { EndPointConfiguration } from 'projects/eqp-dynamic-module/src/lib/models/endPointConfiguration.model';
9
10
  import * as i0 from "@angular/core";
10
11
  export declare class AddFormRecordComponent implements OnInit {
11
12
  private cdr;
12
13
  utilityService: UtilityHelperService;
13
14
  configurations: DynamicModuleCompileConfig;
15
+ endPointConfiguration: EndPointConfiguration;
16
+ userID: string;
17
+ formID: string;
14
18
  form: Form;
15
- record: Record;
19
+ record: Record | string;
16
20
  onlyView: boolean;
17
21
  showTitle: boolean;
18
22
  showSaveButton: boolean;
19
23
  showBackButton: boolean;
20
- userMode: boolean;
21
24
  formForm: UntypedFormGroup;
22
25
  fieldGroups: {
23
26
  [key: string]: Array<BaseField>;
@@ -25,9 +28,11 @@ export declare class AddFormRecordComponent implements OnInit {
25
28
  FormScalarTypeEnum: typeof FormScalarTypeEnum;
26
29
  FieldTypeEnum: typeof FieldTypeEnum;
27
30
  saveRecordEvent: EventEmitter<Record>;
31
+ afterSaveRecordEvent: EventEmitter<Record>;
28
32
  fieldTemplate: QueryList<DynamicModuleFieldFixComponent>;
29
33
  constructor(cdr: ChangeDetectorRef, utilityService: UtilityHelperService);
30
34
  ngOnInit(): void;
35
+ fieldsConfig(): void;
31
36
  /**
32
37
  * Metodo invocato al cambio del valore di ogni proprietà dell'oggetto record.
33
38
  * Serve ad aggiornare il valore di tutti i campi che hanno una formula.
@@ -37,6 +42,16 @@ export declare class AddFormRecordComponent implements OnInit {
37
42
  * Metodo per salvare i dati inseriti dall'utente una volta conclusa la compilazione della form.
38
43
  */
39
44
  saveOrExitForm(exit: boolean): void;
45
+ /**
46
+ * Metodo per salvare il record aggiunto o modificato.
47
+ * Se è stato configurato un endPoint per il salvataggio viene effettuata una chiamata al server passando l'oggeto da salvare
48
+ * nel body della chiamata, altrimenti scatena l'evento "saveRecord".
49
+ * @param event Oggetto di tipo Record da salvare.
50
+ */
51
+ onSaveRecord(event: Record): void;
52
+ getFormByID(id?: string): void;
53
+ getRecordByID(): void;
54
+ getFormByIDandVersion(): void;
40
55
  /**
41
56
  * Metodo per creare nell'oggetto Record le proprietà mancanti rispetto ai campi che compongono la form.
42
57
  */
@@ -55,5 +70,5 @@ export declare class AddFormRecordComponent implements OnInit {
55
70
  */
56
71
  private createFieldGroups;
57
72
  static ɵfac: i0.ɵɵFactoryDeclaration<AddFormRecordComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<AddFormRecordComponent, "add-form-record", never, { "configurations": "configurations"; "form": "form"; "record": "record"; "onlyView": "onlyView"; }, { "saveRecordEvent": "saveRecordEvent"; }, never, never, false>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<AddFormRecordComponent, "add-form-record", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "formID": "formID"; "form": "form"; "record": "record"; "onlyView": "onlyView"; }, { "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; }, never, never, false>;
59
74
  }
@@ -1,26 +1,44 @@
1
- import { OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
- import { ConfigColumn, EqpTableComponent } from '@eqproject/eqp-table';
3
- import { Form } from '../../../../models/form.model';
4
- import { Record } from '../../../../models/record.model';
5
- import { DynamicModuleListFormRecordActionsDefault } from '../../../../models/dynamicModuleListFormRecordActionsDefault';
6
- import { DynamicModuleListConfig } from '../../../../models/dynamicModuleListConfig.model';
1
+ import { OnInit, EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef } from "@angular/core";
2
+ import { ConfigColumn, EqpTableComponent } from "@eqproject/eqp-table";
3
+ import { Form } from "../../../../models/form.model";
4
+ import { Record } from "../../../../models/record.model";
5
+ import { UtilityHelperService } from "../../../../services/utilityHelper.services";
6
+ import { DynamicModuleListFormRecordActionsDefault } from "../../../../models/dynamicModuleListFormRecordActionsDefault";
7
+ import { DynamicModuleListConfig } from "../../../../models/dynamicModuleListConfig.model";
8
+ import { EndPointConfiguration } from "../../../../models/endPointConfiguration.model";
7
9
  import * as i0 from "@angular/core";
8
10
  export declare class ListFormRecordComponent implements OnInit, OnChanges {
11
+ private utilityHelperService;
12
+ private changeDetector;
9
13
  configurations: DynamicModuleListConfig;
14
+ endPointConfiguration: EndPointConfiguration;
15
+ formID: string;
10
16
  form: Form;
11
17
  defaultListActions: DynamicModuleListFormRecordActionsDefault;
12
18
  showTitle: boolean;
13
19
  tableRecords: EqpTableComponent;
14
20
  columns: ConfigColumn[];
21
+ loader: boolean;
22
+ onViewRecord: EventEmitter<Record>;
15
23
  onAddViewEditRecord: EventEmitter<{
16
24
  record: Record;
17
25
  onlyView: boolean;
18
26
  }>;
19
- onDeleteRecord: EventEmitter<Record>;
20
27
  onDuplicateRecord: EventEmitter<Record>;
21
- constructor();
28
+ onAfterDuplicateRecord: EventEmitter<Record>;
29
+ onDeleteRecord: EventEmitter<Record>;
30
+ onAfterDeleteRecord: EventEmitter<Record>;
31
+ constructor(utilityHelperService: UtilityHelperService, changeDetector: ChangeDetectorRef);
22
32
  ngOnInit(): void;
23
33
  ngOnChanges(changes: SimpleChanges): void;
34
+ getFormByID(id?: string): void;
35
+ /**
36
+ * Metodo per recuperare tutti i record salvati per una particolare Form.
37
+ * La chiamata viene effettuata solo se è stato configurato l'endPoint da usare.
38
+ * La risposta della chiamata deve essere un array di oggetti di tipo "DynRecord"
39
+ * a partire dai quali vengono ricreati i Record usati nel client.
40
+ */
41
+ getRecordsByFormID(): Promise<void>;
24
42
  /**
25
43
  * Metodo per configurare le colonne della eqp-table.
26
44
  */
@@ -30,23 +48,6 @@ export declare class ListFormRecordComponent implements OnInit, OnChanges {
30
48
  * definite dall'utente all'interno della Form.
31
49
  */
32
50
  private createAdditionalActions;
33
- /**
34
- * Metodo che scatena l'evento di Output per mostrare o modificare il record
35
- * selezionato sulla eqp-table.
36
- * @param record Record da visualizzare o modificare selezionato sulla eqp-table.
37
- * @param onlyView Se TRUE viene mostrato il componente add-form-record in sola lettura.
38
- */
39
- private viewOrEditRecord;
40
- /**
41
- * Metodo per duplicare un record della form.
42
- * @param record Record da duplicare.
43
- */
44
- private duplicateRecord;
45
- /**
46
- * Metodo per eliminare un record dalla lista.
47
- * @param record Record da eliminare selezionato sulla eqp-table.
48
- */
49
- private deleteRecord;
50
51
  /**
51
52
  * Metodo per creare la configurazione delle colonne per la eqp-table.
52
53
  * Individua i BaseField da mostrare e li usa per creare le ConfigColumn.
@@ -61,10 +62,30 @@ export declare class ListFormRecordComponent implements OnInit, OnChanges {
61
62
  * @returns Restituisce una ConfigColumn per la eqp-table
62
63
  */
63
64
  private createFieldColumn;
65
+ viewRecord(record: Record): void;
66
+ /**
67
+ * Metodo che scatena l'evento di Output per mostrare o modificare il record
68
+ * selezionato sulla eqp-table.
69
+ * @param record Record da visualizzare o modificare selezionato sulla eqp-table.
70
+ * @param onlyView Se TRUE viene mostrato il componente add-form-record in sola lettura.
71
+ */
72
+ private viewOrEditRecord;
73
+ /**
74
+ * Metodo per duplicare un record presente nella lista.
75
+ * Se è stato configurato un endPoint per la duplicazione lato server allora effettua una chiamata passando nel body
76
+ * un oggetto contenente il record da duplicare, altrimenti scatena l'evento di output "duplicateRecord".
77
+ * @param record Oggetto di tipo Record da duplicare.
78
+ */
79
+ duplicateRecord(record: Record): void;
80
+ /**
81
+ * Metodo per eliminare un record dalla lista.
82
+ * @param record Record da eliminare selezionato sulla eqp-table.
83
+ */
84
+ private deleteRecord;
64
85
  /**
65
86
  * Metodo per ricaricare i dati della eqp-table.
66
87
  */
67
88
  private reloadTables;
68
89
  static ɵfac: i0.ɵɵFactoryDeclaration<ListFormRecordComponent, never>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<ListFormRecordComponent, "list-form-record", never, { "configurations": "configurations"; "form": "form"; }, { "onAddViewEditRecord": "onAddViewEditRecord"; "onDeleteRecord": "onDeleteRecord"; "onDuplicateRecord": "onDuplicateRecord"; }, never, never, false>;
90
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListFormRecordComponent, "list-form-record", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "formID": "formID"; "form": "form"; }, { "onViewRecord": "onViewRecord"; "onAddViewEditRecord": "onAddViewEditRecord"; "onDuplicateRecord": "onDuplicateRecord"; "onAfterDuplicateRecord": "onAfterDuplicateRecord"; "onDeleteRecord": "onDeleteRecord"; "onAfterDeleteRecord": "onAfterDeleteRecord"; }, never, never, false>;
70
91
  }
@@ -0,0 +1,110 @@
1
+ import { OnInit, EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef } from "@angular/core";
2
+ import { ConfigColumn, EqpTableComponent } from "@eqproject/eqp-table";
3
+ import { Form } from "../../../../models/form.model";
4
+ import { Record } from "../../../../models/record.model";
5
+ import { UtilityHelperService } from "../../../../services/utilityHelper.services";
6
+ import { DynamicModuleListFormRecordActionsDefault } from "../../../../models/dynamicModuleListFormRecordActionsDefault";
7
+ import { DynamicModuleListConfig } from "../../../../models/dynamicModuleListConfig.model";
8
+ import { DynamicModuleCompileConfig } from "projects/eqp-dynamic-module/src/lib/models/dynamicModuleCompileConfig.model";
9
+ import { EndPointConfiguration } from "projects/eqp-dynamic-module/src/lib/models/endPointConfiguration.model";
10
+ import * as i0 from "@angular/core";
11
+ export declare class ListViewFormRecordComponent implements OnInit, OnChanges {
12
+ private utilityHelperService;
13
+ private changeDetector;
14
+ listConfigurations: DynamicModuleListConfig;
15
+ compileConfigurations: DynamicModuleCompileConfig;
16
+ outCompileConfigurations: DynamicModuleCompileConfig;
17
+ endPointConfiguration: EndPointConfiguration;
18
+ userID: string;
19
+ formID: string;
20
+ form: Form;
21
+ defaultListActions: DynamicModuleListFormRecordActionsDefault;
22
+ showTitle: boolean;
23
+ test: boolean;
24
+ onlyView: boolean;
25
+ selectedRecord: Record;
26
+ loader: boolean;
27
+ panelOpenState: boolean[];
28
+ tableRecords: EqpTableComponent;
29
+ columns: ConfigColumn[];
30
+ onAddViewEditRecord: EventEmitter<{
31
+ record: Record;
32
+ onlyView: boolean;
33
+ }>;
34
+ onDeleteRecord: EventEmitter<Record>;
35
+ onDuplicateRecord: EventEmitter<Record>;
36
+ saveRecordEvent: EventEmitter<Record>;
37
+ afterSaveRecordEvent: EventEmitter<Record>;
38
+ constructor(utilityHelperService: UtilityHelperService, changeDetector: ChangeDetectorRef);
39
+ ngOnInit(): void;
40
+ ngOnChanges(changes: SimpleChanges): void;
41
+ getFormByID(id?: string): void;
42
+ /**
43
+ * Metodo per configurare le colonne della eqp-table.
44
+ */
45
+ private configureColumns;
46
+ /**
47
+ * Metodo per recuperare tutti i record salvati per una particolare Form.
48
+ * La chiamata viene effettuata solo se è stato configurato l'endPoint da usare.
49
+ * La risposta della chiamata deve essere un array di oggetti di tipo "DynRecord"
50
+ * a partire dai quali vengono ricreati i Record usati nel client.
51
+ */
52
+ getRecordsByFormID(): Promise<void>;
53
+ /**
54
+ * Metodo per aggiungere nella colonna "action" della eqp-table le azioni sui record
55
+ * definite dall'utente all'interno della Form.
56
+ */
57
+ /**
58
+ * Metodo che scatena l'evento di Output per mostrare o modificare il record
59
+ * selezionato sulla eqp-table.
60
+ * @param record Record da visualizzare o modificare selezionato sulla eqp-table.
61
+ * @param onlyView Se TRUE viene mostrato il componente add-form-record in sola lettura.
62
+ */
63
+ viewOrEditRecord(record: Record, onlyView: boolean, i: any): void;
64
+ /**
65
+ * Metodo per duplicare un record della form.
66
+ * @param record Record da duplicare.
67
+ */
68
+ duplicateRecord(record: Record): void;
69
+ /**
70
+ * Metodo per eliminare un record dalla lista.
71
+ * @param record Record da eliminare selezionato sulla eqp-table.
72
+ */
73
+ deleteRecord(record: Record): void;
74
+ /**
75
+ * Metodo per creare la configurazione delle colonne per la eqp-table.
76
+ * Individua i BaseField da mostrare e li usa per creare le ConfigColumn.
77
+ * Le colonne vengono create per i BaseField con il flag InListView a TRUE
78
+ * oppure, nel caso non siano stati specificati i campi da visualizzare,
79
+ * seleziona i primi 6.
80
+ */
81
+ /**
82
+ * Metodo per creare l'oggetto ConfigureColumn che rappresenta il BaseField passato in input.
83
+ * @param field BaseField per cui creare la colonna nella eqp-table
84
+ * @returns Restituisce una ConfigColumn per la eqp-table
85
+ */
86
+ /**
87
+ * Metodo per ricaricare i dati della eqp-table.
88
+ */
89
+ private reloadTables;
90
+ /**
91
+ * Metodo per salvare i dati inseriti dall'utente una volta conclusa la compilazione della form.
92
+ */
93
+ saveOrExitForm(record: Record): void;
94
+ onAfterSaveRecord($event: any): void;
95
+ /**
96
+ * Metodo invocato quando si vuole aggiungere, visualizzare o modificare un record.
97
+ * Se l'evento è null vuol dire che stiamo aggiungendo un nuovo record altrimenti siamo in modifica
98
+ * o visualizzazione. In questi ultimi due casi, se è stato configurato un endpoint per il recupero
99
+ * del record completo allora viene effettuata una chiamata al server, altrimenti viene usato l'oggetto selezionato.
100
+ * @param event Oggetto con due proprietà:
101
+ * "record" = oggetto da modificare/visualizzare,
102
+ * "onlyView" = booleano (se TRUE siamo in visualizzazione altrimenti in modifica)
103
+ */
104
+ onAddViewEditRecord2(event: {
105
+ record: Record;
106
+ onlyView: boolean;
107
+ }): void;
108
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListViewFormRecordComponent, never>;
109
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListViewFormRecordComponent, "list-view-form-record", never, { "listConfigurations": "listConfigurations"; "compileConfigurations": "compileConfigurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "formID": "formID"; "form": "form"; }, { "onAddViewEditRecord": "onAddViewEditRecord"; "onDeleteRecord": "onDeleteRecord"; "onDuplicateRecord": "onDuplicateRecord"; "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; }, never, never, false>;
110
+ }
@@ -0,0 +1,32 @@
1
+ import { EventEmitter, OnInit, QueryList } from "@angular/core";
2
+ import { FieldTypeEnum } from "../../../../models/baseField.model";
3
+ import { Form } from "../../../../models/form.model";
4
+ import { UtilityHelperService } from "../../../../services/utilityHelper.services";
5
+ import { DynamicModuleFieldFixComponent } from "../../dynamic-module-field-fix/dynamic-module-field.component";
6
+ import { EndPointConfiguration } from "projects/eqp-dynamic-module/src/lib/models/endPointConfiguration.model";
7
+ import * as i0 from "@angular/core";
8
+ export declare class ViewFormRecordComponent implements OnInit {
9
+ utilityService: UtilityHelperService;
10
+ endPointConfiguration: EndPointConfiguration;
11
+ record: any;
12
+ showBackButton: boolean;
13
+ form: Form;
14
+ loader: boolean;
15
+ FieldTypeEnum: typeof FieldTypeEnum;
16
+ goBackEvent: EventEmitter<null>;
17
+ fieldTemplate: QueryList<DynamicModuleFieldFixComponent>;
18
+ constructor(utilityService: UtilityHelperService);
19
+ ngOnInit(): void;
20
+ /**
21
+ * Metodo per salvare i dati inseriti dall'utente una volta conclusa la compilazione della form.
22
+ */
23
+ goBack(): void;
24
+ getRecordByID(): void;
25
+ getFormByIDandVersion(): void;
26
+ /**
27
+ * Metodo per creare il FormGroup che rappresenta la form.
28
+ */
29
+ private createOutput;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<ViewFormRecordComponent, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<ViewFormRecordComponent, "view-form-record", never, { "endPointConfiguration": "endPointConfiguration"; "record": "record"; "showBackButton": "showBackButton"; }, { "goBackEvent": "goBackEvent"; }, never, never, false>;
32
+ }
@@ -11,23 +11,25 @@ import * as i9 from "./components/private/field-templates/list-value-field-templ
11
11
  import * as i10 from "./components/private/field-templates/attachment-field-template/attachment-field-template.component";
12
12
  import * as i11 from "./components/private/field-templates/image-field-template/image-field-template.component";
13
13
  import * as i12 from "./components/private/form-records/list-form-record/list-form-record.component";
14
- import * as i13 from "./components/private/form-records/add-form-record/add-form-record.component";
15
- import * as i14 from "./components/private/dynamic-module-field/dynamic-module-field.component";
16
- import * as i15 from "./components/private/dynamic-module-field-fix/dynamic-module-field.component";
17
- import * as i16 from "./components/private/spinner/spinner.component";
18
- import * as i17 from "./components/private/add-formula-field/add-formula-field.component";
19
- import * as i18 from "./components/private/form-records/repair-form-fields/repair-form-fields.component";
20
- import * as i19 from "./modules/material.module";
21
- import * as i20 from "@angular/forms";
22
- import * as i21 from "@angular/common";
23
- import * as i22 from "@eqproject/eqp-table";
24
- import * as i23 from "@eqproject/eqp-attachments";
25
- import * as i24 from "@eqproject/eqp-select";
26
- import * as i25 from "@eqproject/eqp-datetimepicker";
27
- import * as i26 from "@eqproject/eqp-filters";
28
- import * as i27 from "@eqproject/eqp-numeric";
14
+ import * as i13 from "./components/private/form-records/list-view-form-record/list-view-form-record.component";
15
+ import * as i14 from "./components/private/form-records/add-form-record/add-form-record.component";
16
+ import * as i15 from "./components/private/form-records/view-form-record/view-form-record.component";
17
+ import * as i16 from "./components/private/dynamic-module-field/dynamic-module-field.component";
18
+ import * as i17 from "./components/private/dynamic-module-field-fix/dynamic-module-field.component";
19
+ import * as i18 from "./components/private/spinner/spinner.component";
20
+ import * as i19 from "./components/private/add-formula-field/add-formula-field.component";
21
+ import * as i20 from "./components/private/form-records/repair-form-fields/repair-form-fields.component";
22
+ import * as i21 from "./modules/material.module";
23
+ import * as i22 from "@angular/forms";
24
+ import * as i23 from "@angular/common";
25
+ import * as i24 from "@eqproject/eqp-table";
26
+ import * as i25 from "@eqproject/eqp-attachments";
27
+ import * as i26 from "@eqproject/eqp-select";
28
+ import * as i27 from "@eqproject/eqp-datetimepicker";
29
+ import * as i28 from "@eqproject/eqp-filters";
30
+ import * as i29 from "@eqproject/eqp-numeric";
29
31
  export declare class EqpDynamicModuleModule {
30
32
  static ɵfac: i0.ɵɵFactoryDeclaration<EqpDynamicModuleModule, never>;
31
- static ɵmod: i0.ɵɵNgModuleDeclaration<EqpDynamicModuleModule, [typeof i1.EqpDynamicModuleComponent, typeof i2.EqpDynamicModuleConfiguratorComponent, typeof i3.AddFormFieldComponent, typeof i4.TextFieldTemplateComponent, typeof i5.BooleanFieldTemplateComponent, typeof i6.DateFieldTemplateComponent, typeof i7.TextareaFieldTemplateComponent, typeof i8.NumericFieldTemplateComponent, typeof i9.ListValueFieldTemplateComponent, typeof i10.AttachmentFieldTemplateComponent, typeof i11.ImageFieldTemplateComponent, typeof i12.ListFormRecordComponent, typeof i13.AddFormRecordComponent, typeof i14.DynamicModuleFieldComponent, typeof i15.DynamicModuleFieldFixComponent, typeof i16.SpinnerComponent, typeof i17.AddFormulaComponent, typeof i17.DialogDataExampleDialog, typeof i18.RepairFormFieldsComponent], [typeof i19.MaterialModule, typeof i20.FormsModule, typeof i21.CommonModule, typeof i20.ReactiveFormsModule, typeof i22.EqpTableModule, typeof i23.EqpAttachmentsModule, typeof i24.EqpSelectModule, typeof i25.EqpDatetimepickerModule, typeof i26.EqpFiltersModule, typeof i27.EqpNumericModule], [typeof i1.EqpDynamicModuleComponent, typeof i2.EqpDynamicModuleConfiguratorComponent]>;
33
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EqpDynamicModuleModule, [typeof i1.EqpDynamicModuleComponent, typeof i2.EqpDynamicModuleConfiguratorComponent, typeof i3.AddFormFieldComponent, typeof i4.TextFieldTemplateComponent, typeof i5.BooleanFieldTemplateComponent, typeof i6.DateFieldTemplateComponent, typeof i7.TextareaFieldTemplateComponent, typeof i8.NumericFieldTemplateComponent, typeof i9.ListValueFieldTemplateComponent, typeof i10.AttachmentFieldTemplateComponent, typeof i11.ImageFieldTemplateComponent, typeof i12.ListFormRecordComponent, typeof i13.ListViewFormRecordComponent, typeof i14.AddFormRecordComponent, typeof i15.ViewFormRecordComponent, typeof i16.DynamicModuleFieldComponent, typeof i17.DynamicModuleFieldFixComponent, typeof i18.SpinnerComponent, typeof i19.AddFormulaComponent, typeof i19.DialogDataExampleDialog, typeof i20.RepairFormFieldsComponent], [typeof i21.MaterialModule, typeof i22.FormsModule, typeof i23.CommonModule, typeof i22.ReactiveFormsModule, typeof i24.EqpTableModule, typeof i25.EqpAttachmentsModule, typeof i26.EqpSelectModule, typeof i27.EqpDatetimepickerModule, typeof i28.EqpFiltersModule, typeof i29.EqpNumericModule], [typeof i1.EqpDynamicModuleComponent, typeof i2.EqpDynamicModuleConfiguratorComponent]>;
32
34
  static ɵinj: i0.ɵɵInjectorDeclaration<EqpDynamicModuleModule>;
33
35
  }
@@ -1,6 +1,8 @@
1
1
  export declare enum DynamicModuleViewModeEnum {
2
2
  NONE = 0,
3
- COMPILE = 1,
4
- LIST = 2,
5
- REPAIR = 3
3
+ VIEW = 1,
4
+ COMPILE = 2,
5
+ LIST = 3,
6
+ REPAIR = 4,
7
+ LISTWIEW = 5
6
8
  }
@@ -13,6 +13,7 @@ export declare class EndPointConfiguration {
13
13
  GetByIDAndVersionEndPoint: EndPointData;
14
14
  SaveEndPoint: EndPointData;
15
15
  };
16
+ constructor(baseUrl?: string);
16
17
  }
17
18
  export declare class EndPointData {
18
19
  Url: string;
@@ -3,6 +3,7 @@ export declare class Record {
3
3
  EntID: string;
4
4
  Version: number;
5
5
  userID: string;
6
+ AnswerDate: string;
6
7
  [key: string]: any;
7
8
  }
8
9
  export declare class DynRecord {
@@ -14,4 +15,5 @@ export declare class DynRecord {
14
15
  [key: string]: any;
15
16
  };
16
17
  SerializedValues: string;
18
+ AnswerDate: string;
17
19
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "EqProject"
6
6
  },
7
- "version": "2.0.11",
7
+ "version": "2.0.12",
8
8
  "peerDependencies": {
9
9
  "@angular/common": "~14.2.8",
10
10
  "@angular/core": "~14.2.8",