@provoly/hypervisor 2.3.8 → 2.4.0

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.
@@ -16,6 +16,7 @@ import * as i1$3 from '@angular/forms';
16
16
  import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
17
17
  import * as i5 from '@angular/common';
18
18
  import { NgForOf, AsyncPipe, NgStyle, DatePipe, KeyValuePipe, JsonPipe, NgIf, NgClass, SlicePipe } from '@angular/common';
19
+ import { toSignal } from '@angular/core/rxjs-interop';
19
20
  import * as i2 from '@angular/router';
20
21
  import { RouterLink } from '@angular/router';
21
22
  import * as i5$1 from '@provoly/dashboard/components/checkbox';
@@ -25,7 +26,6 @@ import * as i1$4 from '@ngrx/effects';
25
26
  import { act, ofType, createEffect, EffectsModule } from '@ngrx/effects';
26
27
  import * as i10 from '@angular/material/autocomplete';
27
28
  import { MatAutocompleteTrigger, MatAutocomplete, MatOption } from '@angular/material/autocomplete';
28
- import { toSignal } from '@angular/core/rxjs-interop';
29
29
 
30
30
  const HypEventCriticality = {
31
31
  values: ['HIGH', 'MEDIUM', 'LOW']
@@ -159,6 +159,7 @@ const EventSelectors = {
159
159
  const HypervisorActions = {
160
160
  setUrl: createAction('[Event] Set Backend Url', props()),
161
161
  setDiUrl: createAction('[Event] Set DI Url', props()),
162
+ setOtUrl: createAction('[Event] Set OT Url', props()),
162
163
  };
163
164
 
164
165
  const hypFeatureKey = '@hvy/general';
@@ -171,6 +172,9 @@ const internalReducer$2 = createReducer(hypInitialState, on(HypervisorActions.se
171
172
  })), on(HypervisorActions.setDiUrl, (state, action) => ({
172
173
  ...state,
173
174
  diUrl: action.diUrl,
175
+ })), on(HypervisorActions.setOtUrl, (state, action) => ({
176
+ ...state,
177
+ otUrl: action.otUrl,
174
178
  })));
175
179
  function hypervisorReducer(state, action) {
176
180
  return internalReducer$2(state, action);
@@ -179,10 +183,12 @@ function hypervisorReducer(state, action) {
179
183
  const feature$2 = createFeatureSelector(hypFeatureKey);
180
184
  const url = createSelector(feature$2, (state) => state.url);
181
185
  const diUrl = createSelector(feature$2, (state) => state.diUrl);
186
+ const otUrl = createSelector(feature$2, (state) => state.otUrl);
182
187
  const HypSelectors = {
183
188
  feature: feature$2,
184
189
  url,
185
190
  diUrl,
191
+ otUrl,
186
192
  };
187
193
 
188
194
  const ProcedureActions = {
@@ -827,7 +833,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
827
833
  }]
828
834
  }] });
829
835
 
