Releases: veeso/tui-realm
Releases · veeso/tui-realm
tui-realm 1.2.0
1.2.0
Released on 25/11/2021
Yet, another update 🙄
- Application API:
- Added
lock_subs()
andunlock_subs()
methods.- Once
lock_subs()
is called, events won't be anymore propagated to subscriptions as long asunlock_subs()
is not called. - by default events will be propagated to subs.
- Once
- Added
- Sub Clause:
- Added
Id
toHasAttr
andHasState
sub clauses. - Added new
IsMounted(Id)
sub clause
- Added
tui-realm 1.1.2
1.1.2
Released on 23/11/2021
❗ There's no 1.1.1 version. Since I don't like it as a version number, I decided to skip it
- Application API changes:
- Removed
sanitize
sinceView
is no more accessible - Added
umount_all
method which umounts all components fromView
and active subscriptions
- Removed
tui-realm 1.1.0
1.1.0
Released on 21/11/2021
tick()
will now return aVec<Msg>
. There's no need to pass anUpdate
trait anymore- The reasons behind this is that it was too annoying to handle the model in a separate structure which could not render the Ui.
- Exposed
PollStrategy
at root level
tui-realm 1.0.1
1.0.1
Released on 20/11/2021
- Improved performance for crossterm listener
tui-realm 1.0.0
1.0.0
Released on 13/11/2021
- New API; view docs
tui-realm 0.6.0
0.6.0
Released on 03/08/2021
Yet another update...
- ❗ Compatibility with tui
0.16
and crossterm0.20
❗-
You can now set the block title alignment
- Added
title
toProps
BlockTitle
type inProps
, which is made up oftext
andalignment
. Use this instead of setting title inown
map
- Added
-
🔴 A really bad new in
Msg
matching 😭in crossterm
0.20
to solve an issue they removed the#[derive(Eq, PartialEq)]
fromKeyEvent
.
This has now caused an issue when matching againstOnKey
events:error: to use a constant of type `KeyEvent` in a pattern, `KeyEvent` must be annotated with `#[derive(PartialEq, Eq)]`
To solve this issue you must from now on use a guard match to match keys:
fn update(model: &mut Model, view: &mut View, msg: Option<(String, Msg)>) -> Option<(String, Msg)> { let ref_msg: Option<(&str, &Msg)> = msg.as_ref().map(|(s, msg)| (s.as_str(), msg)); match ref_msg { None => None, // Exit after None Some(msg) => match msg { (COMPONENT_COUNTER1, key) if key == &MSG_KEY_TAB => { view.active(COMPONENT_COUNTER2); None } (COMPONENT_COUNTER2, key) if key == &MSG_KEY_TAB => { view.active(COMPONENT_COUNTER1); None } (_, key) if key == &MSG_KEY_ESC => { // Quit on esc model.quit(); None } _ => None, }, } }
-
tui-realm 0.5.1
0.5.1
Released on 31/07/2021
- Bugfix:
- Expose
get_data
fromDataset
- Expose
tui-realm 0.5.0
0.5.0
Released on 31/07/2021
- New PropValue values:
Alignment
Dataset
Shape
Style
Table
TextSpan
- Added
unwrap_{type}()
helpers forPropPayload
andPropValue
- ❗ Breaking changes ❗
- Removed
Color
fromPropValue
, usepalette
instead ❗ - ❗ Removed
TextParts
fromProps
, useown
properties instead ❗ - ❗ Removed
TextSpanBuilder
, you can just use the same methods onTextSpan
when creating it ❗ - ❗ Renamed
Canvas
toFrame
❗ - ❗ Moved standard library to tui-realm-stdlib ❗
- ❗ Removed
with-components
feature ❗
- Removed
tui-realm 0.4.3
0.4.3
Released on 23/06/2021
- Fixed TextArea not scrolling properly
- Added
with_highlight_str
andwith_max_scroll_step
to TextArea
tui-realm 0.4.2
0.4.2
Releasaed on 11/06/2021
- Hotfix for 0.4.1: preserve styles on scroll table;
with_highlight_color
method.