Jon Kelley
5ac9b595ea
Revert "fix: liveview interpreter using new templates"
2022-12-16 14:20:05 -08:00
Jonathan Kelley
e256fe1079
wip: add html event type
2022-12-14 19:07:33 -08:00
Evan Almloff
bf47f64852
Merge branch 'upstream' into return-from-js
2022-12-08 11:25:15 -06:00
Evan Almloff
e863ef29b8
allow returning values from use_eval
2022-12-08 10:44:56 -06:00
Jonathan Kelley
e8ae1fb83e
chore: comment out hot reloading stuff
2022-12-06 16:38:19 -08:00
Jonathan Kelley
1b14b309e9
chore: clean up desktop
2022-12-06 16:37:28 -08:00
Jonathan Kelley
b182a6ee75
chore: clean up interpreter and bindings
2022-12-05 16:47:04 -08:00
Jonathan Kelley
7b1cdb7d85
feat: get desktop working with new template strategy
2022-12-05 16:08:41 -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
3c19def550
chore: get create working and simplify dynamic nodes
2022-11-30 11:24:13 -05:00
Jonathan Kelley
112c954e00
Merge branch 'master' into jk/templates-v3
2022-11-22 16:11:12 -08:00
David Craven
1e99e35572
Implement push view for ios. ( #612 )
2022-11-22 12:35:40 -08:00
Jonathan Kelley
6c677e64da
chore: make for loops not the same
2022-11-17 22:55:46 -08:00
Jonathan Kelley
20f9957fbe
feat: diffing works on desktop!
2022-11-17 22:31:14 -08:00
Jonathan Kelley
30ef225812
feat: event handling on desktop
2022-11-17 20:00:39 -08:00
Jonathan Kelley
642b21f125
suspense works in desktop
2022-11-16 11:48:47 -08:00
Jonathan Kelley
04bc635ac5
wip: prep to fix bug in create
2022-11-15 23:22:41 -08:00
Jonathan Kelley
e8ae830cf2
feat: get desktop working with just creation
2022-11-15 18:32:48 -08:00
Jonathan Kelley
47d0f51e00
wip: overhaul event system
2022-11-15 16:05:22 -08: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
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
3a5d1a2ff8
fix web imports and extract hot reload handlers into seperate files ( #484 )
2022-07-04 13:18:11 -05:00
Evan Almloff
f0655a11ad
panic on errors in hot-reload if no error handler socket is connected
2022-07-01 09:01:15 -05:00
YuKun Liu
0af69f83f2
Rename hot_reload to hot-reload
2022-06-26 14:23:19 +08:00
Evan Almloff
75e13749ea
set multiple rsx calls at once to prevent duplicated errors
2022-06-16 09:11:56 -05:00
Demonthos
df4ea20bb8
create serde compatible parse error
2022-06-15 12:58:08 -05:00
Evan Almloff
586983291a
log parse errors
2022-06-13 17:02:43 -05:00
Evan Almloff
07199c8a64
clean up imports
2022-06-06 13:29:56 -05:00
Evan Almloff
586e29d815
force rerender after rsx is updated
2022-06-04 15:31:40 -05:00
Evan Almloff
8c6fceb0c7
finish desktop implementation
2022-06-04 14:26:37 -05:00
Evan Almloff
2bcaa2e43e
refactor interperting macro into function and don't rely on cx being in scope
2022-06-04 12:20:56 -05:00
Evan Almloff
0079f7d18b
WIP: expose pipe for desktop
2022-06-02 13:33:08 -05:00
Jonathan Kelley
d50e86492e
fix: instantly resolving futures should not use popping
2022-03-24 11:15:07 -04:00
Jonathan Kelley
dbcd91e32f
chore: switch to mutex
2022-03-04 14:28:21 -05:00
Jonathan Kelley
3928856a9b
fix: desktop edits should not be applied in reverse
2022-03-04 13:14:49 -05:00
Jonathan Kelley
77631bff1f
Merge branch 'master' into jk/documet-everything
2022-02-26 17:33:06 -05:00
Jonathan Kelley
b2a4d387c7
docs: document all of desktop crate
2022-02-20 23:52:36 -05:00
Jonathan Kelley
28716248c5
fix: ping window after virtualdom is ready
2022-02-19 17:34:44 -05:00
Jonathan Kelley
a6cbe233b7
fix: empty values on desktop
2022-02-15 13:38:06 -05:00
Christoph Grabo
cf543ab1df
Extract controller into module
2022-02-13 20:34:27 +01:00