UNPKG

right-angled

Version:

Lightweight and easy to use angular data grids. Integrates with your markup and styles rather than generating its own.

52 lines 6.54 kB
import { Directive, HostListener } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../providers/paged-pager"; export class PageNumberDirective { get value() { return this.pager.pageNumber; } set value(value) { this.pager.pageNumber = value; } constructor(pager, elementRef, renderer) { this.pager = pager; this.elementRef = elementRef; this.renderer = renderer; } setPageSize(value) { // Return on empty values to give ability to clear input and enter new value if (value === null || value === undefined || value === '') { this.renderer.setProperty(this.elementRef.nativeElement, 'value', ''); return; } this.value = value; this.synchronizeInputValue(); } synchronizeInputValue() { this.renderer.setProperty(this.elementRef.nativeElement, 'value', this.value + ''); } ngOnInit() { this.pageNumberSubscription = this.pager.pageNumber$.subscribe(() => { this.synchronizeInputValue(); }); this.synchronizeInputValue(); } ngOnDestroy() { this.pageNumberSubscription.unsubscribe(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNumberDirective, deps: [{ token: i1.RTPagedPager }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PageNumberDirective, selector: "input[rtPageNumber]", host: { listeners: { "input": "setPageSize($event.target.value)", "blur": "synchronizeInputValue()" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNumberDirective, decorators: [{ type: Directive, args: [{ selector: 'input[rtPageNumber]' }] }], ctorParameters: function () { return [{ type: i1.RTPagedPager }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { setPageSize: [{ type: HostListener, args: ['input', ['$event.target.value']] }], synchronizeInputValue: [{ type: HostListener, args: ['blur'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1udW1iZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmlnaHQtYW5nbGVkL3NyYy9saWIvbGlzdHMvcGFnaW5nL3BhZ2UtbnVtYmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBNEMsTUFBTSxlQUFlLENBQUM7OztBQU9sRyxNQUFNLE9BQU8sbUJBQW1CO0lBRTVCLElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDakMsQ0FBQztJQUNELElBQVcsS0FBSyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxZQUFvQixLQUFtQixFQUFVLFVBQXNCLEVBQVUsUUFBbUI7UUFBaEYsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQUcsQ0FBQztJQUdqRyxXQUFXLENBQUMsS0FBVTtRQUN6Qiw0RUFBNEU7UUFDNUUsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEUsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLHFCQUFxQjtRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBQ00sUUFBUTtRQUNYLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNNLFdBQVc7UUFDZCxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUMsQ0FBQzsrR0FoQ1EsbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtpQkFDbEM7b0pBWVUsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFXdkMscUJBQXFCO3NCQUQzQixZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT25Jbml0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSVFBhZ2VkUGFnZXIgfSBmcm9tICcuLi9wcm92aWRlcnMvcGFnZWQtcGFnZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdpbnB1dFtydFBhZ2VOdW1iZXJdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZU51bWJlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHBhZ2VOdW1iZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYWdlci5wYWdlTnVtYmVyO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlci5wYWdlTnVtYmVyID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VyOiBSVFBhZ2VkUGFnZXIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXHJcbiAgICBwdWJsaWMgc2V0UGFnZVNpemUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIC8vIFJldHVybiBvbiBlbXB0eSB2YWx1ZXMgdG8gZ2l2ZSBhYmlsaXR5IHRvIGNsZWFyIGlucHV0IGFuZCBlbnRlciBuZXcgdmFsdWVcclxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgJycpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnN5bmNocm9uaXplSW5wdXRWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicpXHJcbiAgICBwdWJsaWMgc3luY2hyb25pemVJbnB1dFZhbHVlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHRoaXMudmFsdWUgKyAnJyk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wYWdlTnVtYmVyU3Vic2NyaXB0aW9uID0gdGhpcy5wYWdlci5wYWdlTnVtYmVyJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXplSW5wdXRWYWx1ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc3luY2hyb25pemVJbnB1dFZhbHVlKCk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wYWdlTnVtYmVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn1cclxuIl19