@provoly/hypervisor 0.0.3 → 0.0.4
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/public-api.mjs +3 -1
- package/esm2022/src/lib/event/icon-pipe/event-icon.pipe.mjs +3 -2
- package/esm2022/src/lib/event/list/event-list.component.mjs +1 -1
- package/esm2022/src/lib/event-summary/item/event-summary-item.component.mjs +28 -0
- package/esm2022/src/lib/event-summary/list/event-summary-list.component.mjs +44 -0
- package/esm2022/src/lib/event-summary/public-api.mjs +3 -0
- package/esm2022/src/lib/general/i18n/en.translations.mjs +15 -1
- package/esm2022/src/lib/general/i18n/fr.translations.mjs +17 -3
- package/esm2022/src/lib/hypervisor.module.mjs +9 -10
- package/esm2022/src/lib/model/hyp-event.interface.mjs +13 -2
- package/esm2022/src/lib/store/event/event.actions.mjs +4 -1
- package/esm2022/src/lib/store/event/event.effects.mjs +2 -1
- package/esm2022/src/lib/store/event/event.reducer.mjs +16 -5
- package/esm2022/src/lib/store/event/event.selectors.mjs +3 -1
- package/esm2022/src/lib/store/event/event.service.mjs +16 -2
- package/esm2022/src/lib/store/event/public-api.mjs +5 -0
- package/esm2022/src/lib/store/hypervisor/hypervisor.actions.mjs +1 -1
- package/esm2022/src/lib/store/hypervisor/hypervisor.reducer.mjs +2 -2
- package/fesm2022/provoly-hypervisor.mjs +151 -20
- package/fesm2022/provoly-hypervisor.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/src/lib/event/icon-pipe/event-icon.pipe.d.ts +4 -4
- package/src/lib/event/list/event-list.component.d.ts +2 -2
- package/src/lib/event-summary/item/event-summary-item.component.d.ts +10 -0
- package/src/lib/event-summary/list/event-summary-list.component.d.ts +19 -0
- package/src/lib/event-summary/public-api.d.ts +2 -0
- package/src/lib/general/i18n/en.translations.d.ts +14 -0
- package/src/lib/general/i18n/fr.translations.d.ts +14 -0
- package/src/lib/hypervisor.module.d.ts +7 -7
- package/src/lib/model/hyp-event.interface.d.ts +35 -2
- package/src/lib/store/event/event.actions.d.ts +14 -3
- package/src/lib/store/event/event.effects.d.ts +6 -1
- package/src/lib/store/event/event.reducer.d.ts +3 -2
- package/src/lib/store/event/event.selectors.d.ts +2 -1
- package/src/lib/store/event/event.service.d.ts +3 -2
- package/src/lib/store/event/public-api.d.ts +4 -0
- package/src/lib/store/hypervisor/hypervisor.actions.d.ts +2 -2
- package/styles/components/_o-hvy-event-summary-item.scss +38 -0
- package/styles/components/_o-hvy-event-summary-list.scss +45 -0
- package/styles/components/_o-hvy-events-table.scss +31 -0
- package/styles/main.scss +4 -0
|
@@ -2,11 +2,13 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Component, Input, Pipe, InjectionToken, Injectable, NgModule, Inject } from '@angular/core';
|
|
3
3
|
import { of, withLatestFrom, mergeMap } from 'rxjs';
|
|
4
4
|
import * as i3 from '@provoly/dashboard';
|
|
5
|
-
import { DEFAULT_ICON_URL,
|
|
5
|
+
import { DEFAULT_ICON_URL, PryCoreModule, PryIconModule, PryI18nModule } from '@provoly/dashboard';
|
|
6
6
|
import * as i1 from '@ngrx/store';
|
|
7
7
|
import { createAction, props, createReducer, on, createFeatureSelector, createSelector, StoreModule } from '@ngrx/store';
|
|
8
8
|
import * as i2 from '@angular/common';
|
|
9
|
-
import {
|
|
9
|
+
import { DatePipe, AsyncPipe, NgForOf } from '@angular/common';
|
|
10
|
+
import * as i2$1 from '@angular/router';
|
|
11
|
+
import { RouterLink } from '@angular/router';
|
|
10
12
|
import * as i1$2 from '@ngrx/effects';
|
|
11
13
|
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
|
12
14
|
import { debounceTime, mergeMap as mergeMap$1, map, catchError } from 'rxjs/operators';
|
|
@@ -41,12 +43,13 @@ class EventIconPipe {
|
|
|
41
43
|
return EVENT_TO_ICON.fn(value, this.store);
|
|
42
44
|
}
|
|
43
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventIconPipe, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
44
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: EventIconPipe, name: "eventIcon" }); }
|
|
46
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: EventIconPipe, isStandalone: true, name: "eventIcon" }); }
|
|
45
47
|
}
|
|
46
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventIconPipe, decorators: [{
|
|
47
49
|
type: Pipe,
|
|
48
50
|
args: [{
|
|
49
51
|
name: 'eventIcon',
|
|
52
|
+
standalone: true
|
|
50
53
|
}]
|
|
51
54
|
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
52
55
|
|
|
@@ -55,28 +58,42 @@ const EventActions = {
|
|
|
55
58
|
loadSuccess: createAction('[Event Api] (bus) Load Events Success', props()),
|
|
56
59
|
loadFailure: createAction('[Event Api] Load Events Failure', props()),
|
|
57
60
|
filter: createAction('[Event Api] Set filters', props()),
|
|
61
|
+
loadSummaries: createAction('[Event] Load Summaries'),
|
|
62
|
+
loadSummariesSuccess: createAction('[Event Api] Load Summaries Success', props()),
|
|
63
|
+
loadSummariesFailure: createAction('[Event Api] Load Summaries Failure', props())
|
|
58
64
|
};
|
|
59
65
|
|
|
60
66
|
const eventFeatureKey = '@hvy/event';
|
|
61
67
|
const eventInitialState$1 = {
|
|
62
68
|
events: [],
|
|
69
|
+
summaries: { NEW: { events: [], count: 0 }, IN_PROGRESS: { events: [], count: 0 }, DONE: { events: [], count: 0 } },
|
|
63
70
|
loading: false,
|
|
64
71
|
filters: {}
|
|
65
72
|
};
|
|
66
73
|
const internalReducer$1 = createReducer(eventInitialState$1, on(EventActions.load, (state, action) => ({
|
|
67
74
|
...state,
|
|
68
75
|
loading: true
|
|
69
|
-
})), on(EventActions.loadSuccess, (state,
|
|
76
|
+
})), on(EventActions.loadSuccess, (state, { events }) => ({
|
|
70
77
|
...state,
|
|
71
78
|
loading: false,
|
|
72
|
-
events
|
|
79
|
+
events
|
|
73
80
|
})), on(EventActions.loadFailure, (state, action) => ({
|
|
74
81
|
...state,
|
|
75
82
|
loading: false,
|
|
76
83
|
events: []
|
|
77
|
-
})), on(EventActions.
|
|
84
|
+
})), on(EventActions.loadSummaries, (state, action) => ({
|
|
78
85
|
...state,
|
|
79
|
-
|
|
86
|
+
loading: true
|
|
87
|
+
})), on(EventActions.loadSummariesSuccess, (state, { summaries }) => ({
|
|
88
|
+
...state,
|
|
89
|
+
loading: false,
|
|
90
|
+
summaries
|
|
91
|
+
})), on(EventActions.loadSummariesFailure, (state, action) => ({
|
|
92
|
+
...state,
|
|
93
|
+
loading: false
|
|
94
|
+
})), on(EventActions.filter, (state, { filters }) => ({
|
|
95
|
+
...state,
|
|
96
|
+
filters
|
|
80
97
|
})));
|
|
81
98
|
function eventReducer(state, action) {
|
|
82
99
|
return internalReducer$1(state, action);
|
|
@@ -84,11 +101,13 @@ function eventReducer(state, action) {
|
|
|
84
101
|
|
|
85
102
|
const feature$1 = createFeatureSelector(eventFeatureKey);
|
|
86
103
|
const events = createSelector(feature$1, (state) => state.events);
|
|
104
|
+
const summaries = createSelector(feature$1, (state) => state.summaries);
|
|
87
105
|
const loading = createSelector(feature$1, (state) => state.loading);
|
|
88
106
|
const filters = createSelector(feature$1, (state) => state.filters);
|
|
89
107
|
const EventSelectors = {
|
|
90
108
|
feature: feature$1,
|
|
91
109
|
events,
|
|
110
|
+
summaries,
|
|
92
111
|
loading,
|
|
93
112
|
filters
|
|
94
113
|
};
|
|
@@ -107,6 +126,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
107
126
|
args: [{ selector: 'hvy-event-list', template: "<table class=\"o-hvy-events-table\">\n <thead>\n <tr class=\"o-hvy-events-table__header\">\n <th></th>\n <th>{{ '@hvy.event.criticality' | i18n }}</th>\n <th>{{ '@hvy.event.name' | i18n }}</th>\n <th>{{ '@hvy.event.type.name' | i18n }}</th>\n <th>{{ '@hvy.event.address' | i18n }}</th>\n <th>{{ '@hvy.event.date' | i18n }}</th>\n <th>{{ '@hvy.event.dateM' | i18n }}</th>\n <th>{{ '@hvy.event.status' | i18n }}</th>\n <th>{{ '@hvy.process.name' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr class=\"o-hvy-events-table__line\" *ngFor=\"let event of events$|async\">\n <td class=\"o-hvy-events-table__line__cell\"></td>\n <td class=\"o-hvy-events-table__line__cell -centered\"><img [alt]=\"event.name\" [height]=\"32\" [width]=\"32\"\n [src]=\"event | eventIcon | async | getSecuredImage | async\" /></td>\n <td class=\"o-hvy-events-table__line__cell\">\n <div class=\"o-hvy-events-table__line__name__main\">{{ event.name }}</div>\n <div>{{ event.equipment ? event.equipment.name : '' }}</div>\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered\">{{ '@hvy.event.type.' + event.type | i18n }}</td>\n <td class=\"o-hvy-events-table__line__cell\">-</td>\n <td class=\"o-hvy-events-table__line__cell\">--</td>\n <td class=\"o-hvy-events-table__line__cell\">---</td>\n <td class=\"o-hvy-events-table__line__cell -centered\">----</td>\n <td class=\"o-hvy-events-table__line__cell\">-----</td>\n <td class=\"o-hvy-events-table__line__cell\"></td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
108
127
|
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
109
128
|
|
|
129
|
+
class EventSummaryItemComponent {
|
|
130
|
+
constructor() {
|
|
131
|
+
this.linkBase = [];
|
|
132
|
+
this.linkFragments = [];
|
|
133
|
+
}
|
|
134
|
+
ngOnInit() {
|
|
135
|
+
this.linkFragments = this.linkFragments.length > 0 ? [...this.linkBase, this.event.id] : ['list', this.event.id];
|
|
136
|
+
}
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventSummaryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: EventSummaryItemComponent, isStandalone: true, selector: "hvy-event-summary-item", inputs: { event: "event", linkBase: "linkBase" }, ngImport: i0, template: "<div class=\"m-hvy-event-summary-item\" [routerLink]=\"linkFragments\">\n <div class=\"m-hvy-event-summary-item__title\">\n <h4>\n {{ event.name }}\n </h4>\n </div>\n <div class=\"m-hvy-event-summary-item__content\">\n <span>\n {{\n event.manifestation ?\n (event.manifestation.startDate | date : 'dd/MM HH:MM') + ' - ' + (event.manifestation.endDate | date : 'dd/MM HH:MM') :\n event.interventionRequestTitle\n }}\n </span>\n </div>\n <div class=\"m-hvy-event-summary-item__footer\">\n <div class=\"m-hvy-event-summary-item__icons\">\n <span class=\"m-hvy-event-summary-item__intervention-counter\">{{ event.interventionRequestCount }}</span>\n <img [alt]=\"'hvy' + event.name + '-icon'\" [height]=\"20\" [width]=\"20\" [src]=\"event | eventIcon | async | getSecuredImage | async\" />\n <span>{{ event.criticality }}</span>\n </div>\n <div class=\"m-hvy-event-summary-item__date\">\n <span>\n {{ event.lastModificationDate | date : 'd MMMM . HH:MM' }}\n </span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "pipe", type: EventIconPipe, name: "eventIcon" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: PryCoreModule }, { kind: "pipe", type: i3.GetSecuredImagePipe, name: "getSecuredImage" }] }); }
|
|
139
|
+
}
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventSummaryItemComponent, decorators: [{
|
|
141
|
+
type: Component,
|
|
142
|
+
args: [{ standalone: true, selector: 'hvy-event-summary-item', imports: [EventIconPipe, DatePipe, RouterLink, AsyncPipe, PryCoreModule], template: "<div class=\"m-hvy-event-summary-item\" [routerLink]=\"linkFragments\">\n <div class=\"m-hvy-event-summary-item__title\">\n <h4>\n {{ event.name }}\n </h4>\n </div>\n <div class=\"m-hvy-event-summary-item__content\">\n <span>\n {{\n event.manifestation ?\n (event.manifestation.startDate | date : 'dd/MM HH:MM') + ' - ' + (event.manifestation.endDate | date : 'dd/MM HH:MM') :\n event.interventionRequestTitle\n }}\n </span>\n </div>\n <div class=\"m-hvy-event-summary-item__footer\">\n <div class=\"m-hvy-event-summary-item__icons\">\n <span class=\"m-hvy-event-summary-item__intervention-counter\">{{ event.interventionRequestCount }}</span>\n <img [alt]=\"'hvy' + event.name + '-icon'\" [height]=\"20\" [width]=\"20\" [src]=\"event | eventIcon | async | getSecuredImage | async\" />\n <span>{{ event.criticality }}</span>\n </div>\n <div class=\"m-hvy-event-summary-item__date\">\n <span>\n {{ event.lastModificationDate | date : 'd MMMM . HH:MM' }}\n </span>\n </div>\n </div>\n</div>\n" }]
|
|
143
|
+
}], propDecorators: { event: [{
|
|
144
|
+
type: Input,
|
|
145
|
+
args: [{ required: true }]
|
|
146
|
+
}], linkBase: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}] } });
|
|
149
|
+
|
|
150
|
+
class EventSummaryListComponent {
|
|
151
|
+
constructor(store, router) {
|
|
152
|
+
this.store = store;
|
|
153
|
+
this.router = router;
|
|
154
|
+
this.events = [];
|
|
155
|
+
this.totalEventCount = 0;
|
|
156
|
+
this.status = '';
|
|
157
|
+
this.consultLink = [];
|
|
158
|
+
this.itemLinkBase = [];
|
|
159
|
+
}
|
|
160
|
+
ngOnInit() {
|
|
161
|
+
this.consultLink = this.consultLink.length > 0 ? this.consultLink : ['events'];
|
|
162
|
+
this.itemLinkBase = this.itemLinkBase.length > 0 ? this.itemLinkBase : ['events'];
|
|
163
|
+
}
|
|
164
|
+
filterAndRoute(status) {
|
|
165
|
+
this.router.navigate([...this.consultLink]);
|
|
166
|
+
this.store.dispatch(EventActions.filter({ filters: { status: [status] } }));
|
|
167
|
+
}
|
|
168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventSummaryListComponent, deps: [{ token: i1.Store }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
169
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: EventSummaryListComponent, isStandalone: true, 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}}\">\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 <button class=\"o-hvy-event-summary-list__footer-button\" (click)=\"filterAndRoute(status)\">\n Consulter\n <pry-icon iconSvg=\"arrow\"></pry-icon>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: EventSummaryItemComponent, selector: "hvy-event-summary-item", inputs: ["event", "linkBase"] }, { kind: "ngmodule", type: PryIconModule }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "ngmodule", type: PryI18nModule }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
170
|
+
}
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventSummaryListComponent, decorators: [{
|
|
172
|
+
type: Component,
|
|
173
|
+
args: [{ standalone: true, selector: 'hvy-event-summary-list', imports: [EventSummaryItemComponent, PryIconModule, PryI18nModule], template: "<div class=\"o-hvy-event-summary-list -hvy-{{status}}\">\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 <button class=\"o-hvy-event-summary-list__footer-button\" (click)=\"filterAndRoute(status)\">\n Consulter\n <pry-icon iconSvg=\"arrow\"></pry-icon>\n </button>\n </div>\n</div>\n" }]
|
|
174
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2$1.Router }], propDecorators: { events: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], totalEventCount: [{
|
|
177
|
+
type: Input
|
|
178
|
+
}], status: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], consultLink: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], itemLinkBase: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}] } });
|
|
185
|
+
|
|
110
186
|
const HYP_BASE_CONFIG = new InjectionToken('base config');
|
|
111
187
|
|
|
112
188
|
const enTranslations = {
|
|
@@ -125,6 +201,20 @@ const enTranslations = {
|
|
|
125
201
|
dateM: 'Modification date',
|
|
126
202
|
status: 'Status',
|
|
127
203
|
},
|
|
204
|
+
eventSummary: {
|
|
205
|
+
noContent: 'No event with given status',
|
|
206
|
+
statusLabels: {
|
|
207
|
+
NEW: 'Open',
|
|
208
|
+
IN_PROGRESS: 'In progress',
|
|
209
|
+
DONE: 'Done',
|
|
210
|
+
},
|
|
211
|
+
criticalityLabels: {
|
|
212
|
+
LOW: 'Low',
|
|
213
|
+
MEDIUM: 'Medium',
|
|
214
|
+
HIGH: 'High',
|
|
215
|
+
ALL: 'All'
|
|
216
|
+
},
|
|
217
|
+
},
|
|
128
218
|
process: {
|
|
129
219
|
name: 'Process',
|
|
130
220
|
},
|
|
@@ -145,14 +235,41 @@ const frTranslations = {
|
|
|
145
235
|
address: 'Adresse',
|
|
146
236
|
date: 'Date d\'effet',
|
|
147
237
|
dateM: 'Date de modification',
|
|
148
|
-
status: 'Statut'
|
|
238
|
+
status: 'Statut'
|
|
239
|
+
},
|
|
240
|
+
eventSummary: {
|
|
241
|
+
noContent: 'Aucun évènement avec statut donnée',
|
|
242
|
+
statusLabels: {
|
|
243
|
+
NEW: 'Ouverts',
|
|
244
|
+
IN_PROGRESS: 'En cours',
|
|
245
|
+
DONE: 'Clôturés',
|
|
246
|
+
},
|
|
247
|
+
criticalityLabels: {
|
|
248
|
+
LOW: 'Bas',
|
|
249
|
+
MEDIUM: 'Moyen',
|
|
250
|
+
HIGH: 'Haut',
|
|
251
|
+
ALL: 'Tous'
|
|
252
|
+
},
|
|
149
253
|
},
|
|
150
254
|
process: {
|
|
151
255
|
name: 'Procédure',
|
|
152
256
|
},
|
|
153
|
-
}
|
|
257
|
+
}
|
|
154
258
|
};
|
|
155
259
|
|
|
260
|
+
var HypEventCriticality;
|
|
261
|
+
(function (HypEventCriticality) {
|
|
262
|
+
HypEventCriticality[HypEventCriticality["LOW"] = 0] = "LOW";
|
|
263
|
+
HypEventCriticality[HypEventCriticality["MEDIUM"] = 1] = "MEDIUM";
|
|
264
|
+
HypEventCriticality[HypEventCriticality["HIGH"] = 2] = "HIGH";
|
|
265
|
+
})(HypEventCriticality || (HypEventCriticality = {}));
|
|
266
|
+
var HypEventType;
|
|
267
|
+
(function (HypEventType) {
|
|
268
|
+
HypEventType[HypEventType["ALERT"] = 0] = "ALERT";
|
|
269
|
+
HypEventType[HypEventType["REPORT"] = 1] = "REPORT";
|
|
270
|
+
HypEventType[HypEventType["OPERATOR"] = 2] = "OPERATOR";
|
|
271
|
+
})(HypEventType || (HypEventType = {}));
|
|
272
|
+
|
|
156
273
|
/*
|
|
157
274
|
* Public API Surface of hypervisor
|
|
158
275
|
*/
|
|
@@ -167,7 +284,7 @@ const eventInitialState = {
|
|
|
167
284
|
};
|
|
168
285
|
const internalReducer = createReducer(eventInitialState, on(HypervisorActions.setUrl, (state, action) => ({
|
|
169
286
|
...state,
|
|
170
|
-
url: action.url,
|
|
287
|
+
url: action.url ?? state.url,
|
|
171
288
|
})));
|
|
172
289
|
function hypervisorReducer(state, action) {
|
|
173
290
|
return internalReducer(state, action);
|
|
@@ -198,13 +315,27 @@ class EventService {
|
|
|
198
315
|
return this.httpClient.get(encodeURI(`${url}/event`), { params });
|
|
199
316
|
}));
|
|
200
317
|
}
|
|
318
|
+
listSummaries() {
|
|
319
|
+
return this.store
|
|
320
|
+
.select(HypSelectors.url)
|
|
321
|
+
.pipe(withLatestFrom(this.store.select(EventSelectors.filters)), mergeMap(([url, filters]) => {
|
|
322
|
+
let params = new HttpParams();
|
|
323
|
+
Object.keys(filters).forEach(filter => {
|
|
324
|
+
filters[filter].forEach((filterValue) => {
|
|
325
|
+
params = params.set(filter, filterValue);
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
console.log(params);
|
|
329
|
+
return this.httpClient.get(encodeURI(`${url}/events/summary`), { params });
|
|
330
|
+
}));
|
|
331
|
+
}
|
|
201
332
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventService, deps: [{ token: i1$1.HttpClient }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
202
333
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventService, providedIn: 'root' }); }
|
|
203
334
|
}
|
|
204
335
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventService, decorators: [{
|
|
205
336
|
type: Injectable,
|
|
206
337
|
args: [{
|
|
207
|
-
providedIn: 'root'
|
|
338
|
+
providedIn: 'root'
|
|
208
339
|
}]
|
|
209
340
|
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i1.Store }] });
|
|
210
341
|
|
|
@@ -213,6 +344,7 @@ class EventEffects {
|
|
|
213
344
|
this.actions$ = actions$;
|
|
214
345
|
this.eventService = eventService;
|
|
215
346
|
this.loadEvents$ = createEffect(() => this.actions$.pipe(ofType(EventActions.load), debounceTime(200), mergeMap$1((action) => this.eventService.list().pipe(map((events) => EventActions.loadSuccess({ events })), catchError((error) => [EventActions.loadFailure({ error: error })])))));
|
|
347
|
+
this.loadSummaries$ = createEffect(() => this.actions$.pipe(ofType(EventActions.loadSummaries), debounceTime(200), mergeMap$1((action) => this.eventService.listSummaries().pipe(map((summaries) => EventActions.loadSummariesSuccess({ summaries })), catchError((error) => [EventActions.loadSummariesFailure({ error: error })])))));
|
|
216
348
|
}
|
|
217
349
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventEffects, deps: [{ token: i1$2.Actions }, { token: EventService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
218
350
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EventEffects }); }
|
|
@@ -250,8 +382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
250
382
|
|
|
251
383
|
const components = [
|
|
252
384
|
EventDetailComponent,
|
|
253
|
-
EventListComponent
|
|
254
|
-
EventIconPipe,
|
|
385
|
+
EventListComponent
|
|
255
386
|
];
|
|
256
387
|
class PvyHypervisorModule {
|
|
257
388
|
static forRoot(options) {
|
|
@@ -272,15 +403,14 @@ class PvyHypervisorModule {
|
|
|
272
403
|
}
|
|
273
404
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PvyHypervisorModule, deps: [{ token: HYP_BASE_CONFIG }, { token: i1.Store }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
274
405
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: PvyHypervisorModule, declarations: [EventDetailComponent,
|
|
275
|
-
EventListComponent,
|
|
276
|
-
EventIconPipe], imports: [i1.StoreFeatureModule, i1.StoreFeatureModule, i1$2.EffectsFeatureModule, NgForOf,
|
|
406
|
+
EventListComponent], imports: [i1.StoreFeatureModule, i1.StoreFeatureModule, i1$2.EffectsFeatureModule, NgForOf,
|
|
277
407
|
AsyncPipe,
|
|
278
408
|
PryI18nModule,
|
|
279
409
|
PryCoreModule,
|
|
280
410
|
AsyncPipe,
|
|
281
|
-
PryCoreModule
|
|
282
|
-
|
|
283
|
-
|
|
411
|
+
PryCoreModule,
|
|
412
|
+
EventIconPipe], exports: [EventDetailComponent,
|
|
413
|
+
EventListComponent] }); }
|
|
284
414
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PvyHypervisorModule, imports: [StoreModule.forFeature(eventFeatureKey, eventReducer),
|
|
285
415
|
StoreModule.forFeature(hypFeatureKey, hypervisorReducer),
|
|
286
416
|
EffectsModule.forFeature([EventEffects, HypervisorEffects]),
|
|
@@ -304,9 +434,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
304
434
|
PryCoreModule,
|
|
305
435
|
AsyncPipe,
|
|
306
436
|
PryCoreModule,
|
|
437
|
+
EventIconPipe
|
|
307
438
|
],
|
|
308
439
|
exports: [
|
|
309
|
-
...components
|
|
440
|
+
...components
|
|
310
441
|
],
|
|
311
442
|
}]
|
|
312
443
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -322,5 +453,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
322
453
|
* Generated bundle index. Do not edit.
|
|
323
454
|
*/
|
|
324
455
|
|
|
325
|
-
export { EVENT_TO_ICON, EventDetailComponent, EventIconPipe, EventListComponent, HYP_BASE_CONFIG, PvyHypervisorModule, enTranslations, frTranslations };
|
|
456
|
+
export { EVENT_TO_ICON, EventActions, EventDetailComponent, EventEffects, EventIconPipe, EventListComponent, EventSelectors, EventSummaryItemComponent, EventSummaryListComponent, HYP_BASE_CONFIG, HypEventCriticality, PvyHypervisorModule, enTranslations, eventFeatureKey, eventInitialState$1 as eventInitialState, eventReducer, frTranslations };
|
|
326
457
|
//# sourceMappingURL=provoly-hypervisor.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provoly-hypervisor.mjs","sources":["../../../../projects/provoly/hypervisor/src/lib/event/detail/event-detail.component.ts","../../../../projects/provoly/hypervisor/src/lib/event/detail/event-detail.component.html","../../../../projects/provoly/hypervisor/src/lib/event/icon-pipe/event-icon.pipe.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.actions.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.reducer.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.selectors.ts","../../../../projects/provoly/hypervisor/src/lib/event/list/event-list.component.ts","../../../../projects/provoly/hypervisor/src/lib/event/list/event-list.component.html","../../../../projects/provoly/hypervisor/src/lib/general/base.token.ts","../../../../projects/provoly/hypervisor/src/lib/general/i18n/en.translations.ts","../../../../projects/provoly/hypervisor/src/lib/general/i18n/fr.translations.ts","../../../../projects/provoly/hypervisor/src/lib/model/public-api.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.actions.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.reducer.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.selectors.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.service.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.effects.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.service.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.effects.ts","../../../../projects/provoly/hypervisor/src/lib/hypervisor.module.ts","../../../../projects/provoly/hypervisor/public-api.ts","../../../../projects/provoly/hypervisor/provoly-hypervisor.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { HypEvent } from '../../model/hyp-event.interface';\nimport { HypProcess } from '../../model/hyp-process.interface';\n\n@Component({\n selector: 'hvy-event-detail',\n templateUrl: './event-detail.component.html'\n})\nexport class EventDetailComponent {\n @Input() events: HypEvent[] = [];\n @Input() process?: HypProcess = undefined;\n}\n","<h1> TODO </h1>\n<p>Events: {{ events.length }}</p>\n<p>Process: {{ process }}</p>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HypEvent } from '../../model/hyp-event.interface';\nimport { Store } from '@ngrx/store';\nimport { DEFAULT_ICON_URL } from '@provoly/dashboard';\n\nexport const EVENT_TO_ICON = {\n fn: (event: HypEvent, store: Store<any>) => of(DEFAULT_ICON_URL),\n};\n\n@Pipe({\n name: 'eventIcon',\n})\nexport class EventIconPipe implements PipeTransform {\n constructor(private store: Store<any>) {\n }\n\n transform(value: HypEvent, ...args: unknown[]): Observable<string> {\n return EVENT_TO_ICON.fn(value, this.store);\n }\n}\n","import { createAction, props } from '@ngrx/store';\nimport { HypEvent } from '../../model/hyp-event.interface';\n\nexport const EventActions = {\n load: createAction('[Event] Load Events'),\n loadSuccess: createAction('[Event Api] (bus) Load Events Success', props<{ events: HypEvent[] }>()),\n loadFailure: createAction('[Event Api] Load Events Failure', props<{ error: string }>()),\n filter: createAction('[Event Api] Set filters', props<{ filters: { [key: string]: string[] } }>()),\n};\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { HypEvent } from '../../model/hyp-event.interface';\nimport { EventActions } from './event.actions';\n\nexport const eventFeatureKey = '@hvy/event';\n\nexport interface EventState {\n events: HypEvent[];\n loading: boolean;\n filters: { [key: string]: string[] }\n}\n\nexport const eventInitialState: EventState = {\n events: [],\n loading: false,\n filters: {}\n};\n\nconst internalReducer = createReducer<EventState>(\n eventInitialState,\n on(EventActions.load, (state, action) => ({\n ...state,\n loading: true\n })),\n on(EventActions.loadSuccess, (state, action) => ({\n ...state,\n loading: false,\n events: action.events\n })),\n on(EventActions.loadFailure, (state, action) => ({\n ...state,\n loading: false,\n events: []\n })),\n on(EventActions.filter, (state, action) => ({\n ...state,\n filters: action.filters\n }))\n);\n\nexport function eventReducer(state: EventState, action: Action) {\n return internalReducer(state, action);\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { eventFeatureKey, EventState } from './event.reducer';\n\n\nconst feature = createFeatureSelector<EventState>(eventFeatureKey);\nconst events = createSelector(feature, (state) => state.events);\nconst loading = createSelector(feature, (state) => state.loading);\nconst filters = createSelector(feature, (state) => state.filters);\n\nexport const EventSelectors = {\n feature,\n events,\n loading,\n filters\n};\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { EventActions } from '../../store/event/event.actions';\nimport { EventSelectors } from '../../store/event/event.selectors';\nimport { HypEvent } from '../../model/hyp-event.interface';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'hvy-event-list',\n templateUrl: './event-list.component.html',\n})\nexport class EventListComponent {\n events$: Observable<HypEvent[]>;\n\n constructor(private store: Store<any>) {\n this.store.dispatch(EventActions.load());\n this.events$ = this.store.select(EventSelectors.events);\n }\n}\n","<table class=\"o-hvy-events-table\">\n <thead>\n <tr class=\"o-hvy-events-table__header\">\n <th></th>\n <th>{{ '@hvy.event.criticality' | i18n }}</th>\n <th>{{ '@hvy.event.name' | i18n }}</th>\n <th>{{ '@hvy.event.type.name' | i18n }}</th>\n <th>{{ '@hvy.event.address' | i18n }}</th>\n <th>{{ '@hvy.event.date' | i18n }}</th>\n <th>{{ '@hvy.event.dateM' | i18n }}</th>\n <th>{{ '@hvy.event.status' | i18n }}</th>\n <th>{{ '@hvy.process.name' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr class=\"o-hvy-events-table__line\" *ngFor=\"let event of events$|async\">\n <td class=\"o-hvy-events-table__line__cell\"></td>\n <td class=\"o-hvy-events-table__line__cell -centered\"><img [alt]=\"event.name\" [height]=\"32\" [width]=\"32\"\n [src]=\"event | eventIcon | async | getSecuredImage | async\" /></td>\n <td class=\"o-hvy-events-table__line__cell\">\n <div class=\"o-hvy-events-table__line__name__main\">{{ event.name }}</div>\n <div>{{ event.equipment ? event.equipment.name : '' }}</div>\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered\">{{ '@hvy.event.type.' + event.type | i18n }}</td>\n <td class=\"o-hvy-events-table__line__cell\">-</td>\n <td class=\"o-hvy-events-table__line__cell\">--</td>\n <td class=\"o-hvy-events-table__line__cell\">---</td>\n <td class=\"o-hvy-events-table__line__cell -centered\">----</td>\n <td class=\"o-hvy-events-table__line__cell\">-----</td>\n <td class=\"o-hvy-events-table__line__cell\"></td>\n </tr>\n </tbody>\n</table>\n","import { InjectionToken } from '@angular/core';\n\nexport const HYP_BASE_CONFIG = new InjectionToken<string>('base config');\n","export const enTranslations = {\n '@hvy': {\n event: {\n criticality: 'Criticality',\n name: 'Event',\n type: {\n name: 'Event type',\n ALERT: \"Alert\",\n REPORT: \"Report\",\n OPERATOR: \"Operator\",\n },\n address: 'Address',\n date: 'Effect date',\n dateM: 'Modification date',\n status: 'Status',\n },\n process: {\n name: 'Process',\n },\n },\n};\n","export const frTranslations = {\n '@hvy': {\n event: {\n criticality: 'Criticité',\n name: 'Évènement',\n type: {\n name: 'Type d\\'évènement',\n ALERT: \"Alerte\",\n REPORT: \"Signalement\",\n OPERATOR: \"Opérateur\",\n },\n address: 'Adresse',\n date: 'Date d\\'effet',\n dateM: 'Date de modification',\n status: 'Statut',\n },\n process: {\n name: 'Procédure',\n },\n },\n};\n","/*\n * Public API Surface of hypervisor\n */\n\nexport * from './hyp-event.interface';\nexport * from './hyp-process.interface';\n","import { createAction, props } from '@ngrx/store';\n\nexport const HypervisorActions = {\n setUrl: createAction('[Event] Set Backend Url', props<{ url: string }>())\n};\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { HypervisorActions } from './hypervisor.actions';\n\nexport const hypFeatureKey = '@hvy/general';\n\nexport interface HypState {\n url: string;\n}\n\nexport const eventInitialState: HypState = {\n url: '/api/hypervisor',\n};\n\nconst internalReducer = createReducer<HypState>(\n eventInitialState,\n on(HypervisorActions.setUrl, (state, action) => ({\n ...state,\n url: action.url,\n })),\n);\n\nexport function hypervisorReducer(state: HypState, action: Action) {\n return internalReducer(state, action);\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { hypFeatureKey, HypState } from './hypervisor.reducer';\n\n\nconst feature = createFeatureSelector<HypState>(hypFeatureKey);\nconst url = createSelector(feature, (state) => state.url);\n\nexport const HypSelectors = {\n feature,\n url\n};\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { mergeMap, Observable, withLatestFrom } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { HypEvent } from '../../model/hyp-event.interface';\nimport { HypSelectors } from '../hypervisor/hypervisor.selectors';\nimport { EventSelectors } from './event.selectors';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventService {\n constructor(\n private httpClient: HttpClient,\n private store: Store<any>,\n ) {\n }\n\n list(): Observable<Array<HypEvent>> {\n return this.store\n .select(HypSelectors.url)\n .pipe(\n withLatestFrom(this.store.select(EventSelectors.filters)),\n mergeMap(([url, filters]) => {\n let params = new HttpParams();\n Object.keys(filters).forEach(filter => {\n filters[filter].forEach((filterValue) => {\n params = params.set(filter, filterValue);\n });\n });\n return this.httpClient.get<Array<HypEvent>>(encodeURI(`${url}/event`), { params });\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { catchError, debounceTime, map, mergeMap } from 'rxjs/operators';\nimport { EventActions } from './event.actions';\nimport { EventService } from './event.service';\n\n@Injectable()\nexport class EventEffects {\n loadEvents$ = createEffect(() =>\n this.actions$.pipe(\n ofType(EventActions.load),\n debounceTime(200),\n mergeMap((action) =>\n this.eventService.list().pipe(\n map((events) => EventActions.loadSuccess({ events })),\n catchError((error) => [EventActions.loadFailure({ error: error })]),\n ),\n ),\n ),\n );\n\n constructor(\n private actions$: Actions,\n private eventService: EventService,\n ) {\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Store } from '@ngrx/store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HypervisorService {\n constructor(\n private httpClient: HttpClient,\n private store: Store<any>\n ) {}\n\n}\n","import { Injectable } from '@angular/core';\nimport { Actions } from '@ngrx/effects';\nimport { HypervisorService } from './hypervisor.service';\n\n@Injectable()\nexport class HypervisorEffects {\n\n constructor(\n private actions$: Actions,\n private eventService: HypervisorService,\n ) {\n }\n}\n","import { Inject, ModuleWithProviders, NgModule } from '@angular/core';\nimport { EventIconPipe } from './event/icon-pipe/event-icon.pipe';\nimport { EffectsModule } from '@ngrx/effects';\nimport { Store, StoreModule } from '@ngrx/store';\nimport { eventFeatureKey, eventReducer } from './store/event/event.reducer';\nimport { EventEffects } from './store/event/event.effects';\nimport { EventDetailComponent } from './event/detail/event-detail.component';\nimport { EventListComponent } from './event/list/event-list.component';\nimport { hypervisorReducer, hypFeatureKey } from './store/hypervisor/hypervisor.reducer';\nimport { HypervisorEffects } from './store/hypervisor/hypervisor.effects';\nimport { HYP_BASE_CONFIG } from './general/base.token';\nimport { HypervisorActions } from './store/hypervisor/hypervisor.actions';\nimport { AsyncPipe, NgForOf } from '@angular/common';\nimport { PryCoreModule, PryI18nModule, PryI18nService } from '@provoly/dashboard';\nimport { enTranslations } from './general/i18n/en.translations';\nimport { frTranslations } from './general/i18n/fr.translations';\n\nconst components = [\n EventDetailComponent,\n EventListComponent,\n EventIconPipe,\n];\n\n@NgModule({\n declarations: [\n ...components,\n ],\n imports: [\n StoreModule.forFeature(eventFeatureKey, eventReducer),\n StoreModule.forFeature(hypFeatureKey, hypervisorReducer),\n EffectsModule.forFeature([EventEffects, HypervisorEffects]),\n NgForOf,\n AsyncPipe,\n PryI18nModule,\n PryCoreModule,\n AsyncPipe,\n PryCoreModule,\n ],\n exports: [\n ...components,\n ],\n})\nexport class PvyHypervisorModule {\n static forRoot(options: { url: string }): ModuleWithProviders<PvyHypervisorModule> {\n\n return {\n ngModule: PvyHypervisorModule,\n providers: [\n { provide: HYP_BASE_CONFIG, useValue: options },\n ],\n };\n }\n\n constructor(@Inject(HYP_BASE_CONFIG) private baseConfig: {\n url: string\n }, private store: Store<any>, private i18nService: PryI18nService) {\n this.store.dispatch(HypervisorActions.setUrl({ url: baseConfig.url }));\n this.i18nService.addLangObject('en', '@hvy', enTranslations);\n this.i18nService.addLangObject('fr', '@hvy', frTranslations);\n }\n}\n","/*\n * Public API Surface of hypervisor\n */\nexport * from './src/lib/event/public-api';\nexport * from './src/lib/general/public-api';\nexport * from './src/lib/model/public-api';\nexport * from './src/lib/hypervisor.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["eventInitialState","internalReducer","feature","i4.EventIconPipe","i1","i2","mergeMap","i2.EventService","i2.HypervisorService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provoly-hypervisor.mjs","sources":["../../../../projects/provoly/hypervisor/src/lib/event/detail/event-detail.component.ts","../../../../projects/provoly/hypervisor/src/lib/event/detail/event-detail.component.html","../../../../projects/provoly/hypervisor/src/lib/event/icon-pipe/event-icon.pipe.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.actions.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.reducer.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.selectors.ts","../../../../projects/provoly/hypervisor/src/lib/event/list/event-list.component.ts","../../../../projects/provoly/hypervisor/src/lib/event/list/event-list.component.html","../../../../projects/provoly/hypervisor/src/lib/event-summary/item/event-summary-item.component.ts","../../../../projects/provoly/hypervisor/src/lib/event-summary/item/event-summary-item.component.html","../../../../projects/provoly/hypervisor/src/lib/event-summary/list/event-summary-list.component.ts","../../../../projects/provoly/hypervisor/src/lib/event-summary/list/event-summary-list.component.html","../../../../projects/provoly/hypervisor/src/lib/general/base.token.ts","../../../../projects/provoly/hypervisor/src/lib/general/i18n/en.translations.ts","../../../../projects/provoly/hypervisor/src/lib/general/i18n/fr.translations.ts","../../../../projects/provoly/hypervisor/src/lib/model/hyp-event.interface.ts","../../../../projects/provoly/hypervisor/src/lib/model/public-api.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.actions.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.reducer.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.selectors.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.service.ts","../../../../projects/provoly/hypervisor/src/lib/store/event/event.effects.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.service.ts","../../../../projects/provoly/hypervisor/src/lib/store/hypervisor/hypervisor.effects.ts","../../../../projects/provoly/hypervisor/src/lib/hypervisor.module.ts","../../../../projects/provoly/hypervisor/public-api.ts","../../../../projects/provoly/hypervisor/provoly-hypervisor.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { HypEvent } from '../../model/hyp-event.interface';\nimport { HypProcess } from '../../model/hyp-process.interface';\n\n@Component({\n selector: 'hvy-event-detail',\n templateUrl: './event-detail.component.html'\n})\nexport class EventDetailComponent {\n @Input() events: HypEvent[] = [];\n @Input() process?: HypProcess = undefined;\n}\n","<h1> TODO </h1>\n<p>Events: {{ events.length }}</p>\n<p>Process: {{ process }}</p>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HypEvent, HypEventSummary } from '../../model/hyp-event.interface';\nimport { Store } from '@ngrx/store';\nimport { DEFAULT_ICON_URL } from '@provoly/dashboard';\n\nexport const EVENT_TO_ICON = {\n fn: (event: HypEvent | HypEventSummary, store: Store<any>) => of(DEFAULT_ICON_URL),\n};\n\n@Pipe({\n name: 'eventIcon',\n standalone: true\n})\nexport class EventIconPipe implements PipeTransform {\n constructor(private store: Store<any>) {\n }\n\n transform(value: HypEvent | HypEventSummary, ...args: unknown[]): Observable<string> {\n return EVENT_TO_ICON.fn(value, this.store);\n }\n}\n","import { createAction, props } from '@ngrx/store';\nimport { HypEventDetails, HypEventSummaries } from '../../model/hyp-event.interface';\n\nexport const EventActions = {\n load: createAction('[Event] Load Events'),\n loadSuccess: createAction('[Event Api] (bus) Load Events Success', props<{ events: HypEventDetails[] }>()),\n loadFailure: createAction('[Event Api] Load Events Failure', props<{ error: string }>()),\n filter: createAction('[Event Api] Set filters', props<{ filters: { [key: string]: string[] } }>()),\n loadSummaries: createAction('[Event] Load Summaries'),\n loadSummariesSuccess: createAction('[Event Api] Load Summaries Success', props<{ summaries: HypEventSummaries }>()),\n loadSummariesFailure: createAction('[Event Api] Load Summaries Failure', props<{ error: string }>())\n};\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { HypEventDetails, HypEventSummaries } from '../../model/hyp-event.interface';\nimport { EventActions } from './event.actions';\n\nexport const eventFeatureKey = '@hvy/event';\n\nexport interface EventState {\n events: HypEventDetails[];\n summaries: HypEventSummaries\n loading: boolean;\n filters: { [key: string]: string[] }\n}\n\nexport const eventInitialState: EventState = {\n events: [],\n summaries: { NEW: { events: [], count: 0 }, IN_PROGRESS: { events: [], count: 0 }, DONE: { events: [], count: 0 } },\n loading: false,\n filters: {}\n};\n\nconst internalReducer = createReducer<EventState>(\n eventInitialState,\n on(EventActions.load, (state, action) => ({\n ...state,\n loading: true\n })),\n on(EventActions.loadSuccess, (state, { events }) => ({\n ...state,\n loading: false,\n events\n })),\n on(EventActions.loadFailure, (state, action) => ({\n ...state,\n loading: false,\n events: []\n })),\n on(EventActions.loadSummaries, (state, action) => ({\n ...state,\n loading: true\n })),\n on(EventActions.loadSummariesSuccess, (state, { summaries }) => ({\n ...state,\n loading: false,\n summaries\n })),\n on(EventActions.loadSummariesFailure, (state, action) => ({\n ...state,\n loading: false\n })),\n on(EventActions.filter, (state, { filters }) => ({\n ...state,\n filters\n }))\n);\n\nexport function eventReducer(state: EventState, action: Action) {\n return internalReducer(state, action);\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { eventFeatureKey, EventState } from './event.reducer';\n\n\nconst feature = createFeatureSelector<EventState>(eventFeatureKey);\nconst events = createSelector(feature, (state) => state.events);\nconst summaries = createSelector(feature, (state) => state.summaries);\nconst loading = createSelector(feature, (state) => state.loading);\nconst filters = createSelector(feature, (state) => state.filters);\n\nexport const EventSelectors = {\n feature,\n events,\n summaries,\n loading,\n filters\n};\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { EventActions } from '../../store/event/event.actions';\nimport { EventSelectors } from '../../store/event/event.selectors';\nimport { HypEventDetails } from '../../model/hyp-event.interface';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'hvy-event-list',\n templateUrl: './event-list.component.html',\n})\nexport class EventListComponent {\n events$: Observable<HypEventDetails[]>;\n\n constructor(private store: Store<any>) {\n this.store.dispatch(EventActions.load());\n this.events$ = this.store.select(EventSelectors.events);\n }\n}\n","<table class=\"o-hvy-events-table\">\n <thead>\n <tr class=\"o-hvy-events-table__header\">\n <th></th>\n <th>{{ '@hvy.event.criticality' | i18n }}</th>\n <th>{{ '@hvy.event.name' | i18n }}</th>\n <th>{{ '@hvy.event.type.name' | i18n }}</th>\n <th>{{ '@hvy.event.address' | i18n }}</th>\n <th>{{ '@hvy.event.date' | i18n }}</th>\n <th>{{ '@hvy.event.dateM' | i18n }}</th>\n <th>{{ '@hvy.event.status' | i18n }}</th>\n <th>{{ '@hvy.process.name' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr class=\"o-hvy-events-table__line\" *ngFor=\"let event of events$|async\">\n <td class=\"o-hvy-events-table__line__cell\"></td>\n <td class=\"o-hvy-events-table__line__cell -centered\"><img [alt]=\"event.name\" [height]=\"32\" [width]=\"32\"\n [src]=\"event | eventIcon | async | getSecuredImage | async\" /></td>\n <td class=\"o-hvy-events-table__line__cell\">\n <div class=\"o-hvy-events-table__line__name__main\">{{ event.name }}</div>\n <div>{{ event.equipment ? event.equipment.name : '' }}</div>\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered\">{{ '@hvy.event.type.' + event.type | i18n }}</td>\n <td class=\"o-hvy-events-table__line__cell\">-</td>\n <td class=\"o-hvy-events-table__line__cell\">--</td>\n <td class=\"o-hvy-events-table__line__cell\">---</td>\n <td class=\"o-hvy-events-table__line__cell -centered\">----</td>\n <td class=\"o-hvy-events-table__line__cell\">-----</td>\n <td class=\"o-hvy-events-table__line__cell\"></td>\n </tr>\n </tbody>\n</table>\n","import { Component, Input } from '@angular/core';\nimport { HypEventSummary } from '../../model/hyp-event.interface';\nimport { EventIconPipe } from '../../event/icon-pipe/event-icon.pipe';\nimport { AsyncPipe, DatePipe } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { PryCoreModule } from '@provoly/dashboard';\n\n@Component({\n standalone: true,\n selector: 'hvy-event-summary-item',\n templateUrl: './event-summary-item.component.html',\n imports: [EventIconPipe, DatePipe, RouterLink, AsyncPipe, PryCoreModule]\n})\nexport class EventSummaryItemComponent {\n @Input({ required: true }) event!: HypEventSummary;\n @Input() linkBase: string[] = [];\n protected linkFragments: string[] = [];\n\n ngOnInit() {\n this.linkFragments = this.linkFragments.length > 0 ? [...this.linkBase, this.event.id] : ['list', this.event.id];\n }\n}\n","<div class=\"m-hvy-event-summary-item\" [routerLink]=\"linkFragments\">\n <div class=\"m-hvy-event-summary-item__title\">\n <h4>\n {{ event.name }}\n </h4>\n </div>\n <div class=\"m-hvy-event-summary-item__content\">\n <span>\n {{\n event.manifestation ?\n (event.manifestation.startDate | date : 'dd/MM HH:MM') + ' - ' + (event.manifestation.endDate | date : 'dd/MM HH:MM') :\n event.interventionRequestTitle\n }}\n </span>\n </div>\n <div class=\"m-hvy-event-summary-item__footer\">\n <div class=\"m-hvy-event-summary-item__icons\">\n <span class=\"m-hvy-event-summary-item__intervention-counter\">{{ event.interventionRequestCount }}</span>\n <img [alt]=\"'hvy' + event.name + '-icon'\" [height]=\"20\" [width]=\"20\" [src]=\"event | eventIcon | async | getSecuredImage | async\" />\n <span>{{ event.criticality }}</span>\n </div>\n <div class=\"m-hvy-event-summary-item__date\">\n <span>\n {{ event.lastModificationDate | date : 'd MMMM . HH:MM' }}\n </span>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { HypEventSummary } from '../../model/hyp-event.interface';\nimport { EventSummaryItemComponent } from '../item/event-summary-item.component';\nimport { PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { EventActions } from '../../store/event/event.actions';\n\n@Component({\n standalone: true,\n selector: 'hvy-event-summary-list',\n imports: [EventSummaryItemComponent, PryIconModule, PryI18nModule],\n templateUrl: './event-summary-list.component.html'\n})\nexport class EventSummaryListComponent implements OnInit {\n @Input() events: HypEventSummary[] = [];\n @Input() totalEventCount = 0;\n @Input() status: string = '';\n @Input() consultLink: string[] = [];\n @Input() itemLinkBase: string[] = [];\n\n constructor(private store: Store<any>, private router: Router) {\n }\n\n ngOnInit() {\n this.consultLink = this.consultLink.length > 0 ? this.consultLink : ['events'];\n this.itemLinkBase = this.itemLinkBase.length > 0 ? this.itemLinkBase : ['events'];\n }\n\n filterAndRoute(status: string) {\n this.router.navigate([...this.consultLink]);\n this.store.dispatch(EventActions.filter({ filters: { status: [status] } }));\n }\n}\n","<div class=\"o-hvy-event-summary-list -hvy-{{status}}\">\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 <button class=\"o-hvy-event-summary-list__footer-button\" (click)=\"filterAndRoute(status)\">\n Consulter\n <pry-icon iconSvg=\"arrow\"></pry-icon>\n </button>\n </div>\n</div>\n","import { InjectionToken } from '@angular/core';\n\nexport const HYP_BASE_CONFIG = new InjectionToken<string>('base config');\n","export const enTranslations = {\n '@hvy': {\n event: {\n criticality: 'Criticality',\n name: 'Event',\n type: {\n name: 'Event type',\n ALERT: \"Alert\",\n REPORT: \"Report\",\n OPERATOR: \"Operator\",\n },\n address: 'Address',\n date: 'Effect date',\n dateM: 'Modification date',\n status: 'Status',\n },\n eventSummary: {\n noContent: 'No event with given status',\n statusLabels: {\n NEW: 'Open',\n IN_PROGRESS: 'In progress',\n DONE: 'Done',\n },\n criticalityLabels: {\n LOW: 'Low',\n MEDIUM: 'Medium',\n HIGH: 'High',\n ALL: 'All'\n },\n },\n process: {\n name: 'Process',\n },\n },\n};\n","export const frTranslations = {\n '@hvy': {\n event: {\n criticality: 'Criticité',\n name: 'Évènement',\n type: {\n name: 'Type d\\'évènement',\n ALERT: \"Alerte\",\n REPORT: \"Signalement\",\n OPERATOR: \"Opérateur\",\n },\n address: 'Adresse',\n date: 'Date d\\'effet',\n dateM: 'Date de modification',\n status: 'Statut'\n },\n eventSummary: {\n noContent: 'Aucun évènement avec statut donnée',\n statusLabels: {\n NEW: 'Ouverts',\n IN_PROGRESS: 'En cours',\n DONE: 'Clôturés',\n },\n criticalityLabels: {\n LOW: 'Bas',\n MEDIUM: 'Moyen',\n HIGH: 'Haut',\n ALL: 'Tous'\n },\n },\n process: {\n name: 'Procédure',\n },\n }\n};\n","export interface HypEvent {\n id: string;\n name: string;\n criticality: HypEventCriticality;\n type: HypEventType;\n}\n\nexport enum HypEventCriticality {\n LOW,\n MEDIUM,\n HIGH\n}\n\nenum HypEventType {\n ALERT,\n REPORT,\n OPERATOR\n}\n\n\nexport interface HypEventDetails extends HypEvent {\n equipment: null | HypEquipment;\n status: HypStatus;\n category: HypEventCategory;\n}\n\nexport interface HypEquipment {\n id: string;\n name: string;\n}\n\nexport type HypStatus = 'NEW' | 'IN_PROGRESS' | 'DONE';\n\ntype HypEventCategory = HypEventType | 'MALFUNCTION_ALERT' | 'LIMIT_ALERT' | 'MANIFESTATION';\n\n\nexport interface HypEventSummary extends HypEvent {\n interventionRequestCount: number,\n lastModificationDate: Date,\n manifestation?: { startDate: Date; endDate: Date },\n interventionRequestTitle?: string,\n category: HypEventCategory,\n}\n\nexport type HypEventSummaries = {\n [key in HypStatus]: {\n events: HypEventSummary[];\n count: number\n }\n}\n","/*\n * Public API Surface of hypervisor\n */\n\nexport * from './hyp-event.interface';\nexport * from './hyp-process.interface';\n","import { createAction, props } from '@ngrx/store';\n\nexport const HypervisorActions = {\n setUrl: createAction('[Event] Set Backend Url', props<{ url?: string }>())\n};\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { HypervisorActions } from './hypervisor.actions';\n\nexport const hypFeatureKey = '@hvy/general';\n\nexport interface HypState {\n url: string;\n}\n\nexport const eventInitialState: HypState = {\n url: '/api/hypervisor',\n};\n\nconst internalReducer = createReducer<HypState>(\n eventInitialState,\n on(HypervisorActions.setUrl, (state, action) => ({\n ...state,\n url: action.url ?? state.url,\n })),\n);\n\nexport function hypervisorReducer(state: HypState, action: Action) {\n return internalReducer(state, action);\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { hypFeatureKey, HypState } from './hypervisor.reducer';\n\n\nconst feature = createFeatureSelector<HypState>(hypFeatureKey);\nconst url = createSelector(feature, (state) => state.url);\n\nexport const HypSelectors = {\n feature,\n url\n};\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { mergeMap, Observable, withLatestFrom } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { HypEventDetails, HypEventSummaries } from '../../model/hyp-event.interface';\nimport { HypSelectors } from '../hypervisor/hypervisor.selectors';\nimport { EventSelectors } from './event.selectors';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EventService {\n constructor(\n private httpClient: HttpClient,\n private store: Store<any>\n ) {\n }\n\n list(): Observable<Array<HypEventDetails>> {\n return this.store\n .select(HypSelectors.url)\n .pipe(\n withLatestFrom(this.store.select(EventSelectors.filters)),\n mergeMap(([url, filters]) => {\n let params = new HttpParams();\n Object.keys(filters).forEach(filter => {\n filters[filter].forEach((filterValue) => {\n params = params.set(filter, filterValue);\n });\n });\n return this.httpClient.get<Array<HypEventDetails>>(encodeURI(`${url}/event`), { params });\n })\n );\n }\n\n listSummaries(): Observable<HypEventSummaries> {\n return this.store\n .select(HypSelectors.url)\n .pipe(\n withLatestFrom(this.store.select(EventSelectors.filters)),\n mergeMap(([url, filters]) => {\n let params = new HttpParams();\n Object.keys(filters).forEach(filter => {\n filters[filter].forEach((filterValue) => {\n params = params.set(filter, filterValue);\n });\n });\n console.log(params);\n return this.httpClient.get<HypEventSummaries>(encodeURI(`${url}/events/summary`), { params });\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { catchError, debounceTime, map, mergeMap } from 'rxjs/operators';\nimport { EventActions } from './event.actions';\nimport { EventService } from './event.service';\n\n@Injectable()\nexport class EventEffects {\n loadEvents$ = createEffect(() =>\n this.actions$.pipe(\n ofType(EventActions.load),\n debounceTime(200),\n mergeMap((action) =>\n this.eventService.list().pipe(\n map((events) => EventActions.loadSuccess({ events })),\n catchError((error) => [EventActions.loadFailure({ error: error })]),\n ),\n ),\n ),\n );\n\n loadSummaries$ = createEffect(() =>\n this.actions$.pipe(\n ofType(EventActions.loadSummaries),\n debounceTime(200),\n mergeMap((action) =>\n this.eventService.listSummaries().pipe(\n map((summaries) => EventActions.loadSummariesSuccess({ summaries })),\n catchError((error) => [EventActions.loadSummariesFailure({ error: error })]),\n ),\n ),\n ),\n );\n\n constructor(\n private actions$: Actions,\n private eventService: EventService,\n ) {\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Store } from '@ngrx/store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HypervisorService {\n constructor(\n private httpClient: HttpClient,\n private store: Store<any>\n ) {}\n\n}\n","import { Injectable } from '@angular/core';\nimport { Actions } from '@ngrx/effects';\nimport { HypervisorService } from './hypervisor.service';\n\n@Injectable()\nexport class HypervisorEffects {\n\n constructor(\n private actions$: Actions,\n private eventService: HypervisorService,\n ) {\n }\n}\n","import { Inject, ModuleWithProviders, NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { Store, StoreModule } from '@ngrx/store';\nimport { eventFeatureKey, eventReducer } from './store/event/event.reducer';\nimport { EventEffects } from './store/event/event.effects';\nimport { EventDetailComponent } from './event/detail/event-detail.component';\nimport { EventListComponent } from './event/list/event-list.component';\nimport { hypervisorReducer, hypFeatureKey } from './store/hypervisor/hypervisor.reducer';\nimport { HypervisorEffects } from './store/hypervisor/hypervisor.effects';\nimport { HYP_BASE_CONFIG } from './general/base.token';\nimport { HypervisorActions } from './store/hypervisor/hypervisor.actions';\nimport { AsyncPipe, NgForOf } from '@angular/common';\nimport { PryCoreModule, PryI18nModule, PryI18nService } from '@provoly/dashboard';\nimport { enTranslations } from './general/i18n/en.translations';\nimport { frTranslations } from './general/i18n/fr.translations';\nimport { EventIconPipe } from './event/icon-pipe/event-icon.pipe';\n\nconst components = [\n EventDetailComponent,\n EventListComponent\n];\n\n@NgModule({\n declarations: [\n ...components,\n ],\n imports: [\n StoreModule.forFeature(eventFeatureKey, eventReducer),\n StoreModule.forFeature(hypFeatureKey, hypervisorReducer),\n EffectsModule.forFeature([EventEffects, HypervisorEffects]),\n NgForOf,\n AsyncPipe,\n PryI18nModule,\n PryCoreModule,\n AsyncPipe,\n PryCoreModule,\n EventIconPipe\n ],\n exports: [\n ...components\n ],\n})\nexport class PvyHypervisorModule {\n static forRoot(options: { url?: string }): ModuleWithProviders<PvyHypervisorModule> {\n\n return {\n ngModule: PvyHypervisorModule,\n providers: [\n { provide: HYP_BASE_CONFIG, useValue: options },\n ],\n };\n }\n\n constructor(@Inject(HYP_BASE_CONFIG) private baseConfig: {\n url: string\n }, private store: Store<any>, private i18nService: PryI18nService) {\n this.store.dispatch(HypervisorActions.setUrl({ url: baseConfig.url }));\n this.i18nService.addLangObject('en', '@hvy', enTranslations);\n this.i18nService.addLangObject('fr', '@hvy', frTranslations);\n }\n}\n","/*\n * Public API Surface of hypervisor\n */\nexport * from './src/lib/event/public-api';\nexport * from './src/lib/event-summary/public-api';\nexport * from './src/lib/general/public-api';\nexport * from './src/lib/model/public-api';\nexport * from './src/lib/hypervisor.module';\nexport * from './src/lib/store/event/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["eventInitialState","internalReducer","feature","i4.EventIconPipe","i1","i2","mergeMap","i2.EventService","i2.HypervisorService"],"mappings":"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"}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from './src/lib/event/public-api';
|
|
2
|
+
export * from './src/lib/event-summary/public-api';
|
|
2
3
|
export * from './src/lib/general/public-api';
|
|
3
4
|
export * from './src/lib/model/public-api';
|
|
4
5
|
export * from './src/lib/hypervisor.module';
|
|
6
|
+
export * from './src/lib/store/event/public-api';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { HypEvent } from '../../model/hyp-event.interface';
|
|
3
|
+
import { HypEvent, HypEventSummary } from '../../model/hyp-event.interface';
|
|
4
4
|
import { Store } from '@ngrx/store';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare const EVENT_TO_ICON: {
|
|
7
|
-
fn: (event: HypEvent, store: Store<any>) => Observable<string>;
|
|
7
|
+
fn: (event: HypEvent | HypEventSummary, store: Store<any>) => Observable<string>;
|
|
8
8
|
};
|
|
9
9
|
export declare class EventIconPipe implements PipeTransform {
|
|
10
10
|
private store;
|
|
11
11
|
constructor(store: Store<any>);
|
|
12
|
-
transform(value: HypEvent, ...args: unknown[]): Observable<string>;
|
|
12
|
+
transform(value: HypEvent | HypEventSummary, ...args: unknown[]): Observable<string>;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<EventIconPipe, never>;
|
|
14
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<EventIconPipe, "eventIcon",
|
|
14
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<EventIconPipe, "eventIcon", true>;
|
|
15
15
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Store } from '@ngrx/store';
|
|
2
|
-
import {
|
|
2
|
+
import { HypEventDetails } from '../../model/hyp-event.interface';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class EventListComponent {
|
|
6
6
|
private store;
|
|
7
|
-
events$: Observable<
|
|
7
|
+
events$: Observable<HypEventDetails[]>;
|
|
8
8
|
constructor(store: Store<any>);
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<EventListComponent, never>;
|
|
10
10
|
static ɵcmp: i0.ɵɵComponentDeclaration<EventListComponent, "hvy-event-list", never, {}, {}, never, never, false, never>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HypEventSummary } from '../../model/hyp-event.interface';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class EventSummaryItemComponent {
|
|
4
|
+
event: HypEventSummary;
|
|
5
|
+
linkBase: string[];
|
|
6
|
+
protected linkFragments: string[];
|
|
7
|
+
ngOnInit(): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EventSummaryItemComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EventSummaryItemComponent, "hvy-event-summary-item", never, { "event": { "alias": "event"; "required": true; }; "linkBase": { "alias": "linkBase"; "required": false; }; }, {}, never, never, true, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { HypEventSummary } from '../../model/hyp-event.interface';
|
|
3
|
+
import { Router } from '@angular/router';
|
|
4
|
+
import { Store } from '@ngrx/store';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class EventSummaryListComponent implements OnInit {
|
|
7
|
+
private store;
|
|
8
|
+
private router;
|
|
9
|
+
events: HypEventSummary[];
|
|
10
|
+
totalEventCount: number;
|
|
11
|
+
status: string;
|
|
12
|
+
consultLink: string[];
|
|
13
|
+
itemLinkBase: string[];
|
|
14
|
+
constructor(store: Store<any>, router: Router);
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
filterAndRoute(status: string): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EventSummaryListComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EventSummaryListComponent, "hvy-event-summary-list", never, { "events": { "alias": "events"; "required": false; }; "totalEventCount": { "alias": "totalEventCount"; "required": false; }; "status": { "alias": "status"; "required": false; }; "consultLink": { "alias": "consultLink"; "required": false; }; "itemLinkBase": { "alias": "itemLinkBase"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -14,6 +14,20 @@ export declare const enTranslations: {
|
|
|
14
14
|
dateM: string;
|
|
15
15
|
status: string;
|
|
16
16
|
};
|
|
17
|
+
eventSummary: {
|
|
18
|
+
noContent: string;
|
|
19
|
+
statusLabels: {
|
|
20
|
+
NEW: string;
|
|
21
|
+
IN_PROGRESS: string;
|
|
22
|
+
DONE: string;
|
|
23
|
+
};
|
|
24
|
+
criticalityLabels: {
|
|
25
|
+
LOW: string;
|
|
26
|
+
MEDIUM: string;
|
|
27
|
+
HIGH: string;
|
|
28
|
+
ALL: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
17
31
|
process: {
|
|
18
32
|
name: string;
|
|
19
33
|
};
|