myrtex-mf-competition 1.0.21 → 1.0.22

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.
@@ -3,13 +3,7 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "../services/competition-header.service";
4
4
  import * as i2 from "@ngrx/effects";
5
5
  import * as i3 from "@ngrx/store";
6
- // import {
7
- // AlertService,
8
- // CompetitionVersionStatusEnum,
9
- // MessageSeverity,
10
- // selectCompetitionId,
11
- // Utilities
12
- // } from 'myrtex-mf-ui-composite';
6
+ import * as i4 from "myrtex-mf-ui-composite";
13
7
  export class CompetitionHeaderEffects {
14
8
  // loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(
15
9
  // ofType(ECompetitionHeaderActions.LoadCompetitionHeader),
@@ -175,15 +169,16 @@ export class CompetitionHeaderEffects {
175
169
  // ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),
176
170
  // tap(() => window.location.reload())
177
171
  // ), {dispatch: false});
178
- constructor(competitionHeaderService, actions$, store) {
172
+ constructor(competitionHeaderService, actions$, store, alertService) {
179
173
  this.competitionHeaderService = competitionHeaderService;
180
174
  this.actions$ = actions$;
181
175
  this.store = store;
176
+ this.alertService = alertService;
182
177
  }
183
178
  }
184
- CompetitionHeaderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, deps: [{ token: i1.CompetitionHeaderService }, { token: i2.Actions }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Injectable });
179
+ CompetitionHeaderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, deps: [{ token: i1.CompetitionHeaderService }, { token: i2.Actions }, { token: i3.Store }, { token: i4.AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
185
180
  CompetitionHeaderEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects });
186
181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, decorators: [{
187
182
  type: Injectable
188
- }], ctorParameters: function () { return [{ type: i1.CompetitionHeaderService }, { type: i2.Actions }, { type: i3.Store }]; } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zdG9yZS9jb21wZXRpdGlvbi1oZWFkZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN6QyxXQUFXO0FBQ1gsa0JBQWtCO0FBQ2xCLGtDQUFrQztBQUNsQyxxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLGNBQWM7QUFDZCxtQ0FBbUM7QUFJbkMsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxrRUFBa0U7SUFDbEUsNkRBQTZEO0lBQzdELGtFQUFrRTtJQUNsRSx1Q0FBdUM7SUFDdkMsMEVBQTBFO0lBQzFFLDRJQUE0STtJQUM1SSw4QkFBOEI7SUFDOUIsMkVBQTJFO0lBQzNFLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixFQUFFO0lBQ0YscUVBQXFFO0lBQ3JFLGdFQUFnRTtJQUNoRSw4REFBOEQ7SUFDOUQsa0VBQWtFO0lBQ2xFLGdEQUFnRDtJQUNoRCx5RkFBeUY7SUFDekYsMkdBQTJHO0lBQzNHLDhCQUE4QjtJQUM5QiwyRUFBMkU7SUFDM0Usd0JBQXdCO0lBQ3hCLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVTtJQUNWLEVBQUU7SUFDRiw0RUFBNEU7SUFDNUUsdUVBQXVFO0lBQ3ZFLGtFQUFrRTtJQUNsRSx1SEFBdUg7SUFDdkgseUJBQXlCO0lBQ3pCLEVBQUU7SUFDRixxRUFBcUU7SUFDckUsZ0VBQWdFO0lBQ2hFLGtFQUFrRTtJQUNsRSx1Q0FBdUM7SUFDdkMsOEVBQThFO0lBQzlFLGtIQUFrSDtJQUNsSCw4QkFBOEI7SUFDOUIsMkVBQTJFO0lBQzNFLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixFQUFFO0lBQ0YsNEVBQTRFO0lBQzVFLHVFQUF1RTtJQUN2RSw4REFBOEQ7SUFDOUQsa0VBQWtFO0lBQ2xFLHdDQUF3QztJQUN4QyxxSEFBcUg7SUFDckgseUJBQXlCO0lBQ3pCLEVBQUU7SUFDRiwyRUFBMkU7SUFDM0Usc0VBQXNFO0lBQ3RFLDBGQUEwRjtJQUMxRixrRUFBa0U7SUFDbEUsNkNBQTZDO0lBQzdDLHFIQUFxSDtJQUNySCxtQ0FBbUM7SUFDbkMsa0ZBQWtGO0lBQ2xGLHlDQUF5QztJQUN6QyxrQ0FBa0M7SUFDbEMsY0FBYztJQUNkLFlBQVk7SUFDWiw4QkFBOEI7SUFDOUIsMkVBQTJFO0lBQzNFLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixFQUFFO0lBQ0Ysb0ZBQW9GO0lBQ3BGLCtFQUErRTtJQUMvRSw0RkFBNEY7SUFDNUYsb0VBQW9FO0lBQ3BFLHlDQUF5QztJQUN6Qyx5RUFBeUU7SUFDekUsK0hBQStIO0lBQy9ILGlCQUFpQjtJQUNqQixvQ0FBb0M7SUFDcEMsVUFBVTtJQUNWLFNBQVM7SUFDVCw2QkFBNkI7SUFDN0IsRUFBRTtJQUNGLHFFQUFxRTtJQUNyRSxnRUFBZ0U7SUFDaEUsOERBQThEO0lBQzlELGtFQUFrRTtJQUNsRSwwQ0FBMEM7SUFDMUMseUdBQXlHO0lBQ3pHLHFDQUFxQztJQUNyQyxPQUFPO0lBQ1AseUJBQXlCO0lBQ3pCLEVBQUU7SUFDRixpRUFBaUU7SUFDakUsMkRBQTJEO0lBQzNELGtFQUFrRTtJQUNsRSx1Q0FBdUM7SUFDdkMseUVBQXlFO0lBQ3pFLHlGQUF5RjtJQUN6RixzQ0FBc0M7SUFDdEMsK0ZBQStGO0lBQy9GLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsU0FBUztJQUNULE9BQU87SUFDUCxPQUFPO0lBQ1AsRUFBRTtJQUNGLDhEQUE4RDtJQUM5RCx3REFBd0Q7SUFDeEQsa0VBQWtFO0lBQ2xFLHVDQUF1QztJQUN2QyxzRUFBc0U7SUFDdEUseUZBQXlGO0lBQ3pGLHNDQUFzQztJQUN0QyxrR0FBa0c7SUFDbEcsd0JBQXdCO0lBQ3hCLFdBQVc7SUFDWCxTQUFTO0lBQ1QsT0FBTztJQUNQLE9BQU87SUFDUCxFQUFFO0lBQ0YsaUVBQWlFO0lBQ2pFLDJEQUEyRDtJQUMzRCxrRUFBa0U7SUFDbEUsdUNBQXVDO0lBQ3ZDLHlFQUF5RTtJQUN6RSx5RkFBeUY7SUFDekYsc0NBQXNDO0lBQ3RDLG9HQUFvRztJQUNwRyx3QkFBd0I7SUFDeEIsV0FBVztJQUNYLFNBQVM7SUFDVCxPQUFPO0lBQ1AsT0FBTztJQUNQLEVBQUU7SUFDRiwrREFBK0Q7SUFDL0QseURBQXlEO0lBQ3pELGtFQUFrRTtJQUNsRSx1Q0FBdUM7SUFDdkMsdUVBQXVFO0lBQ3ZFLHlGQUF5RjtJQUN6RixzQ0FBc0M7SUFDdEMsZ0dBQWdHO0lBQ2hHLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsU0FBUztJQUNULE9BQU87SUFDUCxPQUFPO0lBQ1AsRUFBRTtJQUNGLDRFQUE0RTtJQUM1RSx1RUFBdUU7SUFDdkUsOERBQThEO0lBQzlELGtFQUFrRTtJQUNsRSx3Q0FBd0M7SUFDeEMsMkhBQTJIO0lBQzNILHlCQUF5QjtJQUN6QixFQUFFO0lBQ0YsMkVBQTJFO0lBQzNFLHNFQUFzRTtJQUN0RSx3Q0FBd0M7SUFDeEMseUJBQXlCO0lBRXpCLFlBQW9CLHdCQUFrRCxFQUNsRCxRQUFpQixFQUNqQixLQUFZO1FBRlosNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87SUFHaEMsQ0FBQzs7c0hBNUtVLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHtzZWxlY3QsIFN0b3JlfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbi8vIGltcG9ydCB7RU1QVFl9IGZyb20gJ3J4anMnO1xyXG4vLyBpbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbi8vIGltcG9ydCAqIGFzIENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucyBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuLy8gaW1wb3J0IHtjYW5jZWxDb21wZXRpdGlvbldpdGhWYWxpZGF0aW9uLCBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zfSBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuLy8gaW1wb3J0IHtDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbH0gZnJvbSAnLi4vbW9kZWxzL2NvbXBldGl0aW9uLWhlYWRlci12ZXJzaW9uLm1vZGVsJztcclxuaW1wb3J0IHtDb21wZXRpdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2NvbXBldGl0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHtcclxuLy8gICBBbGVydFNlcnZpY2UsXHJcbi8vICAgQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSxcclxuLy8gICBNZXNzYWdlU2V2ZXJpdHksXHJcbi8vICAgc2VsZWN0Q29tcGV0aXRpb25JZCxcclxuLy8gICBVdGlsaXRpZXNcclxuLy8gfSBmcm9tICdteXJ0ZXgtbWYtdWktY29tcG9zaXRlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb21wZXRpdGlvbkhlYWRlckVmZmVjdHMge1xyXG5cclxuICAvLyBsb2FkQ29tcGV0aXRpb25IZWFkZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkxvYWRDb21wZXRpdGlvbkhlYWRlciksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5nZXRIZWFkZXIoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAvLyAgICAgICBtYXAoKHJlc3VsdDogQ29tcGV0aXRpb25IZWFkZXJWZXJzaW9uTW9kZWwpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5sb2FkQ29tcGV0aXRpb25IZWFkZXJTdWNjZXNzKHtjb21wZXRpdGlvbkhlYWRlcjogcmVzdWx0fSkpLFxyXG4gIC8vICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyLCBudWxsLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gIC8vICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gIC8vICAgICAgIH0pXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9KSkpO1xyXG4gIC8vXHJcbiAgLy8gZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5EZWxldGVDb21wZXRpdGlvblZlcnNpb24pLFxyXG4gIC8vICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5kZWxldGVWZXJzaW9uKGNvbXBldGl0aW9uSWQsIHZlcnNpb25JZCkucGlwZShcclxuICAvLyAgICAgICBtYXAoKHJlc3VsdDogYm9vbGVhbikgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MoeyB2ZXJzaW9uSWQgfSkpLFxyXG4gIC8vICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyLCBudWxsLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gIC8vICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gIC8vICAgICAgIH0pXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9KSkpO1xyXG4gIC8vXHJcbiAgLy8gZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuRGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICB0YXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvYXBwbGljYXRpb24vY29tcGV0aXRpb25zL2l0ZW0/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9YClcclxuICAvLyApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcbiAgLy9cclxuICAvLyBjcmVhdGVDb21wZXRpdGlvblZlcnNpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvbiksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5jcmVhdGVWZXJzaW9uKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgLy8gICAgICAgbWFwKChyZXN1bHQ6IHN0cmluZykgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MoeyB2ZXJzaW9uSWQ6IHJlc3VsdCB9KSksXHJcbiAgLy8gICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgLy8gICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgLy8gICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgLy8gICAgICAgfSlcclxuICAvLyAgICAgKTtcclxuICAvLyAgIH0pKSk7XHJcbiAgLy9cclxuICAvLyBjcmVhdGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5DcmVhdGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzKSxcclxuICAvLyAgIG1hcCgoYWN0aW9uOiB7IHZlcnNpb25JZDogc3RyaW5nIH0pID0+IGFjdGlvbi52ZXJzaW9uSWQpLFxyXG4gIC8vICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gIC8vICAgdGFwKChbdmVyc2lvbklkLCBjb21wZXRpdGlvbklkXSkgPT5cclxuICAvLyAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL2FwcGxpY2F0aW9uL2NvbXBldGl0aW9ucy9pdGVtP2NvbXBldGl0aW9uSWQ9JHtjb21wZXRpdGlvbklkfSZ2ZXJzaW9uSWQ9JHt2ZXJzaW9uSWR9YClcclxuICAvLyApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcbiAgLy9cclxuICAvLyBjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyksXHJcbiAgLy8gICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZywgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0pID0+IGFjdGlvbiksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFthY3Rpb24sIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS52ZXJzaW9uQ2hhbmdlU3RhdHVzKGNvbXBldGl0aW9uSWQsIGFjdGlvbi52ZXJzaW9uSWQsIGFjdGlvbi5zdGF0dXMpLnBpcGUoXHJcbiAgLy8gICAgICAgbWFwKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAvLyAgICAgICAgIHJldHVybiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2Vzcyh7XHJcbiAgLy8gICAgICAgICAgIHZlcnNpb25JZDogYWN0aW9uLnZlcnNpb25JZCxcclxuICAvLyAgICAgICAgICAgc3RhdHVzOiBhY3Rpb24uc3RhdHVzXHJcbiAgLy8gICAgICAgICB9KTtcclxuICAvLyAgICAgICB9KSxcclxuICAvLyAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAvLyAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dNZXNzYWdlKGVyciwgbnVsbCwgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAvLyAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAvLyAgICAgICB9KVxyXG4gIC8vICAgICApO1xyXG4gIC8vICAgfSkpKTtcclxuICAvL1xyXG4gIC8vICAgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKSxcclxuICAvLyAgICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9KSA9PiBhY3Rpb24pLFxyXG4gIC8vICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICAgIHRhcCgoW2FjdGlvbiwgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAvLyAgICAgICBpZiAoYWN0aW9uLnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5WYWxpZGF0aW9uKSB7XHJcbiAgLy8gICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvbS1kYXRhL21pbmZpbi9zZWxlY3Rpb24vZWRpdD9jb21wZXRpdGlvbklkPSR7Y29tcGV0aXRpb25JZH0mdmVyc2lvbklkPSR7YWN0aW9uLnZlcnNpb25JZH1gO1xyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XHJcbiAgLy9cclxuICAvLyBzZWxlY3RDb21wZXRpdGlvblZlcnNpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLlNlbGVjdENvbXBldGl0aW9uVmVyc2lvbiksXHJcbiAgLy8gICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZyB9KSA9PiBhY3Rpb24udmVyc2lvbklkKSxcclxuICAvLyAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAvLyAgIHRhcCgoW3ZlcnNpb25JZCwgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAvLyAgICAgY29uc3QgbmV3VXJpID0gVXRpbGl0aWVzLnVwZGF0ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVyKHdpbmRvdy5sb2NhdGlvbi5ocmVmLCAndmVyc2lvbklkJywgdmVyc2lvbklkKTtcclxuICAvLyAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXdVcmk7XHJcbiAgLy8gICB9KVxyXG4gIC8vICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuICAvL1xyXG4gIC8vIGFjdGl2YXRlQ29tcGV0aXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+ICh0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5BY3RpdmF0ZUNvbXBldGl0aW9uKSxcclxuICAvLyAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAvLyAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmFjdGl2YXRlKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgLy8gICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAvLyAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINCw0LrRgtC40LLQsNGG0LjQuCcsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgLy8gICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgLy8gICAgICAgfSlcclxuICAvLyAgICAgKTtcclxuICAvLyAgIH0pXHJcbiAgLy8gKSkpO1xyXG4gIC8vXHJcbiAgLy8gcGF1c2VDb21wZXRpdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLlBhdXNlQ29tcGV0aXRpb24pLFxyXG4gIC8vICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gIC8vICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UucGF1c2UoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAvLyAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKCkpLFxyXG4gIC8vICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XHJcbiAgLy8gICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93U3RpY2t5TWVzc2FnZShlcnIsICfQntGI0LjQsdC60LAg0L/RgNC40L7RgdGC0LDQvdC+0LLQutC4JywgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAvLyAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAvLyAgICAgICB9KVxyXG4gIC8vICAgICApO1xyXG4gIC8vICAgfSlcclxuICAvLyApKSk7XHJcbiAgLy9cclxuICAvLyBjb21wbGV0ZUNvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGxldGVDb21wZXRpdGlvbiksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5jb21wbGV0ZShjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gIC8vICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MoKSksXHJcbiAgLy8gICAgICAgY2F0Y2hFcnJvcigoZXJyLCBjYXVnaHQpID0+IHtcclxuICAvLyAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dTdGlja3lNZXNzYWdlKGVyciwgJ9Ce0YjQuNCx0LrQsCDQv9GA0Lgg0LfQsNCy0LXRgNGI0LXQvdC40LgnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gIC8vICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gIC8vICAgICAgIH0pXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9KVxyXG4gIC8vICkpKTtcclxuICAvL1xyXG4gIC8vIGNhbmNlbENvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ2FuY2VsQ29tcGV0aXRpb24pLFxyXG4gIC8vICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gIC8vICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuY2FuY2VsKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgLy8gICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAvLyAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINC/0YDQuCDQvtGC0LzQtdC90LUnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gIC8vICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gIC8vICAgICAgIH0pXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9KVxyXG4gIC8vICkpKTtcclxuICAvL1xyXG4gIC8vIGNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24pLFxyXG4gIC8vICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICB0YXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PlxyXG4gIC8vICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvbS1kYXRhL21pbmZpbi9zZWxlY3Rpb24vZWRpdC9jYW5jZWw/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9JnZlcnNpb25JZD0ke3ZlcnNpb25JZH1gKVxyXG4gIC8vICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuICAvL1xyXG4gIC8vIGNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKSxcclxuICAvLyAgIHRhcCgoKSA9PiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCkpXHJcbiAgLy8gKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBldGl0aW9uSGVhZGVyU2VydmljZTogQ29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXHJcbiAgICAgICAgICAgICAgLy8gcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxyXG4gICkge1xyXG4gIH1cclxufVxyXG4iXX0=
183
+ }], ctorParameters: function () { return [{ type: i1.CompetitionHeaderService }, { type: i2.Actions }, { type: i3.Store }, { type: i4.AlertService }]; } });
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zdG9yZS9jb21wZXRpdGlvbi1oZWFkZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFtQnpDLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsa0VBQWtFO0lBQ2xFLDZEQUE2RDtJQUM3RCxrRUFBa0U7SUFDbEUsdUNBQXVDO0lBQ3ZDLDBFQUEwRTtJQUMxRSw0SUFBNEk7SUFDNUksOEJBQThCO0lBQzlCLDJFQUEyRTtJQUMzRSx3QkFBd0I7SUFDeEIsV0FBVztJQUNYLFNBQVM7SUFDVCxVQUFVO0lBQ1YsRUFBRTtJQUNGLHFFQUFxRTtJQUNyRSxnRUFBZ0U7SUFDaEUsOERBQThEO0lBQzlELGtFQUFrRTtJQUNsRSxnREFBZ0Q7SUFDaEQseUZBQXlGO0lBQ3pGLDJHQUEyRztJQUMzRyw4QkFBOEI7SUFDOUIsMkVBQTJFO0lBQzNFLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixFQUFFO0lBQ0YsNEVBQTRFO0lBQzVFLHVFQUF1RTtJQUN2RSxrRUFBa0U7SUFDbEUsdUhBQXVIO0lBQ3ZILHlCQUF5QjtJQUN6QixFQUFFO0lBQ0YscUVBQXFFO0lBQ3JFLGdFQUFnRTtJQUNoRSxrRUFBa0U7SUFDbEUsdUNBQXVDO0lBQ3ZDLDhFQUE4RTtJQUM5RSxrSEFBa0g7SUFDbEgsOEJBQThCO0lBQzlCLDJFQUEyRTtJQUMzRSx3QkFBd0I7SUFDeEIsV0FBVztJQUNYLFNBQVM7SUFDVCxVQUFVO0lBQ1YsRUFBRTtJQUNGLDRFQUE0RTtJQUM1RSx1RUFBdUU7SUFDdkUsOERBQThEO0lBQzlELGtFQUFrRTtJQUNsRSx3Q0FBd0M7SUFDeEMscUhBQXFIO0lBQ3JILHlCQUF5QjtJQUN6QixFQUFFO0lBQ0YsMkVBQTJFO0lBQzNFLHNFQUFzRTtJQUN0RSwwRkFBMEY7SUFDMUYsa0VBQWtFO0lBQ2xFLDZDQUE2QztJQUM3QyxxSEFBcUg7SUFDckgsbUNBQW1DO0lBQ25DLGtGQUFrRjtJQUNsRix5Q0FBeUM7SUFDekMsa0NBQWtDO0lBQ2xDLGNBQWM7SUFDZCxZQUFZO0lBQ1osOEJBQThCO0lBQzlCLDJFQUEyRTtJQUMzRSx3QkFBd0I7SUFDeEIsV0FBVztJQUNYLFNBQVM7SUFDVCxVQUFVO0lBQ1YsRUFBRTtJQUNGLG9GQUFvRjtJQUNwRiwrRUFBK0U7SUFDL0UsNEZBQTRGO0lBQzVGLG9FQUFvRTtJQUNwRSx5Q0FBeUM7SUFDekMseUVBQXlFO0lBQ3pFLCtIQUErSDtJQUMvSCxpQkFBaUI7SUFDakIsb0NBQW9DO0lBQ3BDLFVBQVU7SUFDVixTQUFTO0lBQ1QsNkJBQTZCO0lBQzdCLEVBQUU7SUFDRixxRUFBcUU7SUFDckUsZ0VBQWdFO0lBQ2hFLDhEQUE4RDtJQUM5RCxrRUFBa0U7SUFDbEUsMENBQTBDO0lBQzFDLHlHQUF5RztJQUN6RyxxQ0FBcUM7SUFDckMsT0FBTztJQUNQLHlCQUF5QjtJQUN6QixFQUFFO0lBQ0YsaUVBQWlFO0lBQ2pFLDJEQUEyRDtJQUMzRCxrRUFBa0U7SUFDbEUsdUNBQXVDO0lBQ3ZDLHlFQUF5RTtJQUN6RSx5RkFBeUY7SUFDekYsc0NBQXNDO0lBQ3RDLCtGQUErRjtJQUMvRix3QkFBd0I7SUFDeEIsV0FBVztJQUNYLFNBQVM7SUFDVCxPQUFPO0lBQ1AsT0FBTztJQUNQLEVBQUU7SUFDRiw4REFBOEQ7SUFDOUQsd0RBQXdEO0lBQ3hELGtFQUFrRTtJQUNsRSx1Q0FBdUM7SUFDdkMsc0VBQXNFO0lBQ3RFLHlGQUF5RjtJQUN6RixzQ0FBc0M7SUFDdEMsa0dBQWtHO0lBQ2xHLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsU0FBUztJQUNULE9BQU87SUFDUCxPQUFPO0lBQ1AsRUFBRTtJQUNGLGlFQUFpRTtJQUNqRSwyREFBMkQ7SUFDM0Qsa0VBQWtFO0lBQ2xFLHVDQUF1QztJQUN2Qyx5RUFBeUU7SUFDekUseUZBQXlGO0lBQ3pGLHNDQUFzQztJQUN0QyxvR0FBb0c7SUFDcEcsd0JBQXdCO0lBQ3hCLFdBQVc7SUFDWCxTQUFTO0lBQ1QsT0FBTztJQUNQLE9BQU87SUFDUCxFQUFFO0lBQ0YsK0RBQStEO0lBQy9ELHlEQUF5RDtJQUN6RCxrRUFBa0U7SUFDbEUsdUNBQXVDO0lBQ3ZDLHVFQUF1RTtJQUN2RSx5RkFBeUY7SUFDekYsc0NBQXNDO0lBQ3RDLGdHQUFnRztJQUNoRyx3QkFBd0I7SUFDeEIsV0FBVztJQUNYLFNBQVM7SUFDVCxPQUFPO0lBQ1AsT0FBTztJQUNQLEVBQUU7SUFDRiw0RUFBNEU7SUFDNUUsdUVBQXVFO0lBQ3ZFLDhEQUE4RDtJQUM5RCxrRUFBa0U7SUFDbEUsd0NBQXdDO0lBQ3hDLDJIQUEySDtJQUMzSCx5QkFBeUI7SUFDekIsRUFBRTtJQUNGLDJFQUEyRTtJQUMzRSxzRUFBc0U7SUFDdEUsd0NBQXdDO0lBQ3hDLHlCQUF5QjtJQUV6QixZQUFvQix3QkFBa0QsRUFDbEQsUUFBaUIsRUFDakIsS0FBWSxFQUNaLFlBQTBCO1FBSDFCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osaUJBQVksR0FBWixZQUFZLENBQWM7SUFFOUMsQ0FBQzs7c0hBNUtVLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHtzZWxlY3QsIFN0b3JlfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7RU1QVFl9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucyBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHtjYW5jZWxDb21wZXRpdGlvbldpdGhWYWxpZGF0aW9uLCBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zfSBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHtDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbH0gZnJvbSAnLi4vbW9kZWxzL2NvbXBldGl0aW9uLWhlYWRlci12ZXJzaW9uLm1vZGVsJztcclxuaW1wb3J0IHtDb21wZXRpdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2NvbXBldGl0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBBbGVydFNlcnZpY2UsXHJcbiAgQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSxcclxuICBNZXNzYWdlU2V2ZXJpdHksXHJcbiAgc2VsZWN0Q29tcGV0aXRpb25JZCxcclxuICBVdGlsaXRpZXNcclxufSBmcm9tICdteXJ0ZXgtbWYtdWktY29tcG9zaXRlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb21wZXRpdGlvbkhlYWRlckVmZmVjdHMge1xyXG5cclxuICAvLyBsb2FkQ29tcGV0aXRpb25IZWFkZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkxvYWRDb21wZXRpdGlvbkhlYWRlciksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5nZXRIZWFkZXIoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAvLyAgICAgICBtYXAoKHJlc3VsdDogQ29tcGV0aXRpb25IZWFkZXJWZXJzaW9uTW9kZWwpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5sb2FkQ29tcGV0aXRpb25IZWFkZXJTdWNjZXNzKHtjb21wZXRpdGlvbkhlYWRlcjogcmVzdWx0fSkpLFxyXG4gIC8vICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyLCBudWxsLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gIC8vICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gIC8vICAgICAgIH0pXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9KSkpO1xyXG4gIC8vXHJcbiAgLy8gZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5EZWxldGVDb21wZXRpdGlvblZlcnNpb24pLFxyXG4gIC8vICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5kZWxldGVWZXJzaW9uKGNvbXBldGl0aW9uSWQsIHZlcnNpb25JZCkucGlwZShcclxuICAvLyAgICAgICBtYXAoKHJlc3VsdDogYm9vbGVhbikgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MoeyB2ZXJzaW9uSWQgfSkpLFxyXG4gIC8vICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyLCBudWxsLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gIC8vICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gIC8vICAgICAgIH0pXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9KSkpO1xyXG4gIC8vXHJcbiAgLy8gZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuRGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICB0YXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvYXBwbGljYXRpb24vY29tcGV0aXRpb25zL2l0ZW0/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9YClcclxuICAvLyApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcbiAgLy9cclxuICAvLyBjcmVhdGVDb21wZXRpdGlvblZlcnNpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvbiksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5jcmVhdGVWZXJzaW9uKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgLy8gICAgICAgbWFwKChyZXN1bHQ6IHN0cmluZykgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MoeyB2ZXJzaW9uSWQ6IHJlc3VsdCB9KSksXHJcbiAgLy8gICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgLy8gICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgLy8gICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgLy8gICAgICAgfSlcclxuICAvLyAgICAgKTtcclxuICAvLyAgIH0pKSk7XHJcbiAgLy9cclxuICAvLyBjcmVhdGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5DcmVhdGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzKSxcclxuICAvLyAgIG1hcCgoYWN0aW9uOiB7IHZlcnNpb25JZDogc3RyaW5nIH0pID0+IGFjdGlvbi52ZXJzaW9uSWQpLFxyXG4gIC8vICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gIC8vICAgdGFwKChbdmVyc2lvbklkLCBjb21wZXRpdGlvbklkXSkgPT5cclxuICAvLyAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL2FwcGxpY2F0aW9uL2NvbXBldGl0aW9ucy9pdGVtP2NvbXBldGl0aW9uSWQ9JHtjb21wZXRpdGlvbklkfSZ2ZXJzaW9uSWQ9JHt2ZXJzaW9uSWR9YClcclxuICAvLyApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcbiAgLy9cclxuICAvLyBjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyksXHJcbiAgLy8gICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZywgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0pID0+IGFjdGlvbiksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFthY3Rpb24sIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS52ZXJzaW9uQ2hhbmdlU3RhdHVzKGNvbXBldGl0aW9uSWQsIGFjdGlvbi52ZXJzaW9uSWQsIGFjdGlvbi5zdGF0dXMpLnBpcGUoXHJcbiAgLy8gICAgICAgbWFwKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAvLyAgICAgICAgIHJldHVybiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2Vzcyh7XHJcbiAgLy8gICAgICAgICAgIHZlcnNpb25JZDogYWN0aW9uLnZlcnNpb25JZCxcclxuICAvLyAgICAgICAgICAgc3RhdHVzOiBhY3Rpb24uc3RhdHVzXHJcbiAgLy8gICAgICAgICB9KTtcclxuICAvLyAgICAgICB9KSxcclxuICAvLyAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAvLyAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dNZXNzYWdlKGVyciwgbnVsbCwgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAvLyAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAvLyAgICAgICB9KVxyXG4gIC8vICAgICApO1xyXG4gIC8vICAgfSkpKTtcclxuICAvL1xyXG4gIC8vICAgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKSxcclxuICAvLyAgICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9KSA9PiBhY3Rpb24pLFxyXG4gIC8vICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICAgIHRhcCgoW2FjdGlvbiwgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAvLyAgICAgICBpZiAoYWN0aW9uLnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5WYWxpZGF0aW9uKSB7XHJcbiAgLy8gICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvbS1kYXRhL21pbmZpbi9zZWxlY3Rpb24vZWRpdD9jb21wZXRpdGlvbklkPSR7Y29tcGV0aXRpb25JZH0mdmVyc2lvbklkPSR7YWN0aW9uLnZlcnNpb25JZH1gO1xyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XHJcbiAgLy9cclxuICAvLyBzZWxlY3RDb21wZXRpdGlvblZlcnNpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLlNlbGVjdENvbXBldGl0aW9uVmVyc2lvbiksXHJcbiAgLy8gICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZyB9KSA9PiBhY3Rpb24udmVyc2lvbklkKSxcclxuICAvLyAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAvLyAgIHRhcCgoW3ZlcnNpb25JZCwgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAvLyAgICAgY29uc3QgbmV3VXJpID0gVXRpbGl0aWVzLnVwZGF0ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVyKHdpbmRvdy5sb2NhdGlvbi5ocmVmLCAndmVyc2lvbklkJywgdmVyc2lvbklkKTtcclxuICAvLyAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXdVcmk7XHJcbiAgLy8gICB9KVxyXG4gIC8vICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuICAvL1xyXG4gIC8vIGFjdGl2YXRlQ29tcGV0aXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+ICh0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5BY3RpdmF0ZUNvbXBldGl0aW9uKSxcclxuICAvLyAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAvLyAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmFjdGl2YXRlKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgLy8gICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAvLyAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINCw0LrRgtC40LLQsNGG0LjQuCcsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgLy8gICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgLy8gICAgICAgfSlcclxuICAvLyAgICAgKTtcclxuICAvLyAgIH0pXHJcbiAgLy8gKSkpO1xyXG4gIC8vXHJcbiAgLy8gcGF1c2VDb21wZXRpdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLlBhdXNlQ29tcGV0aXRpb24pLFxyXG4gIC8vICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gIC8vICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UucGF1c2UoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAvLyAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKCkpLFxyXG4gIC8vICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XHJcbiAgLy8gICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93U3RpY2t5TWVzc2FnZShlcnIsICfQntGI0LjQsdC60LAg0L/RgNC40L7RgdGC0LDQvdC+0LLQutC4JywgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAvLyAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAvLyAgICAgICB9KVxyXG4gIC8vICAgICApO1xyXG4gIC8vICAgfSlcclxuICAvLyApKSk7XHJcbiAgLy9cclxuICAvLyBjb21wbGV0ZUNvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGxldGVDb21wZXRpdGlvbiksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5jb21wbGV0ZShjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gIC8vICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MoKSksXHJcbiAgLy8gICAgICAgY2F0Y2hFcnJvcigoZXJyLCBjYXVnaHQpID0+IHtcclxuICAvLyAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dTdGlja3lNZXNzYWdlKGVyciwgJ9Ce0YjQuNCx0LrQsCDQv9GA0Lgg0LfQsNCy0LXRgNGI0LXQvdC40LgnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gIC8vICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gIC8vICAgICAgIH0pXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9KVxyXG4gIC8vICkpKTtcclxuICAvL1xyXG4gIC8vIGNhbmNlbENvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ2FuY2VsQ29tcGV0aXRpb24pLFxyXG4gIC8vICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gIC8vICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuY2FuY2VsKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgLy8gICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAvLyAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINC/0YDQuCDQvtGC0LzQtdC90LUnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gIC8vICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gIC8vICAgICAgIH0pXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9KVxyXG4gIC8vICkpKTtcclxuICAvL1xyXG4gIC8vIGNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24pLFxyXG4gIC8vICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgLy8gICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgLy8gICB0YXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PlxyXG4gIC8vICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvbS1kYXRhL21pbmZpbi9zZWxlY3Rpb24vZWRpdC9jYW5jZWw/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9JnZlcnNpb25JZD0ke3ZlcnNpb25JZH1gKVxyXG4gIC8vICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuICAvL1xyXG4gIC8vIGNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKSxcclxuICAvLyAgIHRhcCgoKSA9PiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCkpXHJcbiAgLy8gKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBldGl0aW9uSGVhZGVyU2VydmljZTogQ29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxyXG4gICkge1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -590,13 +590,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
590
590
  type: Injectable
