- Support for 1000000+ items
- Add RTL Support
- Minor bug fixes
- Compiled from Angular 9
- Add Null-Safety check
- Bug fix when prepending items (was scrolling to previously visible item even if scroll was at top of list)
- Use new Angular8 syntax for ViewChild/ContentChild (https://angular.io/guide/static-query-migration)
- If items array is prepended with additional items, keep scroll on currently visible items, if possible.
- Removed ChangeEvent (replaced by IPageInfo)
- Removed several deprecated properties (ChangeEvent.start, ChangeEvent.end, update/change/start/end events [renamed to vsUpdate/vsChange/vsStart/vsEnd])
- Auto-refresh improvement: During ngDoCheck, evaluates if javascript objects associated with any currently visible items have been replaced with different objects (for example: items array has been sorted, but still has the same items & length).
- Syntax of Dependency Injection changed
- Include margin in calculations for element size to improve smoothness of scrolling
- Add "sideEffects": true flag to package.json to prevent advanced optimizations which were causing runtime exceptions (due to get/set properties not being 'pure').
- Use ng-packagr to properly format npm publish for Angular consumption (Ivy support)
- Switch to ES2015 Module (instead of CommonJS) to support Ivy.
- Update to latest version of Angular & switch to ES2015 Module (instead of CommonJS) to support Ivy.
- Bug fix: bufferAmount < 5 was forced to 5 if enableUnequalChildrenSizes==true.
- Bug fix to sticky header with parentScroll
- Minor bug fix to stripedTable & table headers.
- New properties stripedTable and modifyOverflowStyleOfParentScroll. Minor bug fix to fixed table headers.
- Make OnPush strategy easier to implement.
- Fix a bug when parentScroll is significantly longer than virtual scroller.
- Fix issue #258
- Refactor of speed improvement flag (renamed to executeRefreshOutsideAngularZone). With instructions & warning.
- Add flag to enable speed improvement from v1.0.8 (because it causes issues with
changeDetection: ChangeDetectionStrategy.OnPush
.
- Speed improvement. Thanks to sharikovvladislav & nickbullock !
- Fix bug where viewportItems had an extra row of invisible items outside viewport (also affected vsStart/vsEnd/vsChange.endIndex)
- Add new properties to vsStart/vsEnd/vsChange events. Remove viewPortIndices property, because it's been replaced by viewPortInfo.
- Support for fixed on tags.
- Add ScrollDebounceTime
- Rename everything from virtual-scroll to virtual-scroller and from virtualScroll to virtualScroller
- Improve AngularUniversal/SSR support
- Renamed from angular2-virtual-scroll to ngx-virtual-scroller
- New properties to support AngularUniversal/ServerSideRendering (SSR)
- Fix regression 'TypeError: Cannot read property 'sumOfKnownWrapGroupChildWidths' of undefined'
- Support for dependency injection of some configuration properties
- New APIs: scrollToPosition, invalidateAllCachedMeasurements, invalidateCachedMeasurementForItem, invalidateCachedMeasurementAtIndex, viewPortInfo
- ScrollStartPosition, ScrollEndPosition, MaxScrollPosition properties added to ChangeEvent
- viewPortIndices.arrayStartIndex renamed to viewPortIndices.startIndex and viewPortIndices.arrayEndIndex renamed to viewPortIndices.endIndex
- Fix scrollbar measurements (horizontal/vertical calculations were backwards)
- After component is removed it reverts css overflow-x/overflow-y of parentScroll back to their original values.
- Previously, if scroll parent was resized it would automatically call Refresh. This still occurs, except if new size is 0.
- Breaking Change: The start and end values of the change/start/end events were including bufferAmount, which made them confusing. This has been corrected.
- Bug fix to items array modifications with "enableUnequalChildrenSizes" which caused non-modified items to have to be re-measured.
- Minor bug fixes.
- Prevent delay if scrollThrottlingTime is set to 0.
- Fix bug where children would not be re-measured if their original measurement was 0 (due to elements still initializing)
- Add vs* prefix to event names to prevent conflicts with native DOM events, example: <virtual-scroller (vsChange)=""><input (change)="" />
- Default scrollThrottlingTime to 0.
- Improvements to "enableUnequalChildrenSizes". Thanks to Pavel Kukushkin (kykint) for Pull-Request.
- Add scrollThrottlingTime parameter for performance reasons.
- Use style box-sizing: border-box on child elements of viewport to enable padding/border to be taken into account when calculating sizes.
- useMarginInsteadOfTranslate flag. Defaults to false. This can affect performance (better/worse depending on your circumstances), and also creates a workaround for the transform+position:fixed browser bug.
- Update Readme
- Update Readme
- Added ability to use virtual scroll with different sized of elements
- flag "enableUnequalChildrenSizes" was added (defaults to false) to bypass the different-height elements calculations (for users with fixed-height children to avoid the minor performance impact). Breaking Change: The value of ChangeEvent.end wasn't intuitive. This has been corrected. Both ChangeEvent.start and ChangeEvent.end are the 0-based array indexes of the items being rendered in the viewport. (Previously Change.End was the array index + 1)
- revert package.json to Angular 4 instead of Angular 6 since they should be backwards compatible
- update to latest npm versions. fix parentScroll. support horizontal scrollbars. auto-calculate scrollbar size. auto-refresh if items array changes. minor bug fixes
- Merge PR !117 - Run scroll and frame handlers outside of angular zone for performance
- Add smooth scroll for
scrollInto
function.
- Fixes #94
- Added ability to get viewPortItems as a field instead of event
- Added easier ability of using window scrollbar
- Added ability to put other elements inside of scroll (Need to wrap list itself in @ContentChild('container'))
- Added ability to use any parent with scrollbar instead of this element (@input() parentScroll)
- import rxjs operators and object needed instead of RxJS library itself
- improve performance by using Observables for scroll event
- add attribute selector
- fixes #39 - infinite event loop with empty items array
- Bug fix: the data to "jump" once scrolled to the bottom, because maxStart is assumed to be evenly divisible by the number of items in each row. #32
- Bug fix: ensure that onScrollListener is actually defined before removing #25
- Feature: Add event "start", to be fired when at the beginning of the list
- Feature: Add event "end", to be fired when at the end of the list
- Bug Fix: BUG infinite request on (change) - use "end" instead of "change" #20
- Feature: Fire change event after startup #21
- Bug Fix: Update to lower amount of Elements, scroll issue, empty space on bottom #22
- Feature: enable AoT #16
- Updating documentation
- Merging pull request: Completely define ngOnChanges function signature #2
- BREAKING CHANGE: Removed
marginX
andmarginY
. These are auto calculated now. - Added support for list items with variable width and height. Use
childWidth
andchildHeight
- Performance turning: removed padding using
height
. Now usestransform
.
- Bug fix: virtual-scroller.js:73 Uncaught ReferenceError: __decorate is not defined #1
- Initial version