Skip to content

Support concurrent elements registration by default#565

Merged
jalal246 merged 10 commits intomainfrom
dev/wip_7_14
Jul 16, 2022
Merged

Support concurrent elements registration by default#565
jalal246 merged 10 commits intomainfrom
dev/wip_7_14

Conversation

@jalal246
Copy link
Member

No description provided.

@github-actions github-actions bot added the Store label Jul 14, 2022
@jalal246 jalal246 changed the title init Enhancing scroll threshold Jul 15, 2022
@jalal246 jalal246 changed the title Enhancing scroll threshold Support concurrent node registration by default Jul 16, 2022
@jalal246 jalal246 changed the title Support concurrent node registration by default Support concurrent elements registration by default Jul 16, 2022
@jalal246 jalal246 merged commit 9a87049 into main Jul 16, 2022
@jalal246 jalal246 deleted the dev/wip_7_14 branch July 16, 2022 19:06
jalal246 added a commit that referenced this pull request Jul 30, 2022
* 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 ahead before taking any 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant