Daniel Olano
b51abd1a9c
Add datetime attribute to time element ( #590 )
2022-10-14 10:16:52 -05:00
Demonthos
047ed1e553
Subtree memorization / reactive templates ( #488 )
...
This commit adds subtree memoization to Dioxus.
Subtree memoization is basically a compile-time step that drastically
reduces the amount of work the diffing engine needs to do at runtime by
extracting non-changing nodes out into a static "template." Templates
are then understood by the various renderers in the ecosystem as a
faster way of rendering the same items.
For example, in the web, templates are simply a set of DOM Nodes created
once and then cloned later. This is the same pattern frameworks like Lithtml
and SolidJS use to achieve near-perfect performance.
Subtree memoization adds an additional level of complexity to Dioxus. The RSX
macro needs to be much smarter to identify changing/nonchanging nodes and
generate a mapping between the Template and its runtime counterparts.
This commit represents a working starter point for this work, adding support
for templates for the web, desktop, liveview, ssr, and native-core renderers.
In the future we will try to shrink code generation, generally improve
performance, and simplify our implementation.
2022-09-30 12:03:06 -07:00
Demonthos
b32fd2d2cd
fix scroll data ( #569 )
2022-09-30 10:48:52 -07:00
Demonthos
d4d5d2733e
add missing global attributes ( #546 )
2022-09-08 12:06:25 -07:00
Eric Hulburd
02a21bc193
fix: set false for media event bubbling ( #542 )
2022-09-08 07:55:07 -05:00
Norman Paniagua
8347de5956
Added dialog tag ( #533 )
...
* added dialog tag
* updated attribute type
2022-08-24 08:01:40 -05:00
Jon Kelley
d9546d9504
Renderers are now packages, not features. ( #387 )
...
* feat: use synchronous router design
* feat: function to get router out of dom
* chore: restructure workspace to use renderers as packages, not features
2022-07-09 15:15:20 -04:00
Demonthos
4a5ae758ee
Allow Multiple dependencies for states in the RealDom (native core) ( #412 )
...
* WIP multable deps
* WIP: refactor and genralize state macro
* add traversable trait
* update tui to use elementid to index dom
2022-07-07 00:50:22 -04:00
Reinis Mazeiks
f30387597a
Add wheel events to event example; make interface prettier
2022-06-29 01:18:09 +03:00
Reinis Mazeiks
a46ff93600
Improve keyboard event debug formatting
2022-06-29 01:09:17 +03:00
Reinis Mazeiks
c090741c60
Improve event formatting
2022-06-28 23:46:24 +03:00
Reinis Mazeiks
f3fcec2bdf
Merge branch 'master' of https://github.com/DioxusLabs/dioxus into rusty-events
...
Conflicts:
packages/html/src/events.rs
packages/tui/src/hooks.rs
2022-06-28 21:09:20 +03:00
Evan Almloff
11d9a7d013
Merge remote-tracking branch 'upstream/master' into fix_nonbubbling_web_events
2022-06-22 13:59:10 -05:00
Evan Almloff
61b4bb2f19
handle bubbling events
2022-06-22 13:57:05 -05:00
Jonathan Kelley
8be66bd34d
fix: apply some clippy lints and rename the liveview methods to not intersect
2022-06-20 02:24:39 -04:00
Evan Almloff
db1866090a
fix broken doc links
2022-05-22 20:44:32 -05:00
Reinis Mazeiks
fcf776e60f
Update web_sys to avoid deprecated API
2022-05-12 18:24:13 +03:00
Reinis Mazeiks
45980f9a1e
Update examples to avoid deprecated API
2022-05-12 15:00:43 +03:00
Reinis Mazeiks
aaf9d4665f
Update interpreter and example
2022-05-12 14:36:52 +03:00
Reinis Mazeiks
ed34e339fc
Tui: construct keyboard data with new api
2022-05-12 14:10:25 +03:00
Reinis Mazeiks
7ee02bc0d8
Enable euclid/serde
when needed
2022-05-12 11:38:27 +03:00
Reinis Mazeiks
addb0703b1
Write docs for wheel events
2022-05-12 11:12:34 +03:00
Reinis Mazeiks
1bb8b04d87
Update examples to avoid deprecated fields
2022-05-12 11:03:51 +03:00
Reinis Mazeiks
d7e4fcda80
Implement idiomatic accessors for WheelData
2022-05-12 10:55:04 +03:00
Reinis Mazeiks
765baf6e48
Rename module input
to avoid naming conflict with element of the same name
...
Not sure if this was supposed to be allowed, but it was causing https://github.com/rust-lang/rust/issues/96934
2022-05-11 13:47:58 +03:00
Reinis Mazeiks
5bddafb943
Update tui_keys example and web_sys to use new accessor methods
2022-05-07 18:28:15 +03:00
Reinis Mazeiks
81d3c990bf
Simplify mouse button tracking
...
delete the shitcodes
2022-05-07 16:11:48 +03:00
Reinis Mazeiks
9c6cd42ca2
TUI: use constructor instead of deprecated fields
2022-05-07 10:49:49 +03:00
Reinis Mazeiks
c35dddc203
Create constructor for MouseData
2022-05-07 10:31:05 +03:00
Reinis Mazeiks
3fec31fe50
Use keyboard_types instead of bespoke ModifierSet
2022-05-07 10:05:52 +03:00
Reinis Mazeiks
2ef332085c
Refactor: move input types to separate module
2022-05-07 09:39:53 +03:00
Reinis Mazeiks
6ba067a617
Use EnumSet for modifier and button sets
2022-05-07 09:31:44 +03:00
Reinis Mazeiks
2c48ae271f
rustfmt
2022-05-07 01:01:38 +03:00
Reinis Mazeiks
6a5a3f47cc
Remove allow(deprecated)
to bring back the warnings
2022-05-07 00:59:12 +03:00
Reinis Mazeiks
3c447d7266
Documentation and examples
...
Also derive useful traits
2022-05-07 00:49:47 +03:00
Reinis Mazeiks
0dbd3e370e
Rusty MouseData API
2022-05-06 23:54:07 +03:00
Reinis Mazeiks
dbdcea6fc6
Add offset_ fields for web targets
2022-05-04 19:55:42 +03:00
Reinis Mazeiks
d84d414170
Add offset coordinates to mouse events on TUI and desktop.
2022-05-04 16:42:14 +03:00
Reinis Mazeiks
96c178f91f
Add docs for event MouseData
...
Adapted from https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent
2022-05-04 16:09:18 +03:00
Jonathan Kelley
3febd42588
Release dioxus-core v0.2.1, dioxus-core-macro v0.2.1, dioxus-html v0.2.1, dioxus-interpreter-js v0.2.1, dioxus-desktop v0.2.3, dioxus-hooks v0.2.1, dioxus-liveview v0.1.0, dioxus-native-core v0.2.0, dioxus-native-core-macro v0.2.0, dioxus-router v0.2.3, dioxus-ssr v0.2.1, dioxus-tui v0.2.2, dioxus-web v0.2.1, fermi v0.2.1, dioxus v0.2.4
2022-05-02 23:57:20 -04:00
Jon Kelley
f7e67cb2d7
Merge pull request #329 from Demonthos/lazy_tui
...
Tui Lazy Attributes and Layout
2022-05-02 21:38:18 -04:00
Evan Almloff
84db875101
Merge branch 'master' of https://github.com/DioxusLabs/dioxus into lazy_tui
2022-04-24 06:56:07 -05:00
SasakiSaki
b73bf13577
Merge branch 'DioxusLabs:master' into master
2022-04-24 11:41:08 +08:00
Jon Kelley
c4a19f71af
Merge branch 'master' into master
2022-04-23 23:08:58 -04:00
WIGGLES
52c4842c98
Merge branch 'DioxusLabs:master' into master
2022-04-23 21:24:29 -04:00
Aleksei Zolotov
5e16269532
Add PartialEq to events::KeyCode
2022-04-23 16:21:07 +02:00
Ian
149d484ffb
added menu element
2022-04-18 22:24:17 -04:00
Evan Almloff
d9276bd64c
clean up code and docs
2022-04-17 07:29:35 -05:00
Jonathan Kelley
841ad91fe1
fix: dblclick instead of doubleclick
2022-03-11 10:49:38 -05:00
Jonathan Kelley
e7505188d6
release: make a new 0.2.0 release of Dioxus
2022-03-09 14:24:05 -05:00