@rlucan/ui 16.2.2 → 17.1.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/esm2022/lib/action-button/action-button.component.mjs +99 -99
- package/esm2022/lib/action-icon/action-icon.component.mjs +37 -37
- package/esm2022/lib/autocomplete/autocomplete.component.mjs +391 -391
- package/esm2022/lib/avatar/avatar.component.mjs +34 -34
- package/esm2022/lib/button/button.component.mjs +57 -57
- package/esm2022/lib/checkbox/checkbox.component.mjs +39 -39
- package/esm2022/lib/checkbox-group/checkbox-group.component.mjs +91 -91
- package/esm2022/lib/currency/currency.component.mjs +151 -151
- package/esm2022/lib/date/date.component.mjs +68 -68
- package/esm2022/lib/dialog/dialog.component.mjs +37 -37
- package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +104 -104
- package/esm2022/lib/editor/editor.component.mjs +119 -119
- package/esm2022/lib/elements/burger/burger.component.mjs +21 -21
- package/esm2022/lib/elements/expander/expander.component.mjs +28 -28
- package/esm2022/lib/elements/validation-message/validation-message.component.mjs +47 -47
- package/esm2022/lib/file/file.component.mjs +166 -145
- package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +423 -405
- package/esm2022/lib/input/input.component.mjs +265 -265
- package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +277 -277
- package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +22 -22
- package/esm2022/lib/layouts/base/ui-base.component.mjs +74 -74
- package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +18 -18
- package/esm2022/lib/layouts/simple/ui-simple.component.mjs +166 -166
- package/esm2022/lib/radio/radio.component.mjs +21 -21
- package/esm2022/lib/radio-group/radio-group.component.mjs +53 -53
- package/esm2022/lib/select/select.component.mjs +126 -126
- package/esm2022/lib/services/message-box.service.mjs +112 -112
- package/esm2022/lib/services/toast.service.mjs +23 -23
- package/esm2022/lib/services/ui-file.service.mjs +72 -71
- package/esm2022/lib/services/ui-translate.service.mjs +32 -32
- package/esm2022/lib/submit-button/submit-button.component.mjs +72 -72
- package/esm2022/lib/table/table.component.mjs +97 -97
- package/esm2022/lib/text-area/text-area.component.mjs +46 -46
- package/esm2022/lib/ui.model.mjs +1 -1
- package/esm2022/lib/ui.module.mjs +269 -269
- package/esm2022/public-api.mjs +34 -34
- package/esm2022/rlucan-ui.mjs +4 -4
- package/fesm2022/rlucan-ui.mjs +3329 -3289
- package/fesm2022/rlucan-ui.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/action-button/action-button.component.d.ts +28 -28
- package/lib/action-icon/action-icon.component.d.ts +15 -15
- package/lib/autocomplete/autocomplete.component.d.ts +57 -57
- package/lib/avatar/avatar.component.d.ts +14 -14
- package/lib/button/button.component.d.ts +18 -18
- package/lib/checkbox/checkbox.component.d.ts +15 -15
- package/lib/checkbox-group/checkbox-group.component.d.ts +18 -18
- package/lib/currency/currency.component.d.ts +31 -31
- package/lib/date/date.component.d.ts +24 -24
- package/lib/dialog/dialog.component.d.ts +13 -13
- package/lib/directives/force-visibility/force-visibility.directive.d.ts +22 -22
- package/lib/editor/editor.component.d.ts +24 -24
- package/lib/elements/burger/burger.component.d.ts +9 -9
- package/lib/elements/expander/expander.component.d.ts +10 -10
- package/lib/elements/validation-message/validation-message.component.d.ts +12 -12
- package/lib/file/file.component.d.ts +36 -35
- package/lib/file-uploader/ui-file-uploader.component.d.ts +106 -102
- package/lib/input/input.component.d.ts +42 -42
- package/lib/input-autocomplete/input-autocomplete.component.d.ts +44 -44
- package/lib/layouts/base/ui-base-layout.component.d.ts +8 -8
- package/lib/layouts/base/ui-base.component.d.ts +23 -23
- package/lib/layouts/simple/ui-simple-layout.component.d.ts +8 -8
- package/lib/layouts/simple/ui-simple.component.d.ts +40 -40
- package/lib/radio/radio.component.d.ts +8 -8
- package/lib/radio-group/radio-group.component.d.ts +18 -18
- package/lib/select/select.component.d.ts +37 -37
- package/lib/services/message-box.service.d.ts +58 -58
- package/lib/services/toast.service.d.ts +13 -13
- package/lib/services/ui-file.service.d.ts +37 -33
- package/lib/services/ui-translate.service.d.ts +11 -11
- package/lib/submit-button/submit-button.component.d.ts +21 -21
- package/lib/table/table.component.d.ts +36 -36
- package/lib/text-area/text-area.component.d.ts +18 -18
- package/lib/ui.model.d.ts +2 -2
- package/lib/ui.module.d.ts +59 -59
- package/package.json +14 -14
- package/public-api.d.ts +29 -29
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import { Component, Host, HostBinding, Input, Optional, SkipSelf } from '@angular/core';
|
|
2
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/dialog";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "../button/button.component";
|
|
8
|
-
export class SubmitButtonComponent {
|
|
9
|
-
constructor(dialogRef, controlContainer) {
|
|
10
|
-
this.dialogRef = dialogRef;
|
|
11
|
-
this.controlContainer = controlContainer;
|
|
12
|
-
this.busy = false;
|
|
13
|
-
this.disabled = false;
|
|
14
|
-
this.formGroups = [];
|
|
15
|
-
this.label = 'Save';
|
|
16
|
-
this.prependCloseButton = true;
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
if (this.formInvalid === undefined) {
|
|
20
|
-
if (this.formGroups === undefined && this.controlContainer && this.controlContainer.control instanceof UntypedFormGroup) {
|
|
21
|
-
this.formGroups = this.controlContainer.control;
|
|
22
|
-
}
|
|
23
|
-
if (!Array.isArray(this.formGroups)) {
|
|
24
|
-
this.formGroups = [this.formGroups];
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
get formsValid() {
|
|
29
|
-
if (this.formInvalid !== undefined) {
|
|
30
|
-
return !this.formInvalid;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
return !this.formGroups.find(f => f.invalid);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
doSubmit() {
|
|
37
|
-
this.formGroups.forEach(f => f.markAllAsTouched());
|
|
38
|
-
if (this.formsValid && this.submit) {
|
|
39
|
-
this.submit();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
-
type: Component,
|
|
47
|
-
args: [{ selector: 'ui-submit-button', template: "<ui-button *ngIf=\"prependCloseButton\" [label]=\"'Close'\" (click)=\"dialogRef.close()\"></ui-button>\r\n\r\n<ui-button [busy]=\"busy\"\r\n [disabled]=\"disabled || busy\" [type]=\"'submit'\"\r\n [formInvalid]=\"!formsValid\"\r\n [label]=\"label\" (click)=\"doSubmit()\"></ui-button>\r\n", styles: [":host.with-close{display:flex;justify-content:flex-end;width:100%;margin-left:0!important}:host.with-close ui-button{margin-left:12px}\n"] }]
|
|
48
|
-
}], ctorParameters:
|
|
49
|
-
type: Optional
|
|
50
|
-
}, {
|
|
51
|
-
type: Host
|
|
52
|
-
}, {
|
|
53
|
-
type: SkipSelf
|
|
54
|
-
}] }]
|
|
55
|
-
type: Input
|
|
56
|
-
}], disabled: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], formGroups: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], label: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], submit: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], formInvalid: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], prependCloseButton: [{
|
|
67
|
-
type: HostBinding,
|
|
68
|
-
args: ['class.with-close']
|
|
69
|
-
}, {
|
|
70
|
-
type: Input
|
|
71
|
-
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Host, HostBinding, Input, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "../button/button.component";
|
|
8
|
+
export class SubmitButtonComponent {
|
|
9
|
+
constructor(dialogRef, controlContainer) {
|
|
10
|
+
this.dialogRef = dialogRef;
|
|
11
|
+
this.controlContainer = controlContainer;
|
|
12
|
+
this.busy = false;
|
|
13
|
+
this.disabled = false;
|
|
14
|
+
this.formGroups = [];
|
|
15
|
+
this.label = 'Save';
|
|
16
|
+
this.prependCloseButton = true;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
if (this.formInvalid === undefined) {
|
|
20
|
+
if (this.formGroups === undefined && this.controlContainer && this.controlContainer.control instanceof UntypedFormGroup) {
|
|
21
|
+
this.formGroups = this.controlContainer.control;
|
|
22
|
+
}
|
|
23
|
+
if (!Array.isArray(this.formGroups)) {
|
|
24
|
+
this.formGroups = [this.formGroups];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
get formsValid() {
|
|
29
|
+
if (this.formInvalid !== undefined) {
|
|
30
|
+
return !this.formInvalid;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return !this.formGroups.find(f => f.invalid);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
doSubmit() {
|
|
37
|
+
this.formGroups.forEach(f => f.markAllAsTouched());
|
|
38
|
+
if (this.formsValid && this.submit) {
|
|
39
|
+
this.submit();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SubmitButtonComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SubmitButtonComponent, selector: "ui-submit-button", inputs: { busy: "busy", disabled: "disabled", formGroups: "formGroups", label: "label", submit: "submit", formInvalid: "formInvalid", prependCloseButton: "prependCloseButton" }, host: { properties: { "class.with-close": "this.prependCloseButton" } }, ngImport: i0, template: "<ui-button *ngIf=\"prependCloseButton\" [label]=\"'Close'\" (click)=\"dialogRef.close()\"></ui-button>\r\n\r\n<ui-button [busy]=\"busy\"\r\n [disabled]=\"disabled || busy\" [type]=\"'submit'\"\r\n [formInvalid]=\"!formsValid\"\r\n [label]=\"label\" (click)=\"doSubmit()\"></ui-button>\r\n", styles: [":host.with-close{display:flex;justify-content:flex-end;width:100%;margin-left:0!important}:host.with-close ui-button{margin-left:12px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["type", "matIconPrefix", "label", "disabled", "busy", "kind", "color", "size", "formInvalid"] }] }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SubmitButtonComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'ui-submit-button', template: "<ui-button *ngIf=\"prependCloseButton\" [label]=\"'Close'\" (click)=\"dialogRef.close()\"></ui-button>\r\n\r\n<ui-button [busy]=\"busy\"\r\n [disabled]=\"disabled || busy\" [type]=\"'submit'\"\r\n [formInvalid]=\"!formsValid\"\r\n [label]=\"label\" (click)=\"doSubmit()\"></ui-button>\r\n", styles: [":host.with-close{display:flex;justify-content:flex-end;width:100%;margin-left:0!important}:host.with-close ui-button{margin-left:12px}\n"] }]
|
|
48
|
+
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.ControlContainer, decorators: [{
|
|
49
|
+
type: Optional
|
|
50
|
+
}, {
|
|
51
|
+
type: Host
|
|
52
|
+
}, {
|
|
53
|
+
type: SkipSelf
|
|
54
|
+
}] }], propDecorators: { busy: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], disabled: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], formGroups: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], label: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], submit: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], formInvalid: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], prependCloseButton: [{
|
|
67
|
+
type: HostBinding,
|
|
68
|
+
args: ['class.with-close']
|
|
69
|
+
}, {
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N1Ym1pdC1idXR0b24vc3VibWl0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N1Ym1pdC1idXR0b24vc3VibWl0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFtQixnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFRbEUsTUFBTSxPQUFPLHFCQUFxQjtJQVloQyxZQUFtQixTQUE0QixFQUV6QixnQkFBa0M7UUFGckMsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFFekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVovQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQTBDLEVBQUUsQ0FBQztRQUN2RCxVQUFLLEdBQUcsTUFBTSxDQUFDO1FBS2YsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO0lBSXlCLENBQUM7SUFFN0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxZQUFZLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUNsRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFFLElBQUksQ0FBQyxVQUFpQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTCxJQUFJLENBQUMsVUFBaUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDOzhHQXhDVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixtVENUbEMsbVVBTUE7OzJGREdhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQWlCZixRQUFROzswQkFBSSxJQUFJOzswQkFBSSxRQUFRO3lDQVhoQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxrQkFBa0I7c0JBRDFCLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLXN1Ym1pdC1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWJtaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vc3VibWl0LWJ1dHRvbi5jb21wb25lbnQuc2NzcycgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VibWl0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgYnVzeSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwczogVW50eXBlZEZvcm1Hcm91cCB8IFVudHlwZWRGb3JtR3JvdXBbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJ1NhdmUnO1xyXG4gIEBJbnB1dCgpIHN1Ym1pdDogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGZvcm1JbnZhbGlkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpdGgtY2xvc2UnKVxyXG4gIEBJbnB1dCgpIHByZXBlbmRDbG9zZUJ1dHRvbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+LFxyXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKClcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZm9ybUludmFsaWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtR3JvdXBzID09PSB1bmRlZmluZWQgJiYgdGhpcy5jb250cm9sQ29udGFpbmVyICYmIHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Hcm91cCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwcyA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLmZvcm1Hcm91cHMpKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXBzID0gW3RoaXMuZm9ybUdyb3Vwc107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBmb3Jtc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZm9ybUludmFsaWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gIXRoaXMuZm9ybUludmFsaWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gISh0aGlzLmZvcm1Hcm91cHMgYXMgVW50eXBlZEZvcm1Hcm91cFtdKS5maW5kKGYgPT4gZi5pbnZhbGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRvU3VibWl0KCk6IHZvaWQge1xyXG4gICAgKHRoaXMuZm9ybUdyb3VwcyBhcyBVbnR5cGVkRm9ybUdyb3VwW10pLmZvckVhY2goZiA9PiBmLm1hcmtBbGxBc1RvdWNoZWQoKSk7XHJcbiAgICBpZiAodGhpcy5mb3Jtc1ZhbGlkICYmIHRoaXMuc3VibWl0KSB7XHJcbiAgICAgIHRoaXMuc3VibWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjx1aS1idXR0b24gKm5nSWY9XCJwcmVwZW5kQ2xvc2VCdXR0b25cIiBbbGFiZWxdPVwiJ0Nsb3NlJ1wiIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoKVwiPjwvdWktYnV0dG9uPlxyXG5cclxuPHVpLWJ1dHRvbiBbYnVzeV09XCJidXN5XCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGJ1c3lcIiBbdHlwZV09XCInc3VibWl0J1wiXHJcbiAgICAgICAgICAgIFtmb3JtSW52YWxpZF09XCIhZm9ybXNWYWxpZFwiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbFwiIChjbGljayk9XCJkb1N1Ym1pdCgpXCI+PC91aS1idXR0b24+XHJcbiJdfQ==
|
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { MatSort } from '@angular/material/sort';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/platform-browser";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "@angular/material/table";
|
|
7
|
-
import * as i4 from "@angular/material/sort";
|
|
8
|
-
export class TableComponent {
|
|
9
|
-
get columnList() {
|
|
10
|
-
return this.columns.map(c => c.name);
|
|
11
|
-
}
|
|
12
|
-
constructor(/*private persistService: PersistService, */ domSanitizer) {
|
|
13
|
-
this.domSanitizer = domSanitizer;
|
|
14
|
-
this.columns = [];
|
|
15
|
-
this.rowTemplates = {};
|
|
16
|
-
this.headerTemplates = {};
|
|
17
|
-
this.stateStoreKey = '';
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.options = { ...{ sticky: false }, ...this.options };
|
|
21
|
-
if (this.dataSource) {
|
|
22
|
-
// if (this.stateStoreKey !== '') {
|
|
23
|
-
// const storeKey = this.stateStoreKey + '.sort';
|
|
24
|
-
// const ms = this.persistService.get(storeKey, { active: '', direction: ''});
|
|
25
|
-
// this.matSort.active = ms.active;
|
|
26
|
-
// this.matSort.direction = ms.direction;
|
|
27
|
-
// this.matSort.sortChange.subscribe(sc => {
|
|
28
|
-
// this.persistService.set(storeKey, sc.direction === '' ? { active: '', direction: ''} : sc);
|
|
29
|
-
// });
|
|
30
|
-
// }
|
|
31
|
-
if (this.columns.find(c => c.sortable !== undefined)) {
|
|
32
|
-
this.dataSource.sortData = (rows, sort) => {
|
|
33
|
-
if (sort.direction) {
|
|
34
|
-
const sortColumn = this.columns.find(c => c.name === sort.active);
|
|
35
|
-
if (sortColumn) {
|
|
36
|
-
const res = sort.direction === 'asc' ? 1 : -1;
|
|
37
|
-
return rows.sort((r1, r2) => {
|
|
38
|
-
if (sortColumn.sortable === true) {
|
|
39
|
-
return r1[sortColumn.name] < r2[sortColumn.name] ? -res : res;
|
|
40
|
-
}
|
|
41
|
-
if (typeof sortColumn.sortable === 'function') {
|
|
42
|
-
return sortColumn.sortable(r1, sort.direction) < sortColumn.sortable(r2, sort.direction) ? -res : res;
|
|
43
|
-
}
|
|
44
|
-
return 0;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return rows;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
ngAfterViewInit() {
|
|
54
|
-
this.dataSource.sort = this.matSort;
|
|
55
|
-
}
|
|
56
|
-
display(row, col) {
|
|
57
|
-
if (col.formatter) {
|
|
58
|
-
return this.domSanitizer.bypassSecurityTrustHtml(col.formatter(row));
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
return row[col.name];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
rowClicked(row) {
|
|
65
|
-
if (this.rowAction) {
|
|
66
|
-
this.rowAction(row);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{ selector: 'ui-table', template: "<table mat-table matSort [dataSource]=\"dataSource\" style=\"width: 100%\" [matSortActive]=\"matSortActive\" [matSortDirection]=\"matSortDirection\">\r\n\r\n <ng-container *ngFor=\"let c of columns\" [matColumnDef]=\"c.name\">\r\n\r\n <ng-container *ngIf=\"c.sortable\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!c.sortable\">\r\n <ng-container *ngIf=\"!headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-template [ngTemplateOutlet]=\"headerTemplates[c.name]\"></ng-template>\r\n </th>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <td mat-cell *matCellDef=\"let element\" [colSpan]=\"c.colSpan ? c.colSpan(element) : 1\" [class]=\"c.cellClass ? c.cellClass(element) : ''\">\r\n <ng-container *ngIf=\"!c.colSpan || c.colSpan(element) > 0\">\r\n <ng-container *ngIf=\"rowTemplates[c.name]\">\r\n <ng-template [ngTemplateOutlet]=\"rowTemplates[c.name]\" [ngTemplateOutletContext]=\"{row:element}\" ></ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!rowTemplates[c.name]\">\r\n <span [innerHTML]=\"display(element, c)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnList; sticky: options?.sticky\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnList;\" (click)=\"rowClicked(row)\"></tr>\r\n</table>\r\n", styles: [":host table{width:100%}:host td[colspan=\"0\"]{display:none}:host .mat-header-cell{font-weight:400;font-size:14px}:host.inverse .mat-header-row{background-color:#fff}\n"] }]
|
|
75
|
-
}], ctorParameters:
|
|
76
|
-
type: Input
|
|
77
|
-
}], dataSource: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], options: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], rowTemplates: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], headerTemplates: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], stateStoreKey: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], rowAction: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], matSortActive: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], matSortDirection: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], matSort: [{
|
|
94
|
-
type: ViewChild,
|
|
95
|
-
args: [MatSort]
|
|
96
|
-
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLE9BQU8sRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBcUI5RCxNQUFNLE9BQU8sY0FBYztJQWV6QixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLDRDQUE0QyxDQUFRLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBakJqRixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUc1QixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztJQVlrRSxDQUFDO0lBRS9GLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsbUNBQW1DO1lBQ25DLG1EQUFtRDtZQUNuRCxnRkFBZ0Y7WUFDaEYscUNBQXFDO1lBQ3JDLDJDQUEyQztZQUMzQyw4Q0FBOEM7WUFDOUMsa0dBQWtHO1lBQ2xHLFFBQVE7WUFDUixJQUFJO1lBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBVyxFQUFFLElBQWEsRUFBRSxFQUFFO29CQUN4RCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQ2xCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ2xFLElBQUksVUFBVSxFQUFFOzRCQUNkLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBTyxFQUFFLEVBQUU7Z0NBQ3BDLElBQUksVUFBVSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7b0NBQ2hDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2lDQUMvRDtnQ0FDRCxJQUFJLE9BQU8sVUFBVSxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUU7b0NBQzdDLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztpQ0FDdkc7Z0NBQ0QsT0FBTyxDQUFDLENBQUM7NEJBQ1gsQ0FBQyxDQUFDLENBQUM7eUJBQ0o7cUJBQ0Y7b0JBQ0QsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQyxDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVEsRUFBRSxHQUFnQjtRQUNoQyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0RTthQUFNO1lBQ0wsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHO1FBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUUsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDOytHQXhFVSxjQUFjO21HQUFkLGNBQWMsdVdBYWQsT0FBTyxnRENuQ3BCLCtwREFvQ0E7OzRGRGRhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTttR0FNWCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFYyxPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01hdFNvcnQsIFNvcnREaXJlY3Rpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG4vLyBpbXBvcnQge1BlcnNpc3RTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXJzaXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc29ydGFibGU/OiBib29sZWFuIHwgKChyb3c6IGFueSwgZGlyZWN0aW9uPzogU29ydERpcmVjdGlvbikgPT4gbnVtYmVyIHwgc3RyaW5nKTtcclxuICBsYWJlbD86IHN0cmluZztcclxuICBjb2xTcGFuPzogKHJvdzogYW55KSA9PiBudW1iZXI7XHJcbiAgZm9ybWF0dGVyPzogKHJvdzogYW55KSA9PiBzdHJpbmc7XHJcbiAgY2VsbENsYXNzPzogKHJvdzogYW55KSA9PiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVPcHRpb25zIHtcclxuICBzdGlja3k/OiBib29sZWFuO1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XHJcbiAgQElucHV0KCkgZGF0YVNvdXJjZTogYW55O1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFRhYmxlT3B0aW9ucyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSByb3dUZW1wbGF0ZXM6IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpIGhlYWRlclRlbXBsYXRlczogYW55ID0ge307XHJcbiAgQElucHV0KCkgc3RhdGVTdG9yZUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIHJvd0FjdGlvbjogKHJvdzogYW55KSA9PiB2b2lkO1xyXG5cclxuICBASW5wdXQoKSBtYXRTb3J0QWN0aXZlO1xyXG4gIEBJbnB1dCgpIG1hdFNvcnREaXJlY3Rpb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgbWF0U29ydDogTWF0U29ydCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgZ2V0IGNvbHVtbkxpc3QoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5tYXAoYyA9PiBjLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoLypwcml2YXRlIHBlcnNpc3RTZXJ2aWNlOiBQZXJzaXN0U2VydmljZSwgKi9wcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7Li4ue3N0aWNreTogZmFsc2V9LCAuLi50aGlzLm9wdGlvbnN9O1xyXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICAvLyBpZiAodGhpcy5zdGF0ZVN0b3JlS2V5ICE9PSAnJykge1xyXG4gICAgICAvLyAgIGNvbnN0IHN0b3JlS2V5ID0gdGhpcy5zdGF0ZVN0b3JlS2V5ICsgJy5zb3J0JztcclxuICAgICAgLy8gICBjb25zdCBtcyA9IHRoaXMucGVyc2lzdFNlcnZpY2UuZ2V0KHN0b3JlS2V5LCB7IGFjdGl2ZTogJycsIGRpcmVjdGlvbjogJyd9KTtcclxuICAgICAgLy8gICB0aGlzLm1hdFNvcnQuYWN0aXZlID0gbXMuYWN0aXZlO1xyXG4gICAgICAvLyAgIHRoaXMubWF0U29ydC5kaXJlY3Rpb24gPSBtcy5kaXJlY3Rpb247XHJcbiAgICAgIC8vICAgdGhpcy5tYXRTb3J0LnNvcnRDaGFuZ2Uuc3Vic2NyaWJlKHNjID0+IHtcclxuICAgICAgLy8gICAgIHRoaXMucGVyc2lzdFNlcnZpY2Uuc2V0KHN0b3JlS2V5LCBzYy5kaXJlY3Rpb24gPT09ICcnID8geyBhY3RpdmU6ICcnLCBkaXJlY3Rpb246ICcnfSA6IHNjKTtcclxuICAgICAgLy8gICB9KTtcclxuICAgICAgLy8gfVxyXG4gICAgICBpZiAodGhpcy5jb2x1bW5zLmZpbmQoYyA9PiBjLnNvcnRhYmxlICE9PSB1bmRlZmluZWQpKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnREYXRhID0gKHJvd3M6IGFueVtdLCBzb3J0OiBNYXRTb3J0KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc29ydC5kaXJlY3Rpb24pIHtcclxuICAgICAgICAgICAgY29uc3Qgc29ydENvbHVtbiA9IHRoaXMuY29sdW1ucy5maW5kKGMgPT4gYy5uYW1lID09PSBzb3J0LmFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGlmIChzb3J0Q29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmVzID0gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG4gICAgICAgICAgICAgIHJldHVybiByb3dzLnNvcnQoKHIxOiBhbnksIHIyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChzb3J0Q29sdW1uLnNvcnRhYmxlID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiByMVtzb3J0Q29sdW1uLm5hbWVdIDwgcjJbc29ydENvbHVtbi5uYW1lXSA/IC1yZXMgOiByZXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHNvcnRDb2x1bW4uc29ydGFibGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHNvcnRDb2x1bW4uc29ydGFibGUocjEsIHNvcnQuZGlyZWN0aW9uKSA8IHNvcnRDb2x1bW4uc29ydGFibGUocjIsIHNvcnQuZGlyZWN0aW9uKSA/IC1yZXMgOiByZXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHJvd3M7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLm1hdFNvcnQ7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5KHJvdzogYW55LCBjb2w6IFRhYmxlQ29sdW1uKTogYW55IHtcclxuICAgIGlmIChjb2wuZm9ybWF0dGVyKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChjb2wuZm9ybWF0dGVyKHJvdykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJvd1tjb2wubmFtZV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3dDbGlja2VkKHJvdykge1xyXG4gICAgaWYgKHRoaXMucm93QWN0aW9uKSB7XHJcbiAgICAgIHRoaXMucm93QWN0aW9uKCByb3cpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8dGFibGUgbWF0LXRhYmxlIG1hdFNvcnQgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIHN0eWxlPVwid2lkdGg6IDEwMCVcIiBbbWF0U29ydEFjdGl2ZV09XCJtYXRTb3J0QWN0aXZlXCIgW21hdFNvcnREaXJlY3Rpb25dPVwibWF0U29ydERpcmVjdGlvblwiPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIGNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImMubmFtZVwiPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjLnNvcnRhYmxlXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7Yy5sYWJlbH19PC90aD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYy5zb3J0YWJsZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhlYWRlclRlbXBsYXRlc1tjLm5hbWVdXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57e2MubGFiZWx9fTwvdGg+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlclRlbXBsYXRlc1tjLm5hbWVdXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZXNbYy5uYW1lXVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFtjb2xTcGFuXT1cImMuY29sU3BhbiA/IGMuY29sU3BhbihlbGVtZW50KSA6IDFcIiBbY2xhc3NdPVwiYy5jZWxsQ2xhc3MgPyBjLmNlbGxDbGFzcyhlbGVtZW50KSA6ICcnXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYy5jb2xTcGFuIHx8IGMuY29sU3BhbihlbGVtZW50KSA+IDBcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93VGVtcGxhdGVzW2MubmFtZV1cIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyb3dUZW1wbGF0ZXNbYy5uYW1lXVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7cm93OmVsZW1lbnR9XCIgPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93VGVtcGxhdGVzW2MubmFtZV1cIj5cclxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZGlzcGxheShlbGVtZW50LCBjKVwiPjwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbkxpc3Q7IHN0aWNreTogb3B0aW9ucz8uc3RpY2t5XCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1uTGlzdDtcIiAoY2xpY2spPVwicm93Q2xpY2tlZChyb3cpXCI+PC90cj5cclxuPC90YWJsZT5cclxuIl19
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { MatSort } from '@angular/material/sort';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/table";
|
|
7
|
+
import * as i4 from "@angular/material/sort";
|
|
8
|
+
export class TableComponent {
|
|
9
|
+
get columnList() {
|
|
10
|
+
return this.columns.map(c => c.name);
|
|
11
|
+
}
|
|
12
|
+
constructor(/*private persistService: PersistService, */ domSanitizer) {
|
|
13
|
+
this.domSanitizer = domSanitizer;
|
|
14
|
+
this.columns = [];
|
|
15
|
+
this.rowTemplates = {};
|
|
16
|
+
this.headerTemplates = {};
|
|
17
|
+
this.stateStoreKey = '';
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.options = { ...{ sticky: false }, ...this.options };
|
|
21
|
+
if (this.dataSource) {
|
|
22
|
+
// if (this.stateStoreKey !== '') {
|
|
23
|
+
// const storeKey = this.stateStoreKey + '.sort';
|
|
24
|
+
// const ms = this.persistService.get(storeKey, { active: '', direction: ''});
|
|
25
|
+
// this.matSort.active = ms.active;
|
|
26
|
+
// this.matSort.direction = ms.direction;
|
|
27
|
+
// this.matSort.sortChange.subscribe(sc => {
|
|
28
|
+
// this.persistService.set(storeKey, sc.direction === '' ? { active: '', direction: ''} : sc);
|
|
29
|
+
// });
|
|
30
|
+
// }
|
|
31
|
+
if (this.columns.find(c => c.sortable !== undefined)) {
|
|
32
|
+
this.dataSource.sortData = (rows, sort) => {
|
|
33
|
+
if (sort.direction) {
|
|
34
|
+
const sortColumn = this.columns.find(c => c.name === sort.active);
|
|
35
|
+
if (sortColumn) {
|
|
36
|
+
const res = sort.direction === 'asc' ? 1 : -1;
|
|
37
|
+
return rows.sort((r1, r2) => {
|
|
38
|
+
if (sortColumn.sortable === true) {
|
|
39
|
+
return r1[sortColumn.name] < r2[sortColumn.name] ? -res : res;
|
|
40
|
+
}
|
|
41
|
+
if (typeof sortColumn.sortable === 'function') {
|
|
42
|
+
return sortColumn.sortable(r1, sort.direction) < sortColumn.sortable(r2, sort.direction) ? -res : res;
|
|
43
|
+
}
|
|
44
|
+
return 0;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return rows;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
ngAfterViewInit() {
|
|
54
|
+
this.dataSource.sort = this.matSort;
|
|
55
|
+
}
|
|
56
|
+
display(row, col) {
|
|
57
|
+
if (col.formatter) {
|
|
58
|
+
return this.domSanitizer.bypassSecurityTrustHtml(col.formatter(row));
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return row[col.name];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
rowClicked(row) {
|
|
65
|
+
if (this.rowAction) {
|
|
66
|
+
this.rowAction(row);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TableComponent, selector: "ui-table", inputs: { columns: "columns", dataSource: "dataSource", options: "options", rowTemplates: "rowTemplates", headerTemplates: "headerTemplates", stateStoreKey: "stateStoreKey", rowAction: "rowAction", matSortActive: "matSortActive", matSortDirection: "matSortDirection" }, viewQueries: [{ propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table mat-table matSort [dataSource]=\"dataSource\" style=\"width: 100%\" [matSortActive]=\"matSortActive\" [matSortDirection]=\"matSortDirection\">\r\n\r\n <ng-container *ngFor=\"let c of columns\" [matColumnDef]=\"c.name\">\r\n\r\n <ng-container *ngIf=\"c.sortable\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!c.sortable\">\r\n <ng-container *ngIf=\"!headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-template [ngTemplateOutlet]=\"headerTemplates[c.name]\"></ng-template>\r\n </th>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <td mat-cell *matCellDef=\"let element\" [colSpan]=\"c.colSpan ? c.colSpan(element) : 1\" [class]=\"c.cellClass ? c.cellClass(element) : ''\">\r\n <ng-container *ngIf=\"!c.colSpan || c.colSpan(element) > 0\">\r\n <ng-container *ngIf=\"rowTemplates[c.name]\">\r\n <ng-template [ngTemplateOutlet]=\"rowTemplates[c.name]\" [ngTemplateOutletContext]=\"{row:element}\" ></ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!rowTemplates[c.name]\">\r\n <span [innerHTML]=\"display(element, c)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnList; sticky: options?.sticky\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnList;\" (click)=\"rowClicked(row)\"></tr>\r\n</table>\r\n", styles: [":host table{width:100%}:host td[colspan=\"0\"]{display:none}:host .mat-header-cell{font-weight:400;font-size:14px}:host.inverse .mat-header-row{background-color:#fff}\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.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }] }); }
|
|
71
|
+
}
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, decorators: [{
|
|
73
|
+
type: Component,
|
|
74
|
+
args: [{ selector: 'ui-table', template: "<table mat-table matSort [dataSource]=\"dataSource\" style=\"width: 100%\" [matSortActive]=\"matSortActive\" [matSortDirection]=\"matSortDirection\">\r\n\r\n <ng-container *ngFor=\"let c of columns\" [matColumnDef]=\"c.name\">\r\n\r\n <ng-container *ngIf=\"c.sortable\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!c.sortable\">\r\n <ng-container *ngIf=\"!headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-template [ngTemplateOutlet]=\"headerTemplates[c.name]\"></ng-template>\r\n </th>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <td mat-cell *matCellDef=\"let element\" [colSpan]=\"c.colSpan ? c.colSpan(element) : 1\" [class]=\"c.cellClass ? c.cellClass(element) : ''\">\r\n <ng-container *ngIf=\"!c.colSpan || c.colSpan(element) > 0\">\r\n <ng-container *ngIf=\"rowTemplates[c.name]\">\r\n <ng-template [ngTemplateOutlet]=\"rowTemplates[c.name]\" [ngTemplateOutletContext]=\"{row:element}\" ></ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!rowTemplates[c.name]\">\r\n <span [innerHTML]=\"display(element, c)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnList; sticky: options?.sticky\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnList;\" (click)=\"rowClicked(row)\"></tr>\r\n</table>\r\n", styles: [":host table{width:100%}:host td[colspan=\"0\"]{display:none}:host .mat-header-cell{font-weight:400;font-size:14px}:host.inverse .mat-header-row{background-color:#fff}\n"] }]
|
|
75
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { columns: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], dataSource: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], options: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], rowTemplates: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], headerTemplates: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], stateStoreKey: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], rowAction: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], matSortActive: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], matSortDirection: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], matSort: [{
|
|
94
|
+
type: ViewChild,
|
|
95
|
+
args: [MatSort]
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLE9BQU8sRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBcUI5RCxNQUFNLE9BQU8sY0FBYztJQWV6QixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLDRDQUE0QyxDQUFRLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBakJqRixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUc1QixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztJQVlrRSxDQUFDO0lBRS9GLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixtQ0FBbUM7WUFDbkMsbURBQW1EO1lBQ25ELGdGQUFnRjtZQUNoRixxQ0FBcUM7WUFDckMsMkNBQTJDO1lBQzNDLDhDQUE4QztZQUM5QyxrR0FBa0c7WUFDbEcsUUFBUTtZQUNSLElBQUk7WUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQVcsRUFBRSxJQUFhLEVBQUUsRUFBRTtvQkFDeEQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ2xFLElBQUksVUFBVSxFQUFFLENBQUM7NEJBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFPLEVBQUUsRUFBRTtnQ0FDcEMsSUFBSSxVQUFVLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO29DQUNqQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQ0FDaEUsQ0FBQztnQ0FDRCxJQUFJLE9BQU8sVUFBVSxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztvQ0FDOUMsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dDQUN4RyxDQUFDO2dDQUNELE9BQU8sQ0FBQyxDQUFDOzRCQUNYLENBQUMsQ0FBQyxDQUFDO3dCQUNMLENBQUM7b0JBQ0gsQ0FBQztvQkFDRCxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVEsRUFBRSxHQUFnQjtRQUNoQyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQUc7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOzhHQXhFVSxjQUFjO2tHQUFkLGNBQWMsdVdBYWQsT0FBTyxnRENuQ3BCLCtwREFvQ0E7OzJGRGRhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTtpRkFNWCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFYyxPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01hdFNvcnQsIFNvcnREaXJlY3Rpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG4vLyBpbXBvcnQge1BlcnNpc3RTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXJzaXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc29ydGFibGU/OiBib29sZWFuIHwgKChyb3c6IGFueSwgZGlyZWN0aW9uPzogU29ydERpcmVjdGlvbikgPT4gbnVtYmVyIHwgc3RyaW5nKTtcclxuICBsYWJlbD86IHN0cmluZztcclxuICBjb2xTcGFuPzogKHJvdzogYW55KSA9PiBudW1iZXI7XHJcbiAgZm9ybWF0dGVyPzogKHJvdzogYW55KSA9PiBzdHJpbmc7XHJcbiAgY2VsbENsYXNzPzogKHJvdzogYW55KSA9PiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVPcHRpb25zIHtcclxuICBzdGlja3k/OiBib29sZWFuO1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XHJcbiAgQElucHV0KCkgZGF0YVNvdXJjZTogYW55O1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFRhYmxlT3B0aW9ucyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSByb3dUZW1wbGF0ZXM6IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpIGhlYWRlclRlbXBsYXRlczogYW55ID0ge307XHJcbiAgQElucHV0KCkgc3RhdGVTdG9yZUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIHJvd0FjdGlvbjogKHJvdzogYW55KSA9PiB2b2lkO1xyXG5cclxuICBASW5wdXQoKSBtYXRTb3J0QWN0aXZlO1xyXG4gIEBJbnB1dCgpIG1hdFNvcnREaXJlY3Rpb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgbWF0U29ydDogTWF0U29ydCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgZ2V0IGNvbHVtbkxpc3QoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5tYXAoYyA9PiBjLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoLypwcml2YXRlIHBlcnNpc3RTZXJ2aWNlOiBQZXJzaXN0U2VydmljZSwgKi9wcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7Li4ue3N0aWNreTogZmFsc2V9LCAuLi50aGlzLm9wdGlvbnN9O1xyXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICAvLyBpZiAodGhpcy5zdGF0ZVN0b3JlS2V5ICE9PSAnJykge1xyXG4gICAgICAvLyAgIGNvbnN0IHN0b3JlS2V5ID0gdGhpcy5zdGF0ZVN0b3JlS2V5ICsgJy5zb3J0JztcclxuICAgICAgLy8gICBjb25zdCBtcyA9IHRoaXMucGVyc2lzdFNlcnZpY2UuZ2V0KHN0b3JlS2V5LCB7IGFjdGl2ZTogJycsIGRpcmVjdGlvbjogJyd9KTtcclxuICAgICAgLy8gICB0aGlzLm1hdFNvcnQuYWN0aXZlID0gbXMuYWN0aXZlO1xyXG4gICAgICAvLyAgIHRoaXMubWF0U29ydC5kaXJlY3Rpb24gPSBtcy5kaXJlY3Rpb247XHJcbiAgICAgIC8vICAgdGhpcy5tYXRTb3J0LnNvcnRDaGFuZ2Uuc3Vic2NyaWJlKHNjID0+IHtcclxuICAgICAgLy8gICAgIHRoaXMucGVyc2lzdFNlcnZpY2Uuc2V0KHN0b3JlS2V5LCBzYy5kaXJlY3Rpb24gPT09ICcnID8geyBhY3RpdmU6ICcnLCBkaXJlY3Rpb246ICcnfSA6IHNjKTtcclxuICAgICAgLy8gICB9KTtcclxuICAgICAgLy8gfVxyXG4gICAgICBpZiAodGhpcy5jb2x1bW5zLmZpbmQoYyA9PiBjLnNvcnRhYmxlICE9PSB1bmRlZmluZWQpKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnREYXRhID0gKHJvd3M6IGFueVtdLCBzb3J0OiBNYXRTb3J0KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc29ydC5kaXJlY3Rpb24pIHtcclxuICAgICAgICAgICAgY29uc3Qgc29ydENvbHVtbiA9IHRoaXMuY29sdW1ucy5maW5kKGMgPT4gYy5uYW1lID09PSBzb3J0LmFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGlmIChzb3J0Q29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmVzID0gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG4gICAgICAgICAgICAgIHJldHVybiByb3dzLnNvcnQoKHIxOiBhbnksIHIyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChzb3J0Q29sdW1uLnNvcnRhYmxlID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiByMVtzb3J0Q29sdW1uLm5hbWVdIDwgcjJbc29ydENvbHVtbi5uYW1lXSA/IC1yZXMgOiByZXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHNvcnRDb2x1bW4uc29ydGFibGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHNvcnRDb2x1bW4uc29ydGFibGUocjEsIHNvcnQuZGlyZWN0aW9uKSA8IHNvcnRDb2x1bW4uc29ydGFibGUocjIsIHNvcnQuZGlyZWN0aW9uKSA/IC1yZXMgOiByZXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHJvd3M7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLm1hdFNvcnQ7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5KHJvdzogYW55LCBjb2w6IFRhYmxlQ29sdW1uKTogYW55IHtcclxuICAgIGlmIChjb2wuZm9ybWF0dGVyKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChjb2wuZm9ybWF0dGVyKHJvdykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJvd1tjb2wubmFtZV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3dDbGlja2VkKHJvdykge1xyXG4gICAgaWYgKHRoaXMucm93QWN0aW9uKSB7XHJcbiAgICAgIHRoaXMucm93QWN0aW9uKCByb3cpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8dGFibGUgbWF0LXRhYmxlIG1hdFNvcnQgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIHN0eWxlPVwid2lkdGg6IDEwMCVcIiBbbWF0U29ydEFjdGl2ZV09XCJtYXRTb3J0QWN0aXZlXCIgW21hdFNvcnREaXJlY3Rpb25dPVwibWF0U29ydERpcmVjdGlvblwiPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIGNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImMubmFtZVwiPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjLnNvcnRhYmxlXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7Yy5sYWJlbH19PC90aD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYy5zb3J0YWJsZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhlYWRlclRlbXBsYXRlc1tjLm5hbWVdXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57e2MubGFiZWx9fTwvdGg+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlclRlbXBsYXRlc1tjLm5hbWVdXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZXNbYy5uYW1lXVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFtjb2xTcGFuXT1cImMuY29sU3BhbiA/IGMuY29sU3BhbihlbGVtZW50KSA6IDFcIiBbY2xhc3NdPVwiYy5jZWxsQ2xhc3MgPyBjLmNlbGxDbGFzcyhlbGVtZW50KSA6ICcnXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYy5jb2xTcGFuIHx8IGMuY29sU3BhbihlbGVtZW50KSA+IDBcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93VGVtcGxhdGVzW2MubmFtZV1cIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyb3dUZW1wbGF0ZXNbYy5uYW1lXVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7cm93OmVsZW1lbnR9XCIgPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93VGVtcGxhdGVzW2MubmFtZV1cIj5cclxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZGlzcGxheShlbGVtZW50LCBjKVwiPjwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbkxpc3Q7IHN0aWNreTogb3B0aW9ucz8uc3RpY2t5XCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1uTGlzdDtcIiAoY2xpY2spPVwicm93Q2xpY2tlZChyb3cpXCI+PC90cj5cclxuPC90YWJsZT5cclxuIl19
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, 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/input";
|
|
7
|
-
import * as i4 from "@angular/cdk/text-field";
|
|
8
|
-
import * as i5 from "../layouts/simple/ui-simple-layout.component";
|
|
9
|
-
export class TextAreaComponent extends UiSimpleComponent {
|
|
10
|
-
constructor(ngControl /*, private _ngZone: NgZone, private cdr: ChangeDetectorRef*/) {
|
|
11
|
-
super(ngControl);
|
|
12
|
-
this.ngControl = ngControl;
|
|
13
|
-
this.rows = 5;
|
|
14
|
-
this.autoResize = false;
|
|
15
|
-
this.lastClientHeight = -1;
|
|
16
|
-
this.focusChanged = new EventEmitter();
|
|
17
|
-
}
|
|
18
|
-
focus() {
|
|
19
|
-
this.textarea.nativeElement.focus();
|
|
20
|
-
}
|
|
21
|
-
setDisabledState(isDisabled) {
|
|
22
|
-
}
|
|
23
|
-
onFocus(focus) {
|
|
24
|
-
this.focusChanged.emit(focus);
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
30
|
-
type: Component,
|
|
31
|
-
args: [{ selector: 'ui-text-area', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"input-wrapper\">\r\n <ng-container *ngIf=\"componentFormControl\">\r\n <textarea *ngIf=\"autoResize \"#textarea matInput\r\n cdkTextareaAutosize cdkAutosizeMinRows=\"rows\"\r\n class=\"autoresize\"\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n <textarea *ngIf=\"!autoResize \"#textarea matInput\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n </ng-container>\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"] }]
|
|
32
|
-
}], ctorParameters:
|
|
33
|
-
type: Optional
|
|
34
|
-
}, {
|
|
35
|
-
type: Self
|
|
36
|
-
}] }]
|
|
37
|
-
type: Input
|
|
38
|
-
}], autoResize: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], textarea: [{
|
|
41
|
-
type: ViewChild,
|
|
42
|
-
args: ['textarea']
|
|
43
|
-
}], focusChanged: [{
|
|
44
|
-
type: Output
|
|
45
|
-
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, Input, 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/input";
|
|
7
|
+
import * as i4 from "@angular/cdk/text-field";
|
|
8
|
+
import * as i5 from "../layouts/simple/ui-simple-layout.component";
|
|
9
|
+
export class TextAreaComponent extends UiSimpleComponent {
|
|
10
|
+
constructor(ngControl /*, private _ngZone: NgZone, private cdr: ChangeDetectorRef*/) {
|
|
11
|
+
super(ngControl);
|
|
12
|
+
this.ngControl = ngControl;
|
|
13
|
+
this.rows = 5;
|
|
14
|
+
this.autoResize = false;
|
|
15
|
+
this.lastClientHeight = -1;
|
|
16
|
+
this.focusChanged = new EventEmitter();
|
|
17
|
+
}
|
|
18
|
+
focus() {
|
|
19
|
+
this.textarea.nativeElement.focus();
|
|
20
|
+
}
|
|
21
|
+
setDisabledState(isDisabled) {
|
|
22
|
+
}
|
|
23
|
+
onFocus(focus) {
|
|
24
|
+
this.focusChanged.emit(focus);
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TextAreaComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TextAreaComponent, selector: "ui-text-area", inputs: { rows: "rows", autoResize: "autoResize" }, outputs: { focusChanged: "focusChanged" }, viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textarea"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"input-wrapper\">\r\n <ng-container *ngIf=\"componentFormControl\">\r\n <textarea *ngIf=\"autoResize \"#textarea matInput\r\n cdkTextareaAutosize cdkAutosizeMinRows=\"rows\"\r\n class=\"autoresize\"\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n <textarea *ngIf=\"!autoResize \"#textarea matInput\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n </ng-container>\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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i5.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TextAreaComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: 'ui-text-area', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"input-wrapper\">\r\n <ng-container *ngIf=\"componentFormControl\">\r\n <textarea *ngIf=\"autoResize \"#textarea matInput\r\n cdkTextareaAutosize cdkAutosizeMinRows=\"rows\"\r\n class=\"autoresize\"\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n <textarea *ngIf=\"!autoResize \"#textarea matInput\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n </ng-container>\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"] }]
|
|
32
|
+
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
33
|
+
type: Optional
|
|
34
|
+
}, {
|
|
35
|
+
type: Self
|
|
36
|
+
}] }], propDecorators: { rows: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], autoResize: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], textarea: [{
|
|
41
|
+
type: ViewChild,
|
|
42
|
+
args: ['textarea']
|
|
43
|
+
}], focusChanged: [{
|
|
44
|
+
type: Output
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBRVosS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7OztBQWUxRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBZXRELFlBQXVDLFNBQW9CLENBQUEsNkRBQTZEO1FBQ3RILEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURvQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBYmxELFNBQUksR0FBRyxDQUFDLENBQUM7UUFFVCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRTVCLHFCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBTVosaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBS3JELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQTVCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnUkM3QjlCLG10QkFjQTs7MkZEZWEsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLGNBQWM7OzBCQXdCWCxRQUFROzswQkFBSSxJQUFJO3lDQWJwQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNaUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUVYLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVWlTaW1wbGVDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXRzL3NpbXBsZS91aS1zaW1wbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2RrVGV4dGFyZWFBdXRvc2l6ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktdGV4dC1hcmVhJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4uL2xheW91dHMvc2ltcGxlL3VpLXNpbXBsZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAvLyBwcm92aWRlcnM6IFt7XHJcbiAgLy8gICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAvLyAgIG11bHRpOiB0cnVlLFxyXG4gIC8vICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dEFyZWFDb21wb25lbnQpLFxyXG4gIC8vIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0QXJlYUNvbXBvbmVudCBleHRlbmRzIFVpU2ltcGxlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgcm93cyA9IDU7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9SZXNpemUgPSBmYWxzZTtcclxuXHJcbiAgbGFzdENsaWVudEhlaWdodCA9IC0xO1xyXG4gIC8vIGhlaWdodCA9IC0xO1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgndGV4dGFyZWEnKSB0ZXh0YXJlYTogRWxlbWVudFJlZjtcclxuXHJcbiAgQE91dHB1dCgpIGZvY3VzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLyosIHByaXZhdGUgX25nWm9uZTogTmdab25lLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYqLykge1xyXG4gICAgc3VwZXIobmdDb250cm9sKTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXh0YXJlYS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoZm9jdXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXNDaGFuZ2VkLmVtaXQoZm9jdXMpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIG9uS2V5ZG93bigpIHtcclxuICAvLyAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gIC8vICAgICBjb25zb2xlLmxvZygnb25rZXlkb3duJyk7XHJcbiAgLy8gICAgIC8vIGlmICh0aGlzLmxhc3RDbGllbnRIZWlnaHQgIT09IHRoaXMudGV4dGFyZWEubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgKyAyMCkge1xyXG4gIC8vICAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy50ZXh0YXJlYS5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCArIDIwO1xyXG4gIC8vICAgICAgIC8vIHRoaXMudGV4dGFyZWEubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2NvbG9yOiB3aGl0ZTsgYmFja2dyb3VuZDogcmVkOyBoZWlnaHQ6ICcgKyB0aGlzLmhlaWdodCArICdweDsnKTtcclxuICAvLyAgICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgLy8gICAgICAgdGhpcy5sYXN0Q2xpZW50SGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XHJcbiAgLy8gICAgICAgY29uc29sZS5sb2codGhpcy5oZWlnaHQpO1xyXG4gIC8vICAgICAvLyB9XHJcbiAgLy8gICAvLyB9KTtcclxuICAvLyB9XHJcblxyXG4gIC8vIEBWaWV3Q2hpbGQoJ2F1dG9zaXplJykgYXV0b3NpemU6IENka1RleHRhcmVhQXV0b3NpemU7XHJcbiAgLy9cclxuICAvLyB0cmlnZ2VyUmVzaXplKCkge1xyXG4gIC8vICAgLy8gV2FpdCBmb3IgY2hhbmdlcyB0byBiZSBhcHBsaWVkLCB0aGVuIHRyaWdnZXIgdGV4dGFyZWEgcmVzaXplLlxyXG4gIC8vICAgdGhpcy5fbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAvLyAgICAgY29uc29sZS5sb2coJ3h4eCcpO1xyXG4gIC8vICAgICB0aGlzLmF1dG9zaXplLnJlc2l6ZVRvRml0Q29udGVudCh0cnVlKVxyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcG9uZW50Rm9ybUNvbnRyb2xcIj5cclxuICA8dGV4dGFyZWEgKm5nSWY9XCJhdXRvUmVzaXplIFwiI3RleHRhcmVhIG1hdElucHV0XHJcbiAgICAgICAgICAgIGNka1RleHRhcmVhQXV0b3NpemUgY2RrQXV0b3NpemVNaW5Sb3dzPVwicm93c1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXV0b3Jlc2l6ZVwiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb21wb25lbnRGb3JtQ29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtyb3dzXT1cInJvd3NcIiAoZm9jdXMpPVwib25Gb2N1cyh0cnVlKVwiIChibHVyKT1cIm9uRm9jdXMoZmFsc2UpXCI+PC90ZXh0YXJlYT5cclxuICA8dGV4dGFyZWEgKm5nSWY9XCIhYXV0b1Jlc2l6ZSBcIiN0ZXh0YXJlYSBtYXRJbnB1dFxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29tcG9uZW50Rm9ybUNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbcm93c109XCJyb3dzXCIgKGZvY3VzKT1cIm9uRm9jdXModHJ1ZSlcIiAoYmx1cik9XCJvbkZvY3VzKGZhbHNlKVwiPjwvdGV4dGFyZWE+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPC91aS1zaW1wbGUtbGF5b3V0PlxyXG4iXX0=
|
package/esm2022/lib/ui.model.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3VpLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDb250cm9sU2l6ZSA9ICdzbWFsbCcgfCAnc21hbGxlcicgfCAnbm9ybWFsJyB8ICdsYXJnZXInIHwgJ2xhcmdlJztcclxuZXhwb3J0IHR5cGUgQ29udHJvbENvbG9yID0gJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XHJcbiJdfQ==
|