UNPKG

right-angled

Version:

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

53 lines 6.71 kB
import { Directive, HostListener } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../providers/paged-pager"; export class PageSizeDirective { get value() { return this.pager.pageSize; } set value(value) { this.pager.pageSize = 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 before entering 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.pageSizeSubscription = this.pager.pageSize$.subscribe(() => { this.synchronizeInputValue(); }); this.synchronizeInputValue(); } ngOnDestroy() { this.pageSizeSubscription.unsubscribe(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageSizeDirective, 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: PageSizeDirective, selector: "input[rtPageSize]", host: { listeners: { "input": "setPageSize($event.target.value)", "blur": "synchronizeInputValue()" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageSizeDirective, decorators: [{ type: Directive, args: [{ /* tslint:disable-next-line:directive-selector */ selector: 'input[rtPageSize]' }] }], 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JpZ2h0LWFuZ2xlZC9zcmMvbGliL2xpc3RzL3BhZ2luZy9wYWdlLXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsWUFBWSxFQUErRCxNQUFNLGVBQWUsQ0FBQzs7O0FBUWxJLE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELFlBQW1CLEtBQW1CLEVBQVUsVUFBc0IsRUFBVSxRQUFtQjtRQUFoRixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7SUFBRyxDQUFDO0lBRWhHLFdBQVcsQ0FBQyxLQUFVO1FBQ3pCLGtGQUFrRjtRQUNsRixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RSxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ00sV0FBVztRQUNkLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDOytHQS9CUSxpQkFBaUI7bUdBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxpREFBaUQ7b0JBQ2pELFFBQVEsRUFBRSxtQkFBbUI7aUJBQ2hDO29KQVdVLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBV3ZDLHFCQUFxQjtzQkFEM0IsWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPbkluaXQsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSVFBhZ2VkUGFnZXIgfSBmcm9tICcuLi9wcm92aWRlcnMvcGFnZWQtcGFnZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvciAqL1xyXG4gICAgc2VsZWN0b3I6ICdpbnB1dFtydFBhZ2VTaXplXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VTaXplRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcGFnZVNpemVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYWdlci5wYWdlU2l6ZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMucGFnZXIucGFnZVNpemUgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYWdlcjogUlRQYWdlZFBhZ2VyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXHJcbiAgICBwdWJsaWMgc2V0UGFnZVNpemUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIC8vIFJldHVybiBvbiBlbXB0eSB2YWx1ZXMgdG8gZ2l2ZSBhYmlsaXR5IHRvIGNsZWFyIGlucHV0IGJlZm9yZSBlbnRlcmluZyBuZXcgdmFsdWVcclxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgJycpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnN5bmNocm9uaXplSW5wdXRWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicpXHJcbiAgICBwdWJsaWMgc3luY2hyb25pemVJbnB1dFZhbHVlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHRoaXMudmFsdWUgKyAnJyk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wYWdlU2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucGFnZXIucGFnZVNpemUkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVJbnB1dFZhbHVlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZUlucHV0VmFsdWUoKTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBhZ2VTaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn1cclxuIl19