myrtex-mf-competition 1.0.20 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/competition-header/competition-header.module.mjs +2 -2
- package/esm2020/lib/modules/competition-header/store/competition-header.effects.mjs +165 -77
- package/fesm2015/myrtex-mf-competition.mjs +202 -109
- package/fesm2015/myrtex-mf-competition.mjs.map +1 -1
- package/fesm2020/myrtex-mf-competition.mjs +207 -114
- package/fesm2020/myrtex-mf-competition.mjs.map +1 -1
- package/lib/modules/competition-header/store/competition-header.effects.d.ts +1 -29
- package/package.json +1 -1
|
@@ -3,19 +3,17 @@ import { Directive, EventEmitter, Component, ContentChild, Input, Output, Inject
|
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2$1 from '@ngrx/effects';
|
|
6
|
-
import {
|
|
6
|
+
import { EffectsModule } from '@ngrx/effects';
|
|
7
7
|
import * as i2 from '@ngrx/store';
|
|
8
8
|
import { createAction, props, createFeatureSelector, createSelector, select, createReducer, on, StoreModule } from '@ngrx/store';
|
|
9
9
|
import * as i3 from 'myrtex-mf-ui-composite';
|
|
10
|
-
import { selectCompetitionIdAndVersionId, UnSubscriber, CompetitionStatusEnum, CancelCompetitionTypeEnum, CompetitionVersionStatusEnum, CompetitionVersionStatusEnumLabel, CompetitionStatusEnumLabel, CompetitionModeEnum, selectCompetitionLabel, selectCompetitionConfig, CompetitionVersionStatusGrouppingLabel, DialogColor, DialogType, EndpointBaseService,
|
|
10
|
+
import { selectCompetitionIdAndVersionId, UnSubscriber, CompetitionStatusEnum, CancelCompetitionTypeEnum, CompetitionVersionStatusEnum, CompetitionVersionStatusEnumLabel, CompetitionStatusEnumLabel, CompetitionModeEnum, selectCompetitionLabel, selectCompetitionConfig, CompetitionVersionStatusGrouppingLabel, DialogColor, DialogType, EndpointBaseService, TenantSettingsModule, MyrtexUiComponentsModule, MyrtexMfUiCompositeModule } from 'myrtex-mf-ui-composite';
|
|
11
11
|
import * as i1 from 'myrtex-mf-signer';
|
|
12
12
|
import { MyrtexSignerModule } from 'myrtex-mf-signer';
|
|
13
13
|
import * as i4 from '@ng-select/ng-select';
|
|
14
14
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
15
15
|
import * as i6 from '@angular/forms';
|
|
16
16
|
import { FormsModule } from '@angular/forms';
|
|
17
|
-
import { EMPTY } from 'rxjs';
|
|
18
|
-
import { withLatestFrom, switchMap, map, catchError, tap } from 'rxjs/operators';
|
|
19
17
|
import * as i1$1 from '@angular/common/http';
|
|
20
18
|
|
|
21
19
|
var ECompetitionHeaderActions;
|
|
@@ -526,6 +524,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
526
524
|
type: Output
|
|
527
525
|
}] } });
|
|
528
526
|
|
|
527
|
+
const initialCompetitionHeaderState = {
|
|
528
|
+
competition: null,
|
|
529
|
+
competitionVersions: [],
|
|
530
|
+
defaultVersionVersionId: '',
|
|
531
|
+
manualVersionStatusChanged: false,
|
|
532
|
+
activityId: undefined
|
|
533
|
+
};
|
|
534
|
+
|
|
535
|
+
const competitionHeaderReducerCreator = createReducer(initialCompetitionHeaderState, on(loadCompetitionHeaderSuccess, (state, { competitionHeader }) => {
|
|
536
|
+
const versions = competitionHeader.versions;
|
|
537
|
+
const competition = {
|
|
538
|
+
id: competitionHeader.id,
|
|
539
|
+
status: competitionHeader.status,
|
|
540
|
+
mode: competitionHeader.mode
|
|
541
|
+
};
|
|
542
|
+
return Object.assign(Object.assign({}, state), { competitionVersions: versions, defaultVersionVersionId: competitionHeader.selectedCompetitionVersionId, competition, activityId: competitionHeader.activityId });
|
|
543
|
+
}), on(competitionVersionChangeStatusManual, (state, { versionId, status }) => {
|
|
544
|
+
const versions = [...state.competitionVersions];
|
|
545
|
+
const version = versions.find(s => s.id === versionId);
|
|
546
|
+
if (version) {
|
|
547
|
+
const newVersion = Object.assign({}, version);
|
|
548
|
+
newVersion.status = status;
|
|
549
|
+
versions.splice(versions.indexOf(version), 1, newVersion);
|
|
550
|
+
}
|
|
551
|
+
return Object.assign(Object.assign({}, state), { competitionVersions: versions, manualVersionStatusChanged: true });
|
|
552
|
+
}));
|
|
553
|
+
function competitionHeaderReducer(state, action) {
|
|
554
|
+
return competitionHeaderReducerCreator(state, action);
|
|
555
|
+
}
|
|
556
|
+
|
|
529
557
|
class CompetitionHeaderService extends EndpointBaseService {
|
|
530
558
|
constructor(http, injector) {
|
|
531
559
|
super(http, injector);
|
|
@@ -562,119 +590,184 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
562
590
|
type: Injectable
|
|
563
591
|
}], ctorParameters: function () { return [{ type: i1$1.HttpClient }, { type: i0.Injector }]; } });
|
|
564
592
|
|
|
565
|
-
class
|
|
593
|
+
class CompetitionHeaderEffects {
|
|
594
|
+
// loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(
|
|
595
|
+
// ofType(ECompetitionHeaderActions.LoadCompetitionHeader),
|
|
596
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
597
|
+
// switchMap(([, competitionId]) => {
|
|
598
|
+
// return this.competitionHeaderService.getHeader(competitionId).pipe(
|
|
599
|
+
// map((result: CompetitionHeaderVersionModel) => CompetitionHeaderActions.loadCompetitionHeaderSuccess({competitionHeader: result})),
|
|
600
|
+
// catchError((err) => {
|
|
601
|
+
// this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
602
|
+
// return EMPTY;
|
|
603
|
+
// })
|
|
604
|
+
// );
|
|
605
|
+
// })));
|
|
606
|
+
//
|
|
607
|
+
// deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(
|
|
608
|
+
// ofType(ECompetitionHeaderActions.DeleteCompetitionVersion),
|
|
609
|
+
// map((action: { versionId: string }) => action.versionId),
|
|
610
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
611
|
+
// switchMap(([versionId, competitionId]) => {
|
|
612
|
+
// return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(
|
|
613
|
+
// map((result: boolean) => CompetitionHeaderActions.deleteCompetitionVersionSuccess({ versionId })),
|
|
614
|
+
// catchError((err) => {
|
|
615
|
+
// this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
616
|
+
// return EMPTY;
|
|
617
|
+
// })
|
|
618
|
+
// );
|
|
619
|
+
// })));
|
|
620
|
+
//
|
|
621
|
+
// deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(
|
|
622
|
+
// ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess),
|
|
623
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
624
|
+
// tap(([, competitionId]) => window.location.href = `/application/competitions/item?competitionId=${competitionId}`)
|
|
625
|
+
// ), {dispatch: false});
|
|
626
|
+
//
|
|
627
|
+
// createCompetitionVersion$ = createEffect(() => this.actions$.pipe(
|
|
628
|
+
// ofType(ECompetitionHeaderActions.CreateCompetitionVersion),
|
|
629
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
630
|
+
// switchMap(([, competitionId]) => {
|
|
631
|
+
// return this.competitionHeaderService.createVersion(competitionId).pipe(
|
|
632
|
+
// map((result: string) => CompetitionHeaderActions.createCompetitionVersionSuccess({ versionId: result })),
|
|
633
|
+
// catchError((err) => {
|
|
634
|
+
// this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
635
|
+
// return EMPTY;
|
|
636
|
+
// })
|
|
637
|
+
// );
|
|
638
|
+
// })));
|
|
639
|
+
//
|
|
640
|
+
// createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(
|
|
641
|
+
// ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess),
|
|
642
|
+
// map((action: { versionId: string }) => action.versionId),
|
|
643
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
644
|
+
// tap(([versionId, competitionId]) =>
|
|
645
|
+
// window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)
|
|
646
|
+
// ), {dispatch: false});
|
|
647
|
+
//
|
|
648
|
+
// competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(
|
|
649
|
+
// ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus),
|
|
650
|
+
// map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),
|
|
651
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
652
|
+
// switchMap(([action, competitionId]) => {
|
|
653
|
+
// return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(
|
|
654
|
+
// map((result: boolean) => {
|
|
655
|
+
// return CompetitionHeaderActions.competitionVersionChangeStatusSuccess({
|
|
656
|
+
// versionId: action.versionId,
|
|
657
|
+
// status: action.status
|
|
658
|
+
// });
|
|
659
|
+
// }),
|
|
660
|
+
// catchError((err) => {
|
|
661
|
+
// this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
662
|
+
// return EMPTY;
|
|
663
|
+
// })
|
|
664
|
+
// );
|
|
665
|
+
// })));
|
|
666
|
+
//
|
|
667
|
+
// competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(
|
|
668
|
+
// ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess),
|
|
669
|
+
// map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),
|
|
670
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
671
|
+
// tap(([action, competitionId]) => {
|
|
672
|
+
// if (action.status === CompetitionVersionStatusEnum.Validation) {
|
|
673
|
+
// window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;
|
|
674
|
+
// } else {
|
|
675
|
+
// window.location.reload();
|
|
676
|
+
// }
|
|
677
|
+
// })
|
|
678
|
+
// ), { dispatch: false });
|
|
679
|
+
//
|
|
680
|
+
// selectCompetitionVersion$ = createEffect(() => this.actions$.pipe(
|
|
681
|
+
// ofType(ECompetitionHeaderActions.SelectCompetitionVersion),
|
|
682
|
+
// map((action: { versionId: string }) => action.versionId),
|
|
683
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
684
|
+
// tap(([versionId, competitionId]) => {
|
|
685
|
+
// const newUri = Utilities.updateQueryStringParameter(window.location.href, 'versionId', versionId);
|
|
686
|
+
// window.location.href = newUri;
|
|
687
|
+
// })
|
|
688
|
+
// ), {dispatch: false});
|
|
689
|
+
//
|
|
690
|
+
// activateCompetition$ = createEffect(() => (this.actions$.pipe(
|
|
691
|
+
// ofType(ECompetitionHeaderActions.ActivateCompetition),
|
|
692
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
693
|
+
// switchMap(([, competitionId]) => {
|
|
694
|
+
// return this.competitionHeaderService.activate(competitionId).pipe(
|
|
695
|
+
// map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),
|
|
696
|
+
// catchError((err, caught) => {
|
|
697
|
+
// this.alertService.showStickyMessage(err, 'Ошибка активации', MessageSeverity.error);
|
|
698
|
+
// return EMPTY;
|
|
699
|
+
// })
|
|
700
|
+
// );
|
|
701
|
+
// })
|
|
702
|
+
// )));
|
|
703
|
+
//
|
|
704
|
+
// pauseCompetition$ = createEffect(() => (this.actions$.pipe(
|
|
705
|
+
// ofType(ECompetitionHeaderActions.PauseCompetition),
|
|
706
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
707
|
+
// switchMap(([, competitionId]) => {
|
|
708
|
+
// return this.competitionHeaderService.pause(competitionId).pipe(
|
|
709
|
+
// map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),
|
|
710
|
+
// catchError((err, caught) => {
|
|
711
|
+
// this.alertService.showStickyMessage(err, 'Ошибка приостановки', MessageSeverity.error);
|
|
712
|
+
// return EMPTY;
|
|
713
|
+
// })
|
|
714
|
+
// );
|
|
715
|
+
// })
|
|
716
|
+
// )));
|
|
717
|
+
//
|
|
718
|
+
// completeCompetition$ = createEffect(() => (this.actions$.pipe(
|
|
719
|
+
// ofType(ECompetitionHeaderActions.CompleteCompetition),
|
|
720
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
721
|
+
// switchMap(([, competitionId]) => {
|
|
722
|
+
// return this.competitionHeaderService.complete(competitionId).pipe(
|
|
723
|
+
// map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),
|
|
724
|
+
// catchError((err, caught) => {
|
|
725
|
+
// this.alertService.showStickyMessage(err, 'Ошибка при завершении', MessageSeverity.error);
|
|
726
|
+
// return EMPTY;
|
|
727
|
+
// })
|
|
728
|
+
// );
|
|
729
|
+
// })
|
|
730
|
+
// )));
|
|
731
|
+
//
|
|
732
|
+
// cancelCompetition$ = createEffect(() => (this.actions$.pipe(
|
|
733
|
+
// ofType(ECompetitionHeaderActions.CancelCompetition),
|
|
734
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
735
|
+
// switchMap(([, competitionId]) => {
|
|
736
|
+
// return this.competitionHeaderService.cancel(competitionId).pipe(
|
|
737
|
+
// map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),
|
|
738
|
+
// catchError((err, caught) => {
|
|
739
|
+
// this.alertService.showStickyMessage(err, 'Ошибка при отмене', MessageSeverity.error);
|
|
740
|
+
// return EMPTY;
|
|
741
|
+
// })
|
|
742
|
+
// );
|
|
743
|
+
// })
|
|
744
|
+
// )));
|
|
745
|
+
//
|
|
746
|
+
// cancelCompetitionWithValidation$ = createEffect(() => this.actions$.pipe(
|
|
747
|
+
// ofType(ECompetitionHeaderActions.CancelCompetitionWithValidation),
|
|
748
|
+
// map((action: { versionId: string }) => action.versionId),
|
|
749
|
+
// withLatestFrom(this.store.pipe(select(selectCompetitionId))),
|
|
750
|
+
// tap(([versionId, competitionId]) =>
|
|
751
|
+
// window.location.href = `/m-data/minfin/selection/edit/cancel?competitionId=${competitionId}&versionId=${versionId}`)
|
|
752
|
+
// ), {dispatch: false});
|
|
753
|
+
//
|
|
754
|
+
// competitionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(
|
|
755
|
+
// ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),
|
|
756
|
+
// tap(() => window.location.reload())
|
|
757
|
+
// ), {dispatch: false});
|
|
566
758
|
constructor(competitionHeaderService, actions$, store, alertService) {
|
|
567
759
|
this.competitionHeaderService = competitionHeaderService;
|
|
568
760
|
this.actions$ = actions$;
|
|
569
761
|
this.store = store;
|
|
570
762
|
this.alertService = alertService;
|
|
571
|
-
this.loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.LoadCompetitionHeader), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
572
|
-
return this.competitionHeaderService.getHeader(competitionId).pipe(map((result) => loadCompetitionHeaderSuccess({ competitionHeader: result })), catchError((err) => {
|
|
573
|
-
this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
574
|
-
return EMPTY;
|
|
575
|
-
}));
|
|
576
|
-
})));
|
|
577
|
-
this.deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.DeleteCompetitionVersion), map((action) => action.versionId), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([versionId, competitionId]) => {
|
|
578
|
-
return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(map((result) => deleteCompetitionVersionSuccess({ versionId })), catchError((err) => {
|
|
579
|
-
this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
580
|
-
return EMPTY;
|
|
581
|
-
}));
|
|
582
|
-
})));
|
|
583
|
-
this.deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess), withLatestFrom(this.store.pipe(select(selectCompetitionId))), tap(([, competitionId]) => window.location.href = `/application/competitions/item?competitionId=${competitionId}`)), { dispatch: false });
|
|
584
|
-
this.createCompetitionVersion$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CreateCompetitionVersion), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
585
|
-
return this.competitionHeaderService.createVersion(competitionId).pipe(map((result) => createCompetitionVersionSuccess({ versionId: result })), catchError((err) => {
|
|
586
|
-
this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
587
|
-
return EMPTY;
|
|
588
|
-
}));
|
|
589
|
-
})));
|
|
590
|
-
this.createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess), map((action) => action.versionId), withLatestFrom(this.store.pipe(select(selectCompetitionId))), tap(([versionId, competitionId]) => window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)), { dispatch: false });
|
|
591
|
-
this.competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus), map((action) => action), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([action, competitionId]) => {
|
|
592
|
-
return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(map((result) => {
|
|
593
|
-
return competitionVersionChangeStatusSuccess({
|
|
594
|
-
versionId: action.versionId,
|
|
595
|
-
status: action.status
|
|
596
|
-
});
|
|
597
|
-
}), catchError((err) => {
|
|
598
|
-
this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
599
|
-
return EMPTY;
|
|
600
|
-
}));
|
|
601
|
-
})));
|
|
602
|
-
this.competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess), map((action) => action), withLatestFrom(this.store.pipe(select(selectCompetitionId))), tap(([action, competitionId]) => {
|
|
603
|
-
if (action.status === CompetitionVersionStatusEnum.Validation) {
|
|
604
|
-
window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;
|
|
605
|
-
}
|
|
606
|
-
else {
|
|
607
|
-
window.location.reload();
|
|
608
|
-
}
|
|
609
|
-
})), { dispatch: false });
|
|
610
|
-
this.selectCompetitionVersion$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.SelectCompetitionVersion), map((action) => action.versionId), withLatestFrom(this.store.pipe(select(selectCompetitionId))), tap(([versionId, competitionId]) => {
|
|
611
|
-
const newUri = Utilities.updateQueryStringParameter(window.location.href, 'versionId', versionId);
|
|
612
|
-
window.location.href = newUri;
|
|
613
|
-
})), { dispatch: false });
|
|
614
|
-
this.activateCompetition$ = createEffect(() => (this.actions$.pipe(ofType(ECompetitionHeaderActions.ActivateCompetition), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
615
|
-
return this.competitionHeaderService.activate(competitionId).pipe(map((result) => competitionChangeStatusSuccess()), catchError((err, caught) => {
|
|
616
|
-
this.alertService.showStickyMessage(err, 'Ошибка активации', MessageSeverity.error);
|
|
617
|
-
return EMPTY;
|
|
618
|
-
}));
|
|
619
|
-
}))));
|
|
620
|
-
this.pauseCompetition$ = createEffect(() => (this.actions$.pipe(ofType(ECompetitionHeaderActions.PauseCompetition), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
621
|
-
return this.competitionHeaderService.pause(competitionId).pipe(map((result) => competitionChangeStatusSuccess()), catchError((err, caught) => {
|
|
622
|
-
this.alertService.showStickyMessage(err, 'Ошибка приостановки', MessageSeverity.error);
|
|
623
|
-
return EMPTY;
|
|
624
|
-
}));
|
|
625
|
-
}))));
|
|
626
|
-
this.completeCompetition$ = createEffect(() => (this.actions$.pipe(ofType(ECompetitionHeaderActions.CompleteCompetition), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
627
|
-
return this.competitionHeaderService.complete(competitionId).pipe(map((result) => competitionChangeStatusSuccess()), catchError((err, caught) => {
|
|
628
|
-
this.alertService.showStickyMessage(err, 'Ошибка при завершении', MessageSeverity.error);
|
|
629
|
-
return EMPTY;
|
|
630
|
-
}));
|
|
631
|
-
}))));
|
|
632
|
-
this.cancelCompetition$ = createEffect(() => (this.actions$.pipe(ofType(ECompetitionHeaderActions.CancelCompetition), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
633
|
-
return this.competitionHeaderService.cancel(competitionId).pipe(map((result) => competitionChangeStatusSuccess()), catchError((err, caught) => {
|
|
634
|
-
this.alertService.showStickyMessage(err, 'Ошибка при отмене', MessageSeverity.error);
|
|
635
|
-
return EMPTY;
|
|
636
|
-
}));
|
|
637
|
-
}))));
|
|
638
|
-
this.cancelCompetitionWithValidation$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CancelCompetitionWithValidation), map((action) => action.versionId), withLatestFrom(this.store.pipe(select(selectCompetitionId))), tap(([versionId, competitionId]) => window.location.href = `/m-data/minfin/selection/edit/cancel?competitionId=${competitionId}&versionId=${versionId}`)), { dispatch: false });
|
|
639
|
-
this.competitionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess), tap(() => window.location.reload())), { dispatch: false });
|
|
640
763
|
}
|
|
641
764
|
}
|
|
642
|
-
CompetitionHeaderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type:
|
|
643
|
-
CompetitionHeaderEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type:
|
|
644
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type:
|
|
765
|
+
CompetitionHeaderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, deps: [{ token: CompetitionHeaderService }, { token: i2$1.Actions }, { token: i2.Store }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
766
|
+
CompetitionHeaderEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects });
|
|
767
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, decorators: [{
|
|
645
768
|
type: Injectable
|
|
646
769
|
}], ctorParameters: function () { return [{ type: CompetitionHeaderService }, { type: i2$1.Actions }, { type: i2.Store }, { type: i3.AlertService }]; } });
|
|
647
770
|
|
|
648
|
-
const initialCompetitionHeaderState = {
|
|
649
|
-
competition: null,
|
|
650
|
-
competitionVersions: [],
|
|
651
|
-
defaultVersionVersionId: '',
|
|
652
|
-
manualVersionStatusChanged: false,
|
|
653
|
-
activityId: undefined
|
|
654
|
-
};
|
|
655
|
-
|
|
656
|
-
const competitionHeaderReducerCreator = createReducer(initialCompetitionHeaderState, on(loadCompetitionHeaderSuccess, (state, { competitionHeader }) => {
|
|
657
|
-
const versions = competitionHeader.versions;
|
|
658
|
-
const competition = {
|
|
659
|
-
id: competitionHeader.id,
|
|
660
|
-
status: competitionHeader.status,
|
|
661
|
-
mode: competitionHeader.mode
|
|
662
|
-
};
|
|
663
|
-
return Object.assign(Object.assign({}, state), { competitionVersions: versions, defaultVersionVersionId: competitionHeader.selectedCompetitionVersionId, competition, activityId: competitionHeader.activityId });
|
|
664
|
-
}), on(competitionVersionChangeStatusManual, (state, { versionId, status }) => {
|
|
665
|
-
const versions = [...state.competitionVersions];
|
|
666
|
-
const version = versions.find(s => s.id === versionId);
|
|
667
|
-
if (version) {
|
|
668
|
-
const newVersion = Object.assign({}, version);
|
|
669
|
-
newVersion.status = status;
|
|
670
|
-
versions.splice(versions.indexOf(version), 1, newVersion);
|
|
671
|
-
}
|
|
672
|
-
return Object.assign(Object.assign({}, state), { competitionVersions: versions, manualVersionStatusChanged: true });
|
|
673
|
-
}));
|
|
674
|
-
function competitionHeaderReducer(state, action) {
|
|
675
|
-
return competitionHeaderReducerCreator(state, action);
|
|
676
|
-
}
|
|
677
|
-
|
|
678
771
|
class CompetitionHeaderModule {
|
|
679
772
|
}
|
|
680
773
|
CompetitionHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -690,7 +783,7 @@ CompetitionHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
690
783
|
CompetitionHeaderService
|
|
691
784
|
], imports: [[
|
|
692
785
|
CommonModule,
|
|
693
|
-
EffectsModule.forFeature([
|
|
786
|
+
EffectsModule.forFeature([CompetitionHeaderEffects]),
|
|
694
787
|
StoreModule.forFeature(COMPETITION_HEADER_FEATURE_NAME, competitionHeaderReducer),
|
|
695
788
|
TenantSettingsModule,
|
|
696
789
|
FormsModule,
|
|
@@ -708,7 +801,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
708
801
|
],
|
|
709
802
|
imports: [
|
|
710
803
|
CommonModule,
|
|
711
|
-
EffectsModule.forFeature([
|
|
804
|
+
EffectsModule.forFeature([CompetitionHeaderEffects]),
|
|
712
805
|
StoreModule.forFeature(COMPETITION_HEADER_FEATURE_NAME, competitionHeaderReducer),
|
|
713
806
|
TenantSettingsModule,
|
|
714
807
|
FormsModule,
|