live_cells 0.16.0 live_cells: ^0.16.0 copied to clipboard
A replacement for ChangeNotifier and ValueNotifier that is easier to use and more flexible
0.16.0 #
New features from core:
-
and()
,or()
andnot()
now return keyed cells. -
The following methods for waiting for changes in cell values:
.nextChange()
.untilValue()
.untilTrue()
.untilFalse()
-
ActionCell
A cell without a value, used solely to represent actions and events.
New widgets:
- AbsorbPointer
- AnimatedCrossFade
- AnimatedFractionallySizedBox
- AnimatedPositionedDirectional
- AnimatedRotation
- AnimatedScale
- AnimatedSlide
- AnimatedSwitcher
- AnnotatedRegion
Other changes:
- Removed deprecated
computeCell
andcomputeWidget
extension methods onList
- Removed deprecated
RestorableCellWidget
0.15.1 #
- Fix issue with
.isCompleted
having incorrect value whenFuture
completes with an error.
0.15.0 #
New features from core:
-
.awaited
property on cells holding aFuture
.Returns a cell which evaluates to the value of the
Future
when completed, throws anUninitializedCellError
when it is pending. -
.isCompleted
property on cells holding aFuture
.Returns a cell which evaluates to
true
when theFuture
is complete,false
while it is pending. -
.initialValue(...)
which returns a cell with takes on the value of the given cell until it is initialized.
0.14.2 #
- Fix async examples in README.
0.14.1 #
Minor additions from core:
.waitLast
property which is the same as.wait
but if a new Future is received before the previous one has completed, the previous future is dropped.
0.14.0 #
New features for asynchronous cells:
.wait
property for creating a cell thatawait
s aFuture
held in another cell..delayed
for creating a cell that takes the value of another cell but only notifies its observers after a given delay.
Breaking changes:
- Removed
DelayCell
.
0.13.0 #
-
.cell
extension property is now available on all types -
Additions to
Iterable
cell extension:cast<E>()
methodmap()
method
-
Additions to
List
cell extension:cast<E>()
methodmapCells()
method
-
Improvements to
CellWidget
:- Unused dependencies are untracked.
- Widget properties can now be bound to different cells between builds.
0.12.1 #
- Increase live_cells_core dependency version to 0.12.3
- Increase live_cell_widgets dependency version to 0.2.2
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.