UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

29 lines 3.45 kB
import { Directive, ElementRef, inject, Input } from '@angular/core'; import * as i0 from "@angular/core"; export class ScrollIntoViewDirective { constructor() { this._elementRef = inject(ElementRef); /** Allow a condition around whether or not this should scroll into view */ this.uxScrollIntoView = true; /** Allow user to provide the browser supported options */ this.scrollIntoViewOptions = true; } ngAfterViewInit() { if (this.uxScrollIntoView) { this._elementRef.nativeElement.scrollIntoView(this.scrollIntoViewOptions); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScrollIntoViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ScrollIntoViewDirective, selector: "[uxScrollIntoView]", inputs: { uxScrollIntoView: "uxScrollIntoView", scrollIntoViewOptions: "scrollIntoViewOptions" }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScrollIntoViewDirective, decorators: [{ type: Directive, args: [{ selector: '[uxScrollIntoView]' }] }], propDecorators: { uxScrollIntoView: [{ type: Input }], scrollIntoViewOptions: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9zY3JvbGwvc2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3BGLE1BQU0sT0FBTyx1QkFBdUI7SUFIcEM7UUFJYSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxQywyRUFBMkU7UUFDbEUscUJBQWdCLEdBQVksSUFBSSxDQUFDO1FBRTFDLDBEQUEwRDtRQUNqRCwwQkFBcUIsR0FBb0MsSUFBSSxDQUFDO0tBTzFFO0lBTEcsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlFLENBQUM7SUFDTCxDQUFDOytHQWJRLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7aUJBQ2pDOzhCQUtZLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxxQkFBcUI7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdXhTY3JvbGxJbnRvVmlld10nXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbEludG9WaWV3RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICAvKiogQWxsb3cgYSBjb25kaXRpb24gYXJvdW5kIHdoZXRoZXIgb3Igbm90IHRoaXMgc2hvdWxkIHNjcm9sbCBpbnRvIHZpZXcgKi9cbiAgICBASW5wdXQoKSB1eFNjcm9sbEludG9WaWV3OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBBbGxvdyB1c2VyIHRvIHByb3ZpZGUgdGhlIGJyb3dzZXIgc3VwcG9ydGVkIG9wdGlvbnMgKi9cbiAgICBASW5wdXQoKSBzY3JvbGxJbnRvVmlld09wdGlvbnM6IFNjcm9sbEludG9WaWV3T3B0aW9ucyB8IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy51eFNjcm9sbEludG9WaWV3KSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcodGhpcy5zY3JvbGxJbnRvVmlld09wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==