@provoly/hypervisor 1.4.54 → 1.4.56

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.
@@ -54,6 +54,7 @@ export class HvyServiceActionDisplayComponent extends HvyBaseParameterActionComp
54
54
  .subscribe((name) => {
55
55
  this.action.serviceExternalId = name.id;
56
56
  this.initActionReference();
57
+ this.serviceService.refreshDiAction.next(true);
57
58
  });
58
59
  break;
59
60
  case 'cancel':
@@ -74,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
74
75
  type: ViewChild,
75
76
  args: ['menuButton', { read: ElementRef }]
76
77
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL3NlcnZpY2Uvc2VydmljZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL3NlcnZpY2Uvc2VydmljZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJckYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFhcEMsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLCtCQUFpRDtJQUtyRyxZQUNVLFNBQTJCLEVBQzNCLE9BQWdCLEVBQ2hCLGNBQThCLEVBQzlCLElBQWM7UUFFdEIsS0FBSyxFQUFFLENBQUM7UUFMQSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFVO1FBd0RMLFFBQUcsR0FBRyxHQUFHLENBQUM7SUFyRDdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDakMsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtZQUMxRixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQ2pELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDL0QsYUFBYSxFQUFFO2dCQUNiLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixVQUFVLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDcEMsYUFBYSxFQUFFLGVBQWU7Z0JBQzlCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRTthQUMzRjtZQUNELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBb0MsRUFBRSxFQUFFO1lBQ2xGLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQixLQUFLLElBQUk7b0JBQ1AsSUFBSSxDQUFDLGNBQWM7eUJBQ2hCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7eUJBQzVCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ3hDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO29CQUM3QixDQUFDLENBQUMsQ0FBQztvQkFDTCxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxNQUFNO1lBQ1YsQ0FBQztZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EvRFUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsdUpBQ1YsVUFBVSxvRENyQjdDLHNiQVdBOzsyRkRTYSxnQ0FBZ0M7a0JBSjVDLFNBQVM7K0JBQ0UsNEJBQTRCOytKQUlTLFVBQVU7c0JBQXhELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdnlCYXNlUGFyYW1ldGVyQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1wYXJhbWV0ZXItYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIeXBBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbC9wcm9jZWR1cmUvaHlwLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJ5RGlhbG9nU2VydmljZSwgSTE4blBpcGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEh2eUNyZWF0ZVNlcnZpY2VDb21wb25lbnQgfSBmcm9tICcuL2NyZWF0ZS1zZXJ2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIeXBTZXJ2aWNlLCBTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3NlcnZpY2Uvc2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IGFjdCB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEh5cFNlcnZpY2VBY3Rpb24gZXh0ZW5kcyBIeXBBY3Rpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHNlcnZpY2VFeHRlcm5hbElkPzogc3RyaW5nO1xuICBzZXJ2aWNlQWRkaXRpb25hbEluZm8/OiBzdHJpbmc7XG4gIHNlcnZpY2VTdGF0dXM/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1zZXJ2aWNlLWFjdGlvbi1kaXNwbGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtYWN0aW9uLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEh2eVNlcnZpY2VBY3Rpb25EaXNwbGF5Q29tcG9uZW50IGV4dGVuZHMgSHZ5QmFzZVBhcmFtZXRlckFjdGlvbkNvbXBvbmVudDxIeXBTZXJ2aWNlQWN0aW9uPiBpbXBsZW1lbnRzIE9uSW5pdHtcbiAgQFZpZXdDaGlsZCgnbWVudUJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBtZW51QnV0dG9uITogRWxlbWVudFJlZjtcbiAgc3RhdHVzITogc3RyaW5nO1xuICByZWZlcmVuY2UhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcnlEaWFsb2c6IFByeURpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgc2VydmljZVNlcnZpY2U6IFNlcnZpY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaTE4bjogSTE4blBpcGVcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdHVzID0gdGhpcy5hY3Rpb24uc2VydmljZVN0YXR1cyA/XG4gICAgICAnKCcgKyB0aGlzLmkxOG4udHJhbnNmb3JtKGBAaHZ5LnByb2NlZHVyZS5zdGF0dXMuJHt0aGlzLmFjdGlvbi5zZXJ2aWNlU3RhdHVzfWApICsgJyknIDogJyc7XG4gICAgdGhpcy5pbml0QWN0aW9uUmVmZXJlbmNlKCk7XG4gIH1cblxuICBpbml0QWN0aW9uUmVmZXJlbmNlKCl7XG4gICAgaWYodGhpcy5hY3Rpb24uc2VydmljZUV4dGVybmFsSWQpIHtcbiAgICAgIGlmKHRoaXMuYWN0aW9uLnNlcnZpY2VBZGRpdGlvbmFsSW5mbykge1xuICAgICAgICB0aGlzLnJlZmVyZW5jZSA9IGAke3RoaXMuYWN0aW9uLnNlcnZpY2VFeHRlcm5hbElkfUAke3RoaXMuYWN0aW9uLnNlcnZpY2VBZGRpdGlvbmFsSW5mb31gXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlZmVyZW5jZSA9IHRoaXMuYWN0aW9uLnNlcnZpY2VFeHRlcm5hbElkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlZmVyZW5jZSA9IHRoaXMuYWN0aW9uLm5hbWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlTW9kYWwoKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5wcnlEaWFsb2cub3BlbihIdnlDcmVhdGVTZXJ2aWNlQ29tcG9uZW50LCB7XG4gICAgICBvdmVybGF5Q29uZmlnOiB7XG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBwYW5lbENsYXNzOiBbJ3ByeS1kaWFsb2ctY29udGFpbmVyJ10sXG4gICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdiYWNrZHJvcC1kYXJrJyxcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpXG4gICAgICB9LFxuICAgICAgZGF0YToge1xuICAgICAgICBhY3Rpb246IHRoaXMuYWN0aW9uLFxuICAgICAgICBldmVudHM6IHRoaXMuZXZlbnRzXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBzdWIgPSBkaWFsb2dSZWYuY2xvc2VWYWx1ZS5zdWJzY3JpYmUoKHR5cGU6IEh5cFNlcnZpY2UgJiB7IHZhbHVlOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlLnZhbHVlKSB7XG4gICAgICAgIGNhc2UgJ29rJzpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VTZXJ2aWNlXG4gICAgICAgICAgICAuY3JlYXRlKHR5cGUsIHRoaXMuYWN0aW9uLmlkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobmFtZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbi5zZXJ2aWNlRXh0ZXJuYWxJZCA9IG5hbWUuaWQ7XG4gICAgICAgICAgICAgIHRoaXMuaW5pdEFjdGlvblJlZmVyZW5jZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NhbmNlbCc6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdCA9IGFjdDtcbn1cbiIsIjxkaXYgY2xhc3M9XCJwYXJhbS1saW5lIC12ZXJ0aWNhbFwiPlxuICA8cD5cbiAgICB7eyAnQGh2eS5wcm9jZWR1cmUuYWN0aW9uLnNlcnZpY2UnIHwgaTE4biB9fSA6IDxiPnt7IHJlZmVyZW5jZSB9fTwvYj4ge3sgc3RhdHVzIH19XG4gIDwvcD5cbiAgQGlmICghYWN0aW9uLnNlcnZpY2VFeHRlcm5hbElkICYmIHRoaXMubW9kZSAhPT0gJ21vZGVsJykge1xuICAgIDxidXR0b24gY2xhc3M9XCJhLWxpbmtcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi50eXBlID09PSAnQVNLRURfU0VSVklDRScgJiYgYWN0aW9uLnN0YXR1cyA9PT0gJ0RPTkUnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVNb2RhbCgpXCIgI21lbnVCdXR0b24+PiB7eyAnQGh2eS5hY3Rpb24uY3JlYXRlJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgfVxuPC9kaXY+XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL3NlcnZpY2Uvc2VydmljZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL2FjdGlvbi1wYXJhbWV0ZXJzL3NlcnZpY2Uvc2VydmljZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJckYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFhcEMsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLCtCQUFpRDtJQUtyRyxZQUNVLFNBQTJCLEVBQzNCLE9BQWdCLEVBQ2hCLGNBQThCLEVBQzlCLElBQWM7UUFFdEIsS0FBSyxFQUFFLENBQUM7UUFMQSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFVO1FBeURMLFFBQUcsR0FBRyxHQUFHLENBQUM7SUF0RDdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDakMsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtZQUMxRixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQ2pELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDL0QsYUFBYSxFQUFFO2dCQUNiLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixVQUFVLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDcEMsYUFBYSxFQUFFLGVBQWU7Z0JBQzlCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRTthQUMzRjtZQUNELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBb0MsRUFBRSxFQUFFO1lBQ2xGLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQixLQUFLLElBQUk7b0JBQ1AsSUFBSSxDQUFDLGNBQWM7eUJBQ2hCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7eUJBQzVCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ3hDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO3dCQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2pELENBQUMsQ0FBQyxDQUFDO29CQUNMLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU07WUFDVixDQUFDO1lBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWhFVSxnQ0FBZ0M7a0dBQWhDLGdDQUFnQyx1SkFDVixVQUFVLG9EQ3JCN0Msc2JBV0E7OzJGRFNhLGdDQUFnQztrQkFKNUMsU0FBUzsrQkFDRSw0QkFBNEI7K0pBSVMsVUFBVTtzQkFBeEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh2eUJhc2VQYXJhbWV0ZXJBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9iYXNlLXBhcmFtZXRlci1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEh5cEFjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVsL3Byb2NlZHVyZS9oeXAtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcnlEaWFsb2dTZXJ2aWNlLCBJMThuUGlwZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSHZ5Q3JlYXRlU2VydmljZUNvbXBvbmVudCB9IGZyb20gJy4vY3JlYXRlLXNlcnZpY2UuY29tcG9uZW50JztcbmltcG9ydCB7IEh5cFNlcnZpY2UsIFNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvc2VydmljZS9zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgYWN0IH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHlwU2VydmljZUFjdGlvbiBleHRlbmRzIEh5cEFjdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2VydmljZUV4dGVybmFsSWQ/OiBzdHJpbmc7XG4gIHNlcnZpY2VBZGRpdGlvbmFsSW5mbz86IHN0cmluZztcbiAgc2VydmljZVN0YXR1cz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaHZ5LXNlcnZpY2UtYWN0aW9uLWRpc3BsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSHZ5U2VydmljZUFjdGlvbkRpc3BsYXlDb21wb25lbnQgZXh0ZW5kcyBIdnlCYXNlUGFyYW1ldGVyQWN0aW9uQ29tcG9uZW50PEh5cFNlcnZpY2VBY3Rpb24+IGltcGxlbWVudHMgT25Jbml0e1xuICBAVmlld0NoaWxkKCdtZW51QnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIG1lbnVCdXR0b24hOiBFbGVtZW50UmVmO1xuICBzdGF0dXMhOiBzdHJpbmc7XG4gIHJlZmVyZW5jZSE6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByeURpYWxvZzogUHJ5RGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBzZXJ2aWNlU2VydmljZTogU2VydmljZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpMThuOiBJMThuUGlwZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXMgPSB0aGlzLmFjdGlvbi5zZXJ2aWNlU3RhdHVzID9cbiAgICAgICcoJyArIHRoaXMuaTE4bi50cmFuc2Zvcm0oYEBodnkucHJvY2VkdXJlLnN0YXR1cy4ke3RoaXMuYWN0aW9uLnNlcnZpY2VTdGF0dXN9YCkgKyAnKScgOiAnJztcbiAgICB0aGlzLmluaXRBY3Rpb25SZWZlcmVuY2UoKTtcbiAgfVxuXG4gIGluaXRBY3Rpb25SZWZlcmVuY2UoKXtcbiAgICBpZih0aGlzLmFjdGlvbi5zZXJ2aWNlRXh0ZXJuYWxJZCkge1xuICAgICAgaWYodGhpcy5hY3Rpb24uc2VydmljZUFkZGl0aW9uYWxJbmZvKSB7XG4gICAgICAgIHRoaXMucmVmZXJlbmNlID0gYCR7dGhpcy5hY3Rpb24uc2VydmljZUV4dGVybmFsSWR9QCR7dGhpcy5hY3Rpb24uc2VydmljZUFkZGl0aW9uYWxJbmZvfWBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVmZXJlbmNlID0gdGhpcy5hY3Rpb24uc2VydmljZUV4dGVybmFsSWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVmZXJlbmNlID0gdGhpcy5hY3Rpb24ubmFtZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVNb2RhbCgpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLnByeURpYWxvZy5vcGVuKEh2eUNyZWF0ZVNlcnZpY2VDb21wb25lbnQsIHtcbiAgICAgIG92ZXJsYXlDb25maWc6IHtcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgIHBhbmVsQ2xhc3M6IFsncHJ5LWRpYWxvZy1jb250YWluZXInXSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wLWRhcmsnLFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KClcbiAgICAgIH0sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGFjdGlvbjogdGhpcy5hY3Rpb24sXG4gICAgICAgIGV2ZW50czogdGhpcy5ldmVudHNcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHN1YiA9IGRpYWxvZ1JlZi5jbG9zZVZhbHVlLnN1YnNjcmliZSgodHlwZTogSHlwU2VydmljZSAmIHsgdmFsdWU6IHN0cmluZyB9KSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGUudmFsdWUpIHtcbiAgICAgICAgY2FzZSAnb2snOlxuICAgICAgICAgIHRoaXMuc2VydmljZVNlcnZpY2VcbiAgICAgICAgICAgIC5jcmVhdGUodHlwZSwgdGhpcy5hY3Rpb24uaWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuYW1lKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuYWN0aW9uLnNlcnZpY2VFeHRlcm5hbElkID0gbmFtZS5pZDtcbiAgICAgICAgICAgICAgdGhpcy5pbml0QWN0aW9uUmVmZXJlbmNlKCk7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZVNlcnZpY2UucmVmcmVzaERpQWN0aW9uLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY2FuY2VsJzpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0ID0gYWN0O1xufVxuIiwiPGRpdiBjbGFzcz1cInBhcmFtLWxpbmUgLXZlcnRpY2FsXCI+XG4gIDxwPlxuICAgIHt7ICdAaHZ5LnByb2NlZHVyZS5hY3Rpb24uc2VydmljZScgfCBpMThuIH19IDogPGI+e3sgcmVmZXJlbmNlIH19PC9iPiB7eyBzdGF0dXMgfX1cbiAgPC9wPlxuICBAaWYgKCFhY3Rpb24uc2VydmljZUV4dGVybmFsSWQgJiYgdGhpcy5tb2RlICE9PSAnbW9kZWwnKSB7XG4gICAgPGJ1dHRvbiBjbGFzcz1cImEtbGlua1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLnR5cGUgPT09ICdBU0tFRF9TRVJWSUNFJyAmJiBhY3Rpb24uc3RhdHVzID09PSAnRE9ORSdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1vZGFsKClcIiAjbWVudUJ1dHRvbj4+IHt7ICdAaHZ5LmFjdGlvbi5jcmVhdGUnIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -8,17 +8,19 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@provoly/dashboard";
9
9
  import * as i2 from "@angular/cdk/overlay";
