state_extended 4.2.0 copy "state_extended: ^4.2.0" to clipboard
state_extended: ^4.2.0 copied to clipboard

The State Class is extended with State object controllers and lifecycle events.

4.2.0 #

August 04, 2023

  • Introduced onError(details) {} to the StateX class
  • _key = ValueKey
  • List
  • Introduce more documentation

4.1.1 #

August 01, 2023

  • Unlike StateX, AppStateX uses both its InheritedWidget and its buildIn() function but InheritedWidget can be called separately allowing for only dependencies rebuilds
  • Updated test scripts

4.1.0 #

July 31, 2023

  • For the AppStateX, included the option to use the built-in InheritedWidget or not AppStateX({StateXController? controller, List

4.0.0+2 #

July 30, 2023

  • StateX now has a built-in InheritedWidget
  • named parameters now in the its constructor: StateX({StateXController? controller, bool? useInherited}) {
  • Defaults to not using the built-in InheritedWidget be a subclass uses it: abstract class StateIn
  • @protected appropriate methods

3.5.0+1 #

June 12, 2023

  • New System event: WidgetsBindingObserver.didRequestAppExit()

3.4.0 #

May 27, 2023

  • Rename StateSetter to SetStateMixin. Conflicted with latest Flutter

3.3.0+1 #

May 19, 2023

  • Record any errors in initAsync()
  • Adjusted code for Dart's future multi-window support

3.2.2+3 #

May 14, 2023

  • StateX's FutureBuilder will only run once. _ranAsync changed the widget tree and so replaced with _future = runAsync();

3.2.1 #

May 08, 2023

  • StateX's FutureBuilder should only run once. _ranAsync ? buildF(context) : FutureBuilder

3.2.0+1 #

May 07, 2023

  • Removed the StateListeners mixin

3.1.0 #

May 07, 2023

  • Introduced runAsync() in FutureBuilderStateMixin to allow initAsync() to run repeatedly.

3.0.0 #

May 01, 2023

  • AppStateX can take in multiple instances of the same Controller class
  • AppStateX has controllerById() to retrieve such instances.
  • StateX can only take in single instances of a Controller class.
  • StateX has controllerByType() to retrieve by class type.
  • AppStateX controllers are available to all StateX objects in the app.
  • _initAsync() in FutureBuilderStateMixin was incorrect!

2.8.0+1 #

March 26, 2023

  • mixin StateListener implements RouteAware
  • void didChangeLocales(List
  • Include tests for the class RouteAware

2.7.1 #

March 15, 2023

  • didChangeAccessibilityFeatures corrected to include _setStateAllowed
  • Add further testing of the source code

2.7.0+3 #

March 15, 2023

  • Removed bool get inFlutterTester so to be Web compatible
  • Introduce void didChangeLocales(List
  • Continued to increase the testing coverage over the source code

2.6.0 #

March 11, 2023

  • bool get isEndState now used to determine if the 'latest' State object.
  • Only the 'latest' State object is rebuilt with setState() after a system event.

2.5.4+1 #

March 09, 2023

  • didChangeLocale(Locale? locales) to didChangeLocales(List
  • Introduced system event indicator: bool get hadSystemEvent
  • _rebuildRequested removed
  • Adjusting further testing

2.5.3+4 #

March 08, 2023

  • Bugfix. setState() no longer called in System events.
  • Kept updateNewStateX() as it may be useful in special circumstances.
  • Added further testing

2.5.2 #

March 06, 2023

  • System events from WidgetsBinding.instance.addObserver(this); destroys current State object!
  • Introduced updateNewStateX() to compensate for destroyed current State object.
  • Corrected FutureBuilderStateMixin with _initAsync()
  • i.e. Run the StateX object's initAsync() until it returns true

2.5.1+7 #

March 04, 2023

  • StateX.notifyClients() was corrected.
  • Replace buildChild() function with buildIn() function
  • Updated example app in README.md
  • testEventHandling(tester); in testing
  • Added further testing

2.5.0+2 #

February 27, 2023

  • RecordExceptionMixin stores the last error
  • onAsyncError() no longer returns boolean
  • Removed getter, Map<String, StateXController> get map
  • bool forEach(void Function(StateXController con) func, {bool? reversed}) {
  • bool forEachState(void Function(StateX state) func, {bool? reversed}) {
  • startState and endState introduced to the StateX class
  • WidgetsBinding.instance in activate() & deactivate()
  • Incrementally adding tests for a higher percentage in Codecov

2.4.0 #

February 21, 2023

  • Replace buildWidget() function with buildF() function

2.3.0 #

February 17, 2023

  • onError(FlutterErrorDetails details) removed from the StateX class It was been proven ineffective and instead degraded performance.
  • Corrected the 'Hello!' Example App

2.2.0+1 #

February 15, 2023

  • Updated example app
  • Deprecated refreshLastState() for rebuildLastState()

2.1.1 #

February 04, 2023

  • Corrected getter rootState => RootState._rootStateX;
  • refreshLastState() function now in AppStateX

2.1.0 #

January 23, 2023

  • class _AppInheritedElement allows for better debugging

2.0.0 #

January 18, 2023

  • BREAKING CHANGE Renamed remove() to bool removeByKey(String keyId) {
  • included void didUpdateWidget(Page1 oldWidget) { in example app
  • New function: String remove(StateXController? controller) {

1.1.0+01 #

September 16, 2022

  • buildInherited() and refresh() are deprecated.
  • Corrected the widget_test.dart. notifyClients() to setState()

1.0.0 #

September 10, 2022

  • Production release

0.8.0+02 #

August 18, 2022

  • Removed inappropriate class Swx
  • StateSetter from class to mixin
  • Updated and corrected README.md

0.7.0 #

August 16, 2022

  • New example app: counter_app.dart
  • New: class Swx extends StatefulWidget {

0.6.0 #

July 24, 2022

  • Removed getter inheritedStatefulWidget
  • Call initInheritedState() in buildWidget()
  • Merged mixin InheritedStateMixin with InheritedStateX

0.5.0 #

July 22, 2022

  • Renamed text from 'mvc_pattern.dart' to 'state_extended.dart'
  • Removed void refresh() => setState(() {});
  • Enhanced example apps with demonstration code.

0.4.0+02 #

July 15, 2022

  • Removed the refresh() function
  • Removed the class, StateXModel
  • call _states.clear() in AppStateX
  • Updated README.md
  • Updated test scripts

0.3.0 #

July 11, 2022

  • Changed keyId to identifier in mixin StateListener

0.2.0 #

July 10, 2022

  • Removed abstract class AppStatefulWidget
  • abstract class AppStateX
  • if (!notify) { /// if the 'object' value has changed. notify = dataObject != oldWidget.dataObject; }

0.1.0 #

July 07, 2022

  • Initial commit
10
likes
0
pub points
75%
popularity

Publisher

verified publisherandrioussolutions.com

The State Class is extended with State object controllers and lifecycle events.

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, universal_platform

More

Packages that depend on state_extended