@senior-gestao-pessoas/payroll-core 9.5.0-fbdcba79-4ef6-4255-9628-f5e2e790112a → 9.5.0-feature-hcmgdp-11492-f438f1e4
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/bundles/senior-gestao-pessoas-payroll-core.umd.js +444 -881
- package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -16
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
- package/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.d.ts +43 -10
- package/components/historical-pix-account/historical-pix-account.component.d.ts +13 -41
- package/components/historical-pix-account/historical-pix-account.service.d.ts +0 -1
- package/components/historical-pix-account-list/historical-pix-account-list.component.d.ts +2 -9
- package/components/utils/format-utils/format-utils.service.d.ts +3 -30
- package/esm2015/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.js +205 -34
- package/esm2015/components/historical-pix-account/historical-pix-account.component.js +43 -264
- package/esm2015/components/historical-pix-account/historical-pix-account.module.js +1 -5
- package/esm2015/components/historical-pix-account/historical-pix-account.service.js +1 -8
- package/esm2015/components/historical-pix-account-list/historical-pix-account-list.component.js +6 -44
- package/esm2015/components/utils/format-utils/format-utils.service.js +5 -88
- package/esm2015/public_api.js +1 -2
- package/esm2015/senior-gestao-pessoas-payroll-core.js +2 -3
- package/esm5/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.js +220 -58
- package/esm5/components/historical-pix-account/historical-pix-account.component.js +72 -306
- package/esm5/components/historical-pix-account/historical-pix-account.module.js +1 -5
- package/esm5/components/historical-pix-account/historical-pix-account.service.js +1 -8
- package/esm5/components/historical-pix-account-list/historical-pix-account-list.component.js +6 -49
- package/esm5/components/utils/format-utils/format-utils.service.js +5 -88
- package/esm5/public_api.js +1 -2
- package/esm5/senior-gestao-pessoas-payroll-core.js +2 -3
- package/fesm2015/senior-gestao-pessoas-payroll-core.js +388 -785
- package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/fesm5/senior-gestao-pessoas-payroll-core.js +441 -877
- package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +0 -1
- package/senior-gestao-pessoas-payroll-core.d.ts +1 -2
- package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
- package/components/historical-pix-account/historical-pix-account-base.d.ts +0 -27
- package/components/shared/index.d.ts +0 -1
- package/components/shared/shared-state.service.d.ts +0 -24
- package/esm2015/components/historical-pix-account/historical-pix-account-base.js +0 -173
- package/esm2015/components/shared/index.js +0 -2
- package/esm2015/components/shared/shared-state.service.js +0 -54
- package/esm5/components/historical-pix-account/historical-pix-account-base.js +0 -186
- package/esm5/components/shared/index.js +0 -2
- package/esm5/components/shared/shared-state.service.js +0 -55
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { FormBuilder, FormGroup, ValidatorFn } from "@angular/forms";
|
|
2
|
-
export declare abstract class HistoricakPixAccountBase {
|
|
3
|
-
protected formBuilder: FormBuilder;
|
|
4
|
-
protected _paramsForm: FormGroup;
|
|
5
|
-
protected _defaultCpfNumber: string;
|
|
6
|
-
initialValidatorOfPercentage: ValidatorFn[];
|
|
7
|
-
pixAccountList: object[];
|
|
8
|
-
maxValuePercentage: number;
|
|
9
|
-
pixKeyType: string;
|
|
10
|
-
pixAccountFormGroup: FormGroup;
|
|
11
|
-
isShowPixKeyFieldValidatorMessage: boolean;
|
|
12
|
-
constructor(formBuilder: FormBuilder);
|
|
13
|
-
phoneMask(event: any): void;
|
|
14
|
-
cpfMask(event: any): void;
|
|
15
|
-
cnpjMask(event: any): void;
|
|
16
|
-
onChangePixKeyType(item: any, form?: FormGroup): void;
|
|
17
|
-
onClearPixKeyType(form?: FormGroup): void;
|
|
18
|
-
setDefaultCpfPixKey(form?: FormGroup): void;
|
|
19
|
-
protected createFormGroupBase(): void;
|
|
20
|
-
protected setValidatorsAccordingList(pixAccountList: object[], index?: number | null, isEditMode?: boolean, form?: FormGroup): void;
|
|
21
|
-
protected beforeSetPixKeyTypeValidator(form: FormGroup): void;
|
|
22
|
-
protected setPixKeyValidators(isEditMode: boolean, form: FormGroup): void;
|
|
23
|
-
protected validatePercentageValid(listValue: number[], form: FormGroup): void;
|
|
24
|
-
private validateDuplicatePixKeyTypeBankAccount;
|
|
25
|
-
paramsForm: FormGroup;
|
|
26
|
-
defaultCpfNumber: string;
|
|
27
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './shared-state.service';
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare class SharedStateService {
|
|
2
|
-
private hideFieldSubject;
|
|
3
|
-
hideField$: import("rxjs").Observable<boolean>;
|
|
4
|
-
private showButtonSubject;
|
|
5
|
-
showButton$: import("rxjs").Observable<boolean>;
|
|
6
|
-
private saveButtonSubject;
|
|
7
|
-
saveButton$: import("rxjs").Observable<boolean>;
|
|
8
|
-
private showEditMode;
|
|
9
|
-
showEditMode$: import("rxjs").Observable<boolean>;
|
|
10
|
-
private activeValidatorsOnEditModalOpen;
|
|
11
|
-
activeValidatorsOnEditModalOpen$: import("rxjs").Observable<void>;
|
|
12
|
-
private shouldReloadWindowOnlyEditMode;
|
|
13
|
-
shouldReloadWindowOnlyEditMode$: import("rxjs").Observable<boolean>;
|
|
14
|
-
private hideBtnAddForViewMode;
|
|
15
|
-
hideBtnAddForViewMode$: import("rxjs").Observable<boolean>;
|
|
16
|
-
setHideField(value: boolean): void;
|
|
17
|
-
setShowButton(value: boolean): void;
|
|
18
|
-
setSaveButton(value: boolean): void;
|
|
19
|
-
setShowEditMode(value: boolean): void;
|
|
20
|
-
setShouldReloadWindowOnlyEditMode(value: boolean): void;
|
|
21
|
-
triggerActiveValidatorsOnEditModalOpen(): void;
|
|
22
|
-
setHideBtnAddForViewMode(value: boolean): void;
|
|
23
|
-
resetHideField(): void;
|
|
24
|
-
}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { FormGroup, Validators, } from "@angular/forms";
|
|
2
|
-
import { GenericValidator } from "../utils/generic-validators";
|
|
3
|
-
import { FormatUtilsService } from "../utils/format-utils/format-utils.service";
|
|
4
|
-
export class HistoricakPixAccountBase {
|
|
5
|
-
constructor(formBuilder) {
|
|
6
|
-
this._paramsForm = new FormGroup({});
|
|
7
|
-
this._defaultCpfNumber = null;
|
|
8
|
-
this.initialValidatorOfPercentage = [Validators.required, Validators.min(0.01)];
|
|
9
|
-
this.pixAccountList = [];
|
|
10
|
-
this.maxValuePercentage = 100.0;
|
|
11
|
-
this.isShowPixKeyFieldValidatorMessage = false;
|
|
12
|
-
this.formBuilder = formBuilder;
|
|
13
|
-
this.createFormGroupBase();
|
|
14
|
-
}
|
|
15
|
-
phoneMask(event) {
|
|
16
|
-
FormatUtilsService.formatTelephoneInputEvent(event);
|
|
17
|
-
}
|
|
18
|
-
cpfMask(event) {
|
|
19
|
-
FormatUtilsService.formatCpfInputEvent(event);
|
|
20
|
-
}
|
|
21
|
-
cnpjMask(event) {
|
|
22
|
-
FormatUtilsService.formatCnpjInputEvent(event);
|
|
23
|
-
}
|
|
24
|
-
onChangePixKeyType(item, form) {
|
|
25
|
-
if (!item || !item.key)
|
|
26
|
-
return;
|
|
27
|
-
this.pixKeyType = item.key;
|
|
28
|
-
const targetForm = (typeof form !== 'undefined' && form !== null)
|
|
29
|
-
? form
|
|
30
|
-
: this.pixAccountFormGroup;
|
|
31
|
-
this.isShowPixKeyFieldValidatorMessage = true;
|
|
32
|
-
const pixKeyControl = targetForm.get("pixKey");
|
|
33
|
-
if (pixKeyControl) {
|
|
34
|
-
pixKeyControl.reset();
|
|
35
|
-
}
|
|
36
|
-
this.setPixKeyValidators(true, targetForm);
|
|
37
|
-
if (item.key === "CPF") {
|
|
38
|
-
this.setDefaultCpfPixKey(targetForm);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
onClearPixKeyType(form) {
|
|
42
|
-
var targetForm = (typeof form !== 'undefined' && form !== null)
|
|
43
|
-
? form
|
|
44
|
-
: this.pixAccountFormGroup;
|
|
45
|
-
this.isShowPixKeyFieldValidatorMessage = false;
|
|
46
|
-
if (targetForm.get("pixKey")) {
|
|
47
|
-
targetForm.get("pixKey").reset();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
setDefaultCpfPixKey(form) {
|
|
51
|
-
var targetForm = (typeof form !== 'undefined' && form !== null)
|
|
52
|
-
? form
|
|
53
|
-
: this.pixAccountFormGroup;
|
|
54
|
-
if (this._defaultCpfNumber) {
|
|
55
|
-
if (targetForm.get("pixKey")) {
|
|
56
|
-
targetForm.get("pixKey").setValue(this._defaultCpfNumber);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
var sheetDocument = this._paramsForm.get("sheetDocument");
|
|
61
|
-
if (sheetDocument && sheetDocument.get("cpfNumber")) {
|
|
62
|
-
var cpf = sheetDocument.get("cpfNumber").value;
|
|
63
|
-
if (cpf && targetForm.get("pixKey")) {
|
|
64
|
-
targetForm.get("pixKey").setValue(cpf);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
createFormGroupBase() {
|
|
70
|
-
this.pixAccountFormGroup = this.formBuilder.group({
|
|
71
|
-
id: this.formBuilder.control(null),
|
|
72
|
-
index: this.formBuilder.control(null),
|
|
73
|
-
employee: this.formBuilder.control({ value: { tableId: null }, disabled: true }),
|
|
74
|
-
dateChange: this.formBuilder.control(null),
|
|
75
|
-
pixKeyType: this.formBuilder.control(null, Validators.required),
|
|
76
|
-
pixKey: this.formBuilder.control(null),
|
|
77
|
-
percentage: this.formBuilder.control(null, Validators.compose([
|
|
78
|
-
...this.initialValidatorOfPercentage,
|
|
79
|
-
Validators.max(this.maxValuePercentage),
|
|
80
|
-
])),
|
|
81
|
-
externalId: this.formBuilder.control(null),
|
|
82
|
-
customFields: this.formBuilder.control(null),
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
setValidatorsAccordingList(pixAccountList, index = null, isEditMode = true, form) {
|
|
86
|
-
var targetForm = (typeof form !== 'undefined' && form !== null)
|
|
87
|
-
? form
|
|
88
|
-
: this.pixAccountFormGroup;
|
|
89
|
-
this.pixAccountList = (pixAccountList && pixAccountList.length > 0)
|
|
90
|
-
? [].concat(pixAccountList)
|
|
91
|
-
: [];
|
|
92
|
-
var percentageIncluded = [];
|
|
93
|
-
for (var i = 0; i < this.pixAccountList.length; i++) {
|
|
94
|
-
var field = this.pixAccountList[i];
|
|
95
|
-
if (field && field.percentage && i !== index) {
|
|
96
|
-
percentageIncluded.push(field.percentage);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
this.beforeSetPixKeyTypeValidator(targetForm);
|
|
100
|
-
this.setPixKeyValidators(isEditMode, targetForm);
|
|
101
|
-
this.validatePercentageValid(percentageIncluded, targetForm);
|
|
102
|
-
}
|
|
103
|
-
beforeSetPixKeyTypeValidator(form) {
|
|
104
|
-
const control = form.get("pixKeyType");
|
|
105
|
-
if (this.pixAccountList && this.pixAccountList.length) {
|
|
106
|
-
control.setValidators(Validators.compose([
|
|
107
|
-
Validators.required,
|
|
108
|
-
this.validateDuplicatePixKeyTypeBankAccount(this.pixAccountList),
|
|
109
|
-
]));
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
control.setValidators(Validators.required);
|
|
113
|
-
}
|
|
114
|
-
control.updateValueAndValidity();
|
|
115
|
-
}
|
|
116
|
-
setPixKeyValidators(isEditMode, form) {
|
|
117
|
-
const pixKey = form.get("pixKey");
|
|
118
|
-
switch (this.pixKeyType) {
|
|
119
|
-
case "TELEPHONE":
|
|
120
|
-
pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidPhoneNumber]));
|
|
121
|
-
break;
|
|
122
|
-
case "EMAIL":
|
|
123
|
-
pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidEmail]));
|
|
124
|
-
break;
|
|
125
|
-
case "CPF":
|
|
126
|
-
pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidCpf]));
|
|
127
|
-
break;
|
|
128
|
-
case "CNPJ":
|
|
129
|
-
pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidCnpj]));
|
|
130
|
-
break;
|
|
131
|
-
case "RANDOM_KEY":
|
|
132
|
-
pixKey.setValidators(Validators.required);
|
|
133
|
-
break;
|
|
134
|
-
default:
|
|
135
|
-
pixKey.clearValidators();
|
|
136
|
-
}
|
|
137
|
-
if (isEditMode) {
|
|
138
|
-
pixKey.enable();
|
|
139
|
-
}
|
|
140
|
-
pixKey.updateValueAndValidity();
|
|
141
|
-
}
|
|
142
|
-
validatePercentageValid(listValue, form) {
|
|
143
|
-
const percentage = form.get("percentage");
|
|
144
|
-
this.maxValuePercentage = listValue.reduce((acc, val) => acc - val, 100.0);
|
|
145
|
-
percentage.setValidators(Validators.compose([
|
|
146
|
-
...this.initialValidatorOfPercentage,
|
|
147
|
-
Validators.max(this.maxValuePercentage),
|
|
148
|
-
]));
|
|
149
|
-
percentage.updateValueAndValidity();
|
|
150
|
-
}
|
|
151
|
-
validateDuplicatePixKeyTypeBankAccount(listCompare) {
|
|
152
|
-
return (control) => {
|
|
153
|
-
const value = control.value;
|
|
154
|
-
const isDuplicate = listCompare.some((field) => value &&
|
|
155
|
-
field.pixKeyType.key === "BANK_ACCOUNT" &&
|
|
156
|
-
value.key === "BANK_ACCOUNT");
|
|
157
|
-
return isDuplicate ? { pixKeyTypeBankAccountDuplicate: true } : null;
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
get paramsForm() {
|
|
161
|
-
return this._paramsForm;
|
|
162
|
-
}
|
|
163
|
-
set paramsForm(value) {
|
|
164
|
-
this._paramsForm = value;
|
|
165
|
-
}
|
|
166
|
-
get defaultCpfNumber() {
|
|
167
|
-
return this._defaultCpfNumber;
|
|
168
|
-
}
|
|
169
|
-
set defaultCpfNumber(value) {
|
|
170
|
-
this._defaultCpfNumber = value;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9wYXlyb2xsLWNvcmUvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2hpc3RvcmljYWwtcGl4LWFjY291bnQvaGlzdG9yaWNhbC1waXgtYWNjb3VudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsTUFBTSxPQUFnQix3QkFBd0I7SUFZNUMsWUFBWSxXQUF3QjtRQVYxQixnQkFBVyxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLHNCQUFpQixHQUFXLElBQUksQ0FBQztRQUVwQyxpQ0FBNEIsR0FBa0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFHM0Isc0NBQWlDLEdBQUcsS0FBSyxDQUFDO1FBRy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBVTtRQUN2QixrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQVU7UUFDckIsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVO1FBQ3RCLGtCQUFr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QztJQUVELElBQVcsZ0JBQWdCLENBQUMsS0FBYTtRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1CdWlsZGVyLFxuICAgIEZvcm1Hcm91cCxcbiAgICBWYWxpZGF0b3JGbixcbiAgICBWYWxpZGF0b3JzLFxuICB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuICBpbXBvcnQgeyBHZW5lcmljVmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWxzL2dlbmVyaWMtdmFsaWRhdG9yc1wiO1xuICBpbXBvcnQgeyBGb3JtYXRVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0LXV0aWxzL2Zvcm1hdC11dGlscy5zZXJ2aWNlXCI7XG5cbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIEhpc3RvcmljYWtQaXhBY2NvdW50QmFzZSB7XG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcjtcbiAgICBwcm90ZWN0ZWQgX3BhcmFtc0Zvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHByb3RlY3RlZCBfZGVmYXVsdENwZk51bWJlcjogc3RyaW5nID0gbnVsbDtcblxuICAgIHB1YmxpYyBpbml0aWFsVmFsaWRhdG9yT2ZQZXJjZW50YWdlOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDAuMDEpXTtcbiAgICBwdWJsaWMgcGl4QWNjb3VudExpc3Q6IG9iamVjdFtdID0gW107XG4gICAgcHVibGljIG1heFZhbHVlUGVyY2VudGFnZSA9IDEwMC4wO1xuICAgIHB1YmxpYyBwaXhLZXlUeXBlOiBzdHJpbmc7XG4gICAgcHVibGljIHBpeEFjY291bnRGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgaXNTaG93UGl4S2V5RmllbGRWYWxpZGF0b3JNZXNzYWdlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIgPSBmb3JtQnVpbGRlcjtcbiAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwQmFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwaG9uZU1hc2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBGb3JtYXRVdGlsc1NlcnZpY2UuZm9ybWF0VGVsZXBob25lSW5wdXRFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNwZk1hc2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBGb3JtYXRVdGlsc1NlcnZpY2UuZm9ybWF0Q3BmSW5wdXRFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNucGpNYXNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgRm9ybWF0VXRpbHNTZXJ2aWNlLmZvcm1hdENucGpJbnB1dEV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VQaXhLZXlUeXBlKGl0ZW06IGFueSwgZm9ybT86IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgICAgICBpZiAoIWl0ZW0gfHwgIWl0ZW0ua2V5KSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5waXhLZXlUeXBlID0gaXRlbS5rZXk7XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0Rm9ybSA9ICh0eXBlb2YgZm9ybSAhPT0gJ3VuZGVmaW5lZCcgJiYgZm9ybSAhPT0gbnVsbClcbiAgICAgICAgICA/IGZvcm1cbiAgICAgICAgICA6IHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cDtcblxuICAgICAgICB0aGlzLmlzU2hvd1BpeEtleUZpZWxkVmFsaWRhdG9yTWVzc2FnZSA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgcGl4S2V5Q29udHJvbCA9IHRhcmdldEZvcm0uZ2V0KFwicGl4S2V5XCIpO1xuICAgICAgICBpZiAocGl4S2V5Q29udHJvbCkge1xuICAgICAgICAgICAgcGl4S2V5Q29udHJvbC5yZXNldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRQaXhLZXlWYWxpZGF0b3JzKHRydWUsIHRhcmdldEZvcm0pO1xuXG4gICAgICAgIGlmIChpdGVtLmtleSA9PT0gXCJDUEZcIikge1xuICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdENwZlBpeEtleSh0YXJnZXRGb3JtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsZWFyUGl4S2V5VHlwZShmb3JtPzogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgICAgIHZhciB0YXJnZXRGb3JtID0gKHR5cGVvZiBmb3JtICE9PSAndW5kZWZpbmVkJyAmJiBmb3JtICE9PSBudWxsKVxuICAgICAgICAgID8gZm9ybVxuICAgICAgICAgIDogdGhpcy5waXhBY2NvdW50Rm9ybUdyb3VwO1xuXG4gICAgICAgIHRoaXMuaXNTaG93UGl4S2V5RmllbGRWYWxpZGF0b3JNZXNzYWdlID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRhcmdldEZvcm0uZ2V0KFwicGl4S2V5XCIpKSB7XG4gICAgICAgICAgdGFyZ2V0Rm9ybS5nZXQoXCJwaXhLZXlcIikucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwdWJsaWMgc2V0RGVmYXVsdENwZlBpeEtleShmb3JtPzogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgICAgIHZhciB0YXJnZXRGb3JtID0gKHR5cGVvZiBmb3JtICE9PSAndW5kZWZpbmVkJyAmJiBmb3JtICE9PSBudWxsKVxuICAgICAgICAgID8gZm9ybVxuICAgICAgICAgIDogdGhpcy5waXhBY2NvdW50Rm9ybUdyb3VwO1xuXG4gICAgICAgIGlmICh0aGlzLl9kZWZhdWx0Q3BmTnVtYmVyKSB7XG4gICAgICAgICAgaWYgKHRhcmdldEZvcm0uZ2V0KFwicGl4S2V5XCIpKSB7XG4gICAgICAgICAgICB0YXJnZXRGb3JtLmdldChcInBpeEtleVwiKS5zZXRWYWx1ZSh0aGlzLl9kZWZhdWx0Q3BmTnVtYmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHNoZWV0RG9jdW1lbnQgPSB0aGlzLl9wYXJhbXNGb3JtLmdldChcInNoZWV0RG9jdW1lbnRcIik7XG4gICAgICAgICAgaWYgKHNoZWV0RG9jdW1lbnQgJiYgc2hlZXREb2N1bWVudC5nZXQoXCJjcGZOdW1iZXJcIikpIHtcbiAgICAgICAgICAgIHZhciBjcGYgPSBzaGVldERvY3VtZW50LmdldChcImNwZk51bWJlclwiKS52YWx1ZTtcbiAgICAgICAgICAgIGlmIChjcGYgJiYgdGFyZ2V0Rm9ybS5nZXQoXCJwaXhLZXlcIikpIHtcbiAgICAgICAgICAgICAgdGFyZ2V0Rm9ybS5nZXQoXCJwaXhLZXlcIikuc2V0VmFsdWUoY3BmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlRm9ybUdyb3VwQmFzZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICBpZDogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICBpbmRleDogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICBlbXBsb3llZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHsgdmFsdWU6IHsgdGFibGVJZDogbnVsbCB9LCBkaXNhYmxlZDogdHJ1ZSB9KSxcbiAgICAgICAgZGF0ZUNoYW5nZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICBwaXhLZXlUeXBlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHBpeEtleTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICBwZXJjZW50YWdlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICAgICAgLi4udGhpcy5pbml0aWFsVmFsaWRhdG9yT2ZQZXJjZW50YWdlLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXgodGhpcy5tYXhWYWx1ZVBlcmNlbnRhZ2UpLFxuICAgICAgICAgIF0pXG4gICAgICAgICksXG4gICAgICAgIGV4dGVybmFsSWQ6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgY3VzdG9tRmllbGRzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0VmFsaWRhdG9yc0FjY29yZGluZ0xpc3QoXG4gICAgICAgIHBpeEFjY291bnRMaXN0OiBvYmplY3RbXSxcbiAgICAgICAgaW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsLFxuICAgICAgICBpc0VkaXRNb2RlOiBib29sZWFuID0gdHJ1ZSxcbiAgICAgICAgZm9ybT86IEZvcm1Hcm91cFxuICAgICAgKTogdm9pZCB7XG4gICAgICAgIHZhciB0YXJnZXRGb3JtID0gKHR5cGVvZiBmb3JtICE9PSAndW5kZWZpbmVkJyAmJiBmb3JtICE9PSBudWxsKVxuICAgICAgICAgID8gZm9ybVxuICAgICAgICAgIDogdGhpcy5waXhBY2NvdW50Rm9ybUdyb3VwO1xuXG4gICAgICAgIHRoaXMucGl4QWNjb3VudExpc3QgPSAocGl4QWNjb3VudExpc3QgJiYgcGl4QWNjb3VudExpc3QubGVuZ3RoID4gMClcbiAgICAgICAgICA/IFtdLmNvbmNhdChwaXhBY2NvdW50TGlzdClcbiAgICAgICAgICA6IFtdO1xuXG4gICAgICAgIHZhciBwZXJjZW50YWdlSW5jbHVkZWQ6IG51bWJlcltdID0gW107XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnBpeEFjY291bnRMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGZpZWxkOiBhbnkgPSB0aGlzLnBpeEFjY291bnRMaXN0W2ldO1xuICAgICAgICAgIGlmIChmaWVsZCAmJiBmaWVsZC5wZXJjZW50YWdlICYmIGkgIT09IGluZGV4KSB7XG4gICAgICAgICAgICBwZXJjZW50YWdlSW5jbHVkZWQucHVzaChmaWVsZC5wZXJjZW50YWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJlZm9yZVNldFBpeEtleVR5cGVWYWxpZGF0b3IodGFyZ2V0Rm9ybSk7XG4gICAgICAgIHRoaXMuc2V0UGl4S2V5VmFsaWRhdG9ycyhpc0VkaXRNb2RlLCB0YXJnZXRGb3JtKTtcbiAgICAgICAgdGhpcy52YWxpZGF0ZVBlcmNlbnRhZ2VWYWxpZChwZXJjZW50YWdlSW5jbHVkZWQsIHRhcmdldEZvcm0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBiZWZvcmVTZXRQaXhLZXlUeXBlVmFsaWRhdG9yKGZvcm06IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm0uZ2V0KFwicGl4S2V5VHlwZVwiKTtcblxuICAgICAgaWYgKHRoaXMucGl4QWNjb3VudExpc3QgJiYgdGhpcy5waXhBY2NvdW50TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFxuICAgICAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUR1cGxpY2F0ZVBpeEtleVR5cGVCYW5rQWNjb3VudCh0aGlzLnBpeEFjY291bnRMaXN0KSxcbiAgICAgICAgICBdKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgfVxuICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFBpeEtleVZhbGlkYXRvcnMoaXNFZGl0TW9kZTogYm9vbGVhbiwgZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgICBjb25zdCBwaXhLZXkgPSBmb3JtLmdldChcInBpeEtleVwiKTtcbiAgICAgIHN3aXRjaCAodGhpcy5waXhLZXlUeXBlKSB7XG4gICAgICAgIGNhc2UgXCJURUxFUEhPTkVcIjpcbiAgICAgICAgICBwaXhLZXkuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEdlbmVyaWNWYWxpZGF0b3IuaXNWYWxpZFBob25lTnVtYmVyXSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiRU1BSUxcIjpcbiAgICAgICAgICBwaXhLZXkuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEdlbmVyaWNWYWxpZGF0b3IuaXNWYWxpZEVtYWlsXSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiQ1BGXCI6XG4gICAgICAgICAgcGl4S2V5LnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBHZW5lcmljVmFsaWRhdG9yLmlzVmFsaWRDcGZdKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJDTlBKXCI6XG4gICAgICAgICAgcGl4S2V5LnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBHZW5lcmljVmFsaWRhdG9yLmlzVmFsaWRDbnBqXSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiUkFORE9NX0tFWVwiOlxuICAgICAgICAgIHBpeEtleS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHBpeEtleS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRWRpdE1vZGUpIHtcbiAgICAgICAgcGl4S2V5LmVuYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICBwaXhLZXkudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB2YWxpZGF0ZVBlcmNlbnRhZ2VWYWxpZChsaXN0VmFsdWU6IG51bWJlcltdLCBmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSBmb3JtLmdldChcInBlcmNlbnRhZ2VcIik7XG4gICAgICB0aGlzLm1heFZhbHVlUGVyY2VudGFnZSA9IGxpc3RWYWx1ZS5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgLSB2YWwsIDEwMC4wKTtcblxuICAgICAgcGVyY2VudGFnZS5zZXRWYWxpZGF0b3JzKFxuICAgICAgICBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICAgIC4uLnRoaXMuaW5pdGlhbFZhbGlkYXRvck9mUGVyY2VudGFnZSxcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLm1heFZhbHVlUGVyY2VudGFnZSksXG4gICAgICAgIF0pXG4gICAgICApO1xuXG4gICAgICBwZXJjZW50YWdlLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlRHVwbGljYXRlUGl4S2V5VHlwZUJhbmtBY2NvdW50KGxpc3RDb21wYXJlOiBvYmplY3RbXSkge1xuICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSBsaXN0Q29tcGFyZS5zb21lKFxuICAgICAgICAgIChmaWVsZDogYW55KSA9PlxuICAgICAgICAgICAgdmFsdWUgJiZcbiAgICAgICAgICAgIGZpZWxkLnBpeEtleVR5cGUua2V5ID09PSBcIkJBTktfQUNDT1VOVFwiICYmXG4gICAgICAgICAgICB2YWx1ZS5rZXkgPT09IFwiQkFOS19BQ0NPVU5UXCJcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGlzRHVwbGljYXRlID8geyBwaXhLZXlUeXBlQmFua0FjY291bnREdXBsaWNhdGU6IHRydWUgfSA6IG51bGw7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGFyYW1zRm9ybSgpOiBGb3JtR3JvdXAge1xuICAgICAgcmV0dXJuIHRoaXMuX3BhcmFtc0Zvcm07XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBwYXJhbXNGb3JtKHZhbHVlOiBGb3JtR3JvdXApIHtcbiAgICAgIHRoaXMuX3BhcmFtc0Zvcm0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRlZmF1bHRDcGZOdW1iZXIoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0Q3BmTnVtYmVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGVmYXVsdENwZk51bWJlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICB0aGlzLl9kZWZhdWx0Q3BmTnVtYmVyID0gdmFsdWU7XG4gICAgfVxuICB9XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './shared-state.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import * as tslib_1 from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
let SharedStateService = class SharedStateService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.hideFieldSubject = new BehaviorSubject(true);
|
|
8
|
-
this.hideField$ = this.hideFieldSubject.asObservable();
|
|
9
|
-
this.showButtonSubject = new BehaviorSubject(true);
|
|
10
|
-
this.showButton$ = this.showButtonSubject.asObservable();
|
|
11
|
-
this.saveButtonSubject = new BehaviorSubject(true);
|
|
12
|
-
this.saveButton$ = this.saveButtonSubject.asObservable();
|
|
13
|
-
this.showEditMode = new BehaviorSubject(true);
|
|
14
|
-
this.showEditMode$ = this.showEditMode.asObservable();
|
|
15
|
-
this.activeValidatorsOnEditModalOpen = new Subject();
|
|
16
|
-
this.activeValidatorsOnEditModalOpen$ = this.activeValidatorsOnEditModalOpen.asObservable();
|
|
17
|
-
this.shouldReloadWindowOnlyEditMode = new BehaviorSubject(false);
|
|
18
|
-
this.shouldReloadWindowOnlyEditMode$ = this.shouldReloadWindowOnlyEditMode.asObservable();
|
|
19
|
-
this.hideBtnAddForViewMode = new BehaviorSubject(false);
|
|
20
|
-
this.hideBtnAddForViewMode$ = this.hideBtnAddForViewMode.asObservable();
|
|
21
|
-
}
|
|
22
|
-
setHideField(value) {
|
|
23
|
-
this.hideFieldSubject.next(value);
|
|
24
|
-
}
|
|
25
|
-
setShowButton(value) {
|
|
26
|
-
this.showButtonSubject.next(value);
|
|
27
|
-
}
|
|
28
|
-
setSaveButton(value) {
|
|
29
|
-
this.saveButtonSubject.next(value);
|
|
30
|
-
}
|
|
31
|
-
setShowEditMode(value) {
|
|
32
|
-
this.showEditMode.next(value);
|
|
33
|
-
}
|
|
34
|
-
setShouldReloadWindowOnlyEditMode(value) {
|
|
35
|
-
this.shouldReloadWindowOnlyEditMode.next(value);
|
|
36
|
-
}
|
|
37
|
-
triggerActiveValidatorsOnEditModalOpen() {
|
|
38
|
-
this.activeValidatorsOnEditModalOpen.next();
|
|
39
|
-
}
|
|
40
|
-
setHideBtnAddForViewMode(value) {
|
|
41
|
-
this.hideBtnAddForViewMode.next(value);
|
|
42
|
-
}
|
|
43
|
-
resetHideField() {
|
|
44
|
-
this.hideFieldSubject.next(true);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
SharedStateService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function SharedStateService_Factory() { return new SharedStateService(); }, token: SharedStateService, providedIn: "root" });
|
|
48
|
-
SharedStateService = tslib_1.__decorate([
|
|
49
|
-
Injectable({
|
|
50
|
-
providedIn: 'root',
|
|
51
|
-
})
|
|
52
|
-
], SharedStateService);
|
|
53
|
-
export { SharedStateService };
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmVkL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtoRCxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtJQUgvQjtRQUlZLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzlELGVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFMUMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDL0QsZ0JBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFNUMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDL0QsZ0JBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFNUMsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMxRCxrQkFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFekMsb0NBQStCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM5RCxxQ0FBZ0MsR0FBRyxJQUFJLENBQUMsK0JBQStCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFL0UsbUNBQThCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0Usb0NBQStCLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdFLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLDJCQUFzQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQWlDdEU7SUEvQkcsWUFBWSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGlDQUFpQyxDQUFDLEtBQWM7UUFDNUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsc0NBQXNDO1FBQ2xDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0osQ0FBQTs7QUFyRFksa0JBQWtCO0lBSDlCLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7R0FDVyxrQkFBa0IsQ0FxRDlCO1NBckRZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVkU3RhdGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGhpZGVGaWVsZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIGhpZGVGaWVsZCQgPSB0aGlzLmhpZGVGaWVsZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNob3dCdXR0b25TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBzaG93QnV0dG9uJCA9IHRoaXMuc2hvd0J1dHRvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNhdmVCdXR0b25TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBzYXZlQnV0dG9uJCA9IHRoaXMuc2F2ZUJ1dHRvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNob3dFZGl0TW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgc2hvd0VkaXRNb2RlJCA9IHRoaXMuc2hvd0VkaXRNb2RlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBhY3RpdmVWYWxpZGF0b3JzT25FZGl0TW9kYWxPcGVuID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBhY3RpdmVWYWxpZGF0b3JzT25FZGl0TW9kYWxPcGVuJCA9IHRoaXMuYWN0aXZlVmFsaWRhdG9yc09uRWRpdE1vZGFsT3Blbi5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgc2hvdWxkUmVsb2FkV2luZG93T25seUVkaXRNb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgc2hvdWxkUmVsb2FkV2luZG93T25seUVkaXRNb2RlJCA9IHRoaXMuc2hvdWxkUmVsb2FkV2luZG93T25seUVkaXRNb2RlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBoaWRlQnRuQWRkRm9yVmlld01vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBoaWRlQnRuQWRkRm9yVmlld01vZGUkID0gdGhpcy5oaWRlQnRuQWRkRm9yVmlld01vZGUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBzZXRIaWRlRmllbGQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5oaWRlRmllbGRTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHNldFNob3dCdXR0b24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRTYXZlQnV0dG9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2F2ZUJ1dHRvblN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0U2hvd0VkaXRNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0VkaXRNb2RlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHNldFNob3VsZFJlbG9hZFdpbmRvd09ubHlFZGl0TW9kZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNob3VsZFJlbG9hZFdpbmRvd09ubHlFZGl0TW9kZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0cmlnZ2VyQWN0aXZlVmFsaWRhdG9yc09uRWRpdE1vZGFsT3BlbigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVWYWxpZGF0b3JzT25FZGl0TW9kYWxPcGVuLm5leHQoKTtcbiAgICB9XG5cbiAgICBzZXRIaWRlQnRuQWRkRm9yVmlld01vZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5oaWRlQnRuQWRkRm9yVmlld01vZGUubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmVzZXRIaWRlRmllbGQoKSB7XG4gICAgICAgIHRoaXMuaGlkZUZpZWxkU3ViamVjdC5uZXh0KHRydWUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import * as tslib_1 from "tslib";
|
|
2
|
-
import { FormGroup, Validators, } from "@angular/forms";
|
|
3
|
-
import { GenericValidator } from "../utils/generic-validators";
|
|
4
|
-
import { FormatUtilsService } from "../utils/format-utils/format-utils.service";
|
|
5
|
-
var HistoricakPixAccountBase = /** @class */ (function () {
|
|
6
|
-
function HistoricakPixAccountBase(formBuilder) {
|
|
7
|
-
this._paramsForm = new FormGroup({});
|
|
8
|
-
this._defaultCpfNumber = null;
|
|
9
|
-
this.initialValidatorOfPercentage = [Validators.required, Validators.min(0.01)];
|
|
10
|
-
this.pixAccountList = [];
|
|
11
|
-
this.maxValuePercentage = 100.0;
|
|
12
|
-
this.isShowPixKeyFieldValidatorMessage = false;
|
|
13
|
-
this.formBuilder = formBuilder;
|
|
14
|
-
this.createFormGroupBase();
|
|
15
|
-
}
|
|
16
|
-
HistoricakPixAccountBase.prototype.phoneMask = function (event) {
|
|
17
|
-
FormatUtilsService.formatTelephoneInputEvent(event);
|
|
18
|
-
};
|
|
19
|
-
HistoricakPixAccountBase.prototype.cpfMask = function (event) {
|
|
20
|
-
FormatUtilsService.formatCpfInputEvent(event);
|
|
21
|
-
};
|
|
22
|
-
HistoricakPixAccountBase.prototype.cnpjMask = function (event) {
|
|
23
|
-
FormatUtilsService.formatCnpjInputEvent(event);
|
|
24
|
-
};
|
|
25
|
-
HistoricakPixAccountBase.prototype.onChangePixKeyType = function (item, form) {
|
|
26
|
-
if (!item || !item.key)
|
|
27
|
-
return;
|
|
28
|
-
this.pixKeyType = item.key;
|
|
29
|
-
var targetForm = (typeof form !== 'undefined' && form !== null)
|
|
30
|
-
? form
|
|
31
|
-
: this.pixAccountFormGroup;
|
|
32
|
-
this.isShowPixKeyFieldValidatorMessage = true;
|
|
33
|
-
var pixKeyControl = targetForm.get("pixKey");
|
|
34
|
-
if (pixKeyControl) {
|
|
35
|
-
pixKeyControl.reset();
|
|
36
|
-
}
|
|
37
|
-
this.setPixKeyValidators(true, targetForm);
|
|
38
|
-
if (item.key === "CPF") {
|
|
39
|
-
this.setDefaultCpfPixKey(targetForm);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
HistoricakPixAccountBase.prototype.onClearPixKeyType = function (form) {
|
|
43
|
-
var targetForm = (typeof form !== 'undefined' && form !== null)
|
|
44
|
-
? form
|
|
45
|
-
: this.pixAccountFormGroup;
|
|
46
|
-
this.isShowPixKeyFieldValidatorMessage = false;
|
|
47
|
-
if (targetForm.get("pixKey")) {
|
|
48
|
-
targetForm.get("pixKey").reset();
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
HistoricakPixAccountBase.prototype.setDefaultCpfPixKey = function (form) {
|
|
52
|
-
var targetForm = (typeof form !== 'undefined' && form !== null)
|
|
53
|
-
? form
|
|
54
|
-
: this.pixAccountFormGroup;
|
|
55
|
-
if (this._defaultCpfNumber) {
|
|
56
|
-
if (targetForm.get("pixKey")) {
|
|
57
|
-
targetForm.get("pixKey").setValue(this._defaultCpfNumber);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
var sheetDocument = this._paramsForm.get("sheetDocument");
|
|
62
|
-
if (sheetDocument && sheetDocument.get("cpfNumber")) {
|
|
63
|
-
var cpf = sheetDocument.get("cpfNumber").value;
|
|
64
|
-
if (cpf && targetForm.get("pixKey")) {
|
|
65
|
-
targetForm.get("pixKey").setValue(cpf);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
HistoricakPixAccountBase.prototype.createFormGroupBase = function () {
|
|
71
|
-
this.pixAccountFormGroup = this.formBuilder.group({
|
|
72
|
-
id: this.formBuilder.control(null),
|
|
73
|
-
index: this.formBuilder.control(null),
|
|
74
|
-
employee: this.formBuilder.control({ value: { tableId: null }, disabled: true }),
|
|
75
|
-
dateChange: this.formBuilder.control(null),
|
|
76
|
-
pixKeyType: this.formBuilder.control(null, Validators.required),
|
|
77
|
-
pixKey: this.formBuilder.control(null),
|
|
78
|
-
percentage: this.formBuilder.control(null, Validators.compose(tslib_1.__spread(this.initialValidatorOfPercentage, [
|
|
79
|
-
Validators.max(this.maxValuePercentage),
|
|
80
|
-
]))),
|
|
81
|
-
externalId: this.formBuilder.control(null),
|
|
82
|
-
customFields: this.formBuilder.control(null),
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
HistoricakPixAccountBase.prototype.setValidatorsAccordingList = function (pixAccountList, index, isEditMode, form) {
|
|
86
|
-
if (index === void 0) { index = null; }
|
|
87
|
-
if (isEditMode === void 0) { isEditMode = true; }
|
|
88
|
-
var targetForm = (typeof form !== 'undefined' && form !== null)
|
|
89
|
-
? form
|
|
90
|
-
: this.pixAccountFormGroup;
|
|
91
|
-
this.pixAccountList = (pixAccountList && pixAccountList.length > 0)
|
|
92
|
-
? [].concat(pixAccountList)
|
|
93
|
-
: [];
|
|
94
|
-
var percentageIncluded = [];
|
|
95
|
-
for (var i = 0; i < this.pixAccountList.length; i++) {
|
|
96
|
-
var field = this.pixAccountList[i];
|
|
97
|
-
if (field && field.percentage && i !== index) {
|
|
98
|
-
percentageIncluded.push(field.percentage);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
this.beforeSetPixKeyTypeValidator(targetForm);
|
|
102
|
-
this.setPixKeyValidators(isEditMode, targetForm);
|
|
103
|
-
this.validatePercentageValid(percentageIncluded, targetForm);
|
|
104
|
-
};
|
|
105
|
-
HistoricakPixAccountBase.prototype.beforeSetPixKeyTypeValidator = function (form) {
|
|
106
|
-
var control = form.get("pixKeyType");
|
|
107
|
-
if (this.pixAccountList && this.pixAccountList.length) {
|
|
108
|
-
control.setValidators(Validators.compose([
|
|
109
|
-
Validators.required,
|
|
110
|
-
this.validateDuplicatePixKeyTypeBankAccount(this.pixAccountList),
|
|
111
|
-
]));
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
control.setValidators(Validators.required);
|
|
115
|
-
}
|
|
116
|
-
control.updateValueAndValidity();
|
|
117
|
-
};
|
|
118
|
-
HistoricakPixAccountBase.prototype.setPixKeyValidators = function (isEditMode, form) {
|
|
119
|
-
var pixKey = form.get("pixKey");
|
|
120
|
-
switch (this.pixKeyType) {
|
|
121
|
-
case "TELEPHONE":
|
|
122
|
-
pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidPhoneNumber]));
|
|
123
|
-
break;
|
|
124
|
-
case "EMAIL":
|
|
125
|
-
pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidEmail]));
|
|
126
|
-
break;
|
|
127
|
-
case "CPF":
|
|
128
|
-
pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidCpf]));
|
|
129
|
-
break;
|
|
130
|
-
case "CNPJ":
|
|
131
|
-
pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidCnpj]));
|
|
132
|
-
break;
|
|
133
|
-
case "RANDOM_KEY":
|
|
134
|
-
pixKey.setValidators(Validators.required);
|
|
135
|
-
break;
|
|
136
|
-
default:
|
|
137
|
-
pixKey.clearValidators();
|
|
138
|
-
}
|
|
139
|
-
if (isEditMode) {
|
|
140
|
-
pixKey.enable();
|
|
141
|
-
}
|
|
142
|
-
pixKey.updateValueAndValidity();
|
|
143
|
-
};
|
|
144
|
-
HistoricakPixAccountBase.prototype.validatePercentageValid = function (listValue, form) {
|
|
145
|
-
var percentage = form.get("percentage");
|
|
146
|
-
this.maxValuePercentage = listValue.reduce(function (acc, val) { return acc - val; }, 100.0);
|
|
147
|
-
percentage.setValidators(Validators.compose(tslib_1.__spread(this.initialValidatorOfPercentage, [
|
|
148
|
-
Validators.max(this.maxValuePercentage),
|
|
149
|
-
])));
|
|
150
|
-
percentage.updateValueAndValidity();
|
|
151
|
-
};
|
|
152
|
-
HistoricakPixAccountBase.prototype.validateDuplicatePixKeyTypeBankAccount = function (listCompare) {
|
|
153
|
-
return function (control) {
|
|
154
|
-
var value = control.value;
|
|
155
|
-
var isDuplicate = listCompare.some(function (field) {
|
|
156
|
-
return value &&
|
|
157
|
-
field.pixKeyType.key === "BANK_ACCOUNT" &&
|
|
158
|
-
value.key === "BANK_ACCOUNT";
|
|
159
|
-
});
|
|
160
|
-
return isDuplicate ? { pixKeyTypeBankAccountDuplicate: true } : null;
|
|
161
|
-
};
|
|
162
|
-
};
|
|
163
|
-
Object.defineProperty(HistoricakPixAccountBase.prototype, "paramsForm", {
|
|
164
|
-
get: function () {
|
|
165
|
-
return this._paramsForm;
|
|
166
|
-
},
|
|
167
|
-
set: function (value) {
|
|
168
|
-
this._paramsForm = value;
|
|
169
|
-
},
|
|
170
|
-
enumerable: true,
|
|
171
|
-
configurable: true
|
|
172
|
-
});
|
|
173
|
-
Object.defineProperty(HistoricakPixAccountBase.prototype, "defaultCpfNumber", {
|
|
174
|
-
get: function () {
|
|
175
|
-
return this._defaultCpfNumber;
|
|
176
|
-
},
|
|
177
|
-
set: function (value) {
|
|
178
|
-
this._defaultCpfNumber = value;
|
|
179
|
-
},
|
|
180
|
-
enumerable: true,
|
|
181
|
-
configurable: true
|
|
182
|
-
});
|
|
183
|
-
return HistoricakPixAccountBase;
|
|
184
|
-
}());
|
|
185
|
-
export { HistoricakPixAccountBase };
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9wYXlyb2xsLWNvcmUvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2hpc3RvcmljYWwtcGl4LWFjY291bnQvaGlzdG9yaWNhbC1waXgtYWNjb3VudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBR0gsU0FBUyxFQUVULFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGO0lBWUUsa0NBQVksV0FBd0I7UUFWMUIsZ0JBQVcsR0FBYyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxzQkFBaUIsR0FBVyxJQUFJLENBQUM7UUFFcEMsaUNBQTRCLEdBQWtCLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUYsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDOUIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRzNCLHNDQUFpQyxHQUFHLEtBQUssQ0FBQztRQUcvQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sNENBQVMsR0FBaEIsVUFBaUIsS0FBVTtRQUN2QixrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sMENBQU8sR0FBZCxVQUFlLEtBQVU7UUFDckIsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLDJDQUFRLEdBQWYsVUFBZ0IsS0FBVTtRQUN0Qixr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QUMzQixDQUFDOzs7T0FKQTtJQU1ELHNCQUFXLHNEQUFnQjthQUEzQjtZQUNFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ2hDLENBQUM7YUFFRCxVQUE0QixLQUFhO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDakMsQ0FBQzs7O09BSkE7SUFLSCwrQkFBQztBQUFELENBQUMsQUEzTkQsSUEyTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQnVpbGRlcixcbiAgICBGb3JtR3JvdXAsXG4gICAgVmFsaWRhdG9yRm4sXG4gICAgVmFsaWRhdG9ycyxcbiAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbiAgaW1wb3J0IHsgR2VuZXJpY1ZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlscy9nZW5lcmljLXZhbGlkYXRvcnNcIjtcbiAgaW1wb3J0IHsgRm9ybWF0VXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL2Zvcm1hdC11dGlscy9mb3JtYXQtdXRpbHMuc2VydmljZVwiO1xuXG4gIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIaXN0b3JpY2FrUGl4QWNjb3VudEJhc2Uge1xuICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXI7XG4gICAgcHJvdGVjdGVkIF9wYXJhbXNGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICBwcm90ZWN0ZWQgX2RlZmF1bHRDcGZOdW1iZXI6IHN0cmluZyA9IG51bGw7XG5cbiAgICBwdWJsaWMgaW5pdGlhbFZhbGlkYXRvck9mUGVyY2VudGFnZTogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwLjAxKV07XG4gICAgcHVibGljIHBpeEFjY291bnRMaXN0OiBvYmplY3RbXSA9IFtdO1xuICAgIHB1YmxpYyBtYXhWYWx1ZVBlcmNlbnRhZ2UgPSAxMDAuMDtcbiAgICBwdWJsaWMgcGl4S2V5VHlwZTogc3RyaW5nO1xuICAgIHB1YmxpYyBwaXhBY2NvdW50Rm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGlzU2hvd1BpeEtleUZpZWxkVmFsaWRhdG9yTWVzc2FnZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gICAgICB0aGlzLmZvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cEJhc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGhvbmVNYXNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgRm9ybWF0VXRpbHNTZXJ2aWNlLmZvcm1hdFRlbGVwaG9uZUlucHV0RXZlbnQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcGZNYXNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgRm9ybWF0VXRpbHNTZXJ2aWNlLmZvcm1hdENwZklucHV0RXZlbnQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbnBqTWFzayhldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIEZvcm1hdFV0aWxzU2VydmljZS5mb3JtYXRDbnBqSW5wdXRFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlUGl4S2V5VHlwZShpdGVtOiBhbnksIGZvcm0/OiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpdGVtIHx8ICFpdGVtLmtleSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMucGl4S2V5VHlwZSA9IGl0ZW0ua2V5O1xuXG4gICAgICAgIGNvbnN0IHRhcmdldEZvcm0gPSAodHlwZW9mIGZvcm0gIT09ICd1bmRlZmluZWQnICYmIGZvcm0gIT09IG51bGwpXG4gICAgICAgICAgPyBmb3JtXG4gICAgICAgICAgOiB0aGlzLnBpeEFjY291bnRGb3JtR3JvdXA7XG5cbiAgICAgICAgdGhpcy5pc1Nob3dQaXhLZXlGaWVsZFZhbGlkYXRvck1lc3NhZ2UgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IHBpeEtleUNvbnRyb2wgPSB0YXJnZXRGb3JtLmdldChcInBpeEtleVwiKTtcbiAgICAgICAgaWYgKHBpeEtleUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHBpeEtleUNvbnRyb2wucmVzZXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UGl4S2V5VmFsaWRhdG9ycyh0cnVlLCB0YXJnZXRGb3JtKTtcblxuICAgICAgICBpZiAoaXRlbS5rZXkgPT09IFwiQ1BGXCIpIHtcbiAgICAgICAgICB0aGlzLnNldERlZmF1bHRDcGZQaXhLZXkodGFyZ2V0Rm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGVhclBpeEtleVR5cGUoZm9ybT86IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgICAgICB2YXIgdGFyZ2V0Rm9ybSA9ICh0eXBlb2YgZm9ybSAhPT0gJ3VuZGVmaW5lZCcgJiYgZm9ybSAhPT0gbnVsbClcbiAgICAgICAgICA/IGZvcm1cbiAgICAgICAgICA6IHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cDtcblxuICAgICAgICB0aGlzLmlzU2hvd1BpeEtleUZpZWxkVmFsaWRhdG9yTWVzc2FnZSA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0YXJnZXRGb3JtLmdldChcInBpeEtleVwiKSkge1xuICAgICAgICAgIHRhcmdldEZvcm0uZ2V0KFwicGl4S2V5XCIpLnJlc2V0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHVibGljIHNldERlZmF1bHRDcGZQaXhLZXkoZm9ybT86IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgICAgICB2YXIgdGFyZ2V0Rm9ybSA9ICh0eXBlb2YgZm9ybSAhPT0gJ3VuZGVmaW5lZCcgJiYgZm9ybSAhPT0gbnVsbClcbiAgICAgICAgICA/IGZvcm1cbiAgICAgICAgICA6IHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cDtcblxuICAgICAgICBpZiAodGhpcy5fZGVmYXVsdENwZk51bWJlcikge1xuICAgICAgICAgIGlmICh0YXJnZXRGb3JtLmdldChcInBpeEtleVwiKSkge1xuICAgICAgICAgICAgdGFyZ2V0Rm9ybS5nZXQoXCJwaXhLZXlcIikuc2V0VmFsdWUodGhpcy5fZGVmYXVsdENwZk51bWJlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBzaGVldERvY3VtZW50ID0gdGhpcy5fcGFyYW1zRm9ybS5nZXQoXCJzaGVldERvY3VtZW50XCIpO1xuICAgICAgICAgIGlmIChzaGVldERvY3VtZW50ICYmIHNoZWV0RG9jdW1lbnQuZ2V0KFwiY3BmTnVtYmVyXCIpKSB7XG4gICAgICAgICAgICB2YXIgY3BmID0gc2hlZXREb2N1bWVudC5nZXQoXCJjcGZOdW1iZXJcIikudmFsdWU7XG4gICAgICAgICAgICBpZiAoY3BmICYmIHRhcmdldEZvcm0uZ2V0KFwicGl4S2V5XCIpKSB7XG4gICAgICAgICAgICAgIHRhcmdldEZvcm0uZ2V0KFwicGl4S2V5XCIpLnNldFZhbHVlKGNwZik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUZvcm1Hcm91cEJhc2UoKTogdm9pZCB7XG4gICAgICB0aGlzLnBpeEFjY291bnRGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgaWQ6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgaW5kZXg6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgZW1wbG95ZWU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiB7IHRhYmxlSWQ6IG51bGwgfSwgZGlzYWJsZWQ6IHRydWUgfSksXG4gICAgICAgIGRhdGVDaGFuZ2U6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgcGl4S2V5VHlwZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBwaXhLZXk6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgcGVyY2VudGFnZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgICAgIC4uLnRoaXMuaW5pdGlhbFZhbGlkYXRvck9mUGVyY2VudGFnZSxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4KHRoaXMubWF4VmFsdWVQZXJjZW50YWdlKSxcbiAgICAgICAgICBdKVxuICAgICAgICApLFxuICAgICAgICBleHRlcm5hbElkOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCksXG4gICAgICAgIGN1c3RvbUZpZWxkczogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFZhbGlkYXRvcnNBY2NvcmRpbmdMaXN0KFxuICAgICAgICBwaXhBY2NvdW50TGlzdDogb2JqZWN0W10sXG4gICAgICAgIGluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbCxcbiAgICAgICAgaXNFZGl0TW9kZTogYm9vbGVhbiA9IHRydWUsXG4gICAgICAgIGZvcm0/OiBGb3JtR3JvdXBcbiAgICAgICk6IHZvaWQge1xuICAgICAgICB2YXIgdGFyZ2V0Rm9ybSA9ICh0eXBlb2YgZm9ybSAhPT0gJ3VuZGVmaW5lZCcgJiYgZm9ybSAhPT0gbnVsbClcbiAgICAgICAgICA/IGZvcm1cbiAgICAgICAgICA6IHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cDtcblxuICAgICAgICB0aGlzLnBpeEFjY291bnRMaXN0ID0gKHBpeEFjY291bnRMaXN0ICYmIHBpeEFjY291bnRMaXN0Lmxlbmd0aCA+IDApXG4gICAgICAgICAgPyBbXS5jb25jYXQocGl4QWNjb3VudExpc3QpXG4gICAgICAgICAgOiBbXTtcblxuICAgICAgICB2YXIgcGVyY2VudGFnZUluY2x1ZGVkOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5waXhBY2NvdW50TGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHZhciBmaWVsZDogYW55ID0gdGhpcy5waXhBY2NvdW50TGlzdFtpXTtcbiAgICAgICAgICBpZiAoZmllbGQgJiYgZmllbGQucGVyY2VudGFnZSAmJiBpICE9PSBpbmRleCkge1xuICAgICAgICAgICAgcGVyY2VudGFnZUluY2x1ZGVkLnB1c2goZmllbGQucGVyY2VudGFnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5iZWZvcmVTZXRQaXhLZXlUeXBlVmFsaWRhdG9yKHRhcmdldEZvcm0pO1xuICAgICAgICB0aGlzLnNldFBpeEtleVZhbGlkYXRvcnMoaXNFZGl0TW9kZSwgdGFyZ2V0Rm9ybSk7XG4gICAgICAgIHRoaXMudmFsaWRhdGVQZXJjZW50YWdlVmFsaWQocGVyY2VudGFnZUluY2x1ZGVkLCB0YXJnZXRGb3JtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYmVmb3JlU2V0UGl4S2V5VHlwZVZhbGlkYXRvcihmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmdldChcInBpeEtleVR5cGVcIik7XG5cbiAgICAgIGlmICh0aGlzLnBpeEFjY291bnRMaXN0ICYmIHRoaXMucGl4QWNjb3VudExpc3QubGVuZ3RoKSB7XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhcbiAgICAgICAgICBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVEdXBsaWNhdGVQaXhLZXlUeXBlQmFua0FjY291bnQodGhpcy5waXhBY2NvdW50TGlzdCksXG4gICAgICAgICAgXSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgIH1cbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRQaXhLZXlWYWxpZGF0b3JzKGlzRWRpdE1vZGU6IGJvb2xlYW4sIGZvcm06IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgICAgY29uc3QgcGl4S2V5ID0gZm9ybS5nZXQoXCJwaXhLZXlcIik7XG4gICAgICBzd2l0Y2ggKHRoaXMucGl4S2V5VHlwZSkge1xuICAgICAgICBjYXNlIFwiVEVMRVBIT05FXCI6XG4gICAgICAgICAgcGl4S2V5LnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBHZW5lcmljVmFsaWRhdG9yLmlzVmFsaWRQaG9uZU51bWJlcl0pKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkVNQUlMXCI6XG4gICAgICAgICAgcGl4S2V5LnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBHZW5lcmljVmFsaWRhdG9yLmlzVmFsaWRFbWFpbF0pKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkNQRlwiOlxuICAgICAgICAgIHBpeEtleS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgR2VuZXJpY1ZhbGlkYXRvci5pc1ZhbGlkQ3BmXSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiQ05QSlwiOlxuICAgICAgICAgIHBpeEtleS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgR2VuZXJpY1ZhbGlkYXRvci5pc1ZhbGlkQ25wal0pKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIlJBTkRPTV9LRVlcIjpcbiAgICAgICAgICBwaXhLZXkuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBwaXhLZXkuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0VkaXRNb2RlKSB7XG4gICAgICAgIHBpeEtleS5lbmFibGUoKTtcbiAgICAgIH1cblxuICAgICAgcGl4S2V5LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGVQZXJjZW50YWdlVmFsaWQobGlzdFZhbHVlOiBudW1iZXJbXSwgZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgICBjb25zdCBwZXJjZW50YWdlID0gZm9ybS5nZXQoXCJwZXJjZW50YWdlXCIpO1xuICAgICAgdGhpcy5tYXhWYWx1ZVBlcmNlbnRhZ2UgPSBsaXN0VmFsdWUucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjIC0gdmFsLCAxMDAuMCk7XG5cbiAgICAgIHBlcmNlbnRhZ2Uuc2V0VmFsaWRhdG9ycyhcbiAgICAgICAgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgICAuLi50aGlzLmluaXRpYWxWYWxpZGF0b3JPZlBlcmNlbnRhZ2UsXG4gICAgICAgICAgVmFsaWRhdG9ycy5tYXgodGhpcy5tYXhWYWx1ZVBlcmNlbnRhZ2UpLFxuICAgICAgICBdKVxuICAgICAgKTtcblxuICAgICAgcGVyY2VudGFnZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUR1cGxpY2F0ZVBpeEtleVR5cGVCYW5rQWNjb3VudChsaXN0Q29tcGFyZTogb2JqZWN0W10pIHtcbiAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgIGNvbnN0IGlzRHVwbGljYXRlID0gbGlzdENvbXBhcmUuc29tZShcbiAgICAgICAgICAoZmllbGQ6IGFueSkgPT5cbiAgICAgICAgICAgIHZhbHVlICYmXG4gICAgICAgICAgICBmaWVsZC5waXhLZXlUeXBlLmtleSA9PT0gXCJCQU5LX0FDQ09VTlRcIiAmJlxuICAgICAgICAgICAgdmFsdWUua2V5ID09PSBcIkJBTktfQUNDT1VOVFwiXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBpc0R1cGxpY2F0ZSA/IHsgcGl4S2V5VHlwZUJhbmtBY2NvdW50RHVwbGljYXRlOiB0cnVlIH0gOiBudWxsO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhcmFtc0Zvcm0oKTogRm9ybUdyb3VwIHtcbiAgICAgIHJldHVybiB0aGlzLl9wYXJhbXNGb3JtO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcGFyYW1zRm9ybSh2YWx1ZTogRm9ybUdyb3VwKSB7XG4gICAgICB0aGlzLl9wYXJhbXNGb3JtID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZWZhdWx0Q3BmTnVtYmVyKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdENwZk51bWJlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGRlZmF1bHRDcGZOdW1iZXIodmFsdWU6IHN0cmluZykge1xuICAgICAgdGhpcy5fZGVmYXVsdENwZk51bWJlciA9IHZhbHVlO1xuICAgIH1cbiAgfVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './shared-state.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import * as tslib_1 from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
var SharedStateService = /** @class */ (function () {
|
|
6
|
-
function SharedStateService() {
|
|
7
|
-
this.hideFieldSubject = new BehaviorSubject(true);
|
|
8
|
-
this.hideField$ = this.hideFieldSubject.asObservable();
|
|
9
|
-
this.showButtonSubject = new BehaviorSubject(true);
|
|
10
|
-
this.showButton$ = this.showButtonSubject.asObservable();
|
|
11
|
-
this.saveButtonSubject = new BehaviorSubject(true);
|
|
12
|
-
this.saveButton$ = this.saveButtonSubject.asObservable();
|
|
13
|
-
this.showEditMode = new BehaviorSubject(true);
|
|
14
|
-
this.showEditMode$ = this.showEditMode.asObservable();
|
|
15
|
-
this.activeValidatorsOnEditModalOpen = new Subject();
|
|
16
|
-
this.activeValidatorsOnEditModalOpen$ = this.activeValidatorsOnEditModalOpen.asObservable();
|
|
17
|
-
this.shouldReloadWindowOnlyEditMode = new BehaviorSubject(false);
|
|
18
|
-
this.shouldReloadWindowOnlyEditMode$ = this.shouldReloadWindowOnlyEditMode.asObservable();
|
|
19
|
-
this.hideBtnAddForViewMode = new BehaviorSubject(false);
|
|
20
|
-
this.hideBtnAddForViewMode$ = this.hideBtnAddForViewMode.asObservable();
|
|
21
|
-
}
|
|
22
|
-
SharedStateService.prototype.setHideField = function (value) {
|
|
23
|
-
this.hideFieldSubject.next(value);
|
|
24
|
-
};
|
|
25
|
-
SharedStateService.prototype.setShowButton = function (value) {
|
|
26
|
-
this.showButtonSubject.next(value);
|
|
27
|
-
};
|
|
28
|
-
SharedStateService.prototype.setSaveButton = function (value) {
|
|
29
|
-
this.saveButtonSubject.next(value);
|
|
30
|
-
};
|
|
31
|
-
SharedStateService.prototype.setShowEditMode = function (value) {
|
|
32
|
-
this.showEditMode.next(value);
|
|
33
|
-
};
|
|
34
|
-
SharedStateService.prototype.setShouldReloadWindowOnlyEditMode = function (value) {
|
|
35
|
-
this.shouldReloadWindowOnlyEditMode.next(value);
|
|
36
|
-
};
|
|
37
|
-
SharedStateService.prototype.triggerActiveValidatorsOnEditModalOpen = function () {
|
|
38
|
-
this.activeValidatorsOnEditModalOpen.next();
|
|
39
|
-
};
|
|
40
|
-
SharedStateService.prototype.setHideBtnAddForViewMode = function (value) {
|
|
41
|
-
this.hideBtnAddForViewMode.next(value);
|
|
42
|
-
};
|
|
43
|
-
SharedStateService.prototype.resetHideField = function () {
|
|
44
|
-
this.hideFieldSubject.next(true);
|
|
45
|
-
};
|
|
46
|
-
SharedStateService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function SharedStateService_Factory() { return new SharedStateService(); }, token: SharedStateService, providedIn: "root" });
|
|
47
|
-
SharedStateService = tslib_1.__decorate([
|
|
48
|
-
Injectable({
|
|
49
|
-
providedIn: 'root',
|
|
50
|
-
})
|
|
51
|
-
], SharedStateService);
|
|
52
|
-
return SharedStateService;
|
|
53
|
-
}());
|
|
54
|
-
export { SharedStateService };
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmVkL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtoRDtJQUhBO1FBSVkscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDOUQsZUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUxQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV6QyxvQ0FBK0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzlELHFDQUFnQyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUvRSxtQ0FBOEIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RSxvQ0FBK0IsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFN0UsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEUsMkJBQXNCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO0tBaUN0RTtJQS9CRyx5Q0FBWSxHQUFaLFVBQWEsS0FBYztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCwwQ0FBYSxHQUFiLFVBQWMsS0FBYztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCwwQ0FBYSxHQUFiLFVBQWMsS0FBYztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCw0Q0FBZSxHQUFmLFVBQWdCLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELDhEQUFpQyxHQUFqQyxVQUFrQyxLQUFjO1FBQzVDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELG1FQUFzQyxHQUF0QztRQUNJLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQscURBQXdCLEdBQXhCLFVBQXlCLEtBQWM7UUFDbkMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsMkNBQWMsR0FBZDtRQUNJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQzs7SUFwRFEsa0JBQWtCO1FBSDlCLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7T0FDVyxrQkFBa0IsQ0FxRDlCOzZCQTNERDtDQTJEQyxBQXJERCxJQXFEQztTQXJEWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZFN0YXRlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBoaWRlRmllbGRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBoaWRlRmllbGQkID0gdGhpcy5oaWRlRmllbGRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBzaG93QnV0dG9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgc2hvd0J1dHRvbiQgPSB0aGlzLnNob3dCdXR0b25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBzYXZlQnV0dG9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgc2F2ZUJ1dHRvbiQgPSB0aGlzLnNhdmVCdXR0b25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBzaG93RWRpdE1vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIHNob3dFZGl0TW9kZSQgPSB0aGlzLnNob3dFZGl0TW9kZS5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgYWN0aXZlVmFsaWRhdG9yc09uRWRpdE1vZGFsT3BlbiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgYWN0aXZlVmFsaWRhdG9yc09uRWRpdE1vZGFsT3BlbiQgPSB0aGlzLmFjdGl2ZVZhbGlkYXRvcnNPbkVkaXRNb2RhbE9wZW4uYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNob3VsZFJlbG9hZFdpbmRvd09ubHlFZGl0TW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHNob3VsZFJlbG9hZFdpbmRvd09ubHlFZGl0TW9kZSQgPSB0aGlzLnNob3VsZFJlbG9hZFdpbmRvd09ubHlFZGl0TW9kZS5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgaGlkZUJ0bkFkZEZvclZpZXdNb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgaGlkZUJ0bkFkZEZvclZpZXdNb2RlJCA9IHRoaXMuaGlkZUJ0bkFkZEZvclZpZXdNb2RlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgc2V0SGlkZUZpZWxkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaGlkZUZpZWxkU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRTaG93QnV0dG9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvblN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0U2F2ZUJ1dHRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNhdmVCdXR0b25TdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHNldFNob3dFZGl0TW9kZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNob3dFZGl0TW9kZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRTaG91bGRSZWxvYWRXaW5kb3dPbmx5RWRpdE1vZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG91bGRSZWxvYWRXaW5kb3dPbmx5RWRpdE1vZGUubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgdHJpZ2dlckFjdGl2ZVZhbGlkYXRvcnNPbkVkaXRNb2RhbE9wZW4oKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlVmFsaWRhdG9yc09uRWRpdE1vZGFsT3Blbi5uZXh0KCk7XG4gICAgfVxuXG4gICAgc2V0SGlkZUJ0bkFkZEZvclZpZXdNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaGlkZUJ0bkFkZEZvclZpZXdNb2RlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHJlc2V0SGlkZUZpZWxkKCkge1xuICAgICAgICB0aGlzLmhpZGVGaWVsZFN1YmplY3QubmV4dCh0cnVlKTtcbiAgICB9XG59XG4iXX0=
|