- ObserveModel
- Add
displayingChildModelMap
.
- Add
- ChatScrollObserver
- Add
customAdjustPositionDelta
.
- Add
- ObserverWidget
- Make
ObserverWidget
listenable.
- Make
- ObserverWidget
- Add
scrollNotificationPredicate
.
- Add
- ObserverWidget
- Fix web support by @Ahmadre in #91.
- ObserverCore
- Improve the logic of
handleListObserve
andhandleGridObserve
.
- Improve the logic of
- ObserverController
- Add
onPrepareScrollToIndex
forjumpTo
andanimateTo
.
- Add
- NestedScrollUtil
- Add
jumpTo
andanimateTo
methods.
- Add
- ObserverController
- Add
observeIntervalForScrolling
to set the minimum amount of time to wait for firing observe callback during scrolling.
- Add
- ObserverUtils
- Improve the logic of
isDisplayingSliverInViewport
method.
- Improve the logic of
- ScrollViewOnceObserveNotificationResult
- Add
observeViewportResultModel
.
- Add
- ChatScrollObserver
- Add
ChatScrollObserverRefIndexType
. - Add
refIndexType
to specify the role ofrefItemIndex
andrefItemIndex
.
- Add
- Slivers
- Add
SliverObserveContext
.
- Add
- ObserveDisplayingChildModelMixin
- Add
visibleFraction
andvisibleMainAxisSize
.
- Add
- ListViewObserver
- Support
SliverVariedExtentList
in 74.
- Support
- ChatScrollObserver
- Safely obtain the
constraints
of RenderSliver.
- Safely obtain the
- ObserverController
- Adapt to scenes where
CustomScrollView
specifiescenter
.
- Adapt to scenes where
- SliverViewObserver
- Add
customOverlap
property.
- Add
- NestedScrollUtil
- To better support
NestedScrollView
.
- To better support
- ObserverCore
- Improve the judgment logic of whether the sliver is visible.
- ObserverController
- Adjust the controller to be modifiable.
- ChatScrollObserver
- Fix keeping position not working by @LinXunFeng in #64
- Add a check to determine whether the BuildContext is mounted by @LinXunFeng in #62
- ObserverController
- Add some scrolling task notifications extending from
ObserverScrollNotification
. - The
jumpTo
method andanimateTo
method supportawait
. - Add
isForbidObserveCallback
property. - Add
isForbidObserveViewportCallback
property.
- Add some scrolling task notifications extending from
- ObserverController
- The parameter
isFixedHeight
in thejumpTo
method andanimateTo
method supports GridView and supports ScrollView built by third-party package by @percival888 in #52.
- The parameter
- ObserverWidget
- Improve the processing logic of scroll notification when scrolling with the mouse wheel is not smooth by @qiangjindong in #48.
- ChatScrollObserver
- Update
isShrinkWrap
once during initialization by @LinXunFeng. #47
- Update
- ObserverController
- Fix unable to jump when sliver is too far away and has no any child by @LinXunFeng. #45
- Fix continuous page turning due to incorrect index by @LinXunFeng.
- Supplement missing type conversion adjustments.
- Observation Model
- Add viewport property to observation model.
- Correct the calculation logic of some values to adapt to the scene of multiple slivers.
- ObserverWidget
- Adjust the conversion type of
viewport.offset
toScrollPosition
by @LiuDongCai in #41.
- Adjust the conversion type of
- ObserveDisplayingChildModelMixin
- Adapt
displayPercentage
to scenes with SliverPersistentHeader by @percival888 in #43. - Refine the logic of
calculateDisplayPercentage
method by @LinXunFeng.
- Adapt
- Compatible with flutter 3.13.0
- ObserverController
dispatchOnceObserve
method supports directly getting observation result.
- Slivers
- Add
SliverObserveContextToBoxAdapter
.
- Add
- ObserverWidget
- Safe to use context. #35.
- ChatScrollObserver
- Improve the logic of the conversion type.
- ChatScrollObserver
- Support for keeping position of generative messages (eg: ChatGPT)
- ObserverWidget
- Fix getting bad observation result on web. Thanks to @rmasarovic for the test in #31
- ObserverCore
- Fix no getting all child widgets those are displayed when there are separators in
ListView
. #31
- Fix no getting all child widgets those are displayed when there are separators in
- ObserverUtils
- Safely call
findRenderObject
method.
- Safely call
- ObserverUtils
- The
calcAnchorTabIndex
method supports GridView.
- The
- ObserverCore
- Refine the logic of
handleListObserve
method andhandleGridObserve
method.
- Refine the logic of
- ObserverWidget
- Support custom observation object and observation logic.
- Refine the logic for finding the first sliver in viewport.
- ChatScrollObserver
- Support inserting multiple messages at once.
- ObserverWidget
GridViewObserver
is compatible with waterfall flow.SliverViewObserver
supports observation of viewport.
- ObserverController
- fix: targetOffset calculate may be negative by @zeqinjie in #21.
- ObserverController
- Improve
[_calculateTargetLayoutOffset]
logic. - The
jumpTo
method andanimateTo
method both add a parameter[padding]
.
- Improve
- ObserverIndexPositionModel
- Add property
[padding]
.
- Add property
- ObserverWidget
- Catch the exception thrown by getting size.
- ObserverController
- Modify offset calculation logic in method
[_calculateTargetLayoutOffset]
.
- Modify offset calculation logic in method
- ObserverWidget
- Add property
[autoTriggerObserveTypes]
and property[triggerOnObserveType]
.
- Add property
- ObserverController
- Method
[dispatchOnceObserve]
adds parameter[isForce]
.
- Method
- Scrolling to the specified index location
- Supports initializing the index position of the scrollView.
- Deprecated
[clearIndexOffsetCache]
, please use[clearScrollIndexCache]
instead.
- ChatScrollObserver
- Add the property
[fixedPositionOffset]
. - Deprecated
[ChatObserverClampinScrollPhysics]
, please use[ChatObserverClampingScrollPhysics]
instead.
- Add the property
- Fix lib not working when
itemExtent
is set inListView
.
- Fix lib not working when
shrinkWrap
istrue
in scrollView.
- ChatScrollObserver
- Add
onHandlePositionCallback
.
- Add
- Fix scrollView being stuck when child widget get
[size]
.
- ChatScrollObserver
- Quickly implement the chat session page effect.
- Scrolling to the specified index location
- Add the property
[cacheJumpIndexOffset]
.
- Add the property
- Scrolling to the specified index location
- New
alignment
parameter in thejumpTo
andanimateTo
methods. - Fixed a bug that caused scrolling to the first child to jitter when using
offset
parameter.
- New
- Scrolling to the specified index location supports the
SliverPersistentHeader
. - Add
ObserverUtils
- Method
calcPersistentHeaderExtent
: Calculate current extent ofRenderSliverPersistentHeader
. - Method
calcAnchorTabIndex
: Calculate the anchor tab index.
- Method
- The
jumpTo
andanimateTo
methods add anisFixedHeight
parameter to optimize performance when the child widget is of fixed height - Add the properties
[leadingMarginToViewport]
and[trailingMarginToViewport]
- Support mixing usage of
SliverList
andSliverGrid
- Supports scrolling to the specified index location
- Delete useless code
- Implements a way to use without sliver [BuildContext]
- Change [onObserve] to [onObserveAll], and add a new [onObserve] callback to listen for changes in the child widget display of the first sliver
- Add [ObserverController]
- Support
GridView
- Support the horizontal
- Initial release