@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
108 lines • 8.88 kB
JavaScript
import { __decorate, __metadata, __param } from "tslib";
import { Directive, ElementRef, Input, NgModule, Optional, Inject, Self } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
var IgxFocusDirective = /** @class */ (function () {
function IgxFocusDirective(element, comp) {
this.element = element;
this.comp = comp;
this.focusState = true;
}
Object.defineProperty(IgxFocusDirective.prototype, "focused", {
/**
* Returns the state of the igxFocus.
* ```typescript
* @ViewChild('focusContainer', {read: IgxFocusDirective})
* public igxFocus: IgxFocusDirective;
* let isFocusOn = this.igxFocus.focused;
* ```
* @memberof IgxFocusDirective
*/
get: function () {
return this.focusState;
},
/**
* Sets the state of the igxFocus.
* ```html
* <igx-input-group >
* <input #focusContainer igxInput [igxFocus]="true"/>
* </igx-input-group>
* ```
* @memberof IgxFocusDirective
*/
set: function (val) {
this.focusState = val;
this.trigger();
},
enumerable: true,
configurable: true
});
Object.defineProperty(IgxFocusDirective.prototype, "nativeElement", {
/**
* Gets the native element of the igxFocus.
* ```typescript
* @ViewChild('focusContainer', {read: IgxFocusDirective})
* public igxFocus: IgxFocusDirective;
* let igxFocusNativeElement = this.igxFocus.nativeElement;
* ```
* @memberof IgxFocusDirective
*/
get: function () {
if (this.comp && this.comp[0] && this.comp[0].getEditElement) {
return this.comp[0].getEditElement();
}
return this.element.nativeElement;
},
enumerable: true,
configurable: true
});
/**
* Triggers the igxFocus state.
* ```typescript
* @ViewChild('focusContainer', {read: IgxFocusDirective})
* public igxFocus: IgxFocusDirective;
* this.igxFocus.trigger();
* ```
* @memberof IgxFocusDirective
*/
IgxFocusDirective.prototype.trigger = function () {
var _this = this;
if (this.focusState) {
requestAnimationFrame(function () { return _this.nativeElement.focus(); });
}
};
IgxFocusDirective.ctorParameters = function () { return [
{ 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);
return IgxFocusDirective;
}());
export { IgxFocusDirective };
/**
* @hidden
*/
var IgxFocusModule = /** @class */ (function () {
function IgxFocusModule() {
}
IgxFocusModule = __decorate([
NgModule({
declarations: [IgxFocusDirective],
exports: [IgxFocusDirective]
})
], IgxFocusModule);
return IgxFocusModule;
}());
export { IgxFocusModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2ZvY3VzL2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9uRDtJQTZDSSwyQkFBb0IsT0FBbUIsRUFBeUQsSUFBWTtRQUF4RixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQXlELFNBQUksR0FBSixJQUFJLENBQVE7UUEzQ3BHLGVBQVUsR0FBRyxJQUFJLENBQUM7SUEyQ3NGLENBQUM7SUFoQ2pILHNCQUFJLHNDQUFPO1FBVlg7Ozs7Ozs7O1dBUUc7YUFFSDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMzQixDQUFDO1FBQ0Q7Ozs7Ozs7O1dBUUc7YUFDSCxVQUFZLEdBQVk7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUM7OztPQWJBO0lBdUJELHNCQUFJLDRDQUFhO1FBVGpCOzs7Ozs7OztXQVFHO2FBQ0g7WUFDSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtnQkFDMUQsT0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBb0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUM1RDtZQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDdEMsQ0FBQzs7O09BQUE7SUFHRDs7Ozs7Ozs7T0FRRztJQUNILG1DQUFPLEdBQVA7UUFBQSxpQkFJQztRQUhHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixxQkFBcUIsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBMUIsQ0FBMEIsQ0FBQyxDQUFDO1NBQzNEO0lBQ0wsQ0FBQzs7Z0JBZDRCLFVBQVU7NENBQUcsTUFBTSxTQUFDLGlCQUFpQixjQUFHLElBQUksWUFBSSxRQUFROztJQWhDckY7UUFEQyxLQUFLLENBQUMsVUFBVSxDQUFDOzs7b0RBR2pCO0lBZlEsaUJBQWlCO1FBSjdCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFFBQVEsRUFBRSxZQUFZO1NBQ3pCLENBQUM7UUE4QzRDLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUEsRUFBRSxXQUFBLElBQUksRUFBRSxDQUFBLEVBQUUsV0FBQSxRQUFRLEVBQUUsQ0FBQTt5Q0FBMUQsVUFBVTtPQTdDOUIsaUJBQWlCLENBNEQ3QjtJQUFELHdCQUFDO0NBQUEsQUE1REQsSUE0REM7U0E1RFksaUJBQWlCO0FBOEQ5Qjs7R0FFRztBQUtIO0lBQUE7SUFBOEIsQ0FBQztJQUFsQixjQUFjO1FBSjFCLFFBQVEsQ0FBQztZQUNOLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQ2pDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO1NBQy9CLENBQUM7T0FDVyxjQUFjLENBQUk7SUFBRCxxQkFBQztDQUFBLEFBQS9CLElBQStCO1NBQWxCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBOZ01vZHVsZSwgT3B0aW9uYWwsIEluamVjdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFZGl0b3JQcm92aWRlciB9IGZyb20gJy4uLy4uL2NvcmUvZWRpdC1wcm92aWRlcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIGV4cG9ydEFzOiAnaWd4Rm9jdXMnLFxuICAgIHNlbGVjdG9yOiAnW2lneEZvY3VzXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4Rm9jdXNEaXJlY3RpdmUge1xuXG4gICAgcHJpdmF0ZSBmb2N1c1N0YXRlID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgaWd4Rm9jdXMuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIEBWaWV3Q2hpbGQoJ2ZvY3VzQ29udGFpbmVyJywge3JlYWQ6IElneEZvY3VzRGlyZWN0aXZlfSlcbiAgICAgKiBwdWJsaWMgaWd4Rm9jdXM6IElneEZvY3VzRGlyZWN0aXZlO1xuICAgICAqIGxldCBpc0ZvY3VzT24gPSB0aGlzLmlneEZvY3VzLmZvY3VzZWQ7XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIElneEZvY3VzRGlyZWN0aXZlXG4gICAgICovXG4gICAgQElucHV0KCdpZ3hGb2N1cycpXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzU3RhdGU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0YXRlIG9mIHRoZSBpZ3hGb2N1cy5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1pbnB1dC1ncm91cCA+XG4gICAgICogIDxpbnB1dCAjZm9jdXNDb250YWluZXIgaWd4SW5wdXQgW2lneEZvY3VzXT1cInRydWVcIi8+XG4gICAgICogPC9pZ3gtaW5wdXQtZ3JvdXA+XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIElneEZvY3VzRGlyZWN0aXZlXG4gICAgICovXG4gICAgc2V0IGZvY3VzZWQodmFsOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZm9jdXNTdGF0ZSA9IHZhbDtcbiAgICAgICAgdGhpcy50cmlnZ2VyKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hdGl2ZSBlbGVtZW50IG9mIHRoZSBpZ3hGb2N1cy5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogQFZpZXdDaGlsZCgnZm9jdXNDb250YWluZXInLCB7cmVhZDogSWd4Rm9jdXNEaXJlY3RpdmV9KVxuICAgICAqIHB1YmxpYyBpZ3hGb2N1czogSWd4Rm9jdXNEaXJlY3RpdmU7XG4gICAgICogbGV0IGlneEZvY3VzTmF0aXZlRWxlbWVudCA9IHRoaXMuaWd4Rm9jdXMubmF0aXZlRWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKiBAbWVtYmVyb2YgSWd4Rm9jdXNEaXJlY3RpdmVcbiAgICAgKi9cbiAgICBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcCAmJiB0aGlzLmNvbXBbMF0gJiYgdGhpcy5jb21wWzBdLmdldEVkaXRFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuY29tcFswXSBhcyBFZGl0b3JQcm92aWRlcikuZ2V0RWRpdEVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBASW5qZWN0KE5HX1ZBTFVFX0FDQ0VTU09SKSBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29tcD86IGFueVtdKSB7IH1cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyB0aGUgaWd4Rm9jdXMgc3RhdGUuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIEBWaWV3Q2hpbGQoJ2ZvY3VzQ29udGFpbmVyJywge3JlYWQ6IElneEZvY3VzRGlyZWN0aXZlfSlcbiAgICAgKiBwdWJsaWMgaWd4Rm9jdXM6IElneEZvY3VzRGlyZWN0aXZlO1xuICAgICAqIHRoaXMuaWd4Rm9jdXMudHJpZ2dlcigpO1xuICAgICAqIGBgYFxuICAgICAqIEBtZW1iZXJvZiBJZ3hGb2N1c0RpcmVjdGl2ZVxuICAgICAqL1xuICAgIHRyaWdnZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzU3RhdGUpIHtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0lneEZvY3VzRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbSWd4Rm9jdXNEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIElneEZvY3VzTW9kdWxlIHsgfVxuIl19