@snabcentr/client-ui 0.14.3 → 0.15.2
Sign up to get free protection for your applications and to get access to all the features.
- package/accordion/sc-accordion.component.d.ts +9 -0
- package/auth/index.d.ts +0 -1
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +3 -0
- package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +44 -0
- package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +3 -3
- package/contacts/index.d.ts +2 -2
- package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +23 -0
- package/contacts/sc-contacts.module.d.ts +3 -3
- package/{contacts → contragents}/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +1 -1
- package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +147 -0
- package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +24 -6
- package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +19 -8
- package/contragents/index.d.ts +4 -0
- package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +100 -0
- package/contragents/sc-contragents.module.d.ts +15 -6
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +53 -0
- package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +23 -5
- package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +17 -2
- package/delivery-address/index.d.ts +1 -0
- package/delivery-address/sc-delivery-address.module.d.ts +10 -6
- package/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.d.ts +24 -0
- package/directives/carousel-item-hidden/sc-carousel-item-hidden.module.d.ts +11 -0
- package/directives/index.d.ts +2 -0
- package/esm2020/accordion/sc-accordion.component.mjs +14 -4
- package/esm2020/auth/index.mjs +1 -2
- package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +6 -1
- package/esm2020/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +71 -0
- package/esm2020/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +6 -6
- package/esm2020/contacts/index.mjs +3 -3
- package/esm2020/contacts/new-contact-form/sc-new-contact-form.component.mjs +28 -0
- package/esm2020/contacts/sc-contacts.module.mjs +7 -7
- package/esm2020/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +71 -0
- package/esm2020/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +249 -0
- package/esm2020/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +32 -11
- package/esm2020/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +24 -12
- package/esm2020/contragents/index.mjs +5 -1
- package/esm2020/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +61 -0
- package/esm2020/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +183 -0
- package/esm2020/contragents/sc-contragents.module.mjs +84 -7
- package/esm2020/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +79 -0
- package/esm2020/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +28 -8
- package/esm2020/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +21 -3
- package/esm2020/delivery-address/index.mjs +2 -1
- package/esm2020/delivery-address/sc-delivery-address.module.mjs +58 -7
- package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.mjs +40 -0
- package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.module.mjs +21 -0
- package/esm2020/directives/index.mjs +3 -0
- package/esm2020/masks/index.mjs +5 -1
- package/esm2020/masks/sc-inn-mask.mjs +13 -0
- package/esm2020/masks/sc-kpp-mask.mjs +7 -0
- package/esm2020/masks/sc-okpo-mask.mjs +13 -0
- package/esm2020/masks/sc-phone-verification-code-mask.mjs +7 -0
- package/esm2020/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +67 -8
- package/esm2020/profile/sc-profile.module.mjs +8 -4
- package/esm2020/public-api.mjs +2 -1
- package/esm2020/user/reset-user-password/sc-reset-user-password.component.mjs +24 -18
- package/esm2020/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +3 -3
- package/fesm2015/snabcentr-client-ui.mjs +1176 -264
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +1155 -262
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/masks/index.d.ts +4 -0
- package/masks/sc-inn-mask.d.ts +9 -0
- package/masks/sc-kpp-mask.d.ts +5 -0
- package/masks/sc-okpo-mask.d.ts +9 -0
- package/{auth/constants/phone-approve-code-mask.d.ts → masks/sc-phone-verification-code-mask.d.ts} +1 -1
- package/package.json +2 -2
- package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +50 -4
- package/profile/sc-profile.module.d.ts +2 -1
- package/public-api.d.ts +1 -0
- package/styles/tailwind/tailwind.scss +30 -6
- package/user/reset-user-password/sc-reset-user-password.component.d.ts +11 -3
- package/esm2020/auth/constants/phone-approve-code-mask.mjs +0 -7
- package/esm2020/contacts/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -72
- package/esm2020/contacts/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -61
- /package/{contacts → contragents}/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +0 -0
package/masks/index.d.ts
CHANGED
@@ -1,3 +1,7 @@
|
|
1
1
|
export * from './sc-account-number-mask';
|
2
2
|
export * from './sc-bic-mask';
|
3
3
|
export * from './sc-correspondent-account-mask';
|
4
|
+
export * from './sc-inn-mask';
|
5
|
+
export * from './sc-kpp-mask';
|
6
|
+
export * from './sc-okpo-mask';
|
7
|
+
export * from './sc-phone-verification-code-mask';
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { MaskitoOptions } from '@maskito/core';
|
2
|
+
/**
|
3
|
+
* Маска поля ввода ИНН индивидуального предпринимателя.
|
4
|
+
*/
|
5
|
+
export declare const scEntrepreneurInnMask: MaskitoOptions;
|
6
|
+
/**
|
7
|
+
* Маска поля ввода ИНН юридического лица.
|
8
|
+
*/
|
9
|
+
export declare const scLegalInnMask: MaskitoOptions;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { MaskitoOptions } from '@maskito/core';
|
2
|
+
/**
|
3
|
+
* Маска поля ввода ОКПО индивидуального предпринимателя.
|
4
|
+
*/
|
5
|
+
export declare const scEntrepreneurOkpoMask: MaskitoOptions;
|
6
|
+
/**
|
7
|
+
* Маска поля ввода ОКПО юридического лица.
|
8
|
+
*/
|
9
|
+
export declare const scLegalOkpoMask: MaskitoOptions;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@snabcentr/client-ui",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.15.2",
|
4
4
|
"author": "Snabcentr Ltd.",
|
5
5
|
"repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
|
6
6
|
"license": "Commercial",
|
@@ -14,7 +14,7 @@
|
|
14
14
|
"@angular/platform-browser": ">=14.2.12",
|
15
15
|
"@angular/platform-browser-dynamic": ">=14.2.12",
|
16
16
|
"@angular/material": ">=14.2.7",
|
17
|
-
"@snabcentr/client-core": ">=0.
|
17
|
+
"@snabcentr/client-core": ">=0.12.0",
|
18
18
|
"@maskito/angular": ">=1.7.0",
|
19
19
|
"@maskito/core": ">=1.7.0",
|
20
20
|
"@taiga-ui/addon-charts": ">=3.42.1",
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
2
|
-
import { ScICity, ScLocationsService, ScUser, ScUserService, ScVerificationService } from '@snabcentr/client-core';
|
2
|
+
import { ScContragent, ScIBankAccount, ScICity, ScIContact, ScIDeliveryAddress, ScLocationsService, ScUser, ScUserService, ScVerificationService } from '@snabcentr/client-core';
|
3
3
|
import { Observable, Subject } from 'rxjs';
|
4
4
|
import { FormControl } from '@angular/forms';
|
5
5
|
import * as i0 from "@angular/core";
|
@@ -40,7 +40,11 @@ export declare class ScProfileAccordionsContentComponent {
|
|
40
40
|
*/
|
41
41
|
readonly isSendApproveEmail$: Observable<boolean>;
|
42
42
|
/**
|
43
|
-
*
|
43
|
+
* {@link Observable} изменения списка контактных лиц пользователя.
|
44
|
+
*/
|
45
|
+
readonly userContacts$: Observable<ScIContact[] | null>;
|
46
|
+
/**
|
47
|
+
* Событие нажатия на кнопку редактирование профиля пользователя.
|
44
48
|
*/
|
45
49
|
editProfileClick: EventEmitter<void>;
|
46
50
|
/**
|
@@ -51,14 +55,56 @@ export declare class ScProfileAccordionsContentComponent {
|
|
51
55
|
* Событие нажатия на кнопку добавления контрагента.
|
52
56
|
*/
|
53
57
|
addContragentClick: EventEmitter<void>;
|
58
|
+
/**
|
59
|
+
* Событие нажатия на кнопку удаления контрагента.
|
60
|
+
*/
|
61
|
+
deleteContragentClick: EventEmitter<ScContragent>;
|
54
62
|
/**
|
55
63
|
* Событие нажатия на кнопку добавления банковского счёта контрагенту.
|
56
64
|
*/
|
57
|
-
|
65
|
+
addContragentBankAccountClick: EventEmitter<ScContragent>;
|
66
|
+
/**
|
67
|
+
* Событие нажатия на кнопку удаления банковского счёта контрагента.
|
68
|
+
*/
|
69
|
+
deleteContragentBankAccountClick: EventEmitter<ScIBankAccount>;
|
70
|
+
/**
|
71
|
+
* Событие нажатия на кнопку добавления контактного лица контрагенту.
|
72
|
+
*/
|
73
|
+
addContragentContactClick: EventEmitter<ScContragent>;
|
74
|
+
/**
|
75
|
+
* Событие нажатия на кнопку удаления контактного лица у контрагента.
|
76
|
+
*/
|
77
|
+
deleteContragentContactClick: EventEmitter<{
|
78
|
+
contact: ScIContact;
|
79
|
+
contragent: ScContragent;
|
80
|
+
}>;
|
58
81
|
/**
|
59
82
|
* Событие нажатия на кнопку добавления адреса доставки клиента.
|
60
83
|
*/
|
61
84
|
addDeliveryAddressClick: EventEmitter<void>;
|
85
|
+
/**
|
86
|
+
* Событие нажатия на кнопку удаления адреса доставки у клиента.
|
87
|
+
*/
|
88
|
+
deleteDeliveryAddressClick: EventEmitter<ScIDeliveryAddress>;
|
89
|
+
/**
|
90
|
+
* Событие нажатия на кнопку добавления контактного лица для адреса доставки.
|
91
|
+
*/
|
92
|
+
addDeliveryAddressContactClick: EventEmitter<ScIDeliveryAddress>;
|
93
|
+
/**
|
94
|
+
* Событие нажатия на кнопку удаления контактного лица у адреса доставки.
|
95
|
+
*/
|
96
|
+
deleteDeliveryAddressContactClick: EventEmitter<{
|
97
|
+
contact: ScIContact;
|
98
|
+
address: ScIDeliveryAddress;
|
99
|
+
}>;
|
100
|
+
/**
|
101
|
+
* Событие нажатия на кнопку добавления контактного лица клиенту.
|
102
|
+
*/
|
103
|
+
addUserContactClick: EventEmitter<number>;
|
104
|
+
/**
|
105
|
+
* Событие нажатия на кнопку удаления контактного лица у клиента.
|
106
|
+
*/
|
107
|
+
deleteUserContactClick: EventEmitter<ScIContact>;
|
62
108
|
/**
|
63
109
|
* Инициализирует экземпляр класса {@link ScProfileComponent}.
|
64
110
|
*
|
@@ -75,5 +121,5 @@ export declare class ScProfileAccordionsContentComponent {
|
|
75
121
|
*/
|
76
122
|
getUserCity$(cityId: number): Observable<ScICity>;
|
77
123
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScProfileAccordionsContentComponent, never>;
|
78
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScProfileAccordionsContentComponent, "sc-profile-accordions-content", never, {}, { "editProfileClick": "editProfileClick"; "approvePhoneClick": "approvePhoneClick"; "addContragentClick": "addContragentClick"; "
|
124
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScProfileAccordionsContentComponent, "sc-profile-accordions-content", never, {}, { "editProfileClick": "editProfileClick"; "approvePhoneClick": "approvePhoneClick"; "addContragentClick": "addContragentClick"; "deleteContragentClick": "deleteContragentClick"; "addContragentBankAccountClick": "addContragentBankAccountClick"; "deleteContragentBankAccountClick": "deleteContragentBankAccountClick"; "addContragentContactClick": "addContragentContactClick"; "deleteContragentContactClick": "deleteContragentContactClick"; "addDeliveryAddressClick": "addDeliveryAddressClick"; "deleteDeliveryAddressClick": "deleteDeliveryAddressClick"; "addDeliveryAddressContactClick": "addDeliveryAddressContactClick"; "deleteDeliveryAddressContactClick": "deleteDeliveryAddressContactClick"; "addUserContactClick": "addUserContactClick"; "deleteUserContactClick": "deleteUserContactClick"; }, never, never, false>;
|
79
125
|
}
|
@@ -9,11 +9,12 @@ import * as i7 from "@taiga-ui/core";
|
|
9
9
|
import * as i8 from "@taiga-ui/cdk";
|
10
10
|
import * as i9 from "@taiga-ui/kit";
|
11
11
|
import * as i10 from "@angular/forms";
|
12
|
+
import * as i11 from "../contacts/sc-contacts.module";
|
12
13
|
/**
|
13
14
|
* Модуль профиля пользователя.
|
14
15
|
*/
|
15
16
|
export declare class ScProfileModule {
|
16
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScProfileModule, never>;
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ScProfileModule, [typeof i1.ScProfileAccordionsContentComponent], [typeof i2.CommonModule, typeof i3.ScUserModule, typeof i4.ScAccordionModule, typeof i5.ScContragentsModule, typeof i6.ScDeliveryAddressModule, typeof i7.TuiLoaderModule, typeof i8.TuiLetModule, typeof i7.TuiLinkModule, typeof i7.TuiModeModule, typeof i7.TuiFormatPhonePipeModule, typeof i9.TuiCheckboxLabeledModule, typeof i7.TuiSvgModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i7.TuiLoaderModule, typeof i7.TuiButtonModule], [typeof i1.ScProfileAccordionsContentComponent]>;
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ScProfileModule, [typeof i1.ScProfileAccordionsContentComponent], [typeof i2.CommonModule, typeof i3.ScUserModule, typeof i4.ScAccordionModule, typeof i5.ScContragentsModule, typeof i6.ScDeliveryAddressModule, typeof i7.TuiLoaderModule, typeof i8.TuiLetModule, typeof i7.TuiLinkModule, typeof i7.TuiModeModule, typeof i7.TuiFormatPhonePipeModule, typeof i9.TuiCheckboxLabeledModule, typeof i7.TuiSvgModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i7.TuiLoaderModule, typeof i7.TuiButtonModule, typeof i11.ScContactsModule], [typeof i1.ScProfileAccordionsContentComponent]>;
|
18
19
|
static ɵinj: i0.ɵɵInjectorDeclaration<ScProfileModule>;
|
19
20
|
}
|
package/public-api.d.ts
CHANGED
@@ -818,10 +818,18 @@ video {
|
|
818
818
|
height: 100% !important;
|
819
819
|
}
|
820
820
|
|
821
|
+
.h-10 {
|
822
|
+
height: 2.5rem;
|
823
|
+
}
|
824
|
+
|
821
825
|
.h-11 {
|
822
826
|
height: 2.75rem;
|
823
827
|
}
|
824
828
|
|
829
|
+
.h-12 {
|
830
|
+
height: 3rem;
|
831
|
+
}
|
832
|
+
|
825
833
|
.h-20 {
|
826
834
|
height: 5rem;
|
827
835
|
}
|
@@ -874,6 +882,10 @@ video {
|
|
874
882
|
height: 100%;
|
875
883
|
}
|
876
884
|
|
885
|
+
.h-px {
|
886
|
+
height: 1px;
|
887
|
+
}
|
888
|
+
|
877
889
|
.max-h-52 {
|
878
890
|
max-height: 13rem;
|
879
891
|
}
|
@@ -1008,10 +1020,6 @@ video {
|
|
1008
1020
|
grid-template-columns: repeat(auto-fill,minmax(21rem,1fr));
|
1009
1021
|
}
|
1010
1022
|
|
1011
|
-
.grid-rows-3 {
|
1012
|
-
grid-template-rows: repeat(3, minmax(0, 1fr));
|
1013
|
-
}
|
1014
|
-
|
1015
1023
|
.flex-col {
|
1016
1024
|
flex-direction: column;
|
1017
1025
|
}
|
@@ -1072,6 +1080,10 @@ video {
|
|
1072
1080
|
gap: 1rem;
|
1073
1081
|
}
|
1074
1082
|
|
1083
|
+
.gap-5 {
|
1084
|
+
gap: 1.25rem;
|
1085
|
+
}
|
1086
|
+
|
1075
1087
|
.gap-x-2 {
|
1076
1088
|
-moz-column-gap: 0.5rem;
|
1077
1089
|
column-gap: 0.5rem;
|
@@ -1179,6 +1191,10 @@ video {
|
|
1179
1191
|
background-color: var(--tui-base-03);
|
1180
1192
|
}
|
1181
1193
|
|
1194
|
+
.bg-tui-base-04 {
|
1195
|
+
background-color: var(--tui-base-04);
|
1196
|
+
}
|
1197
|
+
|
1182
1198
|
.bg-tui-primary {
|
1183
1199
|
background-color: var(--tui-primary);
|
1184
1200
|
}
|
@@ -1264,6 +1280,10 @@ video {
|
|
1264
1280
|
padding-bottom: 1.125rem;
|
1265
1281
|
}
|
1266
1282
|
|
1283
|
+
.pb-1 {
|
1284
|
+
padding-bottom: 0.25rem;
|
1285
|
+
}
|
1286
|
+
|
1267
1287
|
.pl-4 {
|
1268
1288
|
padding-left: 1rem;
|
1269
1289
|
}
|
@@ -1556,8 +1576,8 @@ video {
|
|
1556
1576
|
}
|
1557
1577
|
|
1558
1578
|
@media (min-width: 1024px) {
|
1559
|
-
.lg\:mt-
|
1560
|
-
margin-top: 1.
|
1579
|
+
.lg\:mt-5 {
|
1580
|
+
margin-top: 1.25rem;
|
1561
1581
|
}
|
1562
1582
|
|
1563
1583
|
.lg\:\!block {
|
@@ -1568,6 +1588,10 @@ video {
|
|
1568
1588
|
display: none !important;
|
1569
1589
|
}
|
1570
1590
|
|
1591
|
+
.lg\:h-11 {
|
1592
|
+
height: 2.75rem;
|
1593
|
+
}
|
1594
|
+
|
1571
1595
|
.lg\:flex-grow {
|
1572
1596
|
flex-grow: 1;
|
1573
1597
|
}
|
@@ -12,8 +12,8 @@ export declare class ScResetUserPasswordComponent {
|
|
12
12
|
*/
|
13
13
|
form: FormGroup<{
|
14
14
|
currentPassword: FormControl<null>;
|
15
|
-
|
16
|
-
|
15
|
+
password: FormControl<null>;
|
16
|
+
passwordConfirm: FormControl<null>;
|
17
17
|
}>;
|
18
18
|
/**
|
19
19
|
* {@link Subject} события отправки формы.
|
@@ -27,6 +27,14 @@ export declare class ScResetUserPasswordComponent {
|
|
27
27
|
* {@link Observable} изменения состояния загрузки данных аутентификации по email.
|
28
28
|
*/
|
29
29
|
readonly loading$: Observable<boolean>;
|
30
|
+
/**
|
31
|
+
* Сигнал события события смены пароля.
|
32
|
+
*/
|
33
|
+
readonly successResetPassword: Observable<{
|
34
|
+
success: boolean;
|
35
|
+
} | {
|
36
|
+
success: boolean;
|
37
|
+
}>;
|
30
38
|
/**
|
31
39
|
* Инициализирует экземпляр класса {@link ScResetUserPasswordComponent}.
|
32
40
|
*
|
@@ -34,5 +42,5 @@ export declare class ScResetUserPasswordComponent {
|
|
34
42
|
*/
|
35
43
|
constructor(userService: ScUserService);
|
36
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScResetUserPasswordComponent, never>;
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScResetUserPasswordComponent, "sc-reset-user-password", never, {}, {}, never, never, false>;
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScResetUserPasswordComponent, "sc-reset-user-password", never, {}, { "successResetPassword": "successResetPassword"; }, never, never, false>;
|
38
46
|
}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Маска поля ввода кода подтверждения телефона.
|
3
|
-
*/
|
4
|
-
export const verificationCodeMask = {
|
5
|
-
mask: /^\d{0,6}$/
|
6
|
-
};
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtYXBwcm92ZS1jb2RlLW1hc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYXV0aC9jb25zdGFudHMvcGhvbmUtYXBwcm92ZS1jb2RlLW1hc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBbUI7SUFDaEQsSUFBSSxFQUFFLFdBQVc7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFza2l0b09wdGlvbnMgfSBmcm9tICdAbWFza2l0by9jb3JlJztcblxuLyoqXG4gKiDQnNCw0YHQutCwINC/0L7Qu9GPINCy0LLQvtC00LAg0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YLQtdC70LXRhNC+0L3QsC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZlcmlmaWNhdGlvbkNvZGVNYXNrOiBNYXNraXRvT3B0aW9ucyA9IHtcbiAgICBtYXNrOiAvXlxcZHswLDZ9JC9cbn0gYXMgTWFza2l0b09wdGlvbnM7XG4iXX0=
|
@@ -1,72 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
2
|
-
import { FormGroup, FormControl, Validators } from '@angular/forms';
|
3
|
-
import { Subject, catchError, filter, map, of, share, startWith, switchMap, tap } from 'rxjs';
|
4
|
-
import { scBicValidator, scCorrespondentAccountValidator } from '../../validators';
|
5
|
-
import { POLYMORPHEUS_CONTEXT } from '@tinkoff/ng-polymorpheus';
|
6
|
-
import { tuiIsFalsy, tuiMarkControlAsTouchedAndValidate } from '@taiga-ui/cdk';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@snabcentr/client-core";
|
9
|
-
import * as i2 from "@angular/forms";
|
10
|
-
import * as i3 from "@taiga-ui/core";
|
11
|
-
import * as i4 from "../new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component";
|
12
|
-
import * as i5 from "@angular/common";
|
13
|
-
/**
|
14
|
-
* Компонент формы создания нового банковского счета контрагента.
|
15
|
-
*/
|
16
|
-
export class ScAddContragentBankAccountsDialogComponent {
|
17
|
-
/**
|
18
|
-
* Инициализирует экземпляр класса {@link ScAddContragentBankAccountsFormComponent}.
|
19
|
-
*
|
20
|
-
* @param contragentService Сервис работы с контрагентами.
|
21
|
-
* @param context Контекст диалогового окна, в котором открыт компонент.
|
22
|
-
*/
|
23
|
-
constructor(contragentService, context) {
|
24
|
-
this.contragentService = contragentService;
|
25
|
-
this.context = context;
|
26
|
-
/**
|
27
|
-
* Группа с полем банковских реквизитов.
|
28
|
-
*/
|
29
|
-
this.form = new FormGroup({
|
30
|
-
bankName: new FormControl(null, Validators.required),
|
31
|
-
bic: new FormControl(null, [Validators.required, Validators.minLength(9), scBicValidator]),
|
32
|
-
accountNumber: new FormControl(null, [Validators.required, Validators.minLength(20)]),
|
33
|
-
correspondentAccount: new FormControl(null, [Validators.required, Validators.minLength(20), scCorrespondentAccountValidator]),
|
34
|
-
currencyId: new FormControl(null, Validators.required)
|
35
|
-
});
|
36
|
-
/**
|
37
|
-
* {@link Subject} события отправки формы.
|
38
|
-
*/
|
39
|
-
this.onSubmit = new Subject();
|
40
|
-
/**
|
41
|
-
* {@link Observable} запроса данных аутентификации.
|
42
|
-
*/
|
43
|
-
this.request$ = this.onSubmit.pipe(map(() => this.form.value), tap((i) => console.log(i)), filter((value) => this.form.valid), switchMap((value) => {
|
44
|
-
console.log(this.context.data.contragentId);
|
45
|
-
return this.contragentService.createContragentBankAccount$(this.context.data.contragentId, value).pipe(tap((bankAccount) => this.context?.completeWith(bankAccount)), catchError((error) => {
|
46
|
-
tuiMarkControlAsTouchedAndValidate(this.form);
|
47
|
-
const errorResponse = error.error;
|
48
|
-
for (const key in errorResponse.errors) {
|
49
|
-
this.form.get(key)?.setErrors({ serverResponse: errorResponse.errors[`${key}`] });
|
50
|
-
}
|
51
|
-
if (!errorResponse.errors && errorResponse.message) {
|
52
|
-
this.form.setErrors({ serverResponse: [errorResponse.message] });
|
53
|
-
}
|
54
|
-
return of({});
|
55
|
-
}), startWith(null));
|
56
|
-
}), share());
|
57
|
-
/**
|
58
|
-
* {@link Observable} изменения состояния загрузки данных аутентификации по номеру телефона.
|
59
|
-
*/
|
60
|
-
this.loading$ = this.request$.pipe(map(tuiIsFalsy));
|
61
|
-
}
|
62
|
-
}
|
63
|
-
ScAddContragentBankAccountsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScAddContragentBankAccountsDialogComponent, deps: [{ token: i1.ScContragentService }, { token: POLYMORPHEUS_CONTEXT }], target: i0.ɵɵFactoryTarget.Component });
|
64
|
-
ScAddContragentBankAccountsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScAddContragentBankAccountsDialogComponent, selector: "sc-add-contragent-bank-account-dialog", ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit.next()\" class=\"flex flex-col gap-3\">\n <sc-new-contragent-bank-account-form [form]=\"form\"></sc-new-contragent-bank-account-form>\n <div class=\"flex gap-4 justify-center\">\n <button tuiButton (click)=\"context.$implicit.complete()\" type=\"button\" icon=\"tuiIconXLarge\" appearance=\"secondary\">\u041E\u0442\u043C\u0435\u043D\u0430</button>\n <button tuiButton tuiMode=\"onLight\" [disabled]=\"form.invalid\" [showLoader]=\"!!(loading$ | async)\" type=\"submit\" icon=\"scIconSave\">\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C</button>\n </div>\n</form>", dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "directive", type: i3.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { kind: "component", type: i4.ScNewContragentBankAccountsFormComponent, selector: "sc-new-contragent-bank-account-form", inputs: ["form"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScAddContragentBankAccountsDialogComponent, decorators: [{
|
66
|
-
type: Component,
|
67
|
-
args: [{ selector: 'sc-add-contragent-bank-account-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit.next()\" class=\"flex flex-col gap-3\">\n <sc-new-contragent-bank-account-form [form]=\"form\"></sc-new-contragent-bank-account-form>\n <div class=\"flex gap-4 justify-center\">\n <button tuiButton (click)=\"context.$implicit.complete()\" type=\"button\" icon=\"tuiIconXLarge\" appearance=\"secondary\">\u041E\u0442\u043C\u0435\u043D\u0430</button>\n <button tuiButton tuiMode=\"onLight\" [disabled]=\"form.invalid\" [showLoader]=\"!!(loading$ | async)\" type=\"submit\" icon=\"scIconSave\">\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C</button>\n </div>\n</form>" }]
|
68
|
-
}], ctorParameters: function () { return [{ type: i1.ScContragentService }, { type: undefined, decorators: [{
|
69
|
-
type: Inject,
|
70
|
-
args: [POLYMORPHEUS_CONTEXT]
|
71
|
-
}] }]; } });
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYWRkLWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY29udGFjdHMvYWRkLWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWRpYWxvZy9zYy1hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250YWN0cy9hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nL3NjLWFkZC1jb250cmFnZW50LWJhbmstYWNjb3VudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBRy9FOztHQUVHO0FBTUgsTUFBTSxPQUFPLDBDQUEwQztJQTJEbkQ7Ozs7O09BS0c7SUFDSCxZQUNxQixpQkFBc0MsRUFFdkMsT0FBbUU7UUFGbEUsc0JBQWlCLEdBQWpCLGlCQUFpQixD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LENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBWWpGLENBQUM7O3VJQXJFSywwQ0FBMEMscURBbUV2QyxvQkFBb0I7MkhBbkV2QiwwQ0FBMEMsNkVDbkJ2RCxzb0JBTU87MkZEYU0sMENBQTBDO2tCQUx0RCxTQUFTOytCQUNJLHVDQUF1QyxtQkFFaEMsdUJBQXVCLENBQUMsTUFBTTs7MEJBcUUxQyxNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNjQ29udHJhZ2VudFNlcnZpY2UsIFNjSUJhbmtBY2NvdW50T25EYXRhQ3JlYXRlLCBTY0lCYW5rQWNjb3VudCB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIG9mLCBzaGFyZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2NCaWNWYWxpZGF0b3IsIHNjQ29ycmVzcG9uZGVudEFjY291bnRWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcbmltcG9ydCB7IFR1aURpYWxvZ0NvbnRleHQgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBQT0xZTU9SUEhFVVNfQ09OVEVYVCB9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHR1aUlzRmFsc3ksIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IEFwaUVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9hdXRoJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YTQvtGA0LzRiyDRgdC+0LfQtNCw0L3QuNGPINC90L7QstC+0LPQviDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfQtdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtYWRkLWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2NBZGRDb250cmFnZW50QmFua0FjY291bnRzRGlhbG9nQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0YEg0L/QvtC70LXQvCDQsdCw0L3QutC+0LLRgdC60LjRhSDRgNC10LrQstC40LfQuNGC0L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwPHtcbiAgICAgICAgYmFua05hbWU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBiaWM6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBhY2NvdW50TnVtYmVyOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgY29ycmVzcG9uZGVudEFjY291bnQ6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBjdXJyZW5jeUlkOiBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPjtcbiAgICB9PiA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICAgICAgYmFua05hbWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgICAgIGJpYzogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg5KSwgc2NCaWNWYWxpZGF0b3JdKSxcbiAgICAgICAgICAgIGFjY291bnROdW1iZXI6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMjApXSksXG4gICAgICAgICAgICBjb3JyZXNwb25kZW50QWNjb3VudDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyMCksIHNjQ29ycmVzcG9uZGVudEFjY291bnRWYWxpZGF0b3JdKSxcbiAgICAgICAgICAgIGN1cnJlbmN5SWQ6IG5ldyBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3QkID0gdGhpcy5vblN1Ym1pdC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtLnZhbHVlKSxcbiAgICAgICAgdGFwKChpKSA9PiBjb25zb2xlLmxvZyhpKSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBTY0lCYW5rQWNjb3VudE9uRGF0YUNyZWF0ZSA9PiB0aGlzLmZvcm0udmFsaWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbnRleHQuZGF0YS5jb250cmFnZW50SWQpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udHJhZ2VudFNlcnZpY2UuY3JlYXRlQ29udHJhZ2VudEJhbmtBY2NvdW50JCh0aGlzLmNvbnRleHQuZGF0YS5jb250cmFnZW50SWQsIHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoYmFua0FjY291bnQpID0+IHRoaXMuY29udGV4dD8uY29tcGxldGVXaXRoKGJhbmtBY2NvdW50KSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUodGhpcy5mb3JtKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JSZXNwb25zZSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JSZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yUmVzcG9uc2UuZXJyb3JzW2Ake2tleX1gXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghZXJyb3JSZXNwb25zZS5lcnJvcnMgJiYgZXJyb3JSZXNwb25zZS5tZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IFtlcnJvclJlc3BvbnNlLm1lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIFNjSUJhbmtBY2NvdW50KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QviDQvdC+0LzQtdGA0YMg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NBZGRDb250cmFnZW50QmFua0FjY291bnRzRm9ybUNvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udHJhZ2VudFNlcnZpY2Ug0KHQtdGA0LLQuNGBINGA0LDQsdC+0YLRiyDRgSDQutC+0L3RgtGA0LDQs9C10L3RgtCw0LzQuC5cbiAgICAgKiBAcGFyYW0gY29udGV4dCDQmtC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINCyINC60L7RgtC+0YDQvtC8INC+0YLQutGA0YvRgiDQutC+0LzQv9C+0L3QtdC90YIuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyYWdlbnRTZXJ2aWNlOiBTY0NvbnRyYWdlbnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKVxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY29udGV4dDogVHVpRGlhbG9nQ29udGV4dDxTY0lCYW5rQWNjb3VudCwgeyBjb250cmFnZW50SWQ6IG51bWJlciB9PlxuICAgICkge31cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICA8c2MtbmV3LWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWZvcm0gW2Zvcm1dPVwiZm9ybVwiPjwvc2MtbmV3LWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWZvcm0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTQganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0dWlCdXR0b24gKGNsaWNrKT1cImNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKClcIiB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInR1aUljb25YTGFyZ2VcIiBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCI+0J7RgtC80LXQvdCwPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHVpQnV0dG9uIHR1aU1vZGU9XCJvbkxpZ2h0XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCIgdHlwZT1cInN1Ym1pdFwiIGljb249XCJzY0ljb25TYXZlXCI+0KHQvtGF0YDQsNC90LjRgtGMPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Zvcm0+Il19
|
@@ -1,61 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
2
|
-
import { ScISuggestionType } from '@snabcentr/client-core';
|
3
|
-
import { scAccountNumberMask, scBicMask, scCorrespondentAccount } from '../../masks';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@snabcentr/client-core";
|
6
|
-
import * as i2 from "@angular/common";
|
7
|
-
import * as i3 from "@angular/forms";
|
8
|
-
import * as i4 from "../../form-fields/suggestion-field/sc-suggestion-field.component";
|
9
|
-
import * as i5 from "@maskito/angular";
|
10
|
-
import * as i6 from "@taiga-ui/kit";
|
11
|
-
import * as i7 from "@taiga-ui/core";
|
12
|
-
/**
|
13
|
-
* Компонент формы банковских реквизитов.
|
14
|
-
*/
|
15
|
-
export class ScNewContragentBankAccountsFormComponent {
|
16
|
-
/**
|
17
|
-
* Инициализирует экземпляр класса {@link ScContragentBankAccountsFormComponent}.
|
18
|
-
*
|
19
|
-
* @param referencesService Сервис справочников.
|
20
|
-
*/
|
21
|
-
constructor(referencesService) {
|
22
|
-
this.referencesService = referencesService;
|
23
|
-
/**
|
24
|
-
* Перечисление типов подсказок.
|
25
|
-
*/
|
26
|
-
this.suggestionType = ScISuggestionType;
|
27
|
-
/**
|
28
|
-
* Маска поля ввода БИК.
|
29
|
-
*/
|
30
|
-
this.bicMask = scBicMask;
|
31
|
-
/**
|
32
|
-
* Маска поля ввода номера счета.
|
33
|
-
*/
|
34
|
-
this.accountNumberMask = scAccountNumberMask;
|
35
|
-
/**
|
36
|
-
* Маска поля ввода номера корреспондентского счета.
|
37
|
-
*/
|
38
|
-
this.correspondentAccount = scCorrespondentAccount;
|
39
|
-
/**
|
40
|
-
* {@link Observable} списка валют.
|
41
|
-
*/
|
42
|
-
this.currencies$ = this.referencesService.currencies$;
|
43
|
-
}
|
44
|
-
/**
|
45
|
-
* Возвращает {@link Observable} валюты по идентификатору.
|
46
|
-
*
|
47
|
-
* @param currencyId Идентификатор валюты.
|
48
|
-
*/
|
49
|
-
getCurrencyById$(currencyId) {
|
50
|
-
return this.referencesService.getCurrencyById$(currencyId);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
ScNewContragentBankAccountsFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScNewContragentBankAccountsFormComponent, deps: [{ token: i1.ScReferencesService }], target: i0.ɵɵFactoryTarget.Component });
|
54
|
-
ScNewContragentBankAccountsFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScNewContragentBankAccountsFormComponent, selector: "sc-new-contragent-bank-account-form", inputs: { form: "form" }, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"flex flex-col gap-3\">\n <label tuiLabel=\"\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430\">\n <tui-input formControlName=\"bankName\">\n \u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430\n <sc-suggestion-field *tuiDataList [type]=\"suggestionType.bank\"></sc-suggestion-field>\n </tui-input>\n <tui-error formControlName=\"bankName\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u0411\u0418\u041A\">\n <tui-input formControlName=\"bic\">\n \u0411\u0418\u041A\n <input tuiTextfield [maskito]=\"bicMask\" autocomplete=\"bic\" />\n <sc-suggestion-field *tuiDataList [type]=\"suggestionType.bank\"></sc-suggestion-field>\n </tui-input>\n <tui-error formControlName=\"bic\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041D\u043E\u043C\u0435\u0440 \u0441\u0447\u0435\u0442\u0430\">\n <tui-input formControlName=\"accountNumber\">\n \u041D\u043E\u043C\u0435\u0440 \u0441\u0447\u0435\u0442\u0430\n <input tuiTextfield [maskito]=\"accountNumberMask\" autocomplete=\"accountNumber\" />\n </tui-input>\n <tui-error formControlName=\"accountNumber\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041A\u043E\u0440\u0440\u0435\u0441\u043F\u043E\u043D\u0434\u0435\u043D\u0442\u0441\u043A\u0438\u0439 \u0441\u0447\u0435\u0442\">\n <tui-input formControlName=\"correspondentAccount\">\n \u041A\u043E\u0440\u0440\u0435\u0441\u043F\u043E\u043D\u0434\u0435\u043D\u0442\u0441\u043A\u0438\u0439 \u0441\u0447\u0435\u0442\n <input tuiTextfield [maskito]=\"correspondentAccount\" autocomplete=\"correspondentAccount\" />\n </tui-input>\n <tui-error formControlName=\"correspondentAccount\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u0412\u0430\u043B\u044E\u0442\u0430 \u0440\u0430\u0441\u0447\u0451\u0442\u043E\u0432\">\n <tui-select formControlName=\"currencyId\" [valueContent]=\"currencyContent\">\n \u0412\u0430\u043B\u044E\u0442\u0430 \u0440\u0430\u0441\u0447\u0451\u0442\u043E\u0432\n <tui-data-list *tuiDataList>\n <button *ngFor=\"let item of currencies$ | async; let index = index\" tuiOption [value]=\"item.id\">{{ item.name }} ({{ item.symbol }})</button>\n </tui-data-list>\n </tui-select>\n <ng-template #currencyContent let-data>\n <div>{{ (getCurrencyById$(data) | async)?.name }}</div>\n </ng-template>\n <tui-error formControlName=\"currencyId\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"] }, { kind: "directive", type: i5.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i5.MaskitoCva, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: i6.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i6.TuiSelectDirective, selector: "tui-select" }, { kind: "component", type: i7.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { kind: "component", type: i7.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { kind: "component", type: i7.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { kind: "directive", type: i7.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i7.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { kind: "component", type: i6.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i6.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i7.TuiErrorComponent, selector: "tui-error", inputs: ["error"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScNewContragentBankAccountsFormComponent, decorators: [{
|
56
|
-
type: Component,
|
57
|
-
args: [{ selector: 'sc-new-contragent-bank-account-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [formGroup]=\"form\" class=\"flex flex-col gap-3\">\n <label tuiLabel=\"\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430\">\n <tui-input formControlName=\"bankName\">\n \u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430\n <sc-suggestion-field *tuiDataList [type]=\"suggestionType.bank\"></sc-suggestion-field>\n </tui-input>\n <tui-error formControlName=\"bankName\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u0411\u0418\u041A\">\n <tui-input formControlName=\"bic\">\n \u0411\u0418\u041A\n <input tuiTextfield [maskito]=\"bicMask\" autocomplete=\"bic\" />\n <sc-suggestion-field *tuiDataList [type]=\"suggestionType.bank\"></sc-suggestion-field>\n </tui-input>\n <tui-error formControlName=\"bic\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041D\u043E\u043C\u0435\u0440 \u0441\u0447\u0435\u0442\u0430\">\n <tui-input formControlName=\"accountNumber\">\n \u041D\u043E\u043C\u0435\u0440 \u0441\u0447\u0435\u0442\u0430\n <input tuiTextfield [maskito]=\"accountNumberMask\" autocomplete=\"accountNumber\" />\n </tui-input>\n <tui-error formControlName=\"accountNumber\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041A\u043E\u0440\u0440\u0435\u0441\u043F\u043E\u043D\u0434\u0435\u043D\u0442\u0441\u043A\u0438\u0439 \u0441\u0447\u0435\u0442\">\n <tui-input formControlName=\"correspondentAccount\">\n \u041A\u043E\u0440\u0440\u0435\u0441\u043F\u043E\u043D\u0434\u0435\u043D\u0442\u0441\u043A\u0438\u0439 \u0441\u0447\u0435\u0442\n <input tuiTextfield [maskito]=\"correspondentAccount\" autocomplete=\"correspondentAccount\" />\n </tui-input>\n <tui-error formControlName=\"correspondentAccount\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u0412\u0430\u043B\u044E\u0442\u0430 \u0440\u0430\u0441\u0447\u0451\u0442\u043E\u0432\">\n <tui-select formControlName=\"currencyId\" [valueContent]=\"currencyContent\">\n \u0412\u0430\u043B\u044E\u0442\u0430 \u0440\u0430\u0441\u0447\u0451\u0442\u043E\u0432\n <tui-data-list *tuiDataList>\n <button *ngFor=\"let item of currencies$ | async; let index = index\" tuiOption [value]=\"item.id\">{{ item.name }} ({{ item.symbol }})</button>\n </tui-data-list>\n </tui-select>\n <ng-template #currencyContent let-data>\n <div>{{ (getCurrencyById$(data) | async)?.name }}</div>\n </ng-template>\n <tui-error formControlName=\"currencyId\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n</div>\n" }]
|
58
|
-
}], ctorParameters: function () { return [{ type: i1.ScReferencesService }]; }, propDecorators: { form: [{
|
59
|
-
type: Input
|
60
|
-
}] } });
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3LWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NvbnRhY3RzL25ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtL3NjLW5ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250YWN0cy9uZXctY29udHJhZ2VudC1iYW5rLWFjY291bnQtZm9ybS9zYy1uZXctY29udHJhZ2VudC1iYW5rLWFjY291bnQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXVCLE1BQU0sd0JBQXdCLENBQUM7QUFFN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7O0FBR3JGOztHQUVHO0FBTUgsTUFBTSxPQUFPLHdDQUF3QztJQXNDakQ7Ozs7T0FJRztJQUNILFlBQW9DLGlCQUFzQztRQUF0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBMUMxRTs7V0FFRztRQUNhLG1CQUFjLEdBQTZCLGlCQUFpQixDQUFDO1FBRTdFOztXQUVHO1FBQ2EsWUFBTyxHQUFtQixTQUFTLENBQUM7UUFFcEQ7O1dBRUc7UUFDYSxzQkFBaUIsR0FBbUIsbUJBQW1CLENBQUM7UUFFeEU7O1dBRUc7UUFDYSx5QkFBb0IsR0FBbUIsc0JBQXNCLENBQUM7UUFFOUU7O1dBRUc7UUFDYSxnQkFBVyxHQUE4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDO0lBbUJmLENBQUM7SUFFOUU7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLFVBQWtCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7O3FJQXBEUSx3Q0FBd0M7eUhBQXhDLHdDQUF3QyxxR0NmckQsODJGQTJDQTsyRkQ1QmEsd0NBQXdDO2tCQUxwRCxTQUFTOytCQUNJLHFDQUFxQyxtQkFFOUIsdUJBQXVCLENBQUMsTUFBTTswR0FnQ3hDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NJQ3VycmVuY3ksIFNjSVN1Z2dlc3Rpb25UeXBlLCBTY1JlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzY0FjY291bnROdW1iZXJNYXNrLCBzY0JpY01hc2ssIHNjQ29ycmVzcG9uZGVudEFjY291bnQgfSBmcm9tICcuLi8uLi9tYXNrcyc7XG5pbXBvcnQgeyBNYXNraXRvT3B0aW9ucyB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRhNC+0YDQvNGLINCx0LDQvdC60L7QstGB0LrQuNGFINGA0LXQutCy0LjQt9C40YLQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLW5ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtbmV3LWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNjTmV3Q29udHJhZ2VudEJhbmtBY2NvdW50c0Zvcm1Db21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDRgtC40L/QvtCyINC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VnZ2VzdGlvblR5cGU6IHR5cGVvZiBTY0lTdWdnZXN0aW9uVHlwZSA9IFNjSVN1Z2dlc3Rpb25UeXBlO1xuXG4gICAgLyoqXG4gICAgICog0JzQsNGB0LrQsCDQv9C+0LvRjyDQstCy0L7QtNCwINCR0JjQmi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYmljTWFzazogTWFza2l0b09wdGlvbnMgPSBzY0JpY01hc2s7XG5cbiAgICAvKipcbiAgICAgKiDQnNCw0YHQutCwINC/0L7Qu9GPINCy0LLQvtC00LAg0L3QvtC80LXRgNCwINGB0YfQtdGC0LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY291bnROdW1iZXJNYXNrOiBNYXNraXRvT3B0aW9ucyA9IHNjQWNjb3VudE51bWJlck1hc2s7XG5cbiAgICAvKipcbiAgICAgKiDQnNCw0YHQutCwINC/0L7Qu9GPINCy0LLQvtC00LAg0L3QvtC80LXRgNCwINC60L7RgNGA0LXRgdC/0L7QvdC00LXQvdGC0YHQutC+0LPQviDRgdGH0LXRgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjb3JyZXNwb25kZW50QWNjb3VudDogTWFza2l0b09wdGlvbnMgPSBzY0NvcnJlc3BvbmRlbnRBY2NvdW50O1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INGB0L/QuNGB0LrQsCDQstCw0LvRjtGCLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW5jaWVzJDogT2JzZXJ2YWJsZTxTY0lDdXJyZW5jeVtdPiA9IHRoaXMucmVmZXJlbmNlc1NlcnZpY2UuY3VycmVuY2llcyQ7XG5cbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0YEg0L/QvtC70LXQvCDQsdCw0L3QutC+0LLRgdC60LjRhSDRgNC10LrQstC40LfQuNGC0L7Qsi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA8e1xuICAgICAgICBiYW5rTmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGJpYzogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGFjY291bnROdW1iZXI6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBjb3JyZXNwb25kZW50QWNjb3VudDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGN1cnJlbmN5SWQ6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+O1xuICAgIH0+O1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0NvbnRyYWdlbnRCYW5rQWNjb3VudHNGb3JtQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VzU2VydmljZSDQodC10YDQstC40YEg0YHQv9GA0LDQstC+0YfQvdC40LrQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlZmVyZW5jZXNTZXJ2aWNlOiBTY1JlZmVyZW5jZXNTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INCy0LDQu9GO0YLRiyDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY3VycmVuY3lJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstCw0LvRjtGC0YsuXG4gICAgICovXG4gICAgcHVibGljIGdldEN1cnJlbmN5QnlJZCQoY3VycmVuY3lJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lDdXJyZW5jeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VzU2VydmljZS5nZXRDdXJyZW5jeUJ5SWQkKGN1cnJlbmN5SWQpO1xuICAgIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgPGxhYmVsIHR1aUxhYmVsPVwi0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INCx0LDQvdC60LBcIj5cbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJiYW5rTmFtZVwiPlxuICAgICAgICAgICAg0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INCx0LDQvdC60LBcbiAgICAgICAgICAgIDxzYy1zdWdnZXN0aW9uLWZpZWxkICp0dWlEYXRhTGlzdCBbdHlwZV09XCJzdWdnZXN0aW9uVHlwZS5iYW5rXCI+PC9zYy1zdWdnZXN0aW9uLWZpZWxkPlxuICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgPHR1aS1lcnJvciBmb3JtQ29udHJvbE5hbWU9XCJiYW5rTmFtZVwiIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIHR1aUxhYmVsPVwi0JHQmNCaXCI+XG4gICAgICAgIDx0dWktaW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiYmljXCI+XG4gICAgICAgICAgICDQkdCY0JpcbiAgICAgICAgICAgIDxpbnB1dCB0dWlUZXh0ZmllbGQgW21hc2tpdG9dPVwiYmljTWFza1wiIGF1dG9jb21wbGV0ZT1cImJpY1wiIC8+XG4gICAgICAgICAgICA8c2Mtc3VnZ2VzdGlvbi1maWVsZCAqdHVpRGF0YUxpc3QgW3R5cGVdPVwic3VnZ2VzdGlvblR5cGUuYmFua1wiPjwvc2Mtc3VnZ2VzdGlvbi1maWVsZD5cbiAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgIDx0dWktZXJyb3IgZm9ybUNvbnRyb2xOYW1lPVwiYmljXCIgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCI+PC90dWktZXJyb3I+XG4gICAgPC9sYWJlbD5cbiAgICA8bGFiZWwgdHVpTGFiZWw9XCLQndC+0LzQtdGAINGB0YfQtdGC0LBcIj5cbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJhY2NvdW50TnVtYmVyXCI+XG4gICAgICAgICAgICDQndC+0LzQtdGAINGB0YfQtdGC0LBcbiAgICAgICAgICAgIDxpbnB1dCB0dWlUZXh0ZmllbGQgW21hc2tpdG9dPVwiYWNjb3VudE51bWJlck1hc2tcIiBhdXRvY29tcGxldGU9XCJhY2NvdW50TnVtYmVyXCIgLz5cbiAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgIDx0dWktZXJyb3IgZm9ybUNvbnRyb2xOYW1lPVwiYWNjb3VudE51bWJlclwiIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIHR1aUxhYmVsPVwi0JrQvtGA0YDQtdGB0L/QvtC90LTQtdC90YLRgdC60LjQuSDRgdGH0LXRglwiPlxuICAgICAgICA8dHVpLWlucHV0IGZvcm1Db250cm9sTmFtZT1cImNvcnJlc3BvbmRlbnRBY2NvdW50XCI+XG4gICAgICAgICAgICDQmtC+0YDRgNC10YHQv9C+0L3QtNC10L3RgtGB0LrQuNC5INGB0YfQtdGCXG4gICAgICAgICAgICA8aW5wdXQgdHVpVGV4dGZpZWxkIFttYXNraXRvXT1cImNvcnJlc3BvbmRlbnRBY2NvdW50XCIgYXV0b2NvbXBsZXRlPVwiY29ycmVzcG9uZGVudEFjY291bnRcIiAvPlxuICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgPHR1aS1lcnJvciBmb3JtQ29udHJvbE5hbWU9XCJjb3JyZXNwb25kZW50QWNjb3VudFwiIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIHR1aUxhYmVsPVwi0JLQsNC70Y7RgtCwINGA0LDRgdGH0ZHRgtC+0LJcIj5cbiAgICAgICAgPHR1aS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVuY3lJZFwiIFt2YWx1ZUNvbnRlbnRdPVwiY3VycmVuY3lDb250ZW50XCI+XG4gICAgICAgICAgICDQktCw0LvRjtGC0LAg0YDQsNGB0YfRkdGC0L7QslxuICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3QgKnR1aURhdGFMaXN0PlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgY3VycmVuY2llcyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIiB0dWlPcHRpb24gW3ZhbHVlXT1cIml0ZW0uaWRcIj57eyBpdGVtLm5hbWUgfX0gKHt7IGl0ZW0uc3ltYm9sIH19KTwvYnV0dG9uPlxuICAgICAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgICAgICA8L3R1aS1zZWxlY3Q+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VycmVuY3lDb250ZW50IGxldC1kYXRhPlxuICAgICAgICAgICAgPGRpdj57eyAoZ2V0Q3VycmVuY3lCeUlkJChkYXRhKSB8IGFzeW5jKT8ubmFtZSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8dHVpLWVycm9yIGZvcm1Db250cm9sTmFtZT1cImN1cnJlbmN5SWRcIiBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIj48L3R1aS1lcnJvcj5cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=
|