591
591
  }], ctorParameters: function () { return [{ type: i1$1.HttpClient }, { type: i0.Injector }]; } });
592
592
 
593
- // import {
594
- // AlertService,
595
- // CompetitionVersionStatusEnum,
596
- // MessageSeverity,
597
- // selectCompetitionId,
598
- // Utilities
599
- // } from 'myrtex-mf-ui-composite';
600
593
  class CompetitionHeaderEffects {
601
594
  // loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(
602
595
  // ofType(ECompetitionHeaderActions.LoadCompetitionHeader),
@@ -762,17 +755,18 @@ class CompetitionHeaderEffects {
762
755
  // ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),
763
756
  // tap(() => window.location.reload())
764
757
  // ), {dispatch: false});
765
- constructor(competitionHeaderService, actions$, store) {
758
+ constructor(competitionHeaderService, actions$, store, alertService) {
766
759
  this.competitionHeaderService = competitionHeaderService;
767
760
  this.actions$ = actions$;
768
761
  this.store = store;
762
+ this.alertService = alertService;
769
763
  }
770
764
  }
771
- CompetitionHeaderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, deps: [{ token: CompetitionHeaderService }, { token: i2$1.Actions }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable });
765
+ CompetitionHeaderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, deps: [{ token: CompetitionHeaderService }, { token: i2$1.Actions }, { token: i2.Store }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
772
766
  CompetitionHeaderEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects });
773
767
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, decorators: [{
774
768
  type: Injectable
775
- }], ctorParameters: function () { return [{ type: CompetitionHeaderService }, { type: i2$1.Actions }, { type: i2.Store }]; } });
769
+ }], ctorParameters: function () { return [{ type: CompetitionHeaderService }, { type: i2$1.Actions }, { type: i2.Store }, { type: i3.AlertService }]; } });
776
770
 
777
771
  class CompetitionHeaderModule {
778
772
  }
