UNPKG

@coreui/angular

Version:

CoreUI for Angular UI components library

62 lines 7.38 kB
import { ContentChild, Directive, ElementRef, HostBinding, Input } from '@angular/core'; import { PageLinkDirective } from '../page-link/page-link.directive'; import * as i0 from "@angular/core"; export class PageItemDirective { constructor(renderer) { this.renderer = renderer; } get ariaCurrent() { return this.active ? 'page' : null; } get hostClasses() { return { 'page-item': true, disabled: this.disabled, active: this.active, }; } ngAfterContentInit() { this.setAttributes(); } ngOnChanges(changes) { if (changes['disabled']) { this.setAttributes(); } } setAttributes() { if (!this.pageLinkElementRef) { return; } const pageLinkElement = this.pageLinkElementRef.nativeElement; if (this.disabled) { this.renderer.setAttribute(pageLinkElement, 'aria-disabled', 'true'); this.renderer.setAttribute(pageLinkElement, 'tabindex', '-1'); } else { this.renderer.removeAttribute(pageLinkElement, 'aria-disabled'); this.renderer.removeAttribute(pageLinkElement, 'tabindex'); } } } PageItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PageItemDirective, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); PageItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: PageItemDirective, selector: "[cPageItem]", inputs: { active: "active", disabled: "disabled" }, host: { properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.hostClasses" } }, queries: [{ propertyName: "pageLinkElementRef", first: true, predicate: PageLinkDirective, descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PageItemDirective, decorators: [{ type: Directive, args: [{ selector: '[cPageItem]' }] }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { active: [{ type: Input }], disabled: [{ type: Input }], ariaCurrent: [{ type: HostBinding, args: ['attr.aria-current'] }], hostClasses: [{ type: HostBinding, args: ['class'] }], pageLinkElementRef: [{ type: ContentChild, args: [PageLinkDirective, { read: ElementRef }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvcGFnaW5hdGlvbi9wYWdlLWl0ZW0vcGFnZS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFLckUsTUFBTSxPQUFPLGlCQUFpQjtJQTZCNUIsWUFDVSxRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQ3pCLENBQUM7SUFsQkwsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFRRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLE9BQU07U0FDUDtRQUNELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7UUFFOUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7OzhHQXhEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1UEEyQmQsaUJBQWlCLDJCQUFVLFVBQVU7MkZBM0J4QyxpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCO2dHQU9VLE1BQU07c0JBQWQsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdGLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTTVCLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVNtQyxrQkFBa0I7c0JBQXhFLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBQYWdlTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uL3BhZ2UtbGluay9wYWdlLWxpbmsuZGlyZWN0aXZlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2NQYWdlSXRlbV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgYWN0aXZlIHN0YXRlIGZvciB0aGUgY29tcG9uZW50LlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgZGlzYWJsZWQgc3RhdGUgZm9yIHRoZSBjb21wb25lbnQuXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY3VycmVudCcpXHJcbiAgZ2V0IGFyaWFDdXJyZW50KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlID8gJ3BhZ2UnIDogbnVsbDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ3BhZ2UtaXRlbSc6IHRydWUsXHJcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxyXG4gICAgICBhY3RpdmU6IHRoaXMuYWN0aXZlLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoUGFnZUxpbmtEaXJlY3RpdmUsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwYWdlTGlua0VsZW1lbnRSZWYhOiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxyXG4gICkgeyB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0QXR0cmlidXRlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRBdHRyaWJ1dGVzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnBhZ2VMaW5rRWxlbWVudFJlZikge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIGNvbnN0IHBhZ2VMaW5rRWxlbWVudCA9IHRoaXMucGFnZUxpbmtFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGFnZUxpbmtFbGVtZW50LCAnYXJpYS1kaXNhYmxlZCcsICd0cnVlJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhZ2VMaW5rRWxlbWVudCwgJ3RhYmluZGV4JywgJy0xJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShwYWdlTGlua0VsZW1lbnQsICdhcmlhLWRpc2FibGVkJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHBhZ2VMaW5rRWxlbWVudCwgJ3RhYmluZGV4Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==