10
10
  import * as i3 from "../../store/comments/comments.service";
11
- import * as i4 from "@provoly/dashboard/components/checkbox";
12
- import * as i5 from "@angular/forms";
13
- import * as i6 from "./action-parameters/action-parameter.component";
14
- import * as i7 from "../comments/comments.component";
11
+ import * as i4 from "../../store/service/service.service";
12
+ import * as i5 from "@provoly/dashboard/components/checkbox";
13
+ import * as i6 from "@angular/forms";
14
+ import * as i7 from "./action-parameters/action-parameter.component";
15
+ import * as i8 from "../comments/comments.component";
15
16
  export class ProcedureActionsComponent extends SubscriptionnerDirective {
16
17
  static { this.CARD_HEIGHT = 75; }
17
- constructor(pryDialog, overlay, commentsService) {
18
+ constructor(pryDialog, overlay, commentsService, serviceService) {
18
19
  super();
19
20
  this.pryDialog = pryDialog;
20
21
  this.overlay = overlay;
21
22
  this.commentsService = commentsService;
23
+ this.serviceService = serviceService;
22
24
  this.moveStart = 0;
23
25
  this.moveInitialIndex = 0;
24
26
  this.initialActionList = [];
@@ -32,9 +34,15 @@ export class ProcedureActionsComponent extends SubscriptionnerDirective {
32
34
  this.events = [];
33
35
  this._actions = [];
34
36
  this.triggers = {};
37
+ this.refreshActions = new EventEmitter();
35
38
  this.model = model;
36
39
  this.ACTIONS_TYPES = Object.keys(ACTIONS_TYPES.values);
37
40
  this.ACTIONS_TYPES.sort((a, b) => ACTIONS_TYPES.values[a].order - ACTIONS_TYPES.values[b].order);
41
+ this.subscriptions.add(this.serviceService.refreshDiAction.subscribe(result => {
42
+ if (result) {
43
+ this.refreshActions.next(this.actions);
44
+ }
45
+ }));
38
46
  }
39
47
  set actions(actions) {
40
48
  this._actions = JSON.parse(JSON.stringify(actions ?? []));
@@ -184,13 +192,13 @@ export class ProcedureActionsComponent extends SubscriptionnerDirective {
184
192
  });
185
193
  });
186
194
  }
