@provoly/hypervisor 0.0.16 → 0.0.18
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/esm2022/src/lib/event/detail/event-detail.component.mjs +48 -4
- package/esm2022/src/lib/event-summary/list/event-summary-list.component.mjs +3 -3
- package/esm2022/src/lib/event-summary/page/event-summary-page.component.mjs +3 -3
- package/esm2022/src/lib/general/i18n/fr.translations.mjs +13 -12
- package/esm2022/src/lib/hypervisor.module.mjs +6 -1
- package/fesm2022/provoly-hypervisor.mjs +68 -18
- package/fesm2022/provoly-hypervisor.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/event/detail/event-detail.component.d.ts +14 -0
- package/src/lib/general/i18n/fr.translations.d.ts +1 -0
- package/src/lib/hypervisor.module.d.ts +1 -1
- package/styles/components/_o-hvy-event-detail.scss +6 -0
- package/styles/components/_o-hvy-event-summary-list.scss +5 -1
- package/styles/components/_o-hvy-event-summary-page.scss +9 -5
|
@@ -19,14 +19,14 @@ export const frTranslations = {
|
|
|
19
19
|
equipment: 'Référence matériel',
|
|
20
20
|
equipmentEntity: 'Entité de l\'équipement',
|
|
21
21
|
domain: {
|
|
22
|
-
name: 'Métier'
|
|
22
|
+
name: 'Métier',
|
|
23
23
|
},
|
|
24
24
|
startDate: 'Date de début',
|
|
25
25
|
endDate: 'Date de fin',
|
|
26
26
|
creationDate: 'Date de création',
|
|
27
27
|
lastModificationDate: 'Date dernières modifications',
|
|
28
28
|
closeDate: 'Date de clotûre',
|
|
29
|
-
detail:
|
|
29
|
+
detail: 'Description des événements',
|
|
30
30
|
log: {
|
|
31
31
|
name: 'Journal des événements',
|
|
32
32
|
empty: 'Aucun événement n\'a été créé',
|
|
@@ -39,19 +39,20 @@ export const frTranslations = {
|
|
|
39
39
|
close: 'Clôturer tous ces événements',
|
|
40
40
|
comments: {
|
|
41
41
|
name: 'Commentaires de l\'événement',
|
|
42
|
-
placeholder: 'Écrivez votre commentaire'
|
|
43
|
-
}
|
|
42
|
+
placeholder: 'Écrivez votre commentaire',
|
|
43
|
+
},
|
|
44
44
|
},
|
|
45
45
|
procedure: {
|
|
46
46
|
delete: 'Supprimer la procédure',
|
|
47
47
|
progress: 'Progression',
|
|
48
48
|
noAction: 'Pas d\'action',
|
|
49
49
|
name: 'Procédure commune',
|
|
50
|
-
|
|
50
|
+
name1: 'Procédure',
|
|
51
|
+
addAction: 'Ajouter une action',
|
|
51
52
|
},
|
|
52
53
|
},
|
|
53
54
|
category: {
|
|
54
|
-
name:
|
|
55
|
+
name: 'Catégorie d\'événement',
|
|
55
56
|
ALERT_MALFUNCTION: 'Alerte Dysfonctionnement',
|
|
56
57
|
REPORT: 'Signalement GRC',
|
|
57
58
|
OPERATOR_EVENT: 'Evènement Opérateur',
|
|
@@ -67,9 +68,9 @@ export const frTranslations = {
|
|
|
67
68
|
filter: {
|
|
68
69
|
name: 'Filtrer',
|
|
69
70
|
choice: {
|
|
70
|
-
all:
|
|
71
|
-
}
|
|
72
|
-
}
|
|
71
|
+
all: 'Tous',
|
|
72
|
+
},
|
|
73
|
+
},
|
|
73
74
|
},
|
|
74
75
|
eventSummary: {
|
|
75
76
|
noContent: 'Aucun événement avec la criticité donnée',
|
|
@@ -87,14 +88,14 @@ export const frTranslations = {
|
|
|
87
88
|
},
|
|
88
89
|
procedure: {
|
|
89
90
|
name: 'Procédure',
|
|
90
|
-
progress: '% avancement procédure'
|
|
91
|
+
progress: '% avancement procédure',
|
|
91
92
|
},
|
|
92
93
|
action: {
|
|
93
94
|
consult: 'Consulter',
|
|
94
95
|
close: 'Clotûrer',
|
|
95
96
|
send: 'Envoyer',
|
|
96
|
-
comment: 'Commenter'
|
|
97
|
+
comment: 'Commenter',
|
|
97
98
|
},
|
|
98
99
|
},
|
|
99
100
|
};
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZ2VuZXJhbC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLEtBQUssRUFBRSxRQUFRO2dCQUNmLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixRQUFRLEVBQUUsV0FBVzthQUN0QjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixHQUFHLEVBQUUsU0FBUztnQkFDZCxXQUFXLEVBQUUsVUFBVTtnQkFDdkIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRCxPQUFPLEVBQUUsU0FBUztZQUNsQixNQUFNLEVBQUUsbUJBQW1CO1lBQzNCLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsZUFBZSxFQUFFLHlCQUF5QjtZQUMxQyxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7YUFDZjtZQUNELFNBQVMsRUFBRSxlQUFlO1lBQzFCLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFlBQVksRUFBRSxrQkFBa0I7WUFDaEMsb0JBQW9CLEVBQUUsOEJBQThCO1lBQ3BELFNBQVMsRUFBRSxpQkFBaUI7WUFDNUIsTUFBTSxFQUFFLDRCQUE0QjtZQUNwQyxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsS0FBSyxFQUFFLCtCQUErQjtnQkFDdEMsS0FBSyxFQUFFO29CQUNMLFdBQVcsRUFBRSxhQUFhO29CQUMxQixPQUFPLEVBQUUsU0FBUztvQkFDbEIsTUFBTSxFQUFFLGNBQWM7b0JBQ3RCLElBQUksRUFBRSxLQUFLO29CQUNYLFFBQVEsRUFBRSxXQUFXO29CQUNyQixLQUFLLEVBQUUsOEJBQThCO29CQUNyQyxRQUFRLEVBQUU7d0JBQ1IsSUFBSSxFQUFFLDhCQUE4Qjt3QkFDcEMsV0FBVyxFQUFFLDJCQUEyQjtxQkFDekM7aUJBQ0Y7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULE1BQU0sRUFBRSx3QkFBd0I7b0JBQ2hDLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsS0FBSyxFQUFFLFdBQVc7b0JBQ2xCLFNBQVMsRUFBRSxvQkFBb0I7aUJBQ2hDO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsaUJBQWlCLEVBQUUsMEJBQTBCO2dCQUM3QyxNQUFNLEVBQUUsaUJBQWlCO2dCQUN6QixjQUFjLEVBQUUscUJBQXFCO2dCQUNyQyxXQUFXLEVBQUUsY0FBYztnQkFDM0IsYUFBYSxFQUFFLGVBQWU7YUFDL0I7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEdBQUcsRUFBRSxLQUFLO2dCQUNWLE1BQU0sRUFBRSxPQUFPO2dCQUNmLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsTUFBTSxFQUFFO29CQUNOLEdBQUcsRUFBRSxNQUFNO2lCQUNaO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLFNBQVMsRUFBRSwwQ0FBMEM7WUFDckQsWUFBWSxFQUFFO2dCQUNaLEdBQUcsRUFBRSxVQUFVO2dCQUNmLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixJQUFJLEVBQUUsVUFBVTthQUNqQjtZQUNELGlCQUFpQixFQUFFO2dCQUNqQixHQUFHLEVBQUUsS0FBSztnQkFDVixNQUFNLEVBQUUsT0FBTztnQkFDZixJQUFJLEVBQUUsTUFBTTtnQkFDWixHQUFHLEVBQUUsTUFBTTthQUNaO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsV0FBVztZQUNqQixRQUFRLEVBQUUsd0JBQXdCO1NBQ25DO1FBQ0QsTUFBTSxFQUFFO1lBQ04sT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLFVBQVU7WUFDakIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsV0FBVztTQUNyQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBmclRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BodnknOiB7XG4gICAgZXZlbnQ6IHtcbiAgICAgIG5hbWU6ICfDiXbDqW5lbWVudHMnLFxuICAgICAgdHlwZToge1xuICAgICAgICBuYW1lOiAnVHlwZSBkXFwnw6l2w6luZW1lbnQnLFxuICAgICAgICBBTEVSVDogJ0FsZXJ0ZScsXG4gICAgICAgIFJFUE9SVDogJ1NpZ25hbGVtZW50JyxcbiAgICAgICAgT1BFUkFUT1I6ICdPcMOpcmF0ZXVyJyxcbiAgICAgIH0sXG4gICAgICBzdGF0dXM6IHtcbiAgICAgICAgbmFtZTogJ1N0YXR1dCDDqXbDqW5lbWVudCcsXG4gICAgICAgIE5FVzogJ05vdXZlYXUnLFxuICAgICAgICBJTl9QUk9HUkVTUzogJ0VuIGNvdXJzJyxcbiAgICAgICAgRE9ORTogJ0Nsw7R0dXLDqScsXG4gICAgICB9LFxuICAgICAgYWRkcmVzczogJ0FkcmVzc2UnLFxuICAgICAgc291cmNlOiAnUsOpZsOpcmVuY2UgZXh0ZXJuZScsXG4gICAgICBlcXVpcG1lbnQ6ICdSw6lmw6lyZW5jZSBtYXTDqXJpZWwnLFxuICAgICAgZXF1aXBtZW50RW50aXR5OiAnRW50aXTDqSBkZSBsXFwnw6lxdWlwZW1lbnQnLFxuICAgICAgZG9tYWluOiB7XG4gICAgICAgIG5hbWU6ICdNw6l0aWVyJyxcbiAgICAgIH0sXG4gICAgICBzdGFydERhdGU6ICdEYXRlIGRlIGTDqWJ1dCcsXG4gICAgICBlbmREYXRlOiAnRGF0ZSBkZSBmaW4nLFxuICAgICAgY3JlYXRpb25EYXRlOiAnRGF0ZSBkZSBjcsOpYXRpb24nLFxuICAgICAgbGFzdE1vZGlmaWNhdGlvbkRhdGU6ICdEYXRlIGRlcm5pw6hyZXMgbW9kaWZpY2F0aW9ucycsXG4gICAgICBjbG9zZURhdGU6ICdEYXRlIGRlIGNsb3TDu3JlJyxcbiAgICAgIGRldGFpbDogJ0Rlc2NyaXB0aW9uIGRlcyDDqXbDqW5lbWVudHMnLFxuICAgICAgbG9nOiB7XG4gICAgICAgIG5hbWU6ICdKb3VybmFsIGRlcyDDqXbDqW5lbWVudHMnLFxuICAgICAgICBlbXB0eTogJ0F1Y3VuIMOpdsOpbmVtZW50IG5cXCdhIMOpdMOpIGNyw6nDqScsXG4gICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgICAgYWRkcmVzczogJ0FkcmVzc2UnLFxuICAgICAgICAgIGRldGFpbDogJ0luZm9ybWF0aW9ucycsXG4gICAgICAgICAgbmFtZTogJ05vbScsXG4gICAgICAgICAgY2F0ZWdvcnk6ICdDYXTDqWdvcmllJyxcbiAgICAgICAgICBjbG9zZTogJ0Nsw7R0dXJlciB0b3VzIGNlcyDDqXbDqW5lbWVudHMnLFxuICAgICAgICAgIGNvbW1lbnRzOiB7XG4gICAgICAgICAgICBuYW1lOiAnQ29tbWVudGFpcmVzIGRlIGxcXCfDqXbDqW5lbWVudCcsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogJ8OJY3JpdmV6IHZvdHJlIGNvbW1lbnRhaXJlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZWR1cmU6IHtcbiAgICAgICAgICBkZWxldGU6ICdTdXBwcmltZXIgbGEgcHJvY8OpZHVyZScsXG4gICAgICAgICAgcHJvZ3Jlc3M6ICdQcm9ncmVzc2lvbicsXG4gICAgICAgICAgbm9BY3Rpb246ICdQYXMgZFxcJ2FjdGlvbicsXG4gICAgICAgICAgbmFtZTogJ1Byb2PDqWR1cmUgY29tbXVuZScsXG4gICAgICAgICAgbmFtZTE6ICdQcm9jw6lkdXJlJyxcbiAgICAgICAgICBhZGRBY3Rpb246ICdBam91dGVyIHVuZSBhY3Rpb24nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGNhdGVnb3J5OiB7XG4gICAgICAgIG5hbWU6ICdDYXTDqWdvcmllIGRcXCfDqXbDqW5lbWVudCcsXG4gICAgICAgIEFMRVJUX01BTEZVTkNUSU9OOiAnQWxlcnRlIER5c2ZvbmN0aW9ubmVtZW50JyxcbiAgICAgICAgUkVQT1JUOiAnU2lnbmFsZW1lbnQgR1JDJyxcbiAgICAgICAgT1BFUkFUT1JfRVZFTlQ6ICdFdsOobmVtZW50IE9ww6lyYXRldXInLFxuICAgICAgICBBTEVSVF9MSU1JVDogJ0FsZXJ0ZSBTZXVpbCcsXG4gICAgICAgIE1BTklGRVNUQVRJT046ICdNYW5pZmVzdGF0aW9uJyxcbiAgICAgIH0sXG4gICAgICBjcml0aWNhbGl0eToge1xuICAgICAgICBuYW1lOiAnQ3JpdGljaXTDqScsXG4gICAgICAgIExPVzogJ0JhcycsXG4gICAgICAgIE1FRElVTTogJ01veWVuJyxcbiAgICAgICAgSElHSDogJ0hhdXQnLFxuICAgICAgfSxcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBuYW1lOiAnRmlsdHJlcicsXG4gICAgICAgIGNob2ljZToge1xuICAgICAgICAgIGFsbDogJ1RvdXMnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGV2ZW50U3VtbWFyeToge1xuICAgICAgbm9Db250ZW50OiAnQXVjdW4gw6l2w6luZW1lbnQgYXZlYyBsYSBjcml0aWNpdMOpIGRvbm7DqWUnLFxuICAgICAgc3RhdHVzTGFiZWxzOiB7XG4gICAgICAgIE5FVzogJ05vdXZlYXV4JyxcbiAgICAgICAgSU5fUFJPR1JFU1M6ICdFbiBjb3VycycsXG4gICAgICAgIERPTkU6ICdDbMO0dHVyw6lzJyxcbiAgICAgIH0sXG4gICAgICBjcml0aWNhbGl0eUxhYmVsczoge1xuICAgICAgICBMT1c6ICdCYXMnLFxuICAgICAgICBNRURJVU06ICdNb3llbicsXG4gICAgICAgIEhJR0g6ICdIYXV0JyxcbiAgICAgICAgQUxMOiAnVG91cycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcHJvY2VkdXJlOiB7XG4gICAgICBuYW1lOiAnUHJvY8OpZHVyZScsXG4gICAgICBwcm9ncmVzczogJyUgYXZhbmNlbWVudCBwcm9jw6lkdXJlJyxcbiAgICB9LFxuICAgIGFjdGlvbjoge1xuICAgICAgY29uc3VsdDogJ0NvbnN1bHRlcicsXG4gICAgICBjbG9zZTogJ0Nsb3TDu3JlcicsXG4gICAgICBzZW5kOiAnRW52b3llcicsXG4gICAgICBjb21tZW50OiAnQ29tbWVudGVyJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -102,6 +102,8 @@ export class PvyHypervisorModule {
|
|
|
102
102
|
PryDatePickerModule,
|
|
103
103
|
PryI18nModule,
|
|
104
104
|
PryIconModule,
|
|
105
|
+
PryI18nModule,
|
|
106
|
+
AsyncPipe,
|
|
105
107
|
PryI18nModule], exports: [EventDetailComponent,
|
|
106
108
|
EventListComponent,
|
|
107
109
|
IconDisplayComponent,
|
|
@@ -132,6 +134,7 @@ export class PvyHypervisorModule {
|
|
|
132
134
|
PryDatePickerModule,
|
|
133
135
|
PryI18nModule,
|
|
134
136
|
PryIconModule,
|
|
137
|
+
PryI18nModule,
|
|
135
138
|
PryI18nModule] }); }
|
|
136
139
|
}
|
|
137
140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PvyHypervisorModule, decorators: [{
|
|
@@ -166,6 +169,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
166
169
|
PryI18nModule,
|
|
167
170
|
PryIconModule,
|
|
168
171
|
PryI18nModule,
|
|
172
|
+
AsyncPipe,
|
|
173
|
+
PryI18nModule,
|
|
169
174
|
],
|
|
170
175
|
exports: [
|
|
171
176
|
...components,
|
|
@@ -175,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
175
180
|
type: Inject,
|
|
176
181
|
args: [HYP_BASE_CONFIG]
|
|
177
182
|
}] }, { type: i1.Store }, { type: i2.PryI18nService }] });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlwZXJ2aXNvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9oeXBlcnZpc29yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEcsT0FBTyxFQUNMLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztB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LE9BQU8sRUFBRTt3QkFDUCxXQUFXLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQzt3QkFDeEQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDO3dCQUNyRCxXQUFXLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixDQUFDO3dCQUNuRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLENBQUM7d0JBQ2hGLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLE9BQU87d0JBQ1AsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFVBQVU7d0JBQ1Ysa0JBQWtCO3dCQUNsQixRQUFRO3dCQUNSLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsUUFBUTt3QkFDUixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLFVBQVU7cUJBQ2Q7aUJBQ0Y7OzBCQVljLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlLCBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGV2ZW50RmVhdHVyZUtleSwgZXZlbnRSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9ldmVudC9ldmVudC5yZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50RWZmZWN0cyB9IGZyb20gJy4vc3RvcmUvZXZlbnQvZXZlbnQuZWZmZWN0cyc7XG5pbXBvcnQgeyBFdmVudERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvZGV0YWlsL2V2ZW50LWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgaHlwZXJ2aXNvclJlZHVjZXIsIGh5cEZlYXR1cmVLZXkgfSBmcm9tICcuL3N0b3JlL2h5cGVydmlzb3IvaHlwZXJ2aXNvci5yZWR1Y2VyJztcbmltcG9ydCB7IEh5cGVydmlzb3JFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9oeXBlcnZpc29yL2h5cGVydmlzb3IuZWZmZWN0cyc7XG5pbXBvcnQgeyBIWVBfQkFTRV9DT05GSUcgfSBmcm9tICcuL2dlbmVyYWwvYmFzZS50b2tlbic7XG5pbXBvcnQgeyBIeXBlcnZpc29yQWN0aW9ucyB9IGZyb20gJy4vc3RvcmUvaHlwZXJ2aXNvci9oeXBlcnZpc29yLmFjdGlvbnMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBEYXRlUGlwZSwgSnNvblBpcGUsIEtleVZhbHVlUGlwZSwgTmdGb3JPZiwgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBQcnlDb3JlTW9kdWxlLFxuICBQcnlEYXRlUGlja2VyTW9kdWxlLFxuICBQcnlJMThuTW9kdWxlLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5SWNvbk1vZHVsZSxcbiAgUHJ5U2VsZWN0TW9kdWxlLFxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgZW5UcmFuc2xhdGlvbnMgfSBmcm9tICcuL2dlbmVyYWwvaTE4bi9lbi50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgZnJUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2dlbmVyYWwvaTE4bi9mci50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgSWNvbkRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvaWNvbi1kaXNwbGF5L2ljb24tZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRJY29uUGlwZSB9IGZyb20gJy4vZ2VuZXJhbC9pY29uLXBpcGUvZXZlbnQtaWNvbi5waXBlJztcbmltcG9ydCB7IFByeUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgRXZlbnRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9saXN0L2V2ZW50LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQcnlTaW5jZURhdGVNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9zaW5jZURhdGUnO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQtc3VtbWFyeS9saXN0L2V2ZW50LXN1bW1hcnktbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQtc3VtbWFyeS9pdGVtL2V2ZW50LXN1bW1hcnktaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5RWZmZWN0cyB9IGZyb20gJy4vc3RvcmUvZXZlbnQtc3VtbWFyeS9ldmVudC1zdW1tYXJ5LmVmZmVjdHMnO1xuaW1wb3J0IHsgZXZlbnRTdW1tYXJ5RmVhdHVyZUtleSwgZXZlbnRTdW1tYXJ5UmVkdWNlciB9IGZyb20gJy4vc3RvcmUvZXZlbnQtc3VtbWFyeS9ldmVudC1zdW1tYXJ5LnJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQtc3VtbWFyeS9wYWdlL2V2ZW50LXN1bW1hcnktcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9yRGF0ZXRpbWVMb2NhbFBpcGUgfSBmcm9tICcuL2dlbmVyYWwvZm9yLWRhdGV0aW1lLWxvY2FsLXBpcGUvZm9yLWRhdGV0aW1lLWxvY2FsLnBpcGUnO1xuaW1wb3J0IHsgU3RhdHVzRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9zdGF0dXMtZGlzcGxheS9zdGF0dXMtZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2dyZXNzLWRpc3BsYXkvcHJvZ3Jlc3MtZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uT3JkZXJDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvY29sdW1uLW9yZGVyL2NvbHVtbi1vcmRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9maWx0ZXJzL2V2ZW50LWZpbHRlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2ZpbHRlcnMvZGF0ZS9kYXRlLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hvaWNlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9maWx0ZXJzL2Nob2ljZS9jaG9pY2UtZmlsdGVyLmNvbXBvbmVudCc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIEV2ZW50RGV0YWlsQ29tcG9uZW50LFxuICBFdmVudExpc3RDb21wb25lbnQsXG4gIEljb25EaXNwbGF5Q29tcG9uZW50LFxuICBFdmVudFN1bW1hcnlJdGVtQ29tcG9uZW50LFxuICBFdmVudFN1bW1hcnlMaXN0Q29tcG9uZW50LFxuICBFdmVudFN1bW1hcnlQYWdlQ29tcG9uZW50LFxuICBFdmVudEljb25QaXBlLFxuICBGb3JEYXRldGltZUxvY2FsUGlwZSxcbiAgU3RhdHVzRGlzcGxheUNvbXBvbmVudCxcbiAgUHJvZ3Jlc3NEaXNwbGF5Q29tcG9uZW50LFxuICBDb2x1bW5PcmRlckNvbXBvbmVudCxcbiAgRXZlbnRGaWx0ZXJzQ29tcG9uZW50LFxuICBEYXRlRmlsdGVyQ29tcG9uZW50LFxuICBDaG9pY2VGaWx0ZXJDb21wb25lbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC4uLmNvbXBvbmVudHMsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKGh5cEZlYXR1cmVLZXksIGh5cGVydmlzb3JSZWR1Y2VyKSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKGV2ZW50RmVhdHVyZUtleSwgZXZlbnRSZWR1Y2VyKSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKGV2ZW50U3VtbWFyeUZlYXR1cmVLZXksIGV2ZW50U3VtbWFyeVJlZHVjZXIpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbRXZlbnRFZmZlY3RzLCBFdmVudFN1bW1hcnlFZmZlY3RzLCBIeXBlcnZpc29yRWZmZWN0c10pLFxuICAgIE5nRm9yT2YsXG4gICAgQXN5bmNQaXBlLFxuICAgIFByeUkxOG5Nb2R1bGUsXG4gICAgUHJ5Q29yZU1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgUHJ5Q29yZU1vZHVsZSxcbiAgICBOZ1N0eWxlLFxuICAgIFByeUNoZWNrYm94TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJvdXRlckxpbmssXG4gICAgUHJ5U2luY2VEYXRlTW9kdWxlLFxuICAgIERhdGVQaXBlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgS2V5VmFsdWVQaXBlLFxuICAgIFByeVNlbGVjdE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBKc29uUGlwZSxcbiAgICBQcnlEYXRlUGlja2VyTW9kdWxlLFxuICAgIFByeUkxOG5Nb2R1bGUsXG4gICAgUHJ5SWNvbk1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4uY29tcG9uZW50cyxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUHZ5SHlwZXJ2aXNvck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnM6IHsgdXJsPzogc3RyaW5nIH0pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFB2eUh5cGVydmlzb3JNb2R1bGU+IHtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUHZ5SHlwZXJ2aXNvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEhZUF9CQVNFX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoSFlQX0JBU0VfQ09ORklHKSBwcml2YXRlIGJhc2VDb25maWc6IHtcbiAgICB1cmw6IHN0cmluZ1xuICB9LCBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LCBwcml2YXRlIGkxOG5TZXJ2aWNlOiBQcnlJMThuU2VydmljZSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goSHlwZXJ2aXNvckFjdGlvbnMuc2V0VXJsKHsgdXJsOiBiYXNlQ29uZmlnLnVybCB9KSk7XG4gICAgdGhpcy5pMThuU2VydmljZS5hZGRMYW5nT2JqZWN0KCdlbicsICdAaHZ5JywgZW5UcmFuc2xhdGlvbnMpO1xuICAgIHRoaXMuaTE4blNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAnQGh2eScsIGZyVHJhbnNsYXRpb25zKTtcbiAgfVxufVxuIl19
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlwZXJ2aXNvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9oeXBlcnZpc29yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEcsT0FBTyxFQUNMLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7QUFFdkYsTUFBTSxVQUFVLEdBQUc7SUFDakIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHFCQUFxQjtDQUN0QixDQUFDO0FBdUNGLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUF5QjtRQUV0QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7YUFDaEQ7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQTZDLFVBRTVDLEVBQVUsS0FBaUIsRUFBVSxXQUEyQjtRQUZwQixlQUFVLEdBQVYsVUFBVSxDQUV0RDtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7OEdBakJVLG1CQUFtQixrQkFXVixlQUFlOytHQVh4QixtQkFBbUIsaUJBckQ5QixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIscUJBQXFCLDJHQVluQixPQUFPO1lBQ1AsU0FBUztZQUNULGFBQWE7WUFDYixhQUFhO1lBQ2IsU0FBUztZQUNULGFBQWE7WUFDYixPQUFPO1lBQ1AsaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxVQUFVO1lBQ1Ysa0JBQWtCO1lBQ2xCLFFBQVE7WUFDUixhQUFhO1lBQ2IsWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsUUFBUTtZQUNSLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGFBQWE7WUFDYixTQUFTO1lBQ1QsYUFBYSxhQS9DZixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIscUJBQXFCOytHQXdDVixtQkFBbUIsWUFoQzVCLFdBQVcsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDO1lBQ3hELFdBQVcsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQztZQUNyRCxXQUFXLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixDQUFDO1lBQ25FLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUdoRixhQUFhO1lBQ2IsYUFBYTtZQUViLGFBQWE7WUFFYixpQkFBaUI7WUFDakIsV0FBVztZQUVYLGtCQUFrQjtZQUVsQixhQUFhO1lBRWIsZUFBZTtZQUNmLFdBQVc7WUFFWCxtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGFBQWE7WUFDYixhQUFhO1lBRWIsYUFBYTs7MkZBTUosbUJBQW1CO2tCQXJDL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osR0FBRyxVQUFVO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxXQUFXLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQzt3QkFDeEQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDO3dCQUNyRCxXQUFXLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixDQUFDO3dCQUNuRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLENBQUM7d0JBQ2hGLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLE9BQU87d0JBQ1AsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFVBQVU7d0JBQ1Ysa0JBQWtCO3dCQUNsQixRQUFRO3dCQUNSLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsUUFBUTt3QkFDUixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsR0FBRyxVQUFVO3FCQUNkO2lCQUNGOzswQkFZYyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZSwgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBldmVudEZlYXR1cmVLZXksIGV2ZW50UmVkdWNlciB9IGZyb20gJy4vc3RvcmUvZXZlbnQvZXZlbnQucmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudEVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL2V2ZW50L2V2ZW50LmVmZmVjdHMnO1xuaW1wb3J0IHsgRXZlbnREZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2RldGFpbC9ldmVudC1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7IGh5cGVydmlzb3JSZWR1Y2VyLCBoeXBGZWF0dXJlS2V5IH0gZnJvbSAnLi9zdG9yZS9oeXBlcnZpc29yL2h5cGVydmlzb3IucmVkdWNlcic7XG5pbXBvcnQgeyBIeXBlcnZpc29yRWZmZWN0cyB9IGZyb20gJy4vc3RvcmUvaHlwZXJ2aXNvci9oeXBlcnZpc29yLmVmZmVjdHMnO1xuaW1wb3J0IHsgSFlQX0JBU0VfQ09ORklHIH0gZnJvbSAnLi9nZW5lcmFsL2Jhc2UudG9rZW4nO1xuaW1wb3J0IHsgSHlwZXJ2aXNvckFjdGlvbnMgfSBmcm9tICcuL3N0b3JlL2h5cGVydmlzb3IvaHlwZXJ2aXNvci5hY3Rpb25zJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgRGF0ZVBpcGUsIEpzb25QaXBlLCBLZXlWYWx1ZVBpcGUsIE5nRm9yT2YsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5RGF0ZVBpY2tlck1vZHVsZSxcbiAgUHJ5STE4bk1vZHVsZSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeUljb25Nb2R1bGUsXG4gIFByeVNlbGVjdE1vZHVsZSxcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGVuVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9nZW5lcmFsL2kxOG4vZW4udHJhbnNsYXRpb25zJztcbmltcG9ydCB7IGZyVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9nZW5lcmFsL2kxOG4vZnIudHJhbnNsYXRpb25zJztcbmltcG9ydCB7IEljb25EaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL2ljb24tZGlzcGxheS9pY29uLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IEV2ZW50SWNvblBpcGUgfSBmcm9tICcuL2dlbmVyYWwvaWNvbi1waXBlL2V2ZW50LWljb24ucGlwZSc7XG5pbXBvcnQgeyBQcnlDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IEV2ZW50TGlzdENvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvbGlzdC9ldmVudC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUHJ5U2luY2VEYXRlTW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvc2luY2VEYXRlJztcbmltcG9ydCB7IEV2ZW50U3VtbWFyeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50LXN1bW1hcnkvbGlzdC9ldmVudC1zdW1tYXJ5LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEV2ZW50U3VtbWFyeUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2V2ZW50LXN1bW1hcnkvaXRlbS9ldmVudC1zdW1tYXJ5LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEV2ZW50U3VtbWFyeUVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL2V2ZW50LXN1bW1hcnkvZXZlbnQtc3VtbWFyeS5lZmZlY3RzJztcbmltcG9ydCB7IGV2ZW50U3VtbWFyeUZlYXR1cmVLZXksIGV2ZW50U3VtbWFyeVJlZHVjZXIgfSBmcm9tICcuL3N0b3JlL2V2ZW50LXN1bW1hcnkvZXZlbnQtc3VtbWFyeS5yZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50U3VtbWFyeVBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50LXN1bW1hcnkvcGFnZS9ldmVudC1zdW1tYXJ5LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZvckRhdGV0aW1lTG9jYWxQaXBlIH0gZnJvbSAnLi9nZW5lcmFsL2Zvci1kYXRldGltZS1sb2NhbC1waXBlL2Zvci1kYXRldGltZS1sb2NhbC5waXBlJztcbmltcG9ydCB7IFN0YXR1c0Rpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvc3RhdHVzLWRpc3BsYXkvc3RhdHVzLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9ncmVzcy1kaXNwbGF5L3Byb2dyZXNzLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IENvbHVtbk9yZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL2NvbHVtbi1vcmRlci9jb2x1bW4tb3JkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV2ZW50RmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvZmlsdGVycy9ldmVudC1maWx0ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9maWx0ZXJzL2RhdGUvZGF0ZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENob2ljZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvZmlsdGVycy9jaG9pY2UvY2hvaWNlLWZpbHRlci5jb21wb25lbnQnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICBFdmVudERldGFpbENvbXBvbmVudCxcbiAgRXZlbnRMaXN0Q29tcG9uZW50LFxuICBJY29uRGlzcGxheUNvbXBvbmVudCxcbiAgRXZlbnRTdW1tYXJ5SXRlbUNvbXBvbmVudCxcbiAgRXZlbnRTdW1tYXJ5TGlzdENvbXBvbmVudCxcbiAgRXZlbnRTdW1tYXJ5UGFnZUNvbXBvbmVudCxcbiAgRXZlbnRJY29uUGlwZSxcbiAgRm9yRGF0ZXRpbWVMb2NhbFBpcGUsXG4gIFN0YXR1c0Rpc3BsYXlDb21wb25lbnQsXG4gIFByb2dyZXNzRGlzcGxheUNvbXBvbmVudCxcbiAgQ29sdW1uT3JkZXJDb21wb25lbnQsXG4gIEV2ZW50RmlsdGVyc0NvbXBvbmVudCxcbiAgRGF0ZUZpbHRlckNvbXBvbmVudCxcbiAgQ2hvaWNlRmlsdGVyQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAuLi5jb21wb25lbnRzLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShoeXBGZWF0dXJlS2V5LCBoeXBlcnZpc29yUmVkdWNlciksXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShldmVudEZlYXR1cmVLZXksIGV2ZW50UmVkdWNlciksXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShldmVudFN1bW1hcnlGZWF0dXJlS2V5LCBldmVudFN1bW1hcnlSZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW0V2ZW50RWZmZWN0cywgRXZlbnRTdW1tYXJ5RWZmZWN0cywgSHlwZXJ2aXNvckVmZmVjdHNdKSxcbiAgICBOZ0Zvck9mLFxuICAgIEFzeW5jUGlwZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgTmdTdHlsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIFByeVNpbmNlRGF0ZU1vZHVsZSxcbiAgICBEYXRlUGlwZSxcbiAgICBQcnlJY29uTW9kdWxlLFxuICAgIEtleVZhbHVlUGlwZSxcbiAgICBQcnlTZWxlY3RNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSnNvblBpcGUsXG4gICAgUHJ5RGF0ZVBpY2tlck1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC4uLmNvbXBvbmVudHMsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFB2eUh5cGVydmlzb3JNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiB7IHVybD86IHN0cmluZyB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxQdnlIeXBlcnZpc29yTW9kdWxlPiB7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFB2eUh5cGVydmlzb3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBIWVBfQkFTRV9DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEhZUF9CQVNFX0NPTkZJRykgcHJpdmF0ZSBiYXNlQ29uZmlnOiB7XG4gICAgdXJsOiBzdHJpbmdcbiAgfSwgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2UpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEh5cGVydmlzb3JBY3Rpb25zLnNldFVybCh7IHVybDogYmFzZUNvbmZpZy51cmwgfSkpO1xuICAgIHRoaXMuaTE4blNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZW4nLCAnQGh2eScsIGVuVHJhbnNsYXRpb25zKTtcbiAgICB0aGlzLmkxOG5TZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2ZyJywgJ0BodnknLCBmclRyYW5zbGF0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -216,6 +216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
216
216
|
}], ctorParameters: () => [{ type: i1$1.Store }] });
|
|
217
217
|
|
|
218
218
|
class EventDetailComponent extends SubscriptionnerDirective {
|
|
219
|
+
static { this.CARD_HEIGHT = 75; }
|
|
219
220
|
set events(events) {
|
|
220
221
|
this._events = events.filter(ev => !!ev);
|
|
221
222
|
this.eventModifications = new Array(this._events.length);
|
|
@@ -247,13 +248,19 @@ class EventDetailComponent extends SubscriptionnerDirective {
|
|
|
247
248
|
this.eventErrors = new EventEmitter();
|
|
248
249
|
this.errors = [];
|
|
249
250
|
this.canCloseSome = false;
|
|
251
|
+
this.newComentContent = '';
|
|
252
|
+
this.moveStart = 0;
|
|
253
|
+
this.moveInitialIndex = 0;
|
|
254
|
+
this.initialActionList = [];
|
|
255
|
+
this.previousOffset = 0;
|
|
250
256
|
}
|
|
251
257
|
get events() {
|
|
252
258
|
return this._events.map((evt, idx) => ({ ...evt, ...(this.eventModifications[idx] ?? {}) }));
|
|
253
259
|
}
|
|
254
260
|
get procedure() {
|
|
255
261
|
return this._procedure ? ({
|
|
256
|
-
...this._procedure,
|
|
262
|
+
...this._procedure,
|
|
263
|
+
...(this.procedureModifications ?? {}),
|
|
257
264
|
events: this.events,
|
|
258
265
|
}) : undefined;
|
|
259
266
|
}
|
|
@@ -403,12 +410,49 @@ class EventDetailComponent extends SubscriptionnerDirective {
|
|
|
403
410
|
this.store.dispatch(EventActions.status({ targetStatus: 'DONE', procedure: this.procedure }));
|
|
404
411
|
}
|
|
405
412
|
}
|
|
413
|
+
onMouseDown($event) {
|
|
414
|
+
this.dragTarget = $event.target;
|
|
415
|
+
}
|
|
416
|
+
dragStart($event, action, index) {
|
|
417
|
+
if (this.dragTarget && this.dragTarget.style.maskImage.indexOf('six_dot') > -1) {
|
|
418
|
+
this.movingAction = action;
|
|
419
|
+
this.moveStart = $event.clientY;
|
|
420
|
+
this.moveInitialIndex = index;
|
|
421
|
+
this.initialActionList = [...this.procedure.actions];
|
|
422
|
+
}
|
|
423
|
+
else {
|
|
424
|
+
$event.preventDefault();
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
move($event) {
|
|
428
|
+
$event.preventDefault();
|
|
429
|
+
if (this.movingAction) {
|
|
430
|
+
const offsetInCards = Math.round(($event.clientY - this.moveStart) / EventDetailComponent.CARD_HEIGHT);
|
|
431
|
+
if (this.previousOffset !== offsetInCards) {
|
|
432
|
+
this.previousOffset = offsetInCards;
|
|
433
|
+
const newIndex = Math.min(Math.max(this.moveInitialIndex + offsetInCards, 0), this.initialActionList.length - 1);
|
|
434
|
+
const newTab = [...this.initialActionList];
|
|
435
|
+
const element = newTab.splice(this.moveInitialIndex, 1)[0];
|
|
436
|
+
newTab.splice(newIndex, 0, element);
|
|
437
|
+
this.procedureModifications.actions = newTab;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
drop($event) {
|
|
442
|
+
$event.preventDefault();
|
|
443
|
+
this.move($event);
|
|
444
|
+
this.movingAction = undefined;
|
|
445
|
+
this._outputModifications();
|
|
446
|
+
}
|
|
447
|
+
allowDrop($event) {
|
|
448
|
+
$event.preventDefault();
|
|
449
|
+
}
|
|
406
450
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventDetailComponent, deps: [{ token: EquipmentService }, { token: i1$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
407
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: EventDetailComponent, selector: "hvy-event-detail", inputs: { events: "events", procedure: "procedure", cancelModifications: "cancelModifications" }, outputs: { modifiedEvents: "modifiedEvents", modifiedProcedure: "modifiedProcedure", eventErrors: "eventErrors" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-events-detail\">\n <div class=\"o-hvy-events-detail__header\">\n <div class=\"o-hvy-events-detail__header__split\">\n <h1>{{ '@hvy.event.detail' | i18n }}</h1>\n <button class=\"a-btn a-btn--secondary -fix-right\" [disabled]=\"!canCloseSome\"\n (click)=\"closeAll()\">{{ '@hvy.event.log.event.close' | i18n }}\n </button>\n </div>\n <div class=\"o-hvy-events-detail__header__split\">\n <button class=\"a-btn a-btn--secondary\">{{ '@hvy.event.log.procedure.delete' | i18n }}</button>\n </div>\n </div>\n <div class=\"o-hvy-events-detail__container\">\n <div class=\"o-hvy-events-detail__container__scrollable\">\n <div class=\"o-hvy-events-detail__events\">\n @for (event of events;track event.id;let idx = $index) {\n <div class=\"o-hvy-events-detail__events__event\">\n <div class=\"o-hvy-events-detail__events__event__header\">\n <pry-icon [iconSvg]=\"!opened[idx] ? 'chevron_bottom' : 'chevron_top'\" (click)=\"toggle(idx)\"></pry-icon>\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <h2>{{ event.name }}</h2>\n <hvy-status-display [event]=\"event\" [modifiable]=\"event.status !== 'DONE'\"\n (modified)=\"changeStatus($event, event)\"></hvy-status-display>\n </div>\n <div class=\"o-hvy-events-detail__events__event__content\">\n @if (!opened[idx]) {\n <div>{{ '@hvy.event.log.event.description' | i18n }}: {{ event.description }}</div>\n <div>{{ '@hvy.event.log.event.address' | i18n }}: {{ event.address }}</div>\n } @else {\n @if (access(event);as accessValue) {\n <h3>{{ '@hvy.event.log.event.detail' | i18n }}</h3>\n <table>\n <tbody>\n <tr>\n <td>{{ '@hvy.event.log.event.name' | i18n }}<span class=\"required\">*</span></td>\n <td><input type=\"text\" class=\"a-form-field\" [class.-error]=\"hasError('name', idx)\"\n [value]=\"event.name\"\n (change)=\"modifyEvent(idx, 'name', $event)\" [readonly]=\"accessValue.name\"></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.category' | i18n }}<span class=\"required\">*</span></td>\n <td>\n <pry-select [ngModel]=\"event.category\"\n [items]=\"categories(event)\"\n [class.-error]=\"hasError('category', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'category', $event)\"\n i18nPrefix=\"@hvy.event.category.\" [disabled]=\"accessValue.category\"></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.criticality.name' | i18n }}<span class=\"required\">*</span></td>\n <td>\n <pry-select [ngModel]=\"event.criticality\" [items]=\"criticalities\"\n [class.-error]=\"hasError('criticality', idx)\"\n i18nPrefix=\"@hvy.event.criticality.\"\n [disabled]=\"accessValue.criticality\"\n (ngModelChange)=\"modifyEvent(idx, 'criticality', $event)\"></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.description' | i18n }}<span class=\"required\">*</span></td>\n <td><textarea [ngModel]=\"event.description\" class=\"a-form-field\"\n [class.-error]=\"hasError('description', idx)\"\n [readonly]=\"accessValue.description\"\n (ngModelChange)=\"modifyEvent(idx, 'description', $event)\"></textarea></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.address' | i18n }}</td>\n <td><textarea [ngModel]=\"event.address\" class=\"a-form-field\"\n [class.-error]=\"hasError('address', idx)\"\n [readonly]=\"accessValue.address\"\n (ngModelChange)=\"modifyEvent(idx, 'address', $event)\"></textarea></td>\n </tr>\n @if (['ALERT', 'REPORT'].includes(event.type)) {\n <tr>\n <td>{{ '@hvy.event.source' | i18n }}</td>\n <td><input type=\"text\" class=\"a-form-field\" [value]=\"event.externalSourceRef ?? ''\"\n [class.-error]=\"hasError('source', idx)\"\n [readonly]=\"accessValue.source\" (change)=\"modifyEvent(idx, 'source', $event)\"></td>\n </tr>\n }\n <tr>\n <td>{{ '@hvy.event.equipment' | i18n }}</td>\n <td>\n <input type=\"text\" class=\"a-form-field\"\n [value]=\"event.equipment?.name ?? ''\"\n [class.-error]=\"hasError('equipment', idx)\"\n [readonly]=\"accessValue.eqName\"\n (change)=\"changeEquipment(idx, $event)\">\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.equipmentEntity' | i18n }}</td>\n <td><input type=\"text\" class=\"a-form-field\" [value]=\"event.equipment?.entity ?? ''\"\n readonly></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }}</td>\n <td>\n <pry-select [items]=\"DOMAINS\" [ngModel]=\"event.domain\" i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'domain', $event)\"\n [disabled]=\"accessValue.domain\"\n ></pry-select>\n </td>\n </tr>\n <tr>\n <td>\n {{ '@hvy.event.startDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n </td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.startDate | forDateTimeLocal\"\n [class.-error]=\"hasError('startDate', idx)\"\n [readonly]=\"accessValue.startDate\" (change)=\"modifyEvent(idx, 'startDate', $event)\">\n </td>\n </tr>\n <tr>\n <td>\n {{ '@hvy.event.endDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n </td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.endDate | forDateTimeLocal\"\n [class.-error]=\"hasError('endDate', idx)\"\n [readonly]=\"accessValue.endDate\" (change)=\"modifyEvent(idx, 'endDate', $event)\">\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.creationDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.creationDate | forDateTimeLocal\"\n readonly>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.lastModificationDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.lastModificationDate | forDateTimeLocal\" readonly>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.closeDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\" [value]=\"event.closeDate | forDateTimeLocal\"\n readonly>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"o-hvy-events-detail__events__event__content__comments\">\n <h3>{{ '@hvy.event.log.event.comments.name' | i18n }}</h3>\n <textarea [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"></textarea>\n <div class=\"o-hvy-events-detail__events__event__content__comments__button\">\n <button class=\"a-btn a-btn--primary\" disabled>{{ '@hvy.action.comment' | i18n }}</button>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n <div class=\"o-hvy-events-detail__procedure\">\n @if (procedure) {\n <div class=\"o-hvy-events-detail__procedure__header\">\n <h2>{{ '@hvy.event.log.procedure.name' | i18n }}</h2>\n </div>\n <div>\n <p>{{ procedure.name }}</p>\n </div>\n <div class=\"o-hvy-events-detail__procedure__progress\">\n <p>{{ '@hvy.event.log.procedure.progress' | i18n }}</p>\n <hvy-progress-display [progress]=\"procedure.progress\"></hvy-progress-display>\n </div>\n <div class=\"o-hvy-events-detail__procedure__actions\">\n @for (action of procedure.actions;track action.id) {\n <div class=\"o-hvy-events-detail__procedure__actions__action\">\n <pry-icon iconSvg=\"six_dot\"></pry-icon>\n <pry-checkbox [ngModel]=\"action.status === 'DONE'\"></pry-checkbox>\n <div>{{ action.name }}</div>\n <pry-icon iconSvg=\"more_horiz\"></pry-icon>\n </div>\n } @empty {\n <div>\n {{ '@hvy.event.log.procedure.noAction' | i18n }}\n </div>\n }\n </div>\n <div>\n <button class=\"a-btn a-btn--primary\">\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@hvy.event.log.procedure.addAction' | i18n }}\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i3$1.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "component", type: StatusDisplayComponent, selector: "hvy-status-display", inputs: ["event", "modifiable"], outputs: ["modified"] }, { kind: "component", type: ProgressDisplayComponent, selector: "hvy-progress-display", inputs: ["progress"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: ForDatetimeLocalPipe, name: "forDateTimeLocal" }] }); }
|
|
451
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: EventDetailComponent, selector: "hvy-event-detail", inputs: { events: "events", procedure: "procedure", cancelModifications: "cancelModifications" }, outputs: { modifiedEvents: "modifiedEvents", modifiedProcedure: "modifiedProcedure", eventErrors: "eventErrors" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-events-detail\">\n <div class=\"o-hvy-events-detail__header\">\n <div class=\"o-hvy-events-detail__header__split\">\n <h1>{{ '@hvy.event.detail' | i18n }}</h1>\n @if (events.length > 1) {\n <button class=\"a-btn a-btn--secondary -fix-right\" [disabled]=\"!canCloseSome\"\n (click)=\"closeAll()\">{{ '@hvy.event.log.event.close' | i18n }}\n </button>\n }\n </div>\n <div class=\"o-hvy-events-detail__header__split\">\n <button class=\"a-btn a-btn--secondary\">{{ '@hvy.event.log.procedure.delete' | i18n }}</button>\n </div>\n </div>\n <div class=\"o-hvy-events-detail__container\">\n <div class=\"o-hvy-events-detail__container__scrollable\">\n <div class=\"o-hvy-events-detail__events\">\n @for (event of events;track event.id;let idx = $index) {\n <div class=\"o-hvy-events-detail__events__event\">\n <div class=\"o-hvy-events-detail__events__event__header\">\n <pry-icon [iconSvg]=\"!opened[idx] ? 'chevron_bottom' : 'chevron_top'\" (click)=\"toggle(idx)\"></pry-icon>\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <h2>{{ event.name }}</h2>\n <hvy-status-display [event]=\"event\" [modifiable]=\"event.status !== 'DONE'\"\n (modified)=\"changeStatus($event, event)\"></hvy-status-display>\n </div>\n <div class=\"o-hvy-events-detail__events__event__content\">\n @if (!opened[idx]) {\n <div>{{ '@hvy.event.log.event.description' | i18n }}: {{ event.description }}</div>\n <div>{{ '@hvy.event.log.event.address' | i18n }}: {{ event.address }}</div>\n } @else {\n @if (access(event);as accessValue) {\n <h3>{{ '@hvy.event.log.event.detail' | i18n }}</h3>\n <table>\n <tbody>\n <tr>\n <td>{{ '@hvy.event.log.event.name' | i18n }}<span class=\"required\">*</span></td>\n <td><input type=\"text\" class=\"a-form-field\" [class.-error]=\"hasError('name', idx)\"\n [value]=\"event.name\"\n (change)=\"modifyEvent(idx, 'name', $event)\" [readonly]=\"accessValue.name\"></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.category' | i18n }}<span class=\"required\">*</span></td>\n <td>\n <pry-select [ngModel]=\"event.category\"\n [items]=\"categories(event)\"\n [class.-error]=\"hasError('category', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'category', $event)\"\n i18nPrefix=\"@hvy.event.category.\" [disabled]=\"accessValue.category\"></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.criticality.name' | i18n }}<span class=\"required\">*</span></td>\n <td>\n <pry-select [ngModel]=\"event.criticality\" [items]=\"criticalities\"\n [class.-error]=\"hasError('criticality', idx)\"\n i18nPrefix=\"@hvy.event.criticality.\"\n [disabled]=\"accessValue.criticality\"\n (ngModelChange)=\"modifyEvent(idx, 'criticality', $event)\"></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.description' | i18n }}<span class=\"required\">*</span></td>\n <td><textarea [ngModel]=\"event.description\" class=\"a-form-field\"\n [class.-error]=\"hasError('description', idx)\"\n [readonly]=\"accessValue.description\"\n (ngModelChange)=\"modifyEvent(idx, 'description', $event)\"></textarea></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.address' | i18n }}</td>\n <td><textarea [ngModel]=\"event.address\" class=\"a-form-field\"\n [class.-error]=\"hasError('address', idx)\"\n [readonly]=\"accessValue.address\"\n (ngModelChange)=\"modifyEvent(idx, 'address', $event)\"></textarea></td>\n </tr>\n @if (['ALERT', 'REPORT'].includes(event.type)) {\n <tr>\n <td>{{ '@hvy.event.source' | i18n }}</td>\n <td><input type=\"text\" class=\"a-form-field\" [value]=\"event.externalSourceRef ?? ''\"\n [class.-error]=\"hasError('source', idx)\"\n [readonly]=\"accessValue.source\" (change)=\"modifyEvent(idx, 'source', $event)\"></td>\n </tr>\n }\n <tr>\n <td>{{ '@hvy.event.equipment' | i18n }}</td>\n <td>\n <input type=\"text\" class=\"a-form-field\"\n [value]=\"event.equipment?.name ?? ''\"\n [class.-error]=\"hasError('equipment', idx)\"\n [readonly]=\"accessValue.eqName\"\n (change)=\"changeEquipment(idx, $event)\">\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.equipmentEntity' | i18n }}</td>\n <td><input type=\"text\" class=\"a-form-field\" [value]=\"event.equipment?.entity ?? ''\"\n readonly></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }}</td>\n <td>\n <pry-select [items]=\"DOMAINS\" [ngModel]=\"event.domain\" i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'domain', $event)\"\n [disabled]=\"accessValue.domain\"\n ></pry-select>\n </td>\n </tr>\n <tr>\n <td>\n {{ '@hvy.event.startDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n </td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.startDate | forDateTimeLocal\"\n [class.-error]=\"hasError('startDate', idx)\"\n [readonly]=\"accessValue.startDate\" (change)=\"modifyEvent(idx, 'startDate', $event)\">\n </td>\n </tr>\n <tr>\n <td>\n {{ '@hvy.event.endDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n </td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.endDate | forDateTimeLocal\"\n [class.-error]=\"hasError('endDate', idx)\"\n [readonly]=\"accessValue.endDate\" (change)=\"modifyEvent(idx, 'endDate', $event)\">\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.creationDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.creationDate | forDateTimeLocal\"\n readonly>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.lastModificationDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.lastModificationDate | forDateTimeLocal\" readonly>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.closeDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\" [value]=\"event.closeDate | forDateTimeLocal\"\n readonly>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"o-hvy-events-detail__events__event__content__comments\">\n <h3>{{ '@hvy.event.log.event.comments.name' | i18n }}</h3>\n <textarea [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n [(ngModel)]=\"newComentContent\"></textarea>\n <div class=\"o-hvy-events-detail__events__event__content__comments__button\">\n <button class=\"a-btn a-btn--primary\"\n [disabled]=\"newComentContent.length === 0\">{{ '@hvy.action.comment' | i18n }}\n </button>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n <div class=\"o-hvy-events-detail__procedure\">\n <div class=\"o-hvy-events-detail__procedure__header\">\n <h2>{{ (events.length === 1 ? '@hvy.event.log.procedure.name1' : '@hvy.event.log.procedure.name') | i18n }}</h2>\n </div>\n @if (procedure) {\n <div>\n <p>{{ procedure.name }}</p>\n </div>\n <div class=\"o-hvy-events-detail__procedure__progress\">\n <p>{{ '@hvy.event.log.procedure.progress' | i18n }}</p>\n <hvy-progress-display [progress]=\"procedure.progress\"></hvy-progress-display>\n </div>\n <div class=\"o-hvy-events-detail__procedure__actions\" (drag)=\"move($event)\" (drop)=\"drop($event)\" (dragover)=\"allowDrop($event)\">\n @for (action of procedure.actions;track action.id;let idx = $index) {\n <div class=\"o-hvy-events-detail__procedure__actions__action\" [draggable]=\"true\" (dragstart)=\"dragStart($event, action, idx)\" (mousedown)=\"onMouseDown($event)\">\n <pry-icon iconSvg=\"six_dot\" #handle></pry-icon>\n <pry-checkbox [ngModel]=\"action.status === 'DONE'\"></pry-checkbox>\n <div>{{ action.name }}</div>\n <pry-icon iconSvg=\"more_horiz\"></pry-icon>\n </div>\n } @empty {\n <div>\n {{ '@hvy.event.log.procedure.noAction' | i18n }}\n </div>\n }\n </div>\n <div>\n <button class=\"a-btn a-btn--primary\">\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@hvy.event.log.procedure.addAction' | i18n }}\n </button>\n </div>\n } @else {\n <button class=\"a-btn a-btn--secondary\">\n {{ '@chh.actions.associate' | i18n }}\n </button>\n }\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i3$1.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "component", type: StatusDisplayComponent, selector: "hvy-status-display", inputs: ["event", "modifiable"], outputs: ["modified"] }, { kind: "component", type: ProgressDisplayComponent, selector: "hvy-progress-display", inputs: ["progress"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: ForDatetimeLocalPipe, name: "forDateTimeLocal" }] }); }
|
|
408
452
|
}
|
|
409
453
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventDetailComponent, decorators: [{
|
|
410
454
|
type: Component,
|
|
411
|
-
args: [{ selector: 'hvy-event-detail', template: "<div class=\"o-hvy-events-detail\">\n <div class=\"o-hvy-events-detail__header\">\n <div class=\"o-hvy-events-detail__header__split\">\n <h1>{{ '@hvy.event.detail' | i18n }}</h1>\n <button class=\"a-btn a-btn--secondary -fix-right\" [disabled]=\"!canCloseSome\"\n (click)=\"closeAll()\">{{ '@hvy.event.log.event.close' | i18n }}\n </button>\n </div>\n <div class=\"o-hvy-events-detail__header__split\">\n <button class=\"a-btn a-btn--secondary\">{{ '@hvy.event.log.procedure.delete' | i18n }}</button>\n </div>\n </div>\n <div class=\"o-hvy-events-detail__container\">\n <div class=\"o-hvy-events-detail__container__scrollable\">\n <div class=\"o-hvy-events-detail__events\">\n @for (event of events;track event.id;let idx = $index) {\n <div class=\"o-hvy-events-detail__events__event\">\n <div class=\"o-hvy-events-detail__events__event__header\">\n <pry-icon [iconSvg]=\"!opened[idx] ? 'chevron_bottom' : 'chevron_top'\" (click)=\"toggle(idx)\"></pry-icon>\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <h2>{{ event.name }}</h2>\n <hvy-status-display [event]=\"event\" [modifiable]=\"event.status !== 'DONE'\"\n (modified)=\"changeStatus($event, event)\"></hvy-status-display>\n </div>\n <div class=\"o-hvy-events-detail__events__event__content\">\n @if (!opened[idx]) {\n <div>{{ '@hvy.event.log.event.description' | i18n }}: {{ event.description }}</div>\n <div>{{ '@hvy.event.log.event.address' | i18n }}: {{ event.address }}</div>\n } @else {\n @if (access(event);as accessValue) {\n <h3>{{ '@hvy.event.log.event.detail' | i18n }}</h3>\n <table>\n <tbody>\n <tr>\n <td>{{ '@hvy.event.log.event.name' | i18n }}<span class=\"required\">*</span></td>\n <td><input type=\"text\" class=\"a-form-field\" [class.-error]=\"hasError('name', idx)\"\n [value]=\"event.name\"\n (change)=\"modifyEvent(idx, 'name', $event)\" [readonly]=\"accessValue.name\"></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.category' | i18n }}<span class=\"required\">*</span></td>\n <td>\n <pry-select [ngModel]=\"event.category\"\n [items]=\"categories(event)\"\n [class.-error]=\"hasError('category', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'category', $event)\"\n i18nPrefix=\"@hvy.event.category.\" [disabled]=\"accessValue.category\"></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.criticality.name' | i18n }}<span class=\"required\">*</span></td>\n <td>\n <pry-select [ngModel]=\"event.criticality\" [items]=\"criticalities\"\n [class.-error]=\"hasError('criticality', idx)\"\n i18nPrefix=\"@hvy.event.criticality.\"\n [disabled]=\"accessValue.criticality\"\n (ngModelChange)=\"modifyEvent(idx, 'criticality', $event)\"></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.description' | i18n }}<span class=\"required\">*</span></td>\n <td><textarea [ngModel]=\"event.description\" class=\"a-form-field\"\n [class.-error]=\"hasError('description', idx)\"\n [readonly]=\"accessValue.description\"\n (ngModelChange)=\"modifyEvent(idx, 'description', $event)\"></textarea></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.address' | i18n }}</td>\n <td><textarea [ngModel]=\"event.address\" class=\"a-form-field\"\n [class.-error]=\"hasError('address', idx)\"\n [readonly]=\"accessValue.address\"\n (ngModelChange)=\"modifyEvent(idx, 'address', $event)\"></textarea></td>\n </tr>\n @if (['ALERT', 'REPORT'].includes(event.type)) {\n <tr>\n <td>{{ '@hvy.event.source' | i18n }}</td>\n <td><input type=\"text\" class=\"a-form-field\" [value]=\"event.externalSourceRef ?? ''\"\n [class.-error]=\"hasError('source', idx)\"\n [readonly]=\"accessValue.source\" (change)=\"modifyEvent(idx, 'source', $event)\"></td>\n </tr>\n }\n <tr>\n <td>{{ '@hvy.event.equipment' | i18n }}</td>\n <td>\n <input type=\"text\" class=\"a-form-field\"\n [value]=\"event.equipment?.name ?? ''\"\n [class.-error]=\"hasError('equipment', idx)\"\n [readonly]=\"accessValue.eqName\"\n (change)=\"changeEquipment(idx, $event)\">\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.equipmentEntity' | i18n }}</td>\n <td><input type=\"text\" class=\"a-form-field\" [value]=\"event.equipment?.entity ?? ''\"\n readonly></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }}</td>\n <td>\n <pry-select [items]=\"DOMAINS\" [ngModel]=\"event.domain\" i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'domain', $event)\"\n [disabled]=\"accessValue.domain\"\n ></pry-select>\n </td>\n </tr>\n <tr>\n <td>\n {{ '@hvy.event.startDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n </td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.startDate | forDateTimeLocal\"\n [class.-error]=\"hasError('startDate', idx)\"\n [readonly]=\"accessValue.startDate\" (change)=\"modifyEvent(idx, 'startDate', $event)\">\n </td>\n </tr>\n <tr>\n <td>\n {{ '@hvy.event.endDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n </td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.endDate | forDateTimeLocal\"\n [class.-error]=\"hasError('endDate', idx)\"\n [readonly]=\"accessValue.endDate\" (change)=\"modifyEvent(idx, 'endDate', $event)\">\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.creationDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.creationDate | forDateTimeLocal\"\n readonly>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.lastModificationDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.lastModificationDate | forDateTimeLocal\" readonly>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.closeDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\" [value]=\"event.closeDate | forDateTimeLocal\"\n readonly>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"o-hvy-events-detail__events__event__content__comments\">\n <h3>{{ '@hvy.event.log.event.comments.name' | i18n }}</h3>\n <textarea [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"></textarea>\n <div class=\"o-hvy-events-detail__events__event__content__comments__button\">\n <button class=\"a-btn a-btn--primary\" disabled>{{ '@hvy.action.comment' | i18n }}</button>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n <div class=\"o-hvy-events-detail__procedure\">\n @if (procedure) {\n <div class=\"o-hvy-events-detail__procedure__header\">\n <h2>{{ '@hvy.event.log.procedure.name' | i18n }}</h2>\n </div>\n <div>\n <p>{{ procedure.name }}</p>\n </div>\n <div class=\"o-hvy-events-detail__procedure__progress\">\n <p>{{ '@hvy.event.log.procedure.progress' | i18n }}</p>\n <hvy-progress-display [progress]=\"procedure.progress\"></hvy-progress-display>\n </div>\n <div class=\"o-hvy-events-detail__procedure__actions\">\n @for (action of procedure.actions;track action.id) {\n <div class=\"o-hvy-events-detail__procedure__actions__action\">\n <pry-icon iconSvg=\"six_dot\"></pry-icon>\n <pry-checkbox [ngModel]=\"action.status === 'DONE'\"></pry-checkbox>\n <div>{{ action.name }}</div>\n <pry-icon iconSvg=\"more_horiz\"></pry-icon>\n </div>\n } @empty {\n <div>\n {{ '@hvy.event.log.procedure.noAction' | i18n }}\n </div>\n }\n </div>\n <div>\n <button class=\"a-btn a-btn--primary\">\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@hvy.event.log.procedure.addAction' | i18n }}\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
455
|
+
args: [{ selector: 'hvy-event-detail', template: "<div class=\"o-hvy-events-detail\">\n <div class=\"o-hvy-events-detail__header\">\n <div class=\"o-hvy-events-detail__header__split\">\n <h1>{{ '@hvy.event.detail' | i18n }}</h1>\n @if (events.length > 1) {\n <button class=\"a-btn a-btn--secondary -fix-right\" [disabled]=\"!canCloseSome\"\n (click)=\"closeAll()\">{{ '@hvy.event.log.event.close' | i18n }}\n </button>\n }\n </div>\n <div class=\"o-hvy-events-detail__header__split\">\n <button class=\"a-btn a-btn--secondary\">{{ '@hvy.event.log.procedure.delete' | i18n }}</button>\n </div>\n </div>\n <div class=\"o-hvy-events-detail__container\">\n <div class=\"o-hvy-events-detail__container__scrollable\">\n <div class=\"o-hvy-events-detail__events\">\n @for (event of events;track event.id;let idx = $index) {\n <div class=\"o-hvy-events-detail__events__event\">\n <div class=\"o-hvy-events-detail__events__event__header\">\n <pry-icon [iconSvg]=\"!opened[idx] ? 'chevron_bottom' : 'chevron_top'\" (click)=\"toggle(idx)\"></pry-icon>\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <h2>{{ event.name }}</h2>\n <hvy-status-display [event]=\"event\" [modifiable]=\"event.status !== 'DONE'\"\n (modified)=\"changeStatus($event, event)\"></hvy-status-display>\n </div>\n <div class=\"o-hvy-events-detail__events__event__content\">\n @if (!opened[idx]) {\n <div>{{ '@hvy.event.log.event.description' | i18n }}: {{ event.description }}</div>\n <div>{{ '@hvy.event.log.event.address' | i18n }}: {{ event.address }}</div>\n } @else {\n @if (access(event);as accessValue) {\n <h3>{{ '@hvy.event.log.event.detail' | i18n }}</h3>\n <table>\n <tbody>\n <tr>\n <td>{{ '@hvy.event.log.event.name' | i18n }}<span class=\"required\">*</span></td>\n <td><input type=\"text\" class=\"a-form-field\" [class.-error]=\"hasError('name', idx)\"\n [value]=\"event.name\"\n (change)=\"modifyEvent(idx, 'name', $event)\" [readonly]=\"accessValue.name\"></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.category' | i18n }}<span class=\"required\">*</span></td>\n <td>\n <pry-select [ngModel]=\"event.category\"\n [items]=\"categories(event)\"\n [class.-error]=\"hasError('category', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'category', $event)\"\n i18nPrefix=\"@hvy.event.category.\" [disabled]=\"accessValue.category\"></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.criticality.name' | i18n }}<span class=\"required\">*</span></td>\n <td>\n <pry-select [ngModel]=\"event.criticality\" [items]=\"criticalities\"\n [class.-error]=\"hasError('criticality', idx)\"\n i18nPrefix=\"@hvy.event.criticality.\"\n [disabled]=\"accessValue.criticality\"\n (ngModelChange)=\"modifyEvent(idx, 'criticality', $event)\"></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.description' | i18n }}<span class=\"required\">*</span></td>\n <td><textarea [ngModel]=\"event.description\" class=\"a-form-field\"\n [class.-error]=\"hasError('description', idx)\"\n [readonly]=\"accessValue.description\"\n (ngModelChange)=\"modifyEvent(idx, 'description', $event)\"></textarea></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.log.event.address' | i18n }}</td>\n <td><textarea [ngModel]=\"event.address\" class=\"a-form-field\"\n [class.-error]=\"hasError('address', idx)\"\n [readonly]=\"accessValue.address\"\n (ngModelChange)=\"modifyEvent(idx, 'address', $event)\"></textarea></td>\n </tr>\n @if (['ALERT', 'REPORT'].includes(event.type)) {\n <tr>\n <td>{{ '@hvy.event.source' | i18n }}</td>\n <td><input type=\"text\" class=\"a-form-field\" [value]=\"event.externalSourceRef ?? ''\"\n [class.-error]=\"hasError('source', idx)\"\n [readonly]=\"accessValue.source\" (change)=\"modifyEvent(idx, 'source', $event)\"></td>\n </tr>\n }\n <tr>\n <td>{{ '@hvy.event.equipment' | i18n }}</td>\n <td>\n <input type=\"text\" class=\"a-form-field\"\n [value]=\"event.equipment?.name ?? ''\"\n [class.-error]=\"hasError('equipment', idx)\"\n [readonly]=\"accessValue.eqName\"\n (change)=\"changeEquipment(idx, $event)\">\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.equipmentEntity' | i18n }}</td>\n <td><input type=\"text\" class=\"a-form-field\" [value]=\"event.equipment?.entity ?? ''\"\n readonly></td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }}</td>\n <td>\n <pry-select [items]=\"DOMAINS\" [ngModel]=\"event.domain\" i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'domain', $event)\"\n [disabled]=\"accessValue.domain\"\n ></pry-select>\n </td>\n </tr>\n <tr>\n <td>\n {{ '@hvy.event.startDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n </td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.startDate | forDateTimeLocal\"\n [class.-error]=\"hasError('startDate', idx)\"\n [readonly]=\"accessValue.startDate\" (change)=\"modifyEvent(idx, 'startDate', $event)\">\n </td>\n </tr>\n <tr>\n <td>\n {{ '@hvy.event.endDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n </td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.endDate | forDateTimeLocal\"\n [class.-error]=\"hasError('endDate', idx)\"\n [readonly]=\"accessValue.endDate\" (change)=\"modifyEvent(idx, 'endDate', $event)\">\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.creationDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.creationDate | forDateTimeLocal\"\n readonly>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.lastModificationDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\"\n [value]=\"event.lastModificationDate | forDateTimeLocal\" readonly>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.closeDate' | i18n }}</td>\n <td>\n <input type=\"datetime-local\" class=\"a-form-field\" [value]=\"event.closeDate | forDateTimeLocal\"\n readonly>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"o-hvy-events-detail__events__event__content__comments\">\n <h3>{{ '@hvy.event.log.event.comments.name' | i18n }}</h3>\n <textarea [placeholder]=\"('@hvy.event.log.event.comments.placeholder' | i18n) + '...'\"\n [(ngModel)]=\"newComentContent\"></textarea>\n <div class=\"o-hvy-events-detail__events__event__content__comments__button\">\n <button class=\"a-btn a-btn--primary\"\n [disabled]=\"newComentContent.length === 0\">{{ '@hvy.action.comment' | i18n }}\n </button>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n <div class=\"o-hvy-events-detail__procedure\">\n <div class=\"o-hvy-events-detail__procedure__header\">\n <h2>{{ (events.length === 1 ? '@hvy.event.log.procedure.name1' : '@hvy.event.log.procedure.name') | i18n }}</h2>\n </div>\n @if (procedure) {\n <div>\n <p>{{ procedure.name }}</p>\n </div>\n <div class=\"o-hvy-events-detail__procedure__progress\">\n <p>{{ '@hvy.event.log.procedure.progress' | i18n }}</p>\n <hvy-progress-display [progress]=\"procedure.progress\"></hvy-progress-display>\n </div>\n <div class=\"o-hvy-events-detail__procedure__actions\" (drag)=\"move($event)\" (drop)=\"drop($event)\" (dragover)=\"allowDrop($event)\">\n @for (action of procedure.actions;track action.id;let idx = $index) {\n <div class=\"o-hvy-events-detail__procedure__actions__action\" [draggable]=\"true\" (dragstart)=\"dragStart($event, action, idx)\" (mousedown)=\"onMouseDown($event)\">\n <pry-icon iconSvg=\"six_dot\" #handle></pry-icon>\n <pry-checkbox [ngModel]=\"action.status === 'DONE'\"></pry-checkbox>\n <div>{{ action.name }}</div>\n <pry-icon iconSvg=\"more_horiz\"></pry-icon>\n </div>\n } @empty {\n <div>\n {{ '@hvy.event.log.procedure.noAction' | i18n }}\n </div>\n }\n </div>\n <div>\n <button class=\"a-btn a-btn--primary\">\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@hvy.event.log.procedure.addAction' | i18n }}\n </button>\n </div>\n } @else {\n <button class=\"a-btn a-btn--secondary\">\n {{ '@chh.actions.associate' | i18n }}\n </button>\n }\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
412
456
|
}], ctorParameters: () => [{ type: EquipmentService }, { type: i1$1.Store }], propDecorators: { modifiedEvents: [{
|
|
413
457
|
type: Output
|
|
414
458
|
}], modifiedProcedure: [{
|
|
@@ -849,11 +893,11 @@ class EventSummaryListComponent {
|
|
|
849
893
|
this.store.dispatch(EventActions.filter({ filters: { status: [status] } }));
|
|
850
894
|
}
|
|
851
895
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventSummaryListComponent, deps: [{ token: i1$1.Store }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
852
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: EventSummaryListComponent, selector: "hvy-event-summary-list", inputs: { events: "events", totalEventCount: "totalEventCount", status: "status", consultLink: "consultLink", itemLinkBase: "itemLinkBase" }, ngImport: i0, template: "<div class=\"o-hvy-event-summary-list -hvy-{{status.toLowerCase()}}\">\n <div class=\"o-hvy-event-summary-list__header\">\n <h3 class=\"o-hvy-event-summary-list__title\">\n {{ '@hvy.eventSummary.statusLabels.' + status | i18n }}\n </h3>\n <span class=\"o-hvy-event-summary-list__counter\">\n {{ totalEventCount }}\n </span>\n </div>\n <div class=\"o-hvy-event-summary-list__content\">\n @for (event of events;
|
|
896
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: EventSummaryListComponent, selector: "hvy-event-summary-list", inputs: { events: "events", totalEventCount: "totalEventCount", status: "status", consultLink: "consultLink", itemLinkBase: "itemLinkBase" }, ngImport: i0, template: "<div class=\"o-hvy-event-summary-list -hvy-{{status.toLowerCase()}}\">\n <div class=\"o-hvy-event-summary-list__header\">\n <h3 class=\"o-hvy-event-summary-list__title\">\n {{ '@hvy.eventSummary.statusLabels.' + status | i18n }}\n </h3>\n <span class=\"o-hvy-event-summary-list__counter\">\n {{ totalEventCount }}\n </span>\n </div>\n <div class=\"o-hvy-event-summary-list__content\">\n @for (event of events;track event.id) {\n <hvy-event-summary-item\n [event]=\"event\"\n [linkBase]=\"itemLinkBase\">\n </hvy-event-summary-item>\n } @empty {\n <span class=\"o-hvy-event-summary-list__no-content\">\n {{ '@hvy.eventSummary.noContent' | i18n }}\n </span>\n }\n </div>\n <div class=\"o-hvy-event-summary-list__footer\">\n <a class=\"o-hvy-event-summary-list__footer-button\" (click)=\"filterAndRoute(status)\">\n > {{ '@hvy.action.consult' | i18n }}\n <pry-icon iconSvg=\"arrow\"></pry-icon>\n </a>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: EventSummaryItemComponent, selector: "hvy-event-summary-item", inputs: ["event", "linkBase"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
853
897
|
}
|
|
854
898
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventSummaryListComponent, decorators: [{
|
|
855
899
|
type: Component,
|
|
856
|
-
args: [{ selector: 'hvy-event-summary-list', template: "<div class=\"o-hvy-event-summary-list -hvy-{{status.toLowerCase()}}\">\n <div class=\"o-hvy-event-summary-list__header\">\n <h3 class=\"o-hvy-event-summary-list__title\">\n {{ '@hvy.eventSummary.statusLabels.' + status | i18n }}\n </h3>\n <span class=\"o-hvy-event-summary-list__counter\">\n {{ totalEventCount }}\n </span>\n </div>\n <div class=\"o-hvy-event-summary-list__content\">\n @for (event of events;
|
|
900
|
+
args: [{ selector: 'hvy-event-summary-list', template: "<div class=\"o-hvy-event-summary-list -hvy-{{status.toLowerCase()}}\">\n <div class=\"o-hvy-event-summary-list__header\">\n <h3 class=\"o-hvy-event-summary-list__title\">\n {{ '@hvy.eventSummary.statusLabels.' + status | i18n }}\n </h3>\n <span class=\"o-hvy-event-summary-list__counter\">\n {{ totalEventCount }}\n </span>\n </div>\n <div class=\"o-hvy-event-summary-list__content\">\n @for (event of events;track event.id) {\n <hvy-event-summary-item\n [event]=\"event\"\n [linkBase]=\"itemLinkBase\">\n </hvy-event-summary-item>\n } @empty {\n <span class=\"o-hvy-event-summary-list__no-content\">\n {{ '@hvy.eventSummary.noContent' | i18n }}\n </span>\n }\n </div>\n <div class=\"o-hvy-event-summary-list__footer\">\n <a class=\"o-hvy-event-summary-list__footer-button\" (click)=\"filterAndRoute(status)\">\n > {{ '@hvy.action.consult' | i18n }}\n <pry-icon iconSvg=\"arrow\"></pry-icon>\n </a>\n </div>\n</div>\n" }]
|
|
857
901
|
}], ctorParameters: () => [{ type: i1$1.Store }, { type: i2.Router }], propDecorators: { events: [{
|
|
858
902
|
type: Input
|
|
859
903
|
}], totalEventCount: [{
|
|
@@ -893,11 +937,11 @@ class EventSummaryPageComponent extends SubscriptionnerDirective {
|
|
|
893
937
|
this.store.dispatch(EventSummaryActions.load());
|
|
894
938
|
}
|
|
895
939
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventSummaryPageComponent, deps: [{ token: i1$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
896
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: EventSummaryPageComponent, selector: "hvy-event-summary-page", inputs: { pageTitle: "pageTitle", consultLink: "consultLink" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-event-summary-page\">\n <div class=\"o-hvy-event-summary-page__header\">\n @if (pageTitle) {\n <h3 class=\"o-hvy-event-summary-page__title\">{{ pageTitle }}</h3>\n }\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\">\n <label class=\"a-label m-filter__label\" for=\"criticality-filter\">{{ '@hvy.event.criticality.name' | i18n }}\n : </label>\n <pry-select\n id=\"criticality-filter\"\n class=\"o-hvy-event-summary-page__filter\"\n [items]=\"criticalityList\"\n [ngModel]=\"selectedCriticality$ | async\"\n (ngModelChange)=\"filterByCriticality($event)\"\n [translate]=\"true\"\n i18nPrefix=\"@hvy.eventSummary.criticalityLabels.\"\n >\n </pry-select>\n </div>\n </div>\n <div class=\"o-hvy-event-summary-page__content\">\n @for (summaryList of summaries | keyvalue: criticalityOrder;track summaryList.key) {\n
|
|
940
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: EventSummaryPageComponent, selector: "hvy-event-summary-page", inputs: { pageTitle: "pageTitle", consultLink: "consultLink" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-event-summary-page\">\n <div class=\"o-hvy-event-summary-page__header\">\n @if (pageTitle) {\n <h3 class=\"o-hvy-event-summary-page__title\">{{ pageTitle }}</h3>\n }\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\">\n <label class=\"a-label m-filter__label\" for=\"criticality-filter\">{{ '@hvy.event.criticality.name' | i18n }}\n : </label>\n <pry-select\n id=\"criticality-filter\"\n class=\"o-hvy-event-summary-page__filter\"\n [items]=\"criticalityList\"\n [ngModel]=\"selectedCriticality$ | async\"\n (ngModelChange)=\"filterByCriticality($event)\"\n [translate]=\"true\"\n i18nPrefix=\"@hvy.eventSummary.criticalityLabels.\"\n >\n </pry-select>\n </div>\n </div>\n <div class=\"o-hvy-event-summary-page__content\">\n <div class=\"o-hvy-event-summary-page__content__sub\">\n @for (summaryList of summaries | keyvalue: criticalityOrder;track summaryList.key) {\n <hvy-event-summary-list\n class=\"o-hvy-event-summary-page__summary-list\"\n [status]=\"summaryList.key\"\n [totalEventCount]=\"summaryList.value.count\"\n [events]=\"summaryList.value.events\"\n [consultLink]=\"consultLink\">\n </hvy-event-summary-list>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: EventSummaryListComponent, selector: "hvy-event-summary-list", inputs: ["events", "totalEventCount", "status", "consultLink", "itemLinkBase"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }] }); }
|
|
897
941
|
}
|
|
898
942
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventSummaryPageComponent, decorators: [{
|
|
899
943
|
type: Component,
|
|
900
|
-
args: [{ selector: 'hvy-event-summary-page', template: "<div class=\"o-hvy-event-summary-page\">\n <div class=\"o-hvy-event-summary-page__header\">\n @if (pageTitle) {\n <h3 class=\"o-hvy-event-summary-page__title\">{{ pageTitle }}</h3>\n }\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\">\n <label class=\"a-label m-filter__label\" for=\"criticality-filter\">{{ '@hvy.event.criticality.name' | i18n }}\n : </label>\n <pry-select\n id=\"criticality-filter\"\n class=\"o-hvy-event-summary-page__filter\"\n [items]=\"criticalityList\"\n [ngModel]=\"selectedCriticality$ | async\"\n (ngModelChange)=\"filterByCriticality($event)\"\n [translate]=\"true\"\n i18nPrefix=\"@hvy.eventSummary.criticalityLabels.\"\n >\n </pry-select>\n </div>\n </div>\n <div class=\"o-hvy-event-summary-page__content\">\n @for (summaryList of summaries | keyvalue: criticalityOrder;track summaryList.key) {\n
|
|
944
|
+
args: [{ selector: 'hvy-event-summary-page', template: "<div class=\"o-hvy-event-summary-page\">\n <div class=\"o-hvy-event-summary-page__header\">\n @if (pageTitle) {\n <h3 class=\"o-hvy-event-summary-page__title\">{{ pageTitle }}</h3>\n }\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\">\n <label class=\"a-label m-filter__label\" for=\"criticality-filter\">{{ '@hvy.event.criticality.name' | i18n }}\n : </label>\n <pry-select\n id=\"criticality-filter\"\n class=\"o-hvy-event-summary-page__filter\"\n [items]=\"criticalityList\"\n [ngModel]=\"selectedCriticality$ | async\"\n (ngModelChange)=\"filterByCriticality($event)\"\n [translate]=\"true\"\n i18nPrefix=\"@hvy.eventSummary.criticalityLabels.\"\n >\n </pry-select>\n </div>\n </div>\n <div class=\"o-hvy-event-summary-page__content\">\n <div class=\"o-hvy-event-summary-page__content__sub\">\n @for (summaryList of summaries | keyvalue: criticalityOrder;track summaryList.key) {\n <hvy-event-summary-list\n class=\"o-hvy-event-summary-page__summary-list\"\n [status]=\"summaryList.key\"\n [totalEventCount]=\"summaryList.value.count\"\n [events]=\"summaryList.value.events\"\n [consultLink]=\"consultLink\">\n </hvy-event-summary-list>\n }\n </div>\n </div>\n</div>\n" }]
|
|
901
945
|
}], ctorParameters: () => [{ type: i1$1.Store }], propDecorators: { pageTitle: [{
|
|
902
946
|
type: Input
|
|
903
947
|
}], consultLink: [{
|
|
@@ -1025,14 +1069,14 @@ const frTranslations = {
|
|
|
1025
1069
|
equipment: 'Référence matériel',
|
|
1026
1070
|
equipmentEntity: 'Entité de l\'équipement',
|
|
1027
1071
|
domain: {
|
|
1028
|
-
name: 'Métier'
|
|
1072
|
+
name: 'Métier',
|
|
1029
1073
|
},
|
|
1030
1074
|
startDate: 'Date de début',
|
|
1031
1075
|
endDate: 'Date de fin',
|
|
1032
1076
|
creationDate: 'Date de création',
|
|
1033
1077
|
lastModificationDate: 'Date dernières modifications',
|
|
1034
1078
|
closeDate: 'Date de clotûre',
|
|
1035
|
-
detail:
|
|
1079
|
+
detail: 'Description des événements',
|
|
1036
1080
|
log: {
|
|
1037
1081
|
name: 'Journal des événements',
|
|
1038
1082
|
empty: 'Aucun événement n\'a été créé',
|
|
@@ -1045,19 +1089,20 @@ const frTranslations = {
|
|
|
1045
1089
|
close: 'Clôturer tous ces événements',
|
|
1046
1090
|
comments: {
|
|
1047
1091
|
name: 'Commentaires de l\'événement',
|
|
1048
|
-
placeholder: 'Écrivez votre commentaire'
|
|
1049
|
-
}
|
|
1092
|
+
placeholder: 'Écrivez votre commentaire',
|
|
1093
|
+
},
|
|
1050
1094
|
},
|
|
1051
1095
|
procedure: {
|
|
1052
1096
|
delete: 'Supprimer la procédure',
|
|
1053
1097
|
progress: 'Progression',
|
|
1054
1098
|
noAction: 'Pas d\'action',
|
|
1055
1099
|
name: 'Procédure commune',
|
|
1056
|
-
|
|
1100
|
+
name1: 'Procédure',
|
|
1101
|
+
addAction: 'Ajouter une action',
|
|
1057
1102
|
},
|
|
1058
1103
|
},
|
|
1059
1104
|
category: {
|
|
1060
|
-
name:
|
|
1105
|
+
name: 'Catégorie d\'événement',
|
|
1061
1106
|
ALERT_MALFUNCTION: 'Alerte Dysfonctionnement',
|
|
1062
1107
|
REPORT: 'Signalement GRC',
|
|
1063
1108
|
OPERATOR_EVENT: 'Evènement Opérateur',
|
|
@@ -1073,9 +1118,9 @@ const frTranslations = {
|
|
|
1073
1118
|
filter: {
|
|
1074
1119
|
name: 'Filtrer',
|
|
1075
1120
|
choice: {
|
|
1076
|
-
all:
|
|
1077
|
-
}
|
|
1078
|
-
}
|
|
1121
|
+
all: 'Tous',
|
|
1122
|
+
},
|
|
1123
|
+
},
|
|
1079
1124
|
},
|
|
1080
1125
|
eventSummary: {
|
|
1081
1126
|
noContent: 'Aucun événement avec la criticité donnée',
|
|
@@ -1093,13 +1138,13 @@ const frTranslations = {
|
|
|
1093
1138
|
},
|
|
1094
1139
|
procedure: {
|
|
1095
1140
|
name: 'Procédure',
|
|
1096
|
-
progress: '% avancement procédure'
|
|
1141
|
+
progress: '% avancement procédure',
|
|
1097
1142
|
},
|
|
1098
1143
|
action: {
|
|
1099
1144
|
consult: 'Consulter',
|
|
1100
1145
|
close: 'Clotûrer',
|
|
1101
1146
|
send: 'Envoyer',
|
|
1102
|
-
comment: 'Commenter'
|
|
1147
|
+
comment: 'Commenter',
|
|
1103
1148
|
},
|
|
1104
1149
|
},
|
|
1105
1150
|
};
|
|
@@ -1357,6 +1402,8 @@ class PvyHypervisorModule {
|
|
|
1357
1402
|
PryDatePickerModule,
|
|
1358
1403
|
PryI18nModule,
|
|
1359
1404
|
PryIconModule,
|
|
1405
|
+
PryI18nModule,
|
|
1406
|
+
AsyncPipe,
|
|
1360
1407
|
PryI18nModule], exports: [EventDetailComponent,
|
|
1361
1408
|
EventListComponent,
|
|
1362
1409
|
IconDisplayComponent,
|
|
@@ -1387,6 +1434,7 @@ class PvyHypervisorModule {
|
|
|
1387
1434
|
PryDatePickerModule,
|
|
1388
1435
|
PryI18nModule,
|
|
1389
1436
|
PryIconModule,
|
|
1437
|
+
PryI18nModule,
|
|
1390
1438
|
PryI18nModule] }); }
|
|
1391
1439
|
}
|
|
1392
1440
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PvyHypervisorModule, decorators: [{
|
|
@@ -1421,6 +1469,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
1421
1469
|
PryI18nModule,
|
|
1422
1470
|
PryIconModule,
|
|
1423
1471
|
PryI18nModule,
|
|
1472
|
+
AsyncPipe,
|
|
1473
|
+
PryI18nModule,
|
|
1424
1474
|
],
|
|
1425
1475
|
exports: [
|
|
1426
1476
|
...components,
|