myrtex-mf-competition 1.0.93 → 1.0.94-beta.1
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 +8 -4
- package/esm2020/lib/modules/competition-header/components/competition-header.component.mjs +90 -145
- package/esm2020/lib/modules/competition-header/constants/competition-permission.constants.mjs +7 -0
- package/esm2020/lib/modules/competition-header/services/competition-header.service.mjs +6 -3
- package/esm2020/lib/modules/competition-header/store/competition-header.effects.mjs +4 -4
- package/fesm2015/myrtex-mf-competition.mjs +116 -158
- package/fesm2015/myrtex-mf-competition.mjs.map +1 -1
- package/fesm2020/myrtex-mf-competition.mjs +109 -151
- package/fesm2020/myrtex-mf-competition.mjs.map +1 -1
- package/lib/modules/competition-header/competition-header.module.d.ts +2 -1
- package/lib/modules/competition-header/components/competition-header.component.d.ts +12 -7
- package/lib/modules/competition-header/constants/competition-permission.constants.d.ts +6 -0
- package/lib/modules/competition-header/services/competition-header.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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/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","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\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\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 canChangeStatus = true;\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 validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public validateManagementAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Input()\r\n public validatePiblicationAccess: ((() => boolean) | undefined) = undefined;\r\n\r\n @Output()\r\n public selectedCompetitionVersionInfo = new EventEmitter<CompetitionVersionModel>();\r\n\r\n public competition: CompetitionStatusModel | undefined;\r\n public versions: CompetitionVersionModel[] = [];\r\n public selected: CompetitionVersionModel | undefined;\r\n public selectedVersion = '';\r\n public competitionStatusEnum = CompetitionStatusEnum;\r\n public cancelCompetitionTypeEnum = CancelCompetitionTypeEnum;\r\n public competitionVersionStatusEnum = CompetitionVersionStatusEnum;\r\n public competitionLabel = '';\r\n public showCancelCompetitionButton = false;\r\n public cancelCompetitionButtonLabel = 'Отменить отбор';\r\n public competitionConfig: CompetitionConfigModel | undefined;\r\n public showCompleteCompetitionButton = false;\r\n public restoreButtonName = 'Возобновить';\r\n private _activityId: string | undefined;\r\n private _ebLinksModel: EBLinksModel | undefined;\r\n private _competitionType: CompetitionTypeEnum | undefined;\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 super();\r\n }\r\n\r\n public get competitionAggregateStatusEnumLabel() {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && this.selected.status !== CompetitionVersionStatusEnum.Active) {\r\n return CompetitionVersionStatusEnumLabel[this.selected.status];\r\n }\r\n return this.competition ? CompetitionStatusEnumLabel[this.competition.status] : '';\r\n }\r\n\r\n public get competitionAggregateStatusCssClass(): any {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && (this.competition?.status || CompetitionStatusEnum.New) <= CompetitionStatusEnum.Active) {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active,\r\n }\r\n }\r\n return {\r\n '': this.competition?.status === CompetitionStatusEnum.New\r\n || this.competition?.status !== CompetitionStatusEnum.Completed,\r\n 'color-green': this.competition?.status === CompetitionStatusEnum.Active,\r\n 'color-orange': this.competition?.status === CompetitionStatusEnum.Staying,\r\n 'color-red': this.competition?.status === CompetitionStatusEnum.Canceled\r\n }\r\n }\r\n\r\n public get canCreateVersion(): boolean {\r\n if (!this.canCreateVersionOnActivityPeriod) {\r\n return false;\r\n }\r\n if (this.validateManagementAccess === undefined) {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && ((this.competition.status === CompetitionStatusEnum.Active &&\r\n !this.competition.isResultProtocolApproved) ||\r\n this.competition.status === CompetitionStatusEnum.Staying);\r\n } else {\r\n return this.isLastVersion && this.selected?.status === CompetitionVersionStatusEnum.Active &&\r\n this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && ((this.competition.status === CompetitionStatusEnum.Active &&\r\n !this.competition.isResultProtocolApproved) ||\r\n this.competition.status === CompetitionStatusEnum.Staying) &&\r\n this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n } else {\r\n return this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1\r\n && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n if (!this.canActivateVersionOnActivityPeriod) {\r\n return false;\r\n }\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended);\r\n } else {\r\n return (this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed ||\r\n this.selected?.status === CompetitionVersionStatusEnum.Validation) &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended)));\r\n } else {\r\n return (!this.canChangeStatus ||\r\n ((this.selected?.status !== CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode !== CompetitionModeEnum.VersionedExtended) ||\r\n (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended))) &&\r\n this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n if (this.validatePiblicationAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n return !this.canChangeStatus && !!this.validatePiblicationAccess();\r\n }\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return !this.canChangeStatus;\r\n } else {\r\n const validationRes = this.validateManagementAccess();\r\n return !this.canChangeStatus && validationRes;\r\n }\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n if (!this.canValidateVersionOnActivityPeriod) {\r\n return false;\r\n }\r\n if (this.validatePiblicationAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Draft &&\r\n this.competition?.mode === CompetitionModeEnum.VersionedExtended &&\r\n this.validatePiblicationAccess() &&\r\n this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n }\r\n }\r\n\r\n public get isLastVersion(): boolean {\r\n if (this.versions?.length > 0) {\r\n const m = Math.max(...this.versions.map(x => x.num));\r\n return m === this.selected?.num;\r\n }\r\n return false;\r\n }\r\n\r\n public get showRejectionReason(): boolean {\r\n return !!this.selected?.rejectionReason &&\r\n (this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n || this.selected?.status === CompetitionVersionStatusEnum.Rejected)\r\n }\r\n\r\n public get versionStatusClass(): any {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active\r\n }\r\n }\r\n\r\n /** Контекст для кастомных кнопок, может расширяться */\r\n public get customButtonsTemplateContext(): any {\r\n return {\r\n activityId: this._activityId,\r\n competitionId: this.competition?.id,\r\n competitionVersionId: this.selected?.id\r\n };\r\n }\r\n\r\n public get canReturnToEdit(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n } else {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected && this.validateManagementAccess();\r\n }\r\n }\r\n\r\n public get canManageCompetition(): boolean {\r\n if (this.validateManagementAccess === undefined) {\r\n return false;\r\n } else {\r\n return this.validateManagementAccess() &&\r\n this.competition?.status != this.competitionStatusEnum.New &&\r\n this.competition?.status != this.competitionStatusEnum.Completed &&\r\n this.competition?.status != this.competitionStatusEnum.NotPlace;\r\n }\r\n }\r\n\r\n public 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.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.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\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionType)).subscribe(result => {\r\n if (result !== null && result !== undefined) {\r\n this._competitionType = result;\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionConfig)).subscribe(result => {\r\n if (result) {\r\n this.competitionConfig = result;\r\n\r\n if (this.competitionConfig.cancelCompetitionLabel) {\r\n this.cancelCompetitionButtonLabel = this.competitionConfig.cancelCompetitionLabel;\r\n }\r\n if (this.competitionConfig.cancelCompetitionType\r\n && this.competitionConfig.cancelCompetitionType > this.cancelCompetitionTypeEnum.Disabled) {\r\n this.showCancelCompetitionButton = true;\r\n }\r\n this.showCompleteCompetitionButton = this.competitionConfig.showCompleteCompetitionButton;\r\n if (this.competitionConfig.restoreButtonName) {\r\n this.restoreButtonName = this.competitionConfig.restoreButtonName;\r\n }\r\n }\r\n }));\r\n\r\n this.appendSubscription(this.store.pipe(select(selectManualVersionStatusChanged)).subscribe(result => {\r\n // произошло ручное изменение статуса, толкаем дальше по таймауту\r\n if (result) {\r\n setTimeout(() => {\r\n const selectedItem = this.selected;\r\n if (selectedItem) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Confirmed\r\n }));\r\n }\r\n }, 10000);\r\n }\r\n }));\r\n 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/${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${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","<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 && canManageCompetition\">\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 && canManageCompetition\"\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 } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderService extends EndpointBaseService {\r\n\r\n private url = '/application' + this.restPath + '/competition';\r\n\r\n constructor(http: HttpClient, injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n return this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header`);\r\n }\r\n\r\n public createVersion(competitionId?: string): Observable<string> {\r\n return this.http.post<string>(`${this.url}/${competitionId}/version`, {});\r\n }\r\n\r\n public deleteVersion(competitionId?: string, versionId?: string): Observable<boolean> {\r\n return this.http.delete<boolean>(`${this.url}/${competitionId}/version/${versionId}`);\r\n }\r\n\r\n public versionChangeStatus(competitionId?: string, versionId?: string, status?: CompetitionVersionStatusEnum): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.url}/${competitionId}/version/${versionId}/to-status/${status}`, {});\r\n }\r\n\r\n public activate(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/activate`, {});\r\n }\r\n\r\n public pause(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/pause`, {});\r\n }\r\n\r\n public complete(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/complete`, {});\r\n }\r\n\r\n public cancel(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/cancel`, {});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { EMPTY } from 'rxjs';\r\nimport { catchError, map, switchMap, tap, withLatestFrom } from 'rxjs/operators';\r\nimport * as CompetitionHeaderActions from './competition-header.actions';\r\nimport { cancelCompetitionWithValidation, ECompetitionHeaderActions } from './competition-header.actions';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionHeaderService } from '../services/competition-header.service';\r\nimport {\r\n AlertService,\r\n CompetitionVersionStatusEnum,\r\n MessageSeverity,\r\n selectCompetitionId,\r\n Utilities\r\n} from 'myrtex-mf-ui-composite';\r\n\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderEffects {\r\n\r\n loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.LoadCompetitionHeader),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.getHeader(competitionId).pipe(\r\n map((result: CompetitionHeaderVersionModel) => CompetitionHeaderActions.loadCompetitionHeaderSuccess({competitionHeader: result})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.DeleteCompetitionVersion),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([versionId, competitionId]) => {\r\n return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(\r\n map((result: boolean) => CompetitionHeaderActions.deleteCompetitionVersionSuccess({versionId})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([, competitionId]) => window.location.href = `/application/competitions/item?competitionId=${competitionId}`)\r\n ), {dispatch: false});\r\n\r\n createCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CreateCompetitionVersion),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.createVersion(competitionId).pipe(\r\n map((result: string) => CompetitionHeaderActions.createCompetitionVersionSuccess({versionId: result})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([versionId, competitionId]) =>\r\n window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)\r\n ), {dispatch: false});\r\n\r\n competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus),\r\n map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([action, competitionId]) => {\r\n return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(\r\n map((result: boolean) => {\r\n return CompetitionHeaderActions.competitionVersionChangeStatusSuccess({\r\n versionId: action.versionId,\r\n status: action.status\r\n });\r\n }),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess),\r\n map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([action, competitionId]) => {\r\n if (action.status === CompetitionVersionStatusEnum.Validation) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;\r\n }\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\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 ],\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","CompetitionHeaderActions.loadCompetitionHeaderSuccess","CompetitionHeaderActions.deleteCompetitionVersionSuccess","CompetitionHeaderActions.createCompetitionVersionSuccess","CompetitionHeaderActions.competitionVersionChangeStatusSuccess","CompetitionHeaderActions.competitionChangeStatusSuccess","i1.CompetitionHeaderService","i2","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","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 }\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.appendSubscription(this.store.pipe(select(selectUserInfo)).subscribe(result => {\r\n if (result) {\r\n this._accessService.checkPermission(this.getAccessControl(CAN_AGREEMENT_COMPETITION))\r\n .subscribe(result => this._canAgreementVersionAccess = true);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CREATE_COMPETITION_VERSION))\r\n .subscribe(result => this._canCreateVersionAccess = true);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_PUBLIC_COMPETITION))\r\n .subscribe(result => this._canPublicVersionAccess = true);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_COMPLETE_COMPETITION))\r\n .subscribe(result => this._canCompleteEntityAccess = true);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CANCEL_COMPETITION))\r\n .subscribe(result => this._canCancelEntityAccess = true);\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/${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${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 } from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderService extends EndpointBaseService {\r\n\r\n private url = '/application' + this.restPath + '/competition';\r\n\r\n constructor(http: HttpClient, injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string, versionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n return !versionId\r\n ? this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header`)\r\n : this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header`,\r\n {params: new HttpParams().set('versionId', !versionId)});\r\n }\r\n\r\n public createVersion(competitionId?: string): Observable<string> {\r\n return this.http.post<string>(`${this.url}/${competitionId}/version`, {});\r\n }\r\n\r\n public deleteVersion(competitionId?: string, versionId?: string): Observable<boolean> {\r\n return this.http.delete<boolean>(`${this.url}/${competitionId}/version/${versionId}`);\r\n }\r\n\r\n public versionChangeStatus(competitionId?: string, versionId?: string, status?: CompetitionVersionStatusEnum): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.url}/${competitionId}/version/${versionId}/to-status/${status}`, {});\r\n }\r\n\r\n public activate(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/activate`, {});\r\n }\r\n\r\n public pause(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/pause`, {});\r\n }\r\n\r\n public complete(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/complete`, {});\r\n }\r\n\r\n public cancel(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/cancel`, {});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { EMPTY } from 'rxjs';\r\nimport { catchError, map, switchMap, tap, withLatestFrom } from 'rxjs/operators';\r\nimport * as CompetitionHeaderActions from './competition-header.actions';\r\nimport { cancelCompetitionWithValidation, ECompetitionHeaderActions } from './competition-header.actions';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionHeaderService } from '../services/competition-header.service';\r\nimport {\r\n AlertService,\r\n CompetitionVersionStatusEnum,\r\n MessageSeverity,\r\n selectCompetitionId, 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","CompetitionHeaderActions.loadCompetitionHeaderSuccess","CompetitionHeaderActions.deleteCompetitionVersionSuccess","CompetitionHeaderActions.createCompetitionVersionSuccess","CompetitionHeaderActions.competitionVersionChangeStatusSuccess","CompetitionHeaderActions.competitionChangeStatusSuccess","i1.CompetitionHeaderService","i2","i3","i4"],"mappings":"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"}
|