@eqproject/eqp-dynamic-module 2.8.36 → 2.8.38
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/esm2020/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +21 -3
- package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +148 -3
- package/esm2020/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +1 -1
- package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +31 -8
- package/esm2020/lib/components/private/form-records/hlist-form-record/hlist-form-record.component.mjs +12 -2
- package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +11 -2
- package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +34 -6
- package/esm2020/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +12 -3
- package/esm2020/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +11 -3
- package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +11 -2
- package/esm2020/lib/components/private/graphs/graphs.component.mjs +12 -3
- package/esm2020/lib/models/form.model.mjs +1 -1
- package/esm2020/lib/models/trigger.model.mjs +14 -1
- package/fesm2015/eqproject-eqp-dynamic-module.mjs +344 -65
- package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
- package/fesm2020/eqproject-eqp-dynamic-module.mjs +344 -65
- package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
- package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +5 -2
- package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +33 -1
- package/lib/components/private/form-records/add-form-record/add-form-record.component.d.ts +8 -3
- package/lib/components/private/form-records/hlist-form-record/hlist-form-record.component.d.ts +5 -1
- package/lib/components/private/form-records/list-form-record/list-form-record.component.d.ts +5 -1
- package/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.d.ts +7 -3
- package/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.d.ts +5 -2
- package/lib/components/private/form-records/view-form-record/view-form-record.component.d.ts +5 -1
- package/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.d.ts +5 -1
- package/lib/components/private/graphs/graphs.component.d.ts +6 -2
- package/lib/models/form.model.d.ts +3 -1
- package/lib/models/trigger.model.d.ts +23 -0
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ import { DynRecord, Record, RecordButton } from "../../../models/record.model";
|
|
|
12
12
|
import { UtilityHelperService } from "../../../services/utilityHelper.services";
|
|
13
13
|
import { DynamicModuleFilterResultViewModeEnum } from "../../../models/dynamicModuleFilterResultViewModeEnum.model";
|
|
14
14
|
import { eventOut } from "../../../directives/dynamic-loader/dynamic-loader.directive";
|
|
15
|
-
import { FireTrigger } from "../../../models/trigger.model";
|
|
15
|
+
import { ActionButton, FireAction, FireTrigger } from "../../../models/trigger.model";
|
|
16
16
|
import { ListViewFormRecordComponent } from '../../private/form-records/list-view-form-record/list-view-form-record.component';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit {
|
|
@@ -30,6 +30,7 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
|
|
|
30
30
|
values: Array<Record>;
|
|
31
31
|
FormJSON: string;
|
|
32
32
|
externalButtons: Array<RecordButton>;
|
|
33
|
+
actionButtons: Array<ActionButton>;
|
|
33
34
|
listViewRecordTitle: Array<string>;
|
|
34
35
|
defaultListViewFunction: Function;
|
|
35
36
|
defaultListActions: DynamicModuleListFormRecordActionsDefault;
|
|
@@ -83,6 +84,7 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
|
|
|
83
84
|
clickDragIndicator: EventEmitter<Record>;
|
|
84
85
|
out: EventEmitter<eventOut>;
|
|
85
86
|
fireTrigger: EventEmitter<FireTrigger>;
|
|
87
|
+
fireAction: EventEmitter<FireAction>;
|
|
86
88
|
listViewFormRecord: ListViewFormRecordComponent;
|
|
87
89
|
form: Form;
|
|
88
90
|
lastform: Form;
|
|
@@ -160,8 +162,9 @@ export declare class EqpDynamicModuleComponent implements OnInit, AfterViewInit
|
|
|
160
162
|
onClickDragIndicator(el: any): void;
|
|
161
163
|
onExternalComponentOut(ev: eventOut): void;
|
|
162
164
|
onFireTrigger(ev: FireTrigger): void;
|
|
165
|
+
onFireAction(ev: FireAction): void;
|
|
163
166
|
parseValueString(field: any, record: any): any;
|
|
164
167
|
reloadHTMLReadableValues(answerId: string): void;
|
|
165
168
|
static ɵfac: i0.ɵɵFactoryDeclaration<EqpDynamicModuleComponent, never>;
|
|
166
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EqpDynamicModuleComponent, "eqp-dynamic-module", never, { "debugMode": "debugMode"; "configurations": "configurations"; "formID": "formID"; "starterViewMode": "starterViewMode"; "userID": "userID"; "orgaID": "orgaID"; "showTitle": "showTitle"; "showBackButton": "showBackButton"; "showSaveButton": "showSaveButton"; "values": "values"; "FormJSON": "FormJSON"; "externalButtons": "externalButtons"; "listViewRecordTitle": "listViewRecordTitle"; "defaultListViewFunction": "defaultListViewFunction"; "defaultListActions": "defaultListActions"; "onSaveBackToList": "onSaveBackToList"; "onBackTo": "onBackTo"; "filterResultViewMode": "filterResultViewMode"; "additionalParams": "additionalParams"; "additionalInfo": "additionalInfo"; "updateInfo": "updateInfo"; "prefilterParams": "prefilterParams"; "showNewSearchButton": "showNewSearchButton"; "answerToDuplicateId": "answerToDuplicateId"; "highlightFilter": "highlightFilter"; "selectedRecord": "selectedRecord"; "isDraggableListView": "isDraggableListView"; "QueryEditorComponent": "QueryEditorComponent"; }, { "saveRecord": "saveRecord"; "deleteRecord": "deleteRecord"; "SaveJSON": "SaveJSON"; "afterFilter": "afterFilter"; "afterSaveRecord": "afterSaveRecord"; "afterDeleteRecord": "afterDeleteRecord"; "dragStarted": "dragStarted"; "dragReleased": "dragReleased"; "clickDragIndicator": "clickDragIndicator"; "out": "out"; "fireTrigger": "fireTrigger"; }, never, never, false, never>;
|
|
169
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EqpDynamicModuleComponent, "eqp-dynamic-module", never, { "debugMode": "debugMode"; "configurations": "configurations"; "formID": "formID"; "starterViewMode": "starterViewMode"; "userID": "userID"; "orgaID": "orgaID"; "showTitle": "showTitle"; "showBackButton": "showBackButton"; "showSaveButton": "showSaveButton"; "values": "values"; "FormJSON": "FormJSON"; "externalButtons": "externalButtons"; "actionButtons": "actionButtons"; "listViewRecordTitle": "listViewRecordTitle"; "defaultListViewFunction": "defaultListViewFunction"; "defaultListActions": "defaultListActions"; "onSaveBackToList": "onSaveBackToList"; "onBackTo": "onBackTo"; "filterResultViewMode": "filterResultViewMode"; "additionalParams": "additionalParams"; "additionalInfo": "additionalInfo"; "updateInfo": "updateInfo"; "prefilterParams": "prefilterParams"; "showNewSearchButton": "showNewSearchButton"; "answerToDuplicateId": "answerToDuplicateId"; "highlightFilter": "highlightFilter"; "selectedRecord": "selectedRecord"; "isDraggableListView": "isDraggableListView"; "QueryEditorComponent": "QueryEditorComponent"; }, { "saveRecord": "saveRecord"; "deleteRecord": "deleteRecord"; "SaveJSON": "SaveJSON"; "afterFilter": "afterFilter"; "afterSaveRecord": "afterSaveRecord"; "afterDeleteRecord": "afterDeleteRecord"; "dragStarted": "dragStarted"; "dragReleased": "dragReleased"; "clickDragIndicator": "clickDragIndicator"; "out": "out"; "fireTrigger": "fireTrigger"; "fireAction": "fireAction"; }, never, never, false, never>;
|
|
167
170
|
}
|
|
@@ -11,7 +11,7 @@ import { DynamicModuleCompileConfig } from "../../../models/dynamicModuleCompile
|
|
|
11
11
|
import { DynamicModuleConfiguratorConfig } from "../../../models/dynamicModuleConfiguratorConfig.model";
|
|
12
12
|
import { DomSanitizer } from "@angular/platform-browser";
|
|
13
13
|
import { DynamicLoaderDirectiveData, eventOut } from "../../../directives/dynamic-loader/dynamic-loader.directive";
|
|
14
|
-
import { Trigger } from
|
|
14
|
+
import { Trigger, ActionButton, ActionFlagEnum } from '../../../models/trigger.model';
|
|
15
15
|
import { Contestualization } from "../../../models/getter.model";
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
17
|
export declare class EqpDynamicModuleConfiguratorComponent implements OnInit {
|
|
@@ -89,6 +89,14 @@ export declare class EqpDynamicModuleConfiguratorComponent implements OnInit {
|
|
|
89
89
|
indexSelectedAction: number;
|
|
90
90
|
dialogActionOnRecordRef: MatDialogRef<TemplateRef<any>>;
|
|
91
91
|
dialogActionOnRecord: TemplateRef<any>;
|
|
92
|
+
actionButtonsColumns: Array<ConfigColumn>;
|
|
93
|
+
actionButtonsTable: EqpTableComponent;
|
|
94
|
+
selectedActionButton: ActionButton;
|
|
95
|
+
indexSelectedActionButton: number;
|
|
96
|
+
dialogActionButtonRef: MatDialogRef<TemplateRef<any>>;
|
|
97
|
+
dialogActionButton: TemplateRef<any>;
|
|
98
|
+
actionButtonsFormGroup: UntypedFormGroup;
|
|
99
|
+
actionsFlag: typeof ActionFlagEnum;
|
|
92
100
|
/**
|
|
93
101
|
* Evento emesso quando si salva una form e non è stato specificato un endpoint da chiamare.
|
|
94
102
|
*/
|
|
@@ -190,6 +198,12 @@ export declare class EqpDynamicModuleConfiguratorComponent implements OnInit {
|
|
|
190
198
|
* @param action ActionOnRecord da modificare (se null allora vado in add).
|
|
191
199
|
*/
|
|
192
200
|
openActionOnRecordDialog(action?: ActionOnRecord): void;
|
|
201
|
+
/**
|
|
202
|
+
* Metodo per aprire il dialog di creazione/modifica dei bottoni azione.
|
|
203
|
+
* Se il parametro passato è null sono in aggiunta altrimenti sono in modifica.
|
|
204
|
+
* @param action ActionButton da modificare (se null allora vado in add).
|
|
205
|
+
*/
|
|
206
|
+
openActionButtonDialog(action?: ActionButton): void;
|
|
193
207
|
/**
|
|
194
208
|
* Metodo per impostare i valori da suggerire nell'autocomplete del campo Formula.
|
|
195
209
|
* Viene scatenato al focus (in questo caso viene passato il parametro a null per differenziarlo
|
|
@@ -203,6 +217,10 @@ export declare class EqpDynamicModuleConfiguratorComponent implements OnInit {
|
|
|
203
217
|
* Metodo per salvare l'azione creata/modificate.
|
|
204
218
|
*/
|
|
205
219
|
saveActionOnRecord(): void;
|
|
220
|
+
/**
|
|
221
|
+
* Metodo per salvare l'azione creata/modificate.
|
|
222
|
+
*/
|
|
223
|
+
saveActionButtons(): void;
|
|
206
224
|
/**
|
|
207
225
|
* Metodo per chiudere il dialog della inner form.
|
|
208
226
|
*/
|
|
@@ -211,6 +229,10 @@ export declare class EqpDynamicModuleConfiguratorComponent implements OnInit {
|
|
|
211
229
|
* Metodo per chiudere il dialog di gestione delle action.
|
|
212
230
|
*/
|
|
213
231
|
closeDialogActionOnRecord(): void;
|
|
232
|
+
/**
|
|
233
|
+
* Metodo per chiudere il dialog di gestione delle action buttons.
|
|
234
|
+
*/
|
|
235
|
+
closeDialogActionButtons(): void;
|
|
214
236
|
/**
|
|
215
237
|
* Metodo per segnare come conclusa la creazione della form e per crearne una copia
|
|
216
238
|
* da visalizzare come anteprima.
|
|
@@ -248,6 +270,7 @@ export declare class EqpDynamicModuleConfiguratorComponent implements OnInit {
|
|
|
248
270
|
* Crea il FormGroup epr l'aggiunta o la modifica di una action sui record della Form.
|
|
249
271
|
*/
|
|
250
272
|
private createActionOnRecordForm;
|
|
273
|
+
private createActionButtonForm;
|
|
251
274
|
/**
|
|
252
275
|
* Chiude il dialog per aggiungere/modificare un Field senza salvare
|
|
253
276
|
*/
|
|
@@ -294,10 +317,19 @@ export declare class EqpDynamicModuleConfiguratorComponent implements OnInit {
|
|
|
294
317
|
* ha definito nella tabella in cui sono mostrati
|
|
295
318
|
*/
|
|
296
319
|
private setActionOrdinalPosition;
|
|
320
|
+
/**
|
|
321
|
+
* Imposta l'ordinamento dei campi all'interno della form in base all'ordine che l'utente
|
|
322
|
+
* ha definito nella tabella in cui sono mostrati
|
|
323
|
+
*/
|
|
324
|
+
private setActionButtonOrdinalPosition;
|
|
297
325
|
/**
|
|
298
326
|
* Metodo per ricaricare i dati della tabella delle azioni aggiuntive sui record della Form.
|
|
299
327
|
*/
|
|
300
328
|
private reloadActionsOnRecordTable;
|
|
329
|
+
/**
|
|
330
|
+
* Metodo per ricaricare i dati della tabella delle azioni aggiuntive sui record della Form.
|
|
331
|
+
*/
|
|
332
|
+
private reloadActionButtonsOnRecordTable;
|
|
301
333
|
onExternalComponentOut(ev: eventOut): void;
|
|
302
334
|
/**
|
|
303
335
|
* TRIGGERS
|
|
@@ -8,7 +8,7 @@ import { UtilityHelperService } from '../../../../services/utilityHelper.service
|
|
|
8
8
|
import { DynamicModuleFieldFixComponent } from '../../dynamic-module-field-fix/dynamic-module-field.component';
|
|
9
9
|
import { EndPointConfiguration } from './../../../../models/endPointConfiguration.model';
|
|
10
10
|
import { DynamicLoaderDirectiveData, eventOut } from "../../../../directives/dynamic-loader/dynamic-loader.directive";
|
|
11
|
-
import { FireTrigger } from '../../../../models/trigger.model';
|
|
11
|
+
import { FireTrigger, ActionButton, FireAction } from '../../../../models/trigger.model';
|
|
12
12
|
import { DatePipe } from '@angular/common';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export declare class AddFormRecordComponent implements OnInit {
|
|
@@ -26,12 +26,14 @@ export declare class AddFormRecordComponent implements OnInit {
|
|
|
26
26
|
isDuplicate: boolean;
|
|
27
27
|
inConfig: boolean;
|
|
28
28
|
showAllFields: boolean;
|
|
29
|
+
showTitle: boolean;
|
|
30
|
+
actionButtons: Array<ActionButton>;
|
|
29
31
|
QueryEditorComponent: DynamicLoaderDirectiveData;
|
|
30
32
|
saveRecordEvent: EventEmitter<Record>;
|
|
31
33
|
afterSaveRecordEvent: EventEmitter<Record>;
|
|
32
34
|
out: EventEmitter<eventOut>;
|
|
33
35
|
fireTrigger: EventEmitter<FireTrigger>;
|
|
34
|
-
|
|
36
|
+
fireAction: EventEmitter<FireAction>;
|
|
35
37
|
showSaveButton: boolean;
|
|
36
38
|
showBackButton: boolean;
|
|
37
39
|
loader: boolean;
|
|
@@ -44,6 +46,7 @@ export declare class AddFormRecordComponent implements OnInit {
|
|
|
44
46
|
FormScalarTypeEnum: typeof FormScalarTypeEnum;
|
|
45
47
|
FieldTypeEnum: typeof FieldTypeEnum;
|
|
46
48
|
fieldTemplate: QueryList<DynamicModuleFieldFixComponent>;
|
|
49
|
+
visibleActionButtons: Array<ActionButton>;
|
|
47
50
|
constructor(cdr: ChangeDetectorRef, utilityService: UtilityHelperService, datepipe: DatePipe);
|
|
48
51
|
ngOnInit(): void;
|
|
49
52
|
onStepChange(event: any): void;
|
|
@@ -99,6 +102,8 @@ export declare class AddFormRecordComponent implements OnInit {
|
|
|
99
102
|
setDataGetter(form: any): void;
|
|
100
103
|
checkTriggers(record: Record): void;
|
|
101
104
|
logTrigger(trigger: any, condition: any, record: any): void;
|
|
105
|
+
onFireAction(ev: FireAction): void;
|
|
106
|
+
generateAction(actionButton: ActionButton): void;
|
|
102
107
|
static ɵfac: i0.ɵɵFactoryDeclaration<AddFormRecordComponent, never>;
|
|
103
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AddFormRecordComponent, "add-form-record", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "orgaID": "orgaID"; "formID": "formID"; "form": "form"; "record": "record"; "onlyView": "onlyView"; "isDuplicate": "isDuplicate"; "inConfig": "inConfig"; "showAllFields": "showAllFields"; "QueryEditorComponent": "QueryEditorComponent"; }, { "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; "out": "out"; "fireTrigger": "fireTrigger"; }, never, never, false, never>;
|
|
108
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AddFormRecordComponent, "add-form-record", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "orgaID": "orgaID"; "formID": "formID"; "form": "form"; "record": "record"; "onlyView": "onlyView"; "isDuplicate": "isDuplicate"; "inConfig": "inConfig"; "showAllFields": "showAllFields"; "showTitle": "showTitle"; "actionButtons": "actionButtons"; "QueryEditorComponent": "QueryEditorComponent"; }, { "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; "out": "out"; "fireTrigger": "fireTrigger"; "fireAction": "fireAction"; }, never, never, false, never>;
|
|
104
109
|
}
|
package/lib/components/private/form-records/hlist-form-record/hlist-form-record.component.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { DynamicModuleListConfig } from "../../../../models/dynamicModuleListCon
|
|
|
8
8
|
import { EndPointConfiguration } from "../../../../models/endPointConfiguration.model";
|
|
9
9
|
import { ModeEnum } from "tmw-picker";
|
|
10
10
|
import { DatePipe } from "@angular/common";
|
|
11
|
+
import { ActionButton, FireAction } from '../../../../models/trigger.model';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export declare class HListFormRecordComponent implements OnInit, OnChanges {
|
|
13
14
|
private utilityHelperService;
|
|
@@ -18,6 +19,7 @@ export declare class HListFormRecordComponent implements OnInit, OnChanges {
|
|
|
18
19
|
formID: string;
|
|
19
20
|
form: Form;
|
|
20
21
|
externalButtons: Array<RecordButton>;
|
|
22
|
+
actionButtons: Array<ActionButton>;
|
|
21
23
|
defaultListActions: DynamicModuleListFormRecordActionsDefault;
|
|
22
24
|
showTitle: boolean;
|
|
23
25
|
tableRecords: EqpTableComponent;
|
|
@@ -31,6 +33,7 @@ export declare class HListFormRecordComponent implements OnInit, OnChanges {
|
|
|
31
33
|
}>;
|
|
32
34
|
onDeleteRecord: EventEmitter<Record>;
|
|
33
35
|
onAfterDeleteRecord: EventEmitter<Record>;
|
|
36
|
+
fireAction: EventEmitter<FireAction>;
|
|
34
37
|
modes: typeof ModeEnum;
|
|
35
38
|
minDate: Date;
|
|
36
39
|
maxDate: Date;
|
|
@@ -102,6 +105,7 @@ export declare class HListFormRecordComponent implements OnInit, OnChanges {
|
|
|
102
105
|
setMinMaxDates(): void;
|
|
103
106
|
printValue(fieldType: any, value: any, fieldconfig: any, record: any): any;
|
|
104
107
|
private resizeBase64Image;
|
|
108
|
+
onFireAction(ev: FireAction): void;
|
|
105
109
|
static ɵfac: i0.ɵɵFactoryDeclaration<HListFormRecordComponent, never>;
|
|
106
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<HListFormRecordComponent, "hlist-form-record", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "formID": "formID"; "form": "form"; "externalButtons": "externalButtons"; }, { "onViewRecord": "onViewRecord"; "onAddViewEditRecord": "onAddViewEditRecord"; "onDeleteRecord": "onDeleteRecord"; "onAfterDeleteRecord": "onAfterDeleteRecord"; }, never, never, false, never>;
|
|
110
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HListFormRecordComponent, "hlist-form-record", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "formID": "formID"; "form": "form"; "externalButtons": "externalButtons"; "actionButtons": "actionButtons"; }, { "onViewRecord": "onViewRecord"; "onAddViewEditRecord": "onAddViewEditRecord"; "onDeleteRecord": "onDeleteRecord"; "onAfterDeleteRecord": "onAfterDeleteRecord"; "fireAction": "fireAction"; }, never, never, false, never>;
|
|
107
111
|
}
|
package/lib/components/private/form-records/list-form-record/list-form-record.component.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { UtilityHelperService } from "../../../../services/utilityHelper.service
|
|
|
6
6
|
import { DynamicModuleListFormRecordActionsDefault } from "../../../../models/dynamicModuleListFormRecordActionsDefault";
|
|
7
7
|
import { DynamicModuleListConfig } from "../../../../models/dynamicModuleListConfig.model";
|
|
8
8
|
import { EndPointConfiguration } from "../../../../models/endPointConfiguration.model";
|
|
9
|
+
import { ActionButton, FireAction } from '../../../../models/trigger.model';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
export declare class ListFormRecordComponent implements OnInit, OnChanges {
|
|
11
12
|
private utilityHelperService;
|
|
@@ -15,6 +16,7 @@ export declare class ListFormRecordComponent implements OnInit, OnChanges {
|
|
|
15
16
|
formID: string;
|
|
16
17
|
form: Form;
|
|
17
18
|
externalButtons: Array<RecordButton>;
|
|
19
|
+
actionButtons: Array<ActionButton>;
|
|
18
20
|
defaultListActions: DynamicModuleListFormRecordActionsDefault;
|
|
19
21
|
showTitle: boolean;
|
|
20
22
|
tableRecords: EqpTableComponent;
|
|
@@ -27,6 +29,7 @@ export declare class ListFormRecordComponent implements OnInit, OnChanges {
|
|
|
27
29
|
}>;
|
|
28
30
|
onDeleteRecord: EventEmitter<Record>;
|
|
29
31
|
onAfterDeleteRecord: EventEmitter<Record>;
|
|
32
|
+
fireAction: EventEmitter<FireAction>;
|
|
30
33
|
constructor(utilityHelperService: UtilityHelperService, changeDetector: ChangeDetectorRef);
|
|
31
34
|
ngOnInit(): void;
|
|
32
35
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -74,10 +77,11 @@ export declare class ListFormRecordComponent implements OnInit, OnChanges {
|
|
|
74
77
|
* @param record Record da eliminare selezionato sulla eqp-table.
|
|
75
78
|
*/
|
|
76
79
|
deleteRecord(record: Record): void;
|
|
80
|
+
onFireAction(ev: FireAction): void;
|
|
77
81
|
/**
|
|
78
82
|
* Metodo per ricaricare i dati della eqp-table.
|
|
79
83
|
*/
|
|
80
84
|
private reloadTables;
|
|
81
85
|
static ɵfac: i0.ɵɵFactoryDeclaration<ListFormRecordComponent, never>;
|
|
82
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ListFormRecordComponent, "list-form-record", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "formID": "formID"; "form": "form"; "externalButtons": "externalButtons"; }, { "onViewRecord": "onViewRecord"; "onAddViewEditRecord": "onAddViewEditRecord"; "onDeleteRecord": "onDeleteRecord"; "onAfterDeleteRecord": "onAfterDeleteRecord"; }, never, never, false, never>;
|
|
86
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ListFormRecordComponent, "list-form-record", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "formID": "formID"; "form": "form"; "externalButtons": "externalButtons"; "actionButtons": "actionButtons"; }, { "onViewRecord": "onViewRecord"; "onAddViewEditRecord": "onAddViewEditRecord"; "onDeleteRecord": "onDeleteRecord"; "onAfterDeleteRecord": "onAfterDeleteRecord"; "fireAction": "fireAction"; }, never, never, false, never>;
|
|
83
87
|
}
|
|
@@ -10,7 +10,7 @@ import { EndPointConfiguration } from "./../../../../models/endPointConfiguratio
|
|
|
10
10
|
import { MatDialog, MatDialogRef } from "@angular/material/dialog";
|
|
11
11
|
import { Router } from "@angular/router";
|
|
12
12
|
import { DynamicLoaderDirectiveData, eventOut } from "../../../../directives/dynamic-loader/dynamic-loader.directive";
|
|
13
|
-
import { FireTrigger } from '../../../../models/trigger.model';
|
|
13
|
+
import { FireTrigger, ActionButton, FireAction } from '../../../../models/trigger.model';
|
|
14
14
|
import { dbDateService } from "../../../../services/db-date.service";
|
|
15
15
|
import { DatePipe } from "@angular/common";
|
|
16
16
|
import { ModeEnum, TimeTypeEnum } from 'tmw-picker';
|
|
@@ -39,12 +39,12 @@ export declare class ListViewFormRecordComponent implements OnInit, OnChanges {
|
|
|
39
39
|
form: Form;
|
|
40
40
|
defaultListViewFunction: Function;
|
|
41
41
|
externalButtons: Array<RecordButton>;
|
|
42
|
+
actionButtons: Array<ActionButton>;
|
|
42
43
|
onlyView: boolean;
|
|
43
44
|
records: Array<DynRecord>;
|
|
44
45
|
highlightFilter: any;
|
|
45
46
|
QueryEditorComponent: DynamicLoaderDirectiveData;
|
|
46
47
|
defaultListActions: DynamicModuleListFormRecordActionsDefault;
|
|
47
|
-
showTitle: boolean;
|
|
48
48
|
test: boolean;
|
|
49
49
|
isDuplicating: boolean;
|
|
50
50
|
selectedRecord: any;
|
|
@@ -78,6 +78,7 @@ export declare class ListViewFormRecordComponent implements OnInit, OnChanges {
|
|
|
78
78
|
timeType: typeof TimeTypeEnum;
|
|
79
79
|
mode: ModeEnum;
|
|
80
80
|
libSingleLoaded: boolean;
|
|
81
|
+
visibleActionButtons: Array<ActionButton>;
|
|
81
82
|
onAddViewEditRecord: EventEmitter<{
|
|
82
83
|
record: Record;
|
|
83
84
|
onlyView: boolean;
|
|
@@ -89,6 +90,7 @@ export declare class ListViewFormRecordComponent implements OnInit, OnChanges {
|
|
|
89
90
|
dragReleased: EventEmitter<void>;
|
|
90
91
|
out: EventEmitter<eventOut>;
|
|
91
92
|
fireTrigger: EventEmitter<FireTrigger>;
|
|
93
|
+
fireAction: EventEmitter<FireAction>;
|
|
92
94
|
clickDragIndicator: EventEmitter<any>;
|
|
93
95
|
constructor(utilityHelperService: UtilityHelperService, changeDetector: ChangeDetectorRef, dialog: MatDialog, router: Router, dbDateService: dbDateService, datePipe: DatePipe);
|
|
94
96
|
ngOnInit(): void;
|
|
@@ -175,8 +177,10 @@ export declare class ListViewFormRecordComponent implements OnInit, OnChanges {
|
|
|
175
177
|
onDragReleased(): void;
|
|
176
178
|
onExternalComponentOut(ev: eventOut): void;
|
|
177
179
|
onFireTrigger(ev: FireTrigger): void;
|
|
180
|
+
onFireAction(ev: FireAction): void;
|
|
178
181
|
reloadHTMLReadableValues(answerId: string): void;
|
|
182
|
+
generateAction(actionButton: ActionButton): void;
|
|
179
183
|
static ɵfac: i0.ɵɵFactoryDeclaration<ListViewFormRecordComponent, never>;
|
|
180
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ListViewFormRecordComponent, "list-view-form-record", never, { "configurations": "configurations"; "compileConfigurations": "compileConfigurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "formID": "formID"; "orgaID": "orgaID"; "form": "form"; "defaultListViewFunction": "defaultListViewFunction"; "externalButtons": "externalButtons"; "onlyView": "onlyView"; "records": "records"; "highlightFilter": "highlightFilter"; "QueryEditorComponent": "QueryEditorComponent"; }, { "onAddViewEditRecord": "onAddViewEditRecord"; "onDeleteRecord": "onDeleteRecord"; "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; "dragStarted": "dragStarted"; "dragReleased": "dragReleased"; "out": "out"; "fireTrigger": "fireTrigger"; "clickDragIndicator": "clickDragIndicator"; }, never, never, false, never>;
|
|
184
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ListViewFormRecordComponent, "list-view-form-record", never, { "configurations": "configurations"; "compileConfigurations": "compileConfigurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "formID": "formID"; "orgaID": "orgaID"; "form": "form"; "defaultListViewFunction": "defaultListViewFunction"; "externalButtons": "externalButtons"; "actionButtons": "actionButtons"; "onlyView": "onlyView"; "records": "records"; "highlightFilter": "highlightFilter"; "QueryEditorComponent": "QueryEditorComponent"; }, { "onAddViewEditRecord": "onAddViewEditRecord"; "onDeleteRecord": "onDeleteRecord"; "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; "dragStarted": "dragStarted"; "dragReleased": "dragReleased"; "out": "out"; "fireTrigger": "fireTrigger"; "fireAction": "fireAction"; "clickDragIndicator": "clickDragIndicator"; }, never, never, false, never>;
|
|
181
185
|
}
|
|
182
186
|
export {};
|
|
@@ -5,7 +5,7 @@ import { Form } from '../../../../../models/form.model';
|
|
|
5
5
|
import { Record } from "../../../../../models/record.model";
|
|
6
6
|
import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
|
|
7
7
|
import { DynamicLoaderDirectiveData, eventOut } from '../../../../../directives/dynamic-loader/dynamic-loader.directive';
|
|
8
|
-
import { FireTrigger } from '../../../../../models/trigger.model';
|
|
8
|
+
import { FireTrigger, FireAction, ActionButton } from '../../../../../models/trigger.model';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
type PageState = null | 'visualizzaContenuto' | 'modificaContenuto';
|
|
11
11
|
export declare class SingleRecordComponent implements OnInit {
|
|
@@ -18,11 +18,13 @@ export declare class SingleRecordComponent implements OnInit {
|
|
|
18
18
|
showBackButton: boolean;
|
|
19
19
|
outCompileConfigurations: DynamicModuleCompileConfig;
|
|
20
20
|
onlyView: boolean;
|
|
21
|
+
actionButtons: Array<ActionButton>;
|
|
21
22
|
QueryEditorComponent: DynamicLoaderDirectiveData;
|
|
22
23
|
saveRecordEvent: EventEmitter<Record>;
|
|
23
24
|
afterSaveRecordEvent: EventEmitter<Record>;
|
|
24
25
|
out: EventEmitter<eventOut>;
|
|
25
26
|
fireTrigger: EventEmitter<FireTrigger>;
|
|
27
|
+
fireAction: EventEmitter<FireAction>;
|
|
26
28
|
loaded: boolean;
|
|
27
29
|
constructor(utilityHelperService: UtilityHelperService);
|
|
28
30
|
ngOnInit(): void;
|
|
@@ -33,7 +35,8 @@ export declare class SingleRecordComponent implements OnInit {
|
|
|
33
35
|
onAfterSaveRecord(event: any): void;
|
|
34
36
|
onExternalComponentOut(ev: eventOut): void;
|
|
35
37
|
onFireTrigger(ev: FireTrigger): void;
|
|
38
|
+
onFireAction(ev: FireAction): void;
|
|
36
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<SingleRecordComponent, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SingleRecordComponent, "lib-single-record", never, { "endPointConfiguration": "endPointConfiguration"; "record": "record"; "pageState": "pageState"; "userID": "userID"; "form": "form"; "showBackButton": "showBackButton"; "outCompileConfigurations": "outCompileConfigurations"; "onlyView": "onlyView"; "QueryEditorComponent": "QueryEditorComponent"; }, { "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; "out": "out"; "fireTrigger": "fireTrigger"; }, never, never, false, never>;
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SingleRecordComponent, "lib-single-record", never, { "endPointConfiguration": "endPointConfiguration"; "record": "record"; "pageState": "pageState"; "userID": "userID"; "form": "form"; "showBackButton": "showBackButton"; "outCompileConfigurations": "outCompileConfigurations"; "onlyView": "onlyView"; "actionButtons": "actionButtons"; "QueryEditorComponent": "QueryEditorComponent"; }, { "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; "out": "out"; "fireTrigger": "fireTrigger"; "fireAction": "fireAction"; }, never, never, false, never>;
|
|
38
41
|
}
|
|
39
42
|
export {};
|
package/lib/components/private/form-records/view-form-record/view-form-record.component.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { UtilityHelperService } from "../../../../services/utilityHelper.service
|
|
|
6
6
|
import { DynamicModuleFieldFixComponent } from "../../dynamic-module-field-fix/dynamic-module-field.component";
|
|
7
7
|
import { EndPointConfiguration } from "./../../../../models/endPointConfiguration.model";
|
|
8
8
|
import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
|
|
9
|
+
import { ActionButton, FireAction } from '../../../../models/trigger.model';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
export declare class ViewFormRecordComponent implements OnInit {
|
|
11
12
|
utilityService: UtilityHelperService;
|
|
@@ -13,11 +14,13 @@ export declare class ViewFormRecordComponent implements OnInit {
|
|
|
13
14
|
endPointConfiguration: EndPointConfiguration;
|
|
14
15
|
record: string | DynRecord;
|
|
15
16
|
showBackButton: boolean;
|
|
17
|
+
actionButtons: Array<ActionButton>;
|
|
16
18
|
outputString: SafeHtml;
|
|
17
19
|
form: Form;
|
|
18
20
|
loader: boolean;
|
|
19
21
|
FieldTypeEnum: typeof FieldTypeEnum;
|
|
20
22
|
goBackEvent: EventEmitter<null>;
|
|
23
|
+
fireAction: EventEmitter<FireAction>;
|
|
21
24
|
fieldTemplate: QueryList<DynamicModuleFieldFixComponent>;
|
|
22
25
|
constructor(utilityService: UtilityHelperService, domSanitizer: DomSanitizer);
|
|
23
26
|
ngOnInit(): void;
|
|
@@ -27,10 +30,11 @@ export declare class ViewFormRecordComponent implements OnInit {
|
|
|
27
30
|
goBack(): void;
|
|
28
31
|
getRecordByID(): void;
|
|
29
32
|
getFormByIDandVersion(): void;
|
|
33
|
+
onFireAction(ev: FireAction): void;
|
|
30
34
|
/**
|
|
31
35
|
* Metodo per creare il FormGroup che rappresenta la form.
|
|
32
36
|
*/
|
|
33
37
|
private createOutput;
|
|
34
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<ViewFormRecordComponent, never>;
|
|
35
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ViewFormRecordComponent, "view-form-record", never, { "endPointConfiguration": "endPointConfiguration"; "record": "record"; "showBackButton": "showBackButton"; }, { "goBackEvent": "goBackEvent"; }, never, never, false, never>;
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ViewFormRecordComponent, "view-form-record", never, { "endPointConfiguration": "endPointConfiguration"; "record": "record"; "showBackButton": "showBackButton"; "actionButtons": "actionButtons"; }, { "goBackEvent": "goBackEvent"; "fireAction": "fireAction"; }, never, never, false, never>;
|
|
36
40
|
}
|
|
@@ -12,6 +12,7 @@ import { DynamicModuleListConfig } from '../../../../models/dynamicModuleListCon
|
|
|
12
12
|
import { DynamicModuleListFormRecordActionsDefault } from '../../../../models/dynamicModuleListFormRecordActionsDefault';
|
|
13
13
|
import { ConfigColumn, ExportEqpTable } from '@eqproject/eqp-table';
|
|
14
14
|
import { DynamicModuleFilterResultViewModeEnum } from '../../../../models/dynamicModuleFilterResultViewModeEnum.model';
|
|
15
|
+
import { ActionButton, FireAction } from '../../../../models/trigger.model';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
export declare class FilterFormStatisticComponent {
|
|
17
18
|
private cdr;
|
|
@@ -20,12 +21,14 @@ export declare class FilterFormStatisticComponent {
|
|
|
20
21
|
endPointConfiguration: EndPointConfiguration;
|
|
21
22
|
userID: string;
|
|
22
23
|
externalButtons: Array<RecordButton>;
|
|
24
|
+
actionButtons: Array<ActionButton>;
|
|
23
25
|
formID: string;
|
|
24
26
|
form: Form;
|
|
25
27
|
record: Record | string;
|
|
26
28
|
onlyView: boolean;
|
|
27
29
|
defaultListActions: DynamicModuleListFormRecordActionsDefault;
|
|
28
30
|
filterResultViewMode: DynamicModuleFilterResultViewModeEnum;
|
|
31
|
+
fireAction: EventEmitter<FireAction>;
|
|
29
32
|
pageSize: number;
|
|
30
33
|
pageIndex: number;
|
|
31
34
|
pageLength: Array<number>;
|
|
@@ -104,6 +107,7 @@ export declare class FilterFormStatisticComponent {
|
|
|
104
107
|
private getResponseValues;
|
|
105
108
|
private getResponseTemplate;
|
|
106
109
|
private replaceTemplatePlaceholdersWithValues;
|
|
110
|
+
onFireAction(ev: FireAction): void;
|
|
107
111
|
static ɵfac: i0.ɵɵFactoryDeclaration<FilterFormStatisticComponent, never>;
|
|
108
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FilterFormStatisticComponent, "filter-form-statistic", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "externalButtons": "externalButtons"; "formID": "formID"; "form": "form"; "record": "record"; "onlyView": "onlyView"; "defaultListActions": "defaultListActions"; "filterResultViewMode": "filterResultViewMode"; }, { "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; "afterFilter": "afterFilter"; }, never, never, false, never>;
|
|
112
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilterFormStatisticComponent, "filter-form-statistic", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "externalButtons": "externalButtons"; "actionButtons": "actionButtons"; "formID": "formID"; "form": "form"; "record": "record"; "onlyView": "onlyView"; "defaultListActions": "defaultListActions"; "filterResultViewMode": "filterResultViewMode"; }, { "fireAction": "fireAction"; "saveRecordEvent": "saveRecordEvent"; "afterSaveRecordEvent": "afterSaveRecordEvent"; "afterFilter": "afterFilter"; }, never, never, false, never>;
|
|
109
113
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
2
|
import { Form } from "../../../models/form.model";
|
|
3
3
|
import { DynamicModuleCompileConfig } from '../../../models/dynamicModuleCompileConfig.model';
|
|
4
4
|
import { EndPointConfiguration } from '../../../models/endPointConfiguration.model';
|
|
@@ -8,6 +8,7 @@ import { UtilityHelperService } from '../../../services/utilityHelper.services';
|
|
|
8
8
|
import { DynRecord } from '../../../models/record.model';
|
|
9
9
|
import { DatePipe } from '@angular/common';
|
|
10
10
|
import { ModeEnum, TimeTypeEnum } from 'tmw-picker';
|
|
11
|
+
import { ActionButton, FireAction } from '../../../models/trigger.model';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export declare class GraphsComponent implements OnInit {
|
|
13
14
|
private utilityHelperService;
|
|
@@ -17,6 +18,8 @@ export declare class GraphsComponent implements OnInit {
|
|
|
17
18
|
userID: string;
|
|
18
19
|
formID: string;
|
|
19
20
|
form: Form;
|
|
21
|
+
actionButtons: Array<ActionButton>;
|
|
22
|
+
fireAction: EventEmitter<FireAction>;
|
|
20
23
|
fieldFormGroup: UntypedFormGroup;
|
|
21
24
|
loaded: boolean;
|
|
22
25
|
generated: boolean;
|
|
@@ -42,6 +45,7 @@ export declare class GraphsComponent implements OnInit {
|
|
|
42
45
|
getRecordsByFormID(): Promise<void>;
|
|
43
46
|
generateGraph(): void;
|
|
44
47
|
getEligibleAnswers(): void;
|
|
48
|
+
onFireAction(ev: FireAction): void;
|
|
45
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<GraphsComponent, never>;
|
|
46
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GraphsComponent, "graphs", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "formID": "formID"; "form": "form"; }, {}, never, never, false, never>;
|
|
50
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GraphsComponent, "graphs", never, { "configurations": "configurations"; "endPointConfiguration": "endPointConfiguration"; "userID": "userID"; "formID": "formID"; "form": "form"; "actionButtons": "actionButtons"; }, { "fireAction": "fireAction"; }, never, never, false, never>;
|
|
47
51
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseObj } from "./baseObj.model";
|
|
2
2
|
import { IRootObject } from "../interfaces/iRootObject.interface";
|
|
3
3
|
import { BaseField } from "./baseField.model";
|
|
4
|
-
import { Trigger } from "./trigger.model";
|
|
4
|
+
import { ActionButton, Trigger } from "./trigger.model";
|
|
5
5
|
/**
|
|
6
6
|
* Classe che rappresenta una Form completa.
|
|
7
7
|
* Si tratta dell'oggetto che viene rappresentato a video e con cui l'utente interagisce.
|
|
@@ -25,6 +25,7 @@ export declare class Form extends BaseObj implements IRootObject {
|
|
|
25
25
|
* Triggers
|
|
26
26
|
*/
|
|
27
27
|
Triggers: Array<Trigger>;
|
|
28
|
+
ActionButtons: Array<ActionButton>;
|
|
28
29
|
/**
|
|
29
30
|
* Elenco delle form contenute nella form base, ad esempio possono essere le varie form di
|
|
30
31
|
* dettaglio
|
|
@@ -38,6 +39,7 @@ export declare class Form extends BaseObj implements IRootObject {
|
|
|
38
39
|
OldName?: string;
|
|
39
40
|
ObjectFields: any[];
|
|
40
41
|
ObjectTriggers: any;
|
|
42
|
+
ObjectActionButtons: any;
|
|
41
43
|
}
|
|
42
44
|
export declare class FormFieldGroup {
|
|
43
45
|
Name: string;
|
|
@@ -49,3 +49,26 @@ export declare class FireTrigger {
|
|
|
49
49
|
userPatient: string;
|
|
50
50
|
userMedicalExamination: number;
|
|
51
51
|
}
|
|
52
|
+
export declare class ActionButton {
|
|
53
|
+
Code: string;
|
|
54
|
+
Label: string;
|
|
55
|
+
Icon: string;
|
|
56
|
+
OrdinalPosition: number;
|
|
57
|
+
ShowIn: ActionFlagEnum;
|
|
58
|
+
}
|
|
59
|
+
export declare class FireAction {
|
|
60
|
+
form: Form;
|
|
61
|
+
action: ActionButton;
|
|
62
|
+
record: Record;
|
|
63
|
+
userPatient: string;
|
|
64
|
+
userMedicalExamination: number;
|
|
65
|
+
extraParams: any;
|
|
66
|
+
}
|
|
67
|
+
export declare enum ActionFlagEnum {
|
|
68
|
+
LIST = 2,
|
|
69
|
+
LISTVIEW = 4,
|
|
70
|
+
ADDRECORD = 8,
|
|
71
|
+
VIEWRECORD = 16,
|
|
72
|
+
STATISTIC = 32,
|
|
73
|
+
GRAPHS = 64
|
|
74
|
+
}
|