@coreui/angular
Version:
CoreUI for Angular UI components library
64 lines • 7.07 kB
JavaScript
import { Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../dropdown.service";
import * as i2 from "../dropdown/dropdown.component";
export class DropdownCloseDirective {
constructor(dropdownService, dropdown) {
this.dropdownService = dropdownService;
this.dropdown = dropdown;
this._tabIndex = null;
}
get hostClasses() {
return {
disabled: this.disabled
};
}
set tabIndex(value) {
this._tabIndex = value;
}
get tabIndex() {
return this.disabled ? '-1' : this._tabIndex;
}
get isDisabled() {
return this.disabled || null;
}
onClick($event) {
this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });
}
onKeyUp($event) {
if ($event.key === 'Enter') {
this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });
}
}
}
DropdownCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: DropdownCloseDirective, deps: [{ token: i1.DropdownService }, { token: i2.DropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
DropdownCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: DropdownCloseDirective, selector: "[cDropdownClose]", inputs: { disabled: "disabled", tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick($event)", "keyup": "onKeyUp($event)" }, properties: { "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.aria-disabled": "this.isDisabled" } }, exportAs: ["cDropdownClose"], ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: DropdownCloseDirective, decorators: [{
type: Directive,
args: [{
selector: '[cDropdownClose]',
exportAs: 'cDropdownClose'
}]
}], ctorParameters: function () { return [{ type: i1.DropdownService }, { type: i2.DropdownComponent, decorators: [{
type: Optional
}] }]; }, propDecorators: { disabled: [{
type: Input
}], hostClasses: [{
type: HostBinding,
args: ['class']
}], tabIndex: [{
type: HostBinding,
args: ['attr.tabindex']
}, {
type: Input
}], isDisabled: [{
type: HostBinding,
args: ['attr.aria-disabled']
}], onClick: [{
type: HostListener,
args: ['click', ['$event']]
}], onKeyUp: [{
type: HostListener,
args: ['keyup', ['$event']]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY2xvc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi1jbG9zZS9kcm9wZG93bi1jbG9zZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRdEYsTUFBTSxPQUFPLHNCQUFzQjtJQVNqQyxZQUNVLGVBQWdDLEVBQ3JCLFFBQTRCO1FBRHZDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQWtCekMsY0FBUyxHQUEyQixJQUFJLENBQUM7SUFqQjdDLENBQUM7SUFFTCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFFSSxRQUFRLENBQUMsS0FBNkI7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQy9DLENBQUM7SUFHRCxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFHTyxPQUFPLENBQUMsTUFBa0I7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBR08sT0FBTyxDQUFDLE1BQXFCO1FBQ25DLElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7O21IQTlDVSxzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzswQkFZSSxRQUFROzRDQUpGLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBU2hCLFFBQVE7c0JBRlgsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFVRixVQUFVO3NCQURiLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU16QixPQUFPO3NCQURkLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU16QixPQUFPO3NCQURkLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi4vZHJvcGRvd24uc2VydmljZSc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2NEcm9wZG93bkNsb3NlXScsXHJcbiAgZXhwb3J0QXM6ICdjRHJvcGRvd25DbG9zZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ2xvc2VEaXJlY3RpdmUge1xyXG5cclxuICAvKipcclxuICAgKiBEaXNhYmxlcyBhIGRyb3Bkb3duLWNsb3NlIGRpcmVjdGl2ZS5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZHJvcGRvd25TZXJ2aWNlOiBEcm9wZG93blNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZHJvcGRvd24/OiBEcm9wZG93bkNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWRcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHRhYkluZGV4KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsKSB7XHJcbiAgICB0aGlzLl90YWJJbmRleCA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgdGFiSW5kZXgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCA/ICctMScgOiB0aGlzLl90YWJJbmRleDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdGFiSW5kZXg6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXHJcbiAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBwcml2YXRlIG9uQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmRyb3Bkb3duU2VydmljZS50b2dnbGUoeyB2aXNpYmxlOiBmYWxzZSwgZHJvcGRvd246IHRoaXMuZHJvcGRvd24gfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgcHJpdmF0ZSBvbktleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCRldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgdGhpcy5kcm9wZG93blNlcnZpY2UudG9nZ2xlKHsgdmlzaWJsZTogZmFsc2UsIGRyb3Bkb3duOiB0aGlzLmRyb3Bkb3duIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=