From cb87475c43c4d27bd2914f2405025d4c982ab458 Mon Sep 17 00:00:00 2001 From: "Michael W. Aziz" Date: Sun, 27 Apr 2025 14:28:07 +0300 Subject: [PATCH] [SYNC] --- lib/src/sheet/sheet_helper.astromic.dart | 25 ++++++++----------- .../sheet/src/models/sheet_store.model.dart | 6 +++++ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/lib/src/sheet/sheet_helper.astromic.dart b/lib/src/sheet/sheet_helper.astromic.dart index 0ef5977..d5a1a28 100644 --- a/lib/src/sheet/sheet_helper.astromic.dart +++ b/lib/src/sheet/sheet_helper.astromic.dart @@ -125,18 +125,15 @@ class AstromicSheetHelper { // child: ChangeNotifierProvider( create: (BuildContext c) => store, - child: ListenableBuilder( - listenable: store, - builder: (_, __) => BaseSheetWidget( - sheetType: SheetType.form, - // - sheetConfiguration: sheetConfigs, - sheetStyle: sheetStyle, - // - headSectionFormBuilder: headSectionBuilder == null ? null : (AstromicFormController controller) => headSectionBuilder.call(controller, store), - contentSectionFormBuilder: (AstromicFormController controller) => contentSectionBuilder(controller, store), - footerSectionFormBuilder: footerSectionBuilder == null ? null : (AstromicFormController controller) => footerSectionBuilder.call(controller, store), - ), + child: BaseSheetWidget( + sheetType: SheetType.form, + // + sheetConfiguration: sheetConfigs, + sheetStyle: sheetStyle, + // + headSectionFormBuilder: headSectionBuilder == null ? null : (AstromicFormController controller) => headSectionBuilder.call(controller, store), + contentSectionFormBuilder: (AstromicFormController controller) => contentSectionBuilder(controller, store), + footerSectionFormBuilder: footerSectionBuilder == null ? null : (AstromicFormController controller) => footerSectionBuilder.call(controller, store), ), ), ); @@ -205,13 +202,13 @@ class AstromicSheetHelper { // s2 -- Child builder: (BuildContext context, ScrollController scrollController, ScrollPhysics scrollPhysics, int stop) { return ChangeNotifierProvider( - create: (BuildContext c) => SheetStore(), + create: (BuildContext c) => store, child: BaseSheetWidget( sheetType: SheetType.scroller, sheetConfiguration: sheetConfigs, sheetStyle: sheetStyle, headSectionScrollerBuilder: headSectionBuilder == null ? null : (ScrollController controller) => headSectionBuilder.call(controller, store), - contentSectionScrollBuilder: (ScrollController controller, ScrollPhysics physics) => contentSectionBuilder(controller, physics, store), + contentSectionScrollBuilder: (ScrollController controller, ScrollPhysics physics) => contentSectionBuilder(controller,physics, store), footerSectionScrollerBuilder: footerSectionBuilder == null ? null : (ScrollController controller) => footerSectionBuilder.call(controller, store), scrollController: scrollController, scrollPhysics: scrollPhysics, diff --git a/lib/src/sheet/src/models/sheet_store.model.dart b/lib/src/sheet/src/models/sheet_store.model.dart index e671b76..96fc162 100644 --- a/lib/src/sheet/src/models/sheet_store.model.dart +++ b/lib/src/sheet/src/models/sheet_store.model.dart @@ -14,6 +14,7 @@ class SheetStore extends ChangeNotifier { static final StreamController> _stateStreamController = StreamController>.broadcast(); final Stream> stateStream = _stateStreamController.stream; + /// Adds [item] to store. void add(String itemID, dynamic value) { _items.addEntries(>[MapEntry(itemID, value)]); @@ -45,4 +46,9 @@ class SheetStore extends ChangeNotifier { // This call tells the widgets that are listening to this store to rebuild. notifyListeners(); } + + /// Return a stream builder for real-time value updates. + Widget builder(Widget child) { + return ListenableBuilder(listenable: this, builder: (_,__) => child); + } }