This commit is contained in:
2025-03-09 14:35:13 +02:00
parent 296a56de12
commit 2a9d33290c
2 changed files with 12 additions and 12 deletions

View File

@@ -17,8 +17,8 @@ import '../helpers/helpers.exports.dart';
class AstromicFuturePresenter<T> extends StatefulWidget { class AstromicFuturePresenter<T> extends StatefulWidget {
//SECTION - Widget Arguments //SECTION - Widget Arguments
final AstromicPresenterController futureController; final AstromicPresenterController controller;
final String futureId; final String id;
// //
final Map<AstromicPresenterState, Widget Function(PresenterReturnModel<T?>? r)> stateBuilder; final Map<AstromicPresenterState, Widget Function(PresenterReturnModel<T?>? r)> stateBuilder;
final AstromicPresenterConfiguration? configuration; final AstromicPresenterConfiguration? configuration;
@@ -26,8 +26,8 @@ class AstromicFuturePresenter<T> extends StatefulWidget {
const AstromicFuturePresenter({ const AstromicFuturePresenter({
super.key, super.key,
required this.futureController, required this.controller,
required this.futureId, required this.id,
required this.stateBuilder, required this.stateBuilder,
this.configuration, this.configuration,
}); });
@@ -60,7 +60,7 @@ class _AstromicFuturePresenterState<T> extends State<AstromicFuturePresenter<T>>
//s1 --State //s1 --State
// //
//s1 --Controllers & Listeners //s1 --Controllers & Listeners
widget.futureController.getRefreshStream(widget.futureId).listen((_) { widget.controller.getRefreshStream(widget.id).listen((_) {
_refreshFuture(); // Force future recreation on refresh _refreshFuture(); // Force future recreation on refresh
}); });
//s1 --Controllers & Listeners //s1 --Controllers & Listeners
@@ -75,7 +75,7 @@ class _AstromicFuturePresenterState<T> extends State<AstromicFuturePresenter<T>>
void didUpdateWidget(covariant AstromicFuturePresenter<T> oldWidget) { void didUpdateWidget(covariant AstromicFuturePresenter<T> oldWidget) {
super.didUpdateWidget(oldWidget); super.didUpdateWidget(oldWidget);
// //
if (oldWidget.futureId != widget.futureId) { if (oldWidget.id != widget.id) {
_initializeFuture(); _initializeFuture();
} }
// //
@@ -128,7 +128,7 @@ class _AstromicFuturePresenterState<T> extends State<AstromicFuturePresenter<T>>
//S1 -- Method to reinitialize or update `_future` with a new instance //S1 -- Method to reinitialize or update `_future` with a new instance
void _initializeFuture() { void _initializeFuture() {
_future = widget.futureController.getFuture<T?>(widget.futureId)?.then((result) => result); _future = widget.controller.getFuture<T?>(widget.id)?.then((result) => result);
} }
//!SECTION //!SECTION
@@ -173,7 +173,7 @@ class _AstromicFuturePresenterState<T> extends State<AstromicFuturePresenter<T>>
void dispose() async { void dispose() async {
super.dispose(); super.dispose();
//SECTION - Disposable variables //SECTION - Disposable variables
await widget.futureController.disposeFuture(widget.futureId); await widget.controller.disposeFuture(widget.id);
//!SECTION //!SECTION
} }
} }

View File

@@ -18,7 +18,7 @@ import './presenter_controller.widget.dart';
class AstromicStreamPresenter<T> extends StatefulWidget { class AstromicStreamPresenter<T> extends StatefulWidget {
//SECTION - Widget Arguments //SECTION - Widget Arguments
final AstromicPresenterController controller; final AstromicPresenterController controller;
final String streamId; final String id;
// //
final Map<AstromicPresenterState, Widget Function(PresenterReturnModel<T?>? r)> stateBuilder; final Map<AstromicPresenterState, Widget Function(PresenterReturnModel<T?>? r)> stateBuilder;
final AstromicPresenterConfiguration? configuration; final AstromicPresenterConfiguration? configuration;
@@ -27,7 +27,7 @@ class AstromicStreamPresenter<T> extends StatefulWidget {
const AstromicStreamPresenter({ const AstromicStreamPresenter({
super.key, super.key,
required this.controller, required this.controller,
required this.streamId, required this.id,
required this.stateBuilder, required this.stateBuilder,
this.configuration, this.configuration,
}); });
@@ -78,7 +78,7 @@ class _AstromicStreamPresenterState<T> extends State<AstromicStreamPresenter<T>>
void didUpdateWidget(covariant AstromicStreamPresenter<T> oldWidget) { void didUpdateWidget(covariant AstromicStreamPresenter<T> oldWidget) {
super.didUpdateWidget(oldWidget); super.didUpdateWidget(oldWidget);
// //
if (oldWidget.streamId != widget.streamId) { if (oldWidget.id != widget.id) {
_initializeStream(); _initializeStream();
} }
// //
@@ -122,7 +122,7 @@ class _AstromicStreamPresenterState<T> extends State<AstromicStreamPresenter<T>>
//S1 -- Method to reinitialize or update `_future` with a new instance //S1 -- Method to reinitialize or update `_future` with a new instance
void _initializeStream() { void _initializeStream() {
_stream = widget.controller.getStream<T?>(widget.streamId)?.asyncMap((dynamic result) => result) as Stream<T?>?; _stream = widget.controller.getStream<T?>(widget.id)?.asyncMap((dynamic result) => result) as Stream<T?>?;
} }
//!SECTION //!SECTION