From 7878534a9ae5fb996d0308840cf4931e0195eae3 Mon Sep 17 00:00:00 2001 From: Leo Morgenstern Date: Mon, 29 Apr 2024 14:35:04 +0200 Subject: [PATCH] - prevent division by zero Errors when no itemsize provided --- src/app/components/scroller/scroller.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/components/scroller/scroller.ts b/src/app/components/scroller/scroller.ts index 3ba7ab421a5..14ce70f3c0b 100644 --- a/src/app/components/scroller/scroller.ts +++ b/src/app/components/scroller/scroller.ts @@ -735,7 +735,7 @@ export class Scroller implements OnInit, AfterContentInit, AfterViewChecked, OnD } getRenderedRange() { - const calculateFirstInViewport = (_pos: number, _size: number) => Math.floor(_pos / (_size || _pos)); + const calculateFirstInViewport = (_pos: number, _size: number) => (_size || _pos) ? Math.floor(_pos / (_size || _pos)) : 0; let firstInViewport = this.first; let lastInViewport: any = 0; @@ -767,7 +767,7 @@ export class Scroller implements OnInit, AfterContentInit, AfterViewChecked, OnD const contentPos = this.getContentPosition(); const contentWidth = (this.elementViewChild?.nativeElement ? this.elementViewChild.nativeElement.offsetWidth - contentPos.left : 0) || 0; const contentHeight = (this.elementViewChild?.nativeElement ? this.elementViewChild.nativeElement.offsetHeight - contentPos.top : 0) || 0; - const calculateNumItemsInViewport = (_contentSize: number, _itemSize: number) => Math.ceil(_contentSize / (_itemSize || _contentSize)); + const calculateNumItemsInViewport = (_contentSize: number, _itemSize: number) => (_itemSize || _contentSize) ? Math.ceil(_contentSize / (_itemSize || _contentSize)) : 0; const calculateNumToleratedItems = (_numItems: number) => Math.ceil(_numItems / 2); const numItemsInViewport: any = this.both ? { rows: calculateNumItemsInViewport(contentHeight, (this._itemSize)[0]), cols: calculateNumItemsInViewport(contentWidth, (this._itemSize)[1]) } @@ -897,7 +897,7 @@ export class Scroller implements OnInit, AfterContentInit, AfterViewChecked, OnD const target = event.target; const contentPos = this.getContentPosition(); const calculateScrollPos = (_pos: number, _cpos: number) => (_pos ? (_pos > _cpos ? _pos - _cpos : _pos) : 0); - const calculateCurrentIndex = (_pos: number, _size: number) => Math.floor(_pos / (_size || _pos)); + const calculateCurrentIndex = (_pos: number, _size: number) => (_size || _pos) ? Math.floor(_pos / (_size || _pos)) : 0; const calculateTriggerIndex = (_currentIndex: number, _first: number, _last: number, _num: number, _numT: number, _isScrollDownOrRight: any) => { return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1; };