myrtex-mf-competition 1.0.92 → 1.0.94-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/competition-header/competition-header.module.mjs +8 -4
- package/esm2020/lib/modules/competition-header/components/competition-header.component.mjs +91 -146
- package/esm2020/lib/modules/competition-header/constants/competition-permission.constants.mjs +7 -0
- package/esm2020/lib/modules/competition-header/services/competition-header.service.mjs +6 -3
- package/esm2020/lib/modules/competition-header/store/competition-header.effects.mjs +4 -4
- package/fesm2015/myrtex-mf-competition.mjs +117 -159
- package/fesm2015/myrtex-mf-competition.mjs.map +1 -1
- package/fesm2020/myrtex-mf-competition.mjs +110 -152
- package/fesm2020/myrtex-mf-competition.mjs.map +1 -1
- package/lib/modules/competition-header/competition-header.module.d.ts +2 -1
- package/lib/modules/competition-header/components/competition-header.component.d.ts +12 -7
- package/lib/modules/competition-header/constants/competition-permission.constants.d.ts +6 -0
- package/lib/modules/competition-header/services/competition-header.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, Injectable, EventEmitter, Component, ContentChild, Input, Output, NgModule } from '@angular/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as i8 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2$1 from '@ngrx/effects';
|
|
6
6
|
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
|
7
7
|
import * as i2 from '@ngrx/store';
|
|
8
8
|
import { createAction, props, createFeatureSelector, createSelector, select, createReducer, on, StoreModule } from '@ngrx/store';
|
|
9
9
|
import * as i3 from 'myrtex-mf-ui-composite';
|
|
10
|
-
import { selectCompetitionIdAndVersionId, EndpointBaseService, UnSubscriber, CompetitionStatusEnum, CancelCompetitionTypeEnum, CompetitionVersionStatusEnum, CompetitionVersionStatusEnumLabel, CompetitionStatusEnumLabel, CompetitionModeEnum, selectCompetitionLabel, selectCompetitionConfig, CompetitionVersionStatusGrouppingLabel, DialogColor, DialogType, MessageSeverity, CompetitionTypeEnum, selectCompetitionId, Utilities, TenantSettingsModule, MyrtexUiComponentsModule, MyrtexMfUiCompositeModule } from 'myrtex-mf-ui-composite';
|
|
10
|
+
import { selectCompetitionIdAndVersionId, EndpointBaseService, UnSubscriber, CompetitionStatusEnum, CancelCompetitionTypeEnum, CompetitionVersionStatusEnum, CompetitionVersionStatusEnumLabel, CompetitionStatusEnumLabel, CompetitionModeEnum, selectCompetitionLabel, selectCompetitionConfig, selectUserInfo, CompetitionVersionStatusGrouppingLabel, DialogColor, DialogType, MessageSeverity, CompetitionTypeEnum, selectCompetitionId, selectVersionId, Utilities, TenantSettingsModule, MyrtexUiComponentsModule, MyrtexMfUiCompositeModule } from 'myrtex-mf-ui-composite';
|
|
11
11
|
import * as i1$1 from 'myrtex-mf-signer';
|
|
12
12
|
import { MyrtexSignerModule } from 'myrtex-mf-signer';
|
|
13
13
|
import * as i1 from '@angular/common/http';
|
|
14
|
-
import
|
|
14
|
+
import { HttpParams } from '@angular/common/http';
|
|
15
|
+
import * as i5 from 'myrtex-mf-auth';
|
|
16
|
+
import { MyrtexAuthModule } from 'myrtex-mf-auth';
|
|
17
|
+
import * as i6 from '@ng-select/ng-select';
|
|
15
18
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
16
|
-
import * as
|
|
19
|
+
import * as i7 from 'myrtex-mf-ui';
|
|
17
20
|
import { DropdownModule, CdkTooltipModule } from 'myrtex-mf-ui';
|
|
18
|
-
import * as
|
|
21
|
+
import * as i9 from '@angular/forms';
|
|
19
22
|
import { FormsModule } from '@angular/forms';
|
|
20
23
|
import { EMPTY } from 'rxjs';
|
|
21
24
|
import { withLatestFrom, switchMap, map, catchError, tap } from 'rxjs/operators';
|
|
@@ -83,6 +86,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
83
86
|
}]
|
|
84
87
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
85
88
|
|
|
89
|
+
const COMPETITION_ENTITY_NAME = 'competition';
|
|
90
|
+
const CAN_CREATE_COMPETITION_VERSION = 'can-create-competition-version';
|
|
91
|
+
const CAN_AGREEMENT_COMPETITION = 'can-agreement-competition';
|
|
92
|
+
const CAN_PUBLIC_COMPETITION = 'can-public-competition';
|
|
93
|
+
const CAN_CANCEL_COMPETITION = 'can-cancel-competition';
|
|
94
|
+
const CAN_COMPLETE_COMPETITION = 'can-complete-competition';
|
|
95
|
+
|
|
86
96
|
class SettingsService extends EndpointBaseService {
|
|
87
97
|
constructor(http, injector) {
|
|
88
98
|
super(http, injector);
|
|
@@ -100,19 +110,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
100
110
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
|
|
101
111
|
|
|
102
112
|
class LibCompetitionHeaderComponent extends UnSubscriber {
|
|
103
|
-
constructor(signService, store, alertService, settingsService) {
|
|
113
|
+
constructor(signService, store, alertService, settingsService, _accessService) {
|
|
104
114
|
super();
|
|
105
115
|
this.signService = signService;
|
|
106
116
|
this.store = store;
|
|
107
117
|
this.alertService = alertService;
|
|
108
118
|
this.settingsService = settingsService;
|
|
109
|
-
this.
|
|
119
|
+
this._accessService = _accessService;
|
|
120
|
+
this.validateVersionAction = undefined;
|
|
110
121
|
this.canCreateVersionOnActivityPeriod = true;
|
|
111
122
|
this.canValidateVersionOnActivityPeriod = true;
|
|
112
123
|
this.canActivateVersionOnActivityPeriod = true;
|
|
113
|
-
this.
|
|
114
|
-
this.validateManagementAccess = undefined;
|
|
115
|
-
this.validatePiblicationAccess = undefined;
|
|
124
|
+
this.isDirty = false;
|
|
116
125
|
this.selectedCompetitionVersionInfo = new EventEmitter();
|
|
117
126
|
this.versions = [];
|
|
118
127
|
this.selectedVersion = '';
|
|
@@ -124,6 +133,11 @@ class LibCompetitionHeaderComponent extends UnSubscriber {
|
|
|
124
133
|
this.cancelCompetitionButtonLabel = 'Отменить отбор';
|
|
125
134
|
this.showCompleteCompetitionButton = false;
|
|
126
135
|
this.restoreButtonName = 'Возобновить';
|
|
136
|
+
this._canAgreementVersionAccess = false;
|
|
137
|
+
this._canCreateVersionAccess = false;
|
|
138
|
+
this._canPublicVersionAccess = false;
|
|
139
|
+
this._canCompleteEntityAccess = false;
|
|
140
|
+
this._canCancelEntityAccess = false;
|
|
127
141
|
}
|
|
128
142
|
get competitionAggregateStatusEnumLabel() {
|
|
129
143
|
if (this.versions && this.versions.length == 1 && this.selected
|
|
@@ -150,121 +164,57 @@ class LibCompetitionHeaderComponent extends UnSubscriber {
|
|
|
150
164
|
};
|
|
151
165
|
}
|
|
152
166
|
get canCreateVersion() {
|
|
153
|
-
var _a
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
!this.competition.isResultProtocolApproved) ||
|
|
162
|
-
this.competition.status === CompetitionStatusEnum.Staying);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
return this.isLastVersion && ((_b = this.selected) === null || _b === void 0 ? void 0 : _b.status) === CompetitionVersionStatusEnum.Active &&
|
|
166
|
-
this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base
|
|
167
|
-
&& ((this.competition.status === CompetitionStatusEnum.Active &&
|
|
168
|
-
!this.competition.isResultProtocolApproved) ||
|
|
169
|
-
this.competition.status === CompetitionStatusEnum.Staying) &&
|
|
170
|
-
this.validateManagementAccess();
|
|
171
|
-
}
|
|
167
|
+
var _a;
|
|
168
|
+
return this._canCreateVersionAccess
|
|
169
|
+
&& this.canCreateVersionOnActivityPeriod
|
|
170
|
+
&& this.isLastVersion
|
|
171
|
+
&& ((_a = this.selected) === null || _a === void 0 ? void 0 : _a.status) === CompetitionVersionStatusEnum.Active
|
|
172
|
+
&& this.competition !== undefined && this.competition.mode > CompetitionModeEnum.Base
|
|
173
|
+
&& ((this.competition.status === CompetitionStatusEnum.Active && !this.competition.isResultProtocolApproved)
|
|
174
|
+
|| this.competition.status === CompetitionStatusEnum.Staying);
|
|
172
175
|
}
|
|
173
176
|
get canDeleteVersion() {
|
|
174
|
-
var _a
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
return ((_b = this.selected) === null || _b === void 0 ? void 0 : _b.status) === this.competitionVersionStatusEnum.Draft
|
|
182
|
-
&& this.versions
|
|
183
|
-
&& this.versions.length > 1
|
|
184
|
-
&& this.validateManagementAccess();
|
|
185
|
-
}
|
|
177
|
+
var _a;
|
|
178
|
+
return this._canCreateVersionAccess
|
|
179
|
+
&& ((_a = this.selected) === null || _a === void 0 ? void 0 : _a.status) === this.competitionVersionStatusEnum.Draft
|
|
180
|
+
&& this.versions
|
|
181
|
+
&& this.versions.length > 1;
|
|
186
182
|
}
|
|
187
183
|
get canActivateVersion() {
|
|
188
|
-
var _a, _b, _c, _d, _e
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
((_d = this.selected) === null || _d === void 0 ? void 0 : _d.status) === CompetitionVersionStatusEnum.Validation) &&
|
|
197
|
-
((_e = this.competition) === null || _e === void 0 ? void 0 : _e.mode) === CompetitionModeEnum.VersionedExtended);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
return (((_f = this.selected) === null || _f === void 0 ? void 0 : _f.status) === CompetitionVersionStatusEnum.Draft &&
|
|
201
|
-
((_g = this.competition) === null || _g === void 0 ? void 0 : _g.mode) !== CompetitionModeEnum.VersionedExtended) ||
|
|
202
|
-
((((_h = this.selected) === null || _h === void 0 ? void 0 : _h.status) === CompetitionVersionStatusEnum.Confirmed ||
|
|
203
|
-
((_j = this.selected) === null || _j === void 0 ? void 0 : _j.status) === CompetitionVersionStatusEnum.Validation) &&
|
|
204
|
-
((_k = this.competition) === null || _k === void 0 ? void 0 : _k.mode) === CompetitionModeEnum.VersionedExtended) &&
|
|
205
|
-
this.validatePiblicationAccess();
|
|
206
|
-
}
|
|
184
|
+
var _a, _b, _c, _d, _e;
|
|
185
|
+
return this.canActivateVersionOnActivityPeriod
|
|
186
|
+
&& this._canPublicVersionAccess
|
|
187
|
+
&& ((((_a = this.selected) === null || _a === void 0 ? void 0 : _a.status) === CompetitionVersionStatusEnum.Draft
|
|
188
|
+
&& ((_b = this.competition) === null || _b === void 0 ? void 0 : _b.mode) !== CompetitionModeEnum.VersionedExtended)
|
|
189
|
+
|| ((((_c = this.selected) === null || _c === void 0 ? void 0 : _c.status) === CompetitionVersionStatusEnum.Confirmed
|
|
190
|
+
|| ((_d = this.selected) === null || _d === void 0 ? void 0 : _d.status) === CompetitionVersionStatusEnum.Validation)
|
|
191
|
+
&& ((_e = this.competition) === null || _e === void 0 ? void 0 : _e.mode) === CompetitionModeEnum.VersionedExtended));
|
|
207
192
|
}
|
|
208
193
|
get activateVersionDisabled() {
|
|
209
|
-
var _a, _b, _c, _d
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
return (!this.canChangeStatus ||
|
|
219
|
-
((((_e = this.selected) === null || _e === void 0 ? void 0 : _e.status) !== CompetitionVersionStatusEnum.Draft &&
|
|
220
|
-
((_f = this.competition) === null || _f === void 0 ? void 0 : _f.mode) !== CompetitionModeEnum.VersionedExtended) ||
|
|
221
|
-
(((_g = this.selected) === null || _g === void 0 ? void 0 : _g.status) !== CompetitionVersionStatusEnum.Confirmed &&
|
|
222
|
-
((_h = this.competition) === null || _h === void 0 ? void 0 : _h.mode) === CompetitionModeEnum.VersionedExtended))) &&
|
|
223
|
-
this.validatePiblicationAccess();
|
|
224
|
-
}
|
|
194
|
+
var _a, _b, _c, _d;
|
|
195
|
+
return this.isDirty
|
|
196
|
+
|| !this._canPublicVersionAccess
|
|
197
|
+
|| ((((_a = this.selected) === null || _a === void 0 ? void 0 : _a.status) !== CompetitionVersionStatusEnum.Draft
|
|
198
|
+
&& ((_b = this.competition) === null || _b === void 0 ? void 0 : _b.mode) !== CompetitionModeEnum.VersionedExtended)
|
|
199
|
+
|| (((_c = this.selected) === null || _c === void 0 ? void 0 : _c.status) !== CompetitionVersionStatusEnum.Confirmed
|
|
200
|
+
&& ((_d = this.competition) === null || _d === void 0 ? void 0 : _d.mode) === CompetitionModeEnum.VersionedExtended));
|
|
225
201
|
}
|
|
226
202
|
get validateVersionDisabled() {
|
|
227
|
-
|
|
228
|
-
return !this.canChangeStatus;
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
return !this.canChangeStatus && !!this.validatePiblicationAccess();
|
|
232
|
-
}
|
|
203
|
+
return this.isDirty || !this._canAgreementVersionAccess;
|
|
233
204
|
}
|
|
234
205
|
get createVersionDisabled() {
|
|
235
|
-
|
|
236
|
-
return !this.canChangeStatus;
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
const validationRes = this.validateManagementAccess();
|
|
240
|
-
return !this.canChangeStatus && validationRes;
|
|
241
|
-
}
|
|
206
|
+
return this.isDirty || !this._canCreateVersionAccess;
|
|
242
207
|
}
|
|
243
208
|
get backToEditDisabled() {
|
|
244
|
-
|
|
245
|
-
return !this.canChangeStatus;
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
const validationRes = this.validateManagementAccess();
|
|
249
|
-
return !this.canChangeStatus && validationRes;
|
|
250
|
-
}
|
|
209
|
+
return this.isDirty;
|
|
251
210
|
}
|
|
252
211
|
get canValidateVersion() {
|
|
253
|
-
var _a, _b, _c
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
((_b = this.competition) === null || _b === void 0 ? void 0 : _b.mode) === CompetitionModeEnum.VersionedExtended &&
|
|
260
|
-
((_c = this.competition) === null || _c === void 0 ? void 0 : _c.status) !== CompetitionStatusEnum.Canceled;
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
return ((_d = this.selected) === null || _d === void 0 ? void 0 : _d.status) === CompetitionVersionStatusEnum.Draft &&
|
|
264
|
-
((_e = this.competition) === null || _e === void 0 ? void 0 : _e.mode) === CompetitionModeEnum.VersionedExtended &&
|
|
265
|
-
this.validatePiblicationAccess() &&
|
|
266
|
-
((_f = this.competition) === null || _f === void 0 ? void 0 : _f.status) !== CompetitionStatusEnum.Canceled;
|
|
267
|
-
}
|
|
212
|
+
var _a, _b, _c;
|
|
213
|
+
return this.canValidateVersionOnActivityPeriod
|
|
214
|
+
&& this._canAgreementVersionAccess
|
|
215
|
+
&& ((_a = this.selected) === null || _a === void 0 ? void 0 : _a.status) === CompetitionVersionStatusEnum.Draft
|
|
216
|
+
&& ((_b = this.competition) === null || _b === void 0 ? void 0 : _b.mode) === CompetitionModeEnum.VersionedExtended
|
|
217
|
+
&& ((_c = this.competition) === null || _c === void 0 ? void 0 : _c.status) !== CompetitionStatusEnum.Canceled;
|
|
268
218
|
}
|
|
269
219
|
get isLastVersion() {
|
|
270
220
|
var _a, _b;
|
|
@@ -297,42 +247,27 @@ class LibCompetitionHeaderComponent extends UnSubscriber {
|
|
|
297
247
|
};
|
|
298
248
|
}
|
|
299
249
|
get canReturnToEdit() {
|
|
300
|
-
var _a
|
|
301
|
-
|
|
302
|
-
return ((_a = this.selected) === null || _a === void 0 ? void 0 : _a.status) === CompetitionVersionStatusEnum.Rejected;
|
|
303
|
-
}
|
|
304
|
-
else {
|
|
305
|
-
return ((_b = this.selected) === null || _b === void 0 ? void 0 : _b.status) === CompetitionVersionStatusEnum.Rejected && this.validateManagementAccess();
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
get canManageCompetition() {
|
|
309
|
-
var _a, _b, _c;
|
|
310
|
-
if (this.validateManagementAccess === undefined) {
|
|
311
|
-
return false;
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
return this.validateManagementAccess() &&
|
|
315
|
-
((_a = this.competition) === null || _a === void 0 ? void 0 : _a.status) != this.competitionStatusEnum.New &&
|
|
316
|
-
((_b = this.competition) === null || _b === void 0 ? void 0 : _b.status) != this.competitionStatusEnum.Completed &&
|
|
317
|
-
((_c = this.competition) === null || _c === void 0 ? void 0 : _c.status) != this.competitionStatusEnum.NotPlace;
|
|
318
|
-
}
|
|
250
|
+
var _a;
|
|
251
|
+
return ((_a = this.selected) === null || _a === void 0 ? void 0 : _a.status) === CompetitionVersionStatusEnum.Rejected;
|
|
319
252
|
}
|
|
320
253
|
get showEbLink() {
|
|
321
|
-
return this.competition
|
|
322
|
-
this.versions.some(x => x.status
|
|
254
|
+
return this.competition !== undefined &&
|
|
255
|
+
this.versions.some(x => x.status !== CompetitionVersionStatusEnum.Draft);
|
|
323
256
|
}
|
|
324
257
|
get canCompleteCompetition() {
|
|
325
258
|
var _a;
|
|
326
|
-
return this.
|
|
327
|
-
this.competition
|
|
328
|
-
|
|
329
|
-
this.
|
|
259
|
+
return this._canCompleteEntityAccess
|
|
260
|
+
&& this.competition !== undefined
|
|
261
|
+
&& this.competition.status === CompetitionStatusEnum.Active
|
|
262
|
+
&& ((_a = this.selected) === null || _a === void 0 ? void 0 : _a.status) === CompetitionVersionStatusEnum.Active
|
|
263
|
+
&& this.competition.isResultProtocolApproved;
|
|
330
264
|
}
|
|
331
265
|
get canCancelCompetition() {
|
|
332
|
-
return this.
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
this.competition.status
|
|
266
|
+
return this._canCancelEntityAccess
|
|
267
|
+
&& this.competition !== undefined
|
|
268
|
+
&& (this.competition.status === CompetitionStatusEnum.Active
|
|
269
|
+
|| this.competition.status === CompetitionStatusEnum.Staying
|
|
270
|
+
|| this.competition.status === CompetitionStatusEnum.Canceled)
|
|
336
271
|
&& this.showCancelCompetitionButton;
|
|
337
272
|
}
|
|
338
273
|
ngOnInit() {
|
|
@@ -395,6 +330,20 @@ class LibCompetitionHeaderComponent extends UnSubscriber {
|
|
|
395
330
|
}, 10000);
|
|
396
331
|
}
|
|
397
332
|
}));
|
|
333
|
+
this.appendSubscription(this.store.pipe(select(selectUserInfo)).subscribe(result => {
|
|
334
|
+
if (result) {
|
|
335
|
+
this._accessService.checkPermission(this.getAccessControl(CAN_AGREEMENT_COMPETITION))
|
|
336
|
+
.subscribe(result => this._canAgreementVersionAccess = true);
|
|
337
|
+
this._accessService.checkPermission(this.getAccessControl(CAN_CREATE_COMPETITION_VERSION))
|
|
338
|
+
.subscribe(result => this._canCreateVersionAccess = true);
|
|
339
|
+
this._accessService.checkPermission(this.getAccessControl(CAN_PUBLIC_COMPETITION))
|
|
340
|
+
.subscribe(result => this._canPublicVersionAccess = true);
|
|
341
|
+
this._accessService.checkPermission(this.getAccessControl(CAN_COMPLETE_COMPETITION))
|
|
342
|
+
.subscribe(result => this._canCompleteEntityAccess = true);
|
|
343
|
+
this._accessService.checkPermission(this.getAccessControl(CAN_CANCEL_COMPETITION))
|
|
344
|
+
.subscribe(result => this._canCancelEntityAccess = true);
|
|
345
|
+
}
|
|
346
|
+
}));
|
|
398
347
|
this.settingsService.getSelelectionEditEbLinks().subscribe(res => {
|
|
399
348
|
this._ebLinksModel = res;
|
|
400
349
|
});
|
|
@@ -438,7 +387,6 @@ class LibCompetitionHeaderComponent extends UnSubscriber {
|
|
|
438
387
|
okLabel: 'Подтвердить',
|
|
439
388
|
cancelLabel: 'Отменить',
|
|
440
389
|
okCallback: () => {
|
|
441
|
-
this.alertService.showMessage('', 'Ожидайте. Выполняется отправка на согласование.', MessageSeverity.wait);
|
|
442
390
|
this.store.dispatch(competitionVersionChangeStatus({
|
|
443
391
|
versionId: selectedItem.id,
|
|
444
392
|
status: CompetitionVersionStatusEnum.Active
|
|
@@ -460,6 +408,7 @@ class LibCompetitionHeaderComponent extends UnSubscriber {
|
|
|
460
408
|
xmlUrl: `/m-data/minfin/xml-competition/${selectedItem.id}`,
|
|
461
409
|
provider: 'empty'
|
|
462
410
|
}, () => {
|
|
411
|
+
this.alertService.showMessage('', 'Ожидайте. Выполняется отправка на согласование.', MessageSeverity.wait);
|
|
463
412
|
this.store.dispatch(competitionVersionChangeStatus({
|
|
464
413
|
versionId: selectedItem.id,
|
|
465
414
|
status: CompetitionVersionStatusEnum.Validation
|
|
@@ -586,23 +535,31 @@ class LibCompetitionHeaderComponent extends UnSubscriber {
|
|
|
586
535
|
<div class="mr-2">
|
|
587
536
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
588
537
|
<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"/>
|
|
589
|
-
</svg>
|
|
538
|
+
</svg>
|
|
590
539
|
</div>
|
|
591
540
|
<div class="m-0 text-left">
|
|
592
541
|
${customText}
|
|
593
542
|
</div>
|
|
594
543
|
</div>`;
|
|
595
544
|
}
|
|
545
|
+
getAccessControl(permission) {
|
|
546
|
+
var _a;
|
|
547
|
+
return {
|
|
548
|
+
permission,
|
|
549
|
+
objectType: COMPETITION_ENTITY_NAME,
|
|
550
|
+
objectId: (_a = this.competition) === null || _a === void 0 ? void 0 : _a.id
|
|
551
|
+
};
|
|
552
|
+
}
|
|
596
553
|
}
|
|
597
|
-
LibCompetitionHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LibCompetitionHeaderComponent, deps: [{ token: i1$1.SignService }, { token: i2.Store }, { token: i3.AlertService }, { token: SettingsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
598
|
-
LibCompetitionHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LibCompetitionHeaderComponent, selector: "lib-competition-header", inputs: { canChangeStatus: "canChangeStatus", canCreateVersionOnActivityPeriod: "canCreateVersionOnActivityPeriod", canValidateVersionOnActivityPeriod: "canValidateVersionOnActivityPeriod", canActivateVersionOnActivityPeriod: "canActivateVersionOnActivityPeriod", validateVersionAction: "validateVersionAction", validateManagementAccess: "validateManagementAccess", validatePiblicationAccess: "validatePiblicationAccess" }, outputs: { selectedCompetitionVersionInfo: "selectedCompetitionVersionInfo" }, queries: [{ propertyName: "customButtonsTemplate", first: true, predicate: CompetitionHeaderCustomButtonsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- \u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438, \u043B\u0438\u0431\u043E \"\u0421\u0443\u0431\u0441\u0438\u0434\u0438\u044F\" \u043B\u0438\u0431\u043E \"\u041E\u0442\u0431\u043E\u0440\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <!-- \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u0434\u043B\u0438\u043D\u0443 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0432 44 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 -->\r\n <!-- \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432 \u0442\u0443\u043B\u0442\u0438\u043F \u043F\u043E\u043B\u043D\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <span class=\"info-banner-item__text text-normal\" [mrxCdkTooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : '\u041D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D' }}\r\n </span>\r\n </div>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n \u0421\u0442\u0430\u0442\u0443\u0441\r\n </span>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <!-- \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u044B: \u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439 - \"color-orange\", \u0437\u0435\u043B\u0435\u043D\u044B\u0439 - \"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 <!-- \u0441\u0435\u043B\u0435\u043A\u0442 \u0441 \u0432\u044B\u0431\u043E\u0440\u043E\u043C \u0432\u0435\u0440\u0441\u0438\u0438 -->\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=\"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\">\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 \u0412\u0435\u0440\u0441\u0438\u044F {{ item.num }} \u043E\u0442 {{ item.createdDate }}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n \u0412\u0435\u0440\u0441\u0438\u044F {{ item.num }} \u043E\u0442 {{ item.createdDate }}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- \u0441\u0442\u0430\u0442\u0430\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C, \u0435\u0441\u043B\u0438 \u043D\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u0439 -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n \u0421\u0442\u0430\u0442\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438\r\n </span>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <!-- \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u044B: \u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439 - \"color-orange\", \u0437\u0435\u043B\u0435\u043D\u044B\u0439 - \"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 <!-- \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435, \u0432\u044B\u0437\u043E\u0432 \u043C\u043E\u0434\u0430\u043B\u043A\u0438, \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435 \u043E\u0431 \u0432\u043D\u0435\u0441\u0435\u043D\u0438\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 -->\r\n <div class=\"info-banner-item\">\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C, \u0435\u0441\u043B\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F -->\r\n <!-- \"\u043A\u043E\u043D\u0432\u0435\u0440\u0442\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n [mrxCdkTooltip]=\"'\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u0440\u0438\u0447\u0438\u043D\u0443 \u043E\u0442\u043A\u043B\u043E\u043D\u0435\u043D\u0438\u044F'\"\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 <!-- \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0435\u0440\u0441\u0438\u044E'\">\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 <!-- \u0432\u043E\u0441\u043A\u043B\u0438\u0446\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0437\u043D\u0430\u043A -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'\u0412\u043D\u0435\u0441\u0435\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438'\">\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 \u0421\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\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 \u041E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\r\n \u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n \u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\r\n </button>\r\n <!-- \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u043E\u043C/\u043E\u0442\u0431\u043E\u0440\u043E\u043C -->\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0435\u0441\u043B\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F -->\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>\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043F\u043E\u0434\u0441\u0438\u0441\u0442\u0435\u043C\u0443 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0433\u043E \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0413\u0418\u0418\u0421 \u00AB\u042D\u0411\u00BB</span>\r\n </button>\r\n\r\n <!--\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u0441\u043A\u0440\u044B\u0442\u043E \u0432 \u0440\u0430\u043C\u043A\u0430\u0445 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>\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C</span>\r\n </button>-->\r\n\r\n <button mrxHideAfterClick (click)=\"restore()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying && canManageCompetition\">\r\n <span class=\"mrx-icon icon-play-filled icon-font-24 mr-2\"></span>\r\n <span>{{ restoreButtonName }}</span>\r\n </button>\r\n\r\n <button mrxHideAfterClick\r\n *ngIf=\"canCancelCompetition && canManageCompetition\"\r\n (click)=\"cancel()\">\r\n <span class=\"mrx-icon icon-close icon-font-24 mr-2\"></span>\r\n <span>{{ cancelCompetitionButtonLabel }}</span>\r\n </button>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i6.DropdownComponent, selector: "mrx-dropdown", inputs: ["mainPlacement", "fallbackPlacements", "closeOnClick", "customClasses"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CompetitionLabelDirective, selector: "[myCompetitionLabel]" }, { type: i6.CdkTooltipDirective, selector: "[mrxCdkTooltip]", inputs: ["mrxCdkTooltip", "tooltipActive", "autoCloseByScroll", "tooltipPosition", "tooltipMaxWidth"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { type: i5.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i5.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.HideAfterClickDirective, selector: "[mrxHideAfterClick]" }] });
|
|
554
|
+
LibCompetitionHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LibCompetitionHeaderComponent, deps: [{ token: i1$1.SignService }, { token: i2.Store }, { token: i3.AlertService }, { token: SettingsService }, { token: i5.AccessService }], target: i0.ɵɵFactoryTarget.Component });
|
|
555
|
+
LibCompetitionHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LibCompetitionHeaderComponent, selector: "lib-competition-header", inputs: { validateVersionAction: "validateVersionAction", canCreateVersionOnActivityPeriod: "canCreateVersionOnActivityPeriod", canValidateVersionOnActivityPeriod: "canValidateVersionOnActivityPeriod", canActivateVersionOnActivityPeriod: "canActivateVersionOnActivityPeriod", isDirty: "isDirty" }, outputs: { selectedCompetitionVersionInfo: "selectedCompetitionVersionInfo" }, queries: [{ propertyName: "customButtonsTemplate", first: true, predicate: CompetitionHeaderCustomButtonsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- \u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438, \u043B\u0438\u0431\u043E \"\u0421\u0443\u0431\u0441\u0438\u0434\u0438\u044F\" \u043B\u0438\u0431\u043E \"\u041E\u0442\u0431\u043E\u0440\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <!-- \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u0434\u043B\u0438\u043D\u0443 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0432 44 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 -->\r\n <!-- \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432 \u0442\u0443\u043B\u0442\u0438\u043F \u043F\u043E\u043B\u043D\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <span class=\"info-banner-item__text text-normal\" [mrxCdkTooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : '\u041D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D' }}\r\n </span>\r\n </div>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n \u0421\u0442\u0430\u0442\u0443\u0441\r\n </span>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <!-- \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u044B: \u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439 - \"color-orange\", \u0437\u0435\u043B\u0435\u043D\u044B\u0439 - \"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 <!-- \u0441\u0435\u043B\u0435\u043A\u0442 \u0441 \u0432\u044B\u0431\u043E\u0440\u043E\u043C \u0432\u0435\u0440\u0441\u0438\u0438 -->\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=\"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\">\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 \u0412\u0435\u0440\u0441\u0438\u044F {{ item.num }} \u043E\u0442 {{ item.createdDate }}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n \u0412\u0435\u0440\u0441\u0438\u044F {{ item.num }} \u043E\u0442 {{ item.createdDate }}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- \u0441\u0442\u0430\u0442\u0430\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C, \u0435\u0441\u043B\u0438 \u043D\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u0439 -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n \u0421\u0442\u0430\u0442\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438\r\n </span>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <!-- \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u044B: \u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439 - \"color-orange\", \u0437\u0435\u043B\u0435\u043D\u044B\u0439 - \"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 <!-- \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435, \u0432\u044B\u0437\u043E\u0432 \u043C\u043E\u0434\u0430\u043B\u043A\u0438, \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435 \u043E\u0431 \u0432\u043D\u0435\u0441\u0435\u043D\u0438\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 -->\r\n <div class=\"info-banner-item\">\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C, \u0435\u0441\u043B\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F -->\r\n <!-- \"\u043A\u043E\u043D\u0432\u0435\u0440\u0442\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n [mrxCdkTooltip]=\"'\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u0440\u0438\u0447\u0438\u043D\u0443 \u043E\u0442\u043A\u043B\u043E\u043D\u0435\u043D\u0438\u044F'\"\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 <!-- \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0435\u0440\u0441\u0438\u044E'\">\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 <!-- \u0432\u043E\u0441\u043A\u043B\u0438\u0446\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0437\u043D\u0430\u043A -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'\u0412\u043D\u0435\u0441\u0435\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438'\">\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 \u0421\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\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 \u041E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\r\n \u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n \u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\r\n </button>\r\n <!-- \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u043E\u043C/\u043E\u0442\u0431\u043E\u0440\u043E\u043C -->\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0435\u0441\u043B\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F -->\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>\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043F\u043E\u0434\u0441\u0438\u0441\u0442\u0435\u043C\u0443 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0433\u043E \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0413\u0418\u0418\u0421 \u00AB\u042D\u0411\u00BB</span>\r\n </button>\r\n\r\n <!--\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u0441\u043A\u0440\u044B\u0442\u043E \u0432 \u0440\u0430\u043C\u043A\u0430\u0445 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>\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C</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", components: [{ type: i6.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i7.DropdownComponent, selector: "mrx-dropdown", inputs: ["mainPlacement", "fallbackPlacements", "closeOnClick", "customClasses"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CompetitionLabelDirective, selector: "[myCompetitionLabel]" }, { type: i7.CdkTooltipDirective, selector: "[mrxCdkTooltip]", inputs: ["mrxCdkTooltip", "tooltipActive", "autoCloseByScroll", "tooltipPosition", "tooltipMaxWidth"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { type: i6.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i6.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.HideAfterClickDirective, selector: "[mrxHideAfterClick]" }] });
|
|
599
556
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LibCompetitionHeaderComponent, decorators: [{
|
|
600
557
|
type: Component,
|
|
601
|
-
args: [{ selector: 'lib-competition-header', template: "<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- \u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438, \u043B\u0438\u0431\u043E \"\u0421\u0443\u0431\u0441\u0438\u0434\u0438\u044F\" \u043B\u0438\u0431\u043E \"\u041E\u0442\u0431\u043E\u0440\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <!-- \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u0434\u043B\u0438\u043D\u0443 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0432 44 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 -->\r\n <!-- \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432 \u0442\u0443\u043B\u0442\u0438\u043F \u043F\u043E\u043B\u043D\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <span class=\"info-banner-item__text text-normal\" [mrxCdkTooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : '\u041D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D' }}\r\n </span>\r\n </div>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n \u0421\u0442\u0430\u0442\u0443\u0441\r\n </span>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <!-- \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u044B: \u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439 - \"color-orange\", \u0437\u0435\u043B\u0435\u043D\u044B\u0439 - \"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 <!-- \u0441\u0435\u043B\u0435\u043A\u0442 \u0441 \u0432\u044B\u0431\u043E\u0440\u043E\u043C \u0432\u0435\u0440\u0441\u0438\u0438 -->\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=\"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\">\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 \u0412\u0435\u0440\u0441\u0438\u044F {{ item.num }} \u043E\u0442 {{ item.createdDate }}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n \u0412\u0435\u0440\u0441\u0438\u044F {{ item.num }} \u043E\u0442 {{ item.createdDate }}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- \u0441\u0442\u0430\u0442\u0430\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C, \u0435\u0441\u043B\u0438 \u043D\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u0439 -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n \u0421\u0442\u0430\u0442\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438\r\n </span>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <!-- \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u044B: \u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439 - \"color-orange\", \u0437\u0435\u043B\u0435\u043D\u044B\u0439 - \"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 <!-- \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435, \u0432\u044B\u0437\u043E\u0432 \u043C\u043E\u0434\u0430\u043B\u043A\u0438, \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435 \u043E\u0431 \u0432\u043D\u0435\u0441\u0435\u043D\u0438\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 -->\r\n <div class=\"info-banner-item\">\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C, \u0435\u0441\u043B\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F -->\r\n <!-- \"\u043A\u043E\u043D\u0432\u0435\u0440\u0442\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n [mrxCdkTooltip]=\"'\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u0440\u0438\u0447\u0438\u043D\u0443 \u043E\u0442\u043A\u043B\u043E\u043D\u0435\u043D\u0438\u044F'\"\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 <!-- \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0435\u0440\u0441\u0438\u044E'\">\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 <!-- \u0432\u043E\u0441\u043A\u043B\u0438\u0446\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0437\u043D\u0430\u043A -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'\u0412\u043D\u0435\u0441\u0435\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438'\">\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 \u0421\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\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 \u041E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\r\n \u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n \u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\r\n </button>\r\n <!-- \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u043E\u043C/\u043E\u0442\u0431\u043E\u0440\u043E\u043C -->\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0435\u0441\u043B\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F -->\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>\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043F\u043E\u0434\u0441\u0438\u0441\u0442\u0435\u043C\u0443 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0433\u043E \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0413\u0418\u0418\u0421 \u00AB\u042D\u0411\u00BB</span>\r\n </button>\r\n\r\n <!--\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u0441\u043A\u0440\u044B\u0442\u043E \u0432 \u0440\u0430\u043C\u043A\u0430\u0445 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>\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C</span>\r\n </button>-->\r\n\r\n <button mrxHideAfterClick (click)=\"restore()\"\r\n *ngIf=\"competition.status == competitionStatusEnum.Staying && canManageCompetition\">\r\n <span class=\"mrx-icon icon-play-filled icon-font-24 mr-2\"></span>\r\n <span>{{ restoreButtonName }}</span>\r\n </button>\r\n\r\n <button mrxHideAfterClick\r\n *ngIf=\"canCancelCompetition && canManageCompetition\"\r\n (click)=\"cancel()\">\r\n <span class=\"mrx-icon icon-close icon-font-24 mr-2\"></span>\r\n <span>{{ cancelCompetitionButtonLabel }}</span>\r\n </button>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
602
|
-
}], ctorParameters: function () { return [{ type: i1$1.SignService }, { type: i2.Store }, { type: i3.AlertService }, { type: SettingsService }]; }, propDecorators: { customButtonsTemplate: [{
|
|
558
|
+
args: [{ selector: 'lib-competition-header', template: "<div class=\"info-banner\" *ngIf=\"selected\">\r\n <div class=\"info-banner-body\">\r\n <div class=\"info-banner-block\">\r\n <!-- \u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <div class=\"info-banner-item wpx-160 mr-3\">\r\n <!-- \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438, \u043B\u0438\u0431\u043E \"\u0421\u0443\u0431\u0441\u0438\u0434\u0438\u044F\" \u043B\u0438\u0431\u043E \"\u041E\u0442\u0431\u043E\u0440\" -->\r\n <span class=\"info-banner-item__title\" myCompetitionLabel>\r\n\r\n </span>\r\n <!-- \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <!-- \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u0434\u043B\u0438\u043D\u0443 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0432 44 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 -->\r\n <!-- \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432 \u0442\u0443\u043B\u0442\u0438\u043F \u043F\u043E\u043B\u043D\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <span class=\"info-banner-item__text text-normal\" [mrxCdkTooltip]=\"selected.name\" [tooltipMaxWidth]=\"320\">\r\n {{ selected.shortName ? selected.shortName : '\u041D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D' }}\r\n </span>\r\n </div>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <div class=\"info-banner-item wpx-110\">\r\n <span class=\"info-banner-item__title\">\r\n \u0421\u0442\u0430\u0442\u0443\u0441\r\n </span>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438/\u043E\u0442\u0431\u043E\u0440\u0430 -->\r\n <!-- \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u044B: \u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439 - \"color-orange\", \u0437\u0435\u043B\u0435\u043D\u044B\u0439 - \"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 <!-- \u0441\u0435\u043B\u0435\u043A\u0442 \u0441 \u0432\u044B\u0431\u043E\u0440\u043E\u043C \u0432\u0435\u0440\u0441\u0438\u0438 -->\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=\"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\">\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 \u0412\u0435\u0440\u0441\u0438\u044F {{ item.num }} \u043E\u0442 {{ item.createdDate }}\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n \u0412\u0435\u0440\u0441\u0438\u044F {{ item.num }} \u043E\u0442 {{ item.createdDate }}\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n <!-- \u0441\u0442\u0430\u0442\u0430\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C, \u0435\u0441\u043B\u0438 \u043D\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u0439 -->\r\n <div class=\"info-banner-item wpx-110\" *ngIf=\"versions && versions.length > 1\">\r\n <span class=\"info-banner-item__title\">\r\n \u0421\u0442\u0430\u0442\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438\r\n </span>\r\n <!-- \u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <!-- \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u044B: \u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439 - \"color-orange\", \u0437\u0435\u043B\u0435\u043D\u044B\u0439 - \"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 <!-- \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435, \u0432\u044B\u0437\u043E\u0432 \u043C\u043E\u0434\u0430\u043B\u043A\u0438, \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435 \u043E\u0431 \u0432\u043D\u0435\u0441\u0435\u043D\u0438\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 -->\r\n <div class=\"info-banner-item\">\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C, \u0435\u0441\u043B\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F -->\r\n <!-- \"\u043A\u043E\u043D\u0432\u0435\u0440\u0442\" -->\r\n <div class=\"info-banner-item__icon\" *ngIf=\"showRejectionReason\"\r\n [mrxCdkTooltip]=\"'\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u0440\u0438\u0447\u0438\u043D\u0443 \u043E\u0442\u043A\u043B\u043E\u043D\u0435\u043D\u0438\u044F'\"\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 <!-- \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 -->\r\n <div *ngIf=\"canDeleteVersion\" (click)=\"removeVersion()\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0435\u0440\u0441\u0438\u044E'\">\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 <!-- \u0432\u043E\u0441\u043A\u043B\u0438\u0446\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0437\u043D\u0430\u043A -->\r\n <div *ngIf=\"!isLastVersion\" class=\"info-banner-item__icon\" [mrxCdkTooltip]=\"'\u0412\u043D\u0435\u0441\u0435\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438'\">\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 \u0421\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\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 \u041E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"validateVersion()\"\r\n *ngIf=\"canValidateVersion\"\r\n [disabled]=\"validateVersionDisabled\">\r\n \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435\r\n </button>\r\n <button class=\"btn btn-md\"\r\n (click)=\"complete()\"\r\n *ngIf=\"canCompleteCompetition\">\r\n \u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C\r\n </button>\r\n <button *ngIf=\"canReturnToEdit\" class=\"btn btn-md\"\r\n (click)=\"backToEdit()\"\r\n [disabled]=\"backToEditDisabled\">\r\n \u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\r\n </button>\r\n <!-- \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u043E\u043C/\u043E\u0442\u0431\u043E\u0440\u043E\u043C -->\r\n <!-- \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0435\u0441\u043B\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F -->\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>\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043F\u043E\u0434\u0441\u0438\u0441\u0442\u0435\u043C\u0443 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0433\u043E \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0413\u0418\u0418\u0421 \u00AB\u042D\u0411\u00BB</span>\r\n </button>\r\n\r\n <!--\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u0441\u043A\u0440\u044B\u0442\u043E \u0432 \u0440\u0430\u043C\u043A\u0430\u0445 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>\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C</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" }]
|
|
559
|
+
}], ctorParameters: function () { return [{ type: i1$1.SignService }, { type: i2.Store }, { type: i3.AlertService }, { type: SettingsService }, { type: i5.AccessService }]; }, propDecorators: { customButtonsTemplate: [{
|
|
603
560
|
type: ContentChild,
|
|
604
561
|
args: [CompetitionHeaderCustomButtonsDirective]
|
|
605
|
-
}],
|
|
562
|
+
}], validateVersionAction: [{
|
|
606
563
|
type: Input
|
|
607
564
|
}], canCreateVersionOnActivityPeriod: [{
|
|
608
565
|
type: Input
|
|
@@ -610,11 +567,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
610
567
|
type: Input
|
|
611
568
|
}], canActivateVersionOnActivityPeriod: [{
|
|
612
569
|
type: Input
|
|
613
|
-
}],
|
|
614
|
-
type: Input
|
|
615
|
-
}], validateManagementAccess: [{
|
|
616
|
-
type: Input
|
|
617
|
-
}], validatePiblicationAccess: [{
|
|
570
|
+
}], isDirty: [{
|
|
618
571
|
type: Input
|
|
619
572
|
}], selectedCompetitionVersionInfo: [{
|
|
620
573
|
type: Output
|
|
@@ -657,8 +610,10 @@ class CompetitionHeaderService extends EndpointBaseService {
|
|
|
657
610
|
super(http, injector);
|
|
658
611
|
this.url = '/application' + this.restPath + '/competition';
|
|
659
612
|
}
|
|
660
|
-
getHeader(competitionId) {
|
|
661
|
-
return
|
|
613
|
+
getHeader(competitionId, versionId) {
|
|
614
|
+
return !versionId
|
|
615
|
+
? this.http.get(`${this.url}/${competitionId}/header`)
|
|
616
|
+
: this.http.get(`${this.url}/${competitionId}/header`, { params: new HttpParams().set('versionId', !versionId) });
|
|
662
617
|
}
|
|
663
618
|
createVersion(competitionId) {
|
|
664
619
|
return this.http.post(`${this.url}/${competitionId}/version`, {});
|
|
@@ -694,8 +649,8 @@ class CompetitionHeaderEffects {
|
|
|
694
649
|
this.actions$ = actions$;
|
|
695
650
|
this.store = store;
|
|
696
651
|
this.alertService = alertService;
|
|
697
|
-
this.loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.LoadCompetitionHeader), withLatestFrom(this.store.pipe(select(selectCompetitionId))), switchMap(([, competitionId]) => {
|
|
698
|
-
return this.competitionHeaderService.getHeader(competitionId).pipe(map((result) => loadCompetitionHeaderSuccess({ competitionHeader: result })), catchError((err) => {
|
|
652
|
+
this.loadCompetitionHeader$ = createEffect(() => this.actions$.pipe(ofType(ECompetitionHeaderActions.LoadCompetitionHeader), withLatestFrom(this.store.pipe(select(selectCompetitionId)), this.store.pipe(select(selectVersionId))), switchMap(([, competitionId, versionId]) => {
|
|
653
|
+
return this.competitionHeaderService.getHeader(competitionId, versionId).pipe(map((result) => loadCompetitionHeaderSuccess({ competitionHeader: result })), catchError((err) => {
|
|
699
654
|
this.alertService.showMessage(err, null, MessageSeverity.error);
|
|
700
655
|
return EMPTY;
|
|
701
656
|
}));
|
|
@@ -785,7 +740,8 @@ CompetitionHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
|
|
|
785
740
|
MyrtexSignerModule,
|
|
786
741
|
NgSelectModule,
|
|
787
742
|
DropdownModule,
|
|
788
|
-
CdkTooltipModule
|
|
743
|
+
CdkTooltipModule,
|
|
744
|
+
MyrtexAuthModule], exports: [LibCompetitionHeaderComponent,
|
|
789
745
|
CompetitionHeaderCustomButtonsDirective] });
|
|
790
746
|
CompetitionHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderModule, providers: [
|
|
791
747
|
CompetitionHeaderService,
|
|
@@ -801,7 +757,8 @@ CompetitionHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
801
757
|
MyrtexSignerModule,
|
|
802
758
|
NgSelectModule,
|
|
803
759
|
DropdownModule,
|
|
804
|
-
CdkTooltipModule
|
|
760
|
+
CdkTooltipModule,
|
|
761
|
+
MyrtexAuthModule
|
|
805
762
|
]] });
|
|
806
763
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderModule, decorators: [{
|
|
807
764
|
type: NgModule,
|
|
@@ -821,7 +778,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
821
778
|
MyrtexSignerModule,
|
|
822
779
|
NgSelectModule,
|
|
823
780
|
DropdownModule,
|
|
824
|
-
CdkTooltipModule
|
|
781
|
+
CdkTooltipModule,
|
|
782
|
+
MyrtexAuthModule
|
|
825
783
|
],
|
|
826
784
|
providers: [
|
|
827
785
|
CompetitionHeaderService,
|