@rlucan/ui 14.2.5 → 16.2.2
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/README.md +24 -24
- package/esm2022/lib/action-button/action-button.component.mjs +99 -0
- package/esm2022/lib/action-icon/action-icon.component.mjs +37 -0
- package/esm2022/lib/autocomplete/autocomplete.component.mjs +391 -0
- package/esm2022/lib/avatar/avatar.component.mjs +34 -0
- package/esm2022/lib/button/button.component.mjs +57 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/checkbox-group/checkbox-group.component.mjs +6 -6
- package/esm2022/lib/currency/currency.component.mjs +151 -0
- package/esm2022/lib/date/date.component.mjs +68 -0
- package/{esm2020 → esm2022}/lib/dialog/dialog.component.mjs +5 -5
- package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +104 -0
- package/esm2022/lib/editor/editor.component.mjs +119 -0
- package/{esm2020 → esm2022}/lib/elements/burger/burger.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/elements/expander/expander.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/elements/validation-message/validation-message.component.mjs +4 -4
- package/esm2022/lib/file/file.component.mjs +145 -0
- package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +405 -0
- package/esm2022/lib/input/input.component.mjs +265 -0
- package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +277 -0
- package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +22 -0
- package/esm2022/lib/layouts/base/ui-base.component.mjs +74 -0
- package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +18 -0
- package/esm2022/lib/layouts/simple/ui-simple.component.mjs +166 -0
- package/{esm2020 → esm2022}/lib/radio/radio.component.mjs +4 -4
- package/esm2022/lib/radio-group/radio-group.component.mjs +53 -0
- package/esm2022/lib/select/select.component.mjs +126 -0
- package/{esm2020 → esm2022}/lib/services/message-box.service.mjs +10 -10
- package/{esm2020 → esm2022}/lib/services/toast.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/ui-file.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/ui-translate.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/submit-button/submit-button.component.mjs +4 -4
- package/esm2022/lib/table/table.component.mjs +97 -0
- package/esm2022/lib/text-area/text-area.component.mjs +46 -0
- package/esm2022/lib/ui.module.mjs +269 -0
- package/esm2022/public-api.mjs +35 -0
- package/fesm2022/rlucan-ui.mjs +3453 -0
- package/fesm2022/rlucan-ui.mjs.map +1 -0
- package/lib/action-button/action-button.component.d.ts +3 -7
- package/lib/action-icon/action-icon.component.d.ts +1 -1
- package/lib/autocomplete/autocomplete.component.d.ts +2 -2
- package/lib/avatar/avatar.component.d.ts +1 -1
- package/lib/button/button.component.d.ts +1 -1
- package/lib/checkbox/checkbox.component.d.ts +2 -2
- package/lib/checkbox-group/checkbox-group.component.d.ts +2 -2
- package/lib/currency/currency.component.d.ts +3 -2
- package/lib/date/date.component.d.ts +1 -1
- package/lib/dialog/dialog.component.d.ts +1 -1
- package/lib/directives/force-visibility/force-visibility.directive.d.ts +5 -3
- package/lib/editor/editor.component.d.ts +24 -0
- package/lib/elements/burger/burger.component.d.ts +1 -1
- package/lib/elements/expander/expander.component.d.ts +1 -1
- package/lib/elements/validation-message/validation-message.component.d.ts +1 -1
- package/lib/file/file.component.d.ts +1 -1
- package/lib/file-uploader/ui-file-uploader.component.d.ts +2 -2
- package/lib/input/input.component.d.ts +5 -4
- package/lib/input-autocomplete/input-autocomplete.component.d.ts +44 -0
- package/lib/{base → layouts/base}/ui-base-layout.component.d.ts +1 -1
- package/lib/{base → layouts/base}/ui-base.component.d.ts +1 -1
- package/lib/{simple → layouts/simple}/ui-simple-layout.component.d.ts +2 -1
- package/lib/{simple → layouts/simple}/ui-simple.component.d.ts +2 -1
- package/lib/radio/radio.component.d.ts +1 -1
- package/lib/radio-group/radio-group.component.d.ts +2 -2
- package/lib/select/select.component.d.ts +8 -4
- package/lib/services/toast.service.d.ts +1 -1
- package/lib/services/ui-file.service.d.ts +1 -1
- package/lib/submit-button/submit-button.component.d.ts +1 -1
- package/lib/table/table.component.d.ts +1 -1
- package/lib/text-area/text-area.component.d.ts +2 -2
- package/lib/ui.model.d.ts +2 -2
- package/lib/ui.module.d.ts +52 -49
- package/package.json +22 -24
- package/public-api.d.ts +2 -0
- package/scss/ui-defaults.scss +1 -1
- package/src/js/editorjs.mjs +9634 -0
- package/ui.scss +41 -14
- package/esm2020/lib/action-button/action-button.component.mjs +0 -99
- package/esm2020/lib/action-icon/action-icon.component.mjs +0 -37
- package/esm2020/lib/autocomplete/autocomplete.component.mjs +0 -391
- package/esm2020/lib/avatar/avatar.component.mjs +0 -34
- package/esm2020/lib/base/ui-base-layout.component.mjs +0 -22
- package/esm2020/lib/base/ui-base.component.mjs +0 -74
- package/esm2020/lib/button/button.component.mjs +0 -57
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -39
- package/esm2020/lib/currency/currency.component.mjs +0 -148
- package/esm2020/lib/date/date.component.mjs +0 -68
- package/esm2020/lib/directives/force-visibility/force-visibility.directive.mjs +0 -96
- package/esm2020/lib/file/file.component.mjs +0 -145
- package/esm2020/lib/file-uploader/ui-file-uploader.component.mjs +0 -394
- package/esm2020/lib/input/input.component.mjs +0 -258
- package/esm2020/lib/radio-group/radio-group.component.mjs +0 -53
- package/esm2020/lib/select/select.component.mjs +0 -91
- package/esm2020/lib/simple/ui-simple-layout.component.mjs +0 -15
- package/esm2020/lib/simple/ui-simple.component.mjs +0 -154
- package/esm2020/lib/table/table.component.mjs +0 -97
- package/esm2020/lib/text-area/text-area.component.mjs +0 -46
- package/esm2020/lib/ui.module.mjs +0 -255
- package/esm2020/public-api.mjs +0 -33
- package/fesm2015/rlucan-ui.mjs +0 -3017
- package/fesm2015/rlucan-ui.mjs.map +0 -1
- package/fesm2020/rlucan-ui.mjs +0 -2982
- package/fesm2020/rlucan-ui.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/ui.model.mjs +0 -0
- /package/{esm2020 → esm2022}/rlucan-ui.mjs +0 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { Validators, FormControl } from '@angular/forms';
|
|
3
|
+
import { UiBaseComponent } from '../base/ui-base.component';
|
|
4
|
+
import { Subscription } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
export class UiSimpleComponent extends UiBaseComponent {
|
|
8
|
+
constructor(ngControl, // <-- obsolete
|
|
9
|
+
controlContainer = null) {
|
|
10
|
+
super();
|
|
11
|
+
this.ngControl = ngControl;
|
|
12
|
+
this.controlContainer = controlContainer;
|
|
13
|
+
this.sub = new Subscription();
|
|
14
|
+
this.onChange = (val) => { };
|
|
15
|
+
this.onTouched = () => { };
|
|
16
|
+
this.onValidatorChange = () => { };
|
|
17
|
+
if (ngControl) {
|
|
18
|
+
ngControl.valueAccessor = this;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.componentFormControl = new FormControl();
|
|
22
|
+
// this.componentFormControl.markAsUntouched();
|
|
23
|
+
this.sub.add(this.componentFormControl.valueChanges.subscribe(v => {
|
|
24
|
+
try {
|
|
25
|
+
// console.log(v, this.componentFormControl.value);
|
|
26
|
+
this.onChange(v);
|
|
27
|
+
}
|
|
28
|
+
catch (e) { /*console.error(e);*/
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
// this.ngControl.valueAccessor = this;
|
|
33
|
+
}
|
|
34
|
+
get maxLenRequired() {
|
|
35
|
+
return this.componentFormControl.value && (this.componentFormControl.value.length > (this.validators?.maxLength || 0));
|
|
36
|
+
}
|
|
37
|
+
get isInvalid() {
|
|
38
|
+
// console.log(this.label, this.componentFormControl.touched);
|
|
39
|
+
return this.componentFormControl.touched && !!this.componentFormControl.errors;
|
|
40
|
+
}
|
|
41
|
+
get validationErrors() {
|
|
42
|
+
return this.componentFormControl?.errors;
|
|
43
|
+
}
|
|
44
|
+
ngOnDestroy() {
|
|
45
|
+
this.sub.unsubscribe();
|
|
46
|
+
}
|
|
47
|
+
ngOnInit() {
|
|
48
|
+
if (this.ngControl) {
|
|
49
|
+
if (this.formControl) {
|
|
50
|
+
this.componentFormControl = this.formControl;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.componentFormControl = this.ngControl.control;
|
|
54
|
+
}
|
|
55
|
+
setTimeout(() => this.applyTemplateValidators());
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.parentFormControl = this.formControlName ?
|
|
59
|
+
this.controlContainer.control.get(this.formControlName) : this.formControl;
|
|
60
|
+
if (this.parentFormControl) {
|
|
61
|
+
this.componentFormControl.setValidators(this.parentFormControl.validator);
|
|
62
|
+
this.parentFormControl._componentFormControl = this.componentFormControl;
|
|
63
|
+
if (this.parentFormControl._markAsTouched === undefined) {
|
|
64
|
+
this.parentFormControl._markAsTouched = this.parentFormControl.markAsTouched;
|
|
65
|
+
this.parentFormControl._setErrors = this.parentFormControl.setErrors;
|
|
66
|
+
this.parentFormControl.markAsTouched = ({ onlySelf } = {}) => {
|
|
67
|
+
this.parentFormControl._markAsTouched({ onlySelf });
|
|
68
|
+
this.parentFormControl._componentFormControl.markAsTouched({ onlySelf });
|
|
69
|
+
this.componentFormControl.setErrors(this.parentFormControl.errors);
|
|
70
|
+
};
|
|
71
|
+
this.parentFormControl.setErrors = (errors) => {
|
|
72
|
+
this.parentFormControl._setErrors(errors);
|
|
73
|
+
this.parentFormControl._componentFormControl.setErrors(errors);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
setTimeout(() => this.applyTemplateValidators());
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
applyTemplateValidators() {
|
|
81
|
+
const inputValidators = this.validators;
|
|
82
|
+
if (inputValidators) {
|
|
83
|
+
const validators = [];
|
|
84
|
+
Object.keys(inputValidators).forEach(v => {
|
|
85
|
+
switch (v) {
|
|
86
|
+
case 'required':
|
|
87
|
+
validators.push(Validators.required);
|
|
88
|
+
this.required = true;
|
|
89
|
+
break;
|
|
90
|
+
case 'maxLength':
|
|
91
|
+
validators.push((c) => {
|
|
92
|
+
const requiredLength = inputValidators.maxLength || 0;
|
|
93
|
+
if (this.inputLength() > requiredLength) {
|
|
94
|
+
return { maxlength: { requiredLength } };
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}); // Validators.maxLength(inputValidators.maxLength || 0));
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
if (this.parentFormControl) {
|
|
104
|
+
this.parentFormControl.setValidators(validators);
|
|
105
|
+
this.parentFormControl.updateValueAndValidity({ emitEvent: false });
|
|
106
|
+
this.componentFormControl.setValidators(this.parentFormControl.validator);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.componentFormControl.addValidators(validators);
|
|
110
|
+
this.componentFormControl.updateValueAndValidity();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
ngOnChanges(changes) {
|
|
115
|
+
if (changes.validators && this.componentFormControl) {
|
|
116
|
+
this.applyTemplateValidators(); // changes.validators.currentValue as UiValidators);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
registerOnChange(fn) {
|
|
120
|
+
this.onChange = fn;
|
|
121
|
+
}
|
|
122
|
+
registerOnTouched(fn) {
|
|
123
|
+
this.onTouched = fn;
|
|
124
|
+
}
|
|
125
|
+
setDisabledState(isDisabled) {
|
|
126
|
+
if (this.componentFormControl) {
|
|
127
|
+
isDisabled ? this.componentFormControl.disable({ emitEvent: false }) : this.componentFormControl.enable({ emitEvent: false });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
writeValue(obj) {
|
|
131
|
+
if (!this.ngControl) {
|
|
132
|
+
if (obj && obj.error) {
|
|
133
|
+
console.log('setting error', obj, obj.error);
|
|
134
|
+
this.componentFormControl.setErrors(obj.error === 'clear' ? null : { custom: obj.error }, { emitEvent: false });
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this.componentFormControl.setValue(obj);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
registerOnValidatorChange(fn) {
|
|
142
|
+
this.onValidatorChange = fn;
|
|
143
|
+
}
|
|
144
|
+
validate(control) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
inputLength() {
|
|
148
|
+
return this.componentFormControl.value ? this.componentFormControl.value.length : 0;
|
|
149
|
+
}
|
|
150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UiSimpleComponent, deps: [{ token: i1.NgControl }, { token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
151
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: UiSimpleComponent, selector: "ui-abstract-simple-component", inputs: { validators: "validators", formControl: "formControl", formControlName: "formControlName" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '** abstract **', isInline: true }); }
|
|
152
|
+
}
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UiSimpleComponent, decorators: [{
|
|
154
|
+
type: Component,
|
|
155
|
+
args: [{
|
|
156
|
+
selector: 'ui-abstract-simple-component',
|
|
157
|
+
template: '** abstract **'
|
|
158
|
+
}]
|
|
159
|
+
}], ctorParameters: function () { return [{ type: i1.NgControl }, { type: i1.ControlContainer }]; }, propDecorators: { validators: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], formControl: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], formControlName: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}] } });
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2ltcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvbGF5b3V0cy9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQU9MLFVBQVUsRUFBRSxXQUFXLEVBQ3hCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFNcEMsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxlQUFlO0lBYTdELFlBQW1CLFNBQW9CLEVBQUUsZUFBZTtJQUNsQyxtQkFBcUMsSUFBSTtRQUM3RCxLQUFLLEVBQUUsQ0FBQztRQUZTLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUgvRCxRQUFHLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFtQ3ZDLGFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRXZCLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFckIsc0JBQWlCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBakMzQixJQUFJLFNBQVMsRUFBRTtZQUNiLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNwRCxvREFBb0Q7WUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxTQUFTLENB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QUFDLEtBQUssRUFBRTtnQkFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNqSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3pDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQseUJBQXlCLENBQUMsRUFBYztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBd0I7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDOytHQWxLbUIsaUJBQWlCO21HQUFqQixpQkFBaUIsc05BRjNCLGdCQUFnQjs7NEZBRU4saUJBQWlCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOytIQUlVLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgTmdDb250cm9sLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcixcclxuICBWYWxpZGF0b3JGbixcclxuICBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCwgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwRGlyZWN0aXZlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVaUJhc2VDb21wb25lbnQsIFVpVmFsaWRhdG9ycyB9IGZyb20gJy4uL2Jhc2UvdWktYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktYWJzdHJhY3Qtc2ltcGxlLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGU6ICcqKiBhYnN0cmFjdCAqKidcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFVpU2ltcGxlQ29tcG9uZW50IGV4dGVuZHMgVWlCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHsgLy8gfSwgVmFsaWRhdG9yIHtcclxuXHJcbiAgQElucHV0KCkgdmFsaWRhdG9yczogVWlWYWxpZGF0b3JzIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZTtcclxuXHJcbiAgY29tcG9uZW50Rm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuLXR5cGVzXHJcbiAgcGFyZW50Rm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCAmIHsgX2NvbXBvbmVudEZvcm1Db250cm9sOiBGb3JtQ29udHJvbDsgX21hcmtBc1RvdWNoZWQ6IEZ1bmN0aW9uOyBfc2V0RXJyb3JzOiBGdW5jdGlvbiB9O1xyXG5cclxuICBzdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLCAvLyA8LS0gb2Jzb2xldGVcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lciA9IG51bGwpIHtcclxuICAgIHN1cGVyKCk7XHJcblxyXG4gICAgaWYgKG5nQ29udHJvbCkge1xyXG4gICAgICBuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbi8vICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcclxuICAgICAgdGhpcy5zdWIuYWRkKHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2codiwgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC52YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHYpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgLypjb25zb2xlLmVycm9yKGUpOyovXHJcbiAgICAgICAgfVxyXG4gICAgICB9ICkpO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBnZXQgbWF4TGVuUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC52YWx1ZSAmJiAodGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC52YWx1ZS5sZW5ndGggPiAodGhpcy52YWxpZGF0b3JzPy5tYXhMZW5ndGggfHwgMCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMubGFiZWwsIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wudG91Y2hlZCk7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC50b3VjaGVkICYmICEhdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5lcnJvcnM7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRhdGlvbkVycm9ycygpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sPy5lcnJvcnM7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZSA9ICh2YWwpID0+IHt9O1xyXG5cclxuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgb25WYWxpZGF0b3JDaGFuZ2UgPSAoKSA9PiB7fTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sID0gdGhpcy5mb3JtQ29udHJvbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sID0gdGhpcy5uZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICAgIH1cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFwcGx5VGVtcGxhdGVWYWxpZGF0b3JzKCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbCA9IHRoaXMuZm9ybUNvbnRyb2xOYW1lID9cclxuICAgICAgICAodGhpcy5jb250cm9sQ29udGFpbmVyIGFzIEZvcm1Hcm91cERpcmVjdGl2ZSkuY29udHJvbC5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpIDogdGhpcy5mb3JtQ29udHJvbDtcclxuICAgICAgaWYgKHRoaXMucGFyZW50Rm9ybUNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy5wYXJlbnRGb3JtQ29udHJvbC52YWxpZGF0b3IpO1xyXG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuX2NvbXBvbmVudEZvcm1Db250cm9sID0gdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbDtcclxuICAgICAgICBpZiAodGhpcy5wYXJlbnRGb3JtQ29udHJvbC5fbWFya0FzVG91Y2hlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLl9tYXJrQXNUb3VjaGVkID0gdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkO1xyXG4gICAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5fc2V0RXJyb3JzID0gdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5zZXRFcnJvcnM7XHJcbiAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQgPSAoe29ubHlTZWxmfTogeyBvbmx5U2VsZj86IGJvb2xlYW4gfSA9IHt9KTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuX21hcmtBc1RvdWNoZWQoe29ubHlTZWxmfSk7XHJcbiAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuX2NvbXBvbmVudEZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoe29ubHlTZWxmfSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wuc2V0RXJyb3JzKHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuZXJyb3JzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuc2V0RXJyb3JzID0gKGVycm9yczogYW55KTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuX3NldEVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLl9jb21wb25lbnRGb3JtQ29udHJvbC5zZXRFcnJvcnMoZXJyb3JzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFwcGx5VGVtcGxhdGVWYWxpZGF0b3JzKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcHBseVRlbXBsYXRlVmFsaWRhdG9ycygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0VmFsaWRhdG9ycyA9IHRoaXMudmFsaWRhdG9ycztcclxuICAgIGlmIChpbnB1dFZhbGlkYXRvcnMpIHtcclxuICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgICBPYmplY3Qua2V5cyhpbnB1dFZhbGlkYXRvcnMpLmZvckVhY2godiA9PiB7XHJcbiAgICAgICAgc3dpdGNoICh2KSB7XHJcbiAgICAgICAgICBjYXNlICdyZXF1aXJlZCc6XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnbWF4TGVuZ3RoJzpcclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKChjKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmVxdWlyZWRMZW5ndGggPSBpbnB1dFZhbGlkYXRvcnMubWF4TGVuZ3RoIHx8IDA7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRMZW5ndGgoKSA+IHJlcXVpcmVkTGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBtYXhsZW5ndGg6IHsgcmVxdWlyZWRMZW5ndGggfX1cclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pOyAvLyBWYWxpZGF0b3JzLm1heExlbmd0aChpbnB1dFZhbGlkYXRvcnMubWF4TGVuZ3RoIHx8IDApKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRoaXMucGFyZW50Rm9ybUNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XHJcbiAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy5wYXJlbnRGb3JtQ29udHJvbC52YWxpZGF0b3IpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wuYWRkVmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMudmFsaWRhdG9ycyAmJiB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sKSB7XHJcbiAgICAgIHRoaXMuYXBwbHlUZW1wbGF0ZVZhbGlkYXRvcnMoKTsgLy8gY2hhbmdlcy52YWxpZGF0b3JzLmN1cnJlbnRWYWx1ZSBhcyBVaVZhbGlkYXRvcnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRGb3JtQ29udHJvbCkge1xyXG4gICAgICBpc0Rpc2FibGVkID8gdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KSA6IHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5uZ0NvbnRyb2wpIHtcclxuICAgICAgaWYgKG9iaiAmJiBvYmouZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnc2V0dGluZyBlcnJvcicsIG9iaiwgb2JqLmVycm9yKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnNldEVycm9ycyhvYmouZXJyb3IgPT09ICdjbGVhcicgPyBudWxsIDogeyBjdXN0b206IG9iai5lcnJvciB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRWYWx1ZShvYmopO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGlucHV0TGVuZ3RoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wudmFsdWUgPyB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlLmxlbmd0aCA6IDA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -5,10 +5,10 @@ export class RadioComponent {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.color = 'primary';
|
|
7
7
|
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: RadioComponent, selector: "ui-radio", inputs: { value: "value", label: "label", color: "color" }, ngImport: i0, template: "<mat-radio-button [value]=\"value\" [color]=\"color\">\r\n {{label}}\r\n</mat-radio-button>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }] }); }
|
|
8
10
|
}
|
|
9
|
-
|
|
10
|
-
RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RadioComponent, selector: "ui-radio", inputs: { value: "value", label: "label", color: "color" }, ngImport: i0, template: "<mat-radio-button [value]=\"value\" [color]=\"color\">\r\n {{label}}\r\n</mat-radio-button>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RadioComponent, decorators: [{
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: RadioComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'ui-radio', template: "<mat-radio-button [value]=\"value\" [color]=\"color\">\r\n {{label}}\r\n</mat-radio-button>\r\n" }]
|
|
14
14
|
}], propDecorators: { value: [{
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
|
|
|
18
18
|
}], color: [{
|
|
19
19
|
type: Input
|
|
20
20
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFTVyxVQUFLLEdBQWtDLFNBQVMsQ0FBQTtLQUsxRDsrR0FUWSxjQUFjO21HQUFkLGNBQWMsNEdDUDNCLGtHQUdBOzs0RkRJYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7OEJBTVgsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLXJhZGlvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IHsgLy8gZXh0ZW5kcyBVaVNpbXBsZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHZhbHVlO1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyA9ICdwcmltYXJ5J1xyXG5cclxuICAvLyBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xyXG4gIC8vICAgc3VwZXIobmdDb250cm9sKTtcclxuICAvLyB9XHJcbn1cclxuIiwiPG1hdC1yYWRpby1idXR0b24gW3ZhbHVlXT1cInZhbHVlXCIgW2NvbG9yXT1cImNvbG9yXCI+XHJcbiAge3tsYWJlbH19XHJcbjwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Component, Input, Optional, Self } from '@angular/core';
|
|
2
|
+
import { UiSimpleComponent } from '../layouts/simple/ui-simple.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/radio";
|
|
7
|
+
import * as i4 from "../layouts/simple/ui-simple-layout.component";
|
|
8
|
+
export class RadioGroupComponent extends UiSimpleComponent {
|
|
9
|
+
constructor(control) {
|
|
10
|
+
super(control);
|
|
11
|
+
this.control = control;
|
|
12
|
+
this.id = Math.round(Math.random() * 999999);
|
|
13
|
+
this.displayAttribute = 'name';
|
|
14
|
+
this.groupName = 'radio-' + this.id;
|
|
15
|
+
this.optionEnabled = (option) => true;
|
|
16
|
+
}
|
|
17
|
+
// ngOnInit(): void {
|
|
18
|
+
// super.ngOnInit();
|
|
19
|
+
// }
|
|
20
|
+
ngOnChanges(changes) {
|
|
21
|
+
super.ngOnChanges(changes);
|
|
22
|
+
if (changes.options) {
|
|
23
|
+
this.cbxs = [];
|
|
24
|
+
changes.options.currentValue.forEach(cv => {
|
|
25
|
+
this.cbxs.push({
|
|
26
|
+
value: this.valueAttribute ? cv[this.valueAttribute] : cv,
|
|
27
|
+
label: cv[this.displayAttribute]
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: RadioGroupComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: RadioGroupComponent, selector: "ui-radio-group", inputs: { options: "options", displayAttribute: "displayAttribute", valueAttribute: "valueAttribute", groupName: "groupName", optionEnabled: "optionEnabled" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n <mat-radio-group [formControl]=\"componentFormControl\" [name]=\"groupName\" [class]=\"size\">\r\n\r\n <mat-radio-button *ngFor=\"let cbx of cbxs\" [value]=\"cbx.value\" >{{cbx.label}}</mat-radio-button>\r\n\r\n </mat-radio-group>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host mat-radio-group{display:flex;flex-direction:column}:host mat-radio-button{margin-top:.2em;margin-bottom:.2em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i4.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: RadioGroupComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'ui-radio-group', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n <mat-radio-group [formControl]=\"componentFormControl\" [name]=\"groupName\" [class]=\"size\">\r\n\r\n <mat-radio-button *ngFor=\"let cbx of cbxs\" [value]=\"cbx.value\" >{{cbx.label}}</mat-radio-button>\r\n\r\n </mat-radio-group>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host mat-radio-group{display:flex;flex-direction:column}:host mat-radio-button{margin-top:.2em;margin-bottom:.2em}\n"] }]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
|
|
39
|
+
type: Optional
|
|
40
|
+
}, {
|
|
41
|
+
type: Self
|
|
42
|
+
}] }]; }, propDecorators: { options: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], displayAttribute: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], valueAttribute: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], groupName: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], optionEnabled: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7O0FBZTFFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUFheEQsWUFBdUMsT0FBa0I7UUFDdkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRHNCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFWekQsT0FBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBRy9CLHFCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUcxQixjQUFTLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBSS9DLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLElBQUk7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN6RCxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDakMsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7K0dBaENVLG1CQUFtQjttR0FBbkIsbUJBQW1CLGtRQ2hCaEMsc1RBU0E7OzRGRE9hLG1CQUFtQjtrQkFaL0IsU0FBUzsrQkFDRSxnQkFBZ0I7OzBCQXdCYixRQUFROzswQkFBSSxJQUFJOzRDQVJwQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0cy9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktcmFkaW8tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcclxuICAvLyBwcm92aWRlcnM6IFtcclxuICAvLyAgIHtcclxuICAvLyAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAvLyAgICAgbXVsdGk6IHRydWUsXHJcbiAgLy8gICAgIHVzZUV4aXN0aW5nOiBDaGVja2JveEdyb3VwQ29tcG9uZW50XHJcbiAgLy8gICB9XHJcbiAgLy8gXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9Hcm91cENvbXBvbmVudCBleHRlbmRzIFVpU2ltcGxlQ29tcG9uZW50IGltcGxlbWVudHMgLypPbkluaXQsICovT25DaGFuZ2VzIHtcclxuXHJcbiAgY2J4czogYW55O1xyXG4gIGlkID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogOTk5OTk5KTtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9ucztcclxuICBASW5wdXQoKSBkaXNwbGF5QXR0cmlidXRlID0gJ25hbWUnO1xyXG4gIEBJbnB1dCgpIHZhbHVlQXR0cmlidXRlO1xyXG5cclxuICBASW5wdXQoKSBncm91cE5hbWUgPSAncmFkaW8tJyArIHRoaXMuaWQ7XHJcblxyXG4gIEBJbnB1dCgpIG9wdGlvbkVuYWJsZWQgPSAob3B0aW9uOiBhbnkpID0+IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbCkge1xyXG4gICAgc3VwZXIoY29udHJvbCk7XHJcbiAgfVxyXG5cclxuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAvLyAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgLy8gfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgIGlmIChjaGFuZ2VzLm9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5jYnhzID0gW107XHJcbiAgICAgIGNoYW5nZXMub3B0aW9ucy5jdXJyZW50VmFsdWUuZm9yRWFjaChjdiA9PiB7XHJcbiAgICAgICAgdGhpcy5jYnhzLnB1c2goe1xyXG4gICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWVBdHRyaWJ1dGUgPyBjdlt0aGlzLnZhbHVlQXR0cmlidXRlXSA6IGN2LFxyXG4gICAgICAgICAgbGFiZWw6IGN2W3RoaXMuZGlzcGxheUF0dHJpYnV0ZV1cclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAvLyAgIGlmICh0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sKSB7XHJcbiAgLy8gICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wuc2V0VmFsdWUob2JqKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbn1cclxuIiwiPHVpLXNpbXBsZS1sYXlvdXQgW2N0eF09XCJ0aGlzXCI+XHJcblxyXG4gIDxtYXQtcmFkaW8tZ3JvdXAgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudEZvcm1Db250cm9sXCIgW25hbWVdPVwiZ3JvdXBOYW1lXCIgW2NsYXNzXT1cInNpemVcIj5cclxuXHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvbiAqbmdGb3I9XCJsZXQgY2J4IG9mIGNieHNcIiBbdmFsdWVdPVwiY2J4LnZhbHVlXCIgPnt7Y2J4LmxhYmVsfX08L21hdC1yYWRpby1idXR0b24+XHJcblxyXG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG5cclxuPC91aS1zaW1wbGUtbGF5b3V0PlxyXG4iXX0=
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Component, Inject, Input, Optional, Self, ViewChild } from '@angular/core';
|
|
2
|
+
import { UiSimpleComponent } from '../layouts/simple/ui-simple.component';
|
|
3
|
+
import { UI_TRANSLATESERVICE } from '../services/ui-translate.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/material/icon";
|
|
8
|
+
import * as i4 from "@angular/material/select";
|
|
9
|
+
import * as i5 from "@angular/material/core";
|
|
10
|
+
import * as i6 from "../button/button.component";
|
|
11
|
+
import * as i7 from "../layouts/simple/ui-simple-layout.component";
|
|
12
|
+
export class SelectComponent extends UiSimpleComponent {
|
|
13
|
+
constructor(ngControl, translateService) {
|
|
14
|
+
super(ngControl);
|
|
15
|
+
this.ngControl = ngControl;
|
|
16
|
+
this.translateService = translateService;
|
|
17
|
+
this.multiple = false;
|
|
18
|
+
this.options = [];
|
|
19
|
+
this.allowEmptySelection = false;
|
|
20
|
+
this.lastCount = -1;
|
|
21
|
+
this.overoption = false;
|
|
22
|
+
this.optionToValue = (o) => this.valueAttribute ? o[this.valueAttribute] : o;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
super.ngOnInit();
|
|
26
|
+
if (this.optionFormatter === undefined) {
|
|
27
|
+
this.optionFormatter = o => this.displayAttribute ? o[this.displayAttribute] : o;
|
|
28
|
+
}
|
|
29
|
+
if (this.multiple && this.componentFormControl) {
|
|
30
|
+
this.lastCount = this.componentFormControl.value.length;
|
|
31
|
+
this.componentFormControl.valueChanges.subscribe(v => {
|
|
32
|
+
if (v.length === 1 && this.lastCount === 0 && this.overoption) {
|
|
33
|
+
this.select.selectionChange.emit(this.optionToValue(v));
|
|
34
|
+
this.select.close();
|
|
35
|
+
}
|
|
36
|
+
this.lastCount = v.length;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (this.trackBy && this.componentFormControl && this.componentFormControl.value) {
|
|
40
|
+
this.componentFormControl.setValue(this.mapValues(this.componentFormControl.value), { emitEvent: false });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
ngOnChanges(changes) {
|
|
44
|
+
super.ngOnChanges(changes);
|
|
45
|
+
if (changes.options && this.componentFormControl && this.trackBy) {
|
|
46
|
+
this.componentFormControl.setValue(this.mapValues(this.componentFormControl.value), { emitEvent: false });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
mapValues(src) {
|
|
50
|
+
if (src && this.trackBy && this.options) {
|
|
51
|
+
if (this.multiple) {
|
|
52
|
+
return this.options.filter(o => src.find(v => v[this.trackBy] === o[this.trackBy]));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return this.options.find(o => o[this.trackBy] === src[this.trackBy]);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return src;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
selectOption(o, select) {
|
|
63
|
+
select.selectionChange.emit(this.optionToValue(o));
|
|
64
|
+
select.close();
|
|
65
|
+
}
|
|
66
|
+
selectAll() {
|
|
67
|
+
this.componentFormControl.setValue(this.options.map(o => this.optionToValue(o)));
|
|
68
|
+
}
|
|
69
|
+
clearAll() {
|
|
70
|
+
this.componentFormControl.setValue([]);
|
|
71
|
+
}
|
|
72
|
+
setDisabledState(isDisabled) {
|
|
73
|
+
}
|
|
74
|
+
writeValue(obj) {
|
|
75
|
+
if (!this.ngControl) {
|
|
76
|
+
if (obj && obj.error) {
|
|
77
|
+
console.log('setting error', obj, obj.error);
|
|
78
|
+
this.componentFormControl.setErrors(obj.error === 'clear' ? null : { custom: obj.error }, { emitEvent: false });
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.componentFormControl.setValue(this.mapValues(obj));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SelectComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: UI_TRANSLATESERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: SelectComponent, selector: "ui-select", inputs: { multiple: "multiple", triggerFormatter: "triggerFormatter", valueAttribute: "valueAttribute", resetText: "resetText", displayAttribute: "displayAttribute", options: "options", optionFormatter: "optionFormatter", optionTemplateRef: "optionTemplateRef", triggerTemplateRef: "triggerTemplateRef", panelClass: "panelClass", allowEmptySelection: "allowEmptySelection", trackBy: "trackBy" }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<mat-select class=\"control-container\" #select [panelClass]=\"panelClass\" [placeholder]=\"placeholder\" [formControl]=\"componentFormControl\" [multiple]=\"multiple\">\r\n\r\n <mat-select-trigger *ngIf=\"triggerTemplateRef\">\r\n <ng-template [ngTemplateOutlet]=\"triggerTemplateRef\" [ngTemplateOutletContext]=\"{option:componentFormControl?.value}\" ></ng-template>\r\n </mat-select-trigger>\r\n\r\n <mat-select-trigger *ngIf=\"triggerFormatter\" [innerHTML]=\"componentFormControl?.value ? triggerFormatter(componentFormControl?.value) : ''\"></mat-select-trigger>\r\n\r\n <mat-option *ngIf=\"resetText\">{{resetText}}</mat-option>\r\n\r\n <mat-option *ngFor=\"let o of options\" [value]=\"optionToValue(o)\" >\r\n\r\n <div class=\"option-container\" (mouseenter)=\"overoption = true;\" (mouseleave)=\"overoption = false\">\r\n\r\n <ng-container *ngIf=\"optionTemplateRef\">\r\n <ng-template [ngTemplateOutlet]=\"optionTemplateRef\" [ngTemplateOutletContext]=\"{option:o}\" ></ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!optionTemplateRef\">\r\n {{optionFormatter(o)}}\r\n </ng-container>\r\n\r\n <mat-icon class=\"select-one\" *ngIf=\"multiple && componentFormControl?.value?.length === 0\" (click)=\"selectOption(o, select)\">north_west</mat-icon>\r\n </div>\r\n\r\n </mat-option>\r\n\r\n <div class=\"buttons\" *ngIf=\"multiple\">\r\n <ui-button style=\"margin-right: auto;\" [kind]=\"'basic'\" [size]=\"'smaller'\" [label]=\"translateService.instant('ui.controls.ui-select.clear-selection')\" (click)=\"clearAll()\"></ui-button>\r\n <ui-button [size]=\"'smaller'\" [label]=\"translateService.instant('ui.controls.ui-select.all')\" (click)=\"selectAll()\"></ui-button>\r\n <ui-button [size]=\"'smaller'\" style=\"padding-left: 0.2em;\" [disabled]=\"componentFormControl?.value?.length === 0 && !allowEmptySelection\" [label]=\"translateService.instant('ui.controls.ui-select.apply-selection') + (componentFormControl?.value?.length > 0 ? ' (' + componentFormControl.value.length + ')' : '')\" (click)=\"select.close()\"></ui-button>\r\n </div>\r\n\r\n</mat-select>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .control-container{width:100%;position:relative}:host .control-container.has-prefix ::ng-deep input,:host .control-container.has-prefix ::ng-deep textarea,:host .control-container.has-prefix ::ng-deep .mat-mdc-select-trigger{padding-left:1.8em}:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep input,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep textarea,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep input,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep textarea,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-suffix.has-clear-icon ::ng-deep input,:host .control-container.has-suffix.has-clear-icon ::ng-deep textarea,:host .control-container.has-suffix.has-clear-icon ::ng-deep .mat-mdc-select-trigger{padding-right:3.6em}:host .control-container.has-suffix.has-clear-icon ::ng-deep .clear-icon{right:1.4em!important}:host ::ng-deep [slot=suffix],:host ::ng-deep .clear-icon,:host ::ng-deep .suffix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=suffix]:not(.disabled),:host ::ng-deep .clear-icon:not(.disabled),:host ::ng-deep .suffix-icon:not(.disabled){cursor:pointer}:host ::ng-deep [slot=prefix],:host ::ng-deep .prefix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]:not(.disabled),:host ::ng-deep .prefix-icon:not(.disabled){cursor:pointer}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep .mat-mdc-select-trigger,:host ::ng-deep .editor-wrapper{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}:host ::ng-deep textarea.autoresize{box-sizing:content-box;width:calc(100% - 1.4em)}:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{height:100%}:host ::ng-deep ::ng-deep .mat-select-value,:host ::ng-deep ::ng-deep .mat-mdc-select-value{vertical-align:middle}::ng-deep ui-input{display:block}\n", "::ng-deep .mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-select-arrow-wrapper{height:1px!important}::ng-deep .mat-select-panel .select-one,::ng-deep .mat-mdc-select-panel .select-one{position:absolute;right:0;top:.3em;display:none}::ng-deep .mat-select-panel .mat-option-text:hover .select-one,::ng-deep .mat-select-panel .mat-mdc-option:hover .select-one,::ng-deep .mat-mdc-select-panel .mat-option-text:hover .select-one,::ng-deep .mat-mdc-select-panel .mat-mdc-option:hover .select-one{display:block}::ng-deep .mat-select-panel .buttons,::ng-deep .mat-mdc-select-panel .buttons{padding:.2em;background-color:#fff;display:flex;position:sticky;bottom:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.ButtonComponent, selector: "ui-button", inputs: ["type", "matIconPrefix", "label", "disabled", "busy", "kind", "color", "size", "formInvalid"] }, { kind: "component", type: i7.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SelectComponent, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'ui-select', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<mat-select class=\"control-container\" #select [panelClass]=\"panelClass\" [placeholder]=\"placeholder\" [formControl]=\"componentFormControl\" [multiple]=\"multiple\">\r\n\r\n <mat-select-trigger *ngIf=\"triggerTemplateRef\">\r\n <ng-template [ngTemplateOutlet]=\"triggerTemplateRef\" [ngTemplateOutletContext]=\"{option:componentFormControl?.value}\" ></ng-template>\r\n </mat-select-trigger>\r\n\r\n <mat-select-trigger *ngIf=\"triggerFormatter\" [innerHTML]=\"componentFormControl?.value ? triggerFormatter(componentFormControl?.value) : ''\"></mat-select-trigger>\r\n\r\n <mat-option *ngIf=\"resetText\">{{resetText}}</mat-option>\r\n\r\n <mat-option *ngFor=\"let o of options\" [value]=\"optionToValue(o)\" >\r\n\r\n <div class=\"option-container\" (mouseenter)=\"overoption = true;\" (mouseleave)=\"overoption = false\">\r\n\r\n <ng-container *ngIf=\"optionTemplateRef\">\r\n <ng-template [ngTemplateOutlet]=\"optionTemplateRef\" [ngTemplateOutletContext]=\"{option:o}\" ></ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!optionTemplateRef\">\r\n {{optionFormatter(o)}}\r\n </ng-container>\r\n\r\n <mat-icon class=\"select-one\" *ngIf=\"multiple && componentFormControl?.value?.length === 0\" (click)=\"selectOption(o, select)\">north_west</mat-icon>\r\n </div>\r\n\r\n </mat-option>\r\n\r\n <div class=\"buttons\" *ngIf=\"multiple\">\r\n <ui-button style=\"margin-right: auto;\" [kind]=\"'basic'\" [size]=\"'smaller'\" [label]=\"translateService.instant('ui.controls.ui-select.clear-selection')\" (click)=\"clearAll()\"></ui-button>\r\n <ui-button [size]=\"'smaller'\" [label]=\"translateService.instant('ui.controls.ui-select.all')\" (click)=\"selectAll()\"></ui-button>\r\n <ui-button [size]=\"'smaller'\" style=\"padding-left: 0.2em;\" [disabled]=\"componentFormControl?.value?.length === 0 && !allowEmptySelection\" [label]=\"translateService.instant('ui.controls.ui-select.apply-selection') + (componentFormControl?.value?.length > 0 ? ' (' + componentFormControl.value.length + ')' : '')\" (click)=\"select.close()\"></ui-button>\r\n </div>\r\n\r\n</mat-select>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .control-container{width:100%;position:relative}:host .control-container.has-prefix ::ng-deep input,:host .control-container.has-prefix ::ng-deep textarea,:host .control-container.has-prefix ::ng-deep .mat-mdc-select-trigger{padding-left:1.8em}:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep input,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep textarea,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep input,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep textarea,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-suffix.has-clear-icon ::ng-deep input,:host .control-container.has-suffix.has-clear-icon ::ng-deep textarea,:host .control-container.has-suffix.has-clear-icon ::ng-deep .mat-mdc-select-trigger{padding-right:3.6em}:host .control-container.has-suffix.has-clear-icon ::ng-deep .clear-icon{right:1.4em!important}:host ::ng-deep [slot=suffix],:host ::ng-deep .clear-icon,:host ::ng-deep .suffix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=suffix]:not(.disabled),:host ::ng-deep .clear-icon:not(.disabled),:host ::ng-deep .suffix-icon:not(.disabled){cursor:pointer}:host ::ng-deep [slot=prefix],:host ::ng-deep .prefix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]:not(.disabled),:host ::ng-deep .prefix-icon:not(.disabled){cursor:pointer}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep .mat-mdc-select-trigger,:host ::ng-deep .editor-wrapper{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}:host ::ng-deep textarea.autoresize{box-sizing:content-box;width:calc(100% - 1.4em)}:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{height:100%}:host ::ng-deep ::ng-deep .mat-select-value,:host ::ng-deep ::ng-deep .mat-mdc-select-value{vertical-align:middle}::ng-deep ui-input{display:block}\n", "::ng-deep .mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-select-arrow-wrapper{height:1px!important}::ng-deep .mat-select-panel .select-one,::ng-deep .mat-mdc-select-panel .select-one{position:absolute;right:0;top:.3em;display:none}::ng-deep .mat-select-panel .mat-option-text:hover .select-one,::ng-deep .mat-select-panel .mat-mdc-option:hover .select-one,::ng-deep .mat-mdc-select-panel .mat-option-text:hover .select-one,::ng-deep .mat-mdc-select-panel .mat-mdc-option:hover .select-one{display:block}::ng-deep .mat-select-panel .buttons,::ng-deep .mat-mdc-select-panel .buttons{padding:.2em;background-color:#fff;display:flex;position:sticky;bottom:0}\n"] }]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
|
|
92
|
+
type: Optional
|
|
93
|
+
}, {
|
|
94
|
+
type: Self
|
|
95
|
+
}] }, { type: undefined, decorators: [{
|
|
96
|
+
type: Inject,
|
|
97
|
+
args: [UI_TRANSLATESERVICE]
|
|
98
|
+
}] }]; }, propDecorators: { multiple: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], triggerFormatter: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], valueAttribute: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], resetText: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], displayAttribute: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], options: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], optionFormatter: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], optionTemplateRef: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], triggerTemplateRef: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], panelClass: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], allowEmptySelection: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], trackBy: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], select: [{
|
|
123
|
+
type: ViewChild,
|
|
124
|
+
args: ['select']
|
|
125
|
+
}] } });
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsSUFBSSxFQUE4QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFMUUsT0FBTyxFQUF1QixtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFRNUYsTUFBTSxPQUFPLGVBQWdCLFNBQVEsaUJBQWlCO0lBcUJwRCxZQUF1QyxTQUFvQixFQUNYLGdCQUFxQztRQUNuRixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFGb0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNYLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7UUFwQjVFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFNakIsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQUtwQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFLckMsY0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2YsZUFBVSxHQUFHLEtBQUssQ0FBQztRQThDbkIsa0JBQWEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBekM3RSxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUks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QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRWUsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3B0aW9uYWwsIFNlbGYsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVaVNpbXBsZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dHMvc2ltcGxlL3VpLXNpbXBsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBJVWlUcmFuc2xhdGVTZXJ2aWNlLCBVSV9UUkFOU0xBVEVTRVJWSUNFIH0gZnJvbSAnLi4vc2VydmljZXMvdWktdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi4vbGF5b3V0cy9zaW1wbGUvdWktc2ltcGxlLWxheW91dC5jb21wb25lbnQuc2NzcycsICcuL3NlbGVjdC5jb21wb25lbnQuc2NzcycgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBleHRlbmRzIFVpU2ltcGxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRyaWdnZXJGb3JtYXR0ZXI6IGFueTtcclxuICBASW5wdXQoKSB2YWx1ZUF0dHJpYnV0ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHJlc2V0VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlBdHRyaWJ1dGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBvcHRpb25Gb3JtYXR0ZXI6ICgoYXJnOiBhbnkpID0+IHN0cmluZyB8IHVuZGVmaW5lZCkgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgb3B0aW9uVGVtcGxhdGVSZWY/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHRyaWdnZXJUZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgcGFuZWxDbGFzcztcclxuICBASW5wdXQoKSBhbGxvd0VtcHR5U2VsZWN0aW9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdHJhY2tCeTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Jykgc2VsZWN0OiBNYXRTZWxlY3Q7XHJcblxyXG4gIGxhc3RDb3VudCA9IC0xO1xyXG4gIG92ZXJvcHRpb24gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgICAgICAgICAgICAgQEluamVjdChVSV9UUkFOU0xBVEVTRVJWSUNFKSBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogSVVpVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIobmdDb250cm9sKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIGlmICh0aGlzLm9wdGlvbkZvcm1hdHRlciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMub3B0aW9uRm9ybWF0dGVyID0gbyA9PiB0aGlzLmRpc3BsYXlBdHRyaWJ1dGUgPyBvW3RoaXMuZGlzcGxheUF0dHJpYnV0ZV0gOiBvO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmxhc3RDb3VudCA9IHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wudmFsdWUubGVuZ3RoO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgICAgaWYgKHYubGVuZ3RoID09PSAxICYmIHRoaXMubGFzdENvdW50ID09PSAwICYmIHRoaXMub3Zlcm9wdGlvbikge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3Quc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5vcHRpb25Ub1ZhbHVlKHYpKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0LmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvdW50ID0gdi5sZW5ndGg7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudHJhY2tCeSAmJiB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sICYmIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLm1hcFZhbHVlcyh0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zICYmIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wgJiYgdGhpcy50cmFja0J5KSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5tYXBWYWx1ZXModGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC52YWx1ZSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1hcFZhbHVlcyhzcmMpIHtcclxuICAgIGlmIChzcmMgJiYgdGhpcy50cmFja0J5ICYmIHRoaXMub3B0aW9ucykge1xyXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmlsdGVyKG8gPT4gc3JjLmZpbmQodiA9PiB2W3RoaXMudHJhY2tCeV0gPT09IG9bdGhpcy50cmFja0J5XSkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmluZChvID0+IG9bdGhpcy50cmFja0J5XSA9PT0gc3JjW3RoaXMudHJhY2tCeV0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gc3JjO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3B0aW9uVG9WYWx1ZSA9IChvOiBhbnkpID0+IHRoaXMudmFsdWVBdHRyaWJ1dGUgPyBvW3RoaXMudmFsdWVBdHRyaWJ1dGVdIDogbztcclxuXHJcbiAgc2VsZWN0T3B0aW9uKG86IGFueSwgc2VsZWN0OiBNYXRTZWxlY3QpIHtcclxuICAgIHNlbGVjdC5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLm9wdGlvblRvVmFsdWUobykpO1xyXG4gICAgc2VsZWN0LmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwoKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMub3B0aW9ucy5tYXAobyA9PiB0aGlzLm9wdGlvblRvVmFsdWUobykpKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsKCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRWYWx1ZShbXSk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5uZ0NvbnRyb2wpIHtcclxuICAgICAgaWYgKG9iaiAmJiBvYmouZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnc2V0dGluZyBlcnJvcicsIG9iaiwgb2JqLmVycm9yKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnNldEVycm9ycyhvYmouZXJyb3IgPT09ICdjbGVhcicgPyBudWxsIDogeyBjdXN0b206IG9iai5lcnJvciB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLm1hcFZhbHVlcyhvYmopKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8dWktc2ltcGxlLWxheW91dCBbY3R4XT1cInRoaXNcIj5cclxuXHJcbjxtYXQtc2VsZWN0IGNsYXNzPVwiY29udHJvbC1jb250YWluZXJcIiAjc2VsZWN0IFtwYW5lbENsYXNzXT1cInBhbmVsQ2xhc3NcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiY29tcG9uZW50Rm9ybUNvbnRyb2xcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIj5cclxuXHJcbiAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj1cInRyaWdnZXJUZW1wbGF0ZVJlZlwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyaWdnZXJUZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7b3B0aW9uOmNvbXBvbmVudEZvcm1Db250cm9sPy52YWx1ZX1cIiA+PC9uZy10ZW1wbGF0ZT5cclxuICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cclxuXHJcbiAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj1cInRyaWdnZXJGb3JtYXR0ZXJcIiBbaW5uZXJIVE1MXT1cImNvbXBvbmVudEZvcm1Db250cm9sPy52YWx1ZSA/IHRyaWdnZXJGb3JtYXR0ZXIoY29tcG9uZW50Rm9ybUNvbnRyb2w/LnZhbHVlKSA6ICcnXCI+PC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcblxyXG4gIDxtYXQtb3B0aW9uICpuZ0lmPVwicmVzZXRUZXh0XCI+e3tyZXNldFRleHR9fTwvbWF0LW9wdGlvbj5cclxuXHJcbiAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25Ub1ZhbHVlKG8pXCIgPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJvcHRpb24tY29udGFpbmVyXCIgKG1vdXNlZW50ZXIpPVwib3Zlcm9wdGlvbiA9IHRydWU7XCIgKG1vdXNlbGVhdmUpPVwib3Zlcm9wdGlvbiA9IGZhbHNlXCI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uVGVtcGxhdGVSZWZcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie29wdGlvbjpvfVwiID48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uVGVtcGxhdGVSZWZcIj5cclxuICAgICAgICB7e29wdGlvbkZvcm1hdHRlcihvKX19XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2VsZWN0LW9uZVwiICpuZ0lmPVwibXVsdGlwbGUgJiYgY29tcG9uZW50Rm9ybUNvbnRyb2w/LnZhbHVlPy5sZW5ndGggPT09IDBcIiAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG8sIHNlbGVjdClcIj5ub3J0aF93ZXN0PC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L21hdC1vcHRpb24+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJidXR0b25zXCIgKm5nSWY9XCJtdWx0aXBsZVwiPlxyXG4gICAgPHVpLWJ1dHRvbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogYXV0bztcIiBba2luZF09XCInYmFzaWMnXCIgW3NpemVdPVwiJ3NtYWxsZXInXCIgW2xhYmVsXT1cInRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgndWkuY29udHJvbHMudWktc2VsZWN0LmNsZWFyLXNlbGVjdGlvbicpXCIgKGNsaWNrKT1cImNsZWFyQWxsKClcIj48L3VpLWJ1dHRvbj5cclxuICAgIDx1aS1idXR0b24gW3NpemVdPVwiJ3NtYWxsZXInXCIgW2xhYmVsXT1cInRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgndWkuY29udHJvbHMudWktc2VsZWN0LmFsbCcpXCIgKGNsaWNrKT1cInNlbGVjdEFsbCgpXCI+PC91aS1idXR0b24+XHJcbiAgICA8dWktYnV0dG9uIFtzaXplXT1cIidzbWFsbGVyJ1wiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAwLjJlbTtcIiBbZGlzYWJsZWRdPVwiY29tcG9uZW50Rm9ybUNvbnRyb2w/LnZhbHVlPy5sZW5ndGggPT09IDAgJiYgIWFsbG93RW1wdHlTZWxlY3Rpb25cIiBbbGFiZWxdPVwidHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd1aS5jb250cm9scy51aS1zZWxlY3QuYXBwbHktc2VsZWN0aW9uJykgKyAoY29tcG9uZW50Rm9ybUNvbnRyb2w/LnZhbHVlPy5sZW5ndGggPiAwID8gJyAoJyArIGNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlLmxlbmd0aCArICcpJyA6ICcnKVwiIChjbGljayk9XCJzZWxlY3QuY2xvc2UoKVwiPjwvdWktYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9tYXQtc2VsZWN0PlxyXG5cclxuPC91aS1zaW1wbGUtbGF5b3V0PlxyXG4iXX0=
|
|
@@ -49,9 +49,8 @@ export class MessageBoxModalComponent {
|
|
|
49
49
|
this.close(b.id);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
MessageBoxModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: MessageBoxModalComponent, selector: "ui-message-box-modal", ngImport: i0, template: `
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MessageBoxModalComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.DomSanitizer }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: MessageBoxModalComponent, selector: "ui-message-box-modal", ngImport: i0, template: `
|
|
55
54
|
<ui-dialog [title]="title" [hideCloseButton]="hideCloseButton">
|
|
56
55
|
<div mat-dialog-content *ngIf="message" style="padding: 7px 16px 12px 16px;">
|
|
57
56
|
<div [innerHTML]="message" style="line-height: 24px;"></div>
|
|
@@ -70,8 +69,9 @@ MessageBoxModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
|
|
|
70
69
|
</div>
|
|
71
70
|
</div>
|
|
72
71
|
</ui-dialog>
|
|
73
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["type", "matIconPrefix", "label", "disabled", "busy", "kind", "color", "size", "formInvalid"] }, { kind: "component", type: i5.DialogComponent, selector: "ui-dialog", inputs: ["title", "draggable", "hideCloseButton", "close"] }] });
|
|
74
|
-
|
|
72
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["type", "matIconPrefix", "label", "disabled", "busy", "kind", "color", "size", "formInvalid"] }, { kind: "component", type: i5.DialogComponent, selector: "ui-dialog", inputs: ["title", "draggable", "hideCloseButton", "close"] }] }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MessageBoxModalComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
76
|
args: [{
|
|
77
77
|
selector: 'ui-message-box-modal',
|
|
@@ -107,7 +107,7 @@ export class MessageBoxService {
|
|
|
107
107
|
}
|
|
108
108
|
confirm(message, options = {}) {
|
|
109
109
|
const config = new MatDialogConfig();
|
|
110
|
-
config.disableClose =
|
|
110
|
+
config.disableClose = false;
|
|
111
111
|
config.minWidth = '340px';
|
|
112
112
|
config.maxWidth = options.maxWidth || '600px';
|
|
113
113
|
config.width = '40vw';
|
|
@@ -134,10 +134,10 @@ export class MessageBoxService {
|
|
|
134
134
|
// @ts-ignore
|
|
135
135
|
return this.confirm(message, options);
|
|
136
136
|
}
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MessageBoxService, deps: [{ token: i1.MatDialog }, { token: UI_TRANSLATESERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
138
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MessageBoxService, providedIn: 'root' }); }
|
|
137
139
|
}
|
|
138
|
-
|
|
139
|
-
MessageBoxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MessageBoxService, providedIn: 'root' });
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MessageBoxService, decorators: [{
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MessageBoxService, decorators: [{
|
|
141
141
|
type: Injectable,
|
|
142
142
|
args: [{
|
|
143
143
|
providedIn: 'root'
|
|
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
|
|
|
146
146
|
type: Inject,
|
|
147
147
|
args: [UI_TRANSLATESERVICE]
|
|
148
148
|
}] }]; } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvbWVzc2FnZS1ib3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGVBQWUsRUFBYSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFckcsT0FBTyxFQUF1QixtQkFBbUIsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQWtDdEcsTUFBTSxPQUFPLHdCQUF3QjtJQVduQyxZQUFtQixTQUFpRCxFQUNqRCxTQUF1QixFQUNHLElBQVM7UUFGbkMsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFDakQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNHLFNBQUksR0FBSixJQUFJLENBQUs7UUFSdEQsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFHakMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZUFBVSxHQUFxQixJQUFJLENBQUM7UUFNbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUM1QztRQUVELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIs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ZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVVpVHJhbnNsYXRlU2VydmljZSwgVUlfVFJBTlNMQVRFU0VSVklDRSwgVWlUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi91aS10cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VCb3hCdXR0b24ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGtpbmQ/OiAnYmFzaWMnIHwgJ2ZsYXQnIHwgJ3N0cm9rZWQnO1xyXG4gIGNvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XHJcbiAgcHJvY2Vzcz86ICgpID0+IFByb21pc2U8YW55PjtcclxuICBkaXNhYmxlZD86ICgpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktbWVzc2FnZS1ib3gtbW9kYWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8dWktZGlhbG9nIFt0aXRsZV09XCJ0aXRsZVwiIFtoaWRlQ2xvc2VCdXR0b25dPVwiaGlkZUNsb3NlQnV0dG9uXCI+XHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50ICpuZ0lmPVwibWVzc2FnZVwiIHN0eWxlPVwicGFkZGluZzogN3B4IDE2cHggMTJweCAxNnB4O1wiPlxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJtZXNzYWdlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMjRweDtcIj48L2Rpdj5cclxuICAgICAgICA8cHJlICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgW2lubmVySFRNTF09XCJlcnJvck1lc3NhZ2VcIj48L3ByZT5cclxuICAgICAgICA8cHJlICpuZ0lmPVwiZXJyb3JEZXRhaWxcIiBbaW5uZXJIVE1MXT1cImVycm9yRGV0YWlsXCI+PC9wcmU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBcclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgKm5nSWY9XCJ0ZW1wbGF0ZVwiIHN0eWxlPVwicGFkZGluZzogN3B4IDE2cHggMTJweCAxNnB4O1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICAgIDx1aS1idXR0b24gKm5nRm9yPVwibGV0IGIgb2YgYnV0dG9uc1wiIFtjb2xvcl09XCJiLmNvbG9yIHx8ICdwcmltYXJ5J1wiIFt0YWJJbmRleF09XCItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBba2luZF09XCJiLmtpbmQgfHwgJ3N0cm9rZWQnXCIgW2J1c3ldPVwicHJvY2Vzc2luZyA9PT0gYlwiIFtkaXNhYmxlZF09XCIhIXByb2Nlc3NpbmcgfHwgKGIuZGlzYWJsZWQgJiYgYi5kaXNhYmxlZCgpKVwiIChjbGljayk9XCJidXR0b25DbGljayhiKVwiIFtsYWJlbF09XCJiLnRleHRcIj48L3VpLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3VpLWRpYWxvZz5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94TW9kYWxDb21wb25lbnQge1xyXG5cclxuICBtZXNzYWdlO1xyXG4gIGVycm9yTWVzc2FnZTtcclxuICBlcnJvckRldGFpbDtcclxuICBidXR0b25zOiBNZXNzYWdlQm94QnV0dG9uW10gPSBbXTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRlbXBsYXRlOiBhbnk7XHJcbiAgaGlkZUNsb3NlQnV0dG9uID0gZmFsc2U7XHJcbiAgcHJvY2Vzc2luZzogTWVzc2FnZUJveEJ1dHRvbiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxNZXNzYWdlQm94TW9kYWxDb21wb25lbnQ+LFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBhbnkpIHtcclxuXHJcbiAgICBpZiAoZGF0YS5tZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEubWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLnRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMudGVtcGxhdGUgPSB0aGlzLmRhdGEub3B0aW9ucy50ZW1wbGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZGF0YS5vcHRpb25zLmVycm9yTWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuZXJyb3JEZXRhaWwpIHtcclxuICAgICAgdGhpcy5lcnJvckRldGFpbCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEub3B0aW9ucy5lcnJvckRldGFpbCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuaGlkZUNsb3NlQnV0dG9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5oaWRlQ2xvc2VCdXR0b24gPSB0aGlzLmRhdGEub3B0aW9ucy5oaWRlQ2xvc2VCdXR0b247XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5idXR0b25zID0gZGF0YS5vcHRpb25zLmJ1dHRvbnMgPyBkYXRhLm9wdGlvbnMuYnV0dG9ucyA6IFt7aWQ6ICdjbG9zZScsIHRleHQ6ICdDbG9zZSd9XTtcclxuICAgIHRoaXMudGl0bGUgPSBkYXRhLm9wdGlvbnMudGl0bGU7XHJcbiAgfVxyXG5cclxuICBjbG9zZShyZXN1bHQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbkNsaWNrKGI6IE1lc3NhZ2VCb3hCdXR0b24pIHtcclxuICAgIGlmIChiLnByb2Nlc3MpIHtcclxuICAgICAgdGhpcy5wcm9jZXNzaW5nID0gYjtcclxuICAgICAgYi5wcm9jZXNzKCkudGhlbihyID0+IHtcclxuICAgICAgICB0aGlzLmNsb3NlKHIpO1xyXG4gICAgICB9KS5jYXRjaChlID0+IHtcclxuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBudWxsO1xyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZShiLmlkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICAgICAgICAgICAgQEluamVjdChVSV9UUkFOU0xBVEVTRVJWSUNFKSBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogSVVpVHJhbnNsYXRlU2VydmljZSwpIHtcclxuICB9XHJcblxyXG4gIGNvbmZpcm0obWVzc2FnZTogc3RyaW5nLCBvcHRpb25zOiB7XHJcbiAgICBidXR0b25zPzogTWVzc2FnZUJveEJ1dHRvbltdLFxyXG4gICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICBlcnJvckRldGFpbD86IHN0cmluZyxcclxuICAgIGhpZGVDbG9zZUJ1dHRvbj86IGJvb2xlYW4sXHJcbiAgICBtYXhXaWR0aD86IHN0cmluZ1xyXG4gIH0gPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBjb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcclxuICAgIGNvbmZpZy5taW5XaWR0aCA9ICczNDBweCc7XHJcbiAgICBjb25maWcubWF4V2lkdGggPSBvcHRpb25zLm1heFdpZHRoIHx8ICc2MDBweCc7XHJcbiAgICBjb25maWcud2lkdGggPSAnNDB2dyc7XHJcbiAgICBjb25maWcuZGF0YSA9IHttZXNzYWdlLCBvcHRpb25zfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihNZXNzYWdlQm94TW9kYWxDb21wb25lbnQsIGNvbmZpZykuYWZ0ZXJDbG9zZWQoKTtcclxuICB9XHJcblxyXG4gIG9wZW4ob3B0aW9uczoge1xyXG4gICAgYnV0dG9ucz86IE1lc3NhZ2VCb3hCdXR0b25bXSxcclxuICAgIHRpdGxlPzogc3RyaW5nLFxyXG4gICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nLFxyXG4gICAgZXJyb3JEZXRhaWw/OiBzdHJpbmcsXHJcbiAgICBoaWRlQ2xvc2VCdXR0b24/OiBib29sZWFuLFxyXG4gICAgbWF4V2lkdGg/OiBzdHJpbmcsXHJcbiAgICBtZXNzYWdlPzogc3RyaW5nLFxyXG4gICAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+XHJcbiAgfSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuICAgIGNvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgY29uZmlnLm1pbldpZHRoID0gJzM0MHB4JztcclxuICAgIGNvbmZpZy5tYXhXaWR0aCA9IG9wdGlvbnMubWF4V2lkdGggfHwgJzYwMHB4JztcclxuICAgIGNvbmZpZy53aWR0aCA9ICc0MHZ3JztcclxuICAgIGNvbmZpZy5kYXRhID0ge21lc3NhZ2U6IG9wdGlvbnMubWVzc2FnZSwgb3B0aW9uc307XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oTWVzc2FnZUJveE1vZGFsQ29tcG9uZW50LCBjb25maWcpLmFmdGVyQ2xvc2VkKCk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtRGVsZXRlKHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0aXRsZSxcclxuICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgIHsgaWQ6ICdjYW5jZWwnLCB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgndWkubWVzc2FnZWJveC5idXR0b24uY2FuY2VsJykgfSxcclxuICAgICAgICB7IGlkOiAnZGVsZXRlJywgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3VpLm1lc3NhZ2Vib3guYnV0dG9uLmRlbGV0ZScpLCBjb2xvcjogJ3dhcm4nLCBraW5kOiAnZmxhdCcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybShtZXNzYWdlLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvbWVzc2FnZS1ib3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGVBQWUsRUFBYSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFckcsT0FBTyxFQUF1QixtQkFBbUIsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQWtDdEcsTUFBTSxPQUFPLHdCQUF3QjtJQVduQyxZQUFtQixTQUFpRCxFQUNqRCxTQUF1QixFQUNHLElBQVM7UUFGbkMsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFDakQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNHLFNBQUksR0FBSixJQUFJLENBQUs7UUFSdEQsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFHakMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZUFBVSxHQUFxQixJQUFJLENBQUM7UUFNbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUM1QztRQUVELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIs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ZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVVpVHJhbnNsYXRlU2VydmljZSwgVUlfVFJBTlNMQVRFU0VSVklDRSwgVWlUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi91aS10cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VCb3hCdXR0b24ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGtpbmQ/OiAnYmFzaWMnIHwgJ2ZsYXQnIHwgJ3N0cm9rZWQnO1xyXG4gIGNvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XHJcbiAgcHJvY2Vzcz86ICgpID0+IFByb21pc2U8YW55PjtcclxuICBkaXNhYmxlZD86ICgpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktbWVzc2FnZS1ib3gtbW9kYWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8dWktZGlhbG9nIFt0aXRsZV09XCJ0aXRsZVwiIFtoaWRlQ2xvc2VCdXR0b25dPVwiaGlkZUNsb3NlQnV0dG9uXCI+XHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50ICpuZ0lmPVwibWVzc2FnZVwiIHN0eWxlPVwicGFkZGluZzogN3B4IDE2cHggMTJweCAxNnB4O1wiPlxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJtZXNzYWdlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMjRweDtcIj48L2Rpdj5cclxuICAgICAgICA8cHJlICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgW2lubmVySFRNTF09XCJlcnJvck1lc3NhZ2VcIj48L3ByZT5cclxuICAgICAgICA8cHJlICpuZ0lmPVwiZXJyb3JEZXRhaWxcIiBbaW5uZXJIVE1MXT1cImVycm9yRGV0YWlsXCI+PC9wcmU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBcclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgKm5nSWY9XCJ0ZW1wbGF0ZVwiIHN0eWxlPVwicGFkZGluZzogN3B4IDE2cHggMTJweCAxNnB4O1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICAgIDx1aS1idXR0b24gKm5nRm9yPVwibGV0IGIgb2YgYnV0dG9uc1wiIFtjb2xvcl09XCJiLmNvbG9yIHx8ICdwcmltYXJ5J1wiIFt0YWJJbmRleF09XCItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBba2luZF09XCJiLmtpbmQgfHwgJ3N0cm9rZWQnXCIgW2J1c3ldPVwicHJvY2Vzc2luZyA9PT0gYlwiIFtkaXNhYmxlZF09XCIhIXByb2Nlc3NpbmcgfHwgKGIuZGlzYWJsZWQgJiYgYi5kaXNhYmxlZCgpKVwiIChjbGljayk9XCJidXR0b25DbGljayhiKVwiIFtsYWJlbF09XCJiLnRleHRcIj48L3VpLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3VpLWRpYWxvZz5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94TW9kYWxDb21wb25lbnQge1xyXG5cclxuICBtZXNzYWdlO1xyXG4gIGVycm9yTWVzc2FnZTtcclxuICBlcnJvckRldGFpbDtcclxuICBidXR0b25zOiBNZXNzYWdlQm94QnV0dG9uW10gPSBbXTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRlbXBsYXRlOiBhbnk7XHJcbiAgaGlkZUNsb3NlQnV0dG9uID0gZmFsc2U7XHJcbiAgcHJvY2Vzc2luZzogTWVzc2FnZUJveEJ1dHRvbiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxNZXNzYWdlQm94TW9kYWxDb21wb25lbnQ+LFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBhbnkpIHtcclxuXHJcbiAgICBpZiAoZGF0YS5tZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEubWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLnRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMudGVtcGxhdGUgPSB0aGlzLmRhdGEub3B0aW9ucy50ZW1wbGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZGF0YS5vcHRpb25zLmVycm9yTWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuZXJyb3JEZXRhaWwpIHtcclxuICAgICAgdGhpcy5lcnJvckRldGFpbCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEub3B0aW9ucy5lcnJvckRldGFpbCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuaGlkZUNsb3NlQnV0dG9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5oaWRlQ2xvc2VCdXR0b24gPSB0aGlzLmRhdGEub3B0aW9ucy5oaWRlQ2xvc2VCdXR0b247XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5idXR0b25zID0gZGF0YS5vcHRpb25zLmJ1dHRvbnMgPyBkYXRhLm9wdGlvbnMuYnV0dG9ucyA6IFt7aWQ6ICdjbG9zZScsIHRleHQ6ICdDbG9zZSd9XTtcclxuICAgIHRoaXMudGl0bGUgPSBkYXRhLm9wdGlvbnMudGl0bGU7XHJcbiAgfVxyXG5cclxuICBjbG9zZShyZXN1bHQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbkNsaWNrKGI6IE1lc3NhZ2VCb3hCdXR0b24pIHtcclxuICAgIGlmIChiLnByb2Nlc3MpIHtcclxuICAgICAgdGhpcy5wcm9jZXNzaW5nID0gYjtcclxuICAgICAgYi5wcm9jZXNzKCkudGhlbihyID0+IHtcclxuICAgICAgICB0aGlzLmNsb3NlKHIpO1xyXG4gICAgICB9KS5jYXRjaChlID0+IHtcclxuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBudWxsO1xyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZShiLmlkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICAgICAgICAgICAgQEluamVjdChVSV9UUkFOU0xBVEVTRVJWSUNFKSBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogSVVpVHJhbnNsYXRlU2VydmljZSwpIHtcclxuICB9XHJcblxyXG4gIGNvbmZpcm0obWVzc2FnZTogc3RyaW5nLCBvcHRpb25zOiB7XHJcbiAgICBidXR0b25zPzogTWVzc2FnZUJveEJ1dHRvbltdLFxyXG4gICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICBlcnJvckRldGFpbD86IHN0cmluZyxcclxuICAgIGhpZGVDbG9zZUJ1dHRvbj86IGJvb2xlYW4sXHJcbiAgICBtYXhXaWR0aD86IHN0cmluZ1xyXG4gIH0gPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBjb25maWcuZGlzYWJsZUNsb3NlID0gZmFsc2U7XHJcbiAgICBjb25maWcubWluV2lkdGggPSAnMzQwcHgnO1xyXG4gICAgY29uZmlnLm1heFdpZHRoID0gb3B0aW9ucy5tYXhXaWR0aCB8fCAnNjAwcHgnO1xyXG4gICAgY29uZmlnLndpZHRoID0gJzQwdncnO1xyXG4gICAgY29uZmlnLmRhdGEgPSB7bWVzc2FnZSwgb3B0aW9uc307XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oTWVzc2FnZUJveE1vZGFsQ29tcG9uZW50LCBjb25maWcpLmFmdGVyQ2xvc2VkKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuKG9wdGlvbnM6IHtcclxuICAgIGJ1dHRvbnM/OiBNZXNzYWdlQm94QnV0dG9uW10sXHJcbiAgICB0aXRsZT86IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZyxcclxuICAgIGVycm9yRGV0YWlsPzogc3RyaW5nLFxyXG4gICAgaGlkZUNsb3NlQnV0dG9uPzogYm9vbGVhbixcclxuICAgIG1heFdpZHRoPzogc3RyaW5nLFxyXG4gICAgbWVzc2FnZT86IHN0cmluZyxcclxuICAgIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PlxyXG4gIH0gPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBjb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcclxuICAgIGNvbmZpZy5taW5XaWR0aCA9ICczNDBweCc7XHJcbiAgICBjb25maWcubWF4V2lkdGggPSBvcHRpb25zLm1heFdpZHRoIHx8ICc2MDBweCc7XHJcbiAgICBjb25maWcud2lkdGggPSAnNDB2dyc7XHJcbiAgICBjb25maWcuZGF0YSA9IHttZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UsIG9wdGlvbnN9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKE1lc3NhZ2VCb3hNb2RhbENvbXBvbmVudCwgY29uZmlnKS5hZnRlckNsb3NlZCgpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybURlbGV0ZSh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICB7IGlkOiAnY2FuY2VsJywgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3VpLm1lc3NhZ2Vib3guYnV0dG9uLmNhbmNlbCcpIH0sXHJcbiAgICAgICAgeyBpZDogJ2RlbGV0ZScsIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd1aS5tZXNzYWdlYm94LmJ1dHRvbi5kZWxldGUnKSwgY29sb3I6ICd3YXJuJywga2luZDogJ2ZsYXQnIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm0obWVzc2FnZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -11,13 +11,13 @@ export class ToastService {
|
|
|
11
11
|
panelClass: [options.type || 'message']
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ToastService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ToastService, providedIn: 'root' }); }
|
|
14
16
|
}
|
|
15
|
-
|
|
16
|
-
ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ToastService, providedIn: 'root' });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ToastService, decorators: [{
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ToastService, decorators: [{
|
|
18
18
|
type: Injectable,
|
|
19
19
|
args: [{
|
|
20
20
|
providedIn: 'root'
|
|
21
21
|
}]
|
|
22
22
|
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsWUFBeUI7UUFBekIsaUJBQVksR0FBWixZQUFZLENBQWE7SUFBSSxDQUFDO0lBRTNDLElBQUksQ0FBQyxPQUFlLEVBQUUsVUFBbUQsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUM7UUFDN0csSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUNwQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQ2xDLFVBQVUsRUFBRSxDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBVFUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcbmV4cG9ydCB0eXBlIFRvYXN0VHlwZSA9ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdmYWlsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tTZXJ2aWNlOiBNYXRTbmFja0JhcikgeyB9XHJcblxyXG4gIHB1YmxpYyBvcGVuKG1lc3NhZ2U6IHN0cmluZywgb3B0aW9uczogeyBkdXJhdGlvbj86IG51bWJlciwgdHlwZT86IFRvYXN0VHlwZSB9ID0geyBkdXJhdGlvbjogMjUwMCwgdHlwZTogJ2luZm8nfSkge1xyXG4gICAgdGhpcy5zbmFja1NlcnZpY2Uub3BlbihtZXNzYWdlLCBudWxsLCB7XHJcbiAgICAgIGR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uIHx8IDI1MDAsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsgb3B0aW9ucy50eXBlIHx8ICdtZXNzYWdlJ11cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|