v3.6.2 (August 1, 2022)
Use viewport threshold percentage to control elements visibility (#566)
-
Remove all separate class interfaces in the utility classes. Use class as a type instead.
-
Enhance registration. All essential data will be assigned and registered even with DFlex being framework agnostic. Register functions still have the capability to create a DFlex-Node instance, along with its container, and scroll. This decreases the scripting time for the first interactive dragging without blocking the initial mount during registration #565.
-
Use different types for threshold. Previously all thresholds used were external thresholds. I added a new type
internal
to apply the threshold percentage correctly for the scroll. An internal threshold is a threshold that checks the dragged inside the given area and is always smaller than the working area. -
Use essential geometry for
Point<number>
,Point<boolean>
for scroll. -
Add more indicators to enhance scrolling. DFlex can identify thresholds, calculate invisible areas,s and based on this information do scroll animation.
-
Bind scrolling data with scroll listeners. So when scrolling
DFlexScrollContainer
can do all the related calculations without reading from DOM. -
Synchronously update element visibility when scrolling. Avoid any gap that may appear during the scroll. Also, still, the visible area is the scrolling area. Elements' position won't be updated if it's not visible. But the current approach updates visibility and then scrolls so visibility is calculated before taking action.
-
Thresholds are now direction-dependent. If drag is in the bottom but going up then the threshold is false.
-
Differentiate the mechanism from the container.