UNPKG

ngx-mat-lib

Version:

A bunch of utilities and components to use in your Angular 7+ apps!

76 lines (75 loc) 5.87 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Directive, ChangeDetectorRef, ContentChild } from "@angular/core"; import { FormControl, NgControl } from "@angular/forms"; import { MatFormFieldControl } from "@angular/material"; /** * @abstract */ export class CustomMatFormFieldNgControl extends NgControl { } if (false) { /** @type {?} */ CustomMatFormFieldNgControl.prototype.form; } /** * @abstract * @template T */ export class CustomMatFormFieldControl extends MatFormFieldControl { } if (false) { /** @type {?} */ CustomMatFormFieldControl.prototype.required; /** @type {?} */ CustomMatFormFieldControl.prototype.ngControl; } export class MatFormFieldRequiredDirective { /** * @param {?} _cdRef */ constructor(_cdRef) { this._cdRef = _cdRef; } /** * @return {?} */ ngAfterViewInit() { if (this._control && this._control.ngControl) { const { ngControl } = this._control; /** @type {?} */ const validator = ngControl.form // [formControl] standalone ? ngControl.form.validator : ngControl.control // formControlName in FromGroup ? ngControl.control.validator : null; if (validator) { Promise.resolve().then(() => { this._control.required = !!(validator(new FormControl()) || {})["required"]; // thx @kwkelly this._cdRef.markForCheck(); }); } } } } MatFormFieldRequiredDirective.decorators = [ { type: Directive, args: [{ selector: "mat-form-field" },] } ]; /** @nocollapse */ MatFormFieldRequiredDirective.ctorParameters = () => [ { type: ChangeDetectorRef } ]; MatFormFieldRequiredDirective.propDecorators = { _control: [{ type: ContentChild, args: [MatFormFieldControl,] }] }; if (false) { /** @type {?} */ MatFormFieldRequiredDirective.prototype._control; /** @type {?} */ MatFormFieldRequiredDirective.prototype._cdRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LWZvcm0tZmllbGQtcmVxdWlyZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1hdC1saWIvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC9tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUV0RCxNQUFNLE9BQWdCLDJCQUE0QixTQUFRLFNBQVM7Q0FFbEU7Ozs7Ozs7OztBQUVELE1BQU0sT0FBZ0IseUJBQTZCLFNBQVEsbUJBQXNCO0NBR2hGOzs7Ozs7O0FBS0QsTUFBTSxPQUFPLDZCQUE2Qjs7OztJQUd0QyxZQUFvQixNQUF5QjtRQUF6QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtLQUM1Qzs7OztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDMUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7O1lBQ2xDLE1BQU0sU0FBUyxHQUNYLFNBQVMsQ0FBQyxJQUFJO2dCQUNWLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVM7Z0JBQzFCLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTztvQkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUztvQkFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksU0FBUyxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxZQUFTLENBQUM7b0JBQ3pFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7aUJBQzlCLENBQUMsQ0FBQzthQUNOO1NBQ0o7S0FDSjs7O1lBekJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2FBQzdCOzs7O1lBZmtCLGlCQUFpQjs7O3VCQWlCL0IsWUFBWSxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29udGVudENoaWxkLCBBZnRlclZpZXdJbml0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgTmdDb250cm9sLCBBYnN0cmFjdENvbnRyb2x9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRDb250cm9sfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWxcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1c3RvbU1hdEZvcm1GaWVsZE5nQ29udHJvbCBleHRlbmRzIE5nQ29udHJvbCB7XG4gICAgZm9ybT86IEFic3RyYWN0Q29udHJvbDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1c3RvbU1hdEZvcm1GaWVsZENvbnRyb2w8VD4gZXh0ZW5kcyBNYXRGb3JtRmllbGRDb250cm9sPFQ+IHtcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBuZ0NvbnRyb2w6IEN1c3RvbU1hdEZvcm1GaWVsZE5nQ29udHJvbDtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwibWF0LWZvcm0tZmllbGRcIlxufSlcbmV4cG9ydCBjbGFzcyBNYXRGb3JtRmllbGRSZXF1aXJlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBDb250ZW50Q2hpbGQoTWF0Rm9ybUZpZWxkQ29udHJvbCkgX2NvbnRyb2w6IEN1c3RvbU1hdEZvcm1GaWVsZENvbnRyb2w8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbnRyb2wgJiYgdGhpcy5fY29udHJvbC5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIGNvbnN0IHtuZ0NvbnRyb2x9ID0gdGhpcy5fY29udHJvbDtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRvciA9XG4gICAgICAgICAgICAgICAgbmdDb250cm9sLmZvcm0gLy8gW2Zvcm1Db250cm9sXSBzdGFuZGFsb25lXG4gICAgICAgICAgICAgICAgICAgID8gbmdDb250cm9sLmZvcm0udmFsaWRhdG9yXG4gICAgICAgICAgICAgICAgICAgIDogbmdDb250cm9sLmNvbnRyb2wgLy8gZm9ybUNvbnRyb2xOYW1lIGluIEZyb21Hcm91cFxuICAgICAgICAgICAgICAgICAgICA/IG5nQ29udHJvbC5jb250cm9sLnZhbGlkYXRvclxuICAgICAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgICAgICBpZiAodmFsaWRhdG9yKSB7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRyb2wucmVxdWlyZWQgPSAhISh2YWxpZGF0b3IobmV3IEZvcm1Db250cm9sKCkpIHx8IHt9KS5yZXF1aXJlZDsgLy8gdGh4IEBrd2tlbGx5XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=