836
+ class DiRefPipe {
837
+ transform(value) {
838
+ const indexOfAt = value.indexOf('@');
839
+ const indexOfD = value.indexOf('D');
840
+ return (indexOfAt !== -1 && indexOfD !== -1) ? value.substring(indexOfAt + 1, value.length) : value;
841
+ }
842
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DiRefPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
843
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: DiRefPipe, isStandalone: true, name: "diRef" }); }
844
+ }
845
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DiRefPipe, decorators: [{
846
+ type: Pipe,
847
+ args: [{
848
+ standalone: true,
849
+ name: 'diRef'
850
+ }]
851
+ }] });
852
+
830
853
  class LastEventsComponent extends SubscriptionnerDirective {
854
+ urlFor(ref) {
855
+ return (ref.includes('D') && !ref.includes('@')) ? this.diUrl() : this.otUrl();
856
+ }
831
857
  constructor(router, store) {
832
858
  super();
833
859
  this.router = router;
@@ -839,7 +865,8 @@ class LastEventsComponent extends SubscriptionnerDirective {
839
865
  this.closeDialogEmit = new EventEmitter();
840
866
  this.closeButton = false;
841
867
  this.references = [];
842
- this.diUrl$ = this.store.select(HypSelectors.diUrl);
868
+ this.diUrl = toSignal(this.store.select(HypSelectors.diUrl));
869
+ this.otUrl = toSignal(this.store.select(HypSelectors.otUrl));
843
870
  this.padId = padId;
844
871
  }
845
872
  ngOnInit() {
@@ -868,11 +895,11 @@ class LastEventsComponent extends SubscriptionnerDirective {
868
895
  window.open(url, '_blank');
869
896
  }
870
897
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LastEventsComponent, deps: [{ token: i2.Router }, { token: i1$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
871
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: LastEventsComponent, selector: "hvy-last-events", inputs: { services: "services", tooltip: "tooltip", events: "events", closeButton: "closeButton" }, outputs: { closeDialogEmit: "closeDialogEmit" }, usesInheritance: true, ngImport: i0, template: "@if (events.length > 0) {\n <div class=\"o-hvy-last-events__events\">\n <div>\n <h3>{{ '@chh.event.lastEvents' | i18n }} ({{ events.length }})</h3>\n <div class=\"o-modal__equipment__close\" [hidden]=\"!closeButton\">\n <button class=\"\" (click)=\"closeDialog()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n </div>\n @for (event of events; track event.id) {\n <div class=\"o-hvy-last-events__events__item\">\n <div class=\"o-hvy-last-events__events__item__icon\">\n <hvy-icon-display class=\"last-events-icon-tooltip\" [event]=\"event\"></hvy-icon-display>\n </div>\n <div class=\"o-hvy-event-tooltip-container\">\n <div class=\"o-hvy-last-events__events__item__title\" (click)=\"goTo(event)\">\n <span class=\"goto-link-eve\">{{ padId.fn(event.id) }} - {{ event.name }}</span>\n </div>\n <div class=\"o-hvy-last-events__events__item__descr\">\n <span>{{event.externalSourceRef}} - {{event.creationDate | date : 'dd/MM/yyyy'}}</span>\n </div>\n </div>\n <div class=\"o-hvy-last-events__events__item__status\">\n <hvy-status-display [item]=\"event\"></hvy-status-display>\n </div>\n </div>\n }\n </div>\n}\n@if (services.length > 0) {\n <div class=\"o-hvy-last-events__services\">\n @if ( !events || events.length === 0) {\n <div>\n <h3>{{ '@chh.event.services' | i18n }} ({{ services.length }})</h3>\n <div class=\"o-modal__equipment__close\" [hidden]=\"!closeButton\">\n <button class=\"\" (click)=\"closeDialog()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n </div>\n } @else {\n <h3>{{ '@chh.event.services' | i18n }} ({{ services.length }})</h3>\n }\n @for (service of services; track service.id) {\n <div class=\"o-hvy-last-events__services__item\">\n <div class=\"o-hvy-last-events__services__item__icon\">\n <pry-icon iconSvg=\"service\"></pry-icon>\n </div>\n <div class=\"o-hvy-last-events__services__item__title\">\n @if ((diUrl$ | async); as diUrl) {\n @if (references[$index]) {\n <a class=\"a-di-link\" [href]=\"diUrl + references[$index]\" target=\"_blank\" rel=\"noopener noreferrer\">{{ references[$index] }}</a>\n }\n } @else {\n {{ references[$index] }}\n }\n - {{ '@chh.intervention.' + service.category | i18n }}\n </div>\n <div class=\"o-hvy-last-events__services__item__descr\">\n <span>{{ service.description | truncate: [50, '...'] }}</span>\n </div>\n <div class=\"o-hvy-last-events__services__item__date\">\n @if (service.status === 'ASKED') {\n <span>{{ '@chh.event.startDate' | i18n }} : {{ displayDate(service.startDate) }}</span>\n }\n @if (service.status === 'IN_PROGRESS') {\n <span>{{ '@chh.event.endPlannedDate' | i18n }} : {{ displayDate(service.inProgressDate) }}</span>\n }\n @if (service.status === 'DONE' || service.status === 'OT_CLOSED') {\n <span>{{ '@chh.event.endDate' | i18n }} : {{ displayDate(service.endDate) }}</span>\n }\n @if (service.status === 'NEW') {\n <span>{{ '@chh.event.newDate' | i18n }} : {{ displayDate(service.creationDate) }}</span>\n }\n @if (service.status === 'CANCELLED') {\n <span>{{ '@chh.event.cancelledDate' | i18n }} : {{ displayDate(service.lastModificationDate) }}</span>\n }\n </div>\n <div class=\"o-hvy-last-events__services__item__status\">\n <hvy-status-display [item]=\"service\" type=\"service\"></hvy-status-display>\n </div>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: i1$2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "component", type: StatusDisplayComponent, selector: "hvy-status-display", inputs: ["type", "readonly", "item", "modifiable"], outputs: ["modified"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: TruncatePipe, name: "truncate" }] }); }
898
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: LastEventsComponent, selector: "hvy-last-events", inputs: { services: "services", tooltip: "tooltip", events: "events", closeButton: "closeButton" }, outputs: { closeDialogEmit: "closeDialogEmit" }, usesInheritance: true, ngImport: i0, template: "@if (events.length > 0) {\n <div class=\"o-hvy-last-events__events\">\n <div>\n <h3>{{ '@chh.event.lastEvents' | i18n }} ({{ events.length }})</h3>\n <div class=\"o-modal__equipment__close\" [hidden]=\"!closeButton\">\n <button class=\"\" (click)=\"closeDialog()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n </div>\n @for (event of events; track event.id) {\n <div class=\"o-hvy-last-events__events__item\">\n <div class=\"o-hvy-last-events__events__item__icon\">\n <hvy-icon-display class=\"last-events-icon-tooltip\" [event]=\"event\"></hvy-icon-display>\n </div>\n <div class=\"o-hvy-event-tooltip-container\">\n <div class=\"o-hvy-last-events__events__item__title\" (click)=\"goTo(event)\">\n <span class=\"goto-link-eve\">{{ padId.fn(event.id) }} - {{ event.name }}</span>\n </div>\n <div class=\"o-hvy-last-events__events__item__descr\">\n <span>{{event.externalSourceRef}} - {{event.creationDate | date : 'dd/MM/yyyy'}}</span>\n </div>\n </div>\n <div class=\"o-hvy-last-events__events__item__status\">\n <hvy-status-display [item]=\"event\"></hvy-status-display>\n </div>\n </div>\n }\n </div>\n}\n@if (services.length > 0) {\n <div class=\"o-hvy-last-events__services\">\n @if ( !events || events.length === 0) {\n <div>\n <h3>{{ '@chh.event.services' | i18n }} ({{ services.length }})</h3>\n <div class=\"o-modal__equipment__close\" [hidden]=\"!closeButton\">\n <button class=\"\" (click)=\"closeDialog()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n </div>\n } @else {\n <h3>{{ '@chh.event.services' | i18n }} ({{ services.length }})</h3>\n }\n @for (service of services; track service.id) {\n <div class=\"o-hvy-last-events__services__item\">\n <div class=\"o-hvy-last-events__services__item__icon\">\n <pry-icon iconSvg=\"service\"></pry-icon>\n </div>\n <div class=\"o-hvy-last-events__services__item__title\">\n @if (urlFor(references[$index]) && references[$index]) {\n <a class=\"a-di-link\" [href]=\"urlFor(references[$index])! + (references[$index] | diRef)\" target=\"_blank\" rel=\"noopener noreferrer\">{{ references[$index] }}</a>\n } @else {\n {{ references[$index] }}\n }\n - {{ '@chh.intervention.' + service.category | i18n }}\n </div>\n <div class=\"o-hvy-last-events__services__item__descr\">\n <span>{{ service.description | truncate: [50, '...'] }}</span>\n </div>\n <div class=\"o-hvy-last-events__services__item__date\">\n @if (service.status === 'ASKED') {\n <span>{{ '@chh.event.startDate' | i18n }} : {{ displayDate(service.startDate) }}</span>\n }\n @if (service.status === 'IN_PROGRESS') {\n <span>{{ '@chh.event.endPlannedDate' | i18n }} : {{ displayDate(service.inProgressDate) }}</span>\n }\n @if (service.status === 'DONE' || service.status === 'OT_CLOSED') {\n <span>{{ '@chh.event.endDate' | i18n }} : {{ displayDate(service.endDate) }}</span>\n }\n @if (service.status === 'NEW') {\n <span>{{ '@chh.event.newDate' | i18n }} : {{ displayDate(service.creationDate) }}</span>\n }\n @if (service.status === 'CANCELLED') {\n <span>{{ '@chh.event.cancelledDate' | i18n }} : {{ displayDate(service.lastModificationDate) }}</span>\n }\n </div>\n <div class=\"o-hvy-last-events__services__item__status\">\n <hvy-status-display [item]=\"service\" type=\"service\"></hvy-status-display>\n </div>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: i1$2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "component", type: StatusDisplayComponent, selector: "hvy-status-display", inputs: ["type", "readonly", "item", "modifiable"], outputs: ["modified"] }, { kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: TruncatePipe, name: "truncate" }, { kind: "pipe", type: DiRefPipe, name: "diRef" }] }); }
872
899
  }
873
900
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LastEventsComponent, decorators: [{
874
901
  type: Component,
875
- args: [{ selector: 'hvy-last-events', template: "@if (events.length > 0) {\n <div class=\"o-hvy-last-events__events\">\n <div>\n <h3>{{ '@chh.event.lastEvents' | i18n }} ({{ events.length }})</h3>\n <div class=\"o-modal__equipment__close\" [hidden]=\"!closeButton\">\n <button class=\"\" (click)=\"closeDialog()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n </div>\n @for (event of events; track event.id) {\n <div class=\"o-hvy-last-events__events__item\">\n <div class=\"o-hvy-last-events__events__item__icon\">\n <hvy-icon-display class=\"last-events-icon-tooltip\" [event]=\"event\"></hvy-icon-display>\n </div>\n <div class=\"o-hvy-event-tooltip-container\">\n <div class=\"o-hvy-last-events__events__item__title\" (click)=\"goTo(event)\">\n <span class=\"goto-link-eve\">{{ padId.fn(event.id) }} - {{ event.name }}</span>\n </div>\n <div class=\"o-hvy-last-events__events__item__descr\">\n <span>{{event.externalSourceRef}} - {{event.creationDate | date : 'dd/MM/yyyy'}}</span>\n </div>\n </div>\n <div class=\"o-hvy-last-events__events__item__status\">\n <hvy-status-display [item]=\"event\"></hvy-status-display>\n </div>\n </div>\n }\n </div>\n}\n@if (services.length > 0) {\n <div class=\"o-hvy-last-events__services\">\n @if ( !events || events.length === 0) {\n <div>\n <h3>{{ '@chh.event.services' | i18n }} ({{ services.length }})</h3>\n <div class=\"o-modal__equipment__close\" [hidden]=\"!closeButton\">\n <button class=\"\" (click)=\"closeDialog()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n </div>\n } @else {\n <h3>{{ '@chh.event.services' | i18n }} ({{ services.length }})</h3>\n }\n @for (service of services; track service.id) {\n <div class=\"o-hvy-last-events__services__item\">\n <div class=\"o-hvy-last-events__services__item__icon\">\n <pry-icon iconSvg=\"service\"></pry-icon>\n </div>\n <div class=\"o-hvy-last-events__services__item__title\">\n @if ((diUrl$ | async); as diUrl) {\n @if (references[$index]) {\n <a class=\"a-di-link\" [href]=\"diUrl + references[$index]\" target=\"_blank\" rel=\"noopener noreferrer\">{{ references[$index] }}</a>\n }\n } @else {\n {{ references[$index] }}\n }\n - {{ '@chh.intervention.' + service.category | i18n }}\n </div>\n <div class=\"o-hvy-last-events__services__item__descr\">\n <span>{{ service.description | truncate: [50, '...'] }}</span>\n </div>\n <div class=\"o-hvy-last-events__services__item__date\">\n @if (service.status === 'ASKED') {\n <span>{{ '@chh.event.startDate' | i18n }} : {{ displayDate(service.startDate) }}</span>\n }\n @if (service.status === 'IN_PROGRESS') {\n <span>{{ '@chh.event.endPlannedDate' | i18n }} : {{ displayDate(service.inProgressDate) }}</span>\n }\n @if (service.status === 'DONE' || service.status === 'OT_CLOSED') {\n <span>{{ '@chh.event.endDate' | i18n }} : {{ displayDate(service.endDate) }}</span>\n }\n @if (service.status === 'NEW') {\n <span>{{ '@chh.event.newDate' | i18n }} : {{ displayDate(service.creationDate) }}</span>\n }\n @if (service.status === 'CANCELLED') {\n <span>{{ '@chh.event.cancelledDate' | i18n }} : {{ displayDate(service.lastModificationDate) }}</span>\n }\n </div>\n <div class=\"o-hvy-last-events__services__item__status\">\n <hvy-status-display [item]=\"service\" type=\"service\"></hvy-status-display>\n </div>\n </div>\n }\n </div>\n}\n" }]
902
+ args: [{ selector: 'hvy-last-events', template: "@if (events.length > 0) {\n <div class=\"o-hvy-last-events__events\">\n <div>\n <h3>{{ '@chh.event.lastEvents' | i18n }} ({{ events.length }})</h3>\n <div class=\"o-modal__equipment__close\" [hidden]=\"!closeButton\">\n <button class=\"\" (click)=\"closeDialog()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n </div>\n @for (event of events; track event.id) {\n <div class=\"o-hvy-last-events__events__item\">\n <div class=\"o-hvy-last-events__events__item__icon\">\n <hvy-icon-display class=\"last-events-icon-tooltip\" [event]=\"event\"></hvy-icon-display>\n </div>\n <div class=\"o-hvy-event-tooltip-container\">\n <div class=\"o-hvy-last-events__events__item__title\" (click)=\"goTo(event)\">\n <span class=\"goto-link-eve\">{{ padId.fn(event.id) }} - {{ event.name }}</span>\n </div>\n <div class=\"o-hvy-last-events__events__item__descr\">\n <span>{{event.externalSourceRef}} - {{event.creationDate | date : 'dd/MM/yyyy'}}</span>\n </div>\n </div>\n <div class=\"o-hvy-last-events__events__item__status\">\n <hvy-status-display [item]=\"event\"></hvy-status-display>\n </div>\n </div>\n }\n </div>\n}\n@if (services.length > 0) {\n <div class=\"o-hvy-last-events__services\">\n @if ( !events || events.length === 0) {\n <div>\n <h3>{{ '@chh.event.services' | i18n }} ({{ services.length }})</h3>\n <div class=\"o-modal__equipment__close\" [hidden]=\"!closeButton\">\n <button class=\"\" (click)=\"closeDialog()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n </div>\n } @else {\n <h3>{{ '@chh.event.services' | i18n }} ({{ services.length }})</h3>\n }\n @for (service of services; track service.id) {\n <div class=\"o-hvy-last-events__services__item\">\n <div class=\"o-hvy-last-events__services__item__icon\">\n <pry-icon iconSvg=\"service\"></pry-icon>\n </div>\n <div class=\"o-hvy-last-events__services__item__title\">\n @if (urlFor(references[$index]) && references[$index]) {\n <a class=\"a-di-link\" [href]=\"urlFor(references[$index])! + (references[$index] | diRef)\" target=\"_blank\" rel=\"noopener noreferrer\">{{ references[$index] }}</a>\n } @else {\n {{ references[$index] }}\n }\n - {{ '@chh.intervention.' + service.category | i18n }}\n </div>\n <div class=\"o-hvy-last-events__services__item__descr\">\n <span>{{ service.description | truncate: [50, '...'] }}</span>\n </div>\n <div class=\"o-hvy-last-events__services__item__date\">\n @if (service.status === 'ASKED') {\n <span>{{ '@chh.event.startDate' | i18n }} : {{ displayDate(service.startDate) }}</span>\n }\n @if (service.status === 'IN_PROGRESS') {\n <span>{{ '@chh.event.endPlannedDate' | i18n }} : {{ displayDate(service.inProgressDate) }}</span>\n }\n @if (service.status === 'DONE' || service.status === 'OT_CLOSED') {\n <span>{{ '@chh.event.endDate' | i18n }} : {{ displayDate(service.endDate) }}</span>\n }\n @if (service.status === 'NEW') {\n <span>{{ '@chh.event.newDate' | i18n }} : {{ displayDate(service.creationDate) }}</span>\n }\n @if (service.status === 'CANCELLED') {\n <span>{{ '@chh.event.cancelledDate' | i18n }} : {{ displayDate(service.lastModificationDate) }}</span>\n }\n </div>\n <div class=\"o-hvy-last-events__services__item__status\">\n <hvy-status-display [item]=\"service\" type=\"service\"></hvy-status-display>\n </div>\n </div>\n }\n </div>\n}\n" }]
876
903
  }], ctorParameters: () => [{ type: i2.Router }, { type: i1$1.Store }], propDecorators: { services: [{
877
904
  type: Input
878
905
  }], tooltip: [{
@@ -1614,6 +1641,7 @@ class HvyServiceActionDisplayComponent extends HvyBaseParameterActionComponent {
1614
1641
  this.i18n = i18n;
1615
1642
  this.store = store;
1616
1643
  this.diUrl = toSignal(this.store.select(HypSelectors.diUrl));
1644
+ this.otUrl = toSignal(this.store.select(HypSelectors.otUrl));
1617
1645
  this.toto = this.store.select(HypSelectors.diUrl);
1618
1646
  this.act = act;
1619
1647
  }
@@ -1622,6 +1650,9 @@ class HvyServiceActionDisplayComponent extends HvyBaseParameterActionComponent {
1622
1650
  '(' + this.i18n.transform(`@hvy.procedure.status.${this.action.serviceStatus}`) + ')' : '';
1623
1651
  this.initActionReference();
1624
1652
  }
1653
+ urlFor(ref) {
1654
+ return (ref.includes('D') && !ref.includes('@')) ? this.diUrl() : this.otUrl();
1655
+ }
1625
1656
  initActionReference() {
1626
1657
  if (this.action.serviceExternalId) {
1627
1658
  if (this.action.serviceAdditionalInfo) {
@@ -1668,11 +1699,11 @@ class HvyServiceActionDisplayComponent extends HvyBaseParameterActionComponent {
1668
1699
  });
1669
1700
  }
1670
1701
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: HvyServiceActionDisplayComponent, deps: [{ token: i1$2.PryDialogService }, { token: i4.Overlay }, { token: ServiceService }, { token: i1$2.I18nPipe }, { token: i1$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
1671
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: HvyServiceActionDisplayComponent, selector: "hvy-service-action-display", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"param-line -vertical\">\n <p>\n {{ '@hvy.procedure.action.service' | i18n }} :\n @if (diUrl() && action.serviceExternalId) {\n <a class=\"a-di-link\" [href]=\"diUrl()! + reference\" target=\"_blank\" rel=\"noopener noreferrer\"><b>{{ reference }}</b></a>\n } @else {\n <b>{{ reference }}</b>\n }\n {{ status }}\n </p>\n @if (!action.serviceExternalId && this.mode !== 'model') {\n <button\n class=\"a-link\"\n [disabled]=\"readonly ||\n (action.type === 'ASKED_SERVICE' &&\n (action.status === 'DONE' || action.status === 'OT_CLOSED' || !action.lastModificationDate)\n ) || disableSaveDIButton\"\n (click)=\"toggleModal()\"\n #menuButton\n >\n > {{ '@hvy.action.create' | i18n }}\n </button>\n }\n</div>\n", dependencies: [{ kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }] }); }
1702
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: HvyServiceActionDisplayComponent, selector: "hvy-service-action-display", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"param-line -vertical\">\n <p>\n {{ '@hvy.procedure.action.service' | i18n }} :\n @if (urlFor(reference) && action.serviceExternalId) {\n <a class=\"a-di-link\" [href]=\"urlFor(reference)! + (reference | diRef)\" target=\"_blank\" rel=\"noopener noreferrer\"><b>{{ reference }}</b></a>\n } @else {\n <b>{{ reference }}</b>\n }\n {{ status }}\n </p>\n @if (!action.serviceExternalId && this.mode !== 'model') {\n <button\n class=\"a-link\"\n [disabled]=\"readonly ||\n (action.type === 'ASKED_SERVICE' &&\n (action.status === 'DONE' || action.status === 'OT_CLOSED' || !action.lastModificationDate)\n ) || disableSaveDIButton\"\n (click)=\"toggleModal()\"\n #menuButton\n >\n > {{ '@hvy.action.create' | i18n }}\n </button>\n }\n</div>\n", dependencies: [{ kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }, { kind: "pipe", type: DiRefPipe, name: "diRef" }] }); }
1672
1703
  }
1673
1704
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: HvyServiceActionDisplayComponent, decorators: [{
1674
1705
  type: Component,
1675
- args: [{ selector: 'hvy-service-action-display', template: "<div class=\"param-line -vertical\">\n <p>\n {{ '@hvy.procedure.action.service' | i18n }} :\n @if (diUrl() && action.serviceExternalId) {\n <a class=\"a-di-link\" [href]=\"diUrl()! + reference\" target=\"_blank\" rel=\"noopener noreferrer\"><b>{{ reference }}</b></a>\n } @else {\n <b>{{ reference }}</b>\n }\n {{ status }}\n </p>\n @if (!action.serviceExternalId && this.mode !== 'model') {\n <button\n class=\"a-link\"\n [disabled]=\"readonly ||\n (action.type === 'ASKED_SERVICE' &&\n (action.status === 'DONE' || action.status === 'OT_CLOSED' || !action.lastModificationDate)\n ) || disableSaveDIButton\"\n (click)=\"toggleModal()\"\n #menuButton\n >\n > {{ '@hvy.action.create' | i18n }}\n </button>\n }\n</div>\n" }]
1706
+ args: [{ selector: 'hvy-service-action-display', template: "<div class=\"param-line -vertical\">\n <p>\n {{ '@hvy.procedure.action.service' | i18n }} :\n @if (urlFor(reference) && action.serviceExternalId) {\n <a class=\"a-di-link\" [href]=\"urlFor(reference)! + (reference | diRef)\" target=\"_blank\" rel=\"noopener noreferrer\"><b>{{ reference }}</b></a>\n } @else {\n <b>{{ reference }}</b>\n }\n {{ status }}\n </p>\n @if (!action.serviceExternalId && this.mode !== 'model') {\n <button\n class=\"a-link\"\n [disabled]=\"readonly ||\n (action.type === 'ASKED_SERVICE' &&\n (action.status === 'DONE' || action.status === 'OT_CLOSED' || !action.lastModificationDate)\n ) || disableSaveDIButton\"\n (click)=\"toggleModal()\"\n #menuButton\n >\n > {{ '@hvy.action.create' | i18n }}\n </button>\n }\n</div>\n" }]
1676
1707
  }], ctorParameters: () => [{ type: i1$2.PryDialogService }, { type: i4.Overlay }, { type: ServiceService }, { type: i1$2.I18nPipe }, { type: i1$1.Store }], propDecorators: { menuButton: [{
1677
1708
  type: ViewChild,
1678
1709
  args: ['menuButton', { read: ElementRef }]
@@ -2784,6 +2815,7 @@ class EventDetailComponent extends SubscriptionnerDirective {
2784
2815
  event.status === 'IN_PROGRESS';
2785
2816
  }
2786
2817
  actionCommented($event) {
2818
+ this.modifiedProcedure.next(this.procedure ? [this.procedureModifications, this.procedure] : undefined);
2787
2819
  this.commented.next($event);
2788
2820
  }
2789
2821
  updateComment(event, comment) {
@@ -4328,6 +4360,7 @@ class PvyHypervisorModule {
4328
4360
  FormsModule,
4329
4361
  AsyncPipe,
4330
4362
  TruncatePipe,
4363
+ DiRefPipe,
4331
4364
  DatePipe,
4332
4365
  AsyncPipe,
4333
4366
  MatAutocompleteTrigger,
@@ -4435,6 +4468,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
4435
4468
  FormsModule,
4436
4469
  AsyncPipe,
4437
4470
  TruncatePipe,
4471
+ DiRefPipe,
4438
4472
  DatePipe,
4439
4473
  AsyncPipe,
4440
4474
  MatAutocompleteTrigger,