@provoly/hypervisor 1.7.6 → 1.7.8

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.
@@ -295,7 +295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
295
295
  AsyncPipe,
296
296
  PryI18nModule,
297
297
  AsyncPipe,
298
- PryI18nModule
298
+ PryI18nModule,
299
299
  ],
300
300
  exports: [...components],
301
301
  providers: [I18nPipe]
@@ -304,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
304
304
  type: Inject,
305
305
  args: [HYP_BASE_CONFIG]
306
306
  }] }, { type: i1.Store }, { type: i2.PryI18nService }] });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlwZXJ2aXNvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9oeXBlcnZpc29yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FB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Q3hELFdBQVcsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQzt3QkFDckQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxtQkFBbUIsQ0FBQzt3QkFDbkUsV0FBVyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQzt3QkFDN0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO3dCQUNsRyxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFVBQVU7d0JBQ1Ysa0JBQWtCO3dCQUNsQixRQUFRO3dCQUNSLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFFBQVE7d0JBQ1IsbUJBQW1CO3dCQUNuQixJQUFJO3dCQUNKLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFNBQVM7d0JBQ1Qsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUN0Qjs7MEJBVUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUsIFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgZXZlbnRGZWF0dXJlS2V5LCBldmVudFJlZHVjZXIgfSBmcm9tICcuL3N0b3JlL2V2ZW50L2V2ZW50LnJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnRFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9ldmVudC9ldmVudC5lZmZlY3RzJztcbmltcG9ydCB7IEV2ZW50RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9kZXRhaWwvZXZlbnQtZGV0YWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBoeXBlcnZpc29yUmVkdWNlciwgaHlwRmVhdHVyZUtleSB9IGZyb20gJy4vc3RvcmUvaHlwZXJ2aXNvci9oeXBlcnZpc29yLnJlZHVjZXInO1xuaW1wb3J0IHsgSHlwZXJ2aXNvckVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL2h5cGVydmlzb3IvaHlwZXJ2aXNvci5lZmZlY3RzJztcbmltcG9ydCB7IEhZUF9CQVNFX0NPTkZJRyB9IGZyb20gJy4vZ2VuZXJhbC9iYXNlLnRva2VuJztcbmltcG9ydCB7IEh5cGVydmlzb3JBY3Rpb25zIH0gZnJvbSAnLi9zdG9yZS9oeXBlcnZpc29yL2h5cGVydmlzb3IuYWN0aW9ucyc7XG5pbXBvcnQge0FzeW5jUGlwZSwgRGF0ZVBpcGUsIEpzb25QaXBlLCBLZXlWYWx1ZVBpcGUsIE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nU3R5bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBJMThuUGlwZSxcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5RGF0ZVBpY2tlck1vZHVsZSxcbiAgUHJ5STE4bk1vZHVsZSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeUljb25Nb2R1bGUsXG4gIFByeVNlbGVjdE1vZHVsZSxcbiAgUHJ5U2luY2VEYXRlTW9kdWxlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBlblRyYW5zbGF0aW9ucyB9IGZyb20gJy4vZ2VuZXJhbC9pMThuL2VuLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBmclRyYW5zbGF0aW9ucyB9IGZyb20gJy4vZ2VuZXJhbC9pMThuL2ZyLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBJY29uRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9pY29uLWRpc3BsYXkvaWNvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdmVudEljb25QaXBlIH0gZnJvbSAnLi9nZW5lcmFsL2ljb24tcGlwZS9ldmVudC1pY29uLnBpcGUnO1xuaW1wb3J0IHsgUHJ5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBFdmVudExpc3RDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2xpc3QvZXZlbnQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFdmVudFN1bW1hcnlMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC1zdW1tYXJ5L2xpc3QvZXZlbnQtc3VtbWFyeS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdmVudFN1bW1hcnlJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC1zdW1tYXJ5L2l0ZW0vZXZlbnQtc3VtbWFyeS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdmVudFN1bW1hcnlFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9ldmVudC1zdW1tYXJ5L2V2ZW50LXN1bW1hcnkuZWZmZWN0cyc7XG5pbXBvcnQgeyBldmVudFN1bW1hcnlGZWF0dXJlS2V5LCBldmVudFN1bW1hcnlSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9ldmVudC1zdW1tYXJ5L2V2ZW50LXN1bW1hcnkucmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudFN1bW1hcnlQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC1zdW1tYXJ5L3BhZ2UvZXZlbnQtc3VtbWFyeS1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JEYXRldGltZUxvY2FsUGlwZSB9IGZyb20gJy4vZ2VuZXJhbC9mb3ItZGF0ZXRpbWUtbG9jYWwtcGlwZS9mb3ItZGF0ZXRpbWUtbG9jYWwucGlwZSc7XG5pbXBvcnQgeyBTdGF0dXNEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3N0YXR1cy1kaXNwbGF5L3N0YXR1cy1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9ncmVzc0Rpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvZ3Jlc3MtZGlzcGxheS9wcm9ncmVzcy1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2x1bW5PcmRlckNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9jb2x1bW4tb3JkZXIvY29sdW1uLW9yZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdmVudEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2ZpbHRlcnMvb24vY2xpY2svZXZlbnQtZmlsdGVycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvZmlsdGVycy9kYXRlL2RhdGUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaG9pY2VGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2ZpbHRlcnMvY2hvaWNlL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2NlZHVyZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3Byb2NlZHVyZS9tb2RlbC1saXN0L3Byb2NlZHVyZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBwcm9jZWR1cmVGZWF0dXJlS2V5LCBwcm9jZWR1cmVSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9wcm9jZWR1cmUvcHJvY2VkdXJlLnJlZHVjZXInO1xuaW1wb3J0IHsgUHJvY2VkdXJlRWZmZWN0cyB9IGZyb20gJy4vc3RvcmUvcHJvY2VkdXJlL3Byb2NlZHVyZS5lZmZlY3RzJztcbmltcG9ydCB7IEV2ZW50Q29sdW1uT3JkZXJDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2xpc3QvZXZlbnQtY29sdW1uLW9yZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9jZWR1cmVDb2x1bW5PcmRlckNvbXBvbmVudCB9IGZyb20gJy4vcHJvY2VkdXJlL21vZGVsLWxpc3QvcHJvY2VkdXJlLWNvbHVtbi1vcmRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2VkdXJlQXNzb2NpYXRpb25Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvcHJvY2VkdXJlLWFzc29jaWF0aW9uLW1vZGFsL3Byb2NlZHVyZS1hc3NvY2lhdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvZmlsdGVycy90ZXh0L3RleHQtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbW1lZGlhdGVGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9maWx0ZXJzL29uL2ltbWVkaWF0ZS9pbW1lZGlhdGUtZmlsdGVycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2VkdXJlTW9kZWxEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL3Byb2NlZHVyZS9tb2RlbC1kZXRhaWwvcHJvY2VkdXJlLW1vZGVsLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2VkdXJlQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9wcm9jZWR1cmUtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5QWN0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5QWN0aW9uUGFyYW1ldGVyQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL2FjdGlvbi1wYXJhbWV0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eUJhc2VQYXJhbWV0ZXJBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvYmFzZS1wYXJhbWV0ZXItYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlPdGhlckFjdGlvblBhcmFtZXRlckNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9vdGhlci9vdGhlci1hY3Rpb24tcGFyYW1ldGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlPdGhlckFjdGlvbkRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvb3RoZXIvb3RoZXItYWN0aW9uLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eU5vUGFyYW1zQWN0aW9uRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9uby1wYXJhbS9uby1wYXJhbXMtYWN0aW9uLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eVBob25lQWN0aW9uUGFyYW1ldGVyQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL3Bob25lL3Bob25lLWFjdGlvbi1wYXJhbWV0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eVBob25lQWN0aW9uRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9waG9uZS9waG9uZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5RW1haWxBY3Rpb25EaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL2VtYWlsL2VtYWlsLWFjdGlvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlFbWFpbEFjdGlvblBhcmFtZXRlckNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9lbWFpbC9lbWFpbC1hY3Rpb24tcGFyYW1ldGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlTZXJ2aWNlQWN0aW9uUGFyYW1ldGVyQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL3NlcnZpY2Uvc2VydmljZS1hY3Rpb24tcGFyYW1ldGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlTZXJ2aWNlQWN0aW9uRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9zZXJ2aWNlL3NlcnZpY2UtYWN0aW9uLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlMb2NhbGVEYXRlVGltZSB9IGZyb20gJy4vZ2VuZXJhbC9kaXNwbGF5LWxvY2FsZS1kYXRldGltZS9kaXNwbGF5LWxvY2FsZS1kYXRldGltZS5waXBlJztcbmltcG9ydCB7IEh2eUNvbW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL2NvbW1lbnRzL2NvbW1lbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlDcmVhdGVTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL3NlcnZpY2UvY3JlYXRlLXNlcnZpY2UuY29tcG9uZW50JztcbmltcG9ydCB7IExhc3RFdmVudHNDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvbGFzdC1ldmVudHMvbGFzdC1ldmVudHMuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eUV2ZW50RGV0YWlsc1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2RldGFpbC9ldmVudC1kZXRhaWxzLXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eUV2ZW50QWRkRXZlbnRDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2RldGFpbC9hZGQtZXZlbnQvYWRkLWV2ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcnVuY2F0ZVBpcGUgfSBmcm9tICcuL2dlbmVyYWwvdHJ1bmNhdGUtcGlwZS90cnVuY2F0ZS5waXBlJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlLCBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLCBNYXRPcHRpb259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcblxuY29uc3QgY29tcG9uZW50cyA9IFtcbiAgRXZlbnREZXRhaWxDb21wb25lbnQsXG4gIEV2ZW50TGlzdENvbXBvbmVudCxcbiAgRXZlbnRDb2x1bW5PcmRlckNvbXBvbmVudCxcbiAgSWNvbkRpc3BsYXlDb21wb25lbnQsXG4gIEV2ZW50U3VtbWFyeUl0ZW1Db21wb25lbnQsXG4gIEV2ZW50U3VtbWFyeUxpc3RDb21wb25lbnQsXG4gIEV2ZW50U3VtbWFyeVBhZ2VDb21wb25lbnQsXG4gIEV2ZW50SWNvblBpcGUsXG4gIEZvckRhdGV0aW1lTG9jYWxQaXBlLFxuICBTdGF0dXNEaXNwbGF5Q29tcG9uZW50LFxuICBQcm9ncmVzc0Rpc3BsYXlDb21wb25lbnQsXG4gIENvbHVtbk9yZGVyQ29tcG9uZW50LFxuICBFdmVudEZpbHRlcnNDb21wb25lbnQsXG4gIERhdGVGaWx0ZXJDb21wb25lbnQsXG4gIFRleHRGaWx0ZXJDb21wb25lbnQsXG4gIENob2ljZUZpbHRlckNvbXBvbmVudCxcbiAgUHJvY2VkdXJlTGlzdENvbXBvbmVudCxcbiAgUHJvY2VkdXJlQ29sdW1uT3JkZXJDb21wb25lbnQsXG4gIFByb2NlZHVyZUFzc29jaWF0aW9uTW9kYWxDb21wb25lbnQsXG4gIFByb2NlZHVyZU1vZGVsRGV0YWlsQ29tcG9uZW50LFxuICBJbW1lZGlhdGVGaWx0ZXJzQ29tcG9uZW50LFxuICBIdnlBY3Rpb25NZW51Q29tcG9uZW50LFxuICBIdnlDcmVhdGVTZXJ2aWNlQ29tcG9uZW50LFxuICBIdnlBY3Rpb25QYXJhbWV0ZXJDb21wb25lbnQsXG4gIEh2eUJhc2VQYXJhbWV0ZXJBY3Rpb25Db21wb25lbnQsXG4gIEh2eU90aGVyQWN0aW9uUGFyYW1ldGVyQ29tcG9uZW50LFxuICBIdnlPdGhlckFjdGlvbkRpc3BsYXlDb21wb25lbnQsXG4gIEh2eU5vUGFyYW1zQWN0aW9uRGlzcGxheUNvbXBvbmVudCxcbiAgSHZ5UGhvbmVBY3Rpb25QYXJhbWV0ZXJDb21wb25lbnQsXG4gIEh2eVBob25lQWN0aW9uRGlzcGxheUNvbXBvbmVudCxcbiAgSHZ5RW1haWxBY3Rpb25EaXNwbGF5Q29tcG9uZW50LFxuICBIdnlFbWFpbEFjdGlvblBhcmFtZXRlckNvbXBvbmVudCxcbiAgSHZ5U2VydmljZUFjdGlvblBhcmFtZXRlckNvbXBvbmVudCxcbiAgSHZ5U2VydmljZUFjdGlvbkRpc3BsYXlDb21wb25lbnQsXG4gIERpc3BsYXlMb2NhbGVEYXRlVGltZSxcbiAgSHZ5Q29tbWVudHNDb21wb25lbnQsXG4gIExhc3RFdmVudHNDb21wb25lbnQsXG4gIEh2eUV2ZW50RGV0YWlsc1Rvb2x0aXBDb21wb25lbnQsXG4gIEh2eUV2ZW50QWRkRXZlbnRDb21wb25lbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLmNvbXBvbmVudHMsIFByb2NlZHVyZUFjdGlvbnNDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShoeXBGZWF0dXJlS2V5LCBoeXBlcnZpc29yUmVkdWNlciksXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShldmVudEZlYXR1cmVLZXksIGV2ZW50UmVkdWNlciksXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShldmVudFN1bW1hcnlGZWF0dXJlS2V5LCBldmVudFN1bW1hcnlSZWR1Y2VyKSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKHByb2NlZHVyZUZlYXR1cmVLZXksIHByb2NlZHVyZVJlZHVjZXIpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbRXZlbnRFZmZlY3RzLCBFdmVudFN1bW1hcnlFZmZlY3RzLCBQcm9jZWR1cmVFZmZlY3RzLCBIeXBlcnZpc29yRWZmZWN0c10pLFxuICAgIE5nRm9yT2YsXG4gICAgQXN5bmNQaXBlLFxuICAgIFByeUkxOG5Nb2R1bGUsXG4gICAgUHJ5Q29yZU1vZHVsZSxcbiAgICBOZ1N0eWxlLFxuICAgIFByeUNoZWNrYm94TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJvdXRlckxpbmssXG4gICAgUHJ5U2luY2VEYXRlTW9kdWxlLFxuICAgIERhdGVQaXBlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgS2V5VmFsdWVQaXBlLFxuICAgIFByeVNlbGVjdE1vZHVsZSxcbiAgICBKc29uUGlwZSxcbiAgICBQcnlEYXRlUGlja2VyTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgUHJ5Q29yZU1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBUcnVuY2F0ZVBpcGUsXG4gICAgRGF0ZVBpcGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXG4gICAgTWF0QXV0b2NvbXBsZXRlLFxuICAgIE1hdE9wdGlvbixcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgTmdDbGFzcyxcbiAgICBBc3luY1BpcGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgUHJ5STE4bk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbLi4uY29tcG9uZW50c10sXG4gIHByb3ZpZGVyczogW0kxOG5QaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBQdnlIeXBlcnZpc29yTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogeyB1cmw/OiBzdHJpbmcgfSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UHZ5SHlwZXJ2aXNvck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUHZ5SHlwZXJ2aXNvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSFlQX0JBU0VfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucyB9XVxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEhZUF9CQVNFX0NPTkZJRylcbiAgICBwcml2YXRlIGJhc2VDb25maWc6IHtcbiAgICAgIHVybDogc3RyaW5nO1xuICAgIH0sXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIGkxOG5TZXJ2aWNlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEh5cGVydmlzb3JBY3Rpb25zLnNldFVybCh7IHVybDogYmFzZUNvbmZpZy51cmwgfSkpO1xuICAgIHRoaXMuaTE4blNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZW4nLCAnQGh2eScsIGVuVHJhbnNsYXRpb25zKTtcbiAgICB0aGlzLmkxOG5TZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2ZyJywgJ0BodnknLCBmclRyYW5zbGF0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlwZXJ2aXNvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9oeXBlcnZpc29yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FB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QUN4RCxXQUFXLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUM7d0JBQ3JELFdBQVcsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsbUJBQW1CLENBQUM7d0JBQ25FLFdBQVcsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUM7d0JBQzdELGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQzt3QkFDbEcsT0FBTzt3QkFDUCxTQUFTO3dCQUNULGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixPQUFPO3dCQUNQLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsUUFBUTt3QkFDUixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixRQUFRO3dCQUNSLG1CQUFtQjt3QkFDbkIsSUFBSTt3QkFDSixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxTQUFTO3dCQUNULFlBQVk7d0JBQ1osUUFBUTt3QkFDUixTQUFTO3dCQUNULHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixTQUFTO3dCQUNULG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixTQUFTO3dCQUNULGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDdEI7OzBCQVVJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlLCBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGV2ZW50RmVhdHVyZUtleSwgZXZlbnRSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9ldmVudC9ldmVudC5yZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50RWZmZWN0cyB9IGZyb20gJy4vc3RvcmUvZXZlbnQvZXZlbnQuZWZmZWN0cyc7XG5pbXBvcnQgeyBFdmVudERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvZGV0YWlsL2V2ZW50LWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgaHlwZXJ2aXNvclJlZHVjZXIsIGh5cEZlYXR1cmVLZXkgfSBmcm9tICcuL3N0b3JlL2h5cGVydmlzb3IvaHlwZXJ2aXNvci5yZWR1Y2VyJztcbmltcG9ydCB7IEh5cGVydmlzb3JFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9oeXBlcnZpc29yL2h5cGVydmlzb3IuZWZmZWN0cyc7XG5pbXBvcnQgeyBIWVBfQkFTRV9DT05GSUcgfSBmcm9tICcuL2dlbmVyYWwvYmFzZS50b2tlbic7XG5pbXBvcnQgeyBIeXBlcnZpc29yQWN0aW9ucyB9IGZyb20gJy4vc3RvcmUvaHlwZXJ2aXNvci9oeXBlcnZpc29yLmFjdGlvbnMnO1xuaW1wb3J0IHtBc3luY1BpcGUsIERhdGVQaXBlLCBKc29uUGlwZSwgS2V5VmFsdWVQaXBlLCBOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmLCBOZ1N0eWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgSTE4blBpcGUsXG4gIFByeUNvcmVNb2R1bGUsXG4gIFByeURhdGVQaWNrZXJNb2R1bGUsXG4gIFByeUkxOG5Nb2R1bGUsXG4gIFByeUkxOG5TZXJ2aWNlLFxuICBQcnlJY29uTW9kdWxlLFxuICBQcnlTZWxlY3RNb2R1bGUsXG4gIFByeVNpbmNlRGF0ZU1vZHVsZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgZW5UcmFuc2xhdGlvbnMgfSBmcm9tICcuL2dlbmVyYWwvaTE4bi9lbi50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgZnJUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2dlbmVyYWwvaTE4bi9mci50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgSWNvbkRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvaWNvbi1kaXNwbGF5L2ljb24tZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRJY29uUGlwZSB9IGZyb20gJy4vZ2VuZXJhbC9pY29uLXBpcGUvZXZlbnQtaWNvbi5waXBlJztcbmltcG9ydCB7IFByeUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgRXZlbnRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9saXN0L2V2ZW50LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQtc3VtbWFyeS9saXN0L2V2ZW50LXN1bW1hcnktbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQtc3VtbWFyeS9pdGVtL2V2ZW50LXN1bW1hcnktaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5RWZmZWN0cyB9IGZyb20gJy4vc3RvcmUvZXZlbnQtc3VtbWFyeS9ldmVudC1zdW1tYXJ5LmVmZmVjdHMnO1xuaW1wb3J0IHsgZXZlbnRTdW1tYXJ5RmVhdHVyZUtleSwgZXZlbnRTdW1tYXJ5UmVkdWNlciB9IGZyb20gJy4vc3RvcmUvZXZlbnQtc3VtbWFyeS9ldmVudC1zdW1tYXJ5LnJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnRTdW1tYXJ5UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQtc3VtbWFyeS9wYWdlL2V2ZW50LXN1bW1hcnktcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9yRGF0ZXRpbWVMb2NhbFBpcGUgfSBmcm9tICcuL2dlbmVyYWwvZm9yLWRhdGV0aW1lLWxvY2FsLXBpcGUvZm9yLWRhdGV0aW1lLWxvY2FsLnBpcGUnO1xuaW1wb3J0IHsgU3RhdHVzRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9zdGF0dXMtZGlzcGxheS9zdGF0dXMtZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2dyZXNzLWRpc3BsYXkvcHJvZ3Jlc3MtZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uT3JkZXJDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvY29sdW1uLW9yZGVyL2NvbHVtbi1vcmRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9maWx0ZXJzL29uL2NsaWNrL2V2ZW50LWZpbHRlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2ZpbHRlcnMvZGF0ZS9kYXRlLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hvaWNlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9maWx0ZXJzL2Nob2ljZS9jaG9pY2UtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9jZWR1cmVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9jZWR1cmUvbW9kZWwtbGlzdC9wcm9jZWR1cmUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgcHJvY2VkdXJlRmVhdHVyZUtleSwgcHJvY2VkdXJlUmVkdWNlciB9IGZyb20gJy4vc3RvcmUvcHJvY2VkdXJlL3Byb2NlZHVyZS5yZWR1Y2VyJztcbmltcG9ydCB7IFByb2NlZHVyZUVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL3Byb2NlZHVyZS9wcm9jZWR1cmUuZWZmZWN0cyc7XG5pbXBvcnQgeyBFdmVudENvbHVtbk9yZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9saXN0L2V2ZW50LWNvbHVtbi1vcmRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2VkdXJlQ29sdW1uT3JkZXJDb21wb25lbnQgfSBmcm9tICcuL3Byb2NlZHVyZS9tb2RlbC1saXN0L3Byb2NlZHVyZS1jb2x1bW4tb3JkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2NlZHVyZUFzc29jaWF0aW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L3Byb2NlZHVyZS1hc3NvY2lhdGlvbi1tb2RhbC9wcm9jZWR1cmUtYXNzb2NpYXRpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2V2ZW50L2ZpbHRlcnMvdGV4dC90ZXh0LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1tZWRpYXRlRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQvZmlsdGVycy9vbi9pbW1lZGlhdGUvaW1tZWRpYXRlLWZpbHRlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2NlZHVyZU1vZGVsRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9jZWR1cmUvbW9kZWwtZGV0YWlsL3Byb2NlZHVyZS1tb2RlbC1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2NlZHVyZUFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvcHJvY2VkdXJlLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eUFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eUFjdGlvblBhcmFtZXRlckNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9hY3Rpb24tcGFyYW1ldGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlCYXNlUGFyYW1ldGVyQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL2Jhc2UtcGFyYW1ldGVyLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5T3RoZXJBY3Rpb25QYXJhbWV0ZXJDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvb3RoZXIvb3RoZXItYWN0aW9uLXBhcmFtZXRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5T3RoZXJBY3Rpb25EaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL290aGVyL290aGVyLWFjdGlvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlOb1BhcmFtc0FjdGlvbkRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvbm8tcGFyYW0vbm8tcGFyYW1zLWFjdGlvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlQaG9uZUFjdGlvblBhcmFtZXRlckNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9waG9uZS9waG9uZS1hY3Rpb24tcGFyYW1ldGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlQaG9uZUFjdGlvbkRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvcGhvbmUvcGhvbmUtYWN0aW9uLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IEh2eUVtYWlsQWN0aW9uRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9lbWFpbC9lbWFpbC1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5RW1haWxBY3Rpb25QYXJhbWV0ZXJDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvZW1haWwvZW1haWwtYWN0aW9uLXBhcmFtZXRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5U2VydmljZUFjdGlvblBhcmFtZXRlckNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9zZXJ2aWNlL3NlcnZpY2UtYWN0aW9uLXBhcmFtZXRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5U2VydmljZUFjdGlvbkRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvc2VydmljZS9zZXJ2aWNlLWFjdGlvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5TG9jYWxlRGF0ZVRpbWUgfSBmcm9tICcuL2dlbmVyYWwvZGlzcGxheS1sb2NhbGUtZGF0ZXRpbWUvZGlzcGxheS1sb2NhbGUtZGF0ZXRpbWUucGlwZSc7XG5pbXBvcnQgeyBIdnlDb21tZW50c0NvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9jb21tZW50cy9jb21tZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHZ5Q3JlYXRlU2VydmljZUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9zZXJ2aWNlL2NyZWF0ZS1zZXJ2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXN0RXZlbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL2xhc3QtZXZlbnRzL2xhc3QtZXZlbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlFdmVudERldGFpbHNUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9kZXRhaWwvZXZlbnQtZGV0YWlscy10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdnlFdmVudEFkZEV2ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9ldmVudC9kZXRhaWwvYWRkLWV2ZW50L2FkZC1ldmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJ1bmNhdGVQaXBlIH0gZnJvbSAnLi9nZW5lcmFsL3RydW5jYXRlLXBpcGUvdHJ1bmNhdGUucGlwZSc7XG5pbXBvcnQge1xuICAgIE1hdEF1dG9jb21wbGV0ZSxcbiAgICBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLFxuICAgIE1hdE9wdGlvblxufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlXCI7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIEV2ZW50RGV0YWlsQ29tcG9uZW50LFxuICBFdmVudExpc3RDb21wb25lbnQsXG4gIEV2ZW50Q29sdW1uT3JkZXJDb21wb25lbnQsXG4gIEljb25EaXNwbGF5Q29tcG9uZW50LFxuICBFdmVudFN1bW1hcnlJdGVtQ29tcG9uZW50LFxuICBFdmVudFN1bW1hcnlMaXN0Q29tcG9uZW50LFxuICBFdmVudFN1bW1hcnlQYWdlQ29tcG9uZW50LFxuICBFdmVudEljb25QaXBlLFxuICBGb3JEYXRldGltZUxvY2FsUGlwZSxcbiAgU3RhdHVzRGlzcGxheUNvbXBvbmVudCxcbiAgUHJvZ3Jlc3NEaXNwbGF5Q29tcG9uZW50LFxuICBDb2x1bW5PcmRlckNvbXBvbmVudCxcbiAgRXZlbnRGaWx0ZXJzQ29tcG9uZW50LFxuICBEYXRlRmlsdGVyQ29tcG9uZW50LFxuICBUZXh0RmlsdGVyQ29tcG9uZW50LFxuICBDaG9pY2VGaWx0ZXJDb21wb25lbnQsXG4gIFByb2NlZHVyZUxpc3RDb21wb25lbnQsXG4gIFByb2NlZHVyZUNvbHVtbk9yZGVyQ29tcG9uZW50LFxuICBQcm9jZWR1cmVBc3NvY2lhdGlvbk1vZGFsQ29tcG9uZW50LFxuICBQcm9jZWR1cmVNb2RlbERldGFpbENvbXBvbmVudCxcbiAgSW1tZWRpYXRlRmlsdGVyc0NvbXBvbmVudCxcbiAgSHZ5QWN0aW9uTWVudUNvbXBvbmVudCxcbiAgSHZ5Q3JlYXRlU2VydmljZUNvbXBvbmVudCxcbiAgSHZ5QWN0aW9uUGFyYW1ldGVyQ29tcG9uZW50LFxuICBIdnlCYXNlUGFyYW1ldGVyQWN0aW9uQ29tcG9uZW50LFxuICBIdnlPdGhlckFjdGlvblBhcmFtZXRlckNvbXBvbmVudCxcbiAgSHZ5T3RoZXJBY3Rpb25EaXNwbGF5Q29tcG9uZW50LFxuICBIdnlOb1BhcmFtc0FjdGlvbkRpc3BsYXlDb21wb25lbnQsXG4gIEh2eVBob25lQWN0aW9uUGFyYW1ldGVyQ29tcG9uZW50LFxuICBIdnlQaG9uZUFjdGlvbkRpc3BsYXlDb21wb25lbnQsXG4gIEh2eUVtYWlsQWN0aW9uRGlzcGxheUNvbXBvbmVudCxcbiAgSHZ5RW1haWxBY3Rpb25QYXJhbWV0ZXJDb21wb25lbnQsXG4gIEh2eVNlcnZpY2VBY3Rpb25QYXJhbWV0ZXJDb21wb25lbnQsXG4gIEh2eVNlcnZpY2VBY3Rpb25EaXNwbGF5Q29tcG9uZW50LFxuICBEaXNwbGF5TG9jYWxlRGF0ZVRpbWUsXG4gIEh2eUNvbW1lbnRzQ29tcG9uZW50LFxuICBMYXN0RXZlbnRzQ29tcG9uZW50LFxuICBIdnlFdmVudERldGFpbHNUb29sdGlwQ29tcG9uZW50LFxuICBIdnlFdmVudEFkZEV2ZW50Q29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzLCBQcm9jZWR1cmVBY3Rpb25zQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoaHlwRmVhdHVyZUtleSwgaHlwZXJ2aXNvclJlZHVjZXIpLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoZXZlbnRGZWF0dXJlS2V5LCBldmVudFJlZHVjZXIpLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoZXZlbnRTdW1tYXJ5RmVhdHVyZUtleSwgZXZlbnRTdW1tYXJ5UmVkdWNlciksXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShwcm9jZWR1cmVGZWF0dXJlS2V5LCBwcm9jZWR1cmVSZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW0V2ZW50RWZmZWN0cywgRXZlbnRTdW1tYXJ5RWZmZWN0cywgUHJvY2VkdXJlRWZmZWN0cywgSHlwZXJ2aXNvckVmZmVjdHNdKSxcbiAgICBOZ0Zvck9mLFxuICAgIEFzeW5jUGlwZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgTmdTdHlsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIFByeVNpbmNlRGF0ZU1vZHVsZSxcbiAgICBEYXRlUGlwZSxcbiAgICBQcnlJY29uTW9kdWxlLFxuICAgIEtleVZhbHVlUGlwZSxcbiAgICBQcnlTZWxlY3RNb2R1bGUsXG4gICAgSnNvblBpcGUsXG4gICAgUHJ5RGF0ZVBpY2tlck1vZHVsZSxcbiAgICBOZ0lmLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgVHJ1bmNhdGVQaXBlLFxuICAgIERhdGVQaXBlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLFxuICAgIE1hdEF1dG9jb21wbGV0ZSxcbiAgICBNYXRPcHRpb24sXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBQcnlJY29uTW9kdWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgQXN5bmNQaXBlLFxuICAgIFByeUkxOG5Nb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIFByeUkxOG5Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgcHJvdmlkZXJzOiBbSTE4blBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIFB2eUh5cGVydmlzb3JNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiB7IHVybD86IHN0cmluZyB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxQdnlIeXBlcnZpc29yTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQdnlIeXBlcnZpc29yTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBIWVBfQkFTRV9DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zIH1dXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoSFlQX0JBU0VfQ09ORklHKVxuICAgIHByaXZhdGUgYmFzZUNvbmZpZzoge1xuICAgICAgdXJsOiBzdHJpbmc7XG4gICAgfSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgaTE4blNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goSHlwZXJ2aXNvckFjdGlvbnMuc2V0VXJsKHsgdXJsOiBiYXNlQ29uZmlnLnVybCB9KSk7XG4gICAgdGhpcy5pMThuU2VydmljZS5hZGRMYW5nT2JqZWN0KCdlbicsICdAaHZ5JywgZW5UcmFuc2xhdGlvbnMpO1xuICAgIHRoaXMuaTE4blNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAnQGh2eScsIGZyVHJhbnNsYXRpb25zKTtcbiAgfVxufVxuIl19