@@ -1 +1 @@
1
- {"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.selector.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/directives/competition-header-custom-buttons.directive.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.html","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.reducers.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/competition-header.service.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.effects.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/competition-header.module.ts","../../../projects/myrtex-mf-competition/src/public-api.ts","../../../projects/myrtex-mf-competition/src/myrtex-mf-competition.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\r\nimport {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum } from 'myrtex-mf-ui-composite';\r\n\r\nexport enum ECompetitionHeaderActions {\r\n\r\n LoadCompetitionHeader = '[Competition] Load Header',\r\n LoadCompetitionHeaderSuccess = '[Competition] Load Header Success',\r\n\r\n DeleteCompetitionVersion = '[Competition] Delete Version',\r\n DeleteCompetitionVersionSuccess = '[Competition] Delete Version Success',\r\n\r\n CreateCompetitionVersion = '[Competition] Create Version',\r\n CreateCompetitionVersionSuccess = '[Competition] Create Version Success',\r\n\r\n CompetitionVersionChangeStatus = '[Competition] Version Change Status',\r\n CompetitionVersionChangeStatusSuccess = '[Competition] Version Change Status Success',\r\n CompetitionVersionChangeStatusManual = '[Competition] Version Change Status Manual',\r\n\r\n SelectCompetitionVersion = '[Competition] Select Version',\r\n\r\n ActivateCompetition = '[Competition] Activate',\r\n PauseCompetition = '[Competition] Pause',\r\n CancelCompetition = '[Competition] Cancel',\r\n CancelCompetitionWithValidation = '[Competition] Cancel With Validation',\r\n CompleteCompetition = '[Competition] Complete',\r\n\r\n CompetitionChangeStatusSuccess = '[Competition] ChangeStatus Success',\r\n}\r\n\r\nexport const loadCompetitionHeader = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeader\r\n);\r\n\r\nexport const loadCompetitionHeaderSuccess = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeaderSuccess,\r\n props<{ competitionHeader: CompetitionHeaderVersionModel }>()\r\n);\r\n\r\nexport const deleteCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const deleteCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const createCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersion\r\n);\r\n\r\nexport const competitionVersionChangeStatus = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatus,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusManual = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusManual,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const createCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const selectCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.SelectCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const activateCompetition = createAction(\r\n ECompetitionHeaderActions.ActivateCompetition\r\n);\r\n\r\nexport const pauseCompetition = createAction(\r\n ECompetitionHeaderActions.PauseCompetition\r\n);\r\n\r\nexport const cancelCompetition = createAction(\r\n ECompetitionHeaderActions.CancelCompetition\r\n);\r\n\r\nexport const cancelCompetitionWithValidation = createAction(\r\n ECompetitionHeaderActions.CancelCompetitionWithValidation,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const completeCompetition = createAction(\r\n ECompetitionHeaderActions.CompleteCompetition\r\n);\r\n\r\nexport const competitionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionChangeStatusSuccess\r\n);\r\n","export const COMPETITION_HEADER_FEATURE_NAME = 'competition-header';\r\n","import {createFeatureSelector, createSelector} from '@ngrx/store';\r\nimport {MenuState} from './competition-header.state';\r\nimport {COMPETITION_HEADER_FEATURE_NAME} from '../constants';\r\nimport { selectCompetitionIdAndVersionId } from 'myrtex-mf-ui-composite';\r\n\r\nconst competitionVersionsFeature =\r\n createFeatureSelector<MenuState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.defaultVersionVersionId\r\n);\r\n\r\nexport const selectCompetitionSelectedVersionId = createSelector(\r\n selectCompetitionIdAndVersionId,\r\n selectCompetitionDefaultVersionId,\r\n (cv: {competitionId: string | undefined, versionId: string | undefined}, dv: string) => {\r\n return cv.versionId ? cv.versionId : dv;\r\n }\r\n);\r\n\r\nexport const selectCompetitionStatus = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.activityId\r\n);\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[myCompetitionHeaderCustomButtons]'\r\n})\r\nexport class CompetitionHeaderCustomButtonsDirective {\r\n\r\n constructor(public templateRef: TemplateRef<unknown>) { }\r\n\r\n}\r\n","import { Component, ContentChild, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { CompetitionVersionModel } from '../models/competition-version.model';\r\nimport {\r\n CompetitionModeEnum,\r\n CompetitionStatusEnum,\r\n CompetitionStatusEnumLabel,\r\n DialogColor,\r\n DialogType,\r\n AlertService,\r\n UnSubscriber,\r\n selectCompetitionConfig,\r\n selectCompetitionLabel,\r\n CompetitionConfigModel,\r\n CancelCompetitionTypeEnum,\r\n CompetitionVersionStatusEnum,\r\n CompetitionVersionStatusEnumLabel,\r\n CompetitionVersionStatusGrouppingLabel\r\n} from 'myrtex-mf-ui-composite';\r\nimport {\r\n activateCompetition,\r\n cancelCompetition,\r\n cancelCompetitionWithValidation,\r\n competitionVersionChangeStatus,\r\n completeCompetition,\r\n createCompetitionVersion,\r\n deleteCompetitionVersion,\r\n loadCompetitionHeader,\r\n pauseCompetition,\r\n selectCompetitionVersion\r\n} from '../store/competition-header.actions';\r\nimport { CompetitionStatusModel } from '../models/competition-status.model';\r\nimport {\r\n selectActivityId,\r\n selectCompetitionSelectedVersionId,\r\n selectCompetitionStatus,\r\n selectCompetitionVersions,\r\n selectManualVersionStatusChanged\r\n} from '../store/competition-header.selector';\r\nimport { CompetitionHeaderCustomButtonsDirective } from '../directives/competition-header-custom-buttons.directive';\r\nimport { CompetitionRejectionModel } from '../models';\r\nimport { SignService } from 'myrtex-mf-signer';\r\n\r\nexport declare type validateVersionFn = ((param: string, onValidated: () => void) => void);\r\n\r\ndeclare global {\r\n interface Window {\r\n CryptoInterceptor: any;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'mrx-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class CompetitionHeaderComponent extends UnSubscriber implements OnInit {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public canChangeStatus = true;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public validateManagementAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Input()\r\n public validatePiblicationAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Output()\r\n public selectedCompetitionVersionInfo = new EventEmitter<CompetitionVersionModel>();\r\n\r\n public competition: CompetitionStatusModel | undefined;\r\n public versions: CompetitionVersionModel[] = [];\r\n public selected: CompetitionVersionModel | undefined;\r\n public selectedVersion = '';\r\n public competitionStatusEnum = CompetitionStatusEnum;\r\n public cancelCompetitionTypeEnum = CancelCompetitionTypeEnum;\r\n public competitionVersionStatusEnum = CompetitionVersionStatusEnum;\r\n public competitionLabel = '';\r\n public showCancelCompetitionButton = false;\r\n public cancelCompetitionButtonLabel = 'Отменить отбор';\r\n public competitionConfig: CompetitionConfigModel | undefined;\r\n public showCompleteCompetitionButton = false;\r\n public restoreButtonName = 'Возобновить';\r\n public isControl = false;\r\n private _signCallback: any;\r\n private _activityId: string | undefined;\r\n\r\n constructor(private signService: SignService, private store: Store, private alertService: AlertService) {\r\n super();\r\n }\r\n\r\n public get competitionAggregateStatusEnumLabel() {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && this.selected.status !== CompetitionVersionStatusEnum.Active) {\r\n return CompetitionVersionStatusEnumLabel[this.selected.status];\r\n }\r\n return this.competition ? CompetitionStatusEnumLabel[this.competition.status] : '';\r\n }\r\n\r\n public get competitionAggregateStatusCssClass(): any {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && (this.competition?.status || CompetitionStatusEnum.New) <= CompetitionStatusEnum.Active) {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active,\r\n }\r\n }\r\n return {\r\n '': this.competition?.status === CompetitionStatusEnum.New\r\n || this.competition?.status !== CompetitionStatusEnum.Completed,\r\n 'color-green': this.competition?.status === CompetitionStatusEnum.Active,\r\n 'color-orange': this.competition?.status === CompetitionStatusEnum.Staying,\r\n 'color-red': this.competition?.status === CompetitionStatusEnum.Canceled\r\n }\r\n }\r\n\r\n public get canCreateVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && (\r\n this.competition.status === CompetitionStatusEnum.Active ||\r\n this.competition.status === CompetitionStatusEnum.Staying);\r\n } else {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && (\r\n this.competition.status === CompetitionStatusEnum.Active ||\r\n this.competition.status === CompetitionStatusEnum.Staying) &&\r\n this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n } else {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1\r\n && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended);\r\n } else {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended)));\r\n } else {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended))) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n return !this.canChangeStatus && !!this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.validatePiblicationAccess() &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n }\r\n }\r\n\r\n public get isLastVersion(): boolean {\r\n if (this.versions?.length > 0) {\r\n const m = Math.max(...this.versions.map(x => x.num));\r\n return m === this.selected?.num;\r\n }\r\n return false;\r\n }\r\n\r\n public get showRejectionReason(): boolean {\r\n return !!this.selected?.rejectionReason &&\r\n (this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n || this.selected?.status === CompetitionVersionStatusEnum.Rejected)\r\n }\r\n\r\n public get versionStatusClass(): any {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active\r\n }\r\n }\r\n\r\n /** Контекст для кастомных кнопок, может расширяться */\r\n public get customButtonsTemplateContext(): any {\r\n return {\r\n activityId: this._activityId,\r\n competitionId: this.competition?.id,\r\n competitionVersionId: this.selected?.id\r\n };\r\n }\r\n\r\n public get canReturnToEdit(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canSeeThreeDots(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return false;\r\n } else {\r\n return this.validateManagementAccess() &&\r\n this.competition?.status != this.competitionStatusEnum.New &&\r\n this.competition?.status != this.competitionStatusEnum.Completed &&\r\n this.competition?.status != this.competitionStatusEnum.NotPlace;\r\n }\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.store.dispatch(loadCompetitionHeader());\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionVersions)).subscribe(result => {\r\n if (result) {\r\n this.versions = result;\r\n this.select();\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionSelectedVersionId)).subscribe(result => {\r\n if (result) {\r\n this.selectedVersion = result;\r\n this.select();\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionConfig)).subscribe(result => {\r\n if (result) {\r\n this.competitionConfig = result;\r\n\r\n if (this.competitionConfig.cancelCompetitionLabel) {\r\n this.cancelCompetitionButtonLabel = this.competitionConfig.cancelCompetitionLabel;\r\n }\r\n if (this.competitionConfig.cancelCompetitionType\r\n && this.competitionConfig.cancelCompetitionType > this.cancelCompetitionTypeEnum.Disabled) {\r\n this.showCancelCompetitionButton = true;\r\n }\r\n this.showCompleteCompetitionButton = this.competitionConfig.showCompleteCompetitionButton;\r\n if (this.competitionConfig.restoreButtonName) {\r\n this.restoreButtonName = this.competitionConfig.restoreButtonName;\r\n }\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectManualVersionStatusChanged)).subscribe(result => {\r\n // произошло ручное изменение статуса, толкаем дальше по таймауту\r\n if (result) {\r\n setTimeout(() => {\r\n const selectedItem = this.selected;\r\n if (selectedItem) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Confirmed\r\n }));\r\n }\r\n }, 10000);\r\n }\r\n }));\r\n\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n public getCompetitionVersionStatusEnumLabel(value: any) {\r\n return CompetitionVersionStatusEnumLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public getCompetitionVersionStatusGrouppingLabel(value: any) {\r\n return CompetitionVersionStatusGrouppingLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public createVersion(): void {\r\n this.alertService.showDialog({\r\n title: `Формирование изменений`,\r\n message:\r\n `${this.getWarningMessageHtml('Внимание! Формирование изменений приведет к созданию новой версии отбора')}\r\n <p>\r\n Вы действительно хотите сформировать изменения?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(createCompetitionVersion());\r\n }\r\n });\r\n }\r\n\r\n public activateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog({\r\n title: `Публикация ${this.competitionLabel}а`,\r\n message: `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите опубликовать ${this.competitionLabel}?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Active\r\n }));\r\n }\r\n });\r\n }\r\n }\r\n\r\n public validateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n\r\n if (this.validateVersionAction) {\r\n this.validateVersionAction(selectedItem.id, () => {\r\n this.signService.sign({\r\n title: 'Направление документа на согласование',\r\n okLabel: 'Отправить',\r\n cancelLabel: 'Отменить',\r\n pdfUrl: `/m-data/minfin/pdf-competition/${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Validation\r\n }));\r\n }, () => {\r\n });\r\n })\r\n }\r\n }\r\n }\r\n\r\n public removeVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog(`Удалить версию ${this.competitionLabel}а?`,\r\n `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите удалить версию ${this.competitionLabel?.toLowerCase()}а?\r\n </p>`,\r\n DialogType.confirm, (ok) => {\r\n this.store.dispatch(deleteCompetitionVersion({versionId: selectedItem.id}));\r\n }, undefined, null, undefined, undefined, DialogColor.red);\r\n }\r\n }\r\n\r\n public restore(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Возобновить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(activateCompetition());\r\n });\r\n }\r\n\r\n public pause(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Приостановить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(pauseCompetition());\r\n });\r\n }\r\n\r\n public cancel(): void {\r\n this.hideControls();\r\n if (this.competitionConfig && this.competitionConfig.cancelCompetitionType == this.cancelCompetitionTypeEnum.WithValidation) {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.store.dispatch(cancelCompetitionWithValidation({versionId: selectedItem.id}));\r\n }\r\n } else {\r\n this.alertService.showDialog(`Отменить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(cancelCompetition());\r\n });\r\n }\r\n }\r\n\r\n public complete(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Завершить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(completeCompetition());\r\n });\r\n }\r\n\r\n public selectVersion(id: string): void {\r\n this.store.dispatch(selectCompetitionVersion({versionId: id}));\r\n }\r\n\r\n public backToEdit(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`редактирование текущей версии`,\r\n `Вы действительно хотите редактировать текущую версию ${this.competitionLabel.toLowerCase()}a`,\r\n DialogType.confirm,\r\n (ok) => {\r\n if (!!this.selected) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: this.selected.id,\r\n status: CompetitionVersionStatusEnum.Draft\r\n }));\r\n }\r\n }, undefined, null, 'Подтвердить', undefined, DialogColor.yellow);\r\n }\r\n\r\n public showControls() {\r\n this.isControl = !this.isControl;\r\n }\r\n\r\n public hideControls() {\r\n this.isControl = false;\r\n }\r\n\r\n public showRejection(model: CompetitionRejectionModel): void {\r\n this.alertService.showDialog(`Причина отклонения`,\r\n ` <div class=\"modal-body__author\">\r\n <span>${model.author}</span>\r\n <span>${model.createdDate}</span>\r\n </div>\r\n <p class=\"modal-body__text\">${model.reason}</p>\r\n `, DialogType.confirm,\r\n undefined, undefined, null, undefined, '', DialogColor.yellow);\r\n }\r\n\r\n private select(): void {\r\n if (this.versions && this.selectedVersion) {\r\n this.selected = this.versions.find(s => s.id === this.selectedVersion);\r\n this.selectedCompetitionVersionInfo.emit(this.selected);\r\n }\r\n }\r\n\r\n private getWarningMessageHtml(customText: string | undefined = undefined): string {\r\n if (!customText) {\r\n customText = 'Внимание! Данное действие нельзя отменить';\r\n }\r\n return `<div class=\"bg-news px-3 py-2 radius-4 my-3 d-flex\">\r\n <div class=\"mr-3\">\r\n <svg width=\"16\" height=\"16\" fill=\"none\">\r\n <use href=\"#alert\"></use>\r\n </svg>\r\n </div>\r\n <div class=\"small m-0 bold\">\r\n <span class=\"color-orange\">\r\n ${customText}\r\n </span>\r\n </div>\r\n </div>`;\r\n }\r\n}\r\n","<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- Название субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- вставить название сущности, либо \"Субсидия\" либо \"Отбор\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- название субсидии/отбора -->\r\n <!-- ограничить длину названия в 44 символов -->\r\n <!-- вставить в тултип полное название субсидии/отбора -->\r\n <span class=\"info-banner-item__text text-normal\" myTooltip [tooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : 'Не указан' }}\r\n </span>\r\n </div>\r\n <!-- статус субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n Статус\r\n </span>\r\n <!-- статус субсидии/отбора -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" [ngClass]=\"competitionAggregateStatusCssClass\">\r\n {{ competitionAggregateStatusEnumLabel }}\r\n </span>\r\n </div>\r\n </div>\r\n <!-- селект с выбором версии -->\r\n <div class=\"info-banner-item info-banner-item_input wpx-260 mr-3\" *ngIf=\"versions && versions.length > 1\">\r\n <div class=\"inputbox inputbox-md mb-0\">\r\n <ng-select [items]=\"versions\" [ngModel]=\"selected.id\"\r\n (ngModelChange)=\"selectVersion($event)\"\r\n [clearable]=\"false\"\r\n bindValue=\"id\"\r\n bindLabel=\"name\"\r\n groupBy=\"status\"\r\n notFoundText=\"Не найдено\">\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\r\n {{getCompetitionVersionStatusGrouppingLabel(item.status)}}\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n Версия {{item.num}} от {{item.createdDate}}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n Версия {{item.num}} от {{item.createdDate}}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- статаус версии -->\r\n <!-- не показывать, если нет версий -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n Статус версии\r\n </span>\r\n <!-- статус версии -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" *ngIf=\"selected\" [ngClass]=\"versionStatusClass\">\r\n {{ getCompetitionVersionStatusEnumLabel(selected.status) }}\r\n </span>\r\n </div>\r\n <!-- удаление, вызов модалки, предупреждение об внесении изменений -->\r\n <div class=\"info-banner-item\">\r\n <!-- не показывать, если не требуется -->\r\n <!-- \"конверт\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n myTooltip\r\n [tooltip]=\"'Посмотреть причину отклонения'\"\r\n (click)=\"showRejection(selected.rejectionReason)\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 6.25L11.3356 13.6595C11.7145 13.9962 12.2855 13.9962 12.6644 13.6595L21 6.25\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 18L7.5 14L9.75 12M21 18L16.5 14L14.25 12\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n </svg>\r\n </div>\r\n <!-- удаление версии -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" myTooltip [tooltip]=\"'Удалить версию'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3 6H5H21\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <!-- восклицательный знак -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" myTooltip [tooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M12.2302 18V17M12.2302 14V10M4.00298 21.25H20.4575C21.9971 21.25 22.9593 19.5833 22.1895 18.25L13.9623 4C13.1925 2.66667 11.268 2.66667 10.4982 4L2.27093 18.25C1.50113 19.5833 2.46338 21.25 4.00298 21.25Z\" stroke=\"#D57B1C\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"info-banner-control\">\r\n <div *ngIf=\"!!customButtonsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customButtonsTemplate.templateRef;context:customButtonsTemplateContext\"></ng-container>\r\n </div>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"createVersion()\"\r\n *ngIf=\"canCreateVersion\"\r\n [disabled]=\"createVersionDisabled\">\r\n Сформировать изменения\r\n </button>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"activateVersion()\"\r\n *ngIf=\"canActivateVersion\"\r\n [disabled]=\"activateVersionDisabled\">\r\n Опубликовать\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n Согласование\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n Редактировать\r\n </button>\r\n <!-- управление статусом/отбором -->\r\n <!-- не показывать если не требуется -->\r\n <div class=\"info-banner-control__action\"\r\n *ngIf=\"competition && canSeeThreeDots\">\r\n <div class=\"info-banner-control__icon\" (click)=\"showControls()\" [ngClass]=\"{'active': isControl}\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M10.5 12C10.5 12.8284 11.1716 13.5 12 13.5C12.8284 13.5 13.5 12.8284 13.5 12C13.5 11.1716 12.8284 10.5 12 10.5C11.1716 10.5 10.5 11.1716 10.5 12Z\" fill=\"#253E49\"/>\r\n <path d=\"M10.5 19C10.5 19.8284 11.1716 20.5 12 20.5C12.8284 20.5 13.5 19.8284 13.5 19C13.5 18.1716 12.8284 17.5 12 17.5C11.1716 17.5 10.5 18.1716 10.5 19Z\" fill=\"#253E49\"/>\r\n <path d=\"M10.5 5C10.5 5.82843 11.1716 6.5 12 6.5C12.8284 6.5 13.5 5.82843 13.5 5C13.5 4.17157 12.8284 3.5 12 3.5C11.1716 3.5 10.5 4.17157 10.5 5Z\" fill=\"#253E49\"/>\r\n </svg>\r\n </div>\r\n <div *ngIf=\"isControl\" class=\"info-banner-control__menu\">\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active\"\r\n (click)=\"pause()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"5\" y=\"3\" width=\"5\" height=\"18\" rx=\"1\" fill=\"#253E49\"/>\r\n <rect x=\"14\" y=\"3\" width=\"5\" height=\"18\" rx=\"1\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n Приостановить\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\"\r\n (click)=\"restore()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20.5518 10.8276C21.2044 11.2151 21.2044 12.1599 20.5518 12.5474L5.51054 21.4781C4.84395 21.8739 4 21.3935 4 20.6183L4 2.75674C4 1.9815 4.84395 1.50109 5.51054 1.89688L20.5518 10.8276Z\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n {{restoreButtonName}}\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"(\r\n competition.status == competitionStatusEnum.Active ||\r\n competition.status == competitionStatusEnum.Staying)\r\n && showCompleteCompetitionButton\"\r\n (click)=\"complete()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n Завершить\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"(\r\n competition.status == competitionStatusEnum.Active ||\r\n competition.status == competitionStatusEnum.Staying ||\r\n competition.status == competitionStatusEnum.Canceled)\r\n && showCancelCompetitionButton\"\r\n (click)=\"cancel()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.7677 4.23213C21.5354 5.9999 20.744 6.79135 19.7677 7.76766L7.76771 19.7677C6.7914 20.744 5.99987 21.5355 4.23217 19.7677C2.46454 17.9999 3.25586 17.2084 4.23217 16.2321L16.2322 4.23213C17.2085 3.25582 18 2.46453 19.7677 4.23213Z\" fill=\"#253E49\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.23222 4.23196C5.96445 2.49991 6.79144 3.25565 7.76775 4.23196L19.7678 16.232C20.7441 17.2083 21.5 18.0353 19.7678 19.7675C18.0355 21.4997 17.2085 20.7438 16.2322 19.7675L4.23222 7.7675C3.25591 6.79119 2.46429 6 4.23222 4.23196Z\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n {{cancelCompetitionButtonLabel}}\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isControl\" class=\"info-banner-control__bg\" (click)=\"hideControls()\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface MenuState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: MenuState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {MenuState, initialCompetitionHeaderState} from './competition-header.state';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\n\r\nconst competitionHeaderReducerCreator = createReducer(\r\n initialCompetitionHeaderState,\r\n\r\n on(CompetitionActions.loadCompetitionHeaderSuccess, (state, {competitionHeader}) => {\r\n const versions = competitionHeader.versions;\r\n const competition = {\r\n id: competitionHeader.id,\r\n status: competitionHeader.status,\r\n mode: competitionHeader.mode\r\n } as CompetitionStatusModel;\r\n return {\r\n ...state,\r\n competitionVersions: versions,\r\n defaultVersionVersionId: competitionHeader.selectedCompetitionVersionId,\r\n competition, activityId: competitionHeader.activityId\r\n };\r\n }),\r\n\r\n on(CompetitionActions.competitionVersionChangeStatusManual, (state, {versionId, status}) => {\r\n const versions = [...state.competitionVersions];\r\n const version = versions.find(s => s.id === versionId);\r\n if (version) {\r\n const newVersion = {...version};\r\n newVersion.status = status;\r\n versions.splice(versions.indexOf(version), 1, newVersion);\r\n }\r\n return {...state, competitionVersions: versions, manualVersionStatusChanged: true};\r\n })\r\n);\r\n\r\nexport function competitionHeaderReducer(state: MenuState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderService extends EndpointBaseService {\r\n\r\n private url = '/application' + this.restPath + '/competition';\r\n\r\n constructor(http: HttpClient, injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n return this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header`);\r\n }\r\n\r\n public createVersion(competitionId?: string): Observable<string> {\r\n return this.http.post<string>(`${this.url}/${competitionId}/version`, {});\r\n }\r\n\r\n public deleteVersion(competitionId?: string, versionId?: string): Observable<boolean> {\r\n return this.http.delete<boolean>(`${this.url}/${competitionId}/version/${versionId}`);\r\n }\r\n\r\n public versionChangeStatus(competitionId?: string, versionId?: string, status?: CompetitionVersionStatusEnum): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.url}/${competitionId}/version/${versionId}/to-status/${status}`, {});\r\n }\r\n\r\n public activate(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/activate`, {});\r\n }\r\n\r\n public pause(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/pause`, {});\r\n }\r\n\r\n public complete(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/complete`, {});\r\n }\r\n\r\n public cancel(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/cancel`, {});\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Actions, createEffect, ofType} from '@ngrx/effects';\r\nimport {select, Store} from '@ngrx/store';\r\n// import {EMPTY} from 'rxjs';\r\n// import {catchError, map, switchMap, tap, withLatestFrom} from 'rxjs/operators';\r\n// import * as CompetitionHeaderActions from './competition-header.actions';\r\n// import {cancelCompetitionWithValidation, ECompetitionHeaderActions} from './competition-header.actions';\r\n// import {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport {CompetitionHeaderService} from '../services/competition-header.service';\r\n// import {\r\n// AlertService,\r\n// CompetitionVersionStatusEnum,\r\n// MessageSeverity,\r\n// selectCompetitionId,\r\n// Utilities\r\n// } from 'myrtex-mf-ui-composite';\r\n\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderEffects {\r\n\r\n // loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.LoadCompetitionHeader),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.getHeader(competitionId).pipe(\r\n // map((result: CompetitionHeaderVersionModel) => CompetitionHeaderActions.loadCompetitionHeaderSuccess({competitionHeader: result})),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.DeleteCompetitionVersion),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([versionId, competitionId]) => {\r\n // return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(\r\n // map((result: boolean) => CompetitionHeaderActions.deleteCompetitionVersionSuccess({ versionId })),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([, competitionId]) => window.location.href = `/application/competitions/item?competitionId=${competitionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // createCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CreateCompetitionVersion),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.createVersion(competitionId).pipe(\r\n // map((result: string) => CompetitionHeaderActions.createCompetitionVersionSuccess({ versionId: result })),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) =>\r\n // window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus),\r\n // map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([action, competitionId]) => {\r\n // return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(\r\n // map((result: boolean) => {\r\n // return CompetitionHeaderActions.competitionVersionChangeStatusSuccess({\r\n // versionId: action.versionId,\r\n // status: action.status\r\n // });\r\n // }),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess),\r\n // map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([action, competitionId]) => {\r\n // if (action.status === CompetitionVersionStatusEnum.Validation) {\r\n // window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;\r\n // } else {\r\n // window.location.reload();\r\n // }\r\n // })\r\n // ), { dispatch: false });\r\n //\r\n // selectCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.SelectCompetitionVersion),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) => {\r\n // const newUri = Utilities.updateQueryStringParameter(window.location.href, 'versionId', versionId);\r\n // window.location.href = newUri;\r\n // })\r\n // ), {dispatch: false});\r\n //\r\n // activateCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.ActivateCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.activate(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка активации', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // pauseCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.PauseCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.pause(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка приостановки', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // completeCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompleteCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.complete(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка при завершении', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // cancelCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CancelCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.cancel(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка при отмене', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // cancelCompetitionWithValidation$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CancelCompetitionWithValidation),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) =>\r\n // window.location.href = `/m-data/minfin/selection/edit/cancel?competitionId=${competitionId}&versionId=${versionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // competitionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),\r\n // tap(() => window.location.reload())\r\n // ), {dispatch: false});\r\n\r\n constructor(private competitionHeaderService: CompetitionHeaderService,\r\n private actions$: Actions,\r\n private store: Store,\r\n // private alertService: AlertService\r\n ) {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { CompetitionHeaderComponent } from './components/competition-header.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { COMPETITION_HEADER_FEATURE_NAME } from './constants';\r\nimport { competitionHeaderReducer } from './store/competition-header.reducers';\r\nimport { CompetitionHeaderService } from './services/competition-header.service';\r\nimport { CompetitionHeaderCustomButtonsDirective } from './directives/competition-header-custom-buttons.directive';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MyrtexMfUiCompositeModule, MyrtexUiComponentsModule, TenantSettingsModule } from 'myrtex-mf-ui-composite';\r\nimport { MyrtexSignerModule } from 'myrtex-mf-signer';\r\nimport { CompetitionHeaderEffects } from './store/competition-header.effects';\r\n\r\n@NgModule({\r\n declarations: [\r\n CompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n EffectsModule.forFeature([CompetitionHeaderEffects]),\r\n StoreModule.forFeature(COMPETITION_HEADER_FEATURE_NAME, competitionHeaderReducer),\r\n TenantSettingsModule,\r\n FormsModule,\r\n MyrtexUiComponentsModule,\r\n MyrtexMfUiCompositeModule,\r\n MyrtexSignerModule,\r\n NgSelectModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService\r\n ],\r\n exports: [\r\n CompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ]\r\n})\r\nexport class CompetitionHeaderModule {\r\n}\r\n","/*\n * Public API Surface of myrtex-mf-competition\n */\n\nexport * from './lib/modules/competition-header/competition-header.module';\nexport * from './lib/modules/competition-header/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i1","i1.CompetitionHeaderService","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.selector.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/directives/competition-header-custom-buttons.directive.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.html","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.reducers.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/competition-header.service.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.effects.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/competition-header.module.ts","../../../projects/myrtex-mf-competition/src/public-api.ts","../../../projects/myrtex-mf-competition/src/myrtex-mf-competition.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\r\nimport {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum } from 'myrtex-mf-ui-composite';\r\n\r\nexport enum ECompetitionHeaderActions {\r\n\r\n LoadCompetitionHeader = '[Competition] Load Header',\r\n LoadCompetitionHeaderSuccess = '[Competition] Load Header Success',\r\n\r\n DeleteCompetitionVersion = '[Competition] Delete Version',\r\n DeleteCompetitionVersionSuccess = '[Competition] Delete Version Success',\r\n\r\n CreateCompetitionVersion = '[Competition] Create Version',\r\n CreateCompetitionVersionSuccess = '[Competition] Create Version Success',\r\n\r\n CompetitionVersionChangeStatus = '[Competition] Version Change Status',\r\n CompetitionVersionChangeStatusSuccess = '[Competition] Version Change Status Success',\r\n CompetitionVersionChangeStatusManual = '[Competition] Version Change Status Manual',\r\n\r\n SelectCompetitionVersion = '[Competition] Select Version',\r\n\r\n ActivateCompetition = '[Competition] Activate',\r\n PauseCompetition = '[Competition] Pause',\r\n CancelCompetition = '[Competition] Cancel',\r\n CancelCompetitionWithValidation = '[Competition] Cancel With Validation',\r\n CompleteCompetition = '[Competition] Complete',\r\n\r\n CompetitionChangeStatusSuccess = '[Competition] ChangeStatus Success',\r\n}\r\n\r\nexport const loadCompetitionHeader = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeader\r\n);\r\n\r\nexport const loadCompetitionHeaderSuccess = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeaderSuccess,\r\n props<{ competitionHeader: CompetitionHeaderVersionModel }>()\r\n);\r\n\r\nexport const deleteCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const deleteCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const createCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersion\r\n);\r\n\r\nexport const competitionVersionChangeStatus = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatus,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusManual = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusManual,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const createCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const selectCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.SelectCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const activateCompetition = createAction(\r\n ECompetitionHeaderActions.ActivateCompetition\r\n);\r\n\r\nexport const pauseCompetition = createAction(\r\n ECompetitionHeaderActions.PauseCompetition\r\n);\r\n\r\nexport const cancelCompetition = createAction(\r\n ECompetitionHeaderActions.CancelCompetition\r\n);\r\n\r\nexport const cancelCompetitionWithValidation = createAction(\r\n ECompetitionHeaderActions.CancelCompetitionWithValidation,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const completeCompetition = createAction(\r\n ECompetitionHeaderActions.CompleteCompetition\r\n);\r\n\r\nexport const competitionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionChangeStatusSuccess\r\n);\r\n","export const COMPETITION_HEADER_FEATURE_NAME = 'competition-header';\r\n","import {createFeatureSelector, createSelector} from '@ngrx/store';\r\nimport {MenuState} from './competition-header.state';\r\nimport {COMPETITION_HEADER_FEATURE_NAME} from '../constants';\r\nimport { selectCompetitionIdAndVersionId } from 'myrtex-mf-ui-composite';\r\n\r\nconst competitionVersionsFeature =\r\n createFeatureSelector<MenuState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.defaultVersionVersionId\r\n);\r\n\r\nexport const selectCompetitionSelectedVersionId = createSelector(\r\n selectCompetitionIdAndVersionId,\r\n selectCompetitionDefaultVersionId,\r\n (cv: {competitionId: string | undefined, versionId: string | undefined}, dv: string) => {\r\n return cv.versionId ? cv.versionId : dv;\r\n }\r\n);\r\n\r\nexport const selectCompetitionStatus = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.activityId\r\n);\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[myCompetitionHeaderCustomButtons]'\r\n})\r\nexport class CompetitionHeaderCustomButtonsDirective {\r\n\r\n constructor(public templateRef: TemplateRef<unknown>) { }\r\n\r\n}\r\n","import { Component, ContentChild, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { CompetitionVersionModel } from '../models/competition-version.model';\r\nimport {\r\n CompetitionModeEnum,\r\n CompetitionStatusEnum,\r\n CompetitionStatusEnumLabel,\r\n DialogColor,\r\n DialogType,\r\n AlertService,\r\n UnSubscriber,\r\n selectCompetitionConfig,\r\n selectCompetitionLabel,\r\n CompetitionConfigModel,\r\n CancelCompetitionTypeEnum,\r\n CompetitionVersionStatusEnum,\r\n CompetitionVersionStatusEnumLabel,\r\n CompetitionVersionStatusGrouppingLabel\r\n} from 'myrtex-mf-ui-composite';\r\nimport {\r\n activateCompetition,\r\n cancelCompetition,\r\n cancelCompetitionWithValidation,\r\n competitionVersionChangeStatus,\r\n completeCompetition,\r\n createCompetitionVersion,\r\n deleteCompetitionVersion,\r\n loadCompetitionHeader,\r\n pauseCompetition,\r\n selectCompetitionVersion\r\n} from '../store/competition-header.actions';\r\nimport { CompetitionStatusModel } from '../models/competition-status.model';\r\nimport {\r\n selectActivityId,\r\n selectCompetitionSelectedVersionId,\r\n selectCompetitionStatus,\r\n selectCompetitionVersions,\r\n selectManualVersionStatusChanged\r\n} from '../store/competition-header.selector';\r\nimport { CompetitionHeaderCustomButtonsDirective } from '../directives/competition-header-custom-buttons.directive';\r\nimport { CompetitionRejectionModel } from '../models';\r\nimport { SignService } from 'myrtex-mf-signer';\r\n\r\nexport declare type validateVersionFn = ((param: string, onValidated: () => void) => void);\r\n\r\ndeclare global {\r\n interface Window {\r\n CryptoInterceptor: any;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'mrx-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class CompetitionHeaderComponent extends UnSubscriber implements OnInit {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public canChangeStatus = true;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public validateManagementAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Input()\r\n public validatePiblicationAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Output()\r\n public selectedCompetitionVersionInfo = new EventEmitter<CompetitionVersionModel>();\r\n\r\n public competition: CompetitionStatusModel | undefined;\r\n public versions: CompetitionVersionModel[] = [];\r\n public selected: CompetitionVersionModel | undefined;\r\n public selectedVersion = '';\r\n public competitionStatusEnum = CompetitionStatusEnum;\r\n public cancelCompetitionTypeEnum = CancelCompetitionTypeEnum;\r\n public competitionVersionStatusEnum = CompetitionVersionStatusEnum;\r\n public competitionLabel = '';\r\n public showCancelCompetitionButton = false;\r\n public cancelCompetitionButtonLabel = 'Отменить отбор';\r\n public competitionConfig: CompetitionConfigModel | undefined;\r\n public showCompleteCompetitionButton = false;\r\n public restoreButtonName = 'Возобновить';\r\n public isControl = false;\r\n private _signCallback: any;\r\n private _activityId: string | undefined;\r\n\r\n constructor(private signService: SignService, private store: Store, private alertService: AlertService) {\r\n super();\r\n }\r\n\r\n public get competitionAggregateStatusEnumLabel() {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && this.selected.status !== CompetitionVersionStatusEnum.Active) {\r\n return CompetitionVersionStatusEnumLabel[this.selected.status];\r\n }\r\n return this.competition ? CompetitionStatusEnumLabel[this.competition.status] : '';\r\n }\r\n\r\n public get competitionAggregateStatusCssClass(): any {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && (this.competition?.status || CompetitionStatusEnum.New) <= CompetitionStatusEnum.Active) {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active,\r\n }\r\n }\r\n return {\r\n '': this.competition?.status === CompetitionStatusEnum.New\r\n || this.competition?.status !== CompetitionStatusEnum.Completed,\r\n 'color-green': this.competition?.status === CompetitionStatusEnum.Active,\r\n 'color-orange': this.competition?.status === CompetitionStatusEnum.Staying,\r\n 'color-red': this.competition?.status === CompetitionStatusEnum.Canceled\r\n }\r\n }\r\n\r\n public get canCreateVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && (\r\n this.competition.status === CompetitionStatusEnum.Active ||\r\n this.competition.status === CompetitionStatusEnum.Staying);\r\n } else {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && (\r\n this.competition.status === CompetitionStatusEnum.Active ||\r\n this.competition.status === CompetitionStatusEnum.Staying) &&\r\n this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n } else {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1\r\n && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended);\r\n } else {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended)));\r\n } else {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended))) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n return !this.canChangeStatus && !!this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.validatePiblicationAccess() &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n }\r\n }\r\n\r\n public get isLastVersion(): boolean {\r\n if (this.versions?.length > 0) {\r\n const m = Math.max(...this.versions.map(x => x.num));\r\n return m === this.selected?.num;\r\n }\r\n return false;\r\n }\r\n\r\n public get showRejectionReason(): boolean {\r\n return !!this.selected?.rejectionReason &&\r\n (this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n || this.selected?.status === CompetitionVersionStatusEnum.Rejected)\r\n }\r\n\r\n public get versionStatusClass(): any {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active\r\n }\r\n }\r\n\r\n /** Контекст для кастомных кнопок, может расширяться */\r\n public get customButtonsTemplateContext(): any {\r\n return {\r\n activityId: this._activityId,\r\n competitionId: this.competition?.id,\r\n competitionVersionId: this.selected?.id\r\n };\r\n }\r\n\r\n public get canReturnToEdit(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canSeeThreeDots(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return false;\r\n } else {\r\n return this.validateManagementAccess() &&\r\n this.competition?.status != this.competitionStatusEnum.New &&\r\n this.competition?.status != this.competitionStatusEnum.Completed &&\r\n this.competition?.status != this.competitionStatusEnum.NotPlace;\r\n }\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.store.dispatch(loadCompetitionHeader());\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionVersions)).subscribe(result => {\r\n if (result) {\r\n this.versions = result;\r\n this.select();\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionSelectedVersionId)).subscribe(result => {\r\n if (result) {\r\n this.selectedVersion = result;\r\n this.select();\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionConfig)).subscribe(result => {\r\n if (result) {\r\n this.competitionConfig = result;\r\n\r\n if (this.competitionConfig.cancelCompetitionLabel) {\r\n this.cancelCompetitionButtonLabel = this.competitionConfig.cancelCompetitionLabel;\r\n }\r\n if (this.competitionConfig.cancelCompetitionType\r\n && this.competitionConfig.cancelCompetitionType > this.cancelCompetitionTypeEnum.Disabled) {\r\n this.showCancelCompetitionButton = true;\r\n }\r\n this.showCompleteCompetitionButton = this.competitionConfig.showCompleteCompetitionButton;\r\n if (this.competitionConfig.restoreButtonName) {\r\n this.restoreButtonName = this.competitionConfig.restoreButtonName;\r\n }\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectManualVersionStatusChanged)).subscribe(result => {\r\n // произошло ручное изменение статуса, толкаем дальше по таймауту\r\n if (result) {\r\n setTimeout(() => {\r\n const selectedItem = this.selected;\r\n if (selectedItem) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Confirmed\r\n }));\r\n }\r\n }, 10000);\r\n }\r\n }));\r\n\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n public getCompetitionVersionStatusEnumLabel(value: any) {\r\n return CompetitionVersionStatusEnumLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public getCompetitionVersionStatusGrouppingLabel(value: any) {\r\n return CompetitionVersionStatusGrouppingLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public createVersion(): void {\r\n this.alertService.showDialog({\r\n title: `Формирование изменений`,\r\n message:\r\n `${this.getWarningMessageHtml('Внимание! Формирование изменений приведет к созданию новой версии отбора')}\r\n <p>\r\n Вы действительно хотите сформировать изменения?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(createCompetitionVersion());\r\n }\r\n });\r\n }\r\n\r\n public activateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog({\r\n title: `Публикация ${this.competitionLabel}а`,\r\n message: `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите опубликовать ${this.competitionLabel}?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Active\r\n }));\r\n }\r\n });\r\n }\r\n }\r\n\r\n public validateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n\r\n if (this.validateVersionAction) {\r\n this.validateVersionAction(selectedItem.id, () => {\r\n this.signService.sign({\r\n title: 'Направление документа на согласование',\r\n okLabel: 'Отправить',\r\n cancelLabel: 'Отменить',\r\n pdfUrl: `/m-data/minfin/pdf-competition/${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Validation\r\n }));\r\n }, () => {\r\n });\r\n })\r\n }\r\n }\r\n }\r\n\r\n public removeVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog(`Удалить версию ${this.competitionLabel}а?`,\r\n `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите удалить версию ${this.competitionLabel?.toLowerCase()}а?\r\n </p>`,\r\n DialogType.confirm, (ok) => {\r\n this.store.dispatch(deleteCompetitionVersion({versionId: selectedItem.id}));\r\n }, undefined, null, undefined, undefined, DialogColor.red);\r\n }\r\n }\r\n\r\n public restore(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Возобновить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(activateCompetition());\r\n });\r\n }\r\n\r\n public pause(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Приостановить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(pauseCompetition());\r\n });\r\n }\r\n\r\n public cancel(): void {\r\n this.hideControls();\r\n if (this.competitionConfig && this.competitionConfig.cancelCompetitionType == this.cancelCompetitionTypeEnum.WithValidation) {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.store.dispatch(cancelCompetitionWithValidation({versionId: selectedItem.id}));\r\n }\r\n } else {\r\n this.alertService.showDialog(`Отменить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(cancelCompetition());\r\n });\r\n }\r\n }\r\n\r\n public complete(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Завершить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(completeCompetition());\r\n });\r\n }\r\n\r\n public selectVersion(id: string): void {\r\n this.store.dispatch(selectCompetitionVersion({versionId: id}));\r\n }\r\n\r\n public backToEdit(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`редактирование текущей версии`,\r\n `Вы действительно хотите редактировать текущую версию ${this.competitionLabel.toLowerCase()}a`,\r\n DialogType.confirm,\r\n (ok) => {\r\n if (!!this.selected) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: this.selected.id,\r\n status: CompetitionVersionStatusEnum.Draft\r\n }));\r\n }\r\n }, undefined, null, 'Подтвердить', undefined, DialogColor.yellow);\r\n }\r\n\r\n public showControls() {\r\n this.isControl = !this.isControl;\r\n }\r\n\r\n public hideControls() {\r\n this.isControl = false;\r\n }\r\n\r\n public showRejection(model: CompetitionRejectionModel): void {\r\n this.alertService.showDialog(`Причина отклонения`,\r\n ` <div class=\"modal-body__author\">\r\n <span>${model.author}</span>\r\n <span>${model.createdDate}</span>\r\n </div>\r\n <p class=\"modal-body__text\">${model.reason}</p>\r\n `, DialogType.confirm,\r\n undefined, undefined, null, undefined, '', DialogColor.yellow);\r\n }\r\n\r\n private select(): void {\r\n if (this.versions && this.selectedVersion) {\r\n this.selected = this.versions.find(s => s.id === this.selectedVersion);\r\n this.selectedCompetitionVersionInfo.emit(this.selected);\r\n }\r\n }\r\n\r\n private getWarningMessageHtml(customText: string | undefined = undefined): string {\r\n if (!customText) {\r\n customText = 'Внимание! Данное действие нельзя отменить';\r\n }\r\n return `<div class=\"bg-news px-3 py-2 radius-4 my-3 d-flex\">\r\n <div class=\"mr-3\">\r\n <svg width=\"16\" height=\"16\" fill=\"none\">\r\n <use href=\"#alert\"></use>\r\n </svg>\r\n </div>\r\n <div class=\"small m-0 bold\">\r\n <span class=\"color-orange\">\r\n ${customText}\r\n </span>\r\n </div>\r\n </div>`;\r\n }\r\n}\r\n","<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- Название субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- вставить название сущности, либо \"Субсидия\" либо \"Отбор\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- название субсидии/отбора -->\r\n <!-- ограничить длину названия в 44 символов -->\r\n <!-- вставить в тултип полное название субсидии/отбора -->\r\n <span class=\"info-banner-item__text text-normal\" myTooltip [tooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : 'Не указан' }}\r\n </span>\r\n </div>\r\n <!-- статус субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n Статус\r\n </span>\r\n <!-- статус субсидии/отбора -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" [ngClass]=\"competitionAggregateStatusCssClass\">\r\n {{ competitionAggregateStatusEnumLabel }}\r\n </span>\r\n </div>\r\n </div>\r\n <!-- селект с выбором версии -->\r\n <div class=\"info-banner-item info-banner-item_input wpx-260 mr-3\" *ngIf=\"versions && versions.length > 1\">\r\n <div class=\"inputbox inputbox-md mb-0\">\r\n <ng-select [items]=\"versions\" [ngModel]=\"selected.id\"\r\n (ngModelChange)=\"selectVersion($event)\"\r\n [clearable]=\"false\"\r\n bindValue=\"id\"\r\n bindLabel=\"name\"\r\n groupBy=\"status\"\r\n notFoundText=\"Не найдено\">\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\r\n {{getCompetitionVersionStatusGrouppingLabel(item.status)}}\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n Версия {{item.num}} от {{item.createdDate}}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n Версия {{item.num}} от {{item.createdDate}}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- статаус версии -->\r\n <!-- не показывать, если нет версий -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n Статус версии\r\n </span>\r\n <!-- статус версии -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" *ngIf=\"selected\" [ngClass]=\"versionStatusClass\">\r\n {{ getCompetitionVersionStatusEnumLabel(selected.status) }}\r\n </span>\r\n </div>\r\n <!-- удаление, вызов модалки, предупреждение об внесении изменений -->\r\n <div class=\"info-banner-item\">\r\n <!-- не показывать, если не требуется -->\r\n <!-- \"конверт\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n myTooltip\r\n [tooltip]=\"'Посмотреть причину отклонения'\"\r\n (click)=\"showRejection(selected.rejectionReason)\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 6.25L11.3356 13.6595C11.7145 13.9962 12.2855 13.9962 12.6644 13.6595L21 6.25\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 18L7.5 14L9.75 12M21 18L16.5 14L14.25 12\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n </svg>\r\n </div>\r\n <!-- удаление версии -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" myTooltip [tooltip]=\"'Удалить версию'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3 6H5H21\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <!-- восклицательный знак -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" myTooltip [tooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M12.2302 18V17M12.2302 14V10M4.00298 21.25H20.4575C21.9971 21.25 22.9593 19.5833 22.1895 18.25L13.9623 4C13.1925 2.66667 11.268 2.66667 10.4982 4L2.27093 18.25C1.50113 19.5833 2.46338 21.25 4.00298 21.25Z\" stroke=\"#D57B1C\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"info-banner-control\">\r\n <div *ngIf=\"!!customButtonsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customButtonsTemplate.templateRef;context:customButtonsTemplateContext\"></ng-container>\r\n </div>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"createVersion()\"\r\n *ngIf=\"canCreateVersion\"\r\n [disabled]=\"createVersionDisabled\">\r\n Сформировать изменения\r\n </button>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"activateVersion()\"\r\n *ngIf=\"canActivateVersion\"\r\n [disabled]=\"activateVersionDisabled\">\r\n Опубликовать\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n Согласование\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n Редактировать\r\n </button>\r\n <!-- управление статусом/отбором -->\r\n <!-- не показывать если не требуется -->\r\n <div class=\"info-banner-control__action\"\r\n *ngIf=\"competition && canSeeThreeDots\">\r\n <div class=\"info-banner-control__icon\" (click)=\"showControls()\" [ngClass]=\"{'active': isControl}\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M10.5 12C10.5 12.8284 11.1716 13.5 12 13.5C12.8284 13.5 13.5 12.8284 13.5 12C13.5 11.1716 12.8284 10.5 12 10.5C11.1716 10.5 10.5 11.1716 10.5 12Z\" fill=\"#253E49\"/>\r\n <path d=\"M10.5 19C10.5 19.8284 11.1716 20.5 12 20.5C12.8284 20.5 13.5 19.8284 13.5 19C13.5 18.1716 12.8284 17.5 12 17.5C11.1716 17.5 10.5 18.1716 10.5 19Z\" fill=\"#253E49\"/>\r\n <path d=\"M10.5 5C10.5 5.82843 11.1716 6.5 12 6.5C12.8284 6.5 13.5 5.82843 13.5 5C13.5 4.17157 12.8284 3.5 12 3.5C11.1716 3.5 10.5 4.17157 10.5 5Z\" fill=\"#253E49\"/>\r\n </svg>\r\n </div>\r\n <div *ngIf=\"isControl\" class=\"info-banner-control__menu\">\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active\"\r\n (click)=\"pause()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"5\" y=\"3\" width=\"5\" height=\"18\" rx=\"1\" fill=\"#253E49\"/>\r\n <rect x=\"14\" y=\"3\" width=\"5\" height=\"18\" rx=\"1\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n Приостановить\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\"\r\n (click)=\"restore()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20.5518 10.8276C21.2044 11.2151 21.2044 12.1599 20.5518 12.5474L5.51054 21.4781C4.84395 21.8739 4 21.3935 4 20.6183L4 2.75674C4 1.9815 4.84395 1.50109 5.51054 1.89688L20.5518 10.8276Z\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n {{restoreButtonName}}\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"(\r\n competition.status == competitionStatusEnum.Active ||\r\n competition.status == competitionStatusEnum.Staying)\r\n && showCompleteCompetitionButton\"\r\n (click)=\"complete()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n Завершить\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"(\r\n competition.status == competitionStatusEnum.Active ||\r\n competition.status == competitionStatusEnum.Staying ||\r\n competition.status == competitionStatusEnum.Canceled)\r\n && showCancelCompetitionButton\"\r\n (click)=\"cancel()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.7677 4.23213C21.5354 5.9999 20.744 6.79135 19.7677 7.76766L7.76771 19.7677C6.7914 20.744 5.99987 21.5355 4.23217 19.7677C2.46454 17.9999 3.25586 17.2084 4.23217 16.2321L16.2322 4.23213C17.2085 3.25582 18 2.46453 19.7677 4.23213Z\" fill=\"#253E49\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.23222 4.23196C5.96445 2.49991 6.79144 3.25565 7.76775 4.23196L19.7678 16.232C20.7441 17.2083 21.5 18.0353 19.7678 19.7675C18.0355 21.4997 17.2085 20.7438 16.2322 19.7675L4.23222 7.7675C3.25591 6.79119 2.46429 6 4.23222 4.23196Z\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n {{cancelCompetitionButtonLabel}}\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isControl\" class=\"info-banner-control__bg\" (click)=\"hideControls()\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface MenuState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: MenuState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {MenuState, initialCompetitionHeaderState} from './competition-header.state';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\n\r\nconst competitionHeaderReducerCreator = createReducer(\r\n initialCompetitionHeaderState,\r\n\r\n on(CompetitionActions.loadCompetitionHeaderSuccess, (state, {competitionHeader}) => {\r\n const versions = competitionHeader.versions;\r\n const competition = {\r\n id: competitionHeader.id,\r\n status: competitionHeader.status,\r\n mode: competitionHeader.mode\r\n } as CompetitionStatusModel;\r\n return {\r\n ...state,\r\n competitionVersions: versions,\r\n defaultVersionVersionId: competitionHeader.selectedCompetitionVersionId,\r\n competition, activityId: competitionHeader.activityId\r\n };\r\n }),\r\n\r\n on(CompetitionActions.competitionVersionChangeStatusManual, (state, {versionId, status}) => {\r\n const versions = [...state.competitionVersions];\r\n const version = versions.find(s => s.id === versionId);\r\n if (version) {\r\n const newVersion = {...version};\r\n newVersion.status = status;\r\n versions.splice(versions.indexOf(version), 1, newVersion);\r\n }\r\n return {...state, competitionVersions: versions, manualVersionStatusChanged: true};\r\n })\r\n);\r\n\r\nexport function competitionHeaderReducer(state: MenuState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderService extends EndpointBaseService {\r\n\r\n private url = '/application' + this.restPath + '/competition';\r\n\r\n constructor(http: HttpClient, injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n return this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header`);\r\n }\r\n\r\n public createVersion(competitionId?: string): Observable<string> {\r\n return this.http.post<string>(`${this.url}/${competitionId}/version`, {});\r\n }\r\n\r\n public deleteVersion(competitionId?: string, versionId?: string): Observable<boolean> {\r\n return this.http.delete<boolean>(`${this.url}/${competitionId}/version/${versionId}`);\r\n }\r\n\r\n public versionChangeStatus(competitionId?: string, versionId?: string, status?: CompetitionVersionStatusEnum): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.url}/${competitionId}/version/${versionId}/to-status/${status}`, {});\r\n }\r\n\r\n public activate(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/activate`, {});\r\n }\r\n\r\n public pause(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/pause`, {});\r\n }\r\n\r\n public complete(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/complete`, {});\r\n }\r\n\r\n public cancel(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/cancel`, {});\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Actions, createEffect, ofType} from '@ngrx/effects';\r\nimport {select, Store} from '@ngrx/store';\r\nimport {EMPTY} from 'rxjs';\r\nimport {catchError, map, switchMap, tap, withLatestFrom} from 'rxjs/operators';\r\nimport * as CompetitionHeaderActions from './competition-header.actions';\r\nimport {cancelCompetitionWithValidation, ECompetitionHeaderActions} from './competition-header.actions';\r\nimport {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport {CompetitionHeaderService} from '../services/competition-header.service';\r\nimport {\r\n AlertService,\r\n CompetitionVersionStatusEnum,\r\n MessageSeverity,\r\n selectCompetitionId,\r\n Utilities\r\n} from 'myrtex-mf-ui-composite';\r\n\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderEffects {\r\n\r\n // loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.LoadCompetitionHeader),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.getHeader(competitionId).pipe(\r\n // map((result: CompetitionHeaderVersionModel) => CompetitionHeaderActions.loadCompetitionHeaderSuccess({competitionHeader: result})),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.DeleteCompetitionVersion),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([versionId, competitionId]) => {\r\n // return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(\r\n // map((result: boolean) => CompetitionHeaderActions.deleteCompetitionVersionSuccess({ versionId })),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([, competitionId]) => window.location.href = `/application/competitions/item?competitionId=${competitionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // createCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CreateCompetitionVersion),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.createVersion(competitionId).pipe(\r\n // map((result: string) => CompetitionHeaderActions.createCompetitionVersionSuccess({ versionId: result })),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) =>\r\n // window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus),\r\n // map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([action, competitionId]) => {\r\n // return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(\r\n // map((result: boolean) => {\r\n // return CompetitionHeaderActions.competitionVersionChangeStatusSuccess({\r\n // versionId: action.versionId,\r\n // status: action.status\r\n // });\r\n // }),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess),\r\n // map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([action, competitionId]) => {\r\n // if (action.status === CompetitionVersionStatusEnum.Validation) {\r\n // window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;\r\n // } else {\r\n // window.location.reload();\r\n // }\r\n // })\r\n // ), { dispatch: false });\r\n //\r\n // selectCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.SelectCompetitionVersion),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) => {\r\n // const newUri = Utilities.updateQueryStringParameter(window.location.href, 'versionId', versionId);\r\n // window.location.href = newUri;\r\n // })\r\n // ), {dispatch: false});\r\n //\r\n // activateCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.ActivateCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.activate(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка активации', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // pauseCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.PauseCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.pause(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка приостановки', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // completeCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompleteCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.complete(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка при завершении', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // cancelCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CancelCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.cancel(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка при отмене', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // cancelCompetitionWithValidation$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CancelCompetitionWithValidation),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) =>\r\n // window.location.href = `/m-data/minfin/selection/edit/cancel?competitionId=${competitionId}&versionId=${versionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // competitionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),\r\n // tap(() => window.location.reload())\r\n // ), {dispatch: false});\r\n\r\n constructor(private competitionHeaderService: CompetitionHeaderService,\r\n private actions$: Actions,\r\n private store: Store,\r\n private alertService: AlertService\r\n ) {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { CompetitionHeaderComponent } from './components/competition-header.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { COMPETITION_HEADER_FEATURE_NAME } from './constants';\r\nimport { competitionHeaderReducer } from './store/competition-header.reducers';\r\nimport { CompetitionHeaderService } from './services/competition-header.service';\r\nimport { CompetitionHeaderCustomButtonsDirective } from './directives/competition-header-custom-buttons.directive';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MyrtexMfUiCompositeModule, MyrtexUiComponentsModule, TenantSettingsModule } from 'myrtex-mf-ui-composite';\r\nimport { MyrtexSignerModule } from 'myrtex-mf-signer';\r\nimport { CompetitionHeaderEffects } from './store/competition-header.effects';\r\n\r\n@NgModule({\r\n declarations: [\r\n CompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n EffectsModule.forFeature([CompetitionHeaderEffects]),\r\n StoreModule.forFeature(COMPETITION_HEADER_FEATURE_NAME, competitionHeaderReducer),\r\n TenantSettingsModule,\r\n FormsModule,\r\n MyrtexUiComponentsModule,\r\n MyrtexMfUiCompositeModule,\r\n MyrtexSignerModule,\r\n NgSelectModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService\r\n ],\r\n exports: [\r\n CompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ]\r\n})\r\nexport class CompetitionHeaderModule {\r\n}\r\n","/*\n * Public API Surface of myrtex-mf-competition\n */\n\nexport * from './lib/modules/competition-header/competition-header.module';\nexport * from './lib/modules/competition-header/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i1","i1.CompetitionHeaderService","i2","i3","i4"],"mappings":"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"}
@@ -582,13 +582,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
582
582
  type: Injectable
583
583
  }], ctorParameters: function () { return [{ type: i1$1.HttpClient }, { type: i0.Injector }]; } });
