myrtex-mf-competition 1.0.99 → 1.1.1-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 -5
- package/esm2020/lib/modules/competition-header/components/competition-header.component.mjs +14 -4
- package/fesm2015/myrtex-mf-competition.mjs +20 -7
- package/fesm2015/myrtex-mf-competition.mjs.map +1 -1
- package/fesm2020/myrtex-mf-competition.mjs +20 -7
- package/fesm2020/myrtex-mf-competition.mjs.map +1 -1
- package/lib/modules/competition-header/competition-header.module.d.ts +1 -1
- package/lib/modules/competition-header/components/competition-header.component.d.ts +4 -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/constants/competition-permission.constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/settings.service.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.html","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.reducers.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/competition-header.service.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.effects.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/competition-header.module.ts","../../../projects/myrtex-mf-competition/src/public-api.ts","../../../projects/myrtex-mf-competition/src/myrtex-mf-competition.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\r\nimport {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum } from 'myrtex-mf-ui-composite';\r\n\r\nexport enum ECompetitionHeaderActions {\r\n\r\n LoadCompetitionHeader = '[Competition] Load Header',\r\n LoadCompetitionHeaderSuccess = '[Competition] Load Header Success',\r\n\r\n DeleteCompetitionVersion = '[Competition] Delete Version',\r\n DeleteCompetitionVersionSuccess = '[Competition] Delete Version Success',\r\n\r\n CreateCompetitionVersion = '[Competition] Create Version',\r\n CreateCompetitionVersionSuccess = '[Competition] Create Version Success',\r\n\r\n CompetitionVersionChangeStatus = '[Competition] Version Change Status',\r\n CompetitionVersionChangeStatusSuccess = '[Competition] Version Change Status Success',\r\n CompetitionVersionChangeStatusManual = '[Competition] Version Change Status Manual',\r\n\r\n SelectCompetitionVersion = '[Competition] Select Version',\r\n\r\n ActivateCompetition = '[Competition] Activate',\r\n PauseCompetition = '[Competition] Pause',\r\n CancelCompetition = '[Competition] Cancel',\r\n CancelCompetitionWithValidation = '[Competition] Cancel With Validation',\r\n CompleteCompetition = '[Competition] Complete',\r\n\r\n CompetitionChangeStatusSuccess = '[Competition] ChangeStatus Success',\r\n}\r\n\r\nexport const loadCompetitionHeader = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeader\r\n);\r\n\r\nexport const loadCompetitionHeaderSuccess = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeaderSuccess,\r\n props<{ competitionHeader: CompetitionHeaderVersionModel }>()\r\n);\r\n\r\nexport const deleteCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const deleteCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const createCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersion\r\n);\r\n\r\nexport const competitionVersionChangeStatus = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatus,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusManual = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusManual,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const createCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const selectCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.SelectCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const activateCompetition = createAction(\r\n ECompetitionHeaderActions.ActivateCompetition\r\n);\r\n\r\nexport const pauseCompetition = createAction(\r\n ECompetitionHeaderActions.PauseCompetition\r\n);\r\n\r\nexport const cancelCompetition = createAction(\r\n ECompetitionHeaderActions.CancelCompetition\r\n);\r\n\r\nexport const cancelCompetitionWithValidation = createAction(\r\n ECompetitionHeaderActions.CancelCompetitionWithValidation,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const completeCompetition = createAction(\r\n ECompetitionHeaderActions.CompleteCompetition\r\n);\r\n\r\nexport const competitionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionChangeStatusSuccess\r\n);\r\n","export const COMPETITION_HEADER_FEATURE_NAME = 'competition-header';\r\n","import {createFeatureSelector, createSelector} from '@ngrx/store';\r\nimport {CompetitionHeaderState} from './competition-header.state';\r\nimport {COMPETITION_HEADER_FEATURE_NAME} from '../constants';\r\nimport { selectCompetitionIdAndVersionId } from 'myrtex-mf-ui-composite';\r\n\r\nconst competitionVersionsFeature =\r\n createFeatureSelector<CompetitionHeaderState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.defaultVersionVersionId\r\n);\r\n\r\nexport const selectCompetitionSelectedVersionId = createSelector(\r\n selectCompetitionIdAndVersionId,\r\n selectCompetitionDefaultVersionId,\r\n (cv: {competitionId: string | undefined, versionId: string | undefined}, dv: string) => {\r\n return cv.versionId ? cv.versionId : dv;\r\n }\r\n);\r\n\r\nexport const selectCompetitionStatus = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.activityId\r\n);\r\n\r\nexport const selectCompetitionType = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.type\r\n);\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[myCompetitionHeaderCustomButtons]'\r\n})\r\nexport class CompetitionHeaderCustomButtonsDirective {\r\n\r\n constructor(public templateRef: TemplateRef<unknown>) { }\r\n\r\n}\r\n","export const COMPETITION_ENTITY_NAME = 'competition';\r\n\r\nexport const CAN_CREATE_COMPETITION_VERSION = 'can-create-competition-version';\r\n\r\nexport const CAN_AGREEMENT_COMPETITION = 'can-agreement-competition';\r\n\r\nexport const CAN_PUBLIC_COMPETITION = 'can-public-competition';\r\n\r\nexport const CAN_CANCEL_COMPETITION = 'can-cancel-competition';\r\n\r\nexport const CAN_COMPLETE_COMPETITION = 'can-complete-competition';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS = 'can-view-competition-settings-any-status';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_PUBLIC_STATUS = 'can-view-competition-settings-public-status';\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Injectable, Injector} from '@angular/core';\r\nimport {EndpointBaseService} from 'myrtex-mf-ui-composite';\r\nimport {Observable} from 'rxjs';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\n\r\n@Injectable()\r\nexport class SettingsService extends EndpointBaseService {\r\n\r\n constructor(protected http: HttpClient, protected injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getSelelectionEditEbLinks(): Observable<EBLinksModel> {\r\n return this.http.get<EBLinksModel>('/m-data/minfin/selection/edit/eb-links');\r\n }\r\n}","import {Component, ContentChild, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { CompetitionVersionModel } from '../models/competition-version.model';\r\nimport {\r\n CompetitionModeEnum,\r\n CompetitionStatusEnum,\r\n CompetitionStatusEnumLabel,\r\n DialogColor,\r\n DialogType,\r\n AlertService,\r\n UnSubscriber,\r\n selectCompetitionConfig,\r\n selectCompetitionLabel,\r\n CompetitionConfigModel,\r\n CancelCompetitionTypeEnum,\r\n CompetitionVersionStatusEnum,\r\n CompetitionVersionStatusEnumLabel,\r\n CompetitionVersionStatusGrouppingLabel,\r\n CompetitionTypeEnum,\r\n MessageSeverity, selectUserInfo\r\n} from 'myrtex-mf-ui-composite';\r\nimport {\r\n activateCompetition,\r\n cancelCompetition,\r\n cancelCompetitionWithValidation,\r\n competitionVersionChangeStatus,\r\n completeCompetition,\r\n createCompetitionVersion,\r\n deleteCompetitionVersion,\r\n loadCompetitionHeader,\r\n pauseCompetition,\r\n selectCompetitionVersion\r\n} from '../store/competition-header.actions';\r\nimport { CompetitionStatusModel } from '../models/competition-status.model';\r\nimport {\r\n selectActivityId,\r\n selectCompetitionSelectedVersionId,\r\n selectCompetitionStatus,\r\n selectCompetitionType,\r\n selectCompetitionVersions,\r\n selectManualVersionStatusChanged\r\n} from '../store/competition-header.selector';\r\nimport { CompetitionHeaderCustomButtonsDirective } from '../directives/competition-header-custom-buttons.directive';\r\nimport { CompetitionRejectionModel } from '../models';\r\nimport { SignService } from 'myrtex-mf-signer';\r\nimport { SettingsService } from '../services/settings.service';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_AGREEMENT_COMPETITION,\r\n CAN_CANCEL_COMPETITION,\r\n CAN_COMPLETE_COMPETITION,\r\n CAN_CREATE_COMPETITION_VERSION,\r\n CAN_PUBLIC_COMPETITION,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\r\n\r\nexport declare type validateVersionFn = ((param: string, onValidated: () => void) => void);\r\n\r\ndeclare global {\r\n interface Window {\r\n CryptoInterceptor: any;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class LibCompetitionHeaderComponent extends UnSubscriber implements OnInit, OnDestroy {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public canCreateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canValidateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canActivateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public isDirty = false;\r\n\r\n @Output()\r\n public selectedCompetitionVersionInfo = new EventEmitter<CompetitionVersionModel>();\r\n\r\n public competition: CompetitionStatusModel | undefined;\r\n public versions: CompetitionVersionModel[] = [];\r\n public selected: CompetitionVersionModel | undefined;\r\n public selectedVersion = '';\r\n public competitionStatusEnum = CompetitionStatusEnum;\r\n public cancelCompetitionTypeEnum = CancelCompetitionTypeEnum;\r\n public competitionVersionStatusEnum = CompetitionVersionStatusEnum;\r\n public competitionLabel = '';\r\n public showCancelCompetitionButton = false;\r\n public cancelCompetitionButtonLabel = 'Отменить отбор';\r\n public competitionConfig: CompetitionConfigModel | undefined;\r\n public showCompleteCompetitionButton = false;\r\n public restoreButtonName = 'Возобновить';\r\n private _activityId: string | undefined;\r\n private _ebLinksModel: EBLinksModel | undefined;\r\n private _competitionType: CompetitionTypeEnum | undefined;\r\n\r\n private _canAgreementVersionAccess = false;\r\n private _canCreateVersionAccess = false;\r\n private _canPublicVersionAccess = false;\r\n private _canCompleteEntityAccess = false;\r\n private _canCancelEntityAccess = false;\r\n\r\n constructor(private signService: SignService,\r\n private store: Store,\r\n private alertService: AlertService,\r\n private settingsService: SettingsService,\r\n private _accessService: AccessService,) {\r\n super();\r\n }\r\n\r\n public get competitionAggregateStatusEnumLabel() {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && this.selected.status !== CompetitionVersionStatusEnum.Active) {\r\n return CompetitionVersionStatusEnumLabel[this.selected.status];\r\n }\r\n return this.competition ? CompetitionStatusEnumLabel[this.competition.status] : '';\r\n }\r\n\r\n public get competitionAggregateStatusCssClass(): any {\r\n if (this.versions && this.versions.length == 1 && this.selected\r\n && (this.competition?.status || CompetitionStatusEnum.New) <= CompetitionStatusEnum.Active) {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active,\r\n }\r\n }\r\n return {\r\n '': this.competition?.status === CompetitionStatusEnum.New\r\n || this.competition?.status !== CompetitionStatusEnum.Completed,\r\n 'color-green': this.competition?.status === CompetitionStatusEnum.Active,\r\n 'color-orange': this.competition?.status === CompetitionStatusEnum.Staying,\r\n 'color-red': this.competition?.status === CompetitionStatusEnum.Canceled\r\n }\r\n }\r\n\r\n public get canCreateVersion(): boolean {\r\n return this._canCreateVersionAccess\r\n && this.canCreateVersionOnActivityPeriod\r\n && this.isLastVersion\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base\r\n && ((this.competition.status === CompetitionStatusEnum.Active && !this.competition.isResultProtocolApproved)\r\n || this.competition.status === CompetitionStatusEnum.Staying);\r\n }\r\n\r\n public get canDeleteVersion(): boolean {\r\n return this._canCreateVersionAccess\r\n && this.selected?.status === this.competitionVersionStatusEnum.Draft\r\n && this.versions\r\n && this.versions.length > 1;\r\n }\r\n\r\n public get canActivateVersion(): boolean {\r\n return this.canActivateVersionOnActivityPeriod\r\n && this._canPublicVersionAccess\r\n && ((this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n && this.competition?.mode !== CompetitionModeEnum.VersionedExtended)\r\n || ((this.selected?.status === CompetitionVersionStatusEnum.Confirmed\r\n || this.selected?.status === CompetitionVersionStatusEnum.Validation)\r\n && this.competition?.mode === CompetitionModeEnum.VersionedExtended));\r\n }\r\n\r\n public get activateVersionDisabled(): boolean | undefined {\r\n return this.isDirty\r\n || !this._canPublicVersionAccess\r\n || ((this.selected?.status !== CompetitionVersionStatusEnum.Draft\r\n && this.competition?.mode !== CompetitionModeEnum.VersionedExtended)\r\n || (this.selected?.status !== CompetitionVersionStatusEnum.Confirmed\r\n && this.competition?.mode === CompetitionModeEnum.VersionedExtended));\r\n }\r\n\r\n public get validateVersionDisabled(): boolean {\r\n return this.isDirty || !this._canAgreementVersionAccess;\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n return this.isDirty || !this._canCreateVersionAccess;\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n return this.isDirty;\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n return this.canValidateVersionOnActivityPeriod\r\n && this._canAgreementVersionAccess\r\n && this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n && this.competition?.mode === CompetitionModeEnum.VersionedExtended\r\n && this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n }\r\n\r\n public get isLastVersion(): boolean {\r\n if (this.versions?.length > 0) {\r\n const m = Math.max(...this.versions.map(x => x.num));\r\n return m === this.selected?.num;\r\n }\r\n return false;\r\n }\r\n\r\n public get showRejectionReason(): boolean {\r\n return !!this.selected?.rejectionReason &&\r\n (this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n || this.selected?.status === CompetitionVersionStatusEnum.Rejected)\r\n }\r\n\r\n public get versionStatusClass(): any {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active\r\n }\r\n }\r\n\r\n /** Контекст для кастомных кнопок, может расширяться */\r\n public get customButtonsTemplateContext(): any {\r\n return {\r\n activityId: this._activityId,\r\n competitionId: this.competition?.id,\r\n competitionVersionId: this.selected?.id\r\n };\r\n }\r\n\r\n public get canReturnToEdit(): boolean {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n }\r\n\r\n public get showEbLink(): boolean {\r\n return this.competition !== undefined &&\r\n this.versions.some(x => x.status !== CompetitionVersionStatusEnum.Draft);\r\n }\r\n\r\n public get canCompleteCompetition(): boolean {\r\n return this._canCompleteEntityAccess\r\n && this.competition !== undefined\r\n && this.competition.status === CompetitionStatusEnum.Active\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition.isResultProtocolApproved;\r\n }\r\n\r\n public get canCancelCompetition(): boolean {\r\n return this._canCancelEntityAccess\r\n && this.competition !== undefined\r\n && (this.competition.status === CompetitionStatusEnum.Active\r\n || this.competition.status === CompetitionStatusEnum.Staying\r\n || this.competition.status === CompetitionStatusEnum.Canceled)\r\n && this.showCancelCompetitionButton;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.store.dispatch(loadCompetitionHeader());\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionVersions)).subscribe(result => {\r\n if (result) {\r\n this.versions = result;\r\n this.select();\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionSelectedVersionId)).subscribe(result => {\r\n if (result) {\r\n this.selectedVersion = result;\r\n this.select();\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n this._accessService.checkPermission(this.getAccessControl(CAN_AGREEMENT_COMPETITION))\r\n .subscribe(result => this._canAgreementVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CREATE_COMPETITION_VERSION))\r\n .subscribe(result => this._canCreateVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_PUBLIC_COMPETITION))\r\n .subscribe(result => this._canPublicVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_COMPLETE_COMPETITION))\r\n .subscribe(result => this._canCompleteEntityAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CANCEL_COMPETITION))\r\n .subscribe(result => this._canCancelEntityAccess = result);\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionType)).subscribe(result => {\r\n if (result !== null && result !== undefined) {\r\n this._competitionType = result;\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionConfig)).subscribe(result => {\r\n if (result) {\r\n this.competitionConfig = result;\r\n\r\n if (this.competitionConfig.cancelCompetitionLabel) {\r\n this.cancelCompetitionButtonLabel = this.competitionConfig.cancelCompetitionLabel;\r\n }\r\n if (this.competitionConfig.cancelCompetitionType\r\n && this.competitionConfig.cancelCompetitionType > this.cancelCompetitionTypeEnum.Disabled) {\r\n this.showCancelCompetitionButton = true;\r\n }\r\n this.showCompleteCompetitionButton = this.competitionConfig.showCompleteCompetitionButton;\r\n if (this.competitionConfig.restoreButtonName) {\r\n this.restoreButtonName = this.competitionConfig.restoreButtonName;\r\n }\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectManualVersionStatusChanged)).subscribe(result => {\r\n // произошло ручное изменение статуса, толкаем дальше по таймауту\r\n if (result) {\r\n setTimeout(() => {\r\n const selectedItem = this.selected;\r\n if (selectedItem) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Confirmed\r\n }));\r\n }\r\n }, 10000);\r\n }\r\n }));\r\n this.settingsService.getSelelectionEditEbLinks().subscribe(res => {\r\n this._ebLinksModel = res;\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n public getCompetitionVersionStatusEnumLabel(value: any) {\r\n return CompetitionVersionStatusEnumLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public getCompetitionVersionStatusGrouppingLabel(value: any) {\r\n return CompetitionVersionStatusGrouppingLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public createVersion(): void {\r\n this.alertService.showDialog({\r\n title: `Формирование изменений`,\r\n message:\r\n `${this.getWarningMessageHtml('Внимание! Формирование изменений приведет к созданию новой версии отбора')}\r\n <p>\r\n Вы действительно хотите сформировать изменения?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(createCompetitionVersion());\r\n }\r\n });\r\n }\r\n\r\n public activateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog({\r\n title: `Публикация ${this.competitionLabel}а`,\r\n message: `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите опубликовать ${this.competitionLabel}?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Active\r\n }));\r\n }\r\n });\r\n }\r\n }\r\n\r\n public validateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n\r\n if (this.validateVersionAction) {\r\n this.validateVersionAction(selectedItem.id, () => {\r\n this.signService.sign({\r\n title: 'Направление документа на согласование',\r\n okLabel: 'Отправить',\r\n cancelLabel: 'Отменить',\r\n pdfUrl: `/m-data/minfin/pdf-competition/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.alertService.showMessage('', 'Ожидайте. Выполняется отправка на согласование.', MessageSeverity.wait);\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Validation\r\n }));\r\n }, () => {\r\n });\r\n })\r\n }\r\n }\r\n }\r\n\r\n public removeVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog(`Удалить версию ${this.competitionLabel}а?`,\r\n `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите удалить версию ${this.competitionLabel?.toLowerCase()}а?\r\n </p>`,\r\n DialogType.confirm, (ok) => {\r\n this.store.dispatch(deleteCompetitionVersion({versionId: selectedItem.id}));\r\n }, undefined, null, undefined, undefined, DialogColor.red);\r\n }\r\n }\r\n\r\n public restore(): void {\r\n this.alertService.showDialog(`Возобновить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(activateCompetition());\r\n });\r\n }\r\n\r\n public pause(): void {\r\n this.alertService.showDialog(`Приостановить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(pauseCompetition());\r\n });\r\n }\r\n\r\n public cancel(): void {\r\n if (this.competitionConfig && this.competitionConfig.cancelCompetitionType == this.cancelCompetitionTypeEnum.WithValidation) {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.store.dispatch(cancelCompetitionWithValidation({versionId: selectedItem.id}));\r\n }\r\n } else {\r\n this.alertService.showDialog(`Отменить ${this.competitionLabel}?`, null, DialogType.confirm, (ok) => {\r\n this.store.dispatch(cancelCompetition());\r\n });\r\n }\r\n }\r\n\r\n public complete(): void {\r\n this.alertService.showDialog({\r\n title: `Завершение отбора`,\r\n message:\r\n `<div class=\"modal-body-banner\">\r\n <div class=\"mrx-icon icon-attention icon-font-16 icon-color-orange mr-2\"></div>\r\n <p class=\"text-left\">\r\n Это действие необратимо. После его выполнения отменить результат невозможно\r\n </p>\r\n </div>\r\n <p class=\"text-center mb-1\">\r\n Подтверждая данное действие, вы подтверждаете корректность протокола и отсутствие необходимости в его корректировке.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Скорректировать итоговый протокол возможно только в течение 20 календарных дней со дня утверждения его первой версии и до подтверждения данного действия.\r\n </p>\r\n <p class=\"text-center mb-1\">\r\n Если вы не уверены в корректности протокола, при необходимости сформируйте уведомление о его отклонении и подпишите новую версию.\r\n </p>\r\n <p class=\"text-center\">\r\n Завершить отбор?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(completeCompetition());\r\n this.alertService.showMessage('Завершение отбора может занять некоторое время.',\r\n 'Обновите страницу или вернитесь позже', MessageSeverity.info);\r\n }\r\n });\r\n }\r\n\r\n public selectVersion(id: string): void {\r\n this.store.dispatch(selectCompetitionVersion({versionId: id}));\r\n }\r\n\r\n public backToEdit(): void {\r\n this.alertService.showDialog(`редактирование текущей версии`,\r\n `Вы действительно хотите редактировать текущую версию ${this.competitionLabel.toLowerCase()}a`,\r\n DialogType.confirm,\r\n (ok) => {\r\n if (!!this.selected) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: this.selected.id,\r\n status: CompetitionVersionStatusEnum.Draft\r\n }));\r\n }\r\n }, undefined, null, 'Подтвердить', undefined, DialogColor.yellow);\r\n }\r\n\r\n public showRejection(model: CompetitionRejectionModel): void {\r\n this.alertService.showDialog(`Причина отклонения`,\r\n ` <div class=\"modal-body__author\">\r\n <span>${model.author}</span>\r\n <span>${model.createdDate}</span>\r\n </div>\r\n <p class=\"modal-body__text\">${model.reason}</p>\r\n `, DialogType.confirm,\r\n undefined, undefined, null, undefined, '', DialogColor.yellow);\r\n }\r\n\r\n public redirectToEb(): void {\r\n if (this.competition != undefined && this._competitionType != undefined && this._ebLinksModel != undefined) {\r\n let link = '';\r\n\r\n if (this._competitionType == CompetitionTypeEnum.SocialOrder) {\r\n link = `${this._ebLinksModel.socialOrder}/#SocialOrderAgreement`;\r\n } else if (this._competitionType == CompetitionTypeEnum.Region) {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyNonFederal`;\r\n } else {\r\n link = `${this._ebLinksModel.subsidy}/#AgreementSubsidyRegistry`;\r\n }\r\n\r\n window.open(link, '_blank');\r\n }\r\n }\r\n\r\n private select(): void {\r\n if (this.versions && this.selectedVersion) {\r\n this.selected = this.versions.find(s => s.id === this.selectedVersion);\r\n this.selectedCompetitionVersionInfo.emit(this.selected);\r\n }\r\n }\r\n\r\n private getWarningMessageHtml(customText: string | undefined = undefined): string {\r\n if (!customText) {\r\n customText = 'Внимание! Данное действие нельзя отменить';\r\n }\r\n return `<div class=\"bg-news px-3 radius-4 mb-3 d-flex\" style=\"padding-top: var(--spacing-3); padding-bottom: var(--spacing-3)\">\r\n <div class=\"mr-2\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5657 2.41667C7.27135 1.19444 9.03548 1.19444 9.74113 2.41667L15.226 11.9167C15.9316 13.1389 15.0495 14.6667 13.6382 14.6667H2.66859C1.25729 14.6667 0.375225 13.1389 1.08087 11.9167L6.5657 2.41667ZM8.8751 2.91667C8.55435 2.36111 7.75248 2.36111 7.43173 2.91667L1.9469 12.4167C1.62615 12.9722 2.02709 13.6667 2.66859 13.6667H13.6382C14.2797 13.6667 14.6807 12.9722 14.3599 12.4167L8.8751 2.91667ZM8.15342 6.16667C8.42956 6.16667 8.65342 6.39052 8.65342 6.66667V9.33333C8.65342 9.60948 8.42956 9.83333 8.15342 9.83333C7.87727 9.83333 7.65342 9.60948 7.65342 9.33333V6.66667C7.65342 6.39052 7.87727 6.16667 8.15342 6.16667ZM8.15342 10.8333C8.42956 10.8333 8.65342 11.0572 8.65342 11.3333V12C8.65342 12.2761 8.42956 12.5 8.15342 12.5C7.87727 12.5 7.65342 12.2761 7.65342 12V11.3333C7.65342 11.0572 7.87727 10.8333 8.15342 10.8333Z\" fill=\"#D97508\"/>\r\n </svg>\r\n </div>\r\n <div class=\"m-0 text-left\">\r\n ${customText}\r\n </div>\r\n </div>`;\r\n }\r\n\r\n private getAccessControl(permission: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: this.competition?.id\r\n };\r\n }\r\n}\r\n","<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- Название субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- вставить название сущности, либо \"Субсидия\" либо \"Отбор\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- название субсидии/отбора -->\r\n <!-- ограничить длину названия в 44 символов -->\r\n <!-- вставить в тултип полное название субсидии/отбора -->\r\n <span class=\"info-banner-item__text text-normal\" [mrxCdkTooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : 'Не указан' }}\r\n </span>\r\n </div>\r\n <!-- статус субсидии/отбора -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n Статус\r\n </span>\r\n <!-- статус субсидии/отбора -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" [ngClass]=\"competitionAggregateStatusCssClass\">\r\n {{ competitionAggregateStatusEnumLabel }}\r\n </span>\r\n </div>\r\n </div>\r\n <!-- селект с выбором версии -->\r\n <div class=\"info-banner-item info-banner-item_input wpx-260 mr-3\" *ngIf=\"versions && versions.length > 1\">\r\n <div class=\"inputbox inputbox-md mb-0\">\r\n <ng-select [items]=\"versions\" [ngModel]=\"selected.id\"\r\n (ngModelChange)=\"selectVersion($event)\"\r\n [clearable]=\"false\"\r\n bindValue=\"id\"\r\n bindLabel=\"name\"\r\n groupBy=\"status\"\r\n notFoundText=\"Не найдено\">\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\r\n {{ getCompetitionVersionStatusGrouppingLabel(item.status) }}\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n Версия {{ item.num }} от {{ item.createdDate }}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n Версия {{ item.num }} от {{ item.createdDate }}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- статаус версии -->\r\n <!-- не показывать, если нет версий -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n Статус версии\r\n </span>\r\n <!-- статус версии -->\r\n <!-- для задания цвета добавлять классы: оранжевый - \"color-orange\", зеленый - \"color-green\" -->\r\n <span class=\"info-banner-item__text\" *ngIf=\"selected\" [ngClass]=\"versionStatusClass\">\r\n {{ getCompetitionVersionStatusEnumLabel(selected.status) }}\r\n </span>\r\n </div>\r\n <!-- удаление, вызов модалки, предупреждение об внесении изменений -->\r\n <div class=\"info-banner-item\">\r\n <!-- не показывать, если не требуется -->\r\n <!-- \"конверт\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n [mrxCdkTooltip]=\"'Посмотреть причину отклонения'\"\r\n (click)=\"showRejection(selected.rejectionReason)\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n <path d=\"M3 6.25L11.3356 13.6595C11.7145 13.9962 12.2855 13.9962 12.6644 13.6595L21 6.25\" stroke=\"#282828\"\r\n stroke-width=\"1.5\"/>\r\n <path d=\"M3 18L7.5 14L9.75 12M21 18L16.5 14L14.25 12\" stroke=\"#282828\" stroke-width=\"1.5\"/>\r\n </svg>\r\n </div>\r\n <!-- удаление версии -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'Удалить версию'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3 6H5H21\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path\r\n d=\"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z\"\r\n stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14 11V17\" stroke=\"#D14114\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <!-- восклицательный знак -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'Внесение изменений доступно на последней версии'\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12.2302 18V17M12.2302 14V10M4.00298 21.25H20.4575C21.9971 21.25 22.9593 19.5833 22.1895 18.25L13.9623 4C13.1925 2.66667 11.268 2.66667 10.4982 4L2.27093 18.25C1.50113 19.5833 2.46338 21.25 4.00298 21.25Z\"\r\n stroke=\"#D57B1C\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"info-banner-control\">\r\n <div *ngIf=\"!!customButtonsTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"customButtonsTemplate.templateRef;context:customButtonsTemplateContext\"></ng-container>\r\n </div>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"createVersion()\"\r\n *ngIf=\"canCreateVersion\"\r\n [disabled]=\"createVersionDisabled\">\r\n Сформировать изменения\r\n </button>\r\n <button class=\"btn btn-md green\"\r\n (click)=\"activateVersion()\"\r\n *ngIf=\"canActivateVersion\"\r\n [disabled]=\"activateVersionDisabled\">\r\n Опубликовать\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n Согласование\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\r\n Завершить\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n Редактировать\r\n </button>\r\n <!-- управление статусом/отбором -->\r\n <!-- не показывать если не требуется -->\r\n <div class=\"info-banner-control__action\"\r\n *ngIf=\"competition && showEbLink\">\r\n <mrx-dropdown [mainPlacement]=\"'bottom-end'\" [fallbackPlacements]=\"['top-end']\">\r\n <ng-template #dropdownToggle>\r\n <span class=\"mrx-icon icon-more-vertical icon-font-24\"></span>\r\n </ng-template>\r\n <ng-template #dropdownMenu>\r\n <button mrxHideAfterClick (click)=\"redirectToEb()\">\r\n <span class=\"mrx-icon icon-link icon-font-24 mr-2\"></span>\r\n <span>Перейти в подсистему бюджетного планирования ГИИС «ЭБ»</span>\r\n </button>\r\n\r\n <!--Временно скрыто в рамках MINFIN-11223-->\r\n <!--<button mrxHideAfterClick (click)=\"pause()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Active && canManageCompetition\">\r\n <span class=\"mrx-icon icon-pause-filled icon-font-24 mr-2\"></span>\r\n <span>Приостановить</span>\r\n </button>-->\r\n\r\n <button mrxHideAfterClick (click)=\"restore()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying\">\r\n <span class=\"mrx-icon icon-play-filled icon-font-24 mr-2\"></span>\r\n <span>{{ restoreButtonName }}</span>\r\n </button>\r\n\r\n <button mrxHideAfterClick\r\n *ngIf=\"canCancelCompetition\"\r\n (click)=\"cancel()\">\r\n <span class=\"mrx-icon icon-close icon-font-24 mr-2\"></span>\r\n <span>{{ cancelCompetitionButtonLabel }}</span>\r\n </button>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CompetitionTypeEnum } from 'myrtex-mf-ui-composite';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface CompetitionHeaderState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n type: CompetitionTypeEnum | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: CompetitionHeaderState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined,\r\n type: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {CompetitionHeaderState, initialCompetitionHeaderState} from './competition-header.state';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\n\r\nconst competitionHeaderReducerCreator = createReducer(\r\n initialCompetitionHeaderState,\r\n\r\n on(CompetitionActions.loadCompetitionHeaderSuccess, (state, {competitionHeader}) => {\r\n const versions = competitionHeader.versions;\r\n const competition = {\r\n id: competitionHeader.id,\r\n status: competitionHeader.status,\r\n mode: competitionHeader.mode,\r\n isResultProtocolApproved: competitionHeader.isResultProtocolApproved\r\n } as CompetitionStatusModel;\r\n return {\r\n ...state,\r\n competitionVersions: versions,\r\n defaultVersionVersionId: competitionHeader.selectedCompetitionVersionId,\r\n competition, activityId: competitionHeader.activityId,\r\n type: competitionHeader.type\r\n };\r\n }),\r\n\r\n on(CompetitionActions.competitionVersionChangeStatusManual, (state, {versionId, status}) => {\r\n const versions = [...state.competitionVersions];\r\n const version = versions.find(s => s.id === versionId);\r\n if (version) {\r\n const newVersion = {...version};\r\n newVersion.status = status;\r\n versions.splice(versions.indexOf(version), 1, newVersion);\r\n }\r\n return {...state, competitionVersions: versions, manualVersionStatusChanged: true};\r\n })\r\n);\r\n\r\nexport function competitionHeaderReducer(state: CompetitionHeaderState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderService extends EndpointBaseService {\r\n\r\n private url = '/application' + this.restPath + '/competition';\r\n\r\n constructor(\r\n http: HttpClient,\r\n injector: Injector,\r\n private _accessService: AccessService) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string, versionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n const subject = new Subject<CompetitionHeaderVersionModel>();\r\n this._accessService.checkPermission(this.getAccessControl(CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS, (competitionId ?? '')))\r\n .subscribe(anyVersionAccess => {\r\n const statusSuffix = anyVersionAccess ? '' : '/public';\r\n const params = this.getHttpVersionParam(versionId ?? '', anyVersionAccess);\r\n this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header${statusSuffix}`, { params })\r\n .subscribe(header => subject.next(header));\r\n });\r\n return subject.asObservable();\r\n }\r\n\r\n public createVersion(competitionId?: string): Observable<string> {\r\n return this.http.post<string>(`${this.url}/${competitionId}/version`, {});\r\n }\r\n\r\n public deleteVersion(competitionId?: string, versionId?: string): Observable<boolean> {\r\n return this.http.delete<boolean>(`${this.url}/${competitionId}/version/${versionId}`);\r\n }\r\n\r\n public versionChangeStatus(competitionId?: string, versionId?: string, status?: CompetitionVersionStatusEnum): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.url}/${competitionId}/version/${versionId}/to-status/${status}`, {});\r\n }\r\n\r\n public activate(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/activate`, {});\r\n }\r\n\r\n public pause(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/pause`, {});\r\n }\r\n\r\n public complete(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/complete`, {});\r\n }\r\n\r\n public cancel(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/cancel`, {});\r\n }\r\n\r\n private getAccessControl(permission: string, entityId: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: entityId\r\n };\r\n }\r\n\r\n private getHttpVersionParam(versionId: string, anyVersionAccess: boolean): HttpParams | undefined {\r\n return anyVersionAccess && !!versionId ? new HttpParams().set('versionId', versionId) : undefined;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { EMPTY } from 'rxjs';\r\nimport { catchError, map, switchMap, tap, withLatestFrom } from 'rxjs/operators';\r\nimport * as CompetitionHeaderActions from './competition-header.actions';\r\nimport { cancelCompetitionWithValidation, ECompetitionHeaderActions } from './competition-header.actions';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionHeaderService } from '../services/competition-header.service';\r\nimport {\r\n AlertService,\r\n CompetitionVersionStatusEnum,\r\n MessageSeverity,\r\n selectCompetitionId, selectVersionId,\r\n Utilities\r\n} from 'myrtex-mf-ui-composite';\r\nimport {selectCompetitionVersions} from './competition-header.selector';\r\n\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderEffects {\r\n\r\n loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.LoadCompetitionHeader),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectVersionId))),\r\n switchMap(([, competitionId, versionId]) => {\r\n return this.competitionHeaderService.getHeader(competitionId, versionId).pipe(\r\n map((result: CompetitionHeaderVersionModel) => CompetitionHeaderActions.loadCompetitionHeaderSuccess({competitionHeader: result})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.DeleteCompetitionVersion),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([versionId, competitionId]) => {\r\n return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(\r\n map((result: boolean) => CompetitionHeaderActions.deleteCompetitionVersionSuccess({versionId})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectCompetitionVersions))),\r\n tap(([deletedVersionId, competitionId, versions]) => {\r\n const previousVersionId = versions.find(x => x.id !== deletedVersionId)?.id ?? '';\r\n window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${previousVersionId}`;\r\n })\r\n ), {dispatch: false});\r\n\r\n createCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CreateCompetitionVersion),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.createVersion(competitionId).pipe(\r\n map((result: string) => CompetitionHeaderActions.createCompetitionVersionSuccess({versionId: result})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([versionId, competitionId]) =>\r\n window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)\r\n ), {dispatch: false});\r\n\r\n competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus),\r\n map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([action, competitionId]) => {\r\n return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(\r\n map((result: boolean) => {\r\n return CompetitionHeaderActions.competitionVersionChangeStatusSuccess({\r\n versionId: action.versionId,\r\n status: action.status\r\n });\r\n }),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess),\r\n map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([action, competitionId]) => {\r\n if (action.status === CompetitionVersionStatusEnum.Validation) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;\r\n }\r\n else if (action.status === CompetitionVersionStatusEnum.Active) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}&showAssessment=true`;\r\n } else {\r\n window.location.reload();\r\n }\r\n })\r\n ), {dispatch: false});\r\n\r\n selectCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.SelectCompetitionVersion),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([versionId, competitionId]) => {\r\n const newUri = Utilities.updateQueryStringParameter(window.location.href, 'versionId', versionId);\r\n window.location.href = newUri;\r\n })\r\n ), {dispatch: false});\r\n\r\n activateCompetition$ = createEffect(() => (this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.ActivateCompetition),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.activate(competitionId).pipe(\r\n map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n catchError((err, caught) => {\r\n this.alertService.showStickyMessage(err, 'Ошибка активации', MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })\r\n )));\r\n\r\n pauseCompetition$ = createEffect(() => (this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.PauseCompetition),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.pause(competitionId).pipe(\r\n map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n catchError((err, caught) => {\r\n this.alertService.showStickyMessage(err, 'Ошибка приостановки', MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })\r\n )));\r\n\r\n completeCompetition$ = createEffect(() => (this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompleteCompetition),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.complete(competitionId).pipe(\r\n map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n catchError((err, caught) => {\r\n this.alertService.showStickyMessage(err, 'Ошибка при завершении', MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })\r\n )));\r\n\r\n cancelCompetition$ = createEffect(() => (this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CancelCompetition),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.cancel(competitionId).pipe(\r\n map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n catchError((err, caught) => {\r\n this.alertService.showStickyMessage(err, 'Ошибка при отмене', MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })\r\n )));\r\n\r\n cancelCompetitionWithValidation$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CancelCompetitionWithValidation),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([versionId, competitionId]) =>\r\n window.location.href = `/m-data/minfin/selection/edit/cancel?competitionId=${competitionId}&versionId=${versionId}`)\r\n ), {dispatch: false});\r\n\r\n competitionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),\r\n tap(() => window.location.reload())\r\n ), {dispatch: false});\r\n\r\n constructor(private competitionHeaderService: CompetitionHeaderService,\r\n private actions$: Actions,\r\n private store: Store,\r\n private alertService: AlertService\r\n ) {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { LibCompetitionHeaderComponent } from './components/competition-header.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { COMPETITION_HEADER_FEATURE_NAME } from './constants';\r\nimport { competitionHeaderReducer } from './store/competition-header.reducers';\r\nimport { CompetitionHeaderService } from './services/competition-header.service';\r\nimport { CompetitionHeaderCustomButtonsDirective } from './directives/competition-header-custom-buttons.directive';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MyrtexMfUiCompositeModule, MyrtexUiComponentsModule, TenantSettingsModule } from 'myrtex-mf-ui-composite';\r\nimport { MyrtexSignerModule } from 'myrtex-mf-signer';\r\nimport { CompetitionHeaderEffects } from './store/competition-header.effects';\r\nimport { SettingsService } from './services/settings.service';\r\nimport { CdkTooltipModule, DropdownModule } from 'myrtex-mf-ui';\r\nimport { MyrtexAuthModule } from 'myrtex-mf-auth';\r\n\r\n@NgModule({\r\n declarations: [\r\n LibCompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n EffectsModule.forFeature([CompetitionHeaderEffects]),\r\n StoreModule.forFeature(COMPETITION_HEADER_FEATURE_NAME, competitionHeaderReducer),\r\n TenantSettingsModule,\r\n FormsModule,\r\n MyrtexUiComponentsModule,\r\n MyrtexMfUiCompositeModule,\r\n MyrtexSignerModule,\r\n NgSelectModule,\r\n DropdownModule,\r\n CdkTooltipModule,\r\n MyrtexAuthModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService,\r\n SettingsService\r\n ],\r\n exports: [\r\n LibCompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ]\r\n})\r\nexport class CompetitionHeaderModule {\r\n}\r\n","/*\n * Public API Surface of myrtex-mf-competition\n */\n\nexport * from './lib/modules/competition-header/competition-header.module';\nexport * from './lib/modules/competition-header/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i4.SettingsService","CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i2","CompetitionHeaderActions.loadCompetitionHeaderSuccess","CompetitionHeaderActions.deleteCompetitionVersionSuccess","CompetitionHeaderActions.createCompetitionVersionSuccess","CompetitionHeaderActions.competitionVersionChangeStatusSuccess","CompetitionHeaderActions.competitionChangeStatusSuccess","i1.CompetitionHeaderService","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"myrtex-mf-competition.mjs","sources":["../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.actions.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.selector.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/directives/competition-header-custom-buttons.directive.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/constants/competition-permission.constants.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/settings.service.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/components/competition-header.component.html","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.state.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.reducers.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/services/competition-header.service.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/store/competition-header.effects.ts","../../../projects/myrtex-mf-competition/src/lib/modules/competition-header/competition-header.module.ts","../../../projects/myrtex-mf-competition/src/public-api.ts","../../../projects/myrtex-mf-competition/src/myrtex-mf-competition.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\r\nimport {CompetitionHeaderVersionModel} from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum } from 'myrtex-mf-ui-composite';\r\n\r\nexport enum ECompetitionHeaderActions {\r\n\r\n LoadCompetitionHeader = '[Competition] Load Header',\r\n LoadCompetitionHeaderSuccess = '[Competition] Load Header Success',\r\n\r\n DeleteCompetitionVersion = '[Competition] Delete Version',\r\n DeleteCompetitionVersionSuccess = '[Competition] Delete Version Success',\r\n\r\n CreateCompetitionVersion = '[Competition] Create Version',\r\n CreateCompetitionVersionSuccess = '[Competition] Create Version Success',\r\n\r\n CompetitionVersionChangeStatus = '[Competition] Version Change Status',\r\n CompetitionVersionChangeStatusSuccess = '[Competition] Version Change Status Success',\r\n CompetitionVersionChangeStatusManual = '[Competition] Version Change Status Manual',\r\n\r\n SelectCompetitionVersion = '[Competition] Select Version',\r\n\r\n ActivateCompetition = '[Competition] Activate',\r\n PauseCompetition = '[Competition] Pause',\r\n CancelCompetition = '[Competition] Cancel',\r\n CancelCompetitionWithValidation = '[Competition] Cancel With Validation',\r\n CompleteCompetition = '[Competition] Complete',\r\n\r\n CompetitionChangeStatusSuccess = '[Competition] ChangeStatus Success',\r\n}\r\n\r\nexport const loadCompetitionHeader = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeader\r\n);\r\n\r\nexport const loadCompetitionHeaderSuccess = createAction(\r\n ECompetitionHeaderActions.LoadCompetitionHeaderSuccess,\r\n props<{ competitionHeader: CompetitionHeaderVersionModel }>()\r\n);\r\n\r\nexport const deleteCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const deleteCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.DeleteCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const createCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersion\r\n);\r\n\r\nexport const competitionVersionChangeStatus = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatus,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const competitionVersionChangeStatusManual = createAction(\r\n ECompetitionHeaderActions.CompetitionVersionChangeStatusManual,\r\n props<{ versionId: string, status: CompetitionVersionStatusEnum }>()\r\n);\r\n\r\nexport const createCompetitionVersionSuccess = createAction(\r\n ECompetitionHeaderActions.CreateCompetitionVersionSuccess,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const selectCompetitionVersion = createAction(\r\n ECompetitionHeaderActions.SelectCompetitionVersion,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const activateCompetition = createAction(\r\n ECompetitionHeaderActions.ActivateCompetition\r\n);\r\n\r\nexport const pauseCompetition = createAction(\r\n ECompetitionHeaderActions.PauseCompetition\r\n);\r\n\r\nexport const cancelCompetition = createAction(\r\n ECompetitionHeaderActions.CancelCompetition\r\n);\r\n\r\nexport const cancelCompetitionWithValidation = createAction(\r\n ECompetitionHeaderActions.CancelCompetitionWithValidation,\r\n props<{ versionId: string }>()\r\n);\r\n\r\nexport const completeCompetition = createAction(\r\n ECompetitionHeaderActions.CompleteCompetition\r\n);\r\n\r\nexport const competitionChangeStatusSuccess = createAction(\r\n ECompetitionHeaderActions.CompetitionChangeStatusSuccess\r\n);\r\n","export const COMPETITION_HEADER_FEATURE_NAME = 'competition-header';\r\n","import {createFeatureSelector, createSelector} from '@ngrx/store';\r\nimport {CompetitionHeaderState} from './competition-header.state';\r\nimport {COMPETITION_HEADER_FEATURE_NAME} from '../constants';\r\nimport { selectCompetitionIdAndVersionId } from 'myrtex-mf-ui-composite';\r\n\r\nconst competitionVersionsFeature =\r\n createFeatureSelector<CompetitionHeaderState>(COMPETITION_HEADER_FEATURE_NAME);\r\n\r\nexport const selectCompetitionVersions = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.competitionVersions\r\n);\r\n\r\nexport const selectCompetitionDefaultVersionId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.defaultVersionVersionId\r\n);\r\n\r\nexport const selectCompetitionSelectedVersionId = createSelector(\r\n selectCompetitionIdAndVersionId,\r\n selectCompetitionDefaultVersionId,\r\n (cv: {competitionId: string | undefined, versionId: string | undefined}, dv: string) => {\r\n return cv.versionId ? cv.versionId : dv;\r\n }\r\n);\r\n\r\nexport const selectCompetitionStatus = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.competition\r\n);\r\n\r\nexport const selectManualVersionStatusChanged = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.manualVersionStatusChanged\r\n);\r\n\r\nexport const selectActivityId = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.activityId\r\n);\r\n\r\nexport const selectCompetitionType = createSelector(\r\n competitionVersionsFeature,\r\n (state: CompetitionHeaderState) => state.type\r\n);\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[myCompetitionHeaderCustomButtons]'\r\n})\r\nexport class CompetitionHeaderCustomButtonsDirective {\r\n\r\n constructor(public templateRef: TemplateRef<unknown>) { }\r\n\r\n}\r\n","export const COMPETITION_ENTITY_NAME = 'competition';\r\n\r\nexport const CAN_CREATE_COMPETITION_VERSION = 'can-create-competition-version';\r\n\r\nexport const CAN_AGREEMENT_COMPETITION = 'can-agreement-competition';\r\n\r\nexport const CAN_PUBLIC_COMPETITION = 'can-public-competition';\r\n\r\nexport const CAN_CANCEL_COMPETITION = 'can-cancel-competition';\r\n\r\nexport const CAN_COMPLETE_COMPETITION = 'can-complete-competition';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS = 'can-view-competition-settings-any-status';\r\n\r\nexport const CAN_VIEW_COMPETITION_SETTINGS_PUBLIC_STATUS = 'can-view-competition-settings-public-status';\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Injectable, Injector} from '@angular/core';\r\nimport {EndpointBaseService} from 'myrtex-mf-ui-composite';\r\nimport {Observable} from 'rxjs';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\n\r\n@Injectable()\r\nexport class SettingsService extends EndpointBaseService {\r\n\r\n constructor(protected http: HttpClient, protected injector: Injector) {\r\n super(http, injector);\r\n }\r\n\r\n public getSelelectionEditEbLinks(): Observable<EBLinksModel> {\r\n return this.http.get<EBLinksModel>('/m-data/minfin/selection/edit/eb-links');\r\n }\r\n}","import {Component, ContentChild, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { CompetitionVersionModel } from '../models/competition-version.model';\r\nimport {\r\n CompetitionModeEnum,\r\n CompetitionStatusEnum,\r\n CompetitionStatusEnumLabel,\r\n DialogColor,\r\n DialogType,\r\n AlertService,\r\n UnSubscriber,\r\n selectCompetitionConfig,\r\n selectCompetitionLabel,\r\n CompetitionConfigModel,\r\n CancelCompetitionTypeEnum,\r\n CompetitionVersionStatusEnum,\r\n CompetitionVersionStatusEnumLabel,\r\n CompetitionVersionStatusGrouppingLabel,\r\n CompetitionTypeEnum,\r\n MessageSeverity, selectUserInfo\r\n} from 'myrtex-mf-ui-composite';\r\nimport {\r\n activateCompetition,\r\n cancelCompetition,\r\n cancelCompetitionWithValidation,\r\n competitionVersionChangeStatus,\r\n completeCompetition,\r\n createCompetitionVersion,\r\n deleteCompetitionVersion,\r\n loadCompetitionHeader,\r\n pauseCompetition,\r\n selectCompetitionVersion\r\n} from '../store/competition-header.actions';\r\nimport { CompetitionStatusModel } from '../models/competition-status.model';\r\nimport {\r\n selectActivityId,\r\n selectCompetitionSelectedVersionId,\r\n selectCompetitionStatus,\r\n selectCompetitionType,\r\n selectCompetitionVersions,\r\n selectManualVersionStatusChanged\r\n} from '../store/competition-header.selector';\r\nimport { CompetitionHeaderCustomButtonsDirective } from '../directives/competition-header-custom-buttons.directive';\r\nimport { CompetitionRejectionModel } from '../models';\r\nimport { SignService } from 'myrtex-mf-signer';\r\nimport { SettingsService } from '../services/settings.service';\r\nimport { EBLinksModel } from '../models/eb-links.model';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_AGREEMENT_COMPETITION,\r\n CAN_CANCEL_COMPETITION,\r\n CAN_COMPLETE_COMPETITION,\r\n CAN_CREATE_COMPETITION_VERSION,\r\n CAN_PUBLIC_COMPETITION,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\r\n\r\nexport declare type validateVersionFn = ((param: string, onValidated: () => void) => void);\r\n\r\ndeclare global {\r\n interface Window {\r\n CryptoInterceptor: any;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-competition-header',\r\n templateUrl: './competition-header.component.html'\r\n})\r\nexport class LibCompetitionHeaderComponent extends UnSubscriber implements OnInit, OnDestroy {\r\n\r\n @ContentChild(CompetitionHeaderCustomButtonsDirective)\r\n public customButtonsTemplate!: CompetitionHeaderCustomButtonsDirective;\r\n\r\n @Input()\r\n public validateVersionAction: undefined | validateVersionFn = undefined;\r\n\r\n @Input()\r\n public canCreateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canValidateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public canActivateVersionOnActivityPeriod = true;\r\n\r\n @Input()\r\n public isDirty = false;\r\n\r\n @Input()\r\n public validationInProgress = false;\r\n\r\n @Output()\r\n public selectedCompetitionVersionInfo = new EventEmitter<CompetitionVersionModel>();\r\n\r\n @Output()\r\n public setValidationInProgress = new EventEmitter<boolean>();\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 showLoader(): boolean {\r\n return this.validationInProgress;\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 || this.validationInProgress;\r\n }\r\n\r\n public get createVersionDisabled(): boolean {\r\n return this.isDirty || !this._canCreateVersionAccess;\r\n }\r\n\r\n public get backToEditDisabled(): boolean {\r\n return this.isDirty;\r\n }\r\n\r\n public get canValidateVersion(): boolean {\r\n return this.canValidateVersionOnActivityPeriod\r\n && this._canAgreementVersionAccess\r\n && this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n && this.competition?.mode === CompetitionModeEnum.VersionedExtended\r\n && this.competition?.status !== CompetitionStatusEnum.Canceled;\r\n }\r\n\r\n public get isLastVersion(): boolean {\r\n if (this.versions?.length > 0) {\r\n const m = Math.max(...this.versions.map(x => x.num));\r\n return m === this.selected?.num;\r\n }\r\n return false;\r\n }\r\n\r\n public get showRejectionReason(): boolean {\r\n return !!this.selected?.rejectionReason &&\r\n (this.selected?.status === CompetitionVersionStatusEnum.Draft\r\n || this.selected?.status === CompetitionVersionStatusEnum.Rejected)\r\n }\r\n\r\n public get versionStatusClass(): any {\r\n return {\r\n '': this.selected?.status !== CompetitionVersionStatusEnum.Active,\r\n 'color-green': this.selected?.status === CompetitionVersionStatusEnum.Active\r\n }\r\n }\r\n\r\n /** Контекст для кастомных кнопок, может расширяться */\r\n public get customButtonsTemplateContext(): any {\r\n return {\r\n activityId: this._activityId,\r\n competitionId: this.competition?.id,\r\n competitionVersionId: this.selected?.id\r\n };\r\n }\r\n\r\n public get canReturnToEdit(): boolean {\r\n return this.selected?.status === CompetitionVersionStatusEnum.Rejected;\r\n }\r\n\r\n public get showEbLink(): boolean {\r\n return this.competition !== undefined &&\r\n this.versions.some(x => x.status !== CompetitionVersionStatusEnum.Draft);\r\n }\r\n\r\n public get canCompleteCompetition(): boolean {\r\n return this._canCompleteEntityAccess\r\n && this.competition !== undefined\r\n && this.competition.status === CompetitionStatusEnum.Active\r\n && this.selected?.status === CompetitionVersionStatusEnum.Active\r\n && this.competition.isResultProtocolApproved;\r\n }\r\n\r\n public get canCancelCompetition(): boolean {\r\n return this._canCancelEntityAccess\r\n && this.competition !== undefined\r\n && (this.competition.status === CompetitionStatusEnum.Active\r\n || this.competition.status === CompetitionStatusEnum.Staying\r\n || this.competition.status === CompetitionStatusEnum.Canceled)\r\n && this.showCancelCompetitionButton;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.store.dispatch(loadCompetitionHeader());\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionVersions)).subscribe(result => {\r\n if (result) {\r\n this.versions = result;\r\n this.select();\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionSelectedVersionId)).subscribe(result => {\r\n if (result) {\r\n this.selectedVersion = result;\r\n this.select();\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionStatus)).subscribe(result => {\r\n if (result) {\r\n this.competition = result;\r\n this._accessService.checkPermission(this.getAccessControl(CAN_AGREEMENT_COMPETITION))\r\n .subscribe(result => this._canAgreementVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CREATE_COMPETITION_VERSION))\r\n .subscribe(result => this._canCreateVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_PUBLIC_COMPETITION))\r\n .subscribe(result => this._canPublicVersionAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_COMPLETE_COMPETITION))\r\n .subscribe(result => this._canCompleteEntityAccess = result);\r\n this._accessService.checkPermission(this.getAccessControl(CAN_CANCEL_COMPETITION))\r\n .subscribe(result => this._canCancelEntityAccess = result);\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionType)).subscribe(result => {\r\n if (result !== null && result !== undefined) {\r\n this._competitionType = result;\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionLabel)).subscribe(result => {\r\n this.competitionLabel = result;\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectActivityId)).subscribe(result => {\r\n this._activityId = result;\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectCompetitionConfig)).subscribe(result => {\r\n if (result) {\r\n this.competitionConfig = result;\r\n\r\n if (this.competitionConfig.cancelCompetitionLabel) {\r\n this.cancelCompetitionButtonLabel = this.competitionConfig.cancelCompetitionLabel;\r\n }\r\n if (this.competitionConfig.cancelCompetitionType\r\n && this.competitionConfig.cancelCompetitionType > this.cancelCompetitionTypeEnum.Disabled) {\r\n this.showCancelCompetitionButton = true;\r\n }\r\n this.showCompleteCompetitionButton = this.competitionConfig.showCompleteCompetitionButton;\r\n if (this.competitionConfig.restoreButtonName) {\r\n this.restoreButtonName = this.competitionConfig.restoreButtonName;\r\n }\r\n }\r\n }));\r\n this.appendSubscription(this.store.pipe(select(selectManualVersionStatusChanged)).subscribe(result => {\r\n // произошло ручное изменение статуса, толкаем дальше по таймауту\r\n if (result) {\r\n setTimeout(() => {\r\n const selectedItem = this.selected;\r\n if (selectedItem) {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Confirmed\r\n }));\r\n }\r\n }, 10000);\r\n }\r\n }));\r\n this.settingsService.getSelelectionEditEbLinks().subscribe(res => {\r\n this._ebLinksModel = res;\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n public getCompetitionVersionStatusEnumLabel(value: any) {\r\n return CompetitionVersionStatusEnumLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public getCompetitionVersionStatusGrouppingLabel(value: any) {\r\n return CompetitionVersionStatusGrouppingLabel[value as CompetitionVersionStatusEnum];\r\n }\r\n\r\n public createVersion(): void {\r\n this.alertService.showDialog({\r\n title: `Формирование изменений`,\r\n message:\r\n `${this.getWarningMessageHtml('Внимание! Формирование изменений приведет к созданию новой версии отбора')}\r\n <p>\r\n Вы действительно хотите сформировать изменения?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(createCompetitionVersion());\r\n }\r\n });\r\n }\r\n\r\n public activateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n this.alertService.showDialog({\r\n title: `Публикация ${this.competitionLabel}а`,\r\n message: `${this.getWarningMessageHtml()}\r\n <p>\r\n Вы действительно хотите опубликовать ${this.competitionLabel}?\r\n </p>`,\r\n color: DialogColor.yellow,\r\n type: DialogType.confirm,\r\n okLabel: 'Подтвердить',\r\n cancelLabel: 'Отменить',\r\n okCallback: () => {\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Active\r\n }));\r\n }\r\n });\r\n }\r\n }\r\n\r\n public validateVersion(): void {\r\n if (this.selected) {\r\n const selectedItem = this.selected;\r\n\r\n if (this.validateVersionAction) {\r\n this.validateVersionAction(selectedItem.id, () => {\r\n this.signService.sign({\r\n title: 'Направление документа на согласование',\r\n okLabel: 'Отправить',\r\n cancelLabel: 'Отменить',\r\n pdfUrl: `/m-data/minfin/pdf-competition/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n xmlUrl: `/m-data/minfin/xml-competition/${this.competition?.id}?versionId=${selectedItem.id}`,\r\n provider: 'empty'\r\n }, () => {\r\n this.alertService.showMessage('', 'Ожидайте. Выполняется отправка на согласование.', MessageSeverity.wait);\r\n this.store.dispatch(competitionVersionChangeStatus({\r\n versionId: selectedItem.id,\r\n status: CompetitionVersionStatusEnum.Validation\r\n }));\r\n }, () => {\r\n this.setValidationInProgress.emit(false);\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\r\n<div class=\"info-banner-loader\" [class.active]=\"showLoader\">\r\n <mrx-loader *ngIf=\"showLoader\"\r\n [size]=\"'large'\">\r\n </mrx-loader>\r\n</div>\r\n","import { CompetitionTypeEnum } from 'myrtex-mf-ui-composite';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\nimport {CompetitionVersionModel} from '../models/competition-version.model';\r\n\r\nexport interface CompetitionHeaderState {\r\n competition: CompetitionStatusModel | null;\r\n competitionVersions: CompetitionVersionModel[];\r\n defaultVersionVersionId: string;\r\n manualVersionStatusChanged: boolean;\r\n activityId: string | undefined;\r\n type: CompetitionTypeEnum | undefined;\r\n}\r\n\r\nexport const initialCompetitionHeaderState: CompetitionHeaderState = {\r\n competition: null,\r\n competitionVersions: [],\r\n defaultVersionVersionId: '',\r\n manualVersionStatusChanged: false,\r\n activityId: undefined,\r\n type: undefined\r\n};\r\n","import {Action, createReducer, on} from '@ngrx/store';\r\nimport * as CompetitionActions from './competition-header.actions';\r\nimport {CompetitionHeaderState, initialCompetitionHeaderState} from './competition-header.state';\r\nimport {CompetitionStatusModel} from '../models/competition-status.model';\r\n\r\nconst competitionHeaderReducerCreator = createReducer(\r\n initialCompetitionHeaderState,\r\n\r\n on(CompetitionActions.loadCompetitionHeaderSuccess, (state, {competitionHeader}) => {\r\n const versions = competitionHeader.versions;\r\n const competition = {\r\n id: competitionHeader.id,\r\n status: competitionHeader.status,\r\n mode: competitionHeader.mode,\r\n isResultProtocolApproved: competitionHeader.isResultProtocolApproved\r\n } as CompetitionStatusModel;\r\n return {\r\n ...state,\r\n competitionVersions: versions,\r\n defaultVersionVersionId: competitionHeader.selectedCompetitionVersionId,\r\n competition, activityId: competitionHeader.activityId,\r\n type: competitionHeader.type\r\n };\r\n }),\r\n\r\n on(CompetitionActions.competitionVersionChangeStatusManual, (state, {versionId, status}) => {\r\n const versions = [...state.competitionVersions];\r\n const version = versions.find(s => s.id === versionId);\r\n if (version) {\r\n const newVersion = {...version};\r\n newVersion.status = status;\r\n versions.splice(versions.indexOf(version), 1, newVersion);\r\n }\r\n return {...state, competitionVersions: versions, manualVersionStatusChanged: true};\r\n })\r\n);\r\n\r\nexport function competitionHeaderReducer(state: CompetitionHeaderState | undefined, action: Action) {\r\n return competitionHeaderReducerCreator(state, action);\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionVersionStatusEnum, EndpointBaseService } from 'myrtex-mf-ui-composite';\r\nimport {AccessService, CheckPermissionModel} from 'myrtex-mf-auth';\r\nimport {\r\n CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS,\r\n COMPETITION_ENTITY_NAME\r\n} from '../constants/competition-permission.constants';\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderService extends EndpointBaseService {\r\n\r\n private url = '/application' + this.restPath + '/competition';\r\n\r\n constructor(\r\n http: HttpClient,\r\n injector: Injector,\r\n private _accessService: AccessService) {\r\n super(http, injector);\r\n }\r\n\r\n public getHeader(competitionId?: string, versionId?: string): Observable<CompetitionHeaderVersionModel> {\r\n const subject = new Subject<CompetitionHeaderVersionModel>();\r\n this._accessService.checkPermission(this.getAccessControl(CAN_VIEW_COMPETITION_SETTINGS_ANY_STATUS, (competitionId ?? '')))\r\n .subscribe(anyVersionAccess => {\r\n const statusSuffix = anyVersionAccess ? '' : '/public';\r\n const params = this.getHttpVersionParam(versionId ?? '', anyVersionAccess);\r\n this.http.get<CompetitionHeaderVersionModel>(`${this.url}/${competitionId}/header${statusSuffix}`, { params })\r\n .subscribe(header => subject.next(header));\r\n });\r\n return subject.asObservable();\r\n }\r\n\r\n public createVersion(competitionId?: string): Observable<string> {\r\n return this.http.post<string>(`${this.url}/${competitionId}/version`, {});\r\n }\r\n\r\n public deleteVersion(competitionId?: string, versionId?: string): Observable<boolean> {\r\n return this.http.delete<boolean>(`${this.url}/${competitionId}/version/${versionId}`);\r\n }\r\n\r\n public versionChangeStatus(competitionId?: string, versionId?: string, status?: CompetitionVersionStatusEnum): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.url}/${competitionId}/version/${versionId}/to-status/${status}`, {});\r\n }\r\n\r\n public activate(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/activate`, {});\r\n }\r\n\r\n public pause(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/pause`, {});\r\n }\r\n\r\n public complete(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/complete`, {});\r\n }\r\n\r\n public cancel(competitionId?: string): Observable<any> {\r\n return this.http.post<any>(`${this.url}/${competitionId}/cancel`, {});\r\n }\r\n\r\n private getAccessControl(permission: string, entityId: string): CheckPermissionModel {\r\n return {\r\n permission,\r\n objectType: COMPETITION_ENTITY_NAME,\r\n objectId: entityId\r\n };\r\n }\r\n\r\n private getHttpVersionParam(versionId: string, anyVersionAccess: boolean): HttpParams | undefined {\r\n return anyVersionAccess && !!versionId ? new HttpParams().set('versionId', versionId) : undefined;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { EMPTY } from 'rxjs';\r\nimport { catchError, map, switchMap, tap, withLatestFrom } from 'rxjs/operators';\r\nimport * as CompetitionHeaderActions from './competition-header.actions';\r\nimport { cancelCompetitionWithValidation, ECompetitionHeaderActions } from './competition-header.actions';\r\nimport { CompetitionHeaderVersionModel } from '../models/competition-header-version.model';\r\nimport { CompetitionHeaderService } from '../services/competition-header.service';\r\nimport {\r\n AlertService,\r\n CompetitionVersionStatusEnum,\r\n MessageSeverity,\r\n selectCompetitionId, selectVersionId,\r\n Utilities\r\n} from 'myrtex-mf-ui-composite';\r\nimport {selectCompetitionVersions} from './competition-header.selector';\r\n\r\n\r\n@Injectable()\r\nexport class CompetitionHeaderEffects {\r\n\r\n loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.LoadCompetitionHeader),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectVersionId))),\r\n switchMap(([, competitionId, versionId]) => {\r\n return this.competitionHeaderService.getHeader(competitionId, versionId).pipe(\r\n map((result: CompetitionHeaderVersionModel) => CompetitionHeaderActions.loadCompetitionHeaderSuccess({competitionHeader: result})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n deleteCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.DeleteCompetitionVersion),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([versionId, competitionId]) => {\r\n return this.competitionHeaderService.deleteVersion(competitionId, versionId).pipe(\r\n map((result: boolean) => CompetitionHeaderActions.deleteCompetitionVersionSuccess({versionId})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n deleteCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.DeleteCompetitionVersionSuccess),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectCompetitionVersions))),\r\n tap(([deletedVersionId, competitionId, versions]) => {\r\n const previousVersionId = versions.find(x => x.id !== deletedVersionId)?.id ?? '';\r\n window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${previousVersionId}`;\r\n })\r\n ), {dispatch: false});\r\n\r\n createCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CreateCompetitionVersion),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.createVersion(competitionId).pipe(\r\n map((result: string) => CompetitionHeaderActions.createCompetitionVersionSuccess({versionId: result})),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n createCompetitionVersionSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CreateCompetitionVersionSuccess),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([versionId, competitionId]) =>\r\n window.location.href = `/application/competitions/item?competitionId=${competitionId}&versionId=${versionId}`)\r\n ), {dispatch: false});\r\n\r\n competitionVersionChangeStatus$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatus),\r\n map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([action, competitionId]) => {\r\n return this.competitionHeaderService.versionChangeStatus(competitionId, action.versionId, action.status).pipe(\r\n map((result: boolean) => {\r\n return CompetitionHeaderActions.competitionVersionChangeStatusSuccess({\r\n versionId: action.versionId,\r\n status: action.status\r\n });\r\n }),\r\n catchError((err) => {\r\n this.alertService.showMessage(err, null, MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })));\r\n\r\n competitionVersionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompetitionVersionChangeStatusSuccess),\r\n map((action: { versionId: string, status: CompetitionVersionStatusEnum }) => action),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([action, competitionId]) => {\r\n if (action.status === CompetitionVersionStatusEnum.Validation) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}`;\r\n }\r\n else if (action.status === CompetitionVersionStatusEnum.Active) {\r\n window.location.href = `/m-data/minfin/selection/edit?competitionId=${competitionId}&versionId=${action.versionId}&showAssessment=true`;\r\n } else {\r\n window.location.reload();\r\n }\r\n })\r\n ), {dispatch: false});\r\n\r\n selectCompetitionVersion$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.SelectCompetitionVersion),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([versionId, competitionId]) => {\r\n const newUri = Utilities.updateQueryStringParameter(window.location.href, 'versionId', versionId);\r\n window.location.href = newUri;\r\n })\r\n ), {dispatch: false});\r\n\r\n activateCompetition$ = createEffect(() => (this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.ActivateCompetition),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.activate(competitionId).pipe(\r\n map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n catchError((err, caught) => {\r\n this.alertService.showStickyMessage(err, 'Ошибка активации', MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })\r\n )));\r\n\r\n pauseCompetition$ = createEffect(() => (this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.PauseCompetition),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.pause(competitionId).pipe(\r\n map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n catchError((err, caught) => {\r\n this.alertService.showStickyMessage(err, 'Ошибка приостановки', MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })\r\n )));\r\n\r\n completeCompetition$ = createEffect(() => (this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompleteCompetition),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.complete(competitionId).pipe(\r\n map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n catchError((err, caught) => {\r\n this.alertService.showStickyMessage(err, 'Ошибка при завершении', MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })\r\n )));\r\n\r\n cancelCompetition$ = createEffect(() => (this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CancelCompetition),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n switchMap(([, competitionId]) => {\r\n return this.competitionHeaderService.cancel(competitionId).pipe(\r\n map((result: any) => CompetitionHeaderActions.competitionChangeStatusSuccess()),\r\n catchError((err, caught) => {\r\n this.alertService.showStickyMessage(err, 'Ошибка при отмене', MessageSeverity.error);\r\n return EMPTY;\r\n })\r\n );\r\n })\r\n )));\r\n\r\n cancelCompetitionWithValidation$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CancelCompetitionWithValidation),\r\n map((action: { versionId: string }) => action.versionId),\r\n withLatestFrom(this.store.pipe(select(selectCompetitionId))),\r\n tap(([versionId, competitionId]) =>\r\n window.location.href = `/m-data/minfin/selection/edit/cancel?competitionId=${competitionId}&versionId=${versionId}`)\r\n ), {dispatch: false});\r\n\r\n competitionChangeStatusSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(ECompetitionHeaderActions.CompetitionChangeStatusSuccess),\r\n tap(() => window.location.reload())\r\n ), {dispatch: false});\r\n\r\n constructor(private competitionHeaderService: CompetitionHeaderService,\r\n private actions$: Actions,\r\n private store: Store,\r\n private alertService: AlertService\r\n ) {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { LibCompetitionHeaderComponent } from './components/competition-header.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { COMPETITION_HEADER_FEATURE_NAME } from './constants';\r\nimport { competitionHeaderReducer } from './store/competition-header.reducers';\r\nimport { CompetitionHeaderService } from './services/competition-header.service';\r\nimport { CompetitionHeaderCustomButtonsDirective } from './directives/competition-header-custom-buttons.directive';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MyrtexMfUiCompositeModule, MyrtexUiComponentsModule, TenantSettingsModule } from 'myrtex-mf-ui-composite';\r\nimport { MyrtexSignerModule } from 'myrtex-mf-signer';\r\nimport { CompetitionHeaderEffects } from './store/competition-header.effects';\r\nimport { SettingsService } from './services/settings.service';\r\nimport {CdkTooltipModule, DropdownModule, LoaderModule} 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 LoaderModule\r\n ],\r\n providers: [\r\n CompetitionHeaderService,\r\n SettingsService\r\n ],\r\n exports: [\r\n LibCompetitionHeaderComponent,\r\n CompetitionHeaderCustomButtonsDirective,\r\n ]\r\n})\r\nexport class CompetitionHeaderModule {\r\n}\r\n","/*\n * Public API Surface of myrtex-mf-competition\n */\n\nexport * from './lib/modules/competition-header/competition-header.module';\nexport * from './lib/modules/competition-header/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i4.SettingsService","CompetitionActions.loadCompetitionHeaderSuccess","CompetitionActions.competitionVersionChangeStatusManual","i2","CompetitionHeaderActions.loadCompetitionHeaderSuccess","CompetitionHeaderActions.deleteCompetitionVersionSuccess","CompetitionHeaderActions.createCompetitionVersionSuccess","CompetitionHeaderActions.competitionVersionChangeStatusSuccess","CompetitionHeaderActions.competitionChangeStatusSuccess","i1.CompetitionHeaderService","i3","i4"],"mappings":"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"}
|
|
@@ -12,6 +12,6 @@ import * as i10 from "myrtex-mf-ui";
|
|
|
12
12
|
import * as i11 from "myrtex-mf-auth";
|
|
13
13
|
export declare class CompetitionHeaderModule {
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<CompetitionHeaderModule, never>;
|
|
15
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CompetitionHeaderModule, [typeof i1.LibCompetitionHeaderComponent, typeof i2.CompetitionHeaderCustomButtonsDirective], [typeof i3.CommonModule, typeof i4.EffectsFeatureModule, typeof i5.StoreFeatureModule, typeof i6.TenantSettingsModule, typeof i7.FormsModule, typeof i6.MyrtexUiComponentsModule, typeof i6.MyrtexMfUiCompositeModule, typeof i8.MyrtexSignerModule, typeof i9.NgSelectModule, typeof i10.DropdownModule, typeof i10.CdkTooltipModule, typeof i11.MyrtexAuthModule], [typeof i1.LibCompetitionHeaderComponent, typeof i2.CompetitionHeaderCustomButtonsDirective]>;
|
|
15
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CompetitionHeaderModule, [typeof i1.LibCompetitionHeaderComponent, typeof i2.CompetitionHeaderCustomButtonsDirective], [typeof i3.CommonModule, typeof i4.EffectsFeatureModule, typeof i5.StoreFeatureModule, typeof i6.TenantSettingsModule, typeof i7.FormsModule, typeof i6.MyrtexUiComponentsModule, typeof i6.MyrtexMfUiCompositeModule, typeof i8.MyrtexSignerModule, typeof i9.NgSelectModule, typeof i10.DropdownModule, typeof i10.CdkTooltipModule, typeof i11.MyrtexAuthModule, typeof i10.LoaderModule], [typeof i1.LibCompetitionHeaderComponent, typeof i2.CompetitionHeaderCustomButtonsDirective]>;
|
|
16
16
|
static ɵinj: i0.ɵɵInjectorDeclaration<CompetitionHeaderModule>;
|
|
17
17
|
}
|
|
@@ -27,7 +27,9 @@ export declare class LibCompetitionHeaderComponent extends UnSubscriber implemen
|
|
|
27
27
|
canValidateVersionOnActivityPeriod: boolean;
|
|
28
28
|
canActivateVersionOnActivityPeriod: boolean;
|
|
29
29
|
isDirty: boolean;
|
|
30
|
+
validationInProgress: boolean;
|
|
30
31
|
selectedCompetitionVersionInfo: EventEmitter<CompetitionVersionModel>;
|
|
32
|
+
setValidationInProgress: EventEmitter<boolean>;
|
|
31
33
|
competition: CompetitionStatusModel | undefined;
|
|
32
34
|
versions: CompetitionVersionModel[];
|
|
33
35
|
selected: CompetitionVersionModel | undefined;
|
|
@@ -50,6 +52,7 @@ export declare class LibCompetitionHeaderComponent extends UnSubscriber implemen
|
|
|
50
52
|
private _canCompleteEntityAccess;
|
|
51
53
|
private _canCancelEntityAccess;
|
|
52
54
|
constructor(signService: SignService, store: Store, alertService: AlertService, settingsService: SettingsService, _accessService: AccessService);
|
|
55
|
+
get showLoader(): boolean;
|
|
53
56
|
get competitionAggregateStatusEnumLabel(): string;
|
|
54
57
|
get competitionAggregateStatusCssClass(): any;
|
|
55
58
|
get canCreateVersion(): boolean;
|
|
@@ -89,5 +92,5 @@ export declare class LibCompetitionHeaderComponent extends UnSubscriber implemen
|
|
|
89
92
|
private getWarningMessageHtml;
|
|
90
93
|
private getAccessControl;
|
|
91
94
|
static ɵfac: i0.ɵɵFactoryDeclaration<LibCompetitionHeaderComponent, never>;
|
|
92
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LibCompetitionHeaderComponent, "lib-competition-header", never, { "validateVersionAction": "validateVersionAction"; "canCreateVersionOnActivityPeriod": "canCreateVersionOnActivityPeriod"; "canValidateVersionOnActivityPeriod": "canValidateVersionOnActivityPeriod"; "canActivateVersionOnActivityPeriod": "canActivateVersionOnActivityPeriod"; "isDirty": "isDirty"; }, { "selectedCompetitionVersionInfo": "selectedCompetitionVersionInfo"; }, ["customButtonsTemplate"], never>;
|
|
95
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibCompetitionHeaderComponent, "lib-competition-header", never, { "validateVersionAction": "validateVersionAction"; "canCreateVersionOnActivityPeriod": "canCreateVersionOnActivityPeriod"; "canValidateVersionOnActivityPeriod": "canValidateVersionOnActivityPeriod"; "canActivateVersionOnActivityPeriod": "canActivateVersionOnActivityPeriod"; "isDirty": "isDirty"; "validationInProgress": "validationInProgress"; }, { "selectedCompetitionVersionInfo": "selectedCompetitionVersionInfo"; "setValidationInProgress": "setValidationInProgress"; }, ["customButtonsTemplate"], never>;
|
|
93
96
|
}
|