live_cells 0.12.0 live_cells: ^0.12.0 copied to clipboard
A replacement for ChangeNotifier and ValueNotifier that is easier to use and more flexible
0.12.0 #
New features in core:
New features:
-
Record extension methods for creating lightweight computed (and mutable computed) cells:
(a, b).apply((a,b) => a + b); (a, b).mutableApply((a,b) => a + b, (v) {...});
-
changesOnly
option in cell constructors. When this option is set to true, the cell only notifies its observers when its value has actually changed. -
Relaxed restriction that
MutableCellView
only accept a single argument -
Extensions which allow Iterable, List, Map and Set methods and properties to be used directly on cells:
New features in widgets library:
-
Simplified state restoration:
- No need to use
RestorableCellWidget
- Add
restorationId
directly onCellWidget
/StaticWidget
. - Added
.restore()
method for cell state restoration inStaticWidget
- No need to use
-
New Widgets:
CellRow
CellColumn
0.11.2 #
Bump live_cell_widgets
dependency version to 0.1.1:
- Fix bug in StaticWidget.builder.
0.11.1 #
Move documentation to: https://alex-gutev.github.io/live_cells/docs/intro
0.11.0 #
This release divides the functionality of this package among component packages:
Additionally the full documentation is now available at: https://docs.page/alex-gutev/live_cells.
New Features:
- Wrapper classes for more widgets
.peek
property for accessing the value of a cell without triggering a recomputation
Breaking Changes:
- Minimum SDK version increased to 3.0.0
- All properties of the widgets provided by
live_cell_widgets
are now cells
0.10.3 #
- Change
live_cell_annotations
version to0.2.0
.
0.10.2 #
- Fix bug: Handle exceptions thrown during computation of the initial values of cells.
0.10.1 #
- Move annotations into separate package: https://pub.dev/packages/live_cell_annotations.
0.10.0 #
New features:
- Keyed cells, cells with the same key reference a shared state.
- Lightweight mutable computed cells.
CellExtension
annotation for automatically generatingValueCell
accessors for classes, using thelive_cell_extension
package (which will be released soon).
This release also comes with major changes to the implementation. These changes are only breaking to
code which creates user-defined ValueCell
subclasses:
- Removed the following internal implementation classes and mixins from the public API:
EqCell
NeqCell
NotifierCell
CellEquality
CellListeners
ObserverCell
0.9.1 #
- Fixed bug with accessing previous cell values
0.9.0 #
New features:
- Constant
bool
,null
,Enum
andDuration
cells can now be created with thecell
property, e.g.true.cell
. - Utilities for working with cells holding a
Duration
. CellObserverModel
for creating classes which observe one or more cells- Add
selection
cell parameter toCellTextField
constructor for observing and controlling the field's selection.
0.8.1 #
- Correct typos and errors in readme examples
0.8.0 #
New features:
- Ability to access the previous values of cells with
.previous
- Ability to abort a cell value update with
ValueCell.none()
and
,or
,not
andselect
methods on bool cells- Exception handling using
onError
anderror
- Clarified how exceptions are propagated between cells
0.7.0 #
New features:
ValueCell.watch
andCellInitializer.watch
for calling a function whenever the values of cells change.- State restoration of cells with
RestorableCellWidget
0.6.1 #
- Fix potential issues
- Fix typos and improve README
0.6.0 #
New features:
Maybe
type andMaybeCell
for error handlingerrorValue
argument ofmutableString
method to control value in case of errors during parsing- Remove restriction that arguments of mutable computed cells be mutable cells
Breaking changes:
- Add
shouldNotifyAlways
property toCellObserver
interface
Improvements and bug fixes:
- Simplify implementation of
CellInitializer.cell
- Allow updated cell value to be accessed even when the cell has no observers
- Fix bug in
BuildContext.cell
method - Fix bug in
CellTextField
0.5.2 #
- Fix potential issues
0.5.1 #
- Fix typos and bugs in examples in README
0.5.0 #
New features:
ValueCell.computed
constructor for creating computed cells with dynamic dependenciesMutableCell.computed
constructor for creating mutable computed cells with dynamic dependenciesCellWidget
can now also track the cells it depends on at runtimemutableString
extension method onMutableCell
's holding anint
,double
,num
orstring
Breaking changes:
CellWidget.cell
method has been moved toCellListeners
mixinCellWidgetBuilder
has been removed in favour ofCellWidget.builder
constructor
Improvements:
- Simplified examples demonstrating core concepts only
- Simplified and streamlined API
- Improved README
- Bug fixes
0.4.1 #
- Bug fixes
0.4.0 #
- Simplify implementation of
CellWidget
. Subclasses now overridebuild
instead ofbuildChild
.
0.3.1 #
- Bug fixes
0.3.0 #
New features:
- Mutable computational cells
- Batch updates
CellWidget
base class for creating widgets make use of cellsCellWidgetBuilder
for creatingCellWidget
's without subclassing- New widgets in widgets library:
CellCheckbox
CellCheckboxListTile
CellRadio
CellRadioListTile
CellSlider
CellSwitch
CellSwitchListTile
- Shorthand
List.computeWidget
method for creating widgets which depend on multiple cells
Breaking changes:
MutableCell
is now an interface with a factory constructorCellObserver
interface methods now take observed cell as arguments- Removed
CellBuilder
0.2.3 #
- Fix issue with
CellTextField
0.2.2 #
- Fix issue with List.computeCell method
- Fix issues with unit tests
0.2.1 #
- Fix issues with examples in README
0.2.0 #
New features:
- Stronger guarantees that a
StoreCell
will not hold an outdated value - Shorthand
.cell
property for creating constant value cells - Shorthand
List.computeCell
method for creating multi-argument computational cells - Arithmetic and comparison operator overloads to create computational cells directly using expressions such as
a + b
Breaking changes:
ValueCell
is no longer aValueListenable
ValueCell.addListener
andValueCell.removeListener
are replaced withaddObserver
andremoveObserver
- New
CellObserver
interface for observing changes to the values of cells ValueCell.listenable
property provided to useValueCell
as aValueListenable
0.1.2 #
- Fix dart doc issues
0.1.1 #
- Fix package directory structure
0.1.0 #
- Initial release.