@@ -2216,7 +2216,7 @@ class EventDetailComponent extends SubscriptionnerDirective {
2216
2216
  this.eventModifications[index].subCategory = 'NONE';
2217
2217
  }
2218
2218
  }
2219
- if (prop === 'domain' && this.equipControls.at(index).value?.domain !== $event) {
2219
+ if (prop === 'domain' && this.equipControls.at(index).value?.domain !== $event && !!$event) {
2220
2220
  this.equipControls.at(index).setValue('');
2221
2221
  this.manageEquipment(index);
2222
2222
  }
@@ -2454,12 +2454,27 @@ class EventDetailComponent extends SubscriptionnerDirective {
2454
2454
  }
2455
2455
  openAutocomplete(index) {
2456
2456
  this.openedAutocomplete[index] = !this.openedAutocomplete[index];
2457
+ const b = document.getElementById('provoly-event-detail-container');
2458
+ if (b) {
2459
+ b.style.overflow = "hidden";
2460
+ }
2457
2461
  }
2458
2462
  closeAutocomplete(index) {
2459
2463
  this.openedAutocomplete[index] = !this.openedAutocomplete[index];
2464
+ const b = document.getElementById('provoly-event-detail-container');
2465
+ if (b) {
2466
+ b.style.overflow = "auto";
2467
+ }
2460
2468
  this.manageEquipment(index);
2461
2469
  this._outputModifications();
2462
2470
  }
2471
+ openOrCloseAutocomplete(event, trigger, index) {
2472
+ const getEvent = this.events.at(index);
2473
+ if (getEvent && getEvent.status !== 'DONE') {
2474
+ event.stopPropagation();
2475
+ this.openedAutocomplete[index] ? trigger.closePanel() : trigger.openPanel();
2476
+ }
2477
+ }
2463
2478
  getDataForTooltip($event, index) {
2464
2479
  this.equipmentEventsForTooltip[index] = {};
2465
2480
  if ($event) {
@@ -2573,11 +2588,11 @@ class EventDetailComponent extends SubscriptionnerDirective {
2573
2588
  this.tooltipRef = undefined;
2574
2589
  }
2575
2590
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventDetailComponent, deps: [{ token: EquipmentService }, { token: i1$1.Store }, { token: i2$1.Overlay }, { token: i0.ViewContainerRef }, { token: i1$2.PryI18nService }, { token: i1$2.PryDialogService }, { token: HypCommentsService }, { token: EventService }, { token: i1$4.Actions }, { token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
2576
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: EventDetailComponent, selector: "hvy-event-detail", inputs: { placesChoices: "placesChoices", title: "title", equipmentFromMap: "equipmentFromMap", readonly: "readonly", readonlyProcedure: "readonlyProcedure", enableEditActions: "enableEditActions", readOnlyComment: "readOnlyComment", me: "me", events: "events", procedure: "procedure", cancelModifications: "cancelModifications" }, outputs: { modifiedEvents: "modifiedEvents", modifiedProcedure: "modifiedProcedure", eventErrors: "eventErrors", addedEvent: "addedEvent", comfirmDialogOpened: "comfirmDialogOpened", commented: "commented" }, viewQueries: [{ propertyName: "confirmDialog", first: true, predicate: ["confirmDialog"], descendants: true, read: TemplateRef }, { propertyName: "detailHoverIcon", predicate: ["detailHoverIcon"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-events-detail\">\n <div class=\"o-hvy-events-detail__header\">\n <div class=\"o-hvy-events-detail__header__split\">\n <h1>{{ title ?? '@hvy.event.detail' | i18n }}</h1>\n @if (procedure && canCloseSome) {\n <button class=\"add-button\" [disabled]=\"readonly\" (click)=\"addOneEvent()\">\n <pry-icon iconSvg=\"add\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n }\n @if (events.length > 1) {\n @if (canCloseSome && !readonly) {\n <button class=\"a-btn a-btn--secondary -fix-right\" [disabled]=\"!canCloseSome\" (click)=\"closeAll()\">\n {{ (canCloseSome ? '@hvy.event.log.event.close' : '@hvy.event.log.event.closed') | i18n }}\n </button>\n }\n @if (!canCloseSome && closeComment && closeComment.length > 0) {\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"closeComment\" data-tooltip-position=\"right\">\n <pry-icon iconSvg=\"i\" [height]=\"18\" [width]=\"18\">i</pry-icon>\n </div>\n }\n }\n </div>\n <div class=\"o-hvy-events-detail__header__split\">\n @if (procedure && !readonly) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openDeleteModal()\" [disabled]=\"readonlyProcedure\">\n {{ '@hvy.event.log.procedure.delete' | i18n }}\n </button>\n }\n </div>\n </div>\n <div class=\"o-hvy-events-detail__container\">\n <div class=\"o-hvy-events-detail__container__scrollable\">\n <div class=\"o-hvy-events-detail__events\">\n @for (event of events; track event.id; let idx = $index) {\n <div class=\"o-hvy-events-detail__events__event\">\n <div class=\"o-hvy-events-detail__events__event__header\">\n <pry-icon\n iconSvg=\"arrow_down_rounded\"\n [class.-rotated]=\"opened[idx]\"\n class=\"-hand\"\n (click)=\"toggle(idx)\"\n [width]=\"10\"\n [height]=\"10\"\n ></pry-icon>\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <h2>{{ event.name }}</h2>\n <div class=\"o-hvy-events-detail__events__event__header__comment\">\n @if (event.commentCount > 0) {\n <span>{{\n (event.commentCount > 1 ? '@hvy.event.comment.heads' : '@hvy.event.comment.head')\n | i18n: { nb: event.commentCount }\n }}</span>\n }\n </div>\n <hvy-status-display\n [item]=\"event\"\n [modifiable]=\"event.status !== 'DONE'\"\n [readonly]=\"readonly\"\n (modified)=\"changeStatus($event, event)\"\n ></hvy-status-display>\n </div>\n <div class=\"o-hvy-events-detail__events__event__content\">\n @if (!opened[idx]) {\n <div>\n {{ '@hvy.event.log.event.category' | i18n }} : {{ '@hvy.event.category.' + event.category | i18n }}\n </div>\n <div>{{ '@hvy.event.log.event.description' | i18n }} : {{ event.description }}</div>\n } @else {\n @if (access(event); as accessValue) {\n <div class=\"o-hvy-events-detail__events__event__content__header\">\n <h3>{{ '@hvy.event.log.event.detail' | i18n }}</h3>\n <span class=\"required\">{{ '@hvy.event.log.event.mandatory' | i18n }}</span>\n </div>\n <table>\n <tbody>\n <!--identifiant-->\n @if (event.id > 0) {\n <tr>\n <td>{{ '@hvy.event.log.event.id' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"padId.fn(event.id)\" [readonly]=\"true\" />\n </td>\n <td></td>\n </tr>\n }\n <!--nom-->\n <tr>\n <td>{{ '@hvy.event.log.event.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('name', idx)\"\n [value]=\"event.name\"\n (change)=\"modifyEvent(idx, 'name', $event)\"\n [readonly]=\"accessValue.name\"\n [maxLength]=\"50\"\n />\n </td>\n <td></td>\n </tr>\n <!--categorie-->\n <tr>\n <td>{{ '@hvy.event.log.event.category' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.category\"\n [items]=\"categories(event)\"\n [class.-error]=\"hasError('category', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'category', $event)\"\n i18nPrefix=\"@hvy.event.category.\"\n [disabled]=\"accessValue.category\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--sous categorie-->\n @if (event.category === 'ANOMALY') {\n <tr>\n <td>{{ '@hvy.event.subCategory.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.subCategory\"\n [items]=\"subCategories\"\n [class.-error]=\"hasError('subCategory', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'subCategory', $event)\"\n i18nPrefix=\"@hvy.event.subCategory.\"\n [disabled]=\"accessValue.subCategory\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n }\n <!--criticite-->\n <tr>\n <td>{{ '@hvy.event.criticality.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.criticality\"\n [items]=\"criticalities\"\n [class.-error]=\"hasError('criticality', idx)\"\n i18nPrefix=\"@hvy.event.criticality.\"\n [disabled]=\"accessValue.criticality\"\n (ngModelChange)=\"modifyEvent(idx, 'criticality', $event)\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--metier-->\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"DOMAINS\"\n [ngModel]=\"event.domain\"\n i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'domain', $event)\"\n [disabled]=\"accessValue.domain\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--equipement-->\n <tr>\n <td>{{ '@hvy.event.equipment' | i18n }} :</td>\n <td class=\"td-autocomplete\">\n <input type=\"text\" class=\"input-autocomplete\"\n [placeholder]=\"'@hvy.event.equipmentPlaceholder' | i18n\"\n [matAutocomplete]=\"auto\"\n [formControl]=\"getEquipControl(idx)\"\n [ngClass]=\"{'equipment-disabled': event.status === 'DONE'}\"\n [class.-error]=\"hasError('equipment', idx)\"/>\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"displayEquipment.bind(this)\"\n (opened)=\"openAutocomplete(idx)\"\n (closed)=\"closeAutocomplete(idx)\"\n >\n @for (equipment of equipments$[idx] | async; track equipment) {\n <mat-option [value]=\"equipment\">\n {{equipment.name}} - {{'@hvy.event.family.' + equipment.family | i18n}}\n </mat-option>\n }\n </mat-autocomplete>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"'chevron_bottom'\"\n [hidden]=\"openedAutocomplete[idx]\"\n [width]=\"10\"\n [height]=\"16\"\n ></pry-icon>\n </td>\n <td>\n @if (selectedEquipment[idx]) {\n <pry-icon\n iconSvg=\"i\"\n class=\"-hand\"\n #detailHoverIcon\n (click)=\"toggleDetailsTooltip(idx)\"\n [width]=\"18\"\n [height]=\"18\"\n ></pry-icon>\n }\n </td>\n </tr>\n <!--entite-->\n <tr>\n <td>{{ '@hvy.event.equipmentEntity' | i18n }} :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('equipment', idx)\"\n [value]=\"\n (event.equipment?.entity ? '@hvy.event.entity.' + event.equipment?.entity : '') | i18n\n \"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--adresse-->\n <tr>\n <td>{{ '@hvy.event.log.event.address' | i18n }} :</td>\n <td>\n <textarea\n [ngModel]=\"event.address\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('address', idx)\"\n [readonly]=\"accessValue.address\"\n (ngModelChange)=\"modifyEvent(idx, 'address', $event)\"\n [maxLength]=\"256\"\n [disabled]=\"adressDisabled[idx] || event.status === 'DONE'\"\n ></textarea>\n </td>\n <td></td>\n </tr>\n <!--ville-->\n <tr>\n <td>{{ '@hvy.event.district' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"placesChoices\"\n [ngModel]=\"event.district\"\n [bindValue]=\"'key'\"\n bindLabel=\"display\"\n i18nPrefix=\"@hvy.event.places.\"\n (ngModelChange)=\"modifyEvent(idx, 'district', $event)\"\n [disabled]=\"adressDisabled[idx] || event.status === 'DONE'\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--evenement parent-->\n <tr>\n <td>{{ '@hvy.event.parentEvent.name' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"events$ | async\"\n bindLabel=\"displayName\"\n [ngModel]=\"eventSelectValue[idx]\"\n (ngModelChange)=\"selectedParentChange($event, idx)\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n [placeholder]=\"'@hvy.event.parentEvent.placeholder' | i18n\"\n id=\"parent\"\n [template]=\"templateParent\"\n [disabled]=\"accessValue.parent\"\n [class.-error]=\"hasError('parent', idx)\"\n class=\"o-hvy-events-detail__events__event__content__equipment\"\n ></pry-select>\n <ng-template #templateParent let-item=\"item\">\n <div class=\"u-display-flex -column\">\n <span [innerHTML]=\"item.html\"></span>\n </div>\n </ng-template>\n </td>\n <td></td>\n </tr>\n <!--description-->\n <tr>\n <td>{{ '@hvy.event.log.event.description' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <textarea\n [ngModel]=\"event.description\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('description', idx)\"\n [readonly]=\"accessValue.description\"\n (ngModelChange)=\"modifyEvent(idx, 'description', $event)\"\n [maxLength]=\"256\"\n ></textarea>\n </td>\n <td></td>\n </tr>\n <!--date debut-->\n <tr>\n <td>\n {{ '@hvy.event.startDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n :\n </td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.startDate | forDateTimeLocal\"\n [class.-error]=\"hasError('startDate', idx)\"\n [readonly]=\"accessValue.startDate\"\n (change)=\"modifyEvent(idx, 'startDate', $event)\"\n />\n </td>\n <td></td>\n </tr>\n <!--date fin-->\n <tr>\n <td>\n {{ '@hvy.event.endDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n :\n </td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.endDate | forDateTimeLocal\"\n [class.-error]=\"hasError('endDate', idx)\"\n [readonly]=\"accessValue.endDate\"\n (change)=\"modifyEvent(idx, 'endDate', $event)\"\n />\n @if (hasError('endDate', idx) && event.endDate && event.startDate) {\n <span class=\"a-form-field -error\">{{ '@hvy.event.errorDate' | i18n }}</span>\n }\n </td>\n <td></td>\n </tr>\n <!--source-->\n <tr>\n <td>{{ '@hvy.event.source' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [value]=\"event.externalSourceRef ?? ('@hvy.event.hypervisor' | i18n)\"\n [class.-error]=\"hasError('source', idx)\"\n [readonly]=\"accessValue.source\"\n (change)=\"modifyEvent(idx, 'source', $event)\"\n />\n </td>\n <td></td>\n </tr>\n <!--ref\u00E9rence externe-->\n @if (event.externalSourceRef !== 'Hyperviseur') {\n <tr>\n <td>{{ '@hvy.event.externalId' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [value]=\"event.externalId ?? '-'\"\n [readonly]=\"true\"\n />\n </td>\n <td></td>\n </tr>\n }\n <!--createur-->\n <tr>\n <td>{{ '@hvy.event.creator' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"event.creator\" [readonly]=\"true\" />\n </td>\n <td></td>\n </tr>\n <!--date creation-->\n <tr>\n <td>{{ '@hvy.event.creationDate' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.creationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--date modification-->\n <tr>\n <td>{{ '@hvy.event.lastModificationDate' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.lastModificationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--date cloture-->\n <tr>\n <td>{{ '@hvy.event.closeDate' | i18n }} :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.closeDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n </tbody>\n </table>\n @if (event.id !== -1) {\n <hvy-comments\n [lastComment]=\"event.lastComment\"\n [commentCount]=\"event.commentCount\"\n (commented)=\"updateComment(event, $event)\"\n [readonly]=\"readonly\"\n [type]=\"'events'\"\n [me]=\"me?.sub\"\n [objectId]=\"event.id\"\n ></hvy-comments>\n }\n }\n }\n </div>\n </div>\n }\n </div>\n <div class=\"o-hvy-events-detail__procedure\">\n <div class=\"o-hvy-events-detail__procedure__header\">\n <h2>\n {{ (events.length === 1 ? '@hvy.event.log.procedure.name1' : '@hvy.event.log.procedure.name') | i18n }}\n </h2>\n </div>\n @if (procedure) {\n <div class=\"o-hvy-events-detail__procedure__description\">\n <p>\n <span>{{ procedure.name }}&nbsp;:</span>\n {{ procedure.description }}\n </p>\n </div>\n <div class=\"o-hvy-events-detail__procedure__progress\">\n <p>{{ '@hvy.event.log.procedure.progress' | i18n }}</p>\n <hvy-progress-display [progress]=\"calculatedProgress\"></hvy-progress-display>\n </div>\n <hvy-procedure-actions\n [procedureModificationsActions]=\"procedureModifications?.actions\"\n [initialActions] = this._procedure?.actions\n [readonly]=\"readonlyProcedure || readonly\"\n [readOnlyComment]=\"readOnlyComment\"\n [disableSaveDIButton]=\"isEventModified()\"\n [enableEditActions]=\"enableEditActions\"\n [actions]=\"procedure.actions\"\n (modified)=\"modifiedActions($event)\"\n (refreshActions)=\"refreshActions($event)\"\n [me]=\"me?.sub\"\n [events]=\"this.events\"\n (commented)=\"actionCommented($event)\"\n ></hvy-procedure-actions>\n } @else {\n @if (!readonly) {\n <button class=\"a-btn a-btn--secondary\" [disabled]=\"!canAssociateProcedure\" (click)=\"openAssociationModal()\">\n {{ '@hvy.action.associate' | i18n }}\n </button>\n } @else {\n <span class=\"o-hvy-events-detail__procedure__empty\">{{ '@hvy.event.log.procedure.none' | i18n }}</span>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #confirmDialog>\n <div\n class=\"o-hvy-close-confirm__dialog\"\n aria-labelledby=\"confirm\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <h2>\n {{\n (changeStatusContext.events.length === 1 ? '@hvy.event.close.oneTitle' : '@hvy.event.close.multiTitle') | i18n\n }}\n </h2>\n <p>{{ (changeStatusContext.events.length === 1 ? '@hvy.event.close.one' : '@hvy.event.close.multi') | i18n }}</p>\n <ul>\n @for (event of changeStatusContext.events; track event.id) {\n <li>{{ event.name }}</li>\n }\n </ul>\n <p class=\"o-hvy-close-confirm__dialog__comment-title\">\n {{ '@hvy.event.close.comment' | i18n }}<span class=\"required\">*</span> :\n </p>\n <div class=\"o-hvy-close-confirm__dialog__comment\">\n <textarea [(ngModel)]=\"changeStatusContext.comment\" class=\"a-form-field\" [maxLength]=\"255\"></textarea>\n </div>\n <div class=\"o-hvy-close-confirm__dialog__actions\">\n <button class=\"a-btn a-btn--primary\" (click)=\"confirmedClose()\" [disabled]=\"confirmDisabled()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"toggleConfirm()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i1$2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "directive", type: i9.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i9.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: ProgressDisplayComponent, selector: "hvy-progress-display", inputs: ["progress"] }, { kind: "component", type: HvyCommentsComponent, selector: "hvy-comments", inputs: ["readonly", "me", "type", "objectId", "displayEmpty", "commentCount", "lastComment", "trigger"], outputs: ["commented"] }, { kind: "component", type: ProcedureActionsComponent, selector: "hvy-procedure-actions", inputs: ["mode", "me", "readonly", "readOnlyComment", "enableEditActions", "events", "disableSaveDIButton", "initialActions", "procedureModificationsActions", "actions"], outputs: ["modified", "commented", "refreshActions"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }, { kind: "pipe", type: ForDatetimeLocalPipe, name: "forDateTimeLocal" }] }); }
2591
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: EventDetailComponent, selector: "hvy-event-detail", inputs: { placesChoices: "placesChoices", title: "title", equipmentFromMap: "equipmentFromMap", readonly: "readonly", readonlyProcedure: "readonlyProcedure", enableEditActions: "enableEditActions", readOnlyComment: "readOnlyComment", me: "me", events: "events", procedure: "procedure", cancelModifications: "cancelModifications" }, outputs: { modifiedEvents: "modifiedEvents", modifiedProcedure: "modifiedProcedure", eventErrors: "eventErrors", addedEvent: "addedEvent", comfirmDialogOpened: "comfirmDialogOpened", commented: "commented" }, viewQueries: [{ propertyName: "confirmDialog", first: true, predicate: ["confirmDialog"], descendants: true, read: TemplateRef }, { propertyName: "detailHoverIcon", predicate: ["detailHoverIcon"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-events-detail\">\n <div class=\"o-hvy-events-detail__header\">\n <div class=\"o-hvy-events-detail__header__split\">\n <h1>{{ title ?? '@hvy.event.detail' | i18n }}</h1>\n @if (procedure && canCloseSome) {\n <button class=\"add-button\" [disabled]=\"readonly\" (click)=\"addOneEvent()\">\n <pry-icon iconSvg=\"add\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n }\n @if (events.length > 1) {\n @if (canCloseSome && !readonly) {\n <button class=\"a-btn a-btn--secondary -fix-right\" [disabled]=\"!canCloseSome\" (click)=\"closeAll()\">\n {{ (canCloseSome ? '@hvy.event.log.event.close' : '@hvy.event.log.event.closed') | i18n }}\n </button>\n }\n @if (!canCloseSome && closeComment && closeComment.length > 0) {\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"closeComment\" data-tooltip-position=\"right\">\n <pry-icon iconSvg=\"i\" [height]=\"18\" [width]=\"18\">i</pry-icon>\n </div>\n }\n }\n </div>\n <div class=\"o-hvy-events-detail__header__split\">\n @if (procedure && !readonly) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openDeleteModal()\" [disabled]=\"readonlyProcedure\">\n {{ '@hvy.event.log.procedure.delete' | i18n }}\n </button>\n }\n </div>\n </div>\n <div class=\"o-hvy-events-detail__container\" id=\"provoly-event-detail-container\">\n <div class=\"o-hvy-events-detail__container__scrollable\">\n <div class=\"o-hvy-events-detail__events\">\n @for (event of events; track event.id; let idx = $index) {\n <div class=\"o-hvy-events-detail__events__event\">\n <div class=\"o-hvy-events-detail__events__event__header\">\n <pry-icon\n iconSvg=\"arrow_down_rounded\"\n [class.-rotated]=\"opened[idx]\"\n class=\"-hand\"\n (click)=\"toggle(idx)\"\n [width]=\"10\"\n [height]=\"10\"\n ></pry-icon>\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <h2>{{ event.name }}</h2>\n <div class=\"o-hvy-events-detail__events__event__header__comment\">\n @if (event.commentCount > 0) {\n <span>{{\n (event.commentCount > 1 ? '@hvy.event.comment.heads' : '@hvy.event.comment.head')\n | i18n: { nb: event.commentCount }\n }}</span>\n }\n </div>\n <hvy-status-display\n [item]=\"event\"\n [modifiable]=\"event.status !== 'DONE'\"\n [readonly]=\"readonly\"\n (modified)=\"changeStatus($event, event)\"\n ></hvy-status-display>\n </div>\n <div class=\"o-hvy-events-detail__events__event__content\">\n @if (!opened[idx]) {\n <div>\n {{ '@hvy.event.log.event.category' | i18n }} : {{ '@hvy.event.category.' + event.category | i18n }}\n </div>\n <div>{{ '@hvy.event.log.event.description' | i18n }} : {{ event.description }}</div>\n } @else {\n @if (access(event); as accessValue) {\n <div class=\"o-hvy-events-detail__events__event__content__header\">\n <h3>{{ '@hvy.event.log.event.detail' | i18n }}</h3>\n <span class=\"required\">{{ '@hvy.event.log.event.mandatory' | i18n }}</span>\n </div>\n <table>\n <tbody>\n <!--identifiant-->\n @if (event.id > 0) {\n <tr>\n <td>{{ '@hvy.event.log.event.id' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"padId.fn(event.id)\" [readonly]=\"true\" />\n </td>\n <td></td>\n </tr>\n }\n <!--nom-->\n <tr>\n <td>{{ '@hvy.event.log.event.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('name', idx)\"\n [value]=\"event.name\"\n (change)=\"modifyEvent(idx, 'name', $event)\"\n [readonly]=\"accessValue.name\"\n [maxLength]=\"50\"\n />\n </td>\n <td></td>\n </tr>\n <!--categorie-->\n <tr>\n <td>{{ '@hvy.event.log.event.category' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.category\"\n [items]=\"categories(event)\"\n [class.-error]=\"hasError('category', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'category', $event)\"\n i18nPrefix=\"@hvy.event.category.\"\n [disabled]=\"accessValue.category\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--sous categorie-->\n @if (event.category === 'ANOMALY') {\n <tr>\n <td>{{ '@hvy.event.subCategory.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.subCategory\"\n [items]=\"subCategories\"\n [class.-error]=\"hasError('subCategory', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'subCategory', $event)\"\n i18nPrefix=\"@hvy.event.subCategory.\"\n [disabled]=\"accessValue.subCategory\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n }\n <!--criticite-->\n <tr>\n <td>{{ '@hvy.event.criticality.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.criticality\"\n [items]=\"criticalities\"\n [class.-error]=\"hasError('criticality', idx)\"\n i18nPrefix=\"@hvy.event.criticality.\"\n [disabled]=\"accessValue.criticality\"\n (ngModelChange)=\"modifyEvent(idx, 'criticality', $event)\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--metier-->\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"DOMAINS\"\n [ngModel]=\"event.domain\"\n i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'domain', $event)\"\n [disabled]=\"accessValue.domain\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--equipement-->\n <tr>\n <td>{{ '@hvy.event.equipment' | i18n }} :</td>\n <td class=\"td-autocomplete\">\n <input type=\"text\" class=\"input-autocomplete\"\n [placeholder]=\"'@hvy.event.equipmentPlaceholder' | i18n\"\n [matAutocomplete]=\"auto\"\n [formControl]=\"getEquipControl(idx)\"\n [ngClass]=\"{'equipment-disabled': event.status === 'DONE'}\"\n #trigger=\"matAutocompleteTrigger\"\n [class.-error]=\"hasError('equipment', idx)\"/>\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"displayEquipment.bind(this)\"\n (opened)=\"openAutocomplete(idx)\"\n (closed)=\"closeAutocomplete(idx)\"\n >\n @for (equipment of equipments$[idx] | async; track equipment) {\n <mat-option [value]=\"equipment\">\n {{equipment.name}} - {{'@hvy.event.family.' + equipment.family | i18n}}\n </mat-option>\n }\n </mat-autocomplete>\n\n <pry-icon\n class=\"a-pry-select__toggle autocomplete-chevron\"\n [iconSvg]=\"openedAutocomplete[idx]? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"10\"\n [height]=\"16\"\n (click)=\"openOrCloseAutocomplete($event, trigger, idx)\"\n ></pry-icon>\n </td>\n\n <td>\n @if (selectedEquipment[idx]) {\n <pry-icon\n iconSvg=\"i\"\n class=\"-hand\"\n #detailHoverIcon\n (click)=\"toggleDetailsTooltip(idx)\"\n [width]=\"18\"\n [height]=\"18\"\n ></pry-icon>\n }\n </td>\n </tr>\n <!--entite-->\n <tr>\n <td>{{ '@hvy.event.equipmentEntity' | i18n }} :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('equipment', idx)\"\n [value]=\"\n (event.equipment?.entity ? '@hvy.event.entity.' + event.equipment?.entity : '') | i18n\n \"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--adresse-->\n <tr>\n <td>{{ '@hvy.event.log.event.address' | i18n }} :</td>\n <td>\n <textarea\n [ngModel]=\"event.address\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('address', idx)\"\n [readonly]=\"accessValue.address\"\n (ngModelChange)=\"modifyEvent(idx, 'address', $event)\"\n [maxLength]=\"256\"\n [disabled]=\"adressDisabled[idx] || event.status === 'DONE'\"\n ></textarea>\n </td>\n <td></td>\n </tr>\n <!--ville-->\n <tr>\n <td>{{ '@hvy.event.district' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"placesChoices\"\n [ngModel]=\"event.district\"\n [bindValue]=\"'key'\"\n bindLabel=\"display\"\n i18nPrefix=\"@hvy.event.places.\"\n (ngModelChange)=\"modifyEvent(idx, 'district', $event)\"\n [disabled]=\"adressDisabled[idx] || event.status === 'DONE'\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--evenement parent-->\n <tr>\n <td>{{ '@hvy.event.parentEvent.name' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"events$ | async\"\n bindLabel=\"displayName\"\n [ngModel]=\"eventSelectValue[idx]\"\n (ngModelChange)=\"selectedParentChange($event, idx)\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n [placeholder]=\"'@hvy.event.parentEvent.placeholder' | i18n\"\n id=\"parent\"\n [template]=\"templateParent\"\n [disabled]=\"accessValue.parent\"\n [class.-error]=\"hasError('parent', idx)\"\n class=\"o-hvy-events-detail__events__event__content__equipment\"\n ></pry-select>\n <ng-template #templateParent let-item=\"item\">\n <div class=\"u-display-flex -column\">\n <span [innerHTML]=\"item.html\"></span>\n </div>\n </ng-template>\n </td>\n <td></td>\n </tr>\n <!--description-->\n <tr>\n <td>{{ '@hvy.event.log.event.description' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <textarea\n [ngModel]=\"event.description\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('description', idx)\"\n [readonly]=\"accessValue.description\"\n (ngModelChange)=\"modifyEvent(idx, 'description', $event)\"\n [maxLength]=\"256\"\n ></textarea>\n </td>\n <td></td>\n </tr>\n <!--date debut-->\n <tr>\n <td>\n {{ '@hvy.event.startDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n :\n </td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.startDate | forDateTimeLocal\"\n [class.-error]=\"hasError('startDate', idx)\"\n [readonly]=\"accessValue.startDate\"\n (change)=\"modifyEvent(idx, 'startDate', $event)\"\n />\n </td>\n <td></td>\n </tr>\n <!--date fin-->\n <tr>\n <td>\n {{ '@hvy.event.endDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n :\n </td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.endDate | forDateTimeLocal\"\n [class.-error]=\"hasError('endDate', idx)\"\n [readonly]=\"accessValue.endDate\"\n (change)=\"modifyEvent(idx, 'endDate', $event)\"\n />\n @if (hasError('endDate', idx) && event.endDate && event.startDate) {\n <span class=\"a-form-field -error\">{{ '@hvy.event.errorDate' | i18n }}</span>\n }\n </td>\n <td></td>\n </tr>\n <!--source-->\n <tr>\n <td>{{ '@hvy.event.source' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [value]=\"event.externalSourceRef ?? ('@hvy.event.hypervisor' | i18n)\"\n [class.-error]=\"hasError('source', idx)\"\n [readonly]=\"accessValue.source\"\n (change)=\"modifyEvent(idx, 'source', $event)\"\n />\n </td>\n <td></td>\n </tr>\n <!--ref\u00E9rence externe-->\n @if (event.externalSourceRef !== 'Hyperviseur') {\n <tr>\n <td>{{ '@hvy.event.externalId' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [value]=\"event.externalId ?? '-'\"\n [readonly]=\"true\"\n />\n </td>\n <td></td>\n </tr>\n }\n <!--createur-->\n <tr>\n <td>{{ '@hvy.event.creator' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"event.creator\" [readonly]=\"true\" />\n </td>\n <td></td>\n </tr>\n <!--date creation-->\n <tr>\n <td>{{ '@hvy.event.creationDate' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.creationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--date modification-->\n <tr>\n <td>{{ '@hvy.event.lastModificationDate' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.lastModificationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--date cloture-->\n <tr>\n <td>{{ '@hvy.event.closeDate' | i18n }} :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.closeDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n </tbody>\n </table>\n @if (event.id !== -1) {\n <hvy-comments\n [lastComment]=\"event.lastComment\"\n [commentCount]=\"event.commentCount\"\n (commented)=\"updateComment(event, $event)\"\n [readonly]=\"readonly\"\n [type]=\"'events'\"\n [me]=\"me?.sub\"\n [objectId]=\"event.id\"\n ></hvy-comments>\n }\n }\n }\n </div>\n </div>\n }\n </div>\n <div class=\"o-hvy-events-detail__procedure\">\n <div class=\"o-hvy-events-detail__procedure__header\">\n <h2>\n {{ (events.length === 1 ? '@hvy.event.log.procedure.name1' : '@hvy.event.log.procedure.name') | i18n }}\n </h2>\n </div>\n @if (procedure) {\n <div class=\"o-hvy-events-detail__procedure__description\">\n <p>\n <span>{{ procedure.name }}&nbsp;:</span>\n {{ procedure.description }}\n </p>\n </div>\n <div class=\"o-hvy-events-detail__procedure__progress\">\n <p>{{ '@hvy.event.log.procedure.progress' | i18n }}</p>\n <hvy-progress-display [progress]=\"calculatedProgress\"></hvy-progress-display>\n </div>\n <hvy-procedure-actions\n [procedureModificationsActions]=\"procedureModifications?.actions\"\n [initialActions] = this._procedure?.actions\n [readonly]=\"readonlyProcedure || readonly\"\n [readOnlyComment]=\"readOnlyComment\"\n [disableSaveDIButton]=\"isEventModified()\"\n [enableEditActions]=\"enableEditActions\"\n [actions]=\"procedure.actions\"\n (modified)=\"modifiedActions($event)\"\n (refreshActions)=\"refreshActions($event)\"\n [me]=\"me?.sub\"\n [events]=\"this.events\"\n (commented)=\"actionCommented($event)\"\n ></hvy-procedure-actions>\n } @else {\n @if (!readonly) {\n <button class=\"a-btn a-btn--secondary\" [disabled]=\"!canAssociateProcedure\" (click)=\"openAssociationModal()\">\n {{ '@hvy.action.associate' | i18n }}\n </button>\n } @else {\n <span class=\"o-hvy-events-detail__procedure__empty\">{{ '@hvy.event.log.procedure.none' | i18n }}</span>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #confirmDialog>\n <div\n class=\"o-hvy-close-confirm__dialog\"\n aria-labelledby=\"confirm\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <h2>\n {{\n (changeStatusContext.events.length === 1 ? '@hvy.event.close.oneTitle' : '@hvy.event.close.multiTitle') | i18n\n }}\n </h2>\n <p>{{ (changeStatusContext.events.length === 1 ? '@hvy.event.close.one' : '@hvy.event.close.multi') | i18n }}</p>\n <ul>\n @for (event of changeStatusContext.events; track event.id) {\n <li>{{ event.name }}</li>\n }\n </ul>\n <p class=\"o-hvy-close-confirm__dialog__comment-title\">\n {{ '@hvy.event.close.comment' | i18n }}<span class=\"required\">*</span> :\n </p>\n <div class=\"o-hvy-close-confirm__dialog__comment\">\n <textarea [(ngModel)]=\"changeStatusContext.comment\" class=\"a-form-field\" [maxLength]=\"255\"></textarea>\n </div>\n <div class=\"o-hvy-close-confirm__dialog__actions\">\n <button class=\"a-btn a-btn--primary\" (click)=\"confirmedClose()\" [disabled]=\"confirmDisabled()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"toggleConfirm()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i1$2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "directive", type: i9.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i9.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: ProgressDisplayComponent, selector: "hvy-progress-display", inputs: ["progress"] }, { kind: "component", type: HvyCommentsComponent, selector: "hvy-comments", inputs: ["readonly", "me", "type", "objectId", "displayEmpty", "commentCount", "lastComment", "trigger"], outputs: ["commented"] }, { kind: "component", type: ProcedureActionsComponent, selector: "hvy-procedure-actions", inputs: ["mode", "me", "readonly", "readOnlyComment", "enableEditActions", "events", "disableSaveDIButton", "initialActions", "procedureModificationsActions", "actions"], outputs: ["modified", "commented", "refreshActions"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.I18nPipe, name: "i18n" }, { kind: "pipe", type: ForDatetimeLocalPipe, name: "forDateTimeLocal" }] }); }
2577
2592
  }
2578
2593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventDetailComponent, decorators: [{
2579
2594
  type: Component,
2580
- args: [{ selector: 'hvy-event-detail', template: "<div class=\"o-hvy-events-detail\">\n <div class=\"o-hvy-events-detail__header\">\n <div class=\"o-hvy-events-detail__header__split\">\n <h1>{{ title ?? '@hvy.event.detail' | i18n }}</h1>\n @if (procedure && canCloseSome) {\n <button class=\"add-button\" [disabled]=\"readonly\" (click)=\"addOneEvent()\">\n <pry-icon iconSvg=\"add\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n }\n @if (events.length > 1) {\n @if (canCloseSome && !readonly) {\n <button class=\"a-btn a-btn--secondary -fix-right\" [disabled]=\"!canCloseSome\" (click)=\"closeAll()\">\n {{ (canCloseSome ? '@hvy.event.log.event.close' : '@hvy.event.log.event.closed') | i18n }}\n </button>\n }\n @if (!canCloseSome && closeComment && closeComment.length > 0) {\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"closeComment\" data-tooltip-position=\"right\">\n <pry-icon iconSvg=\"i\" [height]=\"18\" [width]=\"18\">i</pry-icon>\n </div>\n }\n }\n </div>\n <div class=\"o-hvy-events-detail__header__split\">\n @if (procedure && !readonly) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openDeleteModal()\" [disabled]=\"readonlyProcedure\">\n {{ '@hvy.event.log.procedure.delete' | i18n }}\n </button>\n }\n </div>\n </div>\n <div class=\"o-hvy-events-detail__container\">\n <div class=\"o-hvy-events-detail__container__scrollable\">\n <div class=\"o-hvy-events-detail__events\">\n @for (event of events; track event.id; let idx = $index) {\n <div class=\"o-hvy-events-detail__events__event\">\n <div class=\"o-hvy-events-detail__events__event__header\">\n <pry-icon\n iconSvg=\"arrow_down_rounded\"\n [class.-rotated]=\"opened[idx]\"\n class=\"-hand\"\n (click)=\"toggle(idx)\"\n [width]=\"10\"\n [height]=\"10\"\n ></pry-icon>\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <h2>{{ event.name }}</h2>\n <div class=\"o-hvy-events-detail__events__event__header__comment\">\n @if (event.commentCount > 0) {\n <span>{{\n (event.commentCount > 1 ? '@hvy.event.comment.heads' : '@hvy.event.comment.head')\n | i18n: { nb: event.commentCount }\n }}</span>\n }\n </div>\n <hvy-status-display\n [item]=\"event\"\n [modifiable]=\"event.status !== 'DONE'\"\n [readonly]=\"readonly\"\n (modified)=\"changeStatus($event, event)\"\n ></hvy-status-display>\n </div>\n <div class=\"o-hvy-events-detail__events__event__content\">\n @if (!opened[idx]) {\n <div>\n {{ '@hvy.event.log.event.category' | i18n }} : {{ '@hvy.event.category.' + event.category | i18n }}\n </div>\n <div>{{ '@hvy.event.log.event.description' | i18n }} : {{ event.description }}</div>\n } @else {\n @if (access(event); as accessValue) {\n <div class=\"o-hvy-events-detail__events__event__content__header\">\n <h3>{{ '@hvy.event.log.event.detail' | i18n }}</h3>\n <span class=\"required\">{{ '@hvy.event.log.event.mandatory' | i18n }}</span>\n </div>\n <table>\n <tbody>\n <!--identifiant-->\n @if (event.id > 0) {\n <tr>\n <td>{{ '@hvy.event.log.event.id' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"padId.fn(event.id)\" [readonly]=\"true\" />\n </td>\n <td></td>\n </tr>\n }\n <!--nom-->\n <tr>\n <td>{{ '@hvy.event.log.event.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('name', idx)\"\n [value]=\"event.name\"\n (change)=\"modifyEvent(idx, 'name', $event)\"\n [readonly]=\"accessValue.name\"\n [maxLength]=\"50\"\n />\n </td>\n <td></td>\n </tr>\n <!--categorie-->\n <tr>\n <td>{{ '@hvy.event.log.event.category' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.category\"\n [items]=\"categories(event)\"\n [class.-error]=\"hasError('category', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'category', $event)\"\n i18nPrefix=\"@hvy.event.category.\"\n [disabled]=\"accessValue.category\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--sous categorie-->\n @if (event.category === 'ANOMALY') {\n <tr>\n <td>{{ '@hvy.event.subCategory.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.subCategory\"\n [items]=\"subCategories\"\n [class.-error]=\"hasError('subCategory', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'subCategory', $event)\"\n i18nPrefix=\"@hvy.event.subCategory.\"\n [disabled]=\"accessValue.subCategory\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n }\n <!--criticite-->\n <tr>\n <td>{{ '@hvy.event.criticality.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.criticality\"\n [items]=\"criticalities\"\n [class.-error]=\"hasError('criticality', idx)\"\n i18nPrefix=\"@hvy.event.criticality.\"\n [disabled]=\"accessValue.criticality\"\n (ngModelChange)=\"modifyEvent(idx, 'criticality', $event)\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--metier-->\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"DOMAINS\"\n [ngModel]=\"event.domain\"\n i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'domain', $event)\"\n [disabled]=\"accessValue.domain\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--equipement-->\n <tr>\n <td>{{ '@hvy.event.equipment' | i18n }} :</td>\n <td class=\"td-autocomplete\">\n <input type=\"text\" class=\"input-autocomplete\"\n [placeholder]=\"'@hvy.event.equipmentPlaceholder' | i18n\"\n [matAutocomplete]=\"auto\"\n [formControl]=\"getEquipControl(idx)\"\n [ngClass]=\"{'equipment-disabled': event.status === 'DONE'}\"\n [class.-error]=\"hasError('equipment', idx)\"/>\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"displayEquipment.bind(this)\"\n (opened)=\"openAutocomplete(idx)\"\n (closed)=\"closeAutocomplete(idx)\"\n >\n @for (equipment of equipments$[idx] | async; track equipment) {\n <mat-option [value]=\"equipment\">\n {{equipment.name}} - {{'@hvy.event.family.' + equipment.family | i18n}}\n </mat-option>\n }\n </mat-autocomplete>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"'chevron_bottom'\"\n [hidden]=\"openedAutocomplete[idx]\"\n [width]=\"10\"\n [height]=\"16\"\n ></pry-icon>\n </td>\n <td>\n @if (selectedEquipment[idx]) {\n <pry-icon\n iconSvg=\"i\"\n class=\"-hand\"\n #detailHoverIcon\n (click)=\"toggleDetailsTooltip(idx)\"\n [width]=\"18\"\n [height]=\"18\"\n ></pry-icon>\n }\n </td>\n </tr>\n <!--entite-->\n <tr>\n <td>{{ '@hvy.event.equipmentEntity' | i18n }} :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('equipment', idx)\"\n [value]=\"\n (event.equipment?.entity ? '@hvy.event.entity.' + event.equipment?.entity : '') | i18n\n \"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--adresse-->\n <tr>\n <td>{{ '@hvy.event.log.event.address' | i18n }} :</td>\n <td>\n <textarea\n [ngModel]=\"event.address\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('address', idx)\"\n [readonly]=\"accessValue.address\"\n (ngModelChange)=\"modifyEvent(idx, 'address', $event)\"\n [maxLength]=\"256\"\n [disabled]=\"adressDisabled[idx] || event.status === 'DONE'\"\n ></textarea>\n </td>\n <td></td>\n </tr>\n <!--ville-->\n <tr>\n <td>{{ '@hvy.event.district' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"placesChoices\"\n [ngModel]=\"event.district\"\n [bindValue]=\"'key'\"\n bindLabel=\"display\"\n i18nPrefix=\"@hvy.event.places.\"\n (ngModelChange)=\"modifyEvent(idx, 'district', $event)\"\n [disabled]=\"adressDisabled[idx] || event.status === 'DONE'\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--evenement parent-->\n <tr>\n <td>{{ '@hvy.event.parentEvent.name' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"events$ | async\"\n bindLabel=\"displayName\"\n [ngModel]=\"eventSelectValue[idx]\"\n (ngModelChange)=\"selectedParentChange($event, idx)\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n [placeholder]=\"'@hvy.event.parentEvent.placeholder' | i18n\"\n id=\"parent\"\n [template]=\"templateParent\"\n [disabled]=\"accessValue.parent\"\n [class.-error]=\"hasError('parent', idx)\"\n class=\"o-hvy-events-detail__events__event__content__equipment\"\n ></pry-select>\n <ng-template #templateParent let-item=\"item\">\n <div class=\"u-display-flex -column\">\n <span [innerHTML]=\"item.html\"></span>\n </div>\n </ng-template>\n </td>\n <td></td>\n </tr>\n <!--description-->\n <tr>\n <td>{{ '@hvy.event.log.event.description' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <textarea\n [ngModel]=\"event.description\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('description', idx)\"\n [readonly]=\"accessValue.description\"\n (ngModelChange)=\"modifyEvent(idx, 'description', $event)\"\n [maxLength]=\"256\"\n ></textarea>\n </td>\n <td></td>\n </tr>\n <!--date debut-->\n <tr>\n <td>\n {{ '@hvy.event.startDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n :\n </td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.startDate | forDateTimeLocal\"\n [class.-error]=\"hasError('startDate', idx)\"\n [readonly]=\"accessValue.startDate\"\n (change)=\"modifyEvent(idx, 'startDate', $event)\"\n />\n </td>\n <td></td>\n </tr>\n <!--date fin-->\n <tr>\n <td>\n {{ '@hvy.event.endDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n :\n </td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.endDate | forDateTimeLocal\"\n [class.-error]=\"hasError('endDate', idx)\"\n [readonly]=\"accessValue.endDate\"\n (change)=\"modifyEvent(idx, 'endDate', $event)\"\n />\n @if (hasError('endDate', idx) && event.endDate && event.startDate) {\n <span class=\"a-form-field -error\">{{ '@hvy.event.errorDate' | i18n }}</span>\n }\n </td>\n <td></td>\n </tr>\n <!--source-->\n <tr>\n <td>{{ '@hvy.event.source' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [value]=\"event.externalSourceRef ?? ('@hvy.event.hypervisor' | i18n)\"\n [class.-error]=\"hasError('source', idx)\"\n [readonly]=\"accessValue.source\"\n (change)=\"modifyEvent(idx, 'source', $event)\"\n />\n </td>\n <td></td>\n </tr>\n <!--ref\u00E9rence externe-->\n @if (event.externalSourceRef !== 'Hyperviseur') {\n <tr>\n <td>{{ '@hvy.event.externalId' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [value]=\"event.externalId ?? '-'\"\n [readonly]=\"true\"\n />\n </td>\n <td></td>\n </tr>\n }\n <!--createur-->\n <tr>\n <td>{{ '@hvy.event.creator' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"event.creator\" [readonly]=\"true\" />\n </td>\n <td></td>\n </tr>\n <!--date creation-->\n <tr>\n <td>{{ '@hvy.event.creationDate' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.creationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--date modification-->\n <tr>\n <td>{{ '@hvy.event.lastModificationDate' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.lastModificationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--date cloture-->\n <tr>\n <td>{{ '@hvy.event.closeDate' | i18n }} :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.closeDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n </tbody>\n </table>\n @if (event.id !== -1) {\n <hvy-comments\n [lastComment]=\"event.lastComment\"\n [commentCount]=\"event.commentCount\"\n (commented)=\"updateComment(event, $event)\"\n [readonly]=\"readonly\"\n [type]=\"'events'\"\n [me]=\"me?.sub\"\n [objectId]=\"event.id\"\n ></hvy-comments>\n }\n }\n }\n </div>\n </div>\n }\n </div>\n <div class=\"o-hvy-events-detail__procedure\">\n <div class=\"o-hvy-events-detail__procedure__header\">\n <h2>\n {{ (events.length === 1 ? '@hvy.event.log.procedure.name1' : '@hvy.event.log.procedure.name') | i18n }}\n </h2>\n </div>\n @if (procedure) {\n <div class=\"o-hvy-events-detail__procedure__description\">\n <p>\n <span>{{ procedure.name }}&nbsp;:</span>\n {{ procedure.description }}\n </p>\n </div>\n <div class=\"o-hvy-events-detail__procedure__progress\">\n <p>{{ '@hvy.event.log.procedure.progress' | i18n }}</p>\n <hvy-progress-display [progress]=\"calculatedProgress\"></hvy-progress-display>\n </div>\n <hvy-procedure-actions\n [procedureModificationsActions]=\"procedureModifications?.actions\"\n [initialActions] = this._procedure?.actions\n [readonly]=\"readonlyProcedure || readonly\"\n [readOnlyComment]=\"readOnlyComment\"\n [disableSaveDIButton]=\"isEventModified()\"\n [enableEditActions]=\"enableEditActions\"\n [actions]=\"procedure.actions\"\n (modified)=\"modifiedActions($event)\"\n (refreshActions)=\"refreshActions($event)\"\n [me]=\"me?.sub\"\n [events]=\"this.events\"\n (commented)=\"actionCommented($event)\"\n ></hvy-procedure-actions>\n } @else {\n @if (!readonly) {\n <button class=\"a-btn a-btn--secondary\" [disabled]=\"!canAssociateProcedure\" (click)=\"openAssociationModal()\">\n {{ '@hvy.action.associate' | i18n }}\n </button>\n } @else {\n <span class=\"o-hvy-events-detail__procedure__empty\">{{ '@hvy.event.log.procedure.none' | i18n }}</span>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #confirmDialog>\n <div\n class=\"o-hvy-close-confirm__dialog\"\n aria-labelledby=\"confirm\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <h2>\n {{\n (changeStatusContext.events.length === 1 ? '@hvy.event.close.oneTitle' : '@hvy.event.close.multiTitle') | i18n\n }}\n </h2>\n <p>{{ (changeStatusContext.events.length === 1 ? '@hvy.event.close.one' : '@hvy.event.close.multi') | i18n }}</p>\n <ul>\n @for (event of changeStatusContext.events; track event.id) {\n <li>{{ event.name }}</li>\n }\n </ul>\n <p class=\"o-hvy-close-confirm__dialog__comment-title\">\n {{ '@hvy.event.close.comment' | i18n }}<span class=\"required\">*</span> :\n </p>\n <div class=\"o-hvy-close-confirm__dialog__comment\">\n <textarea [(ngModel)]=\"changeStatusContext.comment\" class=\"a-form-field\" [maxLength]=\"255\"></textarea>\n </div>\n <div class=\"o-hvy-close-confirm__dialog__actions\">\n <button class=\"a-btn a-btn--primary\" (click)=\"confirmedClose()\" [disabled]=\"confirmDisabled()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"toggleConfirm()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n </div>\n</ng-template>\n" }]
2595
+ args: [{ selector: 'hvy-event-detail', template: "<div class=\"o-hvy-events-detail\">\n <div class=\"o-hvy-events-detail__header\">\n <div class=\"o-hvy-events-detail__header__split\">\n <h1>{{ title ?? '@hvy.event.detail' | i18n }}</h1>\n @if (procedure && canCloseSome) {\n <button class=\"add-button\" [disabled]=\"readonly\" (click)=\"addOneEvent()\">\n <pry-icon iconSvg=\"add\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n }\n @if (events.length > 1) {\n @if (canCloseSome && !readonly) {\n <button class=\"a-btn a-btn--secondary -fix-right\" [disabled]=\"!canCloseSome\" (click)=\"closeAll()\">\n {{ (canCloseSome ? '@hvy.event.log.event.close' : '@hvy.event.log.event.closed') | i18n }}\n </button>\n }\n @if (!canCloseSome && closeComment && closeComment.length > 0) {\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"closeComment\" data-tooltip-position=\"right\">\n <pry-icon iconSvg=\"i\" [height]=\"18\" [width]=\"18\">i</pry-icon>\n </div>\n }\n }\n </div>\n <div class=\"o-hvy-events-detail__header__split\">\n @if (procedure && !readonly) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openDeleteModal()\" [disabled]=\"readonlyProcedure\">\n {{ '@hvy.event.log.procedure.delete' | i18n }}\n </button>\n }\n </div>\n </div>\n <div class=\"o-hvy-events-detail__container\" id=\"provoly-event-detail-container\">\n <div class=\"o-hvy-events-detail__container__scrollable\">\n <div class=\"o-hvy-events-detail__events\">\n @for (event of events; track event.id; let idx = $index) {\n <div class=\"o-hvy-events-detail__events__event\">\n <div class=\"o-hvy-events-detail__events__event__header\">\n <pry-icon\n iconSvg=\"arrow_down_rounded\"\n [class.-rotated]=\"opened[idx]\"\n class=\"-hand\"\n (click)=\"toggle(idx)\"\n [width]=\"10\"\n [height]=\"10\"\n ></pry-icon>\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n <h2>{{ event.name }}</h2>\n <div class=\"o-hvy-events-detail__events__event__header__comment\">\n @if (event.commentCount > 0) {\n <span>{{\n (event.commentCount > 1 ? '@hvy.event.comment.heads' : '@hvy.event.comment.head')\n | i18n: { nb: event.commentCount }\n }}</span>\n }\n </div>\n <hvy-status-display\n [item]=\"event\"\n [modifiable]=\"event.status !== 'DONE'\"\n [readonly]=\"readonly\"\n (modified)=\"changeStatus($event, event)\"\n ></hvy-status-display>\n </div>\n <div class=\"o-hvy-events-detail__events__event__content\">\n @if (!opened[idx]) {\n <div>\n {{ '@hvy.event.log.event.category' | i18n }} : {{ '@hvy.event.category.' + event.category | i18n }}\n </div>\n <div>{{ '@hvy.event.log.event.description' | i18n }} : {{ event.description }}</div>\n } @else {\n @if (access(event); as accessValue) {\n <div class=\"o-hvy-events-detail__events__event__content__header\">\n <h3>{{ '@hvy.event.log.event.detail' | i18n }}</h3>\n <span class=\"required\">{{ '@hvy.event.log.event.mandatory' | i18n }}</span>\n </div>\n <table>\n <tbody>\n <!--identifiant-->\n @if (event.id > 0) {\n <tr>\n <td>{{ '@hvy.event.log.event.id' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"padId.fn(event.id)\" [readonly]=\"true\" />\n </td>\n <td></td>\n </tr>\n }\n <!--nom-->\n <tr>\n <td>{{ '@hvy.event.log.event.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('name', idx)\"\n [value]=\"event.name\"\n (change)=\"modifyEvent(idx, 'name', $event)\"\n [readonly]=\"accessValue.name\"\n [maxLength]=\"50\"\n />\n </td>\n <td></td>\n </tr>\n <!--categorie-->\n <tr>\n <td>{{ '@hvy.event.log.event.category' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.category\"\n [items]=\"categories(event)\"\n [class.-error]=\"hasError('category', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'category', $event)\"\n i18nPrefix=\"@hvy.event.category.\"\n [disabled]=\"accessValue.category\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--sous categorie-->\n @if (event.category === 'ANOMALY') {\n <tr>\n <td>{{ '@hvy.event.subCategory.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.subCategory\"\n [items]=\"subCategories\"\n [class.-error]=\"hasError('subCategory', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'subCategory', $event)\"\n i18nPrefix=\"@hvy.event.subCategory.\"\n [disabled]=\"accessValue.subCategory\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n }\n <!--criticite-->\n <tr>\n <td>{{ '@hvy.event.criticality.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [ngModel]=\"event.criticality\"\n [items]=\"criticalities\"\n [class.-error]=\"hasError('criticality', idx)\"\n i18nPrefix=\"@hvy.event.criticality.\"\n [disabled]=\"accessValue.criticality\"\n (ngModelChange)=\"modifyEvent(idx, 'criticality', $event)\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--metier-->\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"DOMAINS\"\n [ngModel]=\"event.domain\"\n i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain', idx)\"\n (ngModelChange)=\"modifyEvent(idx, 'domain', $event)\"\n [disabled]=\"accessValue.domain\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--equipement-->\n <tr>\n <td>{{ '@hvy.event.equipment' | i18n }} :</td>\n <td class=\"td-autocomplete\">\n <input type=\"text\" class=\"input-autocomplete\"\n [placeholder]=\"'@hvy.event.equipmentPlaceholder' | i18n\"\n [matAutocomplete]=\"auto\"\n [formControl]=\"getEquipControl(idx)\"\n [ngClass]=\"{'equipment-disabled': event.status === 'DONE'}\"\n #trigger=\"matAutocompleteTrigger\"\n [class.-error]=\"hasError('equipment', idx)\"/>\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"displayEquipment.bind(this)\"\n (opened)=\"openAutocomplete(idx)\"\n (closed)=\"closeAutocomplete(idx)\"\n >\n @for (equipment of equipments$[idx] | async; track equipment) {\n <mat-option [value]=\"equipment\">\n {{equipment.name}} - {{'@hvy.event.family.' + equipment.family | i18n}}\n </mat-option>\n }\n </mat-autocomplete>\n\n <pry-icon\n class=\"a-pry-select__toggle autocomplete-chevron\"\n [iconSvg]=\"openedAutocomplete[idx]? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"10\"\n [height]=\"16\"\n (click)=\"openOrCloseAutocomplete($event, trigger, idx)\"\n ></pry-icon>\n </td>\n\n <td>\n @if (selectedEquipment[idx]) {\n <pry-icon\n iconSvg=\"i\"\n class=\"-hand\"\n #detailHoverIcon\n (click)=\"toggleDetailsTooltip(idx)\"\n [width]=\"18\"\n [height]=\"18\"\n ></pry-icon>\n }\n </td>\n </tr>\n <!--entite-->\n <tr>\n <td>{{ '@hvy.event.equipmentEntity' | i18n }} :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('equipment', idx)\"\n [value]=\"\n (event.equipment?.entity ? '@hvy.event.entity.' + event.equipment?.entity : '') | i18n\n \"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--adresse-->\n <tr>\n <td>{{ '@hvy.event.log.event.address' | i18n }} :</td>\n <td>\n <textarea\n [ngModel]=\"event.address\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('address', idx)\"\n [readonly]=\"accessValue.address\"\n (ngModelChange)=\"modifyEvent(idx, 'address', $event)\"\n [maxLength]=\"256\"\n [disabled]=\"adressDisabled[idx] || event.status === 'DONE'\"\n ></textarea>\n </td>\n <td></td>\n </tr>\n <!--ville-->\n <tr>\n <td>{{ '@hvy.event.district' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"placesChoices\"\n [ngModel]=\"event.district\"\n [bindValue]=\"'key'\"\n bindLabel=\"display\"\n i18nPrefix=\"@hvy.event.places.\"\n (ngModelChange)=\"modifyEvent(idx, 'district', $event)\"\n [disabled]=\"adressDisabled[idx] || event.status === 'DONE'\"\n ></pry-select>\n </td>\n <td></td>\n </tr>\n <!--evenement parent-->\n <tr>\n <td>{{ '@hvy.event.parentEvent.name' | i18n }} :</td>\n <td>\n <pry-select\n [items]=\"events$ | async\"\n bindLabel=\"displayName\"\n [ngModel]=\"eventSelectValue[idx]\"\n (ngModelChange)=\"selectedParentChange($event, idx)\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n [placeholder]=\"'@hvy.event.parentEvent.placeholder' | i18n\"\n id=\"parent\"\n [template]=\"templateParent\"\n [disabled]=\"accessValue.parent\"\n [class.-error]=\"hasError('parent', idx)\"\n class=\"o-hvy-events-detail__events__event__content__equipment\"\n ></pry-select>\n <ng-template #templateParent let-item=\"item\">\n <div class=\"u-display-flex -column\">\n <span [innerHTML]=\"item.html\"></span>\n </div>\n </ng-template>\n </td>\n <td></td>\n </tr>\n <!--description-->\n <tr>\n <td>{{ '@hvy.event.log.event.description' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <textarea\n [ngModel]=\"event.description\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('description', idx)\"\n [readonly]=\"accessValue.description\"\n (ngModelChange)=\"modifyEvent(idx, 'description', $event)\"\n [maxLength]=\"256\"\n ></textarea>\n </td>\n <td></td>\n </tr>\n <!--date debut-->\n <tr>\n <td>\n {{ '@hvy.event.startDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n :\n </td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.startDate | forDateTimeLocal\"\n [class.-error]=\"hasError('startDate', idx)\"\n [readonly]=\"accessValue.startDate\"\n (change)=\"modifyEvent(idx, 'startDate', $event)\"\n />\n </td>\n <td></td>\n </tr>\n <!--date fin-->\n <tr>\n <td>\n {{ '@hvy.event.endDate' | i18n }}\n @if (event.category === 'MANIFESTATION') {\n <span class=\"required\">*</span>\n }\n :\n </td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.endDate | forDateTimeLocal\"\n [class.-error]=\"hasError('endDate', idx)\"\n [readonly]=\"accessValue.endDate\"\n (change)=\"modifyEvent(idx, 'endDate', $event)\"\n />\n @if (hasError('endDate', idx) && event.endDate && event.startDate) {\n <span class=\"a-form-field -error\">{{ '@hvy.event.errorDate' | i18n }}</span>\n }\n </td>\n <td></td>\n </tr>\n <!--source-->\n <tr>\n <td>{{ '@hvy.event.source' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [value]=\"event.externalSourceRef ?? ('@hvy.event.hypervisor' | i18n)\"\n [class.-error]=\"hasError('source', idx)\"\n [readonly]=\"accessValue.source\"\n (change)=\"modifyEvent(idx, 'source', $event)\"\n />\n </td>\n <td></td>\n </tr>\n <!--ref\u00E9rence externe-->\n @if (event.externalSourceRef !== 'Hyperviseur') {\n <tr>\n <td>{{ '@hvy.event.externalId' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [value]=\"event.externalId ?? '-'\"\n [readonly]=\"true\"\n />\n </td>\n <td></td>\n </tr>\n }\n <!--createur-->\n <tr>\n <td>{{ '@hvy.event.creator' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"event.creator\" [readonly]=\"true\" />\n </td>\n <td></td>\n </tr>\n <!--date creation-->\n <tr>\n <td>{{ '@hvy.event.creationDate' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.creationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--date modification-->\n <tr>\n <td>{{ '@hvy.event.lastModificationDate' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.lastModificationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n <!--date cloture-->\n <tr>\n <td>{{ '@hvy.event.closeDate' | i18n }} :</td>\n <td>\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [value]=\"event.closeDate | forDateTimeLocal\"\n readonly\n />\n </td>\n <td></td>\n </tr>\n </tbody>\n </table>\n @if (event.id !== -1) {\n <hvy-comments\n [lastComment]=\"event.lastComment\"\n [commentCount]=\"event.commentCount\"\n (commented)=\"updateComment(event, $event)\"\n [readonly]=\"readonly\"\n [type]=\"'events'\"\n [me]=\"me?.sub\"\n [objectId]=\"event.id\"\n ></hvy-comments>\n }\n }\n }\n </div>\n </div>\n }\n </div>\n <div class=\"o-hvy-events-detail__procedure\">\n <div class=\"o-hvy-events-detail__procedure__header\">\n <h2>\n {{ (events.length === 1 ? '@hvy.event.log.procedure.name1' : '@hvy.event.log.procedure.name') | i18n }}\n </h2>\n </div>\n @if (procedure) {\n <div class=\"o-hvy-events-detail__procedure__description\">\n <p>\n <span>{{ procedure.name }}&nbsp;:</span>\n {{ procedure.description }}\n </p>\n </div>\n <div class=\"o-hvy-events-detail__procedure__progress\">\n <p>{{ '@hvy.event.log.procedure.progress' | i18n }}</p>\n <hvy-progress-display [progress]=\"calculatedProgress\"></hvy-progress-display>\n </div>\n <hvy-procedure-actions\n [procedureModificationsActions]=\"procedureModifications?.actions\"\n [initialActions] = this._procedure?.actions\n [readonly]=\"readonlyProcedure || readonly\"\n [readOnlyComment]=\"readOnlyComment\"\n [disableSaveDIButton]=\"isEventModified()\"\n [enableEditActions]=\"enableEditActions\"\n [actions]=\"procedure.actions\"\n (modified)=\"modifiedActions($event)\"\n (refreshActions)=\"refreshActions($event)\"\n [me]=\"me?.sub\"\n [events]=\"this.events\"\n (commented)=\"actionCommented($event)\"\n ></hvy-procedure-actions>\n } @else {\n @if (!readonly) {\n <button class=\"a-btn a-btn--secondary\" [disabled]=\"!canAssociateProcedure\" (click)=\"openAssociationModal()\">\n {{ '@hvy.action.associate' | i18n }}\n </button>\n } @else {\n <span class=\"o-hvy-events-detail__procedure__empty\">{{ '@hvy.event.log.procedure.none' | i18n }}</span>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #confirmDialog>\n <div\n class=\"o-hvy-close-confirm__dialog\"\n aria-labelledby=\"confirm\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <h2>\n {{\n (changeStatusContext.events.length === 1 ? '@hvy.event.close.oneTitle' : '@hvy.event.close.multiTitle') | i18n\n }}\n </h2>\n <p>{{ (changeStatusContext.events.length === 1 ? '@hvy.event.close.one' : '@hvy.event.close.multi') | i18n }}</p>\n <ul>\n @for (event of changeStatusContext.events; track event.id) {\n <li>{{ event.name }}</li>\n }\n </ul>\n <p class=\"o-hvy-close-confirm__dialog__comment-title\">\n {{ '@hvy.event.close.comment' | i18n }}<span class=\"required\">*</span> :\n </p>\n <div class=\"o-hvy-close-confirm__dialog__comment\">\n <textarea [(ngModel)]=\"changeStatusContext.comment\" class=\"a-form-field\" [maxLength]=\"255\"></textarea>\n </div>\n <div class=\"o-hvy-close-confirm__dialog__actions\">\n <button class=\"a-btn a-btn--primary\" (click)=\"confirmedClose()\" [disabled]=\"confirmDisabled()\">\n {{ '@hvy.action.validate' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"toggleConfirm()\">{{ '@hvy.action.cancel' | i18n }}</button>\n </div>\n </div>\n</ng-template>\n" }]
2581
2596
  }], ctorParameters: () => [{ type: EquipmentService }, { type: i1$1.Store }, { type: i2$1.Overlay }, { type: i0.ViewContainerRef }, { type: i1$2.PryI18nService }, { type: i1$2.PryDialogService }, { type: HypCommentsService }, { type: EventService }, { type: i1$4.Actions }, { type: i1$3.FormBuilder }], propDecorators: { placesChoices: [{
2582
2597
  type: Input
2583
2598
  }], modifiedEvents: [{
@@ -4183,7 +4198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
4183
4198
  AsyncPipe,
4184
4199
  PryI18nModule,
4185
4200
  AsyncPipe,
4186
- PryI18nModule
4201
+ PryI18nModule,
4187
4202
  ],
4188
4203
  exports: [...components],
4189
4204
  providers: [I18nPipe]