UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

95 lines 8.07 kB
import { __decorate, __metadata, __param } from "tslib"; import { Directive, ElementRef, Input, NgModule, Optional, Inject, Self } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; let IgxFocusDirective = class IgxFocusDirective { constructor(element, comp) { this.element = element; this.comp = comp; this.focusState = true; } /** * Returns the state of the igxFocus. * ```typescript * @ViewChild('focusContainer', {read: IgxFocusDirective}) * public igxFocus: IgxFocusDirective; * let isFocusOn = this.igxFocus.focused; * ``` * @memberof IgxFocusDirective */ get focused() { return this.focusState; } /** * Sets the state of the igxFocus. * ```html * <igx-input-group > * <input #focusContainer igxInput [igxFocus]="true"/> * </igx-input-group> * ``` * @memberof IgxFocusDirective */ set focused(val) { this.focusState = val; this.trigger(); } /** * Gets the native element of the igxFocus. * ```typescript * @ViewChild('focusContainer', {read: IgxFocusDirective}) * public igxFocus: IgxFocusDirective; * let igxFocusNativeElement = this.igxFocus.nativeElement; * ``` * @memberof IgxFocusDirective */ get nativeElement() { if (this.comp && this.comp[0] && this.comp[0].getEditElement) { return this.comp[0].getEditElement(); } return this.element.nativeElement; } /** * Triggers the igxFocus state. * ```typescript * @ViewChild('focusContainer', {read: IgxFocusDirective}) * public igxFocus: IgxFocusDirective; * this.igxFocus.trigger(); * ``` * @memberof IgxFocusDirective */ trigger() { if (this.focusState) { requestAnimationFrame(() => this.nativeElement.focus()); } } }; IgxFocusDirective.ctorParameters = () => [ { type: ElementRef }, { type: Array, decorators: [{ type: Inject, args: [NG_VALUE_ACCESSOR,] }, { type: Self }, { type: Optional }] } ]; __decorate([ Input('igxFocus'), __metadata("design:type", Boolean), __metadata("design:paramtypes", [Boolean]) ], IgxFocusDirective.prototype, "focused", null); IgxFocusDirective = __decorate([ Directive({ exportAs: 'igxFocus', selector: '[igxFocus]' }), __param(1, Inject(NG_VALUE_ACCESSOR)), __param(1, Self()), __param(1, Optional()), __metadata("design:paramtypes", [ElementRef, Array]) ], IgxFocusDirective); export { IgxFocusDirective }; /** * @hidden */ let IgxFocusModule = class IgxFocusModule { }; IgxFocusModule = __decorate([ NgModule({ declarations: [IgxFocusDirective], exports: [IgxFocusDirective] }) ], IgxFocusModule); export { IgxFocusModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2ZvY3VzL2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9uRCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQTZDMUIsWUFBb0IsT0FBbUIsRUFBeUQsSUFBWTtRQUF4RixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQXlELFNBQUksR0FBSixJQUFJLENBQVE7UUEzQ3BHLGVBQVUsR0FBRyxJQUFJLENBQUM7SUEyQ3NGLENBQUM7SUExQ2pIOzs7Ozs7OztPQVFHO0lBRUgsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDRDs7Ozs7Ozs7T0FRRztJQUNILElBQUksT0FBTyxDQUFDLEdBQVk7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRDs7Ozs7Ozs7T0FRRztJQUNILElBQUksYUFBYTtRQUNiLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO1lBQzFELE9BQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQW9CLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDNUQ7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFHRDs7Ozs7Ozs7T0FRRztJQUNILE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO0lBQ0wsQ0FBQztDQUNKLENBQUE7O1lBZmdDLFVBQVU7d0NBQUcsTUFBTSxTQUFDLGlCQUFpQixjQUFHLElBQUksWUFBSSxRQUFROztBQWhDckY7SUFEQyxLQUFLLENBQUMsVUFBVSxDQUFDOzs7Z0RBR2pCO0FBZlEsaUJBQWlCO0lBSjdCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLFFBQVEsRUFBRSxZQUFZO0tBQ3pCLENBQUM7SUE4QzRDLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUEsRUFBRSxXQUFBLElBQUksRUFBRSxDQUFBLEVBQUUsV0FBQSxRQUFRLEVBQUUsQ0FBQTtxQ0FBMUQsVUFBVTtHQTdDOUIsaUJBQWlCLENBNEQ3QjtTQTVEWSxpQkFBaUI7QUE4RDlCOztHQUVHO0FBS0gsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztDQUFJLENBQUE7QUFBbEIsY0FBYztJQUoxQixRQUFRLENBQUM7UUFDTixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztRQUNqQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztLQUMvQixDQUFDO0dBQ1csY0FBYyxDQUFJO1NBQWxCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBOZ01vZHVsZSwgT3B0aW9uYWwsIEluamVjdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFZGl0b3JQcm92aWRlciB9IGZyb20gJy4uLy4uL2NvcmUvZWRpdC1wcm92aWRlcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIGV4cG9ydEFzOiAnaWd4Rm9jdXMnLFxuICAgIHNlbGVjdG9yOiAnW2lneEZvY3VzXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4Rm9jdXNEaXJlY3RpdmUge1xuXG4gICAgcHJpdmF0ZSBmb2N1c1N0YXRlID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgaWd4Rm9jdXMuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIEBWaWV3Q2hpbGQoJ2ZvY3VzQ29udGFpbmVyJywge3JlYWQ6IElneEZvY3VzRGlyZWN0aXZlfSlcbiAgICAgKiBwdWJsaWMgaWd4Rm9jdXM6IElneEZvY3VzRGlyZWN0aXZlO1xuICAgICAqIGxldCBpc0ZvY3VzT24gPSB0aGlzLmlneEZvY3VzLmZvY3VzZWQ7XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIElneEZvY3VzRGlyZWN0aXZlXG4gICAgICovXG4gICAgQElucHV0KCdpZ3hGb2N1cycpXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzU3RhdGU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0YXRlIG9mIHRoZSBpZ3hGb2N1cy5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1pbnB1dC1ncm91cCA+XG4gICAgICogIDxpbnB1dCAjZm9jdXNDb250YWluZXIgaWd4SW5wdXQgW2lneEZvY3VzXT1cInRydWVcIi8+XG4gICAgICogPC9pZ3gtaW5wdXQtZ3JvdXA+XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIElneEZvY3VzRGlyZWN0aXZlXG4gICAgICovXG4gICAgc2V0IGZvY3VzZWQodmFsOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZm9jdXNTdGF0ZSA9IHZhbDtcbiAgICAgICAgdGhpcy50cmlnZ2VyKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hdGl2ZSBlbGVtZW50IG9mIHRoZSBpZ3hGb2N1cy5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogQFZpZXdDaGlsZCgnZm9jdXNDb250YWluZXInLCB7cmVhZDogSWd4Rm9jdXNEaXJlY3RpdmV9KVxuICAgICAqIHB1YmxpYyBpZ3hGb2N1czogSWd4Rm9jdXNEaXJlY3RpdmU7XG4gICAgICogbGV0IGlneEZvY3VzTmF0aXZlRWxlbWVudCA9IHRoaXMuaWd4Rm9jdXMubmF0aXZlRWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKiBAbWVtYmVyb2YgSWd4Rm9jdXNEaXJlY3RpdmVcbiAgICAgKi9cbiAgICBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcCAmJiB0aGlzLmNvbXBbMF0gJiYgdGhpcy5jb21wWzBdLmdldEVkaXRFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuY29tcFswXSBhcyBFZGl0b3JQcm92aWRlcikuZ2V0RWRpdEVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBASW5qZWN0KE5HX1ZBTFVFX0FDQ0VTU09SKSBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29tcD86IGFueVtdKSB7IH1cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyB0aGUgaWd4Rm9jdXMgc3RhdGUuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIEBWaWV3Q2hpbGQoJ2ZvY3VzQ29udGFpbmVyJywge3JlYWQ6IElneEZvY3VzRGlyZWN0aXZlfSlcbiAgICAgKiBwdWJsaWMgaWd4Rm9jdXM6IElneEZvY3VzRGlyZWN0aXZlO1xuICAgICAqIHRoaXMuaWd4Rm9jdXMudHJpZ2dlcigpO1xuICAgICAqIGBgYFxuICAgICAqIEBtZW1iZXJvZiBJZ3hGb2N1c0RpcmVjdGl2ZVxuICAgICAqL1xuICAgIHRyaWdnZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzU3RhdGUpIHtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0lneEZvY3VzRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbSWd4Rm9jdXNEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIElneEZvY3VzTW9kdWxlIHsgfVxuIl19