myrtex-mf-competition 1.0.98 → 1.0.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/competition-header/store/competition-header.effects.mjs +6 -2
- package/fesm2015/myrtex-mf-competition.mjs +5 -1
- package/fesm2015/myrtex-mf-competition.mjs.map +1 -1
- package/fesm2020/myrtex-mf-competition.mjs +4 -1
- package/fesm2020/myrtex-mf-competition.mjs.map +1 -1
- package/lib/modules/competition-header/store/competition-header.effects.d.ts +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ import { catchError, map, switchMap, tap, withLatestFrom } from 'rxjs/operators'
|
|
|
6
6
|
import * as CompetitionHeaderActions from './competition-header.actions';
|
|
7
7
|
import { ECompetitionHeaderActions } from './competition-header.actions';
|
|
8
8
|
import { CompetitionVersionStatusEnum, MessageSeverity, selectCompetitionId, selectVersionId, Utilities } from 'myrtex-mf-ui-composite';
|
|
9
|
+
import { selectCompetitionVersions } from './competition-header.selector';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "../services/competition-header.service";
|
|
11
12
|
import * as i2 from "@ngrx/effects";
|
|
@@ -29,7 +30,10 @@ export class CompetitionHeaderEffects {
|
|
|
29
30
|
return EMPTY;
|
|
30
31
|
}));
|
|
31
32
|
})));
|
|
32
|
-
this.deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess), withLatestFrom(this.store.pipe(select(selectCompetitionId))), tap(([, competitionId]) =>
|
|
33
|
+
this.deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess), map((action) => action.versionId), withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectCompetitionVersions))), tap(([deletedVersionId, competitionId, versions]) => {
|
|
34
|
+
const previousVersionId = versions.find(x => x.id !== deletedVersionId)?.id ?? '';
|
|
35
|
+
window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${previousVersionId}`;
|
|
36
|
+
})), { dispatch: false });
|
|
33
37
|
this.createCompetitionVersion$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CreateCompetitionVersion), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
34
38
|
return this.competitionHeaderService.createVersion(competitionId).pipe(map((result) => CompetitionHeaderActions.createCompetitionVersionSuccess({ versionId: result })), catchError((err) => {
|
|
35
39
|
this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
@@ -96,4 +100,4 @@ CompetitionHeaderEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
|
|
|
96
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, decorators: [{
|
|
97
101
|
type: Injectable
|
|
98
102
|
}], ctorParameters: function () { return [{ type: i1.CompetitionHeaderService }, { type: i2.Actions }, { type: i3.Store }, { type: i4.AlertService }]; } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zdG9yZS9jb21wZXRpdGlvbi1oZWFkZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQW1DLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHMUcsT0FBTyxFQUVMLDRCQUE0QixFQUM1QixlQUFlLEVBQ2YsbUJBQW1CLEVBQUUsZUFBZSxFQUNwQyxTQUFTLEVBQ1YsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBSWhDLE1BQU0sT0FBTyx3QkFBd0I7SUEwS25DLFlBQW9CLHdCQUFrRCxFQUNsRCxRQUFpQixFQUNqQixLQUFZLEVBQ1osWUFBMEI7UUFIMUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQTNLOUMsMkJBQXNCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUks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RCxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLENBQ2pDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLHNEQUFzRCxhQUFhLGNBQWMsU0FBUyxFQUFFLENBQUMsQ0FDdkgsRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBRXRCLG9DQUErQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDckUsTUFBTSxDQUFDLHlCQUF5QixDQUFDLDhCQUE4QixDQUFDLEVBQ2hFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQ3BDLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQU90QixDQUFDOztzSEEvS1Usd0JBQXdCOzBIQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucyBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHsgY2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbiwgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucyB9IGZyb20gJy4vY29tcGV0aXRpb24taGVhZGVyLmFjdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9jb21wZXRpdGlvbi1oZWFkZXItdmVyc2lvbi5tb2RlbCc7XHJcbmltcG9ydCB7IENvbXBldGl0aW9uSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbXBldGl0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBBbGVydFNlcnZpY2UsXHJcbiAgQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSxcclxuICBNZXNzYWdlU2V2ZXJpdHksXHJcbiAgc2VsZWN0Q29tcGV0aXRpb25JZCwgc2VsZWN0VmVyc2lvbklkLFxyXG4gIFV0aWxpdGllc1xyXG59IGZyb20gJ215cnRleC1tZi11aS1jb21wb3NpdGUnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbXBldGl0aW9uSGVhZGVyRWZmZWN0cyB7XHJcblxyXG4gIGxvYWRDb21wZXRpdGlvbkhlYWRlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuTG9hZENvbXBldGl0aW9uSGVhZGVyKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpLCB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdFZlcnNpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZCwgdmVyc2lvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuZ2V0SGVhZGVyKGNvbXBldGl0aW9uSWQsIHZlcnNpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogQ29tcGV0aXRpb25IZWFkZXJWZXJzaW9uTW9kZWwpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5sb2FkQ29tcGV0aXRpb25IZWFkZXJTdWNjZXNzKHtjb21wZXRpdGlvbkhlYWRlcjogcmVzdWx0fSkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyLCBudWxsLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KSkpO1xyXG5cclxuICBkZWxldGVDb21wZXRpdGlvblZlcnNpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvbiksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZyB9KSA9PiBhY3Rpb24udmVyc2lvbklkKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoW3ZlcnNpb25JZCwgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmRlbGV0ZVZlcnNpb24oY29tcGV0aXRpb25JZCwgdmVyc2lvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBib29sZWFuKSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2Vzcyh7dmVyc2lvbklkfSkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyLCBudWxsLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KSkpO1xyXG5cclxuICBkZWxldGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5EZWxldGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHRhcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC9hcHBsaWNhdGlvbi9jb21wZXRpdGlvbnMvaXRlbT9jb21wZXRpdGlvbklkPSR7Y29tcGV0aXRpb25JZH1gKVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgY3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5DcmVhdGVDb21wZXRpdGlvblZlcnNpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuY3JlYXRlVmVyc2lvbihjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBzdHJpbmcpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jcmVhdGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzKHt2ZXJzaW9uSWQ6IHJlc3VsdH0pKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dNZXNzYWdlKGVyciwgbnVsbCwgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpKTtcclxuXHJcbiAgY3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZyB9KSA9PiBhY3Rpb24udmVyc2lvbklkKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHRhcCgoW3ZlcnNpb25JZCwgY29tcGV0aXRpb25JZF0pID0+XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC9hcHBsaWNhdGlvbi9jb21wZXRpdGlvbnMvaXRlbT9jb21wZXRpdGlvbklkPSR7Y29tcGV0aXRpb25JZH0mdmVyc2lvbklkPSR7dmVyc2lvbklkfWApXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZywgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0pID0+IGFjdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFthY3Rpb24sIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS52ZXJzaW9uQ2hhbmdlU3RhdHVzKGNvbXBldGl0aW9uSWQsIGFjdGlvbi52ZXJzaW9uSWQsIGFjdGlvbi5zdGF0dXMpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgIHJldHVybiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2Vzcyh7XHJcbiAgICAgICAgICAgIHZlcnNpb25JZDogYWN0aW9uLnZlcnNpb25JZCxcclxuICAgICAgICAgICAgc3RhdHVzOiBhY3Rpb24uc3RhdHVzXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dNZXNzYWdlKGVyciwgbnVsbCwgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpKTtcclxuXHJcbiAgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZywgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0pID0+IGFjdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICB0YXAoKFthY3Rpb24sIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIGlmIChhY3Rpb24uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLlZhbGlkYXRpb24pIHtcclxuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvbS1kYXRhL21pbmZpbi9zZWxlY3Rpb24vZWRpdD9jb21wZXRpdGlvbklkPSR7Y29tcGV0aXRpb25JZH0mdmVyc2lvbklkPSR7YWN0aW9uLnZlcnNpb25JZH1gO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGFjdGlvbi5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQWN0aXZlKSB7XHJcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL20tZGF0YS9taW5maW4vc2VsZWN0aW9uL2VkaXQ/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9JnZlcnNpb25JZD0ke2FjdGlvbi52ZXJzaW9uSWR9JnNob3dBc3Nlc3NtZW50PXRydWVgO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIHNlbGVjdENvbXBldGl0aW9uVmVyc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuU2VsZWN0Q29tcGV0aXRpb25WZXJzaW9uKSxcclxuICAgIG1hcCgoYWN0aW9uOiB7IHZlcnNpb25JZDogc3RyaW5nIH0pID0+IGFjdGlvbi52ZXJzaW9uSWQpLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgdGFwKChbdmVyc2lvbklkLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdVcmkgPSBVdGlsaXRpZXMudXBkYXRlUXVlcnlTdHJpbmdQYXJhbWV0ZXIod2luZG93LmxvY2F0aW9uLmhyZWYsICd2ZXJzaW9uSWQnLCB2ZXJzaW9uSWQpO1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG5ld1VyaTtcclxuICAgIH0pXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBhY3RpdmF0ZUNvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQWN0aXZhdGVDb21wZXRpdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5hY3RpdmF0ZShjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MoKSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyLCBjYXVnaHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dTdGlja3lNZXNzYWdlKGVyciwgJ9Ce0YjQuNCx0LrQsCDQsNC60YLQuNCy0LDRhtC40LgnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICkpKTtcclxuXHJcbiAgcGF1c2VDb21wZXRpdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLlBhdXNlQ29tcGV0aXRpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UucGF1c2UoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93U3RpY2t5TWVzc2FnZShlcnIsICfQntGI0LjQsdC60LAg0L/RgNC40L7RgdGC0LDQvdC+0LLQutC4JywgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApKSk7XHJcblxyXG4gIGNvbXBsZXRlQ29tcGV0aXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+ICh0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wbGV0ZUNvbXBldGl0aW9uKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmNvbXBsZXRlKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINC/0YDQuCDQt9Cw0LLQtdGA0YjQtdC90LjQuCcsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKSkpO1xyXG5cclxuICBjYW5jZWxDb21wZXRpdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNhbmNlbENvbXBldGl0aW9uKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmNhbmNlbChjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MoKSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyLCBjYXVnaHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dTdGlja3lNZXNzYWdlKGVyciwgJ9Ce0YjQuNCx0LrQsCDQv9GA0Lgg0L7RgtC80LXQvdC1JywgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApKSk7XHJcblxyXG4gIGNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24pLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICB0YXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PlxyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvbS1kYXRhL21pbmZpbi9zZWxlY3Rpb24vZWRpdC9jYW5jZWw/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9JnZlcnNpb25JZD0ke3ZlcnNpb25JZH1gKVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MpLFxyXG4gICAgdGFwKCgpID0+IHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSlcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlOiBDb21wZXRpdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcclxuICAgICAgICAgICAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zdG9yZS9jb21wZXRpdGlvbi1oZWFkZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQW1DLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHMUcsT0FBTyxFQUVMLDRCQUE0QixFQUM1QixlQUFlLEVBQ2YsbUJBQW1CLEVBQUUsZUFBZSxFQUNwQyxTQUFTLEVBQ1YsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBSXhFLE1BQU0sT0FBTyx3QkFBd0I7SUE4S25DLFlBQW9CLHdCQUFrRCxFQUNsRCxRQUFpQixFQUNqQixLQUFZLEVBQ1osWUFBMEI7UUFIMUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQS9LOUMsMkJBQXNCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUM1RCxNQUFNLENBQUMseUJBQXlCLENBQUMscUJBQXFCLENBQUMsRUFDdkQsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFDdEcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUMzRSxHQUFHLENBQUMsQ0FBQyxNQUFxQyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsRUFDbEksVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFUCw4QkFBeUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQy9ELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUMxRCxHQUFHLENBQUMsQ0FBQyxNQUE2QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQ3hELGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQzVELFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQy9FLEdBQUcsQ0FBQyxDQUFDLE1BQWUsRUFBRSxFQUFFLENBQUMsd0JBQXdCLENBQUMsK0JBQStCLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQy9GLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEUsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRVAscUNBQWdDLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN0RSxNQUFNLENBQUMseUJBQXlCLENBQUMsK0JBQStCLENBQUMsRUFDakUsR0FBRyxDQUFDLENBQUMsTUFBNkIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUN4RCxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQ2hILEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDbEQsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDbEYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsZ0RBQWdELGFBQWEsY0FBYyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hILENBQUMsQ0FBQyxDQUNILEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUV0Qiw4QkFBeUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQy9ELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUMxRCxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUM1RCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUNwRSxHQUFHLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLCtCQUErQixDQUFDLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsRUFDdEcsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFUCxxQ0FBZ0MsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3RFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQywrQkFBK0IsQ0FBQyxFQUNqRSxHQUFHLENBQUMsQ0FBQyxNQUE2QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQ3hELGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQzVELEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FDakMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsZ0RBQWdELGFBQWEsY0FBYyxTQUFTLEVBQUUsQ0FBQyxDQUNqSCxFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFFdEIsb0NBQStCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNyRSxNQUFNLENBQUMseUJBQXlCLENBQUMsOEJBQThCLENBQUMsRUFDaEUsR0FBRyxDQUFDLENBQUMsTUFBbUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQ3BGLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQzVELFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDM0csR0FBRyxDQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7Z0JBQ3RCLE9BQU8sd0JBQXdCLENBQUMscUNBQXFDLENBQUM7b0JBQ3BFLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztvQkFDM0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO2lCQUN0QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hFLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVQLDJDQUFzQyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDNUUsTUFBTSxDQUFDLHlCQUF5QixDQUFDLHFDQUFxQyxDQUFDLEVBQ3ZFLEdBQUcsQ0FBQyxDQUFDLE1BQW1FLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUNwRixjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUM1RCxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQzlCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyw0QkFBNEIsQ0FBQyxVQUFVLEVBQUU7Z0JBQzdELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLCtDQUErQyxhQUFhLGNBQWMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3JIO2lCQUNJLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUU7Z0JBQzlELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLCtDQUErQyxhQUFhLGNBQWMsTUFBTSxDQUFDLFNBQVMsc0JBQXNCLENBQUM7YUFDekk7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUNILEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUV0Qiw4QkFBeUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQy9ELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUMxRCxHQUFHLENBQUMsQ0FBQyxNQUE2QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQ3hELGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQzVELEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDakMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNsRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQ0gsRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBRXRCLHlCQUFvQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMzRCxNQUFNLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsRUFDckQsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFDNUQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLEVBQy9FLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwRixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDLENBQUMsQ0FBQztRQUVKLHNCQUFpQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN4RCxNQUFNLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsRUFDbEQsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFDNUQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDNUQsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLEVBQy9FLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2RixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDLENBQUMsQ0FBQztRQUVKLHlCQUFvQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMzRCxNQUFNLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsRUFDckQsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFDNUQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLEVBQy9FLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6RixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDLENBQUMsQ0FBQztRQUVKLHVCQUFrQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN6RCxNQUFNLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFDbkQsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFDNUQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDN0QsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLEVBQy9FLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyRixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDLENBQUMsQ0FBQztRQUVKLHFDQUFnQyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdEUsTUFBTSxDQUFDLHlCQUF5QixDQUFDLCtCQUErQixDQUFDLEVBQ2pFLEdBQUcsQ0FBQyxDQUFDLE1BQTZCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFDeEQsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFDNUQsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUNqQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxzREFBc0QsYUFBYSxjQUFjLFNBQVMsRUFBRSxDQUFDLENBQ3ZILEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUV0QixvQ0FBK0IsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3JFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyw4QkFBOEIsQ0FBQyxFQUNoRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUNwQyxFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFPdEIsQ0FBQzs7c0hBbkxVLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XHJcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgKiBhcyBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMgZnJvbSAnLi9jb21wZXRpdGlvbi1oZWFkZXIuYWN0aW9ucyc7XHJcbmltcG9ydCB7IGNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24sIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMgfSBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHsgQ29tcGV0aXRpb25IZWFkZXJWZXJzaW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvY29tcGV0aXRpb24taGVhZGVyLXZlcnNpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21wZXRpdGlvbkhlYWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wZXRpdGlvbi1oZWFkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQWxlcnRTZXJ2aWNlLFxyXG4gIENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0sXHJcbiAgTWVzc2FnZVNldmVyaXR5LFxyXG4gIHNlbGVjdENvbXBldGl0aW9uSWQsIHNlbGVjdFZlcnNpb25JZCxcclxuICBVdGlsaXRpZXNcclxufSBmcm9tICdteXJ0ZXgtbWYtdWktY29tcG9zaXRlJztcclxuaW1wb3J0IHtzZWxlY3RDb21wZXRpdGlvblZlcnNpb25zfSBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5zZWxlY3Rvcic7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29tcGV0aXRpb25IZWFkZXJFZmZlY3RzIHtcclxuXHJcbiAgbG9hZENvbXBldGl0aW9uSGVhZGVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Mb2FkQ29tcGV0aXRpb25IZWFkZXIpLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSksIHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0VmVyc2lvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkLCB2ZXJzaW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5nZXRIZWFkZXIoY29tcGV0aXRpb25JZCwgdmVyc2lvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbCkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmxvYWRDb21wZXRpdGlvbkhlYWRlclN1Y2Nlc3Moe2NvbXBldGl0aW9uSGVhZGVyOiByZXN1bHR9KSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKSk7XHJcblxyXG4gIGRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuRGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uKSxcclxuICAgIG1hcCgoYWN0aW9uOiB7IHZlcnNpb25JZDogc3RyaW5nIH0pID0+IGFjdGlvbi52ZXJzaW9uSWQpLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbdmVyc2lvbklkLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuZGVsZXRlVmVyc2lvbihjb21wZXRpdGlvbklkLCB2ZXJzaW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGJvb2xlYW4pID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5kZWxldGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzKHt2ZXJzaW9uSWR9KSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKSk7XHJcblxyXG4gIGRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSwgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvblZlcnNpb25zKSkpLFxyXG4gICAgdGFwKChbZGVsZXRlZFZlcnNpb25JZCwgY29tcGV0aXRpb25JZCwgdmVyc2lvbnNdKSA9PiB7XHJcbiAgICAgIGNvbnN0IHByZXZpb3VzVmVyc2lvbklkID0gdmVyc2lvbnMuZmluZCh4ID0+IHguaWQgIT09IGRlbGV0ZWRWZXJzaW9uSWQpPy5pZCA/PyAnJztcclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL2FwcGxpY2F0aW9uL2NvbXBldGl0aW9ucy9pdGVtP2NvbXBldGl0aW9uSWQ9JHtjb21wZXRpdGlvbklkfSZ2ZXJzaW9uSWQ9JHtwcmV2aW91c1ZlcnNpb25JZH1gO1xyXG4gICAgfSlcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIGNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmNyZWF0ZVZlcnNpb24oY29tcGV0aXRpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogc3RyaW5nKSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2Vzcyh7dmVyc2lvbklkOiByZXN1bHR9KSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKSk7XHJcblxyXG4gIGNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICB0YXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PlxyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvYXBwbGljYXRpb24vY29tcGV0aXRpb25zL2l0ZW0/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9JnZlcnNpb25JZD0ke3ZlcnNpb25JZH1gKVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMpLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9KSA9PiBhY3Rpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbYWN0aW9uLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UudmVyc2lvbkNoYW5nZVN0YXR1cyhjb21wZXRpdGlvbklkLCBhY3Rpb24udmVyc2lvbklkLCBhY3Rpb24uc3RhdHVzKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c1N1Y2Nlc3Moe1xyXG4gICAgICAgICAgICB2ZXJzaW9uSWQ6IGFjdGlvbi52ZXJzaW9uSWQsXHJcbiAgICAgICAgICAgIHN0YXR1czogYWN0aW9uLnN0YXR1c1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKSk7XHJcblxyXG4gIGNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9KSA9PiBhY3Rpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgdGFwKChbYWN0aW9uLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICBpZiAoYWN0aW9uLnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5WYWxpZGF0aW9uKSB7XHJcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL20tZGF0YS9taW5maW4vc2VsZWN0aW9uL2VkaXQ/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9JnZlcnNpb25JZD0ke2FjdGlvbi52ZXJzaW9uSWR9YDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChhY3Rpb24uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkFjdGl2ZSkge1xyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC9tLWRhdGEvbWluZmluL3NlbGVjdGlvbi9lZGl0P2NvbXBldGl0aW9uSWQ9JHtjb21wZXRpdGlvbklkfSZ2ZXJzaW9uSWQ9JHthY3Rpb24udmVyc2lvbklkfSZzaG93QXNzZXNzbWVudD10cnVlYDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBzZWxlY3RDb21wZXRpdGlvblZlcnNpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLlNlbGVjdENvbXBldGl0aW9uVmVyc2lvbiksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZyB9KSA9PiBhY3Rpb24udmVyc2lvbklkKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHRhcCgoW3ZlcnNpb25JZCwgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgY29uc3QgbmV3VXJpID0gVXRpbGl0aWVzLnVwZGF0ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVyKHdpbmRvdy5sb2NhdGlvbi5ocmVmLCAndmVyc2lvbklkJywgdmVyc2lvbklkKTtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXdVcmk7XHJcbiAgICB9KVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgYWN0aXZhdGVDb21wZXRpdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkFjdGl2YXRlQ29tcGV0aXRpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuYWN0aXZhdGUoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93U3RpY2t5TWVzc2FnZShlcnIsICfQntGI0LjQsdC60LAg0LDQutGC0LjQstCw0YbQuNC4JywgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApKSk7XHJcblxyXG4gIHBhdXNlQ29tcGV0aXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+ICh0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5QYXVzZUNvbXBldGl0aW9uKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLnBhdXNlKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINC/0YDQuNC+0YHRgtCw0L3QvtCy0LrQuCcsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKSkpO1xyXG5cclxuICBjb21wbGV0ZUNvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGxldGVDb21wZXRpdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5jb21wbGV0ZShjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MoKSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyLCBjYXVnaHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dTdGlja3lNZXNzYWdlKGVyciwgJ9Ce0YjQuNCx0LrQsCDQv9GA0Lgg0LfQsNCy0LXRgNGI0LXQvdC40LgnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICkpKTtcclxuXHJcbiAgY2FuY2VsQ29tcGV0aXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+ICh0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5DYW5jZWxDb21wZXRpdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5jYW5jZWwoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93U3RpY2t5TWVzc2FnZShlcnIsICfQntGI0LjQsdC60LAg0L/RgNC4INC+0YLQvNC10L3QtScsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKSkpO1xyXG5cclxuICBjYW5jZWxDb21wZXRpdGlvbldpdGhWYWxpZGF0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5DYW5jZWxDb21wZXRpdGlvbldpdGhWYWxpZGF0aW9uKSxcclxuICAgIG1hcCgoYWN0aW9uOiB7IHZlcnNpb25JZDogc3RyaW5nIH0pID0+IGFjdGlvbi52ZXJzaW9uSWQpLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgdGFwKChbdmVyc2lvbklkLCBjb21wZXRpdGlvbklkXSkgPT5cclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL20tZGF0YS9taW5maW4vc2VsZWN0aW9uL2VkaXQvY2FuY2VsP2NvbXBldGl0aW9uSWQ9JHtjb21wZXRpdGlvbklkfSZ2ZXJzaW9uSWQ9JHt2ZXJzaW9uSWR9YClcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIGNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKSxcclxuICAgIHRhcCgoKSA9PiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCkpXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBldGl0aW9uSGVhZGVyU2VydmljZTogQ29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxyXG4gICkge1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -677,7 +677,11 @@ class CompetitionHeaderEffects {
|
|
|
677
677
|
return EMPTY;
|
|
678
678
|
}));
|
|
679
679
|
})));
|
|
680
|
-
this.deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess), withLatestFrom(this.store.pipe(select(selectCompetitionId))), tap(([, competitionId]) =>
|
|
680
|
+
this.deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess), map((action) => action.versionId), withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectCompetitionVersions))), tap(([deletedVersionId, competitionId, versions]) => {
|
|
681
|
+
var _a, _b;
|
|
682
|
+
const previousVersionId = (_b = (_a = versions.find(x => x.id !== deletedVersionId)) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '';
|
|
683
|
+
window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${previousVersionId}`;
|
|
684
|
+
})), { dispatch: false });
|
|
681
685
|
this.createCompetitionVersion$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CreateCompetitionVersion), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
682
686
|
return this.competitionHeaderService.createVersion(competitionId).pipe(map((result) => createCompetitionVersionSuccess({ versionId: result })), catchError((err) => {
|
|
683
687
|
this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.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/constants/competition-permission.constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/settings.service.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/competition-header.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.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 {CompetitionHeaderState} 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<CompetitionHeaderState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => 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: CompetitionHeaderState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.activityId\r\n);\r\n\r\nexport const selectCompetitionType = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.type\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","export const COMPETITION_ENTITY_NAME = 'competition';\r\n\r\nexport const CAN_CREATE_COMPETITION_VERSION = 'can-create-competition-version';\r\n\r\nexport const CAN_AGREEMENT_COMPETITION = 'can-agreement-competition';\r\n\r\nexport const CAN_PUBLIC_COMPETITION = 'can-public-competition';\r\n\r\nexport const CAN_CANCEL_COMPETITION = 'can-cancel-competition';\r\n\r\nexport const CAN_COMPLETE_COMPETITION = 'can-complete-competition';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS = 'can-view-competition-settings-any-status';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_PUBLIC_STATUS = 'can-view-competition-settings-public-status';\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Injectable, Injector} from '@angular/core';\r\nimport {EndpointBaseService} from 'myrtex-mf-ui-composite';\r\nimport {Observable} from 'rxjs';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\n\r\n@Injectable()\r\nexport class SettingsService extends EndpointBaseService {\r\n\r\n constructor(protected http: HttpClient, protected injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getSelelectionEditEbLinks(): Observable<EBLinksModel> {\r\n return this.http.get<EBLinksModel>('/m-data/minfin/selection/edit/eb-links');\r\n }\r\n}","import {Component, ContentChild, EventEmitter, Input, OnDestroy, 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 CompetitionTypeEnum,\r\n MessageSeverity, selectUserInfo\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 selectCompetitionType,\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\nimport { SettingsService } from '../services/settings.service';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_AGREEMENT_COMPETITION,\r\n CAN_CANCEL_COMPETITION,\r\n CAN_COMPLETE_COMPETITION,\r\n CAN_CREATE_COMPETITION_VERSION,\r\n CAN_PUBLIC_COMPETITION,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\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: 'lib-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class LibCompetitionHeaderComponent extends UnSubscriber implements OnInit, OnDestroy {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public canCreateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canValidateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canActivateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public isDirty = false;\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 private _activityId: string | undefined;\r\n private _ebLinksModel: EBLinksModel | undefined;\r\n private _competitionType: CompetitionTypeEnum | undefined;\r\n\r\n private _canAgreementVersionAccess = false;\r\n private _canCreateVersionAccess = false;\r\n private _canPublicVersionAccess = false;\r\n private _canCompleteEntityAccess = false;\r\n private _canCancelEntityAccess = false;\r\n\r\n constructor(private signService: SignService,\r\n private store: Store,\r\n private alertService: AlertService,\r\n private settingsService: SettingsService,\r\n private _accessService: AccessService,) {\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 return this._canCreateVersionAccess\r\n && this.canCreateVersionOnActivityPeriod\r\n && this.isLastVersion\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && ((this.competition.status === CompetitionStatusEnum.Active && !this.competition.isResultProtocolApproved)\r\n || this.competition.status === CompetitionStatusEnum.Staying);\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n return this._canCreateVersionAccess\r\n && this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n return this.canActivateVersionOnActivityPeriod\r\n && this._canPublicVersionAccess\r\n && ((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 }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n return this.isDirty\r\n || !this._canPublicVersionAccess\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 }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n return this.isDirty || !this._canAgreementVersionAccess;\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n return this.isDirty || !this._canCreateVersionAccess;\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n return this.isDirty;\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n return this.canValidateVersionOnActivityPeriod\r\n && this._canAgreementVersionAccess\r\n && this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n && this.competition?.mode === CompetitionModeEnum.VersionedExtended\r\n && this.competition?.status !== CompetitionStatusEnum.Canceled;\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 return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n }\r\n\r\n public get showEbLink(): boolean {\r\n return this.competition !== undefined &&\r\n this.versions.some(x => x.status !== CompetitionVersionStatusEnum.Draft);\r\n }\r\n\r\n public get canCompleteCompetition(): boolean {\r\n return this._canCompleteEntityAccess\r\n && this.competition !== undefined\r\n && this.competition.status === CompetitionStatusEnum.Active\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition.isResultProtocolApproved;\r\n }\r\n\r\n public get canCancelCompetition(): boolean {\r\n return this._canCancelEntityAccess\r\n && this.competition !== undefined\r\n && (this.competition.status === CompetitionStatusEnum.Active\r\n || this.competition.status === CompetitionStatusEnum.Staying\r\n || this.competition.status === CompetitionStatusEnum.Canceled)\r\n && this.showCancelCompetitionButton;\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 this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n this._accessService.checkPermission(this.getAccessControl(CAN_AGREEMENT_COMPETITION))\r\n .subscribe(result => this._canAgreementVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CREATE_COMPETITION_VERSION))\r\n .subscribe(result => this._canCreateVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_PUBLIC_COMPETITION))\r\n .subscribe(result => this._canPublicVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_COMPLETE_COMPETITION))\r\n .subscribe(result => this._canCompleteEntityAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CANCEL_COMPETITION))\r\n .subscribe(result => this._canCancelEntityAccess = result);\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionType)).subscribe(result => {\r\n if (result !== null && result !== undefined) {\r\n this._competitionType = result;\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\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 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 this.settingsService.getSelelectionEditEbLinks().subscribe(res => {\r\n this._ebLinksModel = res;\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/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.alertService.showMessage('', 'Ожидайте. Выполняется отправка на согласование.', MessageSeverity.wait);\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.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.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 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.alertService.showDialog({\r\n title: `Завершение отбора`,\r\n message:\r\n `<div class=\"modal-body-banner\">\r\n <div class=\"mrx-icon icon-attention icon-font-16 icon-color-orange mr-2\"></div>\r\n <p class=\"text-left\">\r\n Это действие необратимо. После его выполнения отменить результат невозможно\r\n </p>\r\n </div>\r\n <p class=\"text-center mb-1\">\r\n Подтверждая данное действие, вы подтверждаете корректность протокола и отсутствие необходимости в его корректировке.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Скорректировать итоговый протокол возможно только в течение 20 календарных дней со дня утверждения его первой версии и до подтверждения данного действия.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Если вы не уверены в корректности протокола, при необходимости сформируйте уведомление о его отклонении и подпишите новую версию.\r\n </p>\r\n <p class=\"text-center\">\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(completeCompetition());\r\n this.alertService.showMessage('Завершение отбора может занять некоторое время.',\r\n 'Обновите страницу или вернитесь позже', MessageSeverity.info);\r\n }\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.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 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 public redirectToEb(): void {\r\n if (this.competition != undefined && this._competitionType != undefined && this._ebLinksModel != undefined) {\r\n let link = '';\r\n\r\n if (this._competitionType == CompetitionTypeEnum.SocialOrder) {\r\n link = `${this._ebLinksModel.socialOrder}/#SocialOrderAgreement`;\r\n } else if (this._competitionType == CompetitionTypeEnum.Region) {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyNonFederal`;\r\n } else {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyRegistry`;\r\n }\r\n\r\n window.open(link, '_blank');\r\n }\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 radius-4 mb-3 d-flex\" style=\"padding-top: var(--spacing-3); padding-bottom: var(--spacing-3)\">\r\n <div class=\"mr-2\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5657 2.41667C7.27135 1.19444 9.03548 1.19444 9.74113 2.41667L15.226 11.9167C15.9316 13.1389 15.0495 14.6667 13.6382 14.6667H2.66859C1.25729 14.6667 0.375225 13.1389 1.08087 11.9167L6.5657 2.41667ZM8.8751 2.91667C8.55435 2.36111 7.75248 2.36111 7.43173 2.91667L1.9469 12.4167C1.62615 12.9722 2.02709 13.6667 2.66859 13.6667H13.6382C14.2797 13.6667 14.6807 12.9722 14.3599 12.4167L8.8751 2.91667ZM8.15342 6.16667C8.42956 6.16667 8.65342 6.39052 8.65342 6.66667V9.33333C8.65342 9.60948 8.42956 9.83333 8.15342 9.83333C7.87727 9.83333 7.65342 9.60948 7.65342 9.33333V6.66667C7.65342 6.39052 7.87727 6.16667 8.15342 6.16667ZM8.15342 10.8333C8.42956 10.8333 8.65342 11.0572 8.65342 11.3333V12C8.65342 12.2761 8.42956 12.5 8.15342 12.5C7.87727 12.5 7.65342 12.2761 7.65342 12V11.3333C7.65342 11.0572 7.87727 10.8333 8.15342 10.8333Z\" fill=\"#D97508\"/>\r\n </svg>\r\n </div>\r\n <div class=\"m-0 text-left\">\r\n ${customText}\r\n </div>\r\n </div>`;\r\n }\r\n\r\n private getAccessControl(permission: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: this.competition?.id\r\n };\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\" [mrxCdkTooltip]=\"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 [mrxCdkTooltip]=\"'Посмотреть причину отклонения'\"\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\"\r\n 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\" [mrxCdkTooltip]=\"'Удалить версию'\">\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\r\n 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\"\r\n 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\" [mrxCdkTooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n 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\"\r\n 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\r\n *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 class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\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 && showEbLink\">\r\n <mrx-dropdown [mainPlacement]=\"'bottom-end'\" [fallbackPlacements]=\"['top-end']\">\r\n <ng-template #dropdownToggle>\r\n <span class=\"mrx-icon icon-more-vertical icon-font-24\"></span>\r\n </ng-template>\r\n <ng-template #dropdownMenu>\r\n <button mrxHideAfterClick (click)=\"redirectToEb()\">\r\n <span class=\"mrx-icon icon-link icon-font-24 mr-2\"></span>\r\n <span>Перейти в подсистему бюджетного планирования ГИИС «ЭБ»</span>\r\n </button>\r\n\r\n <!--Временно скрыто в рамках MINFIN-11223-->\r\n <!--<button mrxHideAfterClick (click)=\"pause()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active && canManageCompetition\">\r\n <span class=\"mrx-icon icon-pause-filled icon-font-24 mr-2\"></span>\r\n <span>Приостановить</span>\r\n </button>-->\r\n\r\n <button mrxHideAfterClick (click)=\"restore()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\">\r\n <span class=\"mrx-icon icon-play-filled icon-font-24 mr-2\"></span>\r\n <span>{{ restoreButtonName }}</span>\r\n </button>\r\n\r\n <button mrxHideAfterClick\r\n *ngIf=\"canCancelCompetition\"\r\n (click)=\"cancel()\">\r\n <span class=\"mrx-icon icon-close icon-font-24 mr-2\"></span>\r\n <span>{{ cancelCompetitionButtonLabel }}</span>\r\n </button>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CompetitionTypeEnum } from 'myrtex-mf-ui-composite';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface CompetitionHeaderState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n type: CompetitionTypeEnum | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: CompetitionHeaderState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined,\r\n type: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {CompetitionHeaderState, 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 isResultProtocolApproved: competitionHeader.isResultProtocolApproved\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 type: competitionHeader.type\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: CompetitionHeaderState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\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(\r\n http: HttpClient,\r\n injector: Injector,\r\n private _accessService: AccessService) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string, versionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n const subject = new Subject<CompetitionHeaderVersionModel>();\r\n this._accessService.checkPermission(this.getAccessControl(CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS, (competitionId ?? '')))\r\n .subscribe(anyVersionAccess => {\r\n const statusSuffix = anyVersionAccess ? '' : '/public';\r\n const params = this.getHttpVersionParam(versionId ?? '', anyVersionAccess);\r\n this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header${statusSuffix}`, { params })\r\n .subscribe(header => subject.next(header));\r\n });\r\n return subject.asObservable();\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 private getAccessControl(permission: string, entityId: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: entityId\r\n };\r\n }\r\n\r\n private getHttpVersionParam(versionId: string, anyVersionAccess: boolean): HttpParams | undefined {\r\n return anyVersionAccess && !!versionId ? new HttpParams().set('versionId', versionId) : undefined;\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, selectVersionId,\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)), this.store.pipe(select(selectVersionId))),\r\n switchMap(([, competitionId, versionId]) => {\r\n return this.competitionHeaderService.getHeader(competitionId, versionId).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 }\r\n else if (action.status === CompetitionVersionStatusEnum.Active) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}&showAssessment=true`;\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 { LibCompetitionHeaderComponent } 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\nimport { SettingsService } from './services/settings.service';\r\nimport { CdkTooltipModule, DropdownModule } from 'myrtex-mf-ui';\r\nimport { MyrtexAuthModule } from 'myrtex-mf-auth';\r\n\r\n@NgModule({\r\n declarations: [\r\n LibCompetitionHeaderComponent,\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 DropdownModule,\r\n CdkTooltipModule,\r\n MyrtexAuthModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService,\r\n SettingsService\r\n ],\r\n exports: [\r\n LibCompetitionHeaderComponent,\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":["i1","i4.SettingsService","CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i2","CompetitionHeaderActions.loadCompetitionHeaderSuccess","CompetitionHeaderActions.deleteCompetitionVersionSuccess","CompetitionHeaderActions.createCompetitionVersionSuccess","CompetitionHeaderActions.competitionVersionChangeStatusSuccess","CompetitionHeaderActions.competitionChangeStatusSuccess","i1.CompetitionHeaderService","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.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/constants/competition-permission.constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/settings.service.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/competition-header.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.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 {CompetitionHeaderState} 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<CompetitionHeaderState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => 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: CompetitionHeaderState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.activityId\r\n);\r\n\r\nexport const selectCompetitionType = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.type\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","export const COMPETITION_ENTITY_NAME = 'competition';\r\n\r\nexport const CAN_CREATE_COMPETITION_VERSION = 'can-create-competition-version';\r\n\r\nexport const CAN_AGREEMENT_COMPETITION = 'can-agreement-competition';\r\n\r\nexport const CAN_PUBLIC_COMPETITION = 'can-public-competition';\r\n\r\nexport const CAN_CANCEL_COMPETITION = 'can-cancel-competition';\r\n\r\nexport const CAN_COMPLETE_COMPETITION = 'can-complete-competition';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS = 'can-view-competition-settings-any-status';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_PUBLIC_STATUS = 'can-view-competition-settings-public-status';\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Injectable, Injector} from '@angular/core';\r\nimport {EndpointBaseService} from 'myrtex-mf-ui-composite';\r\nimport {Observable} from 'rxjs';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\n\r\n@Injectable()\r\nexport class SettingsService extends EndpointBaseService {\r\n\r\n constructor(protected http: HttpClient, protected injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getSelelectionEditEbLinks(): Observable<EBLinksModel> {\r\n return this.http.get<EBLinksModel>('/m-data/minfin/selection/edit/eb-links');\r\n }\r\n}","import {Component, ContentChild, EventEmitter, Input, OnDestroy, 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 CompetitionTypeEnum,\r\n MessageSeverity, selectUserInfo\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 selectCompetitionType,\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\nimport { SettingsService } from '../services/settings.service';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_AGREEMENT_COMPETITION,\r\n CAN_CANCEL_COMPETITION,\r\n CAN_COMPLETE_COMPETITION,\r\n CAN_CREATE_COMPETITION_VERSION,\r\n CAN_PUBLIC_COMPETITION,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\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: 'lib-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class LibCompetitionHeaderComponent extends UnSubscriber implements OnInit, OnDestroy {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public canCreateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canValidateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canActivateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public isDirty = false;\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 private _activityId: string | undefined;\r\n private _ebLinksModel: EBLinksModel | undefined;\r\n private _competitionType: CompetitionTypeEnum | undefined;\r\n\r\n private _canAgreementVersionAccess = false;\r\n private _canCreateVersionAccess = false;\r\n private _canPublicVersionAccess = false;\r\n private _canCompleteEntityAccess = false;\r\n private _canCancelEntityAccess = false;\r\n\r\n constructor(private signService: SignService,\r\n private store: Store,\r\n private alertService: AlertService,\r\n private settingsService: SettingsService,\r\n private _accessService: AccessService,) {\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 return this._canCreateVersionAccess\r\n && this.canCreateVersionOnActivityPeriod\r\n && this.isLastVersion\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && ((this.competition.status === CompetitionStatusEnum.Active && !this.competition.isResultProtocolApproved)\r\n || this.competition.status === CompetitionStatusEnum.Staying);\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n return this._canCreateVersionAccess\r\n && this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n return this.canActivateVersionOnActivityPeriod\r\n && this._canPublicVersionAccess\r\n && ((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 }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n return this.isDirty\r\n || !this._canPublicVersionAccess\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 }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n return this.isDirty || !this._canAgreementVersionAccess;\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n return this.isDirty || !this._canCreateVersionAccess;\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n return this.isDirty;\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n return this.canValidateVersionOnActivityPeriod\r\n && this._canAgreementVersionAccess\r\n && this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n && this.competition?.mode === CompetitionModeEnum.VersionedExtended\r\n && this.competition?.status !== CompetitionStatusEnum.Canceled;\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 return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n }\r\n\r\n public get showEbLink(): boolean {\r\n return this.competition !== undefined &&\r\n this.versions.some(x => x.status !== CompetitionVersionStatusEnum.Draft);\r\n }\r\n\r\n public get canCompleteCompetition(): boolean {\r\n return this._canCompleteEntityAccess\r\n && this.competition !== undefined\r\n && this.competition.status === CompetitionStatusEnum.Active\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition.isResultProtocolApproved;\r\n }\r\n\r\n public get canCancelCompetition(): boolean {\r\n return this._canCancelEntityAccess\r\n && this.competition !== undefined\r\n && (this.competition.status === CompetitionStatusEnum.Active\r\n || this.competition.status === CompetitionStatusEnum.Staying\r\n || this.competition.status === CompetitionStatusEnum.Canceled)\r\n && this.showCancelCompetitionButton;\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 this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n this._accessService.checkPermission(this.getAccessControl(CAN_AGREEMENT_COMPETITION))\r\n .subscribe(result => this._canAgreementVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CREATE_COMPETITION_VERSION))\r\n .subscribe(result => this._canCreateVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_PUBLIC_COMPETITION))\r\n .subscribe(result => this._canPublicVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_COMPLETE_COMPETITION))\r\n .subscribe(result => this._canCompleteEntityAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CANCEL_COMPETITION))\r\n .subscribe(result => this._canCancelEntityAccess = result);\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionType)).subscribe(result => {\r\n if (result !== null && result !== undefined) {\r\n this._competitionType = result;\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\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 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 this.settingsService.getSelelectionEditEbLinks().subscribe(res => {\r\n this._ebLinksModel = res;\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/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.alertService.showMessage('', 'Ожидайте. Выполняется отправка на согласование.', MessageSeverity.wait);\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.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.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 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.alertService.showDialog({\r\n title: `Завершение отбора`,\r\n message:\r\n `<div class=\"modal-body-banner\">\r\n <div class=\"mrx-icon icon-attention icon-font-16 icon-color-orange mr-2\"></div>\r\n <p class=\"text-left\">\r\n Это действие необратимо. После его выполнения отменить результат невозможно\r\n </p>\r\n </div>\r\n <p class=\"text-center mb-1\">\r\n Подтверждая данное действие, вы подтверждаете корректность протокола и отсутствие необходимости в его корректировке.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Скорректировать итоговый протокол возможно только в течение 20 календарных дней со дня утверждения его первой версии и до подтверждения данного действия.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Если вы не уверены в корректности протокола, при необходимости сформируйте уведомление о его отклонении и подпишите новую версию.\r\n </p>\r\n <p class=\"text-center\">\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(completeCompetition());\r\n this.alertService.showMessage('Завершение отбора может занять некоторое время.',\r\n 'Обновите страницу или вернитесь позже', MessageSeverity.info);\r\n }\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.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 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 public redirectToEb(): void {\r\n if (this.competition != undefined && this._competitionType != undefined && this._ebLinksModel != undefined) {\r\n let link = '';\r\n\r\n if (this._competitionType == CompetitionTypeEnum.SocialOrder) {\r\n link = `${this._ebLinksModel.socialOrder}/#SocialOrderAgreement`;\r\n } else if (this._competitionType == CompetitionTypeEnum.Region) {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyNonFederal`;\r\n } else {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyRegistry`;\r\n }\r\n\r\n window.open(link, '_blank');\r\n }\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 radius-4 mb-3 d-flex\" style=\"padding-top: var(--spacing-3); padding-bottom: var(--spacing-3)\">\r\n <div class=\"mr-2\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5657 2.41667C7.27135 1.19444 9.03548 1.19444 9.74113 2.41667L15.226 11.9167C15.9316 13.1389 15.0495 14.6667 13.6382 14.6667H2.66859C1.25729 14.6667 0.375225 13.1389 1.08087 11.9167L6.5657 2.41667ZM8.8751 2.91667C8.55435 2.36111 7.75248 2.36111 7.43173 2.91667L1.9469 12.4167C1.62615 12.9722 2.02709 13.6667 2.66859 13.6667H13.6382C14.2797 13.6667 14.6807 12.9722 14.3599 12.4167L8.8751 2.91667ZM8.15342 6.16667C8.42956 6.16667 8.65342 6.39052 8.65342 6.66667V9.33333C8.65342 9.60948 8.42956 9.83333 8.15342 9.83333C7.87727 9.83333 7.65342 9.60948 7.65342 9.33333V6.66667C7.65342 6.39052 7.87727 6.16667 8.15342 6.16667ZM8.15342 10.8333C8.42956 10.8333 8.65342 11.0572 8.65342 11.3333V12C8.65342 12.2761 8.42956 12.5 8.15342 12.5C7.87727 12.5 7.65342 12.2761 7.65342 12V11.3333C7.65342 11.0572 7.87727 10.8333 8.15342 10.8333Z\" fill=\"#D97508\"/>\r\n </svg>\r\n </div>\r\n <div class=\"m-0 text-left\">\r\n ${customText}\r\n </div>\r\n </div>`;\r\n }\r\n\r\n private getAccessControl(permission: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: this.competition?.id\r\n };\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\" [mrxCdkTooltip]=\"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 [mrxCdkTooltip]=\"'Посмотреть причину отклонения'\"\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\"\r\n 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\" [mrxCdkTooltip]=\"'Удалить версию'\">\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\r\n 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\"\r\n 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\" [mrxCdkTooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n 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\"\r\n 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\r\n *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 class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\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 && showEbLink\">\r\n <mrx-dropdown [mainPlacement]=\"'bottom-end'\" [fallbackPlacements]=\"['top-end']\">\r\n <ng-template #dropdownToggle>\r\n <span class=\"mrx-icon icon-more-vertical icon-font-24\"></span>\r\n </ng-template>\r\n <ng-template #dropdownMenu>\r\n <button mrxHideAfterClick (click)=\"redirectToEb()\">\r\n <span class=\"mrx-icon icon-link icon-font-24 mr-2\"></span>\r\n <span>Перейти в подсистему бюджетного планирования ГИИС «ЭБ»</span>\r\n </button>\r\n\r\n <!--Временно скрыто в рамках MINFIN-11223-->\r\n <!--<button mrxHideAfterClick (click)=\"pause()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active && canManageCompetition\">\r\n <span class=\"mrx-icon icon-pause-filled icon-font-24 mr-2\"></span>\r\n <span>Приостановить</span>\r\n </button>-->\r\n\r\n <button mrxHideAfterClick (click)=\"restore()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\">\r\n <span class=\"mrx-icon icon-play-filled icon-font-24 mr-2\"></span>\r\n <span>{{ restoreButtonName }}</span>\r\n </button>\r\n\r\n <button mrxHideAfterClick\r\n *ngIf=\"canCancelCompetition\"\r\n (click)=\"cancel()\">\r\n <span class=\"mrx-icon icon-close icon-font-24 mr-2\"></span>\r\n <span>{{ cancelCompetitionButtonLabel }}</span>\r\n </button>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CompetitionTypeEnum } from 'myrtex-mf-ui-composite';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface CompetitionHeaderState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n type: CompetitionTypeEnum | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: CompetitionHeaderState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined,\r\n type: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {CompetitionHeaderState, 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 isResultProtocolApproved: competitionHeader.isResultProtocolApproved\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 type: competitionHeader.type\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: CompetitionHeaderState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\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(\r\n http: HttpClient,\r\n injector: Injector,\r\n private _accessService: AccessService) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string, versionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n const subject = new Subject<CompetitionHeaderVersionModel>();\r\n this._accessService.checkPermission(this.getAccessControl(CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS, (competitionId ?? '')))\r\n .subscribe(anyVersionAccess => {\r\n const statusSuffix = anyVersionAccess ? '' : '/public';\r\n const params = this.getHttpVersionParam(versionId ?? '', anyVersionAccess);\r\n this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header${statusSuffix}`, { params })\r\n .subscribe(header => subject.next(header));\r\n });\r\n return subject.asObservable();\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 private getAccessControl(permission: string, entityId: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: entityId\r\n };\r\n }\r\n\r\n private getHttpVersionParam(versionId: string, anyVersionAccess: boolean): HttpParams | undefined {\r\n return anyVersionAccess && !!versionId ? new HttpParams().set('versionId', versionId) : undefined;\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, selectVersionId,\r\n Utilities\r\n} from 'myrtex-mf-ui-composite';\r\nimport {selectCompetitionVersions} from './competition-header.selector';\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)), this.store.pipe(select(selectVersionId))),\r\n switchMap(([, competitionId, versionId]) => {\r\n return this.competitionHeaderService.getHeader(competitionId, versionId).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 map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectCompetitionVersions))),\r\n tap(([deletedVersionId, competitionId, versions]) => {\r\n const previousVersionId = versions.find(x => x.id !== deletedVersionId)?.id ?? '';\r\n window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${previousVersionId}`;\r\n })\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 }\r\n else if (action.status === CompetitionVersionStatusEnum.Active) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}&showAssessment=true`;\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 { LibCompetitionHeaderComponent } 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\nimport { SettingsService } from './services/settings.service';\r\nimport { CdkTooltipModule, DropdownModule } from 'myrtex-mf-ui';\r\nimport { MyrtexAuthModule } from 'myrtex-mf-auth';\r\n\r\n@NgModule({\r\n declarations: [\r\n LibCompetitionHeaderComponent,\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 DropdownModule,\r\n CdkTooltipModule,\r\n MyrtexAuthModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService,\r\n SettingsService\r\n ],\r\n exports: [\r\n LibCompetitionHeaderComponent,\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":["i1","i4.SettingsService","CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i2","CompetitionHeaderActions.loadCompetitionHeaderSuccess","CompetitionHeaderActions.deleteCompetitionVersionSuccess","CompetitionHeaderActions.createCompetitionVersionSuccess","CompetitionHeaderActions.competitionVersionChangeStatusSuccess","CompetitionHeaderActions.competitionChangeStatusSuccess","i1.CompetitionHeaderService","i3","i4"],"mappings":"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"}
|
|
@@ -668,7 +668,10 @@ class CompetitionHeaderEffects {
|
|
|
668
668
|
return EMPTY;
|
|
669
669
|
}));
|
|
670
670
|
})));
|
|
671
|
-
this.deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess), withLatestFrom(this.store.pipe(select(selectCompetitionId))), tap(([, competitionId]) =>
|
|
671
|
+
this.deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess), map((action) => action.versionId), withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectCompetitionVersions))), tap(([deletedVersionId, competitionId, versions]) => {
|
|
672
|
+
const previousVersionId = versions.find(x => x.id !== deletedVersionId)?.id ?? '';
|
|
673
|
+
window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${previousVersionId}`;
|
|
674
|
+
})), { dispatch: false });
|
|
672
675
|
this.createCompetitionVersion$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CreateCompetitionVersion), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
673
676
|
return this.competitionHeaderService.createVersion(competitionId).pipe(map((result) => createCompetitionVersionSuccess({ versionId: result })), catchError((err) => {
|
|
674
677
|
this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.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/constants/competition-permission.constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/settings.service.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/competition-header.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.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 {CompetitionHeaderState} 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<CompetitionHeaderState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => 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: CompetitionHeaderState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.activityId\r\n);\r\n\r\nexport const selectCompetitionType = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.type\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","export const COMPETITION_ENTITY_NAME = 'competition';\r\n\r\nexport const CAN_CREATE_COMPETITION_VERSION = 'can-create-competition-version';\r\n\r\nexport const CAN_AGREEMENT_COMPETITION = 'can-agreement-competition';\r\n\r\nexport const CAN_PUBLIC_COMPETITION = 'can-public-competition';\r\n\r\nexport const CAN_CANCEL_COMPETITION = 'can-cancel-competition';\r\n\r\nexport const CAN_COMPLETE_COMPETITION = 'can-complete-competition';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS = 'can-view-competition-settings-any-status';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_PUBLIC_STATUS = 'can-view-competition-settings-public-status';\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Injectable, Injector} from '@angular/core';\r\nimport {EndpointBaseService} from 'myrtex-mf-ui-composite';\r\nimport {Observable} from 'rxjs';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\n\r\n@Injectable()\r\nexport class SettingsService extends EndpointBaseService {\r\n\r\n constructor(protected http: HttpClient, protected injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getSelelectionEditEbLinks(): Observable<EBLinksModel> {\r\n return this.http.get<EBLinksModel>('/m-data/minfin/selection/edit/eb-links');\r\n }\r\n}","import {Component, ContentChild, EventEmitter, Input, OnDestroy, 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 CompetitionTypeEnum,\r\n MessageSeverity, selectUserInfo\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 selectCompetitionType,\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\nimport { SettingsService } from '../services/settings.service';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_AGREEMENT_COMPETITION,\r\n CAN_CANCEL_COMPETITION,\r\n CAN_COMPLETE_COMPETITION,\r\n CAN_CREATE_COMPETITION_VERSION,\r\n CAN_PUBLIC_COMPETITION,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\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: 'lib-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class LibCompetitionHeaderComponent extends UnSubscriber implements OnInit, OnDestroy {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public canCreateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canValidateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canActivateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public isDirty = false;\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 private _activityId: string | undefined;\r\n private _ebLinksModel: EBLinksModel | undefined;\r\n private _competitionType: CompetitionTypeEnum | undefined;\r\n\r\n private _canAgreementVersionAccess = false;\r\n private _canCreateVersionAccess = false;\r\n private _canPublicVersionAccess = false;\r\n private _canCompleteEntityAccess = false;\r\n private _canCancelEntityAccess = false;\r\n\r\n constructor(private signService: SignService,\r\n private store: Store,\r\n private alertService: AlertService,\r\n private settingsService: SettingsService,\r\n private _accessService: AccessService,) {\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 return this._canCreateVersionAccess\r\n && this.canCreateVersionOnActivityPeriod\r\n && this.isLastVersion\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && ((this.competition.status === CompetitionStatusEnum.Active && !this.competition.isResultProtocolApproved)\r\n || this.competition.status === CompetitionStatusEnum.Staying);\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n return this._canCreateVersionAccess\r\n && this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n return this.canActivateVersionOnActivityPeriod\r\n && this._canPublicVersionAccess\r\n && ((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 }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n return this.isDirty\r\n || !this._canPublicVersionAccess\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 }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n return this.isDirty || !this._canAgreementVersionAccess;\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n return this.isDirty || !this._canCreateVersionAccess;\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n return this.isDirty;\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n return this.canValidateVersionOnActivityPeriod\r\n && this._canAgreementVersionAccess\r\n && this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n && this.competition?.mode === CompetitionModeEnum.VersionedExtended\r\n && this.competition?.status !== CompetitionStatusEnum.Canceled;\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 return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n }\r\n\r\n public get showEbLink(): boolean {\r\n return this.competition !== undefined &&\r\n this.versions.some(x => x.status !== CompetitionVersionStatusEnum.Draft);\r\n }\r\n\r\n public get canCompleteCompetition(): boolean {\r\n return this._canCompleteEntityAccess\r\n && this.competition !== undefined\r\n && this.competition.status === CompetitionStatusEnum.Active\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition.isResultProtocolApproved;\r\n }\r\n\r\n public get canCancelCompetition(): boolean {\r\n return this._canCancelEntityAccess\r\n && this.competition !== undefined\r\n && (this.competition.status === CompetitionStatusEnum.Active\r\n || this.competition.status === CompetitionStatusEnum.Staying\r\n || this.competition.status === CompetitionStatusEnum.Canceled)\r\n && this.showCancelCompetitionButton;\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 this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n this._accessService.checkPermission(this.getAccessControl(CAN_AGREEMENT_COMPETITION))\r\n .subscribe(result => this._canAgreementVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CREATE_COMPETITION_VERSION))\r\n .subscribe(result => this._canCreateVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_PUBLIC_COMPETITION))\r\n .subscribe(result => this._canPublicVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_COMPLETE_COMPETITION))\r\n .subscribe(result => this._canCompleteEntityAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CANCEL_COMPETITION))\r\n .subscribe(result => this._canCancelEntityAccess = result);\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionType)).subscribe(result => {\r\n if (result !== null && result !== undefined) {\r\n this._competitionType = result;\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\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 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 this.settingsService.getSelelectionEditEbLinks().subscribe(res => {\r\n this._ebLinksModel = res;\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/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.alertService.showMessage('', 'Ожидайте. Выполняется отправка на согласование.', MessageSeverity.wait);\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.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.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 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.alertService.showDialog({\r\n title: `Завершение отбора`,\r\n message:\r\n `<div class=\"modal-body-banner\">\r\n <div class=\"mrx-icon icon-attention icon-font-16 icon-color-orange mr-2\"></div>\r\n <p class=\"text-left\">\r\n Это действие необратимо. После его выполнения отменить результат невозможно\r\n </p>\r\n </div>\r\n <p class=\"text-center mb-1\">\r\n Подтверждая данное действие, вы подтверждаете корректность протокола и отсутствие необходимости в его корректировке.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Скорректировать итоговый протокол возможно только в течение 20 календарных дней со дня утверждения его первой версии и до подтверждения данного действия.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Если вы не уверены в корректности протокола, при необходимости сформируйте уведомление о его отклонении и подпишите новую версию.\r\n </p>\r\n <p class=\"text-center\">\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(completeCompetition());\r\n this.alertService.showMessage('Завершение отбора может занять некоторое время.',\r\n 'Обновите страницу или вернитесь позже', MessageSeverity.info);\r\n }\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.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 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 public redirectToEb(): void {\r\n if (this.competition != undefined && this._competitionType != undefined && this._ebLinksModel != undefined) {\r\n let link = '';\r\n\r\n if (this._competitionType == CompetitionTypeEnum.SocialOrder) {\r\n link = `${this._ebLinksModel.socialOrder}/#SocialOrderAgreement`;\r\n } else if (this._competitionType == CompetitionTypeEnum.Region) {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyNonFederal`;\r\n } else {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyRegistry`;\r\n }\r\n\r\n window.open(link, '_blank');\r\n }\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 radius-4 mb-3 d-flex\" style=\"padding-top: var(--spacing-3); padding-bottom: var(--spacing-3)\">\r\n <div class=\"mr-2\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5657 2.41667C7.27135 1.19444 9.03548 1.19444 9.74113 2.41667L15.226 11.9167C15.9316 13.1389 15.0495 14.6667 13.6382 14.6667H2.66859C1.25729 14.6667 0.375225 13.1389 1.08087 11.9167L6.5657 2.41667ZM8.8751 2.91667C8.55435 2.36111 7.75248 2.36111 7.43173 2.91667L1.9469 12.4167C1.62615 12.9722 2.02709 13.6667 2.66859 13.6667H13.6382C14.2797 13.6667 14.6807 12.9722 14.3599 12.4167L8.8751 2.91667ZM8.15342 6.16667C8.42956 6.16667 8.65342 6.39052 8.65342 6.66667V9.33333C8.65342 9.60948 8.42956 9.83333 8.15342 9.83333C7.87727 9.83333 7.65342 9.60948 7.65342 9.33333V6.66667C7.65342 6.39052 7.87727 6.16667 8.15342 6.16667ZM8.15342 10.8333C8.42956 10.8333 8.65342 11.0572 8.65342 11.3333V12C8.65342 12.2761 8.42956 12.5 8.15342 12.5C7.87727 12.5 7.65342 12.2761 7.65342 12V11.3333C7.65342 11.0572 7.87727 10.8333 8.15342 10.8333Z\" fill=\"#D97508\"/>\r\n </svg>\r\n </div>\r\n <div class=\"m-0 text-left\">\r\n ${customText}\r\n </div>\r\n </div>`;\r\n }\r\n\r\n private getAccessControl(permission: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: this.competition?.id\r\n };\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\" [mrxCdkTooltip]=\"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 [mrxCdkTooltip]=\"'Посмотреть причину отклонения'\"\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\"\r\n 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\" [mrxCdkTooltip]=\"'Удалить версию'\">\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\r\n 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\"\r\n 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\" [mrxCdkTooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n 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\"\r\n 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\r\n *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 class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\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 && showEbLink\">\r\n <mrx-dropdown [mainPlacement]=\"'bottom-end'\" [fallbackPlacements]=\"['top-end']\">\r\n <ng-template #dropdownToggle>\r\n <span class=\"mrx-icon icon-more-vertical icon-font-24\"></span>\r\n </ng-template>\r\n <ng-template #dropdownMenu>\r\n <button mrxHideAfterClick (click)=\"redirectToEb()\">\r\n <span class=\"mrx-icon icon-link icon-font-24 mr-2\"></span>\r\n <span>Перейти в подсистему бюджетного планирования ГИИС «ЭБ»</span>\r\n </button>\r\n\r\n <!--Временно скрыто в рамках MINFIN-11223-->\r\n <!--<button mrxHideAfterClick (click)=\"pause()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active && canManageCompetition\">\r\n <span class=\"mrx-icon icon-pause-filled icon-font-24 mr-2\"></span>\r\n <span>Приостановить</span>\r\n </button>-->\r\n\r\n <button mrxHideAfterClick (click)=\"restore()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\">\r\n <span class=\"mrx-icon icon-play-filled icon-font-24 mr-2\"></span>\r\n <span>{{ restoreButtonName }}</span>\r\n </button>\r\n\r\n <button mrxHideAfterClick\r\n *ngIf=\"canCancelCompetition\"\r\n (click)=\"cancel()\">\r\n <span class=\"mrx-icon icon-close icon-font-24 mr-2\"></span>\r\n <span>{{ cancelCompetitionButtonLabel }}</span>\r\n </button>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CompetitionTypeEnum } from 'myrtex-mf-ui-composite';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface CompetitionHeaderState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n type: CompetitionTypeEnum | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: CompetitionHeaderState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined,\r\n type: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {CompetitionHeaderState, 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 isResultProtocolApproved: competitionHeader.isResultProtocolApproved\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 type: competitionHeader.type\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: CompetitionHeaderState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\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(\r\n http: HttpClient,\r\n injector: Injector,\r\n private _accessService: AccessService) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string, versionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n const subject = new Subject<CompetitionHeaderVersionModel>();\r\n this._accessService.checkPermission(this.getAccessControl(CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS, (competitionId ?? '')))\r\n .subscribe(anyVersionAccess => {\r\n const statusSuffix = anyVersionAccess ? '' : '/public';\r\n const params = this.getHttpVersionParam(versionId ?? '', anyVersionAccess);\r\n this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header${statusSuffix}`, { params })\r\n .subscribe(header => subject.next(header));\r\n });\r\n return subject.asObservable();\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 private getAccessControl(permission: string, entityId: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: entityId\r\n };\r\n }\r\n\r\n private getHttpVersionParam(versionId: string, anyVersionAccess: boolean): HttpParams | undefined {\r\n return anyVersionAccess && !!versionId ? new HttpParams().set('versionId', versionId) : undefined;\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, selectVersionId,\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)), this.store.pipe(select(selectVersionId))),\r\n switchMap(([, competitionId, versionId]) => {\r\n return this.competitionHeaderService.getHeader(competitionId, versionId).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 }\r\n else if (action.status === CompetitionVersionStatusEnum.Active) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}&showAssessment=true`;\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 { LibCompetitionHeaderComponent } 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\nimport { SettingsService } from './services/settings.service';\r\nimport { CdkTooltipModule, DropdownModule } from 'myrtex-mf-ui';\r\nimport { MyrtexAuthModule } from 'myrtex-mf-auth';\r\n\r\n@NgModule({\r\n declarations: [\r\n LibCompetitionHeaderComponent,\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 DropdownModule,\r\n CdkTooltipModule,\r\n MyrtexAuthModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService,\r\n SettingsService\r\n ],\r\n exports: [\r\n LibCompetitionHeaderComponent,\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":["i1","i4.SettingsService","CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i2","CompetitionHeaderActions.loadCompetitionHeaderSuccess","CompetitionHeaderActions.deleteCompetitionVersionSuccess","CompetitionHeaderActions.createCompetitionVersionSuccess","CompetitionHeaderActions.competitionVersionChangeStatusSuccess","CompetitionHeaderActions.competitionChangeStatusSuccess","i1.CompetitionHeaderService","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.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/constants/competition-permission.constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/settings.service.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/competition-header.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.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 {CompetitionHeaderState} 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<CompetitionHeaderState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => 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: CompetitionHeaderState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.activityId\r\n);\r\n\r\nexport const selectCompetitionType = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.type\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","export const COMPETITION_ENTITY_NAME = 'competition';\r\n\r\nexport const CAN_CREATE_COMPETITION_VERSION = 'can-create-competition-version';\r\n\r\nexport const CAN_AGREEMENT_COMPETITION = 'can-agreement-competition';\r\n\r\nexport const CAN_PUBLIC_COMPETITION = 'can-public-competition';\r\n\r\nexport const CAN_CANCEL_COMPETITION = 'can-cancel-competition';\r\n\r\nexport const CAN_COMPLETE_COMPETITION = 'can-complete-competition';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS = 'can-view-competition-settings-any-status';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_PUBLIC_STATUS = 'can-view-competition-settings-public-status';\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Injectable, Injector} from '@angular/core';\r\nimport {EndpointBaseService} from 'myrtex-mf-ui-composite';\r\nimport {Observable} from 'rxjs';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\n\r\n@Injectable()\r\nexport class SettingsService extends EndpointBaseService {\r\n\r\n constructor(protected http: HttpClient, protected injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getSelelectionEditEbLinks(): Observable<EBLinksModel> {\r\n return this.http.get<EBLinksModel>('/m-data/minfin/selection/edit/eb-links');\r\n }\r\n}","import {Component, ContentChild, EventEmitter, Input, OnDestroy, 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 CompetitionTypeEnum,\r\n MessageSeverity, selectUserInfo\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 selectCompetitionType,\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\nimport { SettingsService } from '../services/settings.service';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_AGREEMENT_COMPETITION,\r\n CAN_CANCEL_COMPETITION,\r\n CAN_COMPLETE_COMPETITION,\r\n CAN_CREATE_COMPETITION_VERSION,\r\n CAN_PUBLIC_COMPETITION,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\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: 'lib-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class LibCompetitionHeaderComponent extends UnSubscriber implements OnInit, OnDestroy {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public canCreateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canValidateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canActivateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public isDirty = false;\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 private _activityId: string | undefined;\r\n private _ebLinksModel: EBLinksModel | undefined;\r\n private _competitionType: CompetitionTypeEnum | undefined;\r\n\r\n private _canAgreementVersionAccess = false;\r\n private _canCreateVersionAccess = false;\r\n private _canPublicVersionAccess = false;\r\n private _canCompleteEntityAccess = false;\r\n private _canCancelEntityAccess = false;\r\n\r\n constructor(private signService: SignService,\r\n private store: Store,\r\n private alertService: AlertService,\r\n private settingsService: SettingsService,\r\n private _accessService: AccessService,) {\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 return this._canCreateVersionAccess\r\n && this.canCreateVersionOnActivityPeriod\r\n && this.isLastVersion\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && ((this.competition.status === CompetitionStatusEnum.Active && !this.competition.isResultProtocolApproved)\r\n || this.competition.status === CompetitionStatusEnum.Staying);\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n return this._canCreateVersionAccess\r\n && this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n return this.canActivateVersionOnActivityPeriod\r\n && this._canPublicVersionAccess\r\n && ((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 }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n return this.isDirty\r\n || !this._canPublicVersionAccess\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 }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n return this.isDirty || !this._canAgreementVersionAccess;\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n return this.isDirty || !this._canCreateVersionAccess;\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n return this.isDirty;\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n return this.canValidateVersionOnActivityPeriod\r\n && this._canAgreementVersionAccess\r\n && this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n && this.competition?.mode === CompetitionModeEnum.VersionedExtended\r\n && this.competition?.status !== CompetitionStatusEnum.Canceled;\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 return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n }\r\n\r\n public get showEbLink(): boolean {\r\n return this.competition !== undefined &&\r\n this.versions.some(x => x.status !== CompetitionVersionStatusEnum.Draft);\r\n }\r\n\r\n public get canCompleteCompetition(): boolean {\r\n return this._canCompleteEntityAccess\r\n && this.competition !== undefined\r\n && this.competition.status === CompetitionStatusEnum.Active\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition.isResultProtocolApproved;\r\n }\r\n\r\n public get canCancelCompetition(): boolean {\r\n return this._canCancelEntityAccess\r\n && this.competition !== undefined\r\n && (this.competition.status === CompetitionStatusEnum.Active\r\n || this.competition.status === CompetitionStatusEnum.Staying\r\n || this.competition.status === CompetitionStatusEnum.Canceled)\r\n && this.showCancelCompetitionButton;\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 this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n this._accessService.checkPermission(this.getAccessControl(CAN_AGREEMENT_COMPETITION))\r\n .subscribe(result => this._canAgreementVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CREATE_COMPETITION_VERSION))\r\n .subscribe(result => this._canCreateVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_PUBLIC_COMPETITION))\r\n .subscribe(result => this._canPublicVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_COMPLETE_COMPETITION))\r\n .subscribe(result => this._canCompleteEntityAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CANCEL_COMPETITION))\r\n .subscribe(result => this._canCancelEntityAccess = result);\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionType)).subscribe(result => {\r\n if (result !== null && result !== undefined) {\r\n this._competitionType = result;\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\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 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 this.settingsService.getSelelectionEditEbLinks().subscribe(res => {\r\n this._ebLinksModel = res;\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/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.alertService.showMessage('', 'Ожидайте. Выполняется отправка на согласование.', MessageSeverity.wait);\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.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.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 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.alertService.showDialog({\r\n title: `Завершение отбора`,\r\n message:\r\n `<div class=\"modal-body-banner\">\r\n <div class=\"mrx-icon icon-attention icon-font-16 icon-color-orange mr-2\"></div>\r\n <p class=\"text-left\">\r\n Это действие необратимо. После его выполнения отменить результат невозможно\r\n </p>\r\n </div>\r\n <p class=\"text-center mb-1\">\r\n Подтверждая данное действие, вы подтверждаете корректность протокола и отсутствие необходимости в его корректировке.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Скорректировать итоговый протокол возможно только в течение 20 календарных дней со дня утверждения его первой версии и до подтверждения данного действия.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Если вы не уверены в корректности протокола, при необходимости сформируйте уведомление о его отклонении и подпишите новую версию.\r\n </p>\r\n <p class=\"text-center\">\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(completeCompetition());\r\n this.alertService.showMessage('Завершение отбора может занять некоторое время.',\r\n 'Обновите страницу или вернитесь позже', MessageSeverity.info);\r\n }\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.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 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 public redirectToEb(): void {\r\n if (this.competition != undefined && this._competitionType != undefined && this._ebLinksModel != undefined) {\r\n let link = '';\r\n\r\n if (this._competitionType == CompetitionTypeEnum.SocialOrder) {\r\n link = `${this._ebLinksModel.socialOrder}/#SocialOrderAgreement`;\r\n } else if (this._competitionType == CompetitionTypeEnum.Region) {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyNonFederal`;\r\n } else {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyRegistry`;\r\n }\r\n\r\n window.open(link, '_blank');\r\n }\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 radius-4 mb-3 d-flex\" style=\"padding-top: var(--spacing-3); padding-bottom: var(--spacing-3)\">\r\n <div class=\"mr-2\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5657 2.41667C7.27135 1.19444 9.03548 1.19444 9.74113 2.41667L15.226 11.9167C15.9316 13.1389 15.0495 14.6667 13.6382 14.6667H2.66859C1.25729 14.6667 0.375225 13.1389 1.08087 11.9167L6.5657 2.41667ZM8.8751 2.91667C8.55435 2.36111 7.75248 2.36111 7.43173 2.91667L1.9469 12.4167C1.62615 12.9722 2.02709 13.6667 2.66859 13.6667H13.6382C14.2797 13.6667 14.6807 12.9722 14.3599 12.4167L8.8751 2.91667ZM8.15342 6.16667C8.42956 6.16667 8.65342 6.39052 8.65342 6.66667V9.33333C8.65342 9.60948 8.42956 9.83333 8.15342 9.83333C7.87727 9.83333 7.65342 9.60948 7.65342 9.33333V6.66667C7.65342 6.39052 7.87727 6.16667 8.15342 6.16667ZM8.15342 10.8333C8.42956 10.8333 8.65342 11.0572 8.65342 11.3333V12C8.65342 12.2761 8.42956 12.5 8.15342 12.5C7.87727 12.5 7.65342 12.2761 7.65342 12V11.3333C7.65342 11.0572 7.87727 10.8333 8.15342 10.8333Z\" fill=\"#D97508\"/>\r\n </svg>\r\n </div>\r\n <div class=\"m-0 text-left\">\r\n ${customText}\r\n </div>\r\n </div>`;\r\n }\r\n\r\n private getAccessControl(permission: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: this.competition?.id\r\n };\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\" [mrxCdkTooltip]=\"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 [mrxCdkTooltip]=\"'Посмотреть причину отклонения'\"\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\"\r\n 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\" [mrxCdkTooltip]=\"'Удалить версию'\">\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\r\n 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\"\r\n 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\" [mrxCdkTooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n 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\"\r\n 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\r\n *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 class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\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 && showEbLink\">\r\n <mrx-dropdown [mainPlacement]=\"'bottom-end'\" [fallbackPlacements]=\"['top-end']\">\r\n <ng-template #dropdownToggle>\r\n <span class=\"mrx-icon icon-more-vertical icon-font-24\"></span>\r\n </ng-template>\r\n <ng-template #dropdownMenu>\r\n <button mrxHideAfterClick (click)=\"redirectToEb()\">\r\n <span class=\"mrx-icon icon-link icon-font-24 mr-2\"></span>\r\n <span>Перейти в подсистему бюджетного планирования ГИИС «ЭБ»</span>\r\n </button>\r\n\r\n <!--Временно скрыто в рамках MINFIN-11223-->\r\n <!--<button mrxHideAfterClick (click)=\"pause()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active && canManageCompetition\">\r\n <span class=\"mrx-icon icon-pause-filled icon-font-24 mr-2\"></span>\r\n <span>Приостановить</span>\r\n </button>-->\r\n\r\n <button mrxHideAfterClick (click)=\"restore()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\">\r\n <span class=\"mrx-icon icon-play-filled icon-font-24 mr-2\"></span>\r\n <span>{{ restoreButtonName }}</span>\r\n </button>\r\n\r\n <button mrxHideAfterClick\r\n *ngIf=\"canCancelCompetition\"\r\n (click)=\"cancel()\">\r\n <span class=\"mrx-icon icon-close icon-font-24 mr-2\"></span>\r\n <span>{{ cancelCompetitionButtonLabel }}</span>\r\n </button>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CompetitionTypeEnum } from 'myrtex-mf-ui-composite';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface CompetitionHeaderState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n type: CompetitionTypeEnum | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: CompetitionHeaderState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined,\r\n type: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {CompetitionHeaderState, 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 isResultProtocolApproved: competitionHeader.isResultProtocolApproved\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 type: competitionHeader.type\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: CompetitionHeaderState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\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(\r\n http: HttpClient,\r\n injector: Injector,\r\n private _accessService: AccessService) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string, versionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n const subject = new Subject<CompetitionHeaderVersionModel>();\r\n this._accessService.checkPermission(this.getAccessControl(CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS, (competitionId ?? '')))\r\n .subscribe(anyVersionAccess => {\r\n const statusSuffix = anyVersionAccess ? '' : '/public';\r\n const params = this.getHttpVersionParam(versionId ?? '', anyVersionAccess);\r\n this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header${statusSuffix}`, { params })\r\n .subscribe(header => subject.next(header));\r\n });\r\n return subject.asObservable();\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 private getAccessControl(permission: string, entityId: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: entityId\r\n };\r\n }\r\n\r\n private getHttpVersionParam(versionId: string, anyVersionAccess: boolean): HttpParams | undefined {\r\n return anyVersionAccess && !!versionId ? new HttpParams().set('versionId', versionId) : undefined;\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, selectVersionId,\r\n Utilities\r\n} from 'myrtex-mf-ui-composite';\r\nimport {selectCompetitionVersions} from './competition-header.selector';\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)), this.store.pipe(select(selectVersionId))),\r\n switchMap(([, competitionId, versionId]) => {\r\n return this.competitionHeaderService.getHeader(competitionId, versionId).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 map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectCompetitionVersions))),\r\n tap(([deletedVersionId, competitionId, versions]) => {\r\n const previousVersionId = versions.find(x => x.id !== deletedVersionId)?.id ?? '';\r\n window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${previousVersionId}`;\r\n })\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 }\r\n else if (action.status === CompetitionVersionStatusEnum.Active) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}&showAssessment=true`;\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 { LibCompetitionHeaderComponent } 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\nimport { SettingsService } from './services/settings.service';\r\nimport { CdkTooltipModule, DropdownModule } from 'myrtex-mf-ui';\r\nimport { MyrtexAuthModule } from 'myrtex-mf-auth';\r\n\r\n@NgModule({\r\n declarations: [\r\n LibCompetitionHeaderComponent,\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 DropdownModule,\r\n CdkTooltipModule,\r\n MyrtexAuthModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService,\r\n SettingsService\r\n ],\r\n exports: [\r\n LibCompetitionHeaderComponent,\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":["i1","i4.SettingsService","CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i2","CompetitionHeaderActions.loadCompetitionHeaderSuccess","CompetitionHeaderActions.deleteCompetitionVersionSuccess","CompetitionHeaderActions.createCompetitionVersionSuccess","CompetitionHeaderActions.competitionVersionChangeStatusSuccess","CompetitionHeaderActions.competitionChangeStatusSuccess","i1.CompetitionHeaderService","i3","i4"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare class CompetitionHeaderEffects {
|
|
|
16
16
|
deleteCompetitionVersion$: import("rxjs").Observable<{
|
|
17
17
|
versionId: string;
|
|
18
18
|
} & import("@ngrx/store/src/models").TypedAction<CompetitionHeaderActions.ECompetitionHeaderActions.DeleteCompetitionVersionSuccess>> & import("@ngrx/effects").CreateEffectMetadata;
|
|
19
|
-
deleteCompetitionVersionSuccess$: import("rxjs").Observable<[
|
|
19
|
+
deleteCompetitionVersionSuccess$: import("rxjs").Observable<[string, string | undefined, import("myrtex-mf-competition").CompetitionVersionModel[]]> & import("@ngrx/effects").CreateEffectMetadata;
|
|
20
20
|
createCompetitionVersion$: import("rxjs").Observable<{
|
|
21
21
|
versionId: string;
|
|
22
22
|
} & import("@ngrx/store/src/models").TypedAction<CompetitionHeaderActions.ECompetitionHeaderActions.CreateCompetitionVersionSuccess>> & import("@ngrx/effects").CreateEffectMetadata;
|