Jonathan Kelley
a61daf220d
feat: context api overhaul
2022-12-02 16:24:49 -08:00
Jonathan Kelley
85657d3906
feat: rip out mutations for templates
2022-12-01 00:46:15 -05:00
Jonathan Kelley
3b166c9edd
wip: clean up some things
2022-11-30 23:54:30 -05:00
Jonathan Kelley
18d6b1ad6f
feat: get web working properly
2022-11-30 17:21:10 -05:00
Jonathan Kelley
0027cdd938
chore: get event test working
2022-11-27 09:38:40 -05:00
Jonathan Kelley
08ca068d1c
chore: iron out all events
2022-11-21 17:15:17 -08:00
Jonathan Kelley
30ef225812
feat: event handling on desktop
2022-11-17 20:00:39 -08:00
Jonathan Kelley
e8ae830cf2
feat: get desktop working with just creation
2022-11-15 18:32:48 -08:00
Jonathan Kelley
8caabb97d8
wip: more work on html
2022-11-15 16:51:22 -08:00
Jonathan Kelley
0dad91bc08
wip: pass more events
2022-11-15 16:37:23 -08:00
Jonathan Kelley
47d0f51e00
wip: overhaul event system
2022-11-15 16:05:22 -08:00
Jonathan Kelley
c096057dd3
chore: tweak attributes to only set ID once
2022-11-08 20:06:39 -08:00
Jonathan Kelley
c6a6c3d0f8
feat: components pass thru children
2022-11-02 17:29:18 -07:00
Jonathan Kelley
4a31b29703
feat: simple tests passing
2022-11-01 18:42:29 -07:00
Jonathan Kelley
22d4bf7346
feat: use walking pattern
2022-10-26 18:04:47 -07:00
Jonathan Kelley
90982e0ccb
wip: start to refactor out hot reloading from packages
...
Also implement alternative simpler template system
2022-10-20 09:56:09 -07:00
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