[unreleased]
UpdateEl
for Filter
and FilterMap
.El::is_custom(&self)
.update
and trigger_update_ev
.value
and checked
setting for input elements (a bug in VirtualDOM patch algorithm).EventHandler
instead of Listener
. (Listener
is now used as the internal DOM EventListener representation.)raw_ev
is deprecated in favor of ev
. Functionality is the same.ElRef
and examples (canvas
, user_media
or todomvc
) (#115).Ms: Clone
restriction as much as possible.Custom
variant from Custom(String)
to Custom(Cow<'static, str>)
in Ev
, Tag
, At
and St
. Use function from
to create custom entities (e.g. At::from("my-attribute")
) (#208).nodes!
. It accepts Node<Msg>
and Vec<Node<Msg
, returns flattened Vec<Node<Msg>
.todomvc
.counter
example to counter_advanced
.drop
example to drop_zone
.server_interaction_detailed
example.counter
example.README.md
.#![forbid(unsafe_code)]
so the Seed will be marked as a safe library by the Rust community tools.clone
restriction from the method Effect::map_msg
.UpdateEl
for FlatMap
.MessageMapper::map_message
changed to MessageMapper::map_msg
.fetch
and storage
moved to seed::browser::service::{fetch, storage}
, but reimported at the lib level. Ie: seed::fetch
, and seed::storage
.Vec<Attr>
and Vec<Style>
in view macros.App
included in prelude
.async/.await
. fetch.rs
docs updated.Attrs
, Style
, Listener
. ie, can import with seed::Style
etc.seed::canvas()
, and seed::canvas_context()
helper functions.Url
parsing (resolves issue with hash routing).From<String> for Url
changed to TryFrom<String> for Url
.orders.after_next_render(Option<RenderTimestampDelta>)
(#207).Init
struct, replacing it with BeforeMount
and AfterMount
structs to better denote state before and after mounting the App
occurs.builder
which replaces build
as part of deprecating Init
.build_and_start
which replaces finish
as part of deprecating Init
.IntoInit
and IntoAfterMount
traits. It is possible to use these in place of a closure or function to produce the corresponding Init
and AfterMount
structs.IntoAfterMount
will now be run after the routing message.app_builder
.events::Listener
is included in prelude
.()
s have been replaced with structs - e.g. GMs = ()
=> GMs = UndefinedGMs
.WindowEvents
alias changed to WindowEventsFn
for consistency with other *Fn
.Init
struct, which can help with initial routing (Breaking)routes
function now returns an Option<Msg>
(Breaking)Tag::from()
to accept more input typesstyle!
now accepts also Option<impl ToString>
hashchange
listenermain_el_vdom
is initialized first (internal)custom!
checks if you set tag, and panics when you forgetSvg
elementsseed::html_document()
and seed::cookies
convenience functionsAt
variantsSt
enum, for style keys; similar to At
add_child
, add_attr
, add_class
, add_style
, replace_text
, and add_text
, Node
methodsElContainer
, imported in prelude, renamed to View
. (Breaking)El
: Now wrapped in Node
, along with Empty
and Text
. Creation macros return Node(Element)
. (Breaking)disabled
, autofocus
, and checked
are handled (Breaking)MessageMapper
now accepts closuresOrders
is a trait now instead of a struct. (Breaking)clone_app
and msg_mapper
which can allow access to app instance.routes
now accepts Url
instead of &Url
(Breaking)raw!
, md!
, and plain!
macros that alias El::from_html
, El::from_markdown
, and El::new_text
respectivelyAttrs!
and Style!
macros can now use commas and whitespace as separators, in addition to semicolonsclass!
macro, similar to Elm
's classList
Listener
now implements MessageMapper
El methods
add_child
, add_style
, add_attr
, and set_text
now return the elements, allowing chainingset_text
. Renamed to replace_text
. Added add_text
, which adds a text node, but doesn't remove existing ones. Added add_class
. (Breaking)request​Animation​Frame
, which improves render performance, especially for animationspx
. Added unit!
macro in its placeMap
can now be used directly in elements, without needing to annotate type and collect (ie for child Elements
, and Listener
s)clone_app
and msg_mapper
that allow access to app instance.empty
elements at the top-level were rendering in the wrong orderempty!
macro, which is similar to seed::empty
Vec<El>
weren't rendering properlyviewBox
attributeupdate
fn now accepts a (new) Orders
struct, and returns nothing. Renders occur implicitly, with the option to skip rendering, update with an additional message, or perform an asynchronous action. (Breaking).mount()
now accepts elements. Deprecated .mount_el()
log
function and macro now support items which implement Debug
routing::push_path
function (breaking)seed::update
function, which allows custom events, and updates from JSVec<El<Ms>>
, El<Ms>
, or something else implementing the new ElContainer traitVec<El<Ms>>
instead of El<Ms>
, mounted directly to the mount point. (Breaking)push_route()
can now accept a Vec<&str>
, depreciating push_path()
update
function now takes a mutable ref of the model. (Breaking)Update
(update's return type) is now a struct. (Breaking)App
through the view func. (Breaking)Href
attribute with value as a relative linkClone
select
elementsRenderThen
option to Update
, which allows chaining update messages.model
method to Update
, allowing for cleaner recursion in updatesEl::from_html
and El::from_markdown
to return Vec
s of El
s, instead of wrapping them in a single span.set_timeout
wrapperline!
macro interfered with builtin?
)At
and Ev
enumsclass!
and id!
convenience macros for setting style