584
584
 
585
- // import {
586
- // AlertService,
587
- // CompetitionVersionStatusEnum,
588
- // MessageSeverity,
589
- // selectCompetitionId,
590
- // Utilities
591
- // } from 'myrtex-mf-ui-composite';
592
585
  class CompetitionHeaderEffects {
593
586
  // loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(
594
587
  // ofType(ECompetitionHeaderActions.LoadCompetitionHeader),
@@ -754,17 +747,18 @@ class CompetitionHeaderEffects {
754
747
  // ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),
755
748
  // tap(() => window.location.reload())
756
749
  // ), {dispatch: false});
757
- constructor(competitionHeaderService, actions$, store) {
750
+ constructor(competitionHeaderService, actions$, store, alertService) {
758
751
  this.competitionHeaderService = competitionHeaderService;
759
752
  this.actions$ = actions$;
760
753
  this.store = store;
754
+ this.alertService = alertService;
761
755
  }
762
756
  }
763
- CompetitionHeaderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, deps: [{ token: CompetitionHeaderService }, { token: i2$1.Actions }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable });
757
+ CompetitionHeaderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, deps: [{ token: CompetitionHeaderService }, { token: i2$1.Actions }, { token: i2.Store }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
764
758
  CompetitionHeaderEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects });
765
759
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, decorators: [{
766
760
  type: Injectable
767
- }], ctorParameters: function () { return [{ type: CompetitionHeaderService }, { type: i2$1.Actions }, { type: i2.Store }]; } });
761
+ }], ctorParameters: function () { return [{ type: CompetitionHeaderService }, { type: i2$1.Actions }, { type: i2.Store }, { type: i3.AlertService }]; } });
768
762
 
