@rlucan/ui 18.2.3 → 19.0.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/fesm2022/rlucan-ui.mjs +144 -140
- package/fesm2022/rlucan-ui.mjs.map +1 -1
- package/package.json +11 -13
- package/esm2022/lib/action-button/action-button.component.mjs +0 -99
- package/esm2022/lib/action-icon/action-icon.component.mjs +0 -37
- package/esm2022/lib/auto-complete/auto-complete.component.mjs +0 -405
- package/esm2022/lib/autocomplete/autocomplete.component.mjs +0 -391
- package/esm2022/lib/avatar/avatar.component.mjs +0 -34
- package/esm2022/lib/button/button.component.mjs +0 -57
- package/esm2022/lib/checkbox/checkbox.component.mjs +0 -39
- package/esm2022/lib/checkbox-group/checkbox-group.component.mjs +0 -91
- package/esm2022/lib/currency/currency.component.mjs +0 -151
- package/esm2022/lib/date/date.component.mjs +0 -68
- package/esm2022/lib/dialog/dialog.component.mjs +0 -37
- package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +0 -104
- package/esm2022/lib/editor/editor.component.mjs +0 -119
- package/esm2022/lib/elements/burger/burger.component.mjs +0 -21
- package/esm2022/lib/elements/expander/expander.component.mjs +0 -28
- package/esm2022/lib/elements/validation-message/validation-message.component.mjs +0 -47
- package/esm2022/lib/file/file.component.mjs +0 -177
- package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +0 -424
- package/esm2022/lib/input/input.component.mjs +0 -265
- package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +0 -277
- package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +0 -22
- package/esm2022/lib/layouts/base/ui-base.component.mjs +0 -74
- package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +0 -18
- package/esm2022/lib/layouts/simple/ui-simple.component.mjs +0 -166
- package/esm2022/lib/radio/radio.component.mjs +0 -21
- package/esm2022/lib/radio-group/radio-group.component.mjs +0 -58
- package/esm2022/lib/select/select.component.mjs +0 -126
- package/esm2022/lib/services/message-box.service.mjs +0 -149
- package/esm2022/lib/services/toast.service.mjs +0 -23
- package/esm2022/lib/services/ui-file.service.mjs +0 -72
- package/esm2022/lib/services/ui-translate.service.mjs +0 -32
- package/esm2022/lib/submit-button/submit-button.component.mjs +0 -72
- package/esm2022/lib/table/table.component.mjs +0 -97
- package/esm2022/lib/text-area/text-area.component.mjs +0 -46
- package/esm2022/lib/ui.model.mjs +0 -2
- package/esm2022/lib/ui.module.mjs +0 -274
- package/esm2022/public-api.mjs +0 -36
- package/esm2022/rlucan-ui.mjs +0 -5
|
@@ -1,39 +0,0 @@
|
|
|
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/checkbox";
|
|
7
|
-
import * as i4 from "../layouts/simple/ui-simple-layout.component";
|
|
8
|
-
export class CheckboxComponent extends UiSimpleComponent {
|
|
9
|
-
constructor(ngControl) {
|
|
10
|
-
super(ngControl);
|
|
11
|
-
this.ngControl = ngControl;
|
|
12
|
-
this.color = 'primary';
|
|
13
|
-
this.useInputMessages = 'never';
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
super.ngOnInit();
|
|
17
|
-
if (this.label) {
|
|
18
|
-
this.text = this.label;
|
|
19
|
-
this.label = undefined;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
setDisabledState(isDisabled) {
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CheckboxComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: CheckboxComponent, selector: "ui-checkbox", inputs: { color: "color", useInputMessages: "useInputMessages" }, usesInheritance: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n <div class=\"control-container\">\r\n <mat-checkbox [formControl]=\"componentFormControl\" [color]=\"color\" [class]=\"size\">\r\n <div *ngIf=\"!text\"><ng-content></ng-content></div>\r\n <div *ngIf=\"text\" [innerHTML]=\"text\"></div>\r\n </mat-checkbox>\r\n <div *ngIf=\"hint\" class=\"hint\" [innerHTML]=\"hint\"></div>\r\n </div>\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex}:host ::ng-deep .mat-checkbox{display:flex}:host ::ng-deep .hint{font-size:.8em;padding-top:.1em;padding-left:2.05em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { 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.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'ui-checkbox', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n <div class=\"control-container\">\r\n <mat-checkbox [formControl]=\"componentFormControl\" [color]=\"color\" [class]=\"size\">\r\n <div *ngIf=\"!text\"><ng-content></ng-content></div>\r\n <div *ngIf=\"text\" [innerHTML]=\"text\"></div>\r\n </mat-checkbox>\r\n <div *ngIf=\"hint\" class=\"hint\" [innerHTML]=\"hint\"></div>\r\n </div>\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex}:host ::ng-deep .mat-checkbox{display:flex}:host ::ng-deep .hint{font-size:.8em;padding-top:.1em;padding-left:2.05em}\n"] }]
|
|
30
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
31
|
-
type: Optional
|
|
32
|
-
}, {
|
|
33
|
-
type: Self
|
|
34
|
-
}] }], propDecorators: { color: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], useInputMessages: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBVSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7QUFZMUUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQU90RCxZQUF1QyxTQUFvQjtRQUN6RCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFEb0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUxsRCxVQUFLLEdBQWtDLFNBQVMsQ0FBQztRQUNqRCxxQkFBZ0IsR0FBb0MsT0FBTyxDQUFDO0lBTXJFLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7SUFDcEMsQ0FBQzs4R0FwQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNElDZDlCLHlhQVVBOzsyRkRJYSxpQkFBaUI7a0JBVjdCLFNBQVM7K0JBQ0UsYUFBYTs7MEJBZ0JWLFFBQVE7OzBCQUFJLElBQUk7eUNBTHBCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVpU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0cy9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gcHJvdmlkZXJzOiBbe1xyXG4gIC8vICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgLy8gICBtdWx0aTogdHJ1ZSxcclxuICAvLyAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcclxuICAvLyB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBVaVNpbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGNvbG9yOiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyA9ICdwcmltYXJ5JztcclxuICBASW5wdXQoKSB1c2VJbnB1dE1lc3NhZ2VzOiAnbmV2ZXInIHwgJ2Fsd2F5cycgfCAnb25kZW1hbmQnID0gJ25ldmVyJztcclxuXHJcbiAgdGV4dDtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wpIHtcclxuICAgIHN1cGVyKG5nQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICBpZiAodGhpcy5sYWJlbCkge1xyXG4gICAgICB0aGlzLnRleHQgPSB0aGlzLmxhYmVsO1xyXG4gICAgICB0aGlzLmxhYmVsID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29udHJvbC1jb250YWluZXJcIj5cclxuICAgIDxtYXQtY2hlY2tib3ggW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudEZvcm1Db250cm9sXCIgW2NvbG9yXT1cImNvbG9yXCIgW2NsYXNzXT1cInNpemVcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiF0ZXh0XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwidGV4dFwiIFtpbm5lckhUTUxdPVwidGV4dFwiPjwvZGl2PlxyXG4gICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaGludFwiIGNsYXNzPVwiaGludFwiIFtpbm5lckhUTUxdPVwiaGludFwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3VpLXNpbXBsZS1sYXlvdXQ+XHJcbiJdfQ==
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Optional, Self } from '@angular/core';
|
|
2
|
-
import { UiSimpleComponent } from '../layouts/simple/ui-simple.component';
|
|
3
|
-
import { UntypedFormControl, Validators } from '@angular/forms';
|
|
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 "../checkbox/checkbox.component";
|
|
8
|
-
import * as i4 from "../layouts/simple/ui-simple-layout.component";
|
|
9
|
-
// export interface CheckboxGroupOption {
|
|
10
|
-
// value: any,
|
|
11
|
-
// label: string,
|
|
12
|
-
// hint?: string
|
|
13
|
-
// }
|
|
14
|
-
export class CheckboxGroupComponent extends UiSimpleComponent {
|
|
15
|
-
constructor(control) {
|
|
16
|
-
super(control);
|
|
17
|
-
this.control = control;
|
|
18
|
-
this.displayAttribute = 'label';
|
|
19
|
-
this.hintAttribute = 'hint';
|
|
20
|
-
this.optionEnabled = (option) => true;
|
|
21
|
-
}
|
|
22
|
-
// ngOnInit(): void {
|
|
23
|
-
// super.ngOnInit();
|
|
24
|
-
// }
|
|
25
|
-
ngOnChanges(changes) {
|
|
26
|
-
super.ngOnChanges(changes);
|
|
27
|
-
if (changes.options) {
|
|
28
|
-
this.cbxs = [];
|
|
29
|
-
this.valueMode = Array.isArray(this.control.value) ? 'array' : 'object';
|
|
30
|
-
Object.keys(changes.options.currentValue).forEach(k => {
|
|
31
|
-
const v = changes.options.currentValue[k];
|
|
32
|
-
const ct = new UntypedFormControl(this.valueMode === 'array' ? this.control.value.includes(v) : this.control.value[k] === true);
|
|
33
|
-
if (!this.optionEnabled(v)) {
|
|
34
|
-
ct.disable();
|
|
35
|
-
}
|
|
36
|
-
ct.valueChanges.subscribe(() => {
|
|
37
|
-
const value = this.valueMode === 'array' ? [] : {};
|
|
38
|
-
let hasChecked = false;
|
|
39
|
-
this.cbxs.forEach((cbx) => {
|
|
40
|
-
const checked = cbx.control.value;
|
|
41
|
-
hasChecked = hasChecked || checked;
|
|
42
|
-
if (this.valueMode === 'array') {
|
|
43
|
-
if (checked) {
|
|
44
|
-
value.push(cbx.value.value);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
value[cbx.key] = checked;
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
this.componentFormControl.markAsTouched();
|
|
52
|
-
this.componentFormControl.setValue(value);
|
|
53
|
-
if (this.componentFormControl.hasValidator(Validators.required) && !hasChecked) {
|
|
54
|
-
this.componentFormControl.setErrors({ cbGroupRequired: true });
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this.componentFormControl.setErrors(null);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
this.cbxs.push({
|
|
61
|
-
control: ct,
|
|
62
|
-
value: this.valueAttribute ? v[this.valueAttribute] : v,
|
|
63
|
-
label: this.displayAttribute ? v[this.displayAttribute] : v,
|
|
64
|
-
hint: this.hintAttribute ? v[this.hintAttribute] : undefined,
|
|
65
|
-
key: this.valueMode === 'object' ? k : undefined
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: CheckboxGroupComponent, selector: "ui-checkbox-group", inputs: { valueAttribute: "valueAttribute", displayAttribute: "displayAttribute", hintAttribute: "hintAttribute", options: "options", optionEnabled: "optionEnabled" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<ui-checkbox *ngFor=\"let cbx of cbxs\" [formControl]=\"cbx.control\" [label]=\"cbx.label\" [hint]=\"cbx.hint\"></ui-checkbox>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host ui-checkbox{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: "component", type: i3.CheckboxComponent, selector: "ui-checkbox", inputs: ["color", "useInputMessages"] }, { kind: "component", type: i4.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
|
|
72
|
-
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
|
|
74
|
-
type: Component,
|
|
75
|
-
args: [{ selector: 'ui-checkbox-group', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<ui-checkbox *ngFor=\"let cbx of cbxs\" [formControl]=\"cbx.control\" [label]=\"cbx.label\" [hint]=\"cbx.hint\"></ui-checkbox>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host ui-checkbox{margin-top:.2em;margin-bottom:.2em}\n"] }]
|
|
76
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
77
|
-
type: Optional
|
|
78
|
-
}, {
|
|
79
|
-
type: Self
|
|
80
|
-
}] }], propDecorators: { valueAttribute: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], displayAttribute: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], hintAttribute: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}], options: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], optionEnabled: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWdyb3VwL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRTNFLHlDQUF5QztBQUN6QyxnQkFBZ0I7QUFDaEIsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixJQUFJO0FBY0osTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQWEzRCxZQUF1QyxPQUFrQjtRQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEc0IsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQU5oRCxxQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFHdkIsa0JBQWEsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBSS9DLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLElBQUk7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZ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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztvQkFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7aUJBQ2pELENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7OEdBL0RVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZRQ3RCbkMsd01BS0E7OzJGRGlCYSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0UsbUJBQW1COzswQkF3QmhCLFFBQVE7OzBCQUFJLElBQUk7eUNBUHBCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9wdGlvbmFsLCBTZWxmLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0cy9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgTmdDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLy8gZXhwb3J0IGludGVyZmFjZSBDaGVja2JveEdyb3VwT3B0aW9uIHtcclxuLy8gICB2YWx1ZTogYW55LFxyXG4vLyAgIGxhYmVsOiBzdHJpbmcsXHJcbi8vICAgaGludD86IHN0cmluZ1xyXG4vLyB9XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWNoZWNrYm94LWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gcHJvdmlkZXJzOiBbXHJcbiAgLy8gICB7XHJcbiAgLy8gICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgLy8gICAgIG11bHRpOiB0cnVlLFxyXG4gIC8vICAgICB1c2VFeGlzdGluZzogQ2hlY2tib3hHcm91cENvbXBvbmVudFxyXG4gIC8vICAgfVxyXG4gIC8vIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb21wb25lbnQgZXh0ZW5kcyBVaVNpbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIC8qT25Jbml0LCAqL09uQ2hhbmdlcyB7IC8vIH0sIFZhbGlkYXRvciB7XHJcblxyXG4gIGNieHM6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSB2YWx1ZU1vZGU6ICdhcnJheScgfCAnb2JqZWN0JztcclxuXHJcbiAgQElucHV0KCkgdmFsdWVBdHRyaWJ1dGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBkaXNwbGF5QXR0cmlidXRlID0gJ2xhYmVsJztcclxuICBASW5wdXQoKSBoaW50QXR0cmlidXRlID0gJ2hpbnQnO1xyXG5cclxuICBASW5wdXQoKSBvcHRpb25zOiBhbnlbXTtcclxuICBASW5wdXQoKSBvcHRpb25FbmFibGVkID0gKG9wdGlvbjogYW55KSA9PiB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBjb250cm9sOiBOZ0NvbnRyb2wpIHtcclxuICAgIHN1cGVyKGNvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgLy8gbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgLy8gICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIC8vIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zKSB7XHJcbiAgICAgIHRoaXMuY2J4cyA9IFtdO1xyXG4gICAgICB0aGlzLnZhbHVlTW9kZSA9IEFycmF5LmlzQXJyYXkodGhpcy5jb250cm9sLnZhbHVlKSA/ICdhcnJheScgOiAnb2JqZWN0JztcclxuICAgICAgT2JqZWN0LmtleXMoY2hhbmdlcy5vcHRpb25zLmN1cnJlbnRWYWx1ZSkuZm9yRWFjaChrID0+IHtcclxuICAgICAgICBjb25zdCB2ID0gY2hhbmdlcy5vcHRpb25zLmN1cnJlbnRWYWx1ZVtrXTtcclxuICAgICAgICBjb25zdCBjdCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy52YWx1ZU1vZGUgPT09ICdhcnJheScgPyB0aGlzLmNvbnRyb2wudmFsdWUuaW5jbHVkZXModikgOiB0aGlzLmNvbnRyb2wudmFsdWVba10gPT09IHRydWUpO1xyXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25FbmFibGVkKHYpKSB7XHJcbiAgICAgICAgICBjdC5kaXNhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGN0LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlTW9kZSA9PT0gJ2FycmF5JyA/IFtdIDoge307XHJcbiAgICAgICAgICBsZXQgaGFzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jYnhzLmZvckVhY2goKGNieCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjaGVja2VkID0gY2J4LmNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGhhc0NoZWNrZWQgPSBoYXNDaGVja2VkIHx8IGNoZWNrZWQ7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlTW9kZSA9PT0gJ2FycmF5Jykge1xyXG4gICAgICAgICAgICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgICAgICAgICAgICAodmFsdWUgYXMgYW55W10pLnB1c2goY2J4LnZhbHVlLnZhbHVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdmFsdWVbY2J4LmtleV0gPSBjaGVja2VkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgJiYgIWhhc0NoZWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRFcnJvcnMoe2NiR3JvdXBSZXF1aXJlZDogdHJ1ZX0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jYnhzLnB1c2goe1xyXG4gICAgICAgICAgY29udHJvbDogY3QsXHJcbiAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZUF0dHJpYnV0ZSA/IHZbdGhpcy52YWx1ZUF0dHJpYnV0ZV0gOiB2LFxyXG4gICAgICAgICAgbGFiZWw6IHRoaXMuZGlzcGxheUF0dHJpYnV0ZSA/IHZbdGhpcy5kaXNwbGF5QXR0cmlidXRlXSA6IHYsXHJcbiAgICAgICAgICBoaW50OiB0aGlzLmhpbnRBdHRyaWJ1dGUgPyB2W3RoaXMuaGludEF0dHJpYnV0ZV0gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICBrZXk6IHRoaXMudmFsdWVNb2RlID09PSAnb2JqZWN0JyA/IGsgOiB1bmRlZmluZWRcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAvLyB9XHJcbiAgLy9cclxuICAvLyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgLy8gICBjb25zb2xlLmxvZygndmFsaWRhdGUnKTtcclxuICAvLyAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgLy8gfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPHVpLWNoZWNrYm94ICpuZ0Zvcj1cImxldCBjYnggb2YgY2J4c1wiIFtmb3JtQ29udHJvbF09XCJjYnguY29udHJvbFwiIFtsYWJlbF09XCJjYngubGFiZWxcIiBbaGludF09XCJjYnguaGludFwiPjwvdWktY2hlY2tib3g+XHJcblxyXG48L3VpLXNpbXBsZS1sYXlvdXQ+XHJcbiJdfQ==
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { Component, Host, HostBinding, Input, Optional, SkipSelf } from '@angular/core';
|
|
2
|
-
import { UiBaseComponent } from '../layouts/base/ui-base.component';
|
|
3
|
-
import { UntypedFormControl, UntypedFormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
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 "../input/input.component";
|
|
8
|
-
import * as i4 from "../select/select.component";
|
|
9
|
-
import * as i5 from "../layouts/base/ui-base-layout.component";
|
|
10
|
-
export class CurrencyComponent extends UiBaseComponent {
|
|
11
|
-
// @HostBinding('class')
|
|
12
|
-
// get sizeClass(): string {
|
|
13
|
-
// return this.size;
|
|
14
|
-
// }
|
|
15
|
-
constructor(controlContainer) {
|
|
16
|
-
super();
|
|
17
|
-
this.controlContainer = controlContainer;
|
|
18
|
-
this.currencies = [];
|
|
19
|
-
this.currencyDisabled = false;
|
|
20
|
-
this.panelClass = 'ui-currency';
|
|
21
|
-
this.amountHidden = false;
|
|
22
|
-
this.formGroup = new UntypedFormGroup({
|
|
23
|
-
amount: new UntypedFormControl(),
|
|
24
|
-
currency: new UntypedFormControl()
|
|
25
|
-
});
|
|
26
|
-
this.hasFocus = false;
|
|
27
|
-
this.onChange = (value) => { };
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
super.ngOnInit();
|
|
31
|
-
this.formGroup.valueChanges.subscribe(v => this.onChange(v));
|
|
32
|
-
// this.formGroup = new FormGroup({
|
|
33
|
-
// amount: new FormControl(this.control?.value.amount),
|
|
34
|
-
// currency: new FormControl(this.currencies.find(c => c.code === this.control?.value.currency.code))
|
|
35
|
-
// });
|
|
36
|
-
// this.formGroup.valueChanges.subscribe(v => {
|
|
37
|
-
// this.onChange(this.formGroup?.getRawValue());
|
|
38
|
-
// });
|
|
39
|
-
if (this.currencyDisabled) {
|
|
40
|
-
this.formGroup.get('currency')?.disable();
|
|
41
|
-
}
|
|
42
|
-
// this.ngControl.control.statusChanges.subscribe(s => {
|
|
43
|
-
// if (s === 'INVALID') {
|
|
44
|
-
// // this.formGroup?.get('amount')?.setErrors(this.control?.errors || null);
|
|
45
|
-
// this.formGroup?.get('currency')?.markAsTouched();
|
|
46
|
-
// // this.formGroup?.get('currency')?.setErrors(this.control?.errors || null);
|
|
47
|
-
// }
|
|
48
|
-
// if (s === 'DISABLED') {
|
|
49
|
-
// this.formGroup?.disable({emitEvent: false});
|
|
50
|
-
// }
|
|
51
|
-
// if (s === 'VALID') {
|
|
52
|
-
// this.formGroup?.enable({emitEvent: false});
|
|
53
|
-
// if (this.currencyDisabled) {
|
|
54
|
-
// this.formGroup?.get('currency')?.disable({emitEvent: false});
|
|
55
|
-
// }
|
|
56
|
-
// }
|
|
57
|
-
// });
|
|
58
|
-
this.parentFormControl = this.controlContainer.control.get(this.formControlName);
|
|
59
|
-
}
|
|
60
|
-
// bindValidators(validators) {
|
|
61
|
-
// console.log('binding validators', validators);
|
|
62
|
-
// if (this.formGroup) {
|
|
63
|
-
// this.formGroup.get('amount').setValidators(validators);
|
|
64
|
-
// this.formGroup.get('currency').markAsTouched();
|
|
65
|
-
// this.formGroup.get('currency').setErrors(validators);
|
|
66
|
-
// }
|
|
67
|
-
// }
|
|
68
|
-
get isInvalid() {
|
|
69
|
-
return this.parentFormControl.invalid;
|
|
70
|
-
}
|
|
71
|
-
get validationErrors() {
|
|
72
|
-
return this.parentFormControl.errors;
|
|
73
|
-
}
|
|
74
|
-
focusChanged(hasFocus) {
|
|
75
|
-
this.hasFocus = hasFocus;
|
|
76
|
-
}
|
|
77
|
-
registerOnChange(fn) {
|
|
78
|
-
this.onChange = fn;
|
|
79
|
-
}
|
|
80
|
-
registerOnTouched(fn) {
|
|
81
|
-
}
|
|
82
|
-
registerOnValidatorChange(fn) {
|
|
83
|
-
}
|
|
84
|
-
setDisabledState(isDisabled) {
|
|
85
|
-
if (isDisabled) {
|
|
86
|
-
this.formGroup.get('amount').disable();
|
|
87
|
-
if (!this.currencyDisabled) {
|
|
88
|
-
this.formGroup.get('currency').disable();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this.formGroup.get('amount').enable();
|
|
93
|
-
if (!this.currencyDisabled) {
|
|
94
|
-
this.formGroup.get('currency').enable();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
validate(control) {
|
|
99
|
-
return undefined;
|
|
100
|
-
}
|
|
101
|
-
writeValue(obj) {
|
|
102
|
-
this.formGroup.setValue(obj);
|
|
103
|
-
}
|
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CurrencyComponent, deps: [{ token: i1.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: CurrencyComponent, selector: "ui-currency", inputs: { currencies: "currencies", currencyDisabled: "currencyDisabled", formControlName: "formControlName", panelClass: "panelClass", amountHidden: "amountHidden" }, host: { properties: { "class.amount-hidden": "this.amountHidden", "class.focus": "this.hasFocus" } }, providers: [{
|
|
106
|
-
provide: NG_VALUE_ACCESSOR,
|
|
107
|
-
multi: true,
|
|
108
|
-
useExisting: CurrencyComponent
|
|
109
|
-
}, {
|
|
110
|
-
provide: NG_VALIDATORS,
|
|
111
|
-
multi: true,
|
|
112
|
-
useExisting: CurrencyComponent
|
|
113
|
-
}
|
|
114
|
-
], usesInheritance: true, ngImport: i0, template: "<ui-base-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container\" [formGroup]=\"formGroup\">\r\n <ui-input *ngIf=\"!amountHidden\" [textAlign]=\"'right'\" [formControlName]=\"'amount'\" [placeholder]=\"placeholder\" #input [useInputMessages]=\"'never'\" (focusChanged)=\"focusChanged($event)\"></ui-input>\r\n <ui-select [panelClass]=\"panelClass\" [formControlName]=\"'currency'\" [displayAttribute]=\"'symbol'\" [options]=\"currencies\" [useInputMessages]=\"'never'\"></ui-select>\r\n</div>\r\n\r\n</ui-base-layout>\r\n\r\n", styles: [":host{display:block}:host.amount-hidden ui-select{padding-left:.7em}:host .control-container{display:flex;border-style:solid}:host .control-container ui-input{flex:1 1 100%}:host .control-container ui-select{flex-grow:0;flex-shrink:1}:host ::ng-deep .mat-mdc-select-trigger{padding-left:.2em}:host ::ng-deep input{text-align:right;padding-right:.2em}:host ::ng-deep input,:host ::ng-deep .mat-mdc-select-trigger{border-width:0}:host.large ui-select{flex-basis:4.5em}:host.larger ui-select{flex-basis:5em}:host.normal ui-select{flex-basis:5.5em}:host.smaller ui-select{flex-basis:6em}:host.small ui-select{flex-basis:6em}:host.amount-hidden.large ui-select{flex-basis:5.2em}:host.amount-hidden.larger ui-select{flex-basis:4.7em}:host.amount-hidden.normal ui-select{flex-basis:4.2em}:host.amount-hidden.smaller ui-select{flex-basis:3.8em}:host.amount-hidden.smaller ui-select ::ng-deep .mat-mdc-select-trigger{width:3.2em}:host.amount-hidden.small ui-select{flex-basis:3.5em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.InputComponent, selector: "ui-input", inputs: ["prefixIcon", "suffixIcon", "type", "clearButton", "activeIcons", "forceHasPrefix", "forceHasSuffix", "textAlign"], outputs: ["focusChanged", "keyPressed"] }, { kind: "component", type: i4.SelectComponent, selector: "ui-select", inputs: ["multiple", "triggerFormatter", "valueAttribute", "resetText", "displayAttribute", "options", "optionFormatter", "optionTemplateRef", "triggerTemplateRef", "panelClass", "allowEmptySelection", "trackBy"] }, { kind: "component", type: i5.UiBaseLayoutComponent, selector: "ui-base-layout", inputs: ["ctx"] }] }); }
|
|
115
|
-
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CurrencyComponent, decorators: [{
|
|
117
|
-
type: Component,
|
|
118
|
-
args: [{ selector: 'ui-currency', providers: [{
|
|
119
|
-
provide: NG_VALUE_ACCESSOR,
|
|
120
|
-
multi: true,
|
|
121
|
-
useExisting: CurrencyComponent
|
|
122
|
-
}, {
|
|
123
|
-
provide: NG_VALIDATORS,
|
|
124
|
-
multi: true,
|
|
125
|
-
useExisting: CurrencyComponent
|
|
126
|
-
}
|
|
127
|
-
], template: "<ui-base-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container\" [formGroup]=\"formGroup\">\r\n <ui-input *ngIf=\"!amountHidden\" [textAlign]=\"'right'\" [formControlName]=\"'amount'\" [placeholder]=\"placeholder\" #input [useInputMessages]=\"'never'\" (focusChanged)=\"focusChanged($event)\"></ui-input>\r\n <ui-select [panelClass]=\"panelClass\" [formControlName]=\"'currency'\" [displayAttribute]=\"'symbol'\" [options]=\"currencies\" [useInputMessages]=\"'never'\"></ui-select>\r\n</div>\r\n\r\n</ui-base-layout>\r\n\r\n", styles: [":host{display:block}:host.amount-hidden ui-select{padding-left:.7em}:host .control-container{display:flex;border-style:solid}:host .control-container ui-input{flex:1 1 100%}:host .control-container ui-select{flex-grow:0;flex-shrink:1}:host ::ng-deep .mat-mdc-select-trigger{padding-left:.2em}:host ::ng-deep input{text-align:right;padding-right:.2em}:host ::ng-deep input,:host ::ng-deep .mat-mdc-select-trigger{border-width:0}:host.large ui-select{flex-basis:4.5em}:host.larger ui-select{flex-basis:5em}:host.normal ui-select{flex-basis:5.5em}:host.smaller ui-select{flex-basis:6em}:host.small ui-select{flex-basis:6em}:host.amount-hidden.large ui-select{flex-basis:5.2em}:host.amount-hidden.larger ui-select{flex-basis:4.7em}:host.amount-hidden.normal ui-select{flex-basis:4.2em}:host.amount-hidden.smaller ui-select{flex-basis:3.8em}:host.amount-hidden.smaller ui-select ::ng-deep .mat-mdc-select-trigger{width:3.2em}:host.amount-hidden.small ui-select{flex-basis:3.5em}\n"] }]
|
|
128
|
-
}], ctorParameters: () => [{ type: i1.ControlContainer, decorators: [{
|
|
129
|
-
type: Optional
|
|
130
|
-
}, {
|
|
131
|
-
type: Host
|
|
132
|
-
}, {
|
|
133
|
-
type: SkipSelf
|
|
134
|
-
}] }], propDecorators: { currencies: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], currencyDisabled: [{
|
|
137
|
-
type: Input
|
|
138
|
-
}], formControlName: [{
|
|
139
|
-
type: Input
|
|
140
|
-
}], panelClass: [{
|
|
141
|
-
type: Input
|
|
142
|
-
}], amountHidden: [{
|
|
143
|
-
type: HostBinding,
|
|
144
|
-
args: ['class.amount-hidden']
|
|
145
|
-
}, {
|
|
146
|
-
type: Input
|
|
147
|
-
}], hasFocus: [{
|
|
148
|
-
type: HostBinding,
|
|
149
|
-
args: ['class.focus']
|
|
150
|
-
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jdXJyZW5jeS9jdXJyZW5jeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2N1cnJlbmN5L2N1cnJlbmN5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUdMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixFQUdsQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBaUJ4QixNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQW9CcEQsd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1QixzQkFBc0I7SUFDdEIsSUFBSTtJQUVKLFlBQXNELGdCQUFrQztRQUN0RixLQUFLLEVBQUUsQ0FBQztRQUQ0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdkIvRSxlQUFVLEdBQWlDLEVBQUUsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZUFBVSxHQUFHLGFBQWEsQ0FBQztRQUczQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUU5QixjQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUMvQixNQUFNLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtZQUNoQyxRQUFRLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtTQUNuQyxDQUFDLENBQUM7UUFLSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV2pCLGFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUUs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RSxpQkFBaUI7YUFDL0IsRUFBRTtnQkFDRCxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLGlCQUFpQjthQUMvQjtTQUNBLGlEQzFCSCx1aEJBU0E7OzJGRG1CYSxpQkFBaUI7a0JBZjdCLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxtQkFBbUI7eUJBQy9CLEVBQUU7NEJBQ0QsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsbUJBQW1CO3lCQUMvQjtxQkFDQTs7MEJBMkJZLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLFFBQVE7eUNBdkJoQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csWUFBWTtzQkFEcEIsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQVVOLFFBQVE7c0JBRFAsV0FBVzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dHMvYmFzZS91aS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmUsXHJcbiAgTkdfVkFMSURBVE9SUyxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBWYWxpZGF0aW9uRXJyb3JzLFxyXG4gIFZhbGlkYXRvclxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktY3VycmVuY3knLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2N1cnJlbmN5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIHVzZUV4aXN0aW5nOiBDdXJyZW5jeUNvbXBvbmVudFxyXG4gIH0sIHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIHVzZUV4aXN0aW5nOiBDdXJyZW5jeUNvbXBvbmVudFxyXG4gIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUNvbXBvbmVudCBleHRlbmRzIFVpQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XHJcblxyXG4gIEBJbnB1dCgpIGN1cnJlbmNpZXM6IFBhcnRpYWw8eyBjb2RlOiBzdHJpbmc7IH0+W10gPSBbXTtcclxuICBASW5wdXQoKSBjdXJyZW5jeURpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGFuZWxDbGFzcyA9ICd1aS1jdXJyZW5jeSc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW1vdW50LWhpZGRlbicpXHJcbiAgQElucHV0KCkgYW1vdW50SGlkZGVuID0gZmFsc2U7XHJcblxyXG4gIGZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcclxuICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxyXG4gICAgY3VycmVuY3k6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKVxyXG4gIH0pO1xyXG5cclxuICBwYXJlbnRGb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzJylcclxuICBoYXNGb2N1cyA9IGZhbHNlO1xyXG5cclxuICAvLyBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICAvLyBnZXQgc2l6ZUNsYXNzKCk6IHN0cmluZyB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5zaXplO1xyXG4gIC8vIH1cclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlID0gKHZhbHVlKSA9PiB7fTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IHRoaXMub25DaGFuZ2UodikpO1xyXG4gICAgLy8gdGhpcy5mb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIC8vICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5jb250cm9sPy52YWx1ZS5hbW91bnQpLFxyXG4gICAgLy8gICBjdXJyZW5jeTogbmV3IEZvcm1Db250cm9sKHRoaXMuY3VycmVuY2llcy5maW5kKGMgPT4gYy5jb2RlID09PSB0aGlzLmNvbnRyb2w/LnZhbHVlLmN1cnJlbmN5LmNvZGUpKVxyXG4gICAgLy8gfSk7XHJcbiAgICAvLyB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgLy8gICB0aGlzLm9uQ2hhbmdlKHRoaXMuZm9ybUdyb3VwPy5nZXRSYXdWYWx1ZSgpKTtcclxuICAgIC8vIH0pO1xyXG4gICAgaWYgKHRoaXMuY3VycmVuY3lEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5Jyk/LmRpc2FibGUoKTtcclxuICAgIH1cclxuICAgIC8vIHRoaXMubmdDb250cm9sLmNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUocyA9PiB7XHJcbiAgICAvLyAgIGlmIChzID09PSAnSU5WQUxJRCcpIHtcclxuICAgIC8vICAgICAvLyB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdhbW91bnQnKT8uc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzIHx8IG51bGwpO1xyXG4gICAgLy8gICAgIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2N1cnJlbmN5Jyk/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIC8vICAgICAvLyB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdjdXJyZW5jeScpPy5zZXRFcnJvcnModGhpcy5jb250cm9sPy5lcnJvcnMgfHwgbnVsbCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgaWYgKHMgPT09ICdESVNBQkxFRCcpIHtcclxuICAgIC8vICAgICB0aGlzLmZvcm1Hcm91cD8uZGlzYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGlmIChzID09PSAnVkFMSUQnKSB7XHJcbiAgICAvLyAgICAgdGhpcy5mb3JtR3JvdXA/LmVuYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgLy8gICAgIGlmICh0aGlzLmN1cnJlbmN5RGlzYWJsZWQpIHtcclxuICAgIC8vICAgICAgIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2N1cnJlbmN5Jyk/LmRpc2FibGUoe2VtaXRFdmVudDogZmFsc2V9KTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH0pO1xyXG4gICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbCA9ICh0aGlzLmNvbnRyb2xDb250YWluZXIgYXMgRm9ybUdyb3VwRGlyZWN0aXZlKS5jb250cm9sLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvLyBiaW5kVmFsaWRhdG9ycyh2YWxpZGF0b3JzKSB7XHJcbiAgLy8gICBjb25zb2xlLmxvZygnYmluZGluZyB2YWxpZGF0b3JzJywgdmFsaWRhdG9ycyk7XHJcbiAgLy8gICBpZiAodGhpcy5mb3JtR3JvdXApIHtcclxuICAvLyAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhbW91bnQnKS5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gIC8vICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5JykubWFya0FzVG91Y2hlZCgpO1xyXG4gIC8vICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5Jykuc2V0RXJyb3JzKHZhbGlkYXRvcnMpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmVudEZvcm1Db250cm9sLmludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRhdGlvbkVycm9ycygpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmVudEZvcm1Db250cm9sLmVycm9ycztcclxuICB9XHJcblxyXG4gIGZvY3VzQ2hhbmdlZChoYXNGb2N1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5oYXNGb2N1cyA9IGhhc0ZvY3VzO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVuY3lEaXNhYmxlZCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY3VycmVuY3knKS5kaXNhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnYW1vdW50JykuZW5hYmxlKCk7XHJcbiAgICAgIGlmICghdGhpcy5jdXJyZW5jeURpc2FibGVkKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjdXJyZW5jeScpLmVuYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuc2V0VmFsdWUob2JqKTtcclxuICB9XHJcbn1cclxuIiwiPHVpLWJhc2UtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRyb2wtY29udGFpbmVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cclxuICA8dWktaW5wdXQgKm5nSWY9XCIhYW1vdW50SGlkZGVuXCIgW3RleHRBbGlnbl09XCIncmlnaHQnXCIgW2Zvcm1Db250cm9sTmFtZV09XCInYW1vdW50J1wiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiICNpbnB1dCBbdXNlSW5wdXRNZXNzYWdlc109XCInbmV2ZXInXCIgKGZvY3VzQ2hhbmdlZCk9XCJmb2N1c0NoYW5nZWQoJGV2ZW50KVwiPjwvdWktaW5wdXQ+XHJcbiAgPHVpLXNlbGVjdCBbcGFuZWxDbGFzc109XCJwYW5lbENsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCInY3VycmVuY3knXCIgW2Rpc3BsYXlBdHRyaWJ1dGVdPVwiJ3N5bWJvbCdcIiBbb3B0aW9uc109XCJjdXJyZW5jaWVzXCIgW3VzZUlucHV0TWVzc2FnZXNdPVwiJ25ldmVyJ1wiPjwvdWktc2VsZWN0PlxyXG48L2Rpdj5cclxuXHJcbjwvdWktYmFzZS1sYXlvdXQ+XHJcblxyXG4iXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Optional, Output, Self, ViewChild } 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/icon";
|
|
7
|
-
import * as i4 from "@angular/material/datepicker";
|
|
8
|
-
import * as i5 from "../layouts/simple/ui-simple-layout.component";
|
|
9
|
-
export class DateComponent extends UiSimpleComponent {
|
|
10
|
-
constructor(ngControl) {
|
|
11
|
-
super(ngControl);
|
|
12
|
-
this.ngControl = ngControl;
|
|
13
|
-
// @Input() placeholder: string | undefined;
|
|
14
|
-
// @Input() control;
|
|
15
|
-
// // @Input() controlName;
|
|
16
|
-
// @Input() label;
|
|
17
|
-
// @Input() type;
|
|
18
|
-
// @Input() floatLabel;
|
|
19
|
-
this.doKeyup = new EventEmitter();
|
|
20
|
-
this.hasFocus = false;
|
|
21
|
-
this.controlTypeName = 'date';
|
|
22
|
-
this.opening = false;
|
|
23
|
-
}
|
|
24
|
-
open() {
|
|
25
|
-
this.hasFocus = true;
|
|
26
|
-
// this.opening = true;
|
|
27
|
-
// this.picker.open();
|
|
28
|
-
// setTimeout(() => {
|
|
29
|
-
// this.input.nativeElement.focus();
|
|
30
|
-
// this.opening = false;
|
|
31
|
-
// }); // , 150);
|
|
32
|
-
}
|
|
33
|
-
close() {
|
|
34
|
-
this.hasFocus = false;
|
|
35
|
-
// if (!this.opening) {
|
|
36
|
-
// this.picker.close();h
|
|
37
|
-
// }
|
|
38
|
-
}
|
|
39
|
-
keyup() {
|
|
40
|
-
this.doKeyup.emit();
|
|
41
|
-
// this.onChange(this.control.value);
|
|
42
|
-
}
|
|
43
|
-
writeValue(obj) { }
|
|
44
|
-
registerOnChange(fn) {
|
|
45
|
-
this.onChange = fn;
|
|
46
|
-
}
|
|
47
|
-
registerOnTouched(fn) { }
|
|
48
|
-
setDisabledState(isDisabled) { }
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DateComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: DateComponent, selector: "ui-date", outputs: { doKeyup: "doKeyup" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container has-suffix active-icons\" [ngClass]=\"{'has-focus': hasFocus}\">\r\n <input #input (blur)=\"close()\" (focus)=\"open()\" [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [formControl]=\"componentFormControl\" (keyup)=\"keyup()\">\r\n <mat-icon slot=\"suffix\" (click)=\"picker.open()\" [ngClass]=\"{disabled: componentFormControl.disabled}\">today</mat-icon>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</div>\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"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: i5.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DateComponent, decorators: [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{ selector: 'ui-date', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container has-suffix active-icons\" [ngClass]=\"{'has-focus': hasFocus}\">\r\n <input #input (blur)=\"close()\" (focus)=\"open()\" [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [formControl]=\"componentFormControl\" (keyup)=\"keyup()\">\r\n <mat-icon slot=\"suffix\" (click)=\"picker.open()\" [ngClass]=\"{disabled: componentFormControl.disabled}\">today</mat-icon>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</div>\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"] }]
|
|
55
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
56
|
-
type: Optional
|
|
57
|
-
}, {
|
|
58
|
-
type: Self
|
|
59
|
-
}] }], propDecorators: { doKeyup: [{
|
|
60
|
-
type: Output
|
|
61
|
-
}], picker: [{
|
|
62
|
-
type: ViewChild,
|
|
63
|
-
args: ['picker']
|
|
64
|
-
}], input: [{
|
|
65
|
-
type: ViewChild,
|
|
66
|
-
args: ['input']
|
|
67
|
-
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFlMUUsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFvQmxELFlBQXVDLFNBQW9CO1FBQ3pELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURvQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBbkIzRCw0Q0FBNEM7UUFDNUMsb0JBQW9CO1FBQ3BCLDJCQUEyQjtRQUMzQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLHVCQUF1QjtRQUViLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTXZDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsb0JBQWUsR0FBRyxNQUFNLENBQUM7UUFFekIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUloQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLHNDQUFzQztRQUN0QywwQkFBMEI7UUFDMUIsaUJBQWlCO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQixJQUFJO0lBQ04sQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLHFDQUFxQztJQUN2QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVEsSUFBVSxDQUFDO0lBRTlCLGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU8sSUFBVSxDQUFDO0lBRXBDLGdCQUFnQixDQUFDLFVBQW1CLElBQVUsQ0FBQzs4R0F0RHBDLGFBQWE7a0dBQWIsYUFBYSwwUkNqQjFCLGtoQkFTQTs7MkZEUWEsYUFBYTtrQkFiekIsU0FBUzsrQkFDRSxTQUFTOzswQkFnQ04sUUFBUTs7MEJBQUksSUFBSTt5Q0FabkIsT0FBTztzQkFBaEIsTUFBTTtnQkFFYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0MsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBPdXRwdXQsIFNlbGYsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVaVNpbXBsZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dHMvc2ltcGxlL3VpLXNpbXBsZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1kYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuLi9sYXlvdXRzL3NpbXBsZS91aS1zaW1wbGUtbGF5b3V0LmNvbXBvbmVudC5zY3NzJ11cclxuICAvLyBwcm92aWRlcnM6IFtcclxuICAvLyAgIHtcclxuICAvLyAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgLy8gICAgIG11bHRpOiB0cnVlLFxyXG4gIC8vICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlQ29tcG9uZW50KSxcclxuICAvLyAgIH1cclxuICAvLyBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIFVpU2ltcGxlQ29tcG9uZW50IHsgLy8gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgLy8gQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAvLyBASW5wdXQoKSBjb250cm9sO1xyXG4gIC8vIC8vIEBJbnB1dCgpIGNvbnRyb2xOYW1lO1xyXG4gIC8vIEBJbnB1dCgpIGxhYmVsO1xyXG4gIC8vIEBJbnB1dCgpIHR5cGU7XHJcbiAgLy8gQElucHV0KCkgZmxvYXRMYWJlbDtcclxuXHJcbiAgQE91dHB1dCgpIGRvS2V5dXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3BpY2tlcicpIHBpY2tlcj86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dD86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnk7XHJcbiAgaGFzRm9jdXMgPSBmYWxzZTtcclxuXHJcbiAgY29udHJvbFR5cGVOYW1lID0gJ2RhdGUnO1xyXG5cclxuICBvcGVuaW5nID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sKSB7XHJcbiAgICBzdXBlcihuZ0NvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgb3BlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xyXG4gICAgLy8gdGhpcy5vcGVuaW5nID0gdHJ1ZTtcclxuICAgIC8vIHRoaXMucGlja2VyLm9wZW4oKTtcclxuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgLy8gICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIC8vICAgdGhpcy5vcGVuaW5nID0gZmFsc2U7XHJcbiAgICAvLyB9KTsgLy8gLCAxNTApO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhc0ZvY3VzID0gZmFsc2U7XHJcbiAgICAvLyBpZiAoIXRoaXMub3BlbmluZykge1xyXG4gICAgLy8gICB0aGlzLnBpY2tlci5jbG9zZSgpO2hcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIGtleXVwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb0tleXVwLmVtaXQoKTtcclxuICAgIC8vIHRoaXMub25DaGFuZ2UodGhpcy5jb250cm9sLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHsgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHsgfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRyb2wtY29udGFpbmVyIGhhcy1zdWZmaXggYWN0aXZlLWljb25zXCIgW25nQ2xhc3NdPVwieydoYXMtZm9jdXMnOiBoYXNGb2N1c31cIj5cclxuICA8aW5wdXQgI2lucHV0IChibHVyKT1cImNsb3NlKClcIiAoZm9jdXMpPVwib3BlbigpXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudEZvcm1Db250cm9sXCIgKGtleXVwKT1cImtleXVwKClcIj5cclxuICA8bWF0LWljb24gc2xvdD1cInN1ZmZpeFwiIChjbGljayk9XCJwaWNrZXIub3BlbigpXCIgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiBjb21wb25lbnRGb3JtQ29udHJvbC5kaXNhYmxlZH1cIj50b2RheTwvbWF0LWljb24+XHJcbiAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cclxuPC9kaXY+XHJcblxyXG48L3VpLXNpbXBsZS1sYXlvdXQ+XHJcbiJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/dialog";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "@angular/cdk/drag-drop";
|
|
6
|
-
import * as i4 from "../action-icon/action-icon.component";
|
|
7
|
-
export class DialogComponent {
|
|
8
|
-
constructor(dialogRef) {
|
|
9
|
-
this.dialogRef = dialogRef;
|
|
10
|
-
this.title = '';
|
|
11
|
-
this.draggable = false; // true;
|
|
12
|
-
this.hideCloseButton = false;
|
|
13
|
-
}
|
|
14
|
-
clickClose() {
|
|
15
|
-
if (!this.close) {
|
|
16
|
-
this.dialogRef.close();
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
this.close();
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DialogComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: DialogComponent, selector: "ui-dialog", inputs: { title: "title", draggable: "draggable", hideCloseButton: "hideCloseButton", close: "close" }, ngImport: i0, template: "<ui-action-icon *ngIf=\"title && !hideCloseButton\" (click)=\"clickClose()\" class=\"close-icon\" [matIcon]=\"'close'\" [color]=\"'warn'\"></ui-action-icon>\r\n\r\n<ng-container *ngIf=\"title\">\r\n <h1 class=\"draggable\" cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" cdkDragHandle mat-dialog-title *ngIf=\"draggable\">\r\n {{title}}\r\n </h1>\r\n <h1 mat-dialog-title *ngIf=\"!draggable\">\r\n {{title}}\r\n </h1>\r\n</ng-container>\r\n\r\n<ng-content></ng-content>\r\n", styles: [":host{height:100%;display:flex;flex-direction:column}::ng-deep .mat-mdc-dialog-container{position:relative;overflow:visible!important}::ng-deep .mat-mdc-dialog-container .mdc-dialog__content{line-height:unset!important;letter-spacing:unset!important;color:unset!important}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-title{font-size:24px;margin:0 0 5px;padding:12px 16px;border-bottom:1px solid transparent}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-title.draggable{cursor:move}::ng-deep .mat-mdc-dialog-container h1{display:flex;align-items:center}::ng-deep .mat-mdc-dialog-container .close-icon{position:absolute;right:16px;top:16px;z-index:1}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions{display:flex;flex-direction:column;border-top:1px solid transparent;margin-top:5px;padding:0}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions.mat-dialog-actions{margin:0 -12px -16px}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions .buttons{display:flex;flex:1 1 auto;justify-content:flex-end;align-items:center;width:100%;padding:8px}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions .message{flex:1 1 auto;display:flex;flex-wrap:wrap;font-weight:500;font-size:90%;width:100%;padding:6px 8px}::ng-deep .mat-mdc-dialog-container [mat-dialog-content]{position:relative;max-height:calc(100vh - 150px);overflow:auto;scroll-behavior:smooth;display:flex;flex-direction:column;padding:0 6px;outline:none;flex:1}::ng-deep .mat-mdc-dialog-container [mat-dialog-content].mat-dialog-content{margin:0 -12px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.ActionIconComponent, selector: "ui-action-icon", inputs: ["size", "color", "disabled", "busy", "matIcon"] }] }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DialogComponent, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{ selector: 'ui-dialog', template: "<ui-action-icon *ngIf=\"title && !hideCloseButton\" (click)=\"clickClose()\" class=\"close-icon\" [matIcon]=\"'close'\" [color]=\"'warn'\"></ui-action-icon>\r\n\r\n<ng-container *ngIf=\"title\">\r\n <h1 class=\"draggable\" cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" cdkDragHandle mat-dialog-title *ngIf=\"draggable\">\r\n {{title}}\r\n </h1>\r\n <h1 mat-dialog-title *ngIf=\"!draggable\">\r\n {{title}}\r\n </h1>\r\n</ng-container>\r\n\r\n<ng-content></ng-content>\r\n", styles: [":host{height:100%;display:flex;flex-direction:column}::ng-deep .mat-mdc-dialog-container{position:relative;overflow:visible!important}::ng-deep .mat-mdc-dialog-container .mdc-dialog__content{line-height:unset!important;letter-spacing:unset!important;color:unset!important}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-title{font-size:24px;margin:0 0 5px;padding:12px 16px;border-bottom:1px solid transparent}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-title.draggable{cursor:move}::ng-deep .mat-mdc-dialog-container h1{display:flex;align-items:center}::ng-deep .mat-mdc-dialog-container .close-icon{position:absolute;right:16px;top:16px;z-index:1}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions{display:flex;flex-direction:column;border-top:1px solid transparent;margin-top:5px;padding:0}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions.mat-dialog-actions{margin:0 -12px -16px}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions .buttons{display:flex;flex:1 1 auto;justify-content:flex-end;align-items:center;width:100%;padding:8px}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions .message{flex:1 1 auto;display:flex;flex-wrap:wrap;font-weight:500;font-size:90%;width:100%;padding:6px 8px}::ng-deep .mat-mdc-dialog-container [mat-dialog-content]{position:relative;max-height:calc(100vh - 150px);overflow:auto;scroll-behavior:smooth;display:flex;flex-direction:column;padding:0 6px;outline:none;flex:1}::ng-deep .mat-mdc-dialog-container [mat-dialog-content].mat-dialog-content{margin:0 -12px}\n"] }]
|
|
28
|
-
}], ctorParameters: () => [{ type: i1.MatDialogRef }], propDecorators: { title: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], draggable: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], hideCloseButton: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], close: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU8vQyxNQUFNLE9BQU8sZUFBZTtJQVExQixZQUFtQixTQUF3QztRQUF4QyxjQUFTLEdBQVQsU0FBUyxDQUErQjtRQU5sRCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVE7UUFDM0Isb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFLakMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQzs4R0FqQlUsZUFBZTtrR0FBZixlQUFlLHlKQ1I1QixzZUFZQTs7MkZESmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxXQUFXO2lGQU1aLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcbiAgQElucHV0KCkgZHJhZ2dhYmxlID0gZmFsc2U7IC8vIHRydWU7XHJcbiAgQElucHV0KCkgaGlkZUNsb3NlQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGNsb3NlOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dDb21wb25lbnQ+KSB7XHJcbiAgfVxyXG5cclxuICBjbGlja0Nsb3NlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNsb3NlKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8dWktYWN0aW9uLWljb24gKm5nSWY9XCJ0aXRsZSAmJiAhaGlkZUNsb3NlQnV0dG9uXCIgKGNsaWNrKT1cImNsaWNrQ2xvc2UoKVwiIGNsYXNzPVwiY2xvc2UtaWNvblwiIFttYXRJY29uXT1cIidjbG9zZSdcIiBbY29sb3JdPVwiJ3dhcm4nXCI+PC91aS1hY3Rpb24taWNvbj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVwiPlxyXG4gIDxoMSBjbGFzcz1cImRyYWdnYWJsZVwiIGNka0RyYWcgY2RrRHJhZ1Jvb3RFbGVtZW50PVwiLmNkay1vdmVybGF5LXBhbmVcIiBjZGtEcmFnSGFuZGxlIG1hdC1kaWFsb2ctdGl0bGUgKm5nSWY9XCJkcmFnZ2FibGVcIj5cclxuICAgIHt7dGl0bGV9fVxyXG4gIDwvaDE+XHJcbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGUgKm5nSWY9XCIhZHJhZ2dhYmxlXCI+XHJcbiAgICB7e3RpdGxlfX1cclxuICA8L2gxPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ForceVisibilityDirective {
|
|
4
|
-
static { this.disabled = false; }
|
|
5
|
-
constructor(el) {
|
|
6
|
-
this.el = el;
|
|
7
|
-
this.visibilityPadding = 15;
|
|
8
|
-
this.visibilityOnRequestOnly = false;
|
|
9
|
-
this.visibilityEmitChange = false;
|
|
10
|
-
this.visibilityFromTop = 0;
|
|
11
|
-
this.visibilityCheckEnabled = true;
|
|
12
|
-
this.visibilityChanged = new EventEmitter();
|
|
13
|
-
}
|
|
14
|
-
static disableFor(timeoutMs) {
|
|
15
|
-
this.disabled = true;
|
|
16
|
-
setTimeout(() => this.disabled = false, timeoutMs);
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
if (!this.visibilityOnRequestOnly && !this.visibilityEmitChange) {
|
|
20
|
-
setTimeout(() => {
|
|
21
|
-
this.forceVisibility();
|
|
22
|
-
}, 125);
|
|
23
|
-
}
|
|
24
|
-
if (this.visibilityEmitChange) {
|
|
25
|
-
if (!this.visibilityWithin) {
|
|
26
|
-
throw Error('traceVisibilityChanged requires visibilityWithin');
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
this.visible = this.isVisible();
|
|
30
|
-
this.visibilityWithin.onscroll = () => {
|
|
31
|
-
const v = this.isVisible();
|
|
32
|
-
if (v !== this.visible) {
|
|
33
|
-
this.visible = v;
|
|
34
|
-
this.visibilityChanged.emit(v);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
ngOnChanges(changes) {
|
|
41
|
-
if (changes.visibilityCheckEnabled && changes.visibilityCheckEnabled.currentValue !== changes.visibilityCheckEnabled.previousValue) {
|
|
42
|
-
this.forceVisibility();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
isVisible() {
|
|
46
|
-
const rect = this.el.nativeElement.getBoundingClientRect();
|
|
47
|
-
const rectIn = this.visibilityWithin.getBoundingClientRect();
|
|
48
|
-
return rect.top + +this.visibilityPadding - rectIn.bottom < 0;
|
|
49
|
-
}
|
|
50
|
-
forceVisibility() {
|
|
51
|
-
if (ForceVisibilityDirective.disabled || !this.visibilityCheckEnabled) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const rect = this.el.nativeElement.getBoundingClientRect();
|
|
55
|
-
const padding = +this.visibilityPadding;
|
|
56
|
-
if (this.visibilityWithin) {
|
|
57
|
-
const rectIn = this.visibilityWithin.getBoundingClientRect();
|
|
58
|
-
let diff = rect.top + rect.height + padding - rectIn.bottom;
|
|
59
|
-
if (diff > 0) {
|
|
60
|
-
this.visibilityWithin.scrollBy(0, diff);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
diff = rect.top - rectIn.top - padding;
|
|
64
|
-
if (diff < 0) {
|
|
65
|
-
this.visibilityWithin.scrollBy(0, diff);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
if (this.visibilityFromTop !== 0) {
|
|
71
|
-
document.getElementsByTagName('app-root')[0].scrollTo(0, rect.top - +this.visibilityFromTop);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
if (rect.bottom > window.innerHeight) {
|
|
75
|
-
document.getElementsByTagName('app-root')[0].scrollBy(0, rect.bottom - window.innerHeight + 15);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ForceVisibilityDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
81
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: ForceVisibilityDirective, selector: "[uiForceVisibility]", inputs: { visibilityWithin: "visibilityWithin", visibilityPadding: "visibilityPadding", visibilityOnRequestOnly: "visibilityOnRequestOnly", visibilityEmitChange: "visibilityEmitChange", visibilityFromTop: "visibilityFromTop", visibilityCheckEnabled: "visibilityCheckEnabled" }, outputs: { visibilityChanged: "visibilityChanged" }, exportAs: ["ForceVisibilityDirective"], usesOnChanges: true, ngImport: i0 }); }
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ForceVisibilityDirective, decorators: [{
|
|
84
|
-
type: Directive,
|
|
85
|
-
args: [{
|
|
86
|
-
selector: '[uiForceVisibility]',
|
|
87
|
-
exportAs: 'ForceVisibilityDirective'
|
|
88
|
-
}]
|
|
89
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { visibilityWithin: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], visibilityPadding: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], visibilityOnRequestOnly: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], visibilityEmitChange: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], visibilityFromTop: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], visibilityCheckEnabled: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], visibilityChanged: [{
|
|
102
|
-
type: Output
|
|
103
|
-
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtdmlzaWJpbGl0eS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RpcmVjdGl2ZXMvZm9yY2UtdmlzaWJpbGl0eS9mb3JjZS12aXNpYmlsaXR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBK0IsTUFBTSxlQUFlLENBQUM7O0FBTW5JLE1BQU0sT0FBTyx3QkFBd0I7YUFFcEIsYUFBUSxHQUFHLEtBQUssQUFBUixDQUFTO0lBYWhDLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBVnpCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDaEMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUN0QiwyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFFN0Isc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUsxRCxDQUFDO0lBR00sTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFpQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQztRQUNELElBQUks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Q0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3JDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDbEcsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0FwRlUsd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLDBCQUEwQjtpQkFDckM7K0VBS1UsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2UsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3VpRm9yY2VWaXNpYmlsaXR5XScsXHJcbiAgZXhwb3J0QXM6ICdGb3JjZVZpc2liaWxpdHlEaXJlY3RpdmUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JjZVZpc2liaWxpdHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHZpc2liaWxpdHlXaXRoaW46IEhUTUxFbGVtZW50O1xyXG4gIEBJbnB1dCgpIHZpc2liaWxpdHlQYWRkaW5nID0gMTU7XHJcbiAgQElucHV0KCkgdmlzaWJpbGl0eU9uUmVxdWVzdE9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSB2aXNpYmlsaXR5RW1pdENoYW5nZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpc2liaWxpdHlGcm9tVG9wID0gMDtcclxuICBASW5wdXQoKSB2aXNpYmlsaXR5Q2hlY2tFbmFibGVkID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpIHZpc2liaWxpdHlDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwcml2YXRlIHZpc2libGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc3RhdGljIGRpc2FibGVGb3IodGltZW91dE1zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmRpc2FibGVkID0gZmFsc2UsIHRpbWVvdXRNcyk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy52aXNpYmlsaXR5T25SZXF1ZXN0T25seSAmJiAhdGhpcy52aXNpYmlsaXR5RW1pdENoYW5nZSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmZvcmNlVmlzaWJpbGl0eSgpO1xyXG4gICAgICB9LCAxMjUpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmlzaWJpbGl0eUVtaXRDaGFuZ2UpIHtcclxuICAgICAgaWYgKCF0aGlzLnZpc2liaWxpdHlXaXRoaW4pIHtcclxuICAgICAgICB0aHJvdyBFcnJvcigndHJhY2VWaXNpYmlsaXR5Q2hhbmdlZCByZXF1aXJlcyB2aXNpYmlsaXR5V2l0aGluJylcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZpc2libGUgPSB0aGlzLmlzVmlzaWJsZSgpO1xyXG4gICAgICAgIHRoaXMudmlzaWJpbGl0eVdpdGhpbi5vbnNjcm9sbCA9ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHYgPSB0aGlzLmlzVmlzaWJsZSgpO1xyXG4gICAgICAgICAgaWYgKHYgIT09IHRoaXMudmlzaWJsZSkge1xyXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlDaGFuZ2VkLmVtaXQodik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy52aXNpYmlsaXR5Q2hlY2tFbmFibGVkICYmIGNoYW5nZXMudmlzaWJpbGl0eUNoZWNrRW5hYmxlZC5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMudmlzaWJpbGl0eUNoZWNrRW5hYmxlZC5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZm9yY2VWaXNpYmlsaXR5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzVmlzaWJsZSgpIHtcclxuICAgIGNvbnN0IHJlY3QgPSAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHJlY3RJbiA9IHRoaXMudmlzaWJpbGl0eVdpdGhpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHJldHVybiByZWN0LnRvcCArICt0aGlzLnZpc2liaWxpdHlQYWRkaW5nIC0gcmVjdEluLmJvdHRvbSA8IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZm9yY2VWaXNpYmlsaXR5KCk6IHZvaWQge1xyXG4gICAgaWYgKEZvcmNlVmlzaWJpbGl0eURpcmVjdGl2ZS5kaXNhYmxlZCB8fCAhdGhpcy52aXNpYmlsaXR5Q2hlY2tFbmFibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlY3QgPSAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHBhZGRpbmcgPSArdGhpcy52aXNpYmlsaXR5UGFkZGluZztcclxuICAgIGlmICh0aGlzLnZpc2liaWxpdHlXaXRoaW4pIHtcclxuICAgICAgY29uc3QgcmVjdEluID0gdGhpcy52aXNpYmlsaXR5V2l0aGluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBsZXQgZGlmZiA9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgKyBwYWRkaW5nIC0gcmVjdEluLmJvdHRvbTtcclxuICAgICAgaWYgKGRpZmYgPiAwKSB7XHJcbiAgICAgICAgdGhpcy52aXNpYmlsaXR5V2l0aGluLnNjcm9sbEJ5KDAsIGRpZmYpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRpZmYgPSByZWN0LnRvcCAtIHJlY3RJbi50b3AgLSBwYWRkaW5nO1xyXG4gICAgICAgIGlmIChkaWZmIDwgMCkge1xyXG4gICAgICAgICAgdGhpcy52aXNpYmlsaXR5V2l0aGluLnNjcm9sbEJ5KDAsIGRpZmYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMudmlzaWJpbGl0eUZyb21Ub3AgIT09IDApIHtcclxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYXBwLXJvb3QnKVswXS5zY3JvbGxUbygwLCByZWN0LnRvcCAtICt0aGlzLnZpc2liaWxpdHlGcm9tVG9wKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAocmVjdC5ib3R0b20gPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcclxuICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhcHAtcm9vdCcpWzBdLnNjcm9sbEJ5KDAsIHJlY3QuYm90dG9tIC0gd2luZG93LmlubmVySGVpZ2h0ICsgMTUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|