@klippa/ngx-enhancy-forms 18.26.12 → 18.27.0
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/elementIsTruncatedCb.component.mjs +15 -6
- package/esm2022/lib/form/form-error/form-error.component.mjs +7 -5
- package/fesm2022/klippa-ngx-enhancy-forms.mjs +19 -8
- package/fesm2022/klippa-ngx-enhancy-forms.mjs.map +1 -1
- package/lib/elementIsTruncatedCb.component.d.ts +4 -2
- package/lib/form/form-error/form-error.component.d.ts +2 -2
- package/package.json +1 -1
|
@@ -11,11 +11,17 @@ export class ElementIsTruncatedCbComponent {
|
|
|
11
11
|
if (!isValueSet(this.elementIsTruncatedCb)) {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
this.elementRef.nativeElement
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
const targetNode = this.elementRef.nativeElement;
|
|
15
|
+
const observerOptions = {
|
|
16
|
+
childList: true,
|
|
17
|
+
attributes: true,
|
|
18
|
+
subtree: true
|
|
19
|
+
};
|
|
20
|
+
const callback = () => {
|
|
21
|
+
this.checkForTruncation();
|
|
22
|
+
};
|
|
23
|
+
this.observer = new MutationObserver(callback);
|
|
24
|
+
this.observer.observe(targetNode, observerOptions);
|
|
19
25
|
this.checkForTruncation();
|
|
20
26
|
}
|
|
21
27
|
async checkForTruncation() {
|
|
@@ -35,6 +41,9 @@ export class ElementIsTruncatedCbComponent {
|
|
|
35
41
|
}
|
|
36
42
|
return thisElementIsTruncated;
|
|
37
43
|
}
|
|
44
|
+
ngOnDestroy() {
|
|
45
|
+
this.observer?.disconnect();
|
|
46
|
+
}
|
|
38
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ElementIsTruncatedCbComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
48
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ElementIsTruncatedCbComponent, selector: "[elementIsTruncatedCb]", inputs: { elementIsTruncatedCb: "elementIsTruncatedCb" }, ngImport: i0 }); }
|
|
40
49
|
}
|
|
@@ -46,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
46
55
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { elementIsTruncatedCb: [{
|
|
47
56
|
type: Input
|
|
48
57
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudElzVHJ1bmNhdGVkQ2IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudElzVHJ1bmNhdGVkQ2IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFjLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU16QyxNQUFNLE9BQU8sNkJBQTZCO0lBSXpDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFEakMseUJBQW9CLEdBQUcsQ0FBQyxXQUFvQixFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFHN0QsQ0FBQztJQUVELGVBQWU7UUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTztRQUNSLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUVqRCxNQUFNLGVBQWUsR0FBRztZQUN2QixTQUFTLEVBQUUsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE9BQU8sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxLQUFLLENBQUMsa0JBQWtCO1FBQy9CLE1BQU0scUJBQXFCLEVBQUUsQ0FBQztRQUM5QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEUsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNGLENBQUM7SUFFTyxXQUFXLENBQUMsT0FBb0I7UUFDdkMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDUixDQUFDO1FBQ0QsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDekUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDN0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBb0IsQ0FBQyxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUNELE9BQU8sc0JBQXNCLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBbkRXLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ2xDOytFQUlTLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHthd2FpdGFibGVGb3JOZXh0Q3ljbGV9IGZyb20gXCIuL3V0aWwvYW5ndWxhclwiO1xuaW1wb3J0IHtpc1ZhbHVlU2V0fSBmcm9tIFwiLi91dGlsL3ZhbHVlc1wiO1xuXG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tlbGVtZW50SXNUcnVuY2F0ZWRDYl0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRJc1RydW5jYXRlZENiQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblx0cHJpdmF0ZSBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuXHRASW5wdXQoKSBlbGVtZW50SXNUcnVuY2F0ZWRDYiA9IChpc1RydW5jYXRlZDogYm9vbGVhbikgPT4ge307XG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuXG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0aWYgKCFpc1ZhbHVlU2V0KHRoaXMuZWxlbWVudElzVHJ1bmNhdGVkQ2IpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgdGFyZ2V0Tm9kZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG5cdFx0Y29uc3Qgb2JzZXJ2ZXJPcHRpb25zID0ge1xuXHRcdFx0Y2hpbGRMaXN0OiB0cnVlLFxuXHRcdFx0YXR0cmlidXRlczogdHJ1ZSxcblx0XHRcdHN1YnRyZWU6IHRydWVcblx0XHR9O1xuXG5cdFx0Y29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG5cdFx0XHR0aGlzLmNoZWNrRm9yVHJ1bmNhdGlvbigpO1xuXHRcdH07XG5cblx0XHR0aGlzLm9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoY2FsbGJhY2spO1xuXHRcdHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXROb2RlLCBvYnNlcnZlck9wdGlvbnMpO1xuXHRcdHRoaXMuY2hlY2tGb3JUcnVuY2F0aW9uKCk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIGNoZWNrRm9yVHJ1bmNhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCBhd2FpdGFibGVGb3JOZXh0Q3ljbGUoKTtcblx0XHRjb25zdCBpc1RydW5jYXRlZCA9IHRoaXMuaXNUcnVuY2F0ZWQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXHRcdGlmIChpc1ZhbHVlU2V0KGlzVHJ1bmNhdGVkKSkge1xuXHRcdFx0dGhpcy5lbGVtZW50SXNUcnVuY2F0ZWRDYihpc1RydW5jYXRlZCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBpc1RydW5jYXRlZChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuXHRcdGlmICghKGVsZW1lbnQuc2Nyb2xsV2lkdGggPiAwKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCB0aGlzRWxlbWVudElzVHJ1bmNhdGVkID0gZWxlbWVudC5zY3JvbGxXaWR0aCA+IGVsZW1lbnQuY2xpZW50V2lkdGg7XG5cdFx0aWYgKCF0aGlzRWxlbWVudElzVHJ1bmNhdGVkKSB7XG5cdFx0XHRyZXR1cm4gQXJyYXkuZnJvbShlbGVtZW50LmNoaWxkcmVuKS5zb21lKChjaGlsZCkgPT4gdGhpcy5pc1RydW5jYXRlZChjaGlsZCBhcyBIVE1MRWxlbWVudCkpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpc0VsZW1lbnRJc1RydW5jYXRlZDtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcblx0fVxufVxuIl19
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Component, Host, Input, Optional, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, ContentChild, Host, Input, Optional, TemplateRef, ViewChild } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "../form-element/form-element.component";
|
|
4
4
|
import * as i2 from "@angular/common";
|
|
5
5
|
export class FormErrorComponent {
|
|
6
6
|
constructor(parent) {
|
|
7
7
|
this.parent = parent;
|
|
8
|
-
this.showError = false;
|
|
9
8
|
}
|
|
10
9
|
ngOnInit() {
|
|
11
10
|
// this is being run next cycle, because we dont want to fail if the order of components is as follows:
|
|
@@ -20,11 +19,11 @@ export class FormErrorComponent {
|
|
|
20
19
|
return this.parent.getAttachedControl().errors[this.error];
|
|
21
20
|
}
|
|
22
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormErrorComponent, deps: [{ token: i1.FormElementComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormErrorComponent, selector: "klp-form-error", inputs: { error: "error" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentRef"], descendants: true }], ngImport: i0, template: "<ng-template #contentRef>\n\t<ng-
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormErrorComponent, selector: "klp-form-error", inputs: { error: "error" }, queries: [{ propertyName: "contentChild", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentRef"], descendants: true }], ngImport: i0, template: "<ng-template #contentRef>\n\t<ng-container *ngIf=\"error !== 'async'\" [ngTemplateOutlet]=\"contentChild\"></ng-container>\n\t<div *ngIf=\"error === 'async'\">{{getErrorValueMessage()}}</div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
24
23
|
}
|
|
25
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormErrorComponent, decorators: [{
|
|
26
25
|
type: Component,
|
|
27
|
-
args: [{ selector: 'klp-form-error', template: "<ng-template #contentRef>\n\t<ng-
|
|
26
|
+
args: [{ selector: 'klp-form-error', template: "<ng-template #contentRef>\n\t<ng-container *ngIf=\"error !== 'async'\" [ngTemplateOutlet]=\"contentChild\"></ng-container>\n\t<div *ngIf=\"error === 'async'\">{{getErrorValueMessage()}}</div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
28
27
|
}], ctorParameters: () => [{ type: i1.FormElementComponent, decorators: [{
|
|
29
28
|
type: Host
|
|
30
29
|
}, {
|
|
@@ -34,5 +33,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
34
33
|
}], contentRef: [{
|
|
35
34
|
type: ViewChild,
|
|
36
35
|
args: ['contentRef']
|
|
36
|
+
}], contentChild: [{
|
|
37
|
+
type: ContentChild,
|
|
38
|
+
args: [TemplateRef]
|
|
37
39
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjL2xpYi9mb3JtL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjL2xpYi9mb3JtL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBYSxJQUFJLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3hILE1BQU0sT0FBTyxrQkFBa0I7SUFJOUIsWUFBd0MsTUFBNEI7UUFBNUIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7SUFBRyxDQUFDO0lBRXhFLFFBQVE7UUFDUCx1R0FBdUc7UUFDdkcscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQiw4SEFBOEg7UUFDOUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sb0JBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0FsQlcsa0JBQWtCO2tHQUFsQixrQkFBa0IsNEhBR2hCLFdBQVcsMEpDWjFCLG1OQUlBOzsyRkRLYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0MsZ0JBQWdCOzswQkFRYixJQUFJOzswQkFBSSxRQUFRO3lDQUhwQixLQUFLO3NCQUFiLEtBQUs7Z0JBQzBCLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSSxZQUFZO3NCQUF0QyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnR9IGZyb20gXCIuLi9mb3JtLWVsZW1lbnQvZm9ybS1lbGVtZW50LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFcnJvclR5cGVzfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAna2xwLWZvcm0tZXJyb3InLFxuXHR0ZW1wbGF0ZVVybDogJy4vZm9ybS1lcnJvci5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2Zvcm0tZXJyb3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblx0QElucHV0KCkgZXJyb3I6IEVycm9yVHlwZXM7XG5cdEBWaWV3Q2hpbGQoJ2NvbnRlbnRSZWYnKSBwdWJsaWMgY29udGVudFJlZjogVGVtcGxhdGVSZWY8YW55Pjtcblx0QENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgY29udGVudENoaWxkOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXHRjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIHByaXZhdGUgcGFyZW50OiBGb3JtRWxlbWVudENvbXBvbmVudCkge31cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHQvLyB0aGlzIGlzIGJlaW5nIHJ1biBuZXh0IGN5Y2xlLCBiZWNhdXNlIHdlIGRvbnQgd2FudCB0byBmYWlsIGlmIHRoZSBvcmRlciBvZiBjb21wb25lbnRzIGlzIGFzIGZvbGxvd3M6XG5cdFx0Ly8gPGFwcC1mb3JtLWVycm9yIC8+XG5cdFx0Ly8gPHNvbWUtaW5wdXQgLz5cblx0XHQvLyBUaGF0IHdvdWxkIGZhaWwsIGJlY2F1c2UgdGhlIGxvZ2ljIG9mIHRoZSBmb3JtIGVycm9yIGlzIHJ1biBmaXJzdCwgYW5kIGF0IHRoYXQgbW9tZW50LCB0aGUgYHNvbWUtaW5wdXRgIGlzbnQgcmVnaXN0ZXJlZCB5ZXRcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMucGFyZW50LnJlZ2lzdGVyRXJyb3JIYW5kbGVyKHRoaXMuZXJyb3IsIHRoaXMuY29udGVudFJlZik7XG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0RXJyb3JWYWx1ZU1lc3NhZ2UoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5wYXJlbnQuZ2V0QXR0YWNoZWRDb250cm9sKCkuZXJyb3JzW3RoaXMuZXJyb3JdO1xuXHR9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRSZWY+XG5cdDxuZy1jb250YWluZXIgKm5nSWY9XCJlcnJvciAhPT0gJ2FzeW5jJ1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRDaGlsZFwiPjwvbmctY29udGFpbmVyPlxuXHQ8ZGl2ICpuZ0lmPVwiZXJyb3IgPT09ICdhc3luYydcIj57e2dldEVycm9yVmFsdWVNZXNzYWdlKCl9fTwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -580,11 +580,17 @@ class ElementIsTruncatedCbComponent {
|
|
|
580
580
|
if (!isValueSet(this.elementIsTruncatedCb)) {
|
|
581
581
|
return;
|
|
582
582
|
}
|
|
583
|
-
this.elementRef.nativeElement
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
583
|
+
const targetNode = this.elementRef.nativeElement;
|
|
584
|
+
const observerOptions = {
|
|
585
|
+
childList: true,
|
|
586
|
+
attributes: true,
|
|
587
|
+
subtree: true
|
|
588
|
+
};
|
|
589
|
+
const callback = () => {
|
|
590
|
+
this.checkForTruncation();
|
|
591
|
+
};
|
|
592
|
+
this.observer = new MutationObserver(callback);
|
|
593
|
+
this.observer.observe(targetNode, observerOptions);
|
|
588
594
|
this.checkForTruncation();
|
|
589
595
|
}
|
|
590
596
|
async checkForTruncation() {
|
|
@@ -604,6 +610,9 @@ class ElementIsTruncatedCbComponent {
|
|
|
604
610
|
}
|
|
605
611
|
return thisElementIsTruncated;
|
|
606
612
|
}
|
|
613
|
+
ngOnDestroy() {
|
|
614
|
+
this.observer?.disconnect();
|
|
615
|
+
}
|
|
607
616
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ElementIsTruncatedCbComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
608
617
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ElementIsTruncatedCbComponent, selector: "[elementIsTruncatedCb]", inputs: { elementIsTruncatedCb: "elementIsTruncatedCb" }, ngImport: i0 }); }
|
|
609
618
|
}
|
|
@@ -1841,7 +1850,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
1841
1850
|
class FormErrorComponent {
|
|
1842
1851
|
constructor(parent) {
|
|
1843
1852
|
this.parent = parent;
|
|
1844
|
-
this.showError = false;
|
|
1845
1853
|
}
|
|
1846
1854
|
ngOnInit() {
|
|
1847
1855
|
// this is being run next cycle, because we dont want to fail if the order of components is as follows:
|
|
@@ -1856,11 +1864,11 @@ class FormErrorComponent {
|
|
|
1856
1864
|
return this.parent.getAttachedControl().errors[this.error];
|
|
1857
1865
|
}
|
|
1858
1866
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormErrorComponent, deps: [{ token: FormElementComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1859
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormErrorComponent, selector: "klp-form-error", inputs: { error: "error" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentRef"], descendants: true }], ngImport: i0, template: "<ng-template #contentRef>\n\t<ng-
|
|
1867
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormErrorComponent, selector: "klp-form-error", inputs: { error: "error" }, queries: [{ propertyName: "contentChild", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentRef"], descendants: true }], ngImport: i0, template: "<ng-template #contentRef>\n\t<ng-container *ngIf=\"error !== 'async'\" [ngTemplateOutlet]=\"contentChild\"></ng-container>\n\t<div *ngIf=\"error === 'async'\">{{getErrorValueMessage()}}</div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
1860
1868
|
}
|
|
1861
1869
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormErrorComponent, decorators: [{
|
|
1862
1870
|
type: Component,
|
|
1863
|
-
args: [{ selector: 'klp-form-error', template: "<ng-template #contentRef>\n\t<ng-
|
|
1871
|
+
args: [{ selector: 'klp-form-error', template: "<ng-template #contentRef>\n\t<ng-container *ngIf=\"error !== 'async'\" [ngTemplateOutlet]=\"contentChild\"></ng-container>\n\t<div *ngIf=\"error === 'async'\">{{getErrorValueMessage()}}</div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
1864
1872
|
}], ctorParameters: () => [{ type: FormElementComponent, decorators: [{
|
|
1865
1873
|
type: Host
|
|
1866
1874
|
}, {
|
|
@@ -1870,6 +1878,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
1870
1878
|
}], contentRef: [{
|
|
1871
1879
|
type: ViewChild,
|
|
1872
1880
|
args: ['contentRef']
|
|
1881
|
+
}], contentChild: [{
|
|
1882
|
+
type: ContentChild,
|
|
1883
|
+
args: [TemplateRef]
|
|
1873
1884
|
}] } });
|
|
1874
1885
|
|
|
1875
1886
|
class FormValidationError extends Error {
|