769
763
  class CompetitionHeaderModule {
770
764
  }
@@ -1 +1 @@
1
- {"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.selector.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/directives/competition-header-custom-buttons.directive.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.html","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.reducers.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/competition-header.service.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.effects.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/competition-header.module.ts","../../../projects/myrtex-mf-competition/src/public-api.ts","../../../projects/myrtex-mf-competition/src/myrtex-mf-competition.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\r\nimport {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum } from 'myrtex-mf-ui-composite';\r\n\r\nexport enum ECompetitionHeaderActions {\r\n\r\n LoadCompetitionHeader = '[Competition] Load Header',\r\n LoadCompetitionHeaderSuccess = '[Competition] Load Header Success',\r\n\r\n DeleteCompetitionVersion = '[Competition] Delete Version',\r\n DeleteCompetitionVersionSuccess = '[Competition] Delete Version Success',\r\n\r\n CreateCompetitionVersion = '[Competition] Create Version',\r\n CreateCompetitionVersionSuccess = '[Competition] Create Version Success',\r\n\r\n CompetitionVersionChangeStatus = '[Competition] Version Change Status',\r\n CompetitionVersionChangeStatusSuccess = '[Competition] Version Change Status Success',\r\n CompetitionVersionChangeStatusManual = '[Competition] Version Change Status Manual',\r\n\r\n SelectCompetitionVersion = '[Competition] Select Version',\r\n\r\n ActivateCompetition = '[Competition] Activate',\r\n PauseCompetition = '[Competition] Pause',\r\n CancelCompetition = '[Competition] Cancel',\r\n CancelCompetitionWithValidation = '[Competition] Cancel With Validation',\r\n CompleteCompetition = '[Competition] Complete',\r\n\r\n CompetitionChangeStatusSuccess = '[Competition] ChangeStatus Success',\r\n}\r\n\r\nexport const loadCompetitionHeader = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeader\r\n);\r\n\r\nexport const loadCompetitionHeaderSuccess = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeaderSuccess,\r\n props<{ competitionHeader: CompetitionHeaderVersionModel }>()\r\n);\r\n\r\nexport const deleteCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const deleteCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const createCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersion\r\n);\r\n\r\nexport const competitionVersionChangeStatus = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatus,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusManual = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusManual,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const createCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const selectCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.SelectCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const activateCompetition = createAction(\r\n ECompetitionHeaderActions.ActivateCompetition\r\n);\r\n\r\nexport const pauseCompetition = createAction(\r\n ECompetitionHeaderActions.PauseCompetition\r\n);\r\n\r\nexport const cancelCompetition = createAction(\r\n ECompetitionHeaderActions.CancelCompetition\r\n);\r\n\r\nexport const cancelCompetitionWithValidation = createAction(\r\n ECompetitionHeaderActions.CancelCompetitionWithValidation,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const completeCompetition = createAction(\r\n ECompetitionHeaderActions.CompleteCompetition\r\n);\r\n\r\nexport const competitionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionChangeStatusSuccess\r\n);\r\n","export const COMPETITION_HEADER_FEATURE_NAME = 'competition-header';\r\n","import {createFeatureSelector, createSelector} from '@ngrx/store';\r\nimport {MenuState} from './competition-header.state';\r\nimport {COMPETITION_HEADER_FEATURE_NAME} from '../constants';\r\nimport { selectCompetitionIdAndVersionId } from 'myrtex-mf-ui-composite';\r\n\r\nconst competitionVersionsFeature =\r\n createFeatureSelector<MenuState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.defaultVersionVersionId\r\n);\r\n\r\nexport const selectCompetitionSelectedVersionId = createSelector(\r\n selectCompetitionIdAndVersionId,\r\n selectCompetitionDefaultVersionId,\r\n (cv: {competitionId: string | undefined, versionId: string | undefined}, dv: string) => {\r\n return cv.versionId ? cv.versionId : dv;\r\n }\r\n);\r\n\r\nexport const selectCompetitionStatus = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.activityId\r\n);\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[myCompetitionHeaderCustomButtons]'\r\n})\r\nexport class CompetitionHeaderCustomButtonsDirective {\r\n\r\n constructor(public templateRef: TemplateRef<unknown>) { }\r\n\r\n}\r\n","import { Component, ContentChild, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { CompetitionVersionModel } from '../models/competition-version.model';\r\nimport {\r\n CompetitionModeEnum,\r\n CompetitionStatusEnum,\r\n CompetitionStatusEnumLabel,\r\n DialogColor,\r\n DialogType,\r\n AlertService,\r\n UnSubscriber,\r\n selectCompetitionConfig,\r\n selectCompetitionLabel,\r\n CompetitionConfigModel,\r\n CancelCompetitionTypeEnum,\r\n CompetitionVersionStatusEnum,\r\n CompetitionVersionStatusEnumLabel,\r\n CompetitionVersionStatusGrouppingLabel\r\n} from 'myrtex-mf-ui-composite';\r\nimport {\r\n activateCompetition,\r\n cancelCompetition,\r\n cancelCompetitionWithValidation,\r\n competitionVersionChangeStatus,\r\n completeCompetition,\r\n createCompetitionVersion,\r\n deleteCompetitionVersion,\r\n loadCompetitionHeader,\r\n pauseCompetition,\r\n selectCompetitionVersion\r\n} from '../store/competition-header.actions';\r\nimport { CompetitionStatusModel } from '../models/competition-status.model';\r\nimport {\r\n selectActivityId,\r\n selectCompetitionSelectedVersionId,\r\n selectCompetitionStatus,\r\n selectCompetitionVersions,\r\n selectManualVersionStatusChanged\r\n} from '../store/competition-header.selector';\r\nimport { CompetitionHeaderCustomButtonsDirective } from '../directives/competition-header-custom-buttons.directive';\r\nimport { CompetitionRejectionModel } from '../models';\r\nimport { SignService } from 'myrtex-mf-signer';\r\n\r\nexport declare type validateVersionFn = ((param: string, onValidated: () => void) => void);\r\n\r\ndeclare global {\r\n interface Window {\r\n CryptoInterceptor: any;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'mrx-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class CompetitionHeaderComponent extends UnSubscriber implements OnInit {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public canChangeStatus = true;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public validateManagementAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Input()\r\n public validatePiblicationAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Output()\r\n public selectedCompetitionVersionInfo = new EventEmitter<CompetitionVersionModel>();\r\n\r\n public competition: CompetitionStatusModel | undefined;\r\n public versions: CompetitionVersionModel[] = [];\r\n public selected: CompetitionVersionModel | undefined;\r\n public selectedVersion = '';\r\n public competitionStatusEnum = CompetitionStatusEnum;\r\n public cancelCompetitionTypeEnum = CancelCompetitionTypeEnum;\r\n public competitionVersionStatusEnum = CompetitionVersionStatusEnum;\r\n public competitionLabel = '';\r\n public showCancelCompetitionButton = false;\r\n public cancelCompetitionButtonLabel = 'Отменить отбор';\r\n public competitionConfig: CompetitionConfigModel | undefined;\r\n public showCompleteCompetitionButton = false;\r\n public restoreButtonName = 'Возобновить';\r\n public isControl = false;\r\n private _signCallback: any;\r\n private _activityId: string | undefined;\r\n\r\n constructor(private signService: SignService, private store: Store, private alertService: AlertService) {\r\n super();\r\n }\r\n\r\n public get competitionAggregateStatusEnumLabel() {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && this.selected.status !== CompetitionVersionStatusEnum.Active) {\r\n return CompetitionVersionStatusEnumLabel[this.selected.status];\r\n }\r\n return this.competition ? CompetitionStatusEnumLabel[this.competition.status] : '';\r\n }\r\n\r\n public get competitionAggregateStatusCssClass(): any {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && (this.competition?.status || CompetitionStatusEnum.New) <= CompetitionStatusEnum.Active) {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active,\r\n }\r\n }\r\n return {\r\n '': this.competition?.status === CompetitionStatusEnum.New\r\n || this.competition?.status !== CompetitionStatusEnum.Completed,\r\n 'color-green': this.competition?.status === CompetitionStatusEnum.Active,\r\n 'color-orange': this.competition?.status === CompetitionStatusEnum.Staying,\r\n 'color-red': this.competition?.status === CompetitionStatusEnum.Canceled\r\n }\r\n }\r\n\r\n public get canCreateVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && (\r\n this.competition.status === CompetitionStatusEnum.Active ||\r\n this.competition.status === CompetitionStatusEnum.Staying);\r\n } else {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && (\r\n this.competition.status === CompetitionStatusEnum.Active ||\r\n this.competition.status === CompetitionStatusEnum.Staying) &&\r\n this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n } else {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1\r\n && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended);\r\n } else {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended)));\r\n } else {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended))) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n return !this.canChangeStatus && !!this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.validatePiblicationAccess() &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n }\r\n }\r\n\r\n public get isLastVersion(): boolean {\r\n if (this.versions?.length > 0) {\r\n const m = Math.max(...this.versions.map(x => x.num));\r\n return m === this.selected?.num;\r\n }\r\n return false;\r\n }\r\n\r\n public get showRejectionReason(): boolean {\r\n return !!this.selected?.rejectionReason &&\r\n (this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n || this.selected?.status === CompetitionVersionStatusEnum.Rejected)\r\n }\r\n\r\n public get versionStatusClass(): any {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active\r\n }\r\n }\r\n\r\n /** Контекст для кастомных кнопок, может расширяться */\r\n public get customButtonsTemplateContext(): any {\r\n return {\r\n activityId: this._activityId,\r\n competitionId: this.competition?.id,\r\n competitionVersionId: this.selected?.id\r\n };\r\n }\r\n\r\n public get canReturnToEdit(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canSeeThreeDots(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return false;\r\n } else {\r\n return this.validateManagementAccess() &&\r\n this.competition?.status != this.competitionStatusEnum.New &&\r\n this.competition?.status != this.competitionStatusEnum.Completed &&\r\n this.competition?.status != this.competitionStatusEnum.NotPlace;\r\n }\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.store.dispatch(loadCompetitionHeader());\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionVersions)).subscribe(result => {\r\n if (result) {\r\n this.versions = result;\r\n this.select();\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionSelectedVersionId)).subscribe(result => {\r\n if (result) {\r\n this.selectedVersion = result;\r\n this.select();\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionConfig)).subscribe(result => {\r\n if (result) {\r\n this.competitionConfig = result;\r\n\r\n if (this.competitionConfig.cancelCompetitionLabel) {\r\n this.cancelCompetitionButtonLabel = this.competitionConfig.cancelCompetitionLabel;\r\n }\r\n if (this.competitionConfig.cancelCompetitionType\r\n && this.competitionConfig.cancelCompetitionType > this.cancelCompetitionTypeEnum.Disabled) {\r\n this.showCancelCompetitionButton = true;\r\n }\r\n this.showCompleteCompetitionButton = this.competitionConfig.showCompleteCompetitionButton;\r\n if (this.competitionConfig.restoreButtonName) {\r\n this.restoreButtonName = this.competitionConfig.restoreButtonName;\r\n }\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectManualVersionStatusChanged)).subscribe(result => {\r\n // произошло ручное изменение статуса, толкаем дальше по таймауту\r\n if (result) {\r\n setTimeout(() => {\r\n const selectedItem = this.selected;\r\n if (selectedItem) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Confirmed\r\n }));\r\n }\r\n }, 10000);\r\n }\r\n }));\r\n\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n public getCompetitionVersionStatusEnumLabel(value: any) {\r\n return CompetitionVersionStatusEnumLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public getCompetitionVersionStatusGrouppingLabel(value: any) {\r\n return CompetitionVersionStatusGrouppingLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public createVersion(): void {\r\n this.alertService.showDialog({\r\n title: `Формирование изменений`,\r\n message:\r\n `${this.getWarningMessageHtml('Внимание! Формирование изменений приведет к созданию новой версии отбора')}\r\n <p>\r\n Вы действительно хотите сформировать изменения?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(createCompetitionVersion());\r\n }\r\n });\r\n }\r\n\r\n public activateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog({\r\n title: `Публикация ${this.competitionLabel}а`,\r\n message: `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите опубликовать ${this.competitionLabel}?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Active\r\n }));\r\n }\r\n });\r\n }\r\n }\r\n\r\n public validateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n\r\n if (this.validateVersionAction) {\r\n this.validateVersionAction(selectedItem.id, () => {\r\n this.signService.sign({\r\n title: 'Направление документа на согласование',\r\n okLabel: 'Отправить',\r\n cancelLabel: 'Отменить',\r\n pdfUrl: `/m-data/minfin/pdf-competition/${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Validation\r\n }));\r\n }, () => {\r\n });\r\n })\r\n }\r\n }\r\n }\r\n\r\n public removeVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog(`Удалить версию ${this.competitionLabel}а?`,\r\n `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите удалить версию ${this.competitionLabel?.toLowerCase()}а?\r\n </p>`,\r\n DialogType.confirm, (ok) => {\r\n this.store.dispatch(deleteCompetitionVersion({versionId: selectedItem.id}));\r\n }, undefined, null, undefined, undefined, DialogColor.red);\r\n }\r\n }\r\n\r\n public restore(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Возобновить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(activateCompetition());\r\n });\r\n }\r\n\r\n public pause(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Приостановить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(pauseCompetition());\r\n });\r\n }\r\n\r\n public cancel(): void {\r\n this.hideControls();\r\n if (this.competitionConfig && this.competitionConfig.cancelCompetitionType == this.cancelCompetitionTypeEnum.WithValidation) {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.store.dispatch(cancelCompetitionWithValidation({versionId: selectedItem.id}));\r\n }\r\n } else {\r\n this.alertService.showDialog(`Отменить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(cancelCompetition());\r\n });\r\n }\r\n }\r\n\r\n public complete(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Завершить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(completeCompetition());\r\n });\r\n }\r\n\r\n public selectVersion(id: string): void {\r\n this.store.dispatch(selectCompetitionVersion({versionId: id}));\r\n }\r\n\r\n public backToEdit(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`редактирование текущей версии`,\r\n `Вы действительно хотите редактировать текущую версию ${this.competitionLabel.toLowerCase()}a`,\r\n DialogType.confirm,\r\n (ok) => {\r\n if (!!this.selected) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: this.selected.id,\r\n status: CompetitionVersionStatusEnum.Draft\r\n }));\r\n }\r\n }, undefined, null, 'Подтвердить', undefined, DialogColor.yellow);\r\n }\r\n\r\n public showControls() {\r\n this.isControl = !this.isControl;\r\n }\r\n\r\n public hideControls() {\r\n this.isControl = false;\r\n }\r\n\r\n public showRejection(model: CompetitionRejectionModel): void {\r\n this.alertService.showDialog(`Причина отклонения`,\r\n ` <div class=\"modal-body__author\">\r\n <span>${model.author}</span>\r\n <span>${model.createdDate}</span>\r\n </div>\r\n <p class=\"modal-body__text\">${model.reason}</p>\r\n `, DialogType.confirm,\r\n undefined, undefined, null, undefined, '', DialogColor.yellow);\r\n }\r\n\r\n private select(): void {\r\n if (this.versions && this.selectedVersion) {\r\n this.selected = this.versions.find(s => s.id === this.selectedVersion);\r\n this.selectedCompetitionVersionInfo.emit(this.selected);\r\n }\r\n }\r\n\r\n private getWarningMessageHtml(customText: string | undefined = undefined): string {\r\n if (!customText) {\r\n customText = 'Внимание! Данное действие нельзя отменить';\r\n }\r\n return `<div class=\"bg-news px-3 py-2 radius-4 my-3 d-flex\">\r\n <div class=\"mr-3\">\r\n <svg width=\"16\" height=\"16\" fill=\"none\">\r\n <use href=\"#alert\"></use>\r\n </svg>\r\n </div>\r\n <div class=\"small m-0 bold\">\r\n <span class=\"color-orange\">\r\n ${customText}\r\n </span>\r\n </div>\r\n </div>`;\r\n }\r\n}\r\n","<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- Название субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- вставить название сущности, либо \"Субсидия\" либо \"Отбор\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- название субсидии/отбора -->\r\n <!-- ограничить длину названия в 44 символов -->\r\n <!-- вставить в тултип полное название субсидии/отбора -->\r\n <span class=\"info-banner-item__text text-normal\" myTooltip [tooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : 'Не указан' }}\r\n </span>\r\n </div>\r\n <!-- статус субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n Статус\r\n </span>\r\n <!-- статус субсидии/отбора -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" [ngClass]=\"competitionAggregateStatusCssClass\">\r\n {{ competitionAggregateStatusEnumLabel }}\r\n </span>\r\n </div>\r\n </div>\r\n <!-- селект с выбором версии -->\r\n <div class=\"info-banner-item info-banner-item_input wpx-260 mr-3\" *ngIf=\"versions && versions.length > 1\">\r\n <div class=\"inputbox inputbox-md mb-0\">\r\n <ng-select [items]=\"versions\" [ngModel]=\"selected.id\"\r\n (ngModelChange)=\"selectVersion($event)\"\r\n [clearable]=\"false\"\r\n bindValue=\"id\"\r\n bindLabel=\"name\"\r\n groupBy=\"status\"\r\n notFoundText=\"Не найдено\">\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\r\n {{getCompetitionVersionStatusGrouppingLabel(item.status)}}\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n Версия {{item.num}} от {{item.createdDate}}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n Версия {{item.num}} от {{item.createdDate}}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- статаус версии -->\r\n <!-- не показывать, если нет версий -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n Статус версии\r\n </span>\r\n <!-- статус версии -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" *ngIf=\"selected\" [ngClass]=\"versionStatusClass\">\r\n {{ getCompetitionVersionStatusEnumLabel(selected.status) }}\r\n </span>\r\n </div>\r\n <!-- удаление, вызов модалки, предупреждение об внесении изменений -->\r\n <div class=\"info-banner-item\">\r\n <!-- не показывать, если не требуется -->\r\n <!-- \"конверт\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n myTooltip\r\n [tooltip]=\"'Посмотреть причину отклонения'\"\r\n (click)=\"showRejection(selected.rejectionReason)\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 6.25L11.3356 13.6595C11.7145 13.9962 12.2855 13.9962 12.6644 13.6595L21 6.25\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 18L7.5 14L9.75 12M21 18L16.5 14L14.25 12\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n </svg>\r\n </div>\r\n <!-- удаление версии -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" myTooltip [tooltip]=\"'Удалить версию'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3 6H5H21\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <!-- восклицательный знак -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" myTooltip [tooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M12.2302 18V17M12.2302 14V10M4.00298 21.25H20.4575C21.9971 21.25 22.9593 19.5833 22.1895 18.25L13.9623 4C13.1925 2.66667 11.268 2.66667 10.4982 4L2.27093 18.25C1.50113 19.5833 2.46338 21.25 4.00298 21.25Z\" stroke=\"#D57B1C\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"info-banner-control\">\r\n <div *ngIf=\"!!customButtonsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customButtonsTemplate.templateRef;context:customButtonsTemplateContext\"></ng-container>\r\n </div>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"createVersion()\"\r\n *ngIf=\"canCreateVersion\"\r\n [disabled]=\"createVersionDisabled\">\r\n Сформировать изменения\r\n </button>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"activateVersion()\"\r\n *ngIf=\"canActivateVersion\"\r\n [disabled]=\"activateVersionDisabled\">\r\n Опубликовать\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n Согласование\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n Редактировать\r\n </button>\r\n <!-- управление статусом/отбором -->\r\n <!-- не показывать если не требуется -->\r\n <div class=\"info-banner-control__action\"\r\n *ngIf=\"competition && canSeeThreeDots\">\r\n <div class=\"info-banner-control__icon\" (click)=\"showControls()\" [ngClass]=\"{'active': isControl}\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M10.5 12C10.5 12.8284 11.1716 13.5 12 13.5C12.8284 13.5 13.5 12.8284 13.5 12C13.5 11.1716 12.8284 10.5 12 10.5C11.1716 10.5 10.5 11.1716 10.5 12Z\" fill=\"#253E49\"/>\r\n <path d=\"M10.5 19C10.5 19.8284 11.1716 20.5 12 20.5C12.8284 20.5 13.5 19.8284 13.5 19C13.5 18.1716 12.8284 17.5 12 17.5C11.1716 17.5 10.5 18.1716 10.5 19Z\" fill=\"#253E49\"/>\r\n <path d=\"M10.5 5C10.5 5.82843 11.1716 6.5 12 6.5C12.8284 6.5 13.5 5.82843 13.5 5C13.5 4.17157 12.8284 3.5 12 3.5C11.1716 3.5 10.5 4.17157 10.5 5Z\" fill=\"#253E49\"/>\r\n </svg>\r\n </div>\r\n <div *ngIf=\"isControl\" class=\"info-banner-control__menu\">\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active\"\r\n (click)=\"pause()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"5\" y=\"3\" width=\"5\" height=\"18\" rx=\"1\" fill=\"#253E49\"/>\r\n <rect x=\"14\" y=\"3\" width=\"5\" height=\"18\" rx=\"1\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n Приостановить\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\"\r\n (click)=\"restore()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20.5518 10.8276C21.2044 11.2151 21.2044 12.1599 20.5518 12.5474L5.51054 21.4781C4.84395 21.8739 4 21.3935 4 20.6183L4 2.75674C4 1.9815 4.84395 1.50109 5.51054 1.89688L20.5518 10.8276Z\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n {{restoreButtonName}}\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"(\r\n competition.status == competitionStatusEnum.Active ||\r\n competition.status == competitionStatusEnum.Staying)\r\n && showCompleteCompetitionButton\"\r\n (click)=\"complete()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n Завершить\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"(\r\n competition.status == competitionStatusEnum.Active ||\r\n competition.status == competitionStatusEnum.Staying ||\r\n competition.status == competitionStatusEnum.Canceled)\r\n && showCancelCompetitionButton\"\r\n (click)=\"cancel()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.7677 4.23213C21.5354 5.9999 20.744 6.79135 19.7677 7.76766L7.76771 19.7677C6.7914 20.744 5.99987 21.5355 4.23217 19.7677C2.46454 17.9999 3.25586 17.2084 4.23217 16.2321L16.2322 4.23213C17.2085 3.25582 18 2.46453 19.7677 4.23213Z\" fill=\"#253E49\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.23222 4.23196C5.96445 2.49991 6.79144 3.25565 7.76775 4.23196L19.7678 16.232C20.7441 17.2083 21.5 18.0353 19.7678 19.7675C18.0355 21.4997 17.2085 20.7438 16.2322 19.7675L4.23222 7.7675C3.25591 6.79119 2.46429 6 4.23222 4.23196Z\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n {{cancelCompetitionButtonLabel}}\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isControl\" class=\"info-banner-control__bg\" (click)=\"hideControls()\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface MenuState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: MenuState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {MenuState, initialCompetitionHeaderState} from './competition-header.state';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\n\r\nconst competitionHeaderReducerCreator = createReducer(\r\n initialCompetitionHeaderState,\r\n\r\n on(CompetitionActions.loadCompetitionHeaderSuccess, (state, {competitionHeader}) => {\r\n const versions = competitionHeader.versions;\r\n const competition = {\r\n id: competitionHeader.id,\r\n status: competitionHeader.status,\r\n mode: competitionHeader.mode\r\n } as CompetitionStatusModel;\r\n return {\r\n ...state,\r\n competitionVersions: versions,\r\n defaultVersionVersionId: competitionHeader.selectedCompetitionVersionId,\r\n competition, activityId: competitionHeader.activityId\r\n };\r\n }),\r\n\r\n on(CompetitionActions.competitionVersionChangeStatusManual, (state, {versionId, status}) => {\r\n const versions = [...state.competitionVersions];\r\n const version = versions.find(s => s.id === versionId);\r\n if (version) {\r\n const newVersion = {...version};\r\n newVersion.status = status;\r\n versions.splice(versions.indexOf(version), 1, newVersion);\r\n }\r\n return {...state, competitionVersions: versions, manualVersionStatusChanged: true};\r\n })\r\n);\r\n\r\nexport function competitionHeaderReducer(state: MenuState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderService extends EndpointBaseService {\r\n\r\n private url = '/application' + this.restPath + '/competition';\r\n\r\n constructor(http: HttpClient, injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n return this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header`);\r\n }\r\n\r\n public createVersion(competitionId?: string): Observable<string> {\r\n return this.http.post<string>(`${this.url}/${competitionId}/version`, {});\r\n }\r\n\r\n public deleteVersion(competitionId?: string, versionId?: string): Observable<boolean> {\r\n return this.http.delete<boolean>(`${this.url}/${competitionId}/version/${versionId}`);\r\n }\r\n\r\n public versionChangeStatus(competitionId?: string, versionId?: string, status?: CompetitionVersionStatusEnum): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.url}/${competitionId}/version/${versionId}/to-status/${status}`, {});\r\n }\r\n\r\n public activate(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/activate`, {});\r\n }\r\n\r\n public pause(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/pause`, {});\r\n }\r\n\r\n public complete(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/complete`, {});\r\n }\r\n\r\n public cancel(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/cancel`, {});\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Actions, createEffect, ofType} from '@ngrx/effects';\r\nimport {select, Store} from '@ngrx/store';\r\n// import {EMPTY} from 'rxjs';\r\n// import {catchError, map, switchMap, tap, withLatestFrom} from 'rxjs/operators';\r\n// import * as CompetitionHeaderActions from './competition-header.actions';\r\n// import {cancelCompetitionWithValidation, ECompetitionHeaderActions} from './competition-header.actions';\r\n// import {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport {CompetitionHeaderService} from '../services/competition-header.service';\r\n// import {\r\n// AlertService,\r\n// CompetitionVersionStatusEnum,\r\n// MessageSeverity,\r\n// selectCompetitionId,\r\n// Utilities\r\n// } from 'myrtex-mf-ui-composite';\r\n\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderEffects {\r\n\r\n // loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.LoadCompetitionHeader),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.getHeader(competitionId).pipe(\r\n // map((result: CompetitionHeaderVersionModel) => CompetitionHeaderActions.loadCompetitionHeaderSuccess({competitionHeader: result})),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.DeleteCompetitionVersion),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([versionId, competitionId]) => {\r\n // return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(\r\n // map((result: boolean) => CompetitionHeaderActions.deleteCompetitionVersionSuccess({ versionId })),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([, competitionId]) => window.location.href = `/application/competitions/item?competitionId=${competitionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // createCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CreateCompetitionVersion),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.createVersion(competitionId).pipe(\r\n // map((result: string) => CompetitionHeaderActions.createCompetitionVersionSuccess({ versionId: result })),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) =>\r\n // window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus),\r\n // map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([action, competitionId]) => {\r\n // return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(\r\n // map((result: boolean) => {\r\n // return CompetitionHeaderActions.competitionVersionChangeStatusSuccess({\r\n // versionId: action.versionId,\r\n // status: action.status\r\n // });\r\n // }),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess),\r\n // map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([action, competitionId]) => {\r\n // if (action.status === CompetitionVersionStatusEnum.Validation) {\r\n // window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;\r\n // } else {\r\n // window.location.reload();\r\n // }\r\n // })\r\n // ), { dispatch: false });\r\n //\r\n // selectCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.SelectCompetitionVersion),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) => {\r\n // const newUri = Utilities.updateQueryStringParameter(window.location.href, 'versionId', versionId);\r\n // window.location.href = newUri;\r\n // })\r\n // ), {dispatch: false});\r\n //\r\n // activateCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.ActivateCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.activate(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка активации', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // pauseCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.PauseCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.pause(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка приостановки', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // completeCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompleteCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.complete(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка при завершении', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // cancelCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CancelCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.cancel(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка при отмене', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // cancelCompetitionWithValidation$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CancelCompetitionWithValidation),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) =>\r\n // window.location.href = `/m-data/minfin/selection/edit/cancel?competitionId=${competitionId}&versionId=${versionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // competitionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),\r\n // tap(() => window.location.reload())\r\n // ), {dispatch: false});\r\n\r\n constructor(private competitionHeaderService: CompetitionHeaderService,\r\n private actions$: Actions,\r\n private store: Store,\r\n // private alertService: AlertService\r\n ) {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { CompetitionHeaderComponent } from './components/competition-header.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { COMPETITION_HEADER_FEATURE_NAME } from './constants';\r\nimport { competitionHeaderReducer } from './store/competition-header.reducers';\r\nimport { CompetitionHeaderService } from './services/competition-header.service';\r\nimport { CompetitionHeaderCustomButtonsDirective } from './directives/competition-header-custom-buttons.directive';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MyrtexMfUiCompositeModule, MyrtexUiComponentsModule, TenantSettingsModule } from 'myrtex-mf-ui-composite';\r\nimport { MyrtexSignerModule } from 'myrtex-mf-signer';\r\nimport { CompetitionHeaderEffects } from './store/competition-header.effects';\r\n\r\n@NgModule({\r\n declarations: [\r\n CompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n EffectsModule.forFeature([CompetitionHeaderEffects]),\r\n StoreModule.forFeature(COMPETITION_HEADER_FEATURE_NAME, competitionHeaderReducer),\r\n TenantSettingsModule,\r\n FormsModule,\r\n MyrtexUiComponentsModule,\r\n MyrtexMfUiCompositeModule,\r\n MyrtexSignerModule,\r\n NgSelectModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService\r\n ],\r\n exports: [\r\n CompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ]\r\n})\r\nexport class CompetitionHeaderModule {\r\n}\r\n","/*\n * Public API Surface of myrtex-mf-competition\n */\n\nexport * from './lib/modules/competition-header/competition-header.module';\nexport * from './lib/modules/competition-header/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i1","i1.CompetitionHeaderService","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.selector.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/directives/competition-header-custom-buttons.directive.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.html","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/menu.reducers.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/competition-header.service.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.effects.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/competition-header.module.ts","../../../projects/myrtex-mf-competition/src/public-api.ts","../../../projects/myrtex-mf-competition/src/myrtex-mf-competition.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\r\nimport {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum } from 'myrtex-mf-ui-composite';\r\n\r\nexport enum ECompetitionHeaderActions {\r\n\r\n LoadCompetitionHeader = '[Competition] Load Header',\r\n LoadCompetitionHeaderSuccess = '[Competition] Load Header Success',\r\n\r\n DeleteCompetitionVersion = '[Competition] Delete Version',\r\n DeleteCompetitionVersionSuccess = '[Competition] Delete Version Success',\r\n\r\n CreateCompetitionVersion = '[Competition] Create Version',\r\n CreateCompetitionVersionSuccess = '[Competition] Create Version Success',\r\n\r\n CompetitionVersionChangeStatus = '[Competition] Version Change Status',\r\n CompetitionVersionChangeStatusSuccess = '[Competition] Version Change Status Success',\r\n CompetitionVersionChangeStatusManual = '[Competition] Version Change Status Manual',\r\n\r\n SelectCompetitionVersion = '[Competition] Select Version',\r\n\r\n ActivateCompetition = '[Competition] Activate',\r\n PauseCompetition = '[Competition] Pause',\r\n CancelCompetition = '[Competition] Cancel',\r\n CancelCompetitionWithValidation = '[Competition] Cancel With Validation',\r\n CompleteCompetition = '[Competition] Complete',\r\n\r\n CompetitionChangeStatusSuccess = '[Competition] ChangeStatus Success',\r\n}\r\n\r\nexport const loadCompetitionHeader = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeader\r\n);\r\n\r\nexport const loadCompetitionHeaderSuccess = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeaderSuccess,\r\n props<{ competitionHeader: CompetitionHeaderVersionModel }>()\r\n);\r\n\r\nexport const deleteCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const deleteCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const createCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersion\r\n);\r\n\r\nexport const competitionVersionChangeStatus = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatus,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusManual = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusManual,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const createCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const selectCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.SelectCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const activateCompetition = createAction(\r\n ECompetitionHeaderActions.ActivateCompetition\r\n);\r\n\r\nexport const pauseCompetition = createAction(\r\n ECompetitionHeaderActions.PauseCompetition\r\n);\r\n\r\nexport const cancelCompetition = createAction(\r\n ECompetitionHeaderActions.CancelCompetition\r\n);\r\n\r\nexport const cancelCompetitionWithValidation = createAction(\r\n ECompetitionHeaderActions.CancelCompetitionWithValidation,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const completeCompetition = createAction(\r\n ECompetitionHeaderActions.CompleteCompetition\r\n);\r\n\r\nexport const competitionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionChangeStatusSuccess\r\n);\r\n","export const COMPETITION_HEADER_FEATURE_NAME = 'competition-header';\r\n","import {createFeatureSelector, createSelector} from '@ngrx/store';\r\nimport {MenuState} from './competition-header.state';\r\nimport {COMPETITION_HEADER_FEATURE_NAME} from '../constants';\r\nimport { selectCompetitionIdAndVersionId } from 'myrtex-mf-ui-composite';\r\n\r\nconst competitionVersionsFeature =\r\n createFeatureSelector<MenuState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.defaultVersionVersionId\r\n);\r\n\r\nexport const selectCompetitionSelectedVersionId = createSelector(\r\n selectCompetitionIdAndVersionId,\r\n selectCompetitionDefaultVersionId,\r\n (cv: {competitionId: string | undefined, versionId: string | undefined}, dv: string) => {\r\n return cv.versionId ? cv.versionId : dv;\r\n }\r\n);\r\n\r\nexport const selectCompetitionStatus = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: MenuState) => state.activityId\r\n);\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[myCompetitionHeaderCustomButtons]'\r\n})\r\nexport class CompetitionHeaderCustomButtonsDirective {\r\n\r\n constructor(public templateRef: TemplateRef<unknown>) { }\r\n\r\n}\r\n","import { Component, ContentChild, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { CompetitionVersionModel } from '../models/competition-version.model';\r\nimport {\r\n CompetitionModeEnum,\r\n CompetitionStatusEnum,\r\n CompetitionStatusEnumLabel,\r\n DialogColor,\r\n DialogType,\r\n AlertService,\r\n UnSubscriber,\r\n selectCompetitionConfig,\r\n selectCompetitionLabel,\r\n CompetitionConfigModel,\r\n CancelCompetitionTypeEnum,\r\n CompetitionVersionStatusEnum,\r\n CompetitionVersionStatusEnumLabel,\r\n CompetitionVersionStatusGrouppingLabel\r\n} from 'myrtex-mf-ui-composite';\r\nimport {\r\n activateCompetition,\r\n cancelCompetition,\r\n cancelCompetitionWithValidation,\r\n competitionVersionChangeStatus,\r\n completeCompetition,\r\n createCompetitionVersion,\r\n deleteCompetitionVersion,\r\n loadCompetitionHeader,\r\n pauseCompetition,\r\n selectCompetitionVersion\r\n} from '../store/competition-header.actions';\r\nimport { CompetitionStatusModel } from '../models/competition-status.model';\r\nimport {\r\n selectActivityId,\r\n selectCompetitionSelectedVersionId,\r\n selectCompetitionStatus,\r\n selectCompetitionVersions,\r\n selectManualVersionStatusChanged\r\n} from '../store/competition-header.selector';\r\nimport { CompetitionHeaderCustomButtonsDirective } from '../directives/competition-header-custom-buttons.directive';\r\nimport { CompetitionRejectionModel } from '../models';\r\nimport { SignService } from 'myrtex-mf-signer';\r\n\r\nexport declare type validateVersionFn = ((param: string, onValidated: () => void) => void);\r\n\r\ndeclare global {\r\n interface Window {\r\n CryptoInterceptor: any;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'mrx-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class CompetitionHeaderComponent extends UnSubscriber implements OnInit {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public canChangeStatus = true;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public validateManagementAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Input()\r\n public validatePiblicationAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Output()\r\n public selectedCompetitionVersionInfo = new EventEmitter<CompetitionVersionModel>();\r\n\r\n public competition: CompetitionStatusModel | undefined;\r\n public versions: CompetitionVersionModel[] = [];\r\n public selected: CompetitionVersionModel | undefined;\r\n public selectedVersion = '';\r\n public competitionStatusEnum = CompetitionStatusEnum;\r\n public cancelCompetitionTypeEnum = CancelCompetitionTypeEnum;\r\n public competitionVersionStatusEnum = CompetitionVersionStatusEnum;\r\n public competitionLabel = '';\r\n public showCancelCompetitionButton = false;\r\n public cancelCompetitionButtonLabel = 'Отменить отбор';\r\n public competitionConfig: CompetitionConfigModel | undefined;\r\n public showCompleteCompetitionButton = false;\r\n public restoreButtonName = 'Возобновить';\r\n public isControl = false;\r\n private _signCallback: any;\r\n private _activityId: string | undefined;\r\n\r\n constructor(private signService: SignService, private store: Store, private alertService: AlertService) {\r\n super();\r\n }\r\n\r\n public get competitionAggregateStatusEnumLabel() {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && this.selected.status !== CompetitionVersionStatusEnum.Active) {\r\n return CompetitionVersionStatusEnumLabel[this.selected.status];\r\n }\r\n return this.competition ? CompetitionStatusEnumLabel[this.competition.status] : '';\r\n }\r\n\r\n public get competitionAggregateStatusCssClass(): any {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && (this.competition?.status || CompetitionStatusEnum.New) <= CompetitionStatusEnum.Active) {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active,\r\n }\r\n }\r\n return {\r\n '': this.competition?.status === CompetitionStatusEnum.New\r\n || this.competition?.status !== CompetitionStatusEnum.Completed,\r\n 'color-green': this.competition?.status === CompetitionStatusEnum.Active,\r\n 'color-orange': this.competition?.status === CompetitionStatusEnum.Staying,\r\n 'color-red': this.competition?.status === CompetitionStatusEnum.Canceled\r\n }\r\n }\r\n\r\n public get canCreateVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && (\r\n this.competition.status === CompetitionStatusEnum.Active ||\r\n this.competition.status === CompetitionStatusEnum.Staying);\r\n } else {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && (\r\n this.competition.status === CompetitionStatusEnum.Active ||\r\n this.competition.status === CompetitionStatusEnum.Staying) &&\r\n this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n } else {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1\r\n && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended);\r\n } else {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended)));\r\n } else {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended))) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n return !this.canChangeStatus && !!this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.validatePiblicationAccess() &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n }\r\n }\r\n\r\n public get isLastVersion(): boolean {\r\n if (this.versions?.length > 0) {\r\n const m = Math.max(...this.versions.map(x => x.num));\r\n return m === this.selected?.num;\r\n }\r\n return false;\r\n }\r\n\r\n public get showRejectionReason(): boolean {\r\n return !!this.selected?.rejectionReason &&\r\n (this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n || this.selected?.status === CompetitionVersionStatusEnum.Rejected)\r\n }\r\n\r\n public get versionStatusClass(): any {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active\r\n }\r\n }\r\n\r\n /** Контекст для кастомных кнопок, может расширяться */\r\n public get customButtonsTemplateContext(): any {\r\n return {\r\n activityId: this._activityId,\r\n competitionId: this.competition?.id,\r\n competitionVersionId: this.selected?.id\r\n };\r\n }\r\n\r\n public get canReturnToEdit(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canSeeThreeDots(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return false;\r\n } else {\r\n return this.validateManagementAccess() &&\r\n this.competition?.status != this.competitionStatusEnum.New &&\r\n this.competition?.status != this.competitionStatusEnum.Completed &&\r\n this.competition?.status != this.competitionStatusEnum.NotPlace;\r\n }\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.store.dispatch(loadCompetitionHeader());\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionVersions)).subscribe(result => {\r\n if (result) {\r\n this.versions = result;\r\n this.select();\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionSelectedVersionId)).subscribe(result => {\r\n if (result) {\r\n this.selectedVersion = result;\r\n this.select();\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionConfig)).subscribe(result => {\r\n if (result) {\r\n this.competitionConfig = result;\r\n\r\n if (this.competitionConfig.cancelCompetitionLabel) {\r\n this.cancelCompetitionButtonLabel = this.competitionConfig.cancelCompetitionLabel;\r\n }\r\n if (this.competitionConfig.cancelCompetitionType\r\n && this.competitionConfig.cancelCompetitionType > this.cancelCompetitionTypeEnum.Disabled) {\r\n this.showCancelCompetitionButton = true;\r\n }\r\n this.showCompleteCompetitionButton = this.competitionConfig.showCompleteCompetitionButton;\r\n if (this.competitionConfig.restoreButtonName) {\r\n this.restoreButtonName = this.competitionConfig.restoreButtonName;\r\n }\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectManualVersionStatusChanged)).subscribe(result => {\r\n // произошло ручное изменение статуса, толкаем дальше по таймауту\r\n if (result) {\r\n setTimeout(() => {\r\n const selectedItem = this.selected;\r\n if (selectedItem) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Confirmed\r\n }));\r\n }\r\n }, 10000);\r\n }\r\n }));\r\n\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n public getCompetitionVersionStatusEnumLabel(value: any) {\r\n return CompetitionVersionStatusEnumLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public getCompetitionVersionStatusGrouppingLabel(value: any) {\r\n return CompetitionVersionStatusGrouppingLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public createVersion(): void {\r\n this.alertService.showDialog({\r\n title: `Формирование изменений`,\r\n message:\r\n `${this.getWarningMessageHtml('Внимание! Формирование изменений приведет к созданию новой версии отбора')}\r\n <p>\r\n Вы действительно хотите сформировать изменения?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(createCompetitionVersion());\r\n }\r\n });\r\n }\r\n\r\n public activateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog({\r\n title: `Публикация ${this.competitionLabel}а`,\r\n message: `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите опубликовать ${this.competitionLabel}?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Active\r\n }));\r\n }\r\n });\r\n }\r\n }\r\n\r\n public validateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n\r\n if (this.validateVersionAction) {\r\n this.validateVersionAction(selectedItem.id, () => {\r\n this.signService.sign({\r\n title: 'Направление документа на согласование',\r\n okLabel: 'Отправить',\r\n cancelLabel: 'Отменить',\r\n pdfUrl: `/m-data/minfin/pdf-competition/${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Validation\r\n }));\r\n }, () => {\r\n });\r\n })\r\n }\r\n }\r\n }\r\n\r\n public removeVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog(`Удалить версию ${this.competitionLabel}а?`,\r\n `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите удалить версию ${this.competitionLabel?.toLowerCase()}а?\r\n </p>`,\r\n DialogType.confirm, (ok) => {\r\n this.store.dispatch(deleteCompetitionVersion({versionId: selectedItem.id}));\r\n }, undefined, null, undefined, undefined, DialogColor.red);\r\n }\r\n }\r\n\r\n public restore(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Возобновить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(activateCompetition());\r\n });\r\n }\r\n\r\n public pause(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Приостановить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(pauseCompetition());\r\n });\r\n }\r\n\r\n public cancel(): void {\r\n this.hideControls();\r\n if (this.competitionConfig && this.competitionConfig.cancelCompetitionType == this.cancelCompetitionTypeEnum.WithValidation) {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.store.dispatch(cancelCompetitionWithValidation({versionId: selectedItem.id}));\r\n }\r\n } else {\r\n this.alertService.showDialog(`Отменить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(cancelCompetition());\r\n });\r\n }\r\n }\r\n\r\n public complete(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`Завершить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(completeCompetition());\r\n });\r\n }\r\n\r\n public selectVersion(id: string): void {\r\n this.store.dispatch(selectCompetitionVersion({versionId: id}));\r\n }\r\n\r\n public backToEdit(): void {\r\n this.hideControls();\r\n this.alertService.showDialog(`редактирование текущей версии`,\r\n `Вы действительно хотите редактировать текущую версию ${this.competitionLabel.toLowerCase()}a`,\r\n DialogType.confirm,\r\n (ok) => {\r\n if (!!this.selected) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: this.selected.id,\r\n status: CompetitionVersionStatusEnum.Draft\r\n }));\r\n }\r\n }, undefined, null, 'Подтвердить', undefined, DialogColor.yellow);\r\n }\r\n\r\n public showControls() {\r\n this.isControl = !this.isControl;\r\n }\r\n\r\n public hideControls() {\r\n this.isControl = false;\r\n }\r\n\r\n public showRejection(model: CompetitionRejectionModel): void {\r\n this.alertService.showDialog(`Причина отклонения`,\r\n ` <div class=\"modal-body__author\">\r\n <span>${model.author}</span>\r\n <span>${model.createdDate}</span>\r\n </div>\r\n <p class=\"modal-body__text\">${model.reason}</p>\r\n `, DialogType.confirm,\r\n undefined, undefined, null, undefined, '', DialogColor.yellow);\r\n }\r\n\r\n private select(): void {\r\n if (this.versions && this.selectedVersion) {\r\n this.selected = this.versions.find(s => s.id === this.selectedVersion);\r\n this.selectedCompetitionVersionInfo.emit(this.selected);\r\n }\r\n }\r\n\r\n private getWarningMessageHtml(customText: string | undefined = undefined): string {\r\n if (!customText) {\r\n customText = 'Внимание! Данное действие нельзя отменить';\r\n }\r\n return `<div class=\"bg-news px-3 py-2 radius-4 my-3 d-flex\">\r\n <div class=\"mr-3\">\r\n <svg width=\"16\" height=\"16\" fill=\"none\">\r\n <use href=\"#alert\"></use>\r\n </svg>\r\n </div>\r\n <div class=\"small m-0 bold\">\r\n <span class=\"color-orange\">\r\n ${customText}\r\n </span>\r\n </div>\r\n </div>`;\r\n }\r\n}\r\n","<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- Название субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- вставить название сущности, либо \"Субсидия\" либо \"Отбор\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- название субсидии/отбора -->\r\n <!-- ограничить длину названия в 44 символов -->\r\n <!-- вставить в тултип полное название субсидии/отбора -->\r\n <span class=\"info-banner-item__text text-normal\" myTooltip [tooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : 'Не указан' }}\r\n </span>\r\n </div>\r\n <!-- статус субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n Статус\r\n </span>\r\n <!-- статус субсидии/отбора -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" [ngClass]=\"competitionAggregateStatusCssClass\">\r\n {{ competitionAggregateStatusEnumLabel }}\r\n </span>\r\n </div>\r\n </div>\r\n <!-- селект с выбором версии -->\r\n <div class=\"info-banner-item info-banner-item_input wpx-260 mr-3\" *ngIf=\"versions && versions.length > 1\">\r\n <div class=\"inputbox inputbox-md mb-0\">\r\n <ng-select [items]=\"versions\" [ngModel]=\"selected.id\"\r\n (ngModelChange)=\"selectVersion($event)\"\r\n [clearable]=\"false\"\r\n bindValue=\"id\"\r\n bindLabel=\"name\"\r\n groupBy=\"status\"\r\n notFoundText=\"Не найдено\">\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\r\n {{getCompetitionVersionStatusGrouppingLabel(item.status)}}\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n Версия {{item.num}} от {{item.createdDate}}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n Версия {{item.num}} от {{item.createdDate}}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- статаус версии -->\r\n <!-- не показывать, если нет версий -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n Статус версии\r\n </span>\r\n <!-- статус версии -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" *ngIf=\"selected\" [ngClass]=\"versionStatusClass\">\r\n {{ getCompetitionVersionStatusEnumLabel(selected.status) }}\r\n </span>\r\n </div>\r\n <!-- удаление, вызов модалки, предупреждение об внесении изменений -->\r\n <div class=\"info-banner-item\">\r\n <!-- не показывать, если не требуется -->\r\n <!-- \"конверт\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n myTooltip\r\n [tooltip]=\"'Посмотреть причину отклонения'\"\r\n (click)=\"showRejection(selected.rejectionReason)\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 6.25L11.3356 13.6595C11.7145 13.9962 12.2855 13.9962 12.6644 13.6595L21 6.25\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 18L7.5 14L9.75 12M21 18L16.5 14L14.25 12\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n </svg>\r\n </div>\r\n <!-- удаление версии -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" myTooltip [tooltip]=\"'Удалить версию'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3 6H5H21\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <!-- восклицательный знак -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" myTooltip [tooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M12.2302 18V17M12.2302 14V10M4.00298 21.25H20.4575C21.9971 21.25 22.9593 19.5833 22.1895 18.25L13.9623 4C13.1925 2.66667 11.268 2.66667 10.4982 4L2.27093 18.25C1.50113 19.5833 2.46338 21.25 4.00298 21.25Z\" stroke=\"#D57B1C\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"info-banner-control\">\r\n <div *ngIf=\"!!customButtonsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customButtonsTemplate.templateRef;context:customButtonsTemplateContext\"></ng-container>\r\n </div>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"createVersion()\"\r\n *ngIf=\"canCreateVersion\"\r\n [disabled]=\"createVersionDisabled\">\r\n Сформировать изменения\r\n </button>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"activateVersion()\"\r\n *ngIf=\"canActivateVersion\"\r\n [disabled]=\"activateVersionDisabled\">\r\n Опубликовать\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n Согласование\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n Редактировать\r\n </button>\r\n <!-- управление статусом/отбором -->\r\n <!-- не показывать если не требуется -->\r\n <div class=\"info-banner-control__action\"\r\n *ngIf=\"competition && canSeeThreeDots\">\r\n <div class=\"info-banner-control__icon\" (click)=\"showControls()\" [ngClass]=\"{'active': isControl}\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M10.5 12C10.5 12.8284 11.1716 13.5 12 13.5C12.8284 13.5 13.5 12.8284 13.5 12C13.5 11.1716 12.8284 10.5 12 10.5C11.1716 10.5 10.5 11.1716 10.5 12Z\" fill=\"#253E49\"/>\r\n <path d=\"M10.5 19C10.5 19.8284 11.1716 20.5 12 20.5C12.8284 20.5 13.5 19.8284 13.5 19C13.5 18.1716 12.8284 17.5 12 17.5C11.1716 17.5 10.5 18.1716 10.5 19Z\" fill=\"#253E49\"/>\r\n <path d=\"M10.5 5C10.5 5.82843 11.1716 6.5 12 6.5C12.8284 6.5 13.5 5.82843 13.5 5C13.5 4.17157 12.8284 3.5 12 3.5C11.1716 3.5 10.5 4.17157 10.5 5Z\" fill=\"#253E49\"/>\r\n </svg>\r\n </div>\r\n <div *ngIf=\"isControl\" class=\"info-banner-control__menu\">\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active\"\r\n (click)=\"pause()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"5\" y=\"3\" width=\"5\" height=\"18\" rx=\"1\" fill=\"#253E49\"/>\r\n <rect x=\"14\" y=\"3\" width=\"5\" height=\"18\" rx=\"1\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n Приостановить\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\"\r\n (click)=\"restore()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20.5518 10.8276C21.2044 11.2151 21.2044 12.1599 20.5518 12.5474L5.51054 21.4781C4.84395 21.8739 4 21.3935 4 20.6183L4 2.75674C4 1.9815 4.84395 1.50109 5.51054 1.89688L20.5518 10.8276Z\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n {{restoreButtonName}}\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"(\r\n competition.status == competitionStatusEnum.Active ||\r\n competition.status == competitionStatusEnum.Staying)\r\n && showCompleteCompetitionButton\"\r\n (click)=\"complete()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n Завершить\r\n </span>\r\n </div>\r\n <div class=\"info-banner-control__menu-item\"\r\n *ngIf=\"(\r\n competition.status == competitionStatusEnum.Active ||\r\n competition.status == competitionStatusEnum.Staying ||\r\n competition.status == competitionStatusEnum.Canceled)\r\n && showCancelCompetitionButton\"\r\n (click)=\"cancel()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.7677 4.23213C21.5354 5.9999 20.744 6.79135 19.7677 7.76766L7.76771 19.7677C6.7914 20.744 5.99987 21.5355 4.23217 19.7677C2.46454 17.9999 3.25586 17.2084 4.23217 16.2321L16.2322 4.23213C17.2085 3.25582 18 2.46453 19.7677 4.23213Z\" fill=\"#253E49\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.23222 4.23196C5.96445 2.49991 6.79144 3.25565 7.76775 4.23196L19.7678 16.232C20.7441 17.2083 21.5 18.0353 19.7678 19.7675C18.0355 21.4997 17.2085 20.7438 16.2322 19.7675L4.23222 7.7675C3.25591 6.79119 2.46429 6 4.23222 4.23196Z\" fill=\"#253E49\"/>\r\n </svg>\r\n <span>\r\n {{cancelCompetitionButtonLabel}}\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isControl\" class=\"info-banner-control__bg\" (click)=\"hideControls()\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface MenuState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: MenuState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {MenuState, initialCompetitionHeaderState} from './competition-header.state';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\n\r\nconst competitionHeaderReducerCreator = createReducer(\r\n initialCompetitionHeaderState,\r\n\r\n on(CompetitionActions.loadCompetitionHeaderSuccess, (state, {competitionHeader}) => {\r\n const versions = competitionHeader.versions;\r\n const competition = {\r\n id: competitionHeader.id,\r\n status: competitionHeader.status,\r\n mode: competitionHeader.mode\r\n } as CompetitionStatusModel;\r\n return {\r\n ...state,\r\n competitionVersions: versions,\r\n defaultVersionVersionId: competitionHeader.selectedCompetitionVersionId,\r\n competition, activityId: competitionHeader.activityId\r\n };\r\n }),\r\n\r\n on(CompetitionActions.competitionVersionChangeStatusManual, (state, {versionId, status}) => {\r\n const versions = [...state.competitionVersions];\r\n const version = versions.find(s => s.id === versionId);\r\n if (version) {\r\n const newVersion = {...version};\r\n newVersion.status = status;\r\n versions.splice(versions.indexOf(version), 1, newVersion);\r\n }\r\n return {...state, competitionVersions: versions, manualVersionStatusChanged: true};\r\n })\r\n);\r\n\r\nexport function competitionHeaderReducer(state: MenuState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderService extends EndpointBaseService {\r\n\r\n private url = '/application' + this.restPath + '/competition';\r\n\r\n constructor(http: HttpClient, injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n return this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header`);\r\n }\r\n\r\n public createVersion(competitionId?: string): Observable<string> {\r\n return this.http.post<string>(`${this.url}/${competitionId}/version`, {});\r\n }\r\n\r\n public deleteVersion(competitionId?: string, versionId?: string): Observable<boolean> {\r\n return this.http.delete<boolean>(`${this.url}/${competitionId}/version/${versionId}`);\r\n }\r\n\r\n public versionChangeStatus(competitionId?: string, versionId?: string, status?: CompetitionVersionStatusEnum): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.url}/${competitionId}/version/${versionId}/to-status/${status}`, {});\r\n }\r\n\r\n public activate(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/activate`, {});\r\n }\r\n\r\n public pause(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/pause`, {});\r\n }\r\n\r\n public complete(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/complete`, {});\r\n }\r\n\r\n public cancel(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/cancel`, {});\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Actions, createEffect, ofType} from '@ngrx/effects';\r\nimport {select, Store} from '@ngrx/store';\r\nimport {EMPTY} from 'rxjs';\r\nimport {catchError, map, switchMap, tap, withLatestFrom} from 'rxjs/operators';\r\nimport * as CompetitionHeaderActions from './competition-header.actions';\r\nimport {cancelCompetitionWithValidation, ECompetitionHeaderActions} from './competition-header.actions';\r\nimport {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport {CompetitionHeaderService} from '../services/competition-header.service';\r\nimport {\r\n AlertService,\r\n CompetitionVersionStatusEnum,\r\n MessageSeverity,\r\n selectCompetitionId,\r\n Utilities\r\n} from 'myrtex-mf-ui-composite';\r\n\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderEffects {\r\n\r\n // loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.LoadCompetitionHeader),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.getHeader(competitionId).pipe(\r\n // map((result: CompetitionHeaderVersionModel) => CompetitionHeaderActions.loadCompetitionHeaderSuccess({competitionHeader: result})),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.DeleteCompetitionVersion),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([versionId, competitionId]) => {\r\n // return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(\r\n // map((result: boolean) => CompetitionHeaderActions.deleteCompetitionVersionSuccess({ versionId })),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([, competitionId]) => window.location.href = `/application/competitions/item?competitionId=${competitionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // createCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CreateCompetitionVersion),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.createVersion(competitionId).pipe(\r\n // map((result: string) => CompetitionHeaderActions.createCompetitionVersionSuccess({ versionId: result })),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) =>\r\n // window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus),\r\n // map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([action, competitionId]) => {\r\n // return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(\r\n // map((result: boolean) => {\r\n // return CompetitionHeaderActions.competitionVersionChangeStatusSuccess({\r\n // versionId: action.versionId,\r\n // status: action.status\r\n // });\r\n // }),\r\n // catchError((err) => {\r\n // this.alertService.showMessage(err, null, MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })));\r\n //\r\n // competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess),\r\n // map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([action, competitionId]) => {\r\n // if (action.status === CompetitionVersionStatusEnum.Validation) {\r\n // window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;\r\n // } else {\r\n // window.location.reload();\r\n // }\r\n // })\r\n // ), { dispatch: false });\r\n //\r\n // selectCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.SelectCompetitionVersion),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) => {\r\n // const newUri = Utilities.updateQueryStringParameter(window.location.href, 'versionId', versionId);\r\n // window.location.href = newUri;\r\n // })\r\n // ), {dispatch: false});\r\n //\r\n // activateCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.ActivateCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.activate(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка активации', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // pauseCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.PauseCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.pause(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка приостановки', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // completeCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompleteCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.complete(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка при завершении', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // cancelCompetition$ = createEffect(() => (this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CancelCompetition),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // switchMap(([, competitionId]) => {\r\n // return this.competitionHeaderService.cancel(competitionId).pipe(\r\n // map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n // catchError((err, caught) => {\r\n // this.alertService.showStickyMessage(err, 'Ошибка при отмене', MessageSeverity.error);\r\n // return EMPTY;\r\n // })\r\n // );\r\n // })\r\n // )));\r\n //\r\n // cancelCompetitionWithValidation$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CancelCompetitionWithValidation),\r\n // map((action: { versionId: string }) => action.versionId),\r\n // withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n // tap(([versionId, competitionId]) =>\r\n // window.location.href = `/m-data/minfin/selection/edit/cancel?competitionId=${competitionId}&versionId=${versionId}`)\r\n // ), {dispatch: false});\r\n //\r\n // competitionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),\r\n // tap(() => window.location.reload())\r\n // ), {dispatch: false});\r\n\r\n constructor(private competitionHeaderService: CompetitionHeaderService,\r\n private actions$: Actions,\r\n private store: Store,\r\n private alertService: AlertService\r\n ) {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { CompetitionHeaderComponent } from './components/competition-header.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { COMPETITION_HEADER_FEATURE_NAME } from './constants';\r\nimport { competitionHeaderReducer } from './store/competition-header.reducers';\r\nimport { CompetitionHeaderService } from './services/competition-header.service';\r\nimport { CompetitionHeaderCustomButtonsDirective } from './directives/competition-header-custom-buttons.directive';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MyrtexMfUiCompositeModule, MyrtexUiComponentsModule, TenantSettingsModule } from 'myrtex-mf-ui-composite';\r\nimport { MyrtexSignerModule } from 'myrtex-mf-signer';\r\nimport { CompetitionHeaderEffects } from './store/competition-header.effects';\r\n\r\n@NgModule({\r\n declarations: [\r\n CompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n EffectsModule.forFeature([CompetitionHeaderEffects]),\r\n StoreModule.forFeature(COMPETITION_HEADER_FEATURE_NAME, competitionHeaderReducer),\r\n TenantSettingsModule,\r\n FormsModule,\r\n MyrtexUiComponentsModule,\r\n MyrtexMfUiCompositeModule,\r\n MyrtexSignerModule,\r\n NgSelectModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService\r\n ],\r\n exports: [\r\n CompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ]\r\n})\r\nexport class CompetitionHeaderModule {\r\n}\r\n","/*\n * Public API Surface of myrtex-mf-competition\n */\n\nexport * from './lib/modules/competition-header/competition-header.module';\nexport * from './lib/modules/competition-header/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i1","i1.CompetitionHeaderService","i2","i3","i4"],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { Actions } from '@ngrx/effects';
2
2
  import { Store } from '@ngrx/store';
3
3
  import { CompetitionHeaderService } from '../services/competition-header.service';
4
+ import { AlertService } from 'myrtex-mf-ui-composite';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class CompetitionHeaderEffects {
6
7
  private competitionHeaderService;
7
8
  private actions$;
8
9
  private store;
9
- constructor(competitionHeaderService: CompetitionHeaderService, actions$: Actions, store: Store);
10
+ private alertService;
11
+ constructor(competitionHeaderService: CompetitionHeaderService, actions$: Actions, store: Store, alertService: AlertService);
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<CompetitionHeaderEffects, never>;
11
13
  static ɵprov: i0.ɵɵInjectableDeclaration<CompetitionHeaderEffects>;
12
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myrtex-mf-competition",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.3.0",
6
6
  "@angular/core": "^13.3.0",