187
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ProcedureActionsComponent, deps: [{ token: i1.PryDialogService }, { token: i2.Overlay }, { token: i3.HypCommentsService }], target: i0.ɵɵFactoryTarget.Component }); }
188
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ProcedureActionsComponent, selector: "hvy-procedure-actions", inputs: { mode: "mode", me: "me", readonly: "readonly", readOnlyComment: "readOnlyComment", enableEditActions: "enableEditActions", events: "events", actions: "actions" }, outputs: { modified: "modified", commented: "commented" }, viewQueries: [{ propertyName: "menuButtons", predicate: ["menuButton"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"o-hvy-events-detail__procedure__actions\"\n (drag)=\"move($event)\"\n (drop)=\"drop($event)\"\n (dragover)=\"allowDrop($event)\"\n>\n @for (action of actions; track action.id; let idx = $index) {\n <div\n class=\"o-hvy-events-detail__procedure__actions__action\"\n [draggable]=\"isDraggable(action) && !readonly\"\n (dragstart)=\"dragStart($event, action, idx)\"\n (mousedown)=\"onMouseDown($event)\"\n [class.-updating]=\"!!action._status\"\n [class.-other-updating]=\"editing\"\n >\n <div class=\"o-hvy-events-detail__procedure__actions__action__header\">\n @if (this.enableEditActions) {\n <pry-icon\n iconSvg=\"six_dot\"\n #handle\n [class.-disabled]=\"!isDraggable(action)\"\n [class.-hidden]=\"action._status || readonly\"\n class=\"grabbable\"\n ></pry-icon>\n }\n <div class=\"number-badge\">{{ idx + 1 }}</div>\n @if (!action._status || readonly) {\n @if (mode === 'procedure') {\n <pry-checkbox\n [ngModel]=\"action.status !== 'NEW'\"\n (click)=\"toggleActionStatus(idx, $event, action.status === 'DONE' || (readonly ?? false))\"\n [disabled]=\"action.status === 'DONE' || (readonly ?? false)\"\n [class.-disabled]=\"action.status === 'DONE' || (readonly ?? false)\"\n [title]=\"'@hvy.procedure.checkbox.' + action.status | i18n\"\n ></pry-checkbox>\n }\n <div [class.-done]=\"action.status === 'DONE'\" [class.-disabled]=\"editing\">\n <hvy-action-parameter\n [action]=\"action\"\n [type]=\"action.type\"\n [isParam]=\"false\"\n [events]=\"this.events\"\n [mode]=\"this.mode\"\n ></hvy-action-parameter>\n </div>\n @if (!readonly) {\n <button class=\"a-btn a-btn--icon-only\" (click)=\"openModal(action, idx)\" [disabled]=\"editing\">\n <pry-icon iconSvg=\"more_horiz\" #menuButton></pry-icon>\n </button>\n }\n } @else {\n <div class=\"o-hvy-events-detail__procedure__actions__action__create\">\n <div class=\"o-hvy-events-detail__procedure__actions__action__create__header\">\n <p>{{ '@hvy.procedure.action.' + action._status | i18n }}</p>\n <button class=\"a-btn a-btn--icon-only\" (click)=\"saveAction(action, idx)\" [disabled]=\"!isValid(action)\">\n <pry-icon iconSvg=\"check\"></pry-icon>\n </button>\n <button class=\"a-btn a-btn--icon-only\" (click)=\"cancelAction(action, idx)\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div>\n <pry-select\n [ngModel]=\"action.type\"\n [items]=\"ACTIONS_TYPES\"\n (ngModelChange)=\"update(idx, 'type', $event)\"\n i18nPrefix=\"@hvy.procedure.action.\"\n [placeholder]=\"'@hvy.procedure.action.placeholder.action' | i18n\"\n ></pry-select>\n </div>\n <hvy-action-parameter\n [action]=\"action\"\n [type]=\"action.type\"\n [isParam]=\"true\"\n [events]=\"this.events\"\n [mode]=\"this.mode\"\n ></hvy-action-parameter>\n </div>\n }\n </div>\n <hvy-comments\n [lastComment]=\"action.lastComment\"\n [commentCount]=\"action.commentsCount\"\n [objectId]=\"action.id\"\n [readonly]=\"readOnlyComment\"\n (commented)=\"updateComment(action, $event)\"\n [type]=\"'actions'\"\n [trigger]=\"triggers[action.id]\"\n [displayEmpty]=\"false\"\n [me]=\"me\"\n ></hvy-comments>\n </div>\n } @empty {\n @if (actions.length === 0) {\n <div>{{ '@hvy.event.log.procedure.noAction' | i18n }}</div>\n }\n }\n @if (!readonly && enableEditActions) {\n <div class=\"o-hvy-events-detail__procedure__button\">\n <button class=\"a-btn a-btn--primary\" (click)=\"add()\" [disabled]=\"editing\">\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@hvy.procedure.action.add' | i18n }}\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i1.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: "component", type: i6.HvyActionParameterComponent, selector: "hvy-action-parameter", inputs: ["mode", "events", "isParam", "type", "action"] }, { kind: "component", type: i7.HvyCommentsComponent, selector: "hvy-comments", inputs: ["readonly", "me", "type", "objectId", "displayEmpty", "commentCount", "lastComment", "trigger"], outputs: ["commented"] }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ProcedureActionsComponent, deps: [{ token: i1.PryDialogService }, { token: i2.Overlay }, { token: i3.HypCommentsService }, { token: i4.ServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
196
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ProcedureActionsComponent, selector: "hvy-procedure-actions", inputs: { mode: "mode", me: "me", readonly: "readonly", readOnlyComment: "readOnlyComment", enableEditActions: "enableEditActions", events: "events", actions: "actions" }, outputs: { modified: "modified", commented: "commented", refreshActions: "refreshActions" }, viewQueries: [{ propertyName: "menuButtons", predicate: ["menuButton"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"o-hvy-events-detail__procedure__actions\"\n (drag)=\"move($event)\"\n (drop)=\"drop($event)\"\n (dragover)=\"allowDrop($event)\"\n>\n @for (action of actions; track action.id; let idx = $index) {\n <div\n class=\"o-hvy-events-detail__procedure__actions__action\"\n [draggable]=\"isDraggable(action) && !readonly\"\n (dragstart)=\"dragStart($event, action, idx)\"\n (mousedown)=\"onMouseDown($event)\"\n [class.-updating]=\"!!action._status\"\n [class.-other-updating]=\"editing\"\n >\n <div class=\"o-hvy-events-detail__procedure__actions__action__header\">\n @if (this.enableEditActions) {\n <pry-icon\n iconSvg=\"six_dot\"\n #handle\n [class.-disabled]=\"!isDraggable(action)\"\n [class.-hidden]=\"action._status || readonly\"\n class=\"grabbable\"\n ></pry-icon>\n }\n <div class=\"number-badge\">{{ idx + 1 }}</div>\n @if (!action._status || readonly) {\n @if (mode === 'procedure') {\n <pry-checkbox\n [ngModel]=\"action.status !== 'NEW'\"\n (click)=\"toggleActionStatus(idx, $event, action.status === 'DONE' || (readonly ?? false))\"\n [disabled]=\"action.status === 'DONE' || (readonly ?? false)\"\n [class.-disabled]=\"action.status === 'DONE' || (readonly ?? false)\"\n [title]=\"'@hvy.procedure.checkbox.' + action.status | i18n\"\n ></pry-checkbox>\n }\n <div [class.-done]=\"action.status === 'DONE'\" [class.-disabled]=\"editing\">\n <hvy-action-parameter\n [action]=\"action\"\n [type]=\"action.type\"\n [isParam]=\"false\"\n [events]=\"this.events\"\n [mode]=\"this.mode\"\n ></hvy-action-parameter>\n </div>\n @if (!readonly) {\n <button class=\"a-btn a-btn--icon-only\" (click)=\"openModal(action, idx)\" [disabled]=\"editing\">\n <pry-icon iconSvg=\"more_horiz\" #menuButton></pry-icon>\n </button>\n }\n } @else {\n <div class=\"o-hvy-events-detail__procedure__actions__action__create\">\n <div class=\"o-hvy-events-detail__procedure__actions__action__create__header\">\n <p>{{ '@hvy.procedure.action.' + action._status | i18n }}</p>\n <button class=\"a-btn a-btn--icon-only\" (click)=\"saveAction(action, idx)\" [disabled]=\"!isValid(action)\">\n <pry-icon iconSvg=\"check\"></pry-icon>\n </button>\n <button class=\"a-btn a-btn--icon-only\" (click)=\"cancelAction(action, idx)\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div>\n <pry-select\n [ngModel]=\"action.type\"\n [items]=\"ACTIONS_TYPES\"\n (ngModelChange)=\"update(idx, 'type', $event)\"\n i18nPrefix=\"@hvy.procedure.action.\"\n [placeholder]=\"'@hvy.procedure.action.placeholder.action' | i18n\"\n ></pry-select>\n </div>\n <hvy-action-parameter\n [action]=\"action\"\n [type]=\"action.type\"\n [isParam]=\"true\"\n [events]=\"this.events\"\n [mode]=\"this.mode\"\n ></hvy-action-parameter>\n </div>\n }\n </div>\n <hvy-comments\n [lastComment]=\"action.lastComment\"\n [commentCount]=\"action.commentsCount\"\n [objectId]=\"action.id\"\n [readonly]=\"readOnlyComment\"\n (commented)=\"updateComment(action, $event)\"\n [type]=\"'actions'\"\n [trigger]=\"triggers[action.id]\"\n [displayEmpty]=\"false\"\n [me]=\"me\"\n ></hvy-comments>\n </div>\n } @empty {\n @if (actions.length === 0) {\n <div>{{ '@hvy.event.log.procedure.noAction' | i18n }}</div>\n }\n }\n @if (!readonly && enableEditActions) {\n <div class=\"o-hvy-events-detail__procedure__button\">\n <button class=\"a-btn a-btn--primary\" (click)=\"add()\" [disabled]=\"editing\">\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@hvy.procedure.action.add' | i18n }}\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i1.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: "component", type: i7.HvyActionParameterComponent, selector: "hvy-action-parameter", inputs: ["mode", "events", "isParam", "type", "action"] }, { kind: "component", type: i8.HvyCommentsComponent, selector: "hvy-comments", inputs: ["readonly", "me", "type", "objectId", "displayEmpty", "commentCount", "lastComment", "trigger"], outputs: ["commented"] }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
189
197
  }
190
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ProcedureActionsComponent, decorators: [{
191
199
  type: Component,
192
200
  args: [{ selector: 'hvy-procedure-actions', template: "<div\n class=\"o-hvy-events-detail__procedure__actions\"\n (drag)=\"move($event)\"\n (drop)=\"drop($event)\"\n (dragover)=\"allowDrop($event)\"\n>\n @for (action of actions; track action.id; let idx = $index) {\n <div\n class=\"o-hvy-events-detail__procedure__actions__action\"\n [draggable]=\"isDraggable(action) && !readonly\"\n (dragstart)=\"dragStart($event, action, idx)\"\n (mousedown)=\"onMouseDown($event)\"\n [class.-updating]=\"!!action._status\"\n [class.-other-updating]=\"editing\"\n >\n <div class=\"o-hvy-events-detail__procedure__actions__action__header\">\n @if (this.enableEditActions) {\n <pry-icon\n iconSvg=\"six_dot\"\n #handle\n [class.-disabled]=\"!isDraggable(action)\"\n [class.-hidden]=\"action._status || readonly\"\n class=\"grabbable\"\n ></pry-icon>\n }\n <div class=\"number-badge\">{{ idx + 1 }}</div>\n @if (!action._status || readonly) {\n @if (mode === 'procedure') {\n <pry-checkbox\n [ngModel]=\"action.status !== 'NEW'\"\n (click)=\"toggleActionStatus(idx, $event, action.status === 'DONE' || (readonly ?? false))\"\n [disabled]=\"action.status === 'DONE' || (readonly ?? false)\"\n [class.-disabled]=\"action.status === 'DONE' || (readonly ?? false)\"\n [title]=\"'@hvy.procedure.checkbox.' + action.status | i18n\"\n ></pry-checkbox>\n }\n <div [class.-done]=\"action.status === 'DONE'\" [class.-disabled]=\"editing\">\n <hvy-action-parameter\n [action]=\"action\"\n [type]=\"action.type\"\n [isParam]=\"false\"\n [events]=\"this.events\"\n [mode]=\"this.mode\"\n ></hvy-action-parameter>\n </div>\n @if (!readonly) {\n <button class=\"a-btn a-btn--icon-only\" (click)=\"openModal(action, idx)\" [disabled]=\"editing\">\n <pry-icon iconSvg=\"more_horiz\" #menuButton></pry-icon>\n </button>\n }\n } @else {\n <div class=\"o-hvy-events-detail__procedure__actions__action__create\">\n <div class=\"o-hvy-events-detail__procedure__actions__action__create__header\">\n <p>{{ '@hvy.procedure.action.' + action._status | i18n }}</p>\n <button class=\"a-btn a-btn--icon-only\" (click)=\"saveAction(action, idx)\" [disabled]=\"!isValid(action)\">\n <pry-icon iconSvg=\"check\"></pry-icon>\n </button>\n <button class=\"a-btn a-btn--icon-only\" (click)=\"cancelAction(action, idx)\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div>\n <pry-select\n [ngModel]=\"action.type\"\n [items]=\"ACTIONS_TYPES\"\n (ngModelChange)=\"update(idx, 'type', $event)\"\n i18nPrefix=\"@hvy.procedure.action.\"\n [placeholder]=\"'@hvy.procedure.action.placeholder.action' | i18n\"\n ></pry-select>\n </div>\n <hvy-action-parameter\n [action]=\"action\"\n [type]=\"action.type\"\n [isParam]=\"true\"\n [events]=\"this.events\"\n [mode]=\"this.mode\"\n ></hvy-action-parameter>\n </div>\n }\n </div>\n <hvy-comments\n [lastComment]=\"action.lastComment\"\n [commentCount]=\"action.commentsCount\"\n [objectId]=\"action.id\"\n [readonly]=\"readOnlyComment\"\n (commented)=\"updateComment(action, $event)\"\n [type]=\"'actions'\"\n [trigger]=\"triggers[action.id]\"\n [displayEmpty]=\"false\"\n [me]=\"me\"\n ></hvy-comments>\n </div>\n } @empty {\n @if (actions.length === 0) {\n <div>{{ '@hvy.event.log.procedure.noAction' | i18n }}</div>\n }\n }\n @if (!readonly && enableEditActions) {\n <div class=\"o-hvy-events-detail__procedure__button\">\n <button class=\"a-btn a-btn--primary\" (click)=\"add()\" [disabled]=\"editing\">\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@hvy.procedure.action.add' | i18n }}\n </button>\n </div>\n }\n</div>\n" }]
193
- }], ctorParameters: () => [{ type: i1.PryDialogService }, { type: i2.Overlay }, { type: i3.HypCommentsService }], propDecorators: { modified: [{
201
+ }], ctorParameters: () => [{ type: i1.PryDialogService }, { type: i2.Overlay }, { type: i3.HypCommentsService }, { type: i4.ServiceService }], propDecorators: { modified: [{
194
202
  type: Output
195
203
  }], commented: [{
196
204
  type: Output
@@ -211,5 +219,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
211
219
  args: ['menuButton', { read: ElementRef }]
212
220
  }], actions: [{
213
221
  type: Input
222
+ }], refreshActions: [{
223
+ type: Output
214
224
  }] } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2VkdXJlLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9wcm9jZWR1cmUtYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL3Byb2NlZHVyZS1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFvQix3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLHNCQUFzQixFQUFxQixNQUFNLHlCQUF5QixDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFRL0IsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHdCQUF3QjthQUM5RCxnQkFBVyxHQUFHLEVBQUUsQUFBTCxDQUFNO0lBb0J4QixZQUNVLFNBQTJCLEVBQzNCLE9BQWdCLEVBQ2hCLGVBQW1DO1FBRTNDLEtBQUssRUFBRSxDQUFDO1FBSkEsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFyQjdDLGNBQVMsR0FBRyxDQUFD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Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRzRDLFdBQVc7c0JBQTVELFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFhbkMsT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgbW9kZWwsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByeURpYWxvZ1NlcnZpY2UsIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBIeXBBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbC9wcm9jZWR1cmUvaHlwLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEh2eUFjdGlvbk1lbnVDb21wb25lbnQsIEh2eUFjdGlvbk1lbnVEYXRhIH0gZnJvbSAnLi9hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEFDVElPTlNfVFlQRVMgfSBmcm9tICcuL2FjdGlvbnMtdHlwZXMuY29uc3RhbnQnO1xuaW1wb3J0IHsgSHlwQ29tbWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3RvcmUvY29tbWVudHMvY29tbWVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIeXBFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtZGV0YWlsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBIeXBDb21tZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvY29tbWVudC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdodnktcHJvY2VkdXJlLWFjdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2VkdXJlLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByb2NlZHVyZUFjdGlvbnNDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUge1xuICBzdGF0aWMgQ0FSRF9IRUlHSFQgPSA3NTtcbiAgbW92aW5nQWN0aW9uPzogSHlwQWN0aW9uO1xuICBtb3ZlU3RhcnQgPSAwO1xuICBtb3ZlSW5pdGlhbEluZGV4ID0gMDtcbiAgaW5pdGlhbEFjdGlvbkxpc3Q6IEh5cEFjdGlvbltdID0gW107XG4gIHByZXZpb3VzT2Zmc2V0ID0gMDtcbiAgZHJhZ1RhcmdldD86IEV2ZW50VGFyZ2V0IHwgbnVsbDtcbiAgQE91dHB1dCgpIG1vZGlmaWVkID0gbmV3IEV2ZW50RW1pdHRlcjxIeXBBY3Rpb25bXT4oKTtcbiAgQE91dHB1dCgpIGNvbW1lbnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBhY3Rpb246IEh5cEFjdGlvbjsgY29tbWVudHM6IEh5cENvbW1lbnRbXSB9PigpO1xuICBASW5wdXQoKSBtb2RlOiAnbW9kZWwnIHwgJ3Byb2NlZHVyZScgPSAncHJvY2VkdXJlJztcbiAgQElucHV0KCkgbWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xuICBASW5wdXQoKSByZWFkT25seUNvbW1lbnQgPSBmYWxzZTtcbiAgQElucHV0KCkgZW5hYmxlRWRpdEFjdGlvbnM6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGV2ZW50czogSHlwRXZlbnREZXRhaWxzW10gPSBbXTtcbiAgQUNUSU9OU19UWVBFUzogc3RyaW5nW107XG4gIF9hY3Rpb25zOiBIeXBBY3Rpb25bXSA9IFtdO1xuICBAVmlld0NoaWxkcmVuKCdtZW51QnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIG1lbnVCdXR0b25zITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICB0cmlnZ2VyczogeyBbcDogc3RyaW5nXTogU3ViamVjdDxib29sZWFuPiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcnlEaWFsb2c6IFByeURpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgY29tbWVudHNTZXJ2aWNlOiBIeXBDb21tZW50c1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLkFDVElPTlNfVFlQRVMgPSBPYmplY3Qua2V5cyhBQ1RJT05TX1RZUEVTLnZhbHVlcyk7XG4gICAgdGhpcy5BQ1RJT05TX1RZUEVTLnNvcnQoKGEsIGIpID0+IEFDVElPTlNfVFlQRVMudmFsdWVzW2FdLm9yZGVyIC0gQUNUSU9OU19UWVBFUy52YWx1ZXNbYl0ub3JkZXIpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGFjdGlvbnMoYWN0aW9uczogSHlwQWN0aW9uW10pIHtcbiAgICB0aGlzLl9hY3Rpb25zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhY3Rpb25zID8/IFtdKSk7XG4gICAgdGhpcy50cmlnZ2VycyA9IHRoaXMuYWN0aW9uc1xuICAgICAgLm1hcCgoYSkgPT4gKHsgW2EuaWRdOiBuZXcgU3ViamVjdDxib29sZWFuPigpIH0pKVxuICAgICAgLnJlZHVjZSgocCwgYykgPT4gKHsgLi4ucCwgLi4uYyB9KSwge30pO1xuICB9XG5cbiAgZ2V0IGFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gIH1cblxuICBnZXQgZWRpdGluZygpIHtcbiAgICByZXR1cm4gISF0aGlzLmFjdGlvbnMuZmluZCgoYWN0aW9uKSA9PiBhY3Rpb24uX3N0YXR1cyk7XG4gIH1cblxuICBvbk1vdXNlRG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmRyYWdUYXJnZXQgPSAkZXZlbnQudGFyZ2V0O1xuICB9XG5cbiAgZHJhZ1N0YXJ0KCRldmVudDogTW91c2VFdmVudCwgYWN0aW9uOiBIeXBBY3Rpb24sIGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5kcmFnVGFyZ2V0ICYmICh0aGlzLmRyYWdUYXJnZXQgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLm1hc2tJbWFnZS5pbmRleE9mKCdzaXhfZG90JykgPiAtMSkge1xuICAgICAgdGhpcy5tb3ZpbmdBY3Rpb24gPSBhY3Rpb247XG4gICAgICB0aGlzLm1vdmVTdGFydCA9ICRldmVudC5jbGllbnRZO1xuICAgICAgdGhpcy5tb3ZlSW5pdGlhbEluZGV4ID0gaW5kZXg7XG4gICAgICB0aGlzLmluaXRpYWxBY3Rpb25MaXN0ID0gWy4uLnRoaXMuYWN0aW9uc107XG4gICAgfSBlbHNlIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIG1vdmUoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMubW92aW5nQWN0aW9uKSB7XG4gICAgICBjb25zdCBvZmZzZXRJbkNhcmRzID0gTWF0aC5yb3VuZCgoJGV2ZW50LmNsaWVudFkgLSB0aGlzLm1vdmVTdGFydCkgLyBQcm9jZWR1cmVBY3Rpb25zQ29tcG9uZW50LkNBUkRfSEVJR0hUKTtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzT2Zmc2V0ICE9PSBvZmZzZXRJbkNhcmRzKSB7XG4gICAgICAgIHRoaXMucHJldmlvdXNPZmZzZXQgPSBvZmZzZXRJbkNhcmRzO1xuICAgICAgICBjb25zdCBuZXdJbmRleCA9IE1hdGgubWluKFxuICAgICAgICAgIE1hdGgubWF4KHRoaXMubW92ZUluaXRpYWxJbmRleCArIG9mZnNldEluQ2FyZHMsIDApLFxuICAgICAgICAgIHRoaXMuaW5pdGlhbEFjdGlvbkxpc3QubGVuZ3RoIC0gMVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBuZXdBY3Rpb25zID0gWy4uLnRoaXMuaW5pdGlhbEFjdGlvbkxpc3RdO1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gbmV3QWN0aW9ucy5zcGxpY2UodGhpcy5tb3ZlSW5pdGlhbEluZGV4LCAxKVswXTtcbiAgICAgICAgbmV3QWN0aW9ucy5zcGxpY2UobmV3SW5kZXgsIDAsIGVsZW1lbnQpO1xuXG4gICAgICAgIHRoaXMubW9kaWZpZWQubmV4dChuZXdBY3Rpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkcm9wKCRldmVudDogTW91c2VFdmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMubW92ZSgkZXZlbnQpO1xuICAgIHRoaXMubW92aW5nQWN0aW9uID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgYWxsb3dEcm9wKCRldmVudDogTW91c2VFdmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgdG9nZ2xlQWN0aW9uU3RhdHVzKGluZGV4OiBudW1iZXIsICRldmVudDogTW91c2VFdmVudCwgZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICBjb25zdCBuZXdBY3Rpb25zID0gWy4uLnRoaXMuYWN0aW9uc107XG4gICAgICBpZiAobmV3QWN0aW9uc1tpbmRleF0uc3RhdHVzICE9PSAnRE9ORScpIHtcbiAgICAgICAgbmV3QWN0aW9uc1tpbmRleF0gPSB7XG4gICAgICAgICAgLi4ubmV3QWN0aW9uc1tpbmRleF0sXG4gICAgICAgICAgc3RhdHVzOiBuZXdBY3Rpb25zW2luZGV4XS5zdGF0dXMgPT09ICdORVcnID8gJ0lOX1BST0dSRVNTJyA6ICdORVcnXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubW9kaWZpZWQubmV4dChuZXdBY3Rpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhZGQoKSB7XG4gICAgdGhpcy5hY3Rpb25zLnB1c2goeyB0eXBlOiAnJywgc3RhdHVzOiAnTkVXJywgaWQ6IHY0KCksIF9zdGF0dXM6ICdjcmVhdGUnIH0gYXMgSHlwQWN0aW9uKTtcbiAgICB0aGlzLm1vZGlmaWVkLm5leHQodGhpcy5hY3Rpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBtb2RlbCA9IG1vZGVsO1xuXG4gIHVwZGF0ZShpZHg6IG51bWJlciwgcHJvcDogc3RyaW5nLCAkZXZlbnQ6IGFueSkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLmFjdGlvbnNbaWR4XVtwcm9wXSA9ICRldmVudDtcbiAgfVxuXG4gIG9wZW5Nb2RhbChhY3Rpb246IEh5cEFjdGlvbiwgaWR4OiBudW1iZXIpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLnByeURpYWxvZy5vcGVuKEh2eUFjdGlvbk1lbnVDb21wb25lbnQsIHtcbiAgICAgIG92ZXJsYXlDb25maWc6IHtcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgIHBhbmVsQ2xhc3M6IFsncHJ5LWRpYWxvZy1jb250YWluZXInXSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJyxcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5XG4gICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLm1lbnVCdXR0b25zLmdldChpZHgpISlcbiAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSlcbiAgICAgIH0sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgbW9kZTogdGhpcy5tb2RlLFxuICAgICAgICBlbmFibGVFZGl0QWN0aW9uczogdGhpcy5lbmFibGVFZGl0QWN0aW9uc1xuICAgICAgfSBhcyBIdnlBY3Rpb25NZW51RGF0YVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3ViID0gZGlhbG9nUmVmLmNsb3NlVmFsdWUuc3Vic2NyaWJlKCh0eXBlKSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgdGhpcy50cmlnZ2Vyc1thY3Rpb24uaWRdLm5leHQodHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3VwZGF0ZSc6XG4gICAgICAgICAgYWN0aW9uLl9pbml0aWFsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhY3Rpb24pKTtcbiAgICAgICAgICBhY3Rpb24uX3N0YXR1cyA9ICdtb2RpZnknO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICAgIHRoaXMuYWN0aW9ucy5zcGxpY2UoaWR4LCAxKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZG9uZSc6XG4gICAgICAgICAgYWN0aW9uLnN0YXR1cyA9ICdET05FJztcbiAgICAgIH1cbiAgICAgIHRoaXMubW9kaWZpZWQubmV4dCh0aGlzLmFjdGlvbnMpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVBY3Rpb24oYWN0aW9uOiBIeXBBY3Rpb24sIGlkeDogbnVtYmVyKSB7XG4gICAgZGVsZXRlIGFjdGlvbi5faW5pdGlhbDtcbiAgICBkZWxldGUgYWN0aW9uLl9zdGF0dXM7XG4gICAgdGhpcy5tb2RpZmllZC5uZXh0KHRoaXMuYWN0aW9ucyk7XG4gIH1cblxuICBjYW5jZWxBY3Rpb24oYWN0aW9uOiBIeXBBY3Rpb24sIGlkeDogbnVtYmVyKSB7XG4gICAgaWYgKGFjdGlvbi5fc3RhdHVzID09PSAnbW9kaWZ5Jykge1xuICAgICAgdGhpcy5hY3Rpb25zW2lkeF0gPSB7IC4uLmFjdGlvbi5faW5pdGlhbCEgfTtcbiAgICAgIGRlbGV0ZSB0aGlzLmFjdGlvbnNbaWR4XS5faW5pdGlhbDtcbiAgICAgIGRlbGV0ZSB0aGlzLmFjdGlvbnNbaWR4XS5fc3RhdHVzO1xuICAgIH0gZWxzZSBpZiAoYWN0aW9uLl9zdGF0dXMgPT09ICdjcmVhdGUnKSB7XG4gICAgICB0aGlzLmFjdGlvbnMuc3BsaWNlKGlkeCwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGhhcHBlbicpO1xuICAgIH1cbiAgICB0aGlzLm1vZGlmaWVkLm5leHQodGhpcy5hY3Rpb25zKTtcbiAgfVxuXG4gIGlzVmFsaWQoYWN0aW9uOiBIeXBBY3Rpb24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgYWN0aW9uLnR5cGUgJiZcbiAgICAgIChBQ1RJT05TX1RZUEVTLnZhbHVlc1thY3Rpb24udHlwZV0udmFsaWRhdG9yID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgQUNUSU9OU19UWVBFUy52YWx1ZXNbYWN0aW9uLnR5cGVdLnZhbGlkYXRvciEoYWN0aW9uKSlcbiAgICApO1xuICB9XG5cbiAgaXNEcmFnZ2FibGUoYWN0aW9uOiBIeXBBY3Rpb24pIHtcbiAgICByZXR1cm4gIXRoaXMuZWRpdGluZyAmJiBhY3Rpb24uc3RhdHVzID09PSAnTkVXJyAmJiAhdGhpcy5yZWFkb25seSAmJiB0aGlzLmVuYWJsZUVkaXRBY3Rpb25zO1xuICB9XG5cbiAgdXBkYXRlQ29tbWVudChhY3Rpb246IEh5cEFjdGlvbiwgY29tbWVudDogeyBpZDogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfSkge1xuICAgIHRoaXMuY29tbWVudHNTZXJ2aWNlLnNhdmUoYWN0aW9uLmlkLCAnYWN0aW9ucycsIGNvbW1lbnQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNvbW1lbnRzU2VydmljZS5nZXQoYWN0aW9uLmlkLCAnYWN0aW9ucycpLnN1YnNjcmliZSgoY29tbWVudHMpID0+IHtcbiAgICAgICAgdGhpcy5jb21tZW50ZWQubmV4dCh7IGFjdGlvbiwgY29tbWVudHMgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cIm8taHZ5LWV2ZW50cy1kZXRhaWxfX3Byb2NlZHVyZV9fYWN0aW9uc1wiXG4gIChkcmFnKT1cIm1vdmUoJGV2ZW50KVwiXG4gIChkcm9wKT1cImRyb3AoJGV2ZW50KVwiXG4gIChkcmFnb3Zlcik9XCJhbGxvd0Ryb3AoJGV2ZW50KVwiXG4+XG4gIEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25zOyB0cmFjayBhY3Rpb24uaWQ7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm8taHZ5LWV2ZW50cy1kZXRhaWxfX3Byb2NlZHVyZV9fYWN0aW9uc19fYWN0aW9uXCJcbiAgICAgIFtkcmFnZ2FibGVdPVwiaXNEcmFnZ2FibGUoYWN0aW9uKSAmJiAhcmVhZG9ubHlcIlxuICAgICAgKGRyYWdzdGFydCk9XCJkcmFnU3RhcnQoJGV2ZW50LCBhY3Rpb24sIGlkeClcIlxuICAgICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbiAgICAgIFtjbGFzcy4tdXBkYXRpbmddPVwiISFhY3Rpb24uX3N0YXR1c1wiXG4gICAgICBbY2xhc3MuLW90aGVyLXVwZGF0aW5nXT1cImVkaXRpbmdcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtZGV0YWlsX19wcm9jZWR1cmVfX2FjdGlvbnNfX2FjdGlvbl9faGVhZGVyXCI+XG4gICAgICAgIEBpZiAodGhpcy5lbmFibGVFZGl0QWN0aW9ucykge1xuICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgaWNvblN2Zz1cInNpeF9kb3RcIlxuICAgICAgICAgICAgI2hhbmRsZVxuICAgICAgICAgICAgW2NsYXNzLi1kaXNhYmxlZF09XCIhaXNEcmFnZ2FibGUoYWN0aW9uKVwiXG4gICAgICAgICAgICBbY2xhc3MuLWhpZGRlbl09XCJhY3Rpb24uX3N0YXR1cyB8fCByZWFkb25seVwiXG4gICAgICAgICAgICBjbGFzcz1cImdyYWJiYWJsZVwiXG4gICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlci1iYWRnZVwiPnt7IGlkeCArIDEgfX08L2Rpdj5cbiAgICAgICAgQGlmICghYWN0aW9uLl9zdGF0dXMgfHwgcmVhZG9ubHkpIHtcbiAgICAgICAgICBAaWYgKG1vZGUgPT09ICdwcm9jZWR1cmUnKSB7XG4gICAgICAgICAgICA8cHJ5LWNoZWNrYm94XG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImFjdGlvbi5zdGF0dXMgIT09ICdORVcnXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUFjdGlvblN0YXR1cyhpZHgsICRldmVudCwgYWN0aW9uLnN0YXR1cyA9PT0gJ0RPTkUnIHx8IChyZWFkb25seSA/PyBmYWxzZSkpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5zdGF0dXMgPT09ICdET05FJyB8fCAocmVhZG9ubHkgPz8gZmFsc2UpXCJcbiAgICAgICAgICAgICAgW2NsYXNzLi1kaXNhYmxlZF09XCJhY3Rpb24uc3RhdHVzID09PSAnRE9ORScgfHwgKHJlYWRvbmx5ID8/IGZhbHNlKVwiXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQGh2eS5wcm9jZWR1cmUuY2hlY2tib3guJyArIGFjdGlvbi5zdGF0dXMgfCBpMThuXCJcbiAgICAgICAgICAgID48L3ByeS1jaGVja2JveD5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBbY2xhc3MuLWRvbmVdPVwiYWN0aW9uLnN0YXR1cyA9PT0gJ0RPTkUnXCIgW2NsYXNzLi1kaXNhYmxlZF09XCJlZGl0aW5nXCI+XG4gICAgICAgICAgICA8aHZ5LWFjdGlvbi1wYXJhbWV0ZXJcbiAgICAgICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICBbdHlwZV09XCJhY3Rpb24udHlwZVwiXG4gICAgICAgICAgICAgIFtpc1BhcmFtXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2V2ZW50c109XCJ0aGlzLmV2ZW50c1wiXG4gICAgICAgICAgICAgIFttb2RlXT1cInRoaXMubW9kZVwiXG4gICAgICAgICAgICA+PC9odnktYWN0aW9uLXBhcmFtZXRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBAaWYgKCFyZWFkb25seSkge1xuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwib3Blbk1vZGFsKGFjdGlvbiwgaWR4KVwiIFtkaXNhYmxlZF09XCJlZGl0aW5nXCI+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwibW9yZV9ob3JpelwiICNtZW51QnV0dG9uPjwvcHJ5LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtZGV0YWlsX19wcm9jZWR1cmVfX2FjdGlvbnNfX2FjdGlvbl9fY3JlYXRlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1odnktZXZlbnRzLWRldGFpbF9fcHJvY2VkdXJlX19hY3Rpb25zX19hY3Rpb25fX2NyZWF0ZV9faGVhZGVyXCI+XG4gICAgICAgICAgICAgIDxwPnt7ICdAaHZ5LnByb2NlZHVyZS5hY3Rpb24uJyArIGFjdGlvbi5fc3RhdHVzIHwgaTE4biB9fTwvcD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwic2F2ZUFjdGlvbihhY3Rpb24sIGlkeClcIiBbZGlzYWJsZWRdPVwiIWlzVmFsaWQoYWN0aW9uKVwiPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2hlY2tcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwiY2FuY2VsQWN0aW9uKGFjdGlvbiwgaWR4KVwiPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhY3Rpb24udHlwZVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cIkFDVElPTlNfVFlQRVNcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZShpZHgsICd0eXBlJywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgaTE4blByZWZpeD1cIkBodnkucHJvY2VkdXJlLmFjdGlvbi5cIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQGh2eS5wcm9jZWR1cmUuYWN0aW9uLnBsYWNlaG9sZGVyLmFjdGlvbicgfCBpMThuXCJcbiAgICAgICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGh2eS1hY3Rpb24tcGFyYW1ldGVyXG4gICAgICAgICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgICAgICAgW3R5cGVdPVwiYWN0aW9uLnR5cGVcIlxuICAgICAgICAgICAgICBbaXNQYXJhbV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2V2ZW50c109XCJ0aGlzLmV2ZW50c1wiXG4gICAgICAgICAgICAgIFttb2RlXT1cInRoaXMubW9kZVwiXG4gICAgICAgICAgICA+PC9odnktYWN0aW9uLXBhcmFtZXRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8aHZ5LWNvbW1lbnRzXG4gICAgICAgIFtsYXN0Q29tbWVudF09XCJhY3Rpb24ubGFzdENvbW1lbnRcIlxuICAgICAgICBbY29tbWVudENvdW50XT1cImFjdGlvbi5jb21tZW50c0NvdW50XCJcbiAgICAgICAgW29iamVjdElkXT1cImFjdGlvbi5pZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkT25seUNvbW1lbnRcIlxuICAgICAgICAoY29tbWVudGVkKT1cInVwZGF0ZUNvbW1lbnQoYWN0aW9uLCAkZXZlbnQpXCJcbiAgICAgICAgW3R5cGVdPVwiJ2FjdGlvbnMnXCJcbiAgICAgICAgW3RyaWdnZXJdPVwidHJpZ2dlcnNbYWN0aW9uLmlkXVwiXG4gICAgICAgIFtkaXNwbGF5RW1wdHldPVwiZmFsc2VcIlxuICAgICAgICBbbWVdPVwibWVcIlxuICAgICAgPjwvaHZ5LWNvbW1lbnRzPlxuICAgIDwvZGl2PlxuICB9IEBlbXB0eSB7XG4gICAgQGlmIChhY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgPGRpdj57eyAnQGh2eS5ldmVudC5sb2cucHJvY2VkdXJlLm5vQWN0aW9uJyB8IGkxOG4gfX08L2Rpdj5cbiAgICB9XG4gIH1cbiAgQGlmICghcmVhZG9ubHkgJiYgZW5hYmxlRWRpdEFjdGlvbnMpIHtcbiAgICA8ZGl2IGNsYXNzPVwiby1odnktZXZlbnRzLWRldGFpbF9fcHJvY2VkdXJlX19idXR0b25cIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJhZGQoKVwiIFtkaXNhYmxlZF09XCJlZGl0aW5nXCI+XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiYWRkXCI+PC9wcnktaWNvbj5cbiAgICAgICAge3sgJ0BodnkucHJvY2VkdXJlLmFjdGlvbi5hZGQnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2VkdXJlLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9wcm9jZWR1cmUtYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9nZW5lcmFsL3Byb2NlZHVyZS1hY3Rpb25zL3Byb2NlZHVyZS1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFvQix3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLHNCQUFzQixFQUFxQixNQUFNLHlCQUF5QixDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBUy9CLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7YUFDOUQsZ0JBQVcsR0FBRyxFQUFFLEFBQUwsQ0FBTTtJQW9CeEIsWUFDVSxTQUEyQixFQUMzQixPQUFnQixFQUNoQixlQUFtQyxFQUNuQyxjQUE4QjtRQUV0QyxLQUFLLEVBQUUsQ0FBQztRQUxBLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBQ25DLG1C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LFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FsTlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsK1lBa0JBLFVBQVUsb0RDN0NoRCx3eElBMEdBOzsyRkQvRWEseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLHVCQUF1Qjt5S0FXdkIsUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNFLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRzRDLFdBQVc7c0JBQTVELFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFxQm5DLE9BQU87c0JBQW5CLEtBQUs7Z0JBT0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgbW9kZWwsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByeURpYWxvZ1NlcnZpY2UsIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBIeXBBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbC9wcm9jZWR1cmUvaHlwLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEh2eUFjdGlvbk1lbnVDb21wb25lbnQsIEh2eUFjdGlvbk1lbnVEYXRhIH0gZnJvbSAnLi9hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEFDVElPTlNfVFlQRVMgfSBmcm9tICcuL2FjdGlvbnMtdHlwZXMuY29uc3RhbnQnO1xuaW1wb3J0IHsgSHlwQ29tbWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3RvcmUvY29tbWVudHMvY29tbWVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIeXBFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtZGV0YWlsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBIeXBDb21tZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvY29tbWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtTZXJ2aWNlU2VydmljZX0gZnJvbSBcIi4uLy4uL3N0b3JlL3NlcnZpY2Uvc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1wcm9jZWR1cmUtYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZWR1cmUtYWN0aW9ucy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvY2VkdXJlQWN0aW9uc0NvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIHN0YXRpYyBDQVJEX0hFSUdIVCA9IDc1O1xuICBtb3ZpbmdBY3Rpb24/OiBIeXBBY3Rpb247XG4gIG1vdmVTdGFydCA9IDA7XG4gIG1vdmVJbml0aWFsSW5kZXggPSAwO1xuICBpbml0aWFsQWN0aW9uTGlzdDogSHlwQWN0aW9uW10gPSBbXTtcbiAgcHJldmlvdXNPZmZzZXQgPSAwO1xuICBkcmFnVGFyZ2V0PzogRXZlbnRUYXJnZXQgfCBudWxsO1xuICBAT3V0cHV0KCkgbW9kaWZpZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEh5cEFjdGlvbltdPigpO1xuICBAT3V0cHV0KCkgY29tbWVudGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGFjdGlvbjogSHlwQWN0aW9uOyBjb21tZW50czogSHlwQ29tbWVudFtdIH0+KCk7XG4gIEBJbnB1dCgpIG1vZGU6ICdtb2RlbCcgfCAncHJvY2VkdXJlJyA9ICdwcm9jZWR1cmUnO1xuICBASW5wdXQoKSBtZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRPbmx5Q29tbWVudDogYm9vbGVhbiB8IG51bGwgPSBmYWxzZTtcbiAgQElucHV0KCkgZW5hYmxlRWRpdEFjdGlvbnM6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGV2ZW50czogSHlwRXZlbnREZXRhaWxzW10gPSBbXTtcbiAgQUNUSU9OU19UWVBFUzogc3RyaW5nW107XG4gIF9hY3Rpb25zOiBIeXBBY3Rpb25bXSA9IFtdO1xuICBAVmlld0NoaWxkcmVuKCdtZW51QnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIG1lbnVCdXR0b25zITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICB0cmlnZ2VyczogeyBbcDogc3RyaW5nXTogU3ViamVjdDxib29sZWFuPiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcnlEaWFsb2c6IFByeURpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgY29tbWVudHNTZXJ2aWNlOiBIeXBDb21tZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlU2VydmljZTogU2VydmljZVNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5BQ1RJT05TX1RZUEVTID0gT2JqZWN0LmtleXMoQUNUSU9OU19UWVBFUy52YWx1ZXMpO1xuICAgIHRoaXMuQUNUSU9OU19UWVBFUy5zb3J0KChhLCBiKSA9PiBBQ1RJT05TX1RZUEVTLnZhbHVlc1thXS5vcmRlciAtIEFDVElPTlNfVFlQRVMudmFsdWVzW2JdLm9yZGVyKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zZXJ2aWNlU2VydmljZS5yZWZyZXNoRGlBY3Rpb24uc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmKHJlc3VsdCl7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoQWN0aW9ucy5uZXh0KHRoaXMuYWN0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgQElucHV0KCkgc2V0IGFjdGlvbnMoYWN0aW9uczogSHlwQWN0aW9uW10pIHtcbiAgICB0aGlzLl9hY3Rpb25zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhY3Rpb25zID8/IFtdKSk7XG4gICAgdGhpcy50cmlnZ2VycyA9IHRoaXMuYWN0aW9uc1xuICAgICAgLm1hcCgoYSkgPT4gKHsgW2EuaWRdOiBuZXcgU3ViamVjdDxib29sZWFuPigpIH0pKVxuICAgICAgLnJlZHVjZSgocCwgYykgPT4gKHsgLi4ucCwgLi4uYyB9KSwge30pO1xuICB9XG5cbiAgQE91dHB1dCgpIHJlZnJlc2hBY3Rpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxIeXBBY3Rpb25bXT4oKTtcblxuICBnZXQgYWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9ucztcbiAgfVxuXG4gIGdldCBlZGl0aW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMuYWN0aW9ucy5maW5kKChhY3Rpb24pID0+IGFjdGlvbi5fc3RhdHVzKTtcbiAgfVxuXG4gIG9uTW91c2VEb3duKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuZHJhZ1RhcmdldCA9ICRldmVudC50YXJnZXQ7XG4gIH1cblxuICBkcmFnU3RhcnQoJGV2ZW50OiBNb3VzZUV2ZW50LCBhY3Rpb246IEh5cEFjdGlvbiwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmRyYWdUYXJnZXQgJiYgKHRoaXMuZHJhZ1RhcmdldCBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUubWFza0ltYWdlLmluZGV4T2YoJ3NpeF9kb3QnKSA+IC0xKSB7XG4gICAgICB0aGlzLm1vdmluZ0FjdGlvbiA9IGFjdGlvbjtcbiAgICAgIHRoaXMubW92ZVN0YXJ0ID0gJGV2ZW50LmNsaWVudFk7XG4gICAgICB0aGlzLm1vdmVJbml0aWFsSW5kZXggPSBpbmRleDtcbiAgICAgIHRoaXMuaW5pdGlhbEFjdGlvbkxpc3QgPSBbLi4udGhpcy5hY3Rpb25zXTtcbiAgICB9IGVsc2Uge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgbW92ZSgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5tb3ZpbmdBY3Rpb24pIHtcbiAgICAgIGNvbnN0IG9mZnNldEluQ2FyZHMgPSBNYXRoLnJvdW5kKCgkZXZlbnQuY2xpZW50WSAtIHRoaXMubW92ZVN0YXJ0KSAvIFByb2NlZHVyZUFjdGlvbnNDb21wb25lbnQuQ0FSRF9IRUlHSFQpO1xuICAgICAgaWYgKHRoaXMucHJldmlvdXNPZmZzZXQgIT09IG9mZnNldEluQ2FyZHMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c09mZnNldCA9IG9mZnNldEluQ2FyZHM7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID0gTWF0aC5taW4oXG4gICAgICAgICAgTWF0aC5tYXgodGhpcy5tb3ZlSW5pdGlhbEluZGV4ICsgb2Zmc2V0SW5DYXJkcywgMCksXG4gICAgICAgICAgdGhpcy5pbml0aWFsQWN0aW9uTGlzdC5sZW5ndGggLSAxXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG5ld0FjdGlvbnMgPSBbLi4udGhpcy5pbml0aWFsQWN0aW9uTGlzdF07XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBuZXdBY3Rpb25zLnNwbGljZSh0aGlzLm1vdmVJbml0aWFsSW5kZXgsIDEpWzBdO1xuICAgICAgICBuZXdBY3Rpb25zLnNwbGljZShuZXdJbmRleCwgMCwgZWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5tb2RpZmllZC5uZXh0KG5ld0FjdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRyb3AoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5tb3ZlKCRldmVudCk7XG4gICAgdGhpcy5tb3ZpbmdBY3Rpb24gPSB1bmRlZmluZWQ7XG4gIH1cblxuICBhbGxvd0Ryb3AoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICB0b2dnbGVBY3Rpb25TdGF0dXMoaW5kZXg6IG51bWJlciwgJGV2ZW50OiBNb3VzZUV2ZW50LCBkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghZGlzYWJsZWQpIHtcbiAgICAgIGNvbnN0IG5ld0FjdGlvbnMgPSBbLi4udGhpcy5hY3Rpb25zXTtcbiAgICAgIGlmIChuZXdBY3Rpb25zW2luZGV4XS5zdGF0dXMgIT09ICdET05FJykge1xuICAgICAgICBuZXdBY3Rpb25zW2luZGV4XSA9IHtcbiAgICAgICAgICAuLi5uZXdBY3Rpb25zW2luZGV4XSxcbiAgICAgICAgICBzdGF0dXM6IG5ld0FjdGlvbnNbaW5kZXhdLnN0YXR1cyA9PT0gJ05FVycgPyAnSU5fUFJPR1JFU1MnIDogJ05FVydcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5tb2RpZmllZC5uZXh0KG5ld0FjdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFkZCgpIHtcbiAgICB0aGlzLmFjdGlvbnMucHVzaCh7IHR5cGU6ICcnLCBzdGF0dXM6ICdORVcnLCBpZDogdjQoKSwgX3N0YXR1czogJ2NyZWF0ZScgfSBhcyBIeXBBY3Rpb24pO1xuICAgIHRoaXMubW9kaWZpZWQubmV4dCh0aGlzLmFjdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGVsID0gbW9kZWw7XG5cbiAgdXBkYXRlKGlkeDogbnVtYmVyLCBwcm9wOiBzdHJpbmcsICRldmVudDogYW55KSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMuYWN0aW9uc1tpZHhdW3Byb3BdID0gJGV2ZW50O1xuICB9XG5cbiAgb3Blbk1vZGFsKGFjdGlvbjogSHlwQWN0aW9uLCBpZHg6IG51bWJlcikge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMucHJ5RGlhbG9nLm9wZW4oSHZ5QWN0aW9uTWVudUNvbXBvbmVudCwge1xuICAgICAgb3ZlcmxheUNvbmZpZzoge1xuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgcGFuZWxDbGFzczogWydwcnktZGlhbG9nLWNvbnRhaW5lciddLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AnLFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMubWVudUJ1dHRvbnMuZ2V0KGlkeCkhKVxuICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdKVxuICAgICAgfSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICAgIGVuYWJsZUVkaXRBY3Rpb25zOiB0aGlzLmVuYWJsZUVkaXRBY3Rpb25zXG4gICAgICB9IGFzIEh2eUFjdGlvbk1lbnVEYXRhXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdWIgPSBkaWFsb2dSZWYuY2xvc2VWYWx1ZS5zdWJzY3JpYmUoKHR5cGUpID0+IHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICB0aGlzLnRyaWdnZXJzW2FjdGlvbi5pZF0ubmV4dCh0cnVlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndXBkYXRlJzpcbiAgICAgICAgICBhY3Rpb24uX2luaXRpYWwgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFjdGlvbikpO1xuICAgICAgICAgIGFjdGlvbi5fc3RhdHVzID0gJ21vZGlmeSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgICAgdGhpcy5hY3Rpb25zLnNwbGljZShpZHgsIDEpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkb25lJzpcbiAgICAgICAgICBhY3Rpb24uc3RhdHVzID0gJ0RPTkUnO1xuICAgICAgfVxuICAgICAgdGhpcy5tb2RpZmllZC5uZXh0KHRoaXMuYWN0aW9ucyk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICB9XG5cbiAgc2F2ZUFjdGlvbihhY3Rpb246IEh5cEFjdGlvbiwgaWR4OiBudW1iZXIpIHtcbiAgICBkZWxldGUgYWN0aW9uLl9pbml0aWFsO1xuICAgIGRlbGV0ZSBhY3Rpb24uX3N0YXR1cztcbiAgICB0aGlzLm1vZGlmaWVkLm5leHQodGhpcy5hY3Rpb25zKTtcbiAgfVxuXG4gIGNhbmNlbEFjdGlvbihhY3Rpb246IEh5cEFjdGlvbiwgaWR4OiBudW1iZXIpIHtcbiAgICBpZiAoYWN0aW9uLl9zdGF0dXMgPT09ICdtb2RpZnknKSB7XG4gICAgICB0aGlzLmFjdGlvbnNbaWR4XSA9IHsgLi4uYWN0aW9uLl9pbml0aWFsISB9O1xuICAgICAgZGVsZXRlIHRoaXMuYWN0aW9uc1tpZHhdLl9pbml0aWFsO1xuICAgICAgZGVsZXRlIHRoaXMuYWN0aW9uc1tpZHhdLl9zdGF0dXM7XG4gICAgfSBlbHNlIGlmIChhY3Rpb24uX3N0YXR1cyA9PT0gJ2NyZWF0ZScpIHtcbiAgICAgIHRoaXMuYWN0aW9ucy5zcGxpY2UoaWR4LCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgaGFwcGVuJyk7XG4gICAgfVxuICAgIHRoaXMubW9kaWZpZWQubmV4dCh0aGlzLmFjdGlvbnMpO1xuICB9XG5cbiAgaXNWYWxpZChhY3Rpb246IEh5cEFjdGlvbikge1xuICAgIHJldHVybiAoXG4gICAgICBhY3Rpb24udHlwZSAmJlxuICAgICAgKEFDVElPTlNfVFlQRVMudmFsdWVzW2FjdGlvbi50eXBlXS52YWxpZGF0b3IgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICBBQ1RJT05TX1RZUEVTLnZhbHVlc1thY3Rpb24udHlwZV0udmFsaWRhdG9yIShhY3Rpb24pKVxuICAgICk7XG4gIH1cblxuICBpc0RyYWdnYWJsZShhY3Rpb246IEh5cEFjdGlvbikge1xuICAgIHJldHVybiAhdGhpcy5lZGl0aW5nICYmIGFjdGlvbi5zdGF0dXMgPT09ICdORVcnICYmICF0aGlzLnJlYWRvbmx5ICYmIHRoaXMuZW5hYmxlRWRpdEFjdGlvbnM7XG4gIH1cblxuICB1cGRhdGVDb21tZW50KGFjdGlvbjogSHlwQWN0aW9uLCBjb21tZW50OiB7IGlkOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5jb21tZW50c1NlcnZpY2Uuc2F2ZShhY3Rpb24uaWQsICdhY3Rpb25zJywgY29tbWVudCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY29tbWVudHNTZXJ2aWNlLmdldChhY3Rpb24uaWQsICdhY3Rpb25zJykuc3Vic2NyaWJlKChjb21tZW50cykgPT4ge1xuICAgICAgICB0aGlzLmNvbW1lbnRlZC5uZXh0KHsgYWN0aW9uLCBjb21tZW50cyB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiby1odnktZXZlbnRzLWRldGFpbF9fcHJvY2VkdXJlX19hY3Rpb25zXCJcbiAgKGRyYWcpPVwibW92ZSgkZXZlbnQpXCJcbiAgKGRyb3ApPVwiZHJvcCgkZXZlbnQpXCJcbiAgKGRyYWdvdmVyKT1cImFsbG93RHJvcCgkZXZlbnQpXCJcbj5cbiAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnM7IHRyYWNrIGFjdGlvbi5pZDsgbGV0IGlkeCA9ICRpbmRleCkge1xuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiby1odnktZXZlbnRzLWRldGFpbF9fcHJvY2VkdXJlX19hY3Rpb25zX19hY3Rpb25cIlxuICAgICAgW2RyYWdnYWJsZV09XCJpc0RyYWdnYWJsZShhY3Rpb24pICYmICFyZWFkb25seVwiXG4gICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydCgkZXZlbnQsIGFjdGlvbiwgaWR4KVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgICAgW2NsYXNzLi11cGRhdGluZ109XCIhIWFjdGlvbi5fc3RhdHVzXCJcbiAgICAgIFtjbGFzcy4tb3RoZXItdXBkYXRpbmddPVwiZWRpdGluZ1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50cy1kZXRhaWxfX3Byb2NlZHVyZV9fYWN0aW9uc19fYWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgQGlmICh0aGlzLmVuYWJsZUVkaXRBY3Rpb25zKSB7XG4gICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICBpY29uU3ZnPVwic2l4X2RvdFwiXG4gICAgICAgICAgICAjaGFuZGxlXG4gICAgICAgICAgICBbY2xhc3MuLWRpc2FibGVkXT1cIiFpc0RyYWdnYWJsZShhY3Rpb24pXCJcbiAgICAgICAgICAgIFtjbGFzcy4taGlkZGVuXT1cImFjdGlvbi5fc3RhdHVzIHx8IHJlYWRvbmx5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZ3JhYmJhYmxlXCJcbiAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwibnVtYmVyLWJhZGdlXCI+e3sgaWR4ICsgMSB9fTwvZGl2PlxuICAgICAgICBAaWYgKCFhY3Rpb24uX3N0YXR1cyB8fCByZWFkb25seSkge1xuICAgICAgICAgIEBpZiAobW9kZSA9PT0gJ3Byb2NlZHVyZScpIHtcbiAgICAgICAgICAgIDxwcnktY2hlY2tib3hcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwiYWN0aW9uLnN0YXR1cyAhPT0gJ05FVydcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQWN0aW9uU3RhdHVzKGlkeCwgJGV2ZW50LCBhY3Rpb24uc3RhdHVzID09PSAnRE9ORScgfHwgKHJlYWRvbmx5ID8/IGZhbHNlKSlcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLnN0YXR1cyA9PT0gJ0RPTkUnIHx8IChyZWFkb25seSA/PyBmYWxzZSlcIlxuICAgICAgICAgICAgICBbY2xhc3MuLWRpc2FibGVkXT1cImFjdGlvbi5zdGF0dXMgPT09ICdET05FJyB8fCAocmVhZG9ubHkgPz8gZmFsc2UpXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidAaHZ5LnByb2NlZHVyZS5jaGVja2JveC4nICsgYWN0aW9uLnN0YXR1cyB8IGkxOG5cIlxuICAgICAgICAgICAgPjwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IFtjbGFzcy4tZG9uZV09XCJhY3Rpb24uc3RhdHVzID09PSAnRE9ORSdcIiBbY2xhc3MuLWRpc2FibGVkXT1cImVkaXRpbmdcIj5cbiAgICAgICAgICAgIDxodnktYWN0aW9uLXBhcmFtZXRlclxuICAgICAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgIFt0eXBlXT1cImFjdGlvbi50eXBlXCJcbiAgICAgICAgICAgICAgW2lzUGFyYW1dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZXZlbnRzXT1cInRoaXMuZXZlbnRzXCJcbiAgICAgICAgICAgICAgW21vZGVdPVwidGhpcy5tb2RlXCJcbiAgICAgICAgICAgID48L2h2eS1hY3Rpb24tcGFyYW1ldGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIEBpZiAoIXJlYWRvbmx5KSB7XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJvcGVuTW9kYWwoYWN0aW9uLCBpZHgpXCIgW2Rpc2FibGVkXT1cImVkaXRpbmdcIj5cbiAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJtb3JlX2hvcml6XCIgI21lbnVCdXR0b24+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50cy1kZXRhaWxfX3Byb2NlZHVyZV9fYWN0aW9uc19fYWN0aW9uX19jcmVhdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtZGV0YWlsX19wcm9jZWR1cmVfX2FjdGlvbnNfX2FjdGlvbl9fY3JlYXRlX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPHA+e3sgJ0BodnkucHJvY2VkdXJlLmFjdGlvbi4nICsgYWN0aW9uLl9zdGF0dXMgfCBpMThuIH19PC9wPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJzYXZlQWN0aW9uKGFjdGlvbiwgaWR4KVwiIFtkaXNhYmxlZF09XCIhaXNWYWxpZChhY3Rpb24pXCI+XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjaGVja1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJjYW5jZWxBY3Rpb24oYWN0aW9uLCBpZHgpXCI+XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImFjdGlvbi50eXBlXCJcbiAgICAgICAgICAgICAgICBbaXRlbXNdPVwiQUNUSU9OU19UWVBFU1wiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlKGlkeCwgJ3R5cGUnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBpMThuUHJlZml4PVwiQGh2eS5wcm9jZWR1cmUuYWN0aW9uLlwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAaHZ5LnByb2NlZHVyZS5hY3Rpb24ucGxhY2Vob2xkZXIuYWN0aW9uJyB8IGkxOG5cIlxuICAgICAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aHZ5LWFjdGlvbi1wYXJhbWV0ZXJcbiAgICAgICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICBbdHlwZV09XCJhY3Rpb24udHlwZVwiXG4gICAgICAgICAgICAgIFtpc1BhcmFtXT1cInRydWVcIlxuICAgICAgICAgICAgICBbZXZlbnRzXT1cInRoaXMuZXZlbnRzXCJcbiAgICAgICAgICAgICAgW21vZGVdPVwidGhpcy5tb2RlXCJcbiAgICAgICAgICAgID48L2h2eS1hY3Rpb24tcGFyYW1ldGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxodnktY29tbWVudHNcbiAgICAgICAgW2xhc3RDb21tZW50XT1cImFjdGlvbi5sYXN0Q29tbWVudFwiXG4gICAgICAgIFtjb21tZW50Q291bnRdPVwiYWN0aW9uLmNvbW1lbnRzQ291bnRcIlxuICAgICAgICBbb2JqZWN0SWRdPVwiYWN0aW9uLmlkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRPbmx5Q29tbWVudFwiXG4gICAgICAgIChjb21tZW50ZWQpPVwidXBkYXRlQ29tbWVudChhY3Rpb24sICRldmVudClcIlxuICAgICAgICBbdHlwZV09XCInYWN0aW9ucydcIlxuICAgICAgICBbdHJpZ2dlcl09XCJ0cmlnZ2Vyc1thY3Rpb24uaWRdXCJcbiAgICAgICAgW2Rpc3BsYXlFbXB0eV09XCJmYWxzZVwiXG4gICAgICAgIFttZV09XCJtZVwiXG4gICAgICA+PC9odnktY29tbWVudHM+XG4gICAgPC9kaXY+XG4gIH0gQGVtcHR5IHtcbiAgICBAaWYgKGFjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICA8ZGl2Pnt7ICdAaHZ5LmV2ZW50LmxvZy5wcm9jZWR1cmUubm9BY3Rpb24nIHwgaTE4biB9fTwvZGl2PlxuICAgIH1cbiAgfVxuICBAaWYgKCFyZWFkb25seSAmJiBlbmFibGVFZGl0QWN0aW9ucykge1xuICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtZGV0YWlsX19wcm9jZWR1cmVfX2J1dHRvblwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cImFkZCgpXCIgW2Rpc2FibGVkXT1cImVkaXRpbmdcIj5cbiAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJhZGRcIj48L3ByeS1pY29uPlxuICAgICAgICB7eyAnQGh2eS5wcm9jZWR1cmUuYWN0aW9uLmFkZCcgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -111,7 +111,7 @@ export class ProcedureModelDetailComponent extends SubscriptionnerDirective {
111
111
  this._outputModifications();
112
112
  }
113
113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ProcedureModelDetailComponent, deps: [{ token: i1.Actions }], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ProcedureModelDetailComponent, selector: "hvy-procedure-model-detail", inputs: { model: "model", username: "username", title: "title", eventErrors: "eventErrors", readonly: "readonly", readOnlyComment: "readOnlyComment", cancelModifications: "cancelModifications" }, outputs: { eventErrorsChange: "eventErrorsChange", modified: "modified" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-procedure-detail\">\n <h1>{{ title ?? '@hvy.procedure.detail' | i18n }}</h1>\n <div class=\"o-hvy-procedure-detail__container\">\n <div class=\"o-hvy-procedure-detail__container__scrollable\">\n @if (modifiedModel; as model) {\n <div class=\"o-hvy-procedure-detail__form\">\n <h3>{{ '@hvy.procedure.formTitle' | i18n }}</h3>\n <table>\n <tbody>\n <tr>\n <td>{{ '@hvy.procedure.title' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('name')\"\n [value]=\"model.name\"\n (change)=\"modify('name', $event)\"\n [maxLength]=\"50\"\n [readonly]=\"readonly\"\n />\n @if (hasError('title')) {\n <span class=\"a-form-field -error\">{{ '@hvy.procedure.alreadyExists' | i18n }}</span>\n }\n </td>\n </tr>\n @if (model.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(model.id)\" readonly />\n </td>\n </tr>\n }\n <tr>\n <td>{{ '@hvy.procedure.description' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <textarea\n [ngModel]=\"model.description\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('description')\"\n (ngModelChange)=\"modify('description', $event)\"\n [maxLength]=\"256\"\n [readonly]=\"readonly\"\n ></textarea>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [items]=\"DOMAINS\"\n [ngModel]=\"model.domain\"\n i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain')\"\n (ngModelChange)=\"modify('domain', $event)\"\n [disabled]=\"readonly\"\n ></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.procedure.creator' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"model.creator\" readonly />\n </td>\n </tr>\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]=\"model.creationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n </tr>\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]=\"model.lastModificationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div class=\"o-hvy-procedure-detail__actions\">\n <h3>{{ '@hvy.procedure.actions' | i18n }} ({{ model.actions?.length }})</h3>\n <hvy-procedure-actions\n [actions]=\"model.actions\"\n (modified)=\"updateActions($event)\"\n [readonly]=\"readonly\"\n [readOnlyComment]=\"readOnlyComment\"\n mode=\"model\"\n [enableEditActions]=\"true\"\n ></hvy-procedure-actions>\n </div>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i4.ProcedureActionsComponent, selector: "hvy-procedure-actions", inputs: ["mode", "me", "readonly", "readOnlyComment", "enableEditActions", "events", "actions"], outputs: ["modified", "commented"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.ForDatetimeLocalPipe, name: "forDateTimeLocal" }] }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ProcedureModelDetailComponent, selector: "hvy-procedure-model-detail", inputs: { model: "model", username: "username", title: "title", eventErrors: "eventErrors", readonly: "readonly", readOnlyComment: "readOnlyComment", cancelModifications: "cancelModifications" }, outputs: { eventErrorsChange: "eventErrorsChange", modified: "modified" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-hvy-procedure-detail\">\n <h1>{{ title ?? '@hvy.procedure.detail' | i18n }}</h1>\n <div class=\"o-hvy-procedure-detail__container\">\n <div class=\"o-hvy-procedure-detail__container__scrollable\">\n @if (modifiedModel; as model) {\n <div class=\"o-hvy-procedure-detail__form\">\n <h3>{{ '@hvy.procedure.formTitle' | i18n }}</h3>\n <table>\n <tbody>\n <tr>\n <td>{{ '@hvy.procedure.title' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('name')\"\n [value]=\"model.name\"\n (change)=\"modify('name', $event)\"\n [maxLength]=\"50\"\n [readonly]=\"readonly\"\n />\n @if (hasError('title')) {\n <span class=\"a-form-field -error\">{{ '@hvy.procedure.alreadyExists' | i18n }}</span>\n }\n </td>\n </tr>\n @if (model.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(model.id)\" readonly />\n </td>\n </tr>\n }\n <tr>\n <td>{{ '@hvy.procedure.description' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <textarea\n [ngModel]=\"model.description\"\n class=\"a-form-field\"\n [class.-error]=\"hasError('description')\"\n (ngModelChange)=\"modify('description', $event)\"\n [maxLength]=\"256\"\n [readonly]=\"readonly\"\n ></textarea>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.event.domain.name' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <pry-select\n [items]=\"DOMAINS\"\n [ngModel]=\"model.domain\"\n i18nPrefix=\"@hvy.event.domain.\"\n [class.-error]=\"hasError('domain')\"\n (ngModelChange)=\"modify('domain', $event)\"\n [disabled]=\"readonly\"\n ></pry-select>\n </td>\n </tr>\n <tr>\n <td>{{ '@hvy.procedure.creator' | i18n }}<span class=\"required\">*</span> :</td>\n <td>\n <input type=\"text\" class=\"a-form-field\" [value]=\"model.creator\" readonly />\n </td>\n </tr>\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]=\"model.creationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n </tr>\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]=\"model.lastModificationDate | forDateTimeLocal\"\n readonly\n />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div class=\"o-hvy-procedure-detail__actions\">\n <h3>{{ '@hvy.procedure.actions' | i18n }} ({{ model.actions?.length }})</h3>\n <hvy-procedure-actions\n [actions]=\"model.actions\"\n (modified)=\"updateActions($event)\"\n [readonly]=\"readonly\"\n [readOnlyComment]=\"readOnlyComment\"\n mode=\"model\"\n [enableEditActions]=\"true\"\n ></hvy-procedure-actions>\n </div>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i4.ProcedureActionsComponent, selector: "hvy-procedure-actions", inputs: ["mode", "me", "readonly", "readOnlyComment", "enableEditActions", "events", "actions"], outputs: ["modified", "commented", "refreshActions"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.ForDatetimeLocalPipe, name: "forDateTimeLocal" }] }); }
115
115
  }
116
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ProcedureModelDetailComponent, decorators: [{
117
117
  type: Component,
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { mergeMap } from 'rxjs';
2
+ import { mergeMap, Subject } from 'rxjs';
3
3
  import { HypSelectors } from '../hypervisor/hypervisor.selectors';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common/http";
@@ -8,6 +8,7 @@ export class ServiceService {
8
8
  constructor(httpClient, store) {
9
9
  this.httpClient = httpClient;
10
10
  this.store = store;
11
+ this.refreshDiAction = new Subject();
11
12
  }
12
13
  types() {
13
14
  return this.store.select(HypSelectors.url).pipe(mergeMap((url) => {
@@ -28,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
28
29
  providedIn: 'root'
29
30
  }]
30
31
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Store }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvc3RvcmUvc2VydmljZS9zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQXFCbEUsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDVSxVQUFzQixFQUN0QixLQUFpQjtRQURqQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFDeEIsQ0FBQztJQUVKLEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzdDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBbUIsU0FBUyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQW1CLEVBQUUsUUFBZ0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM3QyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQWlCLFNBQVMsQ0FBQyxHQUFHLEdBQUcseUJBQXlCLFFBQVEsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0csQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OEdBcEJVLGNBQWM7a0hBQWQsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1lcmdlTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEh5cFNlbGVjdG9ycyB9IGZyb20gJy4uL2h5cGVydmlzb3IvaHlwZXJ2aXNvci5zZWxlY3RvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEh5cFNlcnZpY2VUeXBlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBkb21haW46IHN0cmluZztcbiAgZ3RpOiBudW1iZXI7XG4gIGd0cjogbnVtYmVyO1xuICBndHJwOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHlwU2VydmljZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZXF1aXBtZW50OiBzdHJpbmc7XG4gIHByaW9yaXR5OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PlxuICApIHt9XG5cbiAgdHlwZXMoKTogT2JzZXJ2YWJsZTxIeXBTZXJ2aWNlVHlwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEh5cFNlcnZpY2VUeXBlW10+KGVuY29kZVVSSShgJHt1cmx9L3NlcnZpY2VzVHlwZWApKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZShzZXJ2aWNlOiBIeXBTZXJ2aWNlLCBhY3Rpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDx7IGlkOiBzdHJpbmcgfT4oZW5jb2RlVVJJKGAke3VybH0vc2VydmljZXMvZXh0ZXJuYWwvaWQvJHthY3Rpb25JZH1gKSwgc2VydmljZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvc3RvcmUvc2VydmljZS9zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsUUFBUSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFxQmxFLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1UsVUFBc0IsRUFDdEIsS0FBaUI7UUFEakIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBSHBCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUlwQyxDQUFDO0lBRUosS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDN0MsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFtQixTQUFTLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBbUIsRUFBRSxRQUFnQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzdDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBaUIsU0FBUyxDQUFDLEdBQUcsR0FBRyx5QkFBeUIsUUFBUSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3RyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0FyQlUsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7bWVyZ2VNYXAsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBIeXBTZWxlY3RvcnMgfSBmcm9tICcuLi9oeXBlcnZpc29yL2h5cGVydmlzb3Iuc2VsZWN0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBIeXBTZXJ2aWNlVHlwZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZG9tYWluOiBzdHJpbmc7XG4gIGd0aTogbnVtYmVyO1xuICBndHI6IG51bWJlcjtcbiAgZ3RycDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh5cFNlcnZpY2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIGVxdWlwbWVudDogc3RyaW5nO1xuICBwcmlvcml0eTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VTZXJ2aWNlIHtcbiAgcHVibGljIHJlZnJlc2hEaUFjdGlvbiA9IG5ldyBTdWJqZWN0KCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+XG4gICkge31cblxuICB0eXBlcygpOiBPYnNlcnZhYmxlPEh5cFNlcnZpY2VUeXBlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwU2VydmljZVR5cGVbXT4oZW5jb2RlVVJJKGAke3VybH0vc2VydmljZXNUeXBlYCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlKHNlcnZpY2U6IEh5cFNlcnZpY2UsIGFjdGlvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PHsgaWQ6IHN0cmluZyB9PihlbmNvZGVVUkkoYCR7dXJsfS9zZXJ2aWNlcy9leHRlcm5hbC9pZC8ke2FjdGlvbklkfWApLCBzZXJ2aWNlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19