UNPKG

@engie-group/fluid-design-system-angular

Version:

Fluid Design System Angular

47 lines 5.34 kB
import { Directive, HostBinding } from '@angular/core'; import { Utils } from '../../utils/utils.util'; import * as i0 from "@angular/core"; export class FormFieldDirective { constructor(el) { this.el = el; this.class = 'nj-form-item__field'; this.setPlaceholder(); } setPlaceholder() { if (this.tagName.toLowerCase() === 'select') { return; } const placeholder = this.el?.nativeElement?.placeholder; this.el.nativeElement.placeholder = Utils.isUndefinedOrNull(placeholder) || placeholder?.trim() === '' ? ' ' : placeholder; } get type() { return this.el?.nativeElement?.type; } set type(value) { if (this.el?.nativeElement) { this.el.nativeElement.type = value; } } get tagName() { return this.el?.nativeElement?.tagName; } get element() { return this.el?.nativeElement; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldDirective, isStandalone: true, selector: "input[njFormField], textarea[njFormField], select[njFormField], nj-select[njFormField], div[njFormField]", host: { properties: { "class": "this.class" } }, exportAs: ["njFormField"], ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldDirective, decorators: [{ type: Directive, args: [{ selector: 'input[njFormField], textarea[njFormField], select[njFormField], nj-select[njFormField], div[njFormField]', exportAs: 'njFormField', standalone: true }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { class: [{ type: HostBinding, args: ['class'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPN0MsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUZaLFVBQUssR0FBRyxxQkFBcUIsQ0FBQztRQUdsRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsRUFBRTtZQUMzQyxPQUFPO1NBQ1I7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUM7UUFDeEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRTtZQUNwRyxDQUFDLENBQUMsR0FBRztZQUNMLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFhO1FBQ3BCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQztJQUNoQyxDQUFDOytHQWpDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEdBQTBHO29CQUNwSCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2lHQUV1QixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVdGlsc30gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMudXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W25qRm9ybUZpZWxkXSwgdGV4dGFyZWFbbmpGb3JtRmllbGRdLCBzZWxlY3RbbmpGb3JtRmllbGRdLCBuai1zZWxlY3RbbmpGb3JtRmllbGRdLCBkaXZbbmpGb3JtRmllbGRdJyxcbiAgZXhwb3J0QXM6ICduakZvcm1GaWVsZCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkRGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ25qLWZvcm0taXRlbV9fZmllbGQnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLnNldFBsYWNlaG9sZGVyKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFBsYWNlaG9sZGVyKCkge1xuICAgIGlmICh0aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPSB0aGlzLmVsPy5uYXRpdmVFbGVtZW50Py5wbGFjZWhvbGRlcjtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGxhY2Vob2xkZXIgPSBVdGlscy5pc1VuZGVmaW5lZE9yTnVsbChwbGFjZWhvbGRlcikgfHwgcGxhY2Vob2xkZXI/LnRyaW0oKSA9PT0gJydcbiAgICAgID8gJyAnXG4gICAgICA6IHBsYWNlaG9sZGVyO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWw/Lm5hdGl2ZUVsZW1lbnQ/LnR5cGU7XG4gIH1cblxuICBzZXQgdHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuZWw/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC50eXBlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRhZ05hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWw/Lm5hdGl2ZUVsZW1lbnQ/LnRhZ05hbWU7XG4gIH1cblxuICBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbD8ubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19