Jonathan Kelley
d4b6bb8a7b
feat: fix the scope rollover bug
2022-12-12 18:31:30 -08:00
Evan Almloff
99a4a9d45b
Merge branch 'upstream' into optimize-templates-v3
2022-12-07 18:29:02 -06:00
Evan Almloff
b79ad4f50e
Merge remote-tracking branch 'upstream/master' into optimize-templates-v3
2022-12-07 17:20:31 -06:00
Jonathan Kelley
4eefc3f854
chore: rename all &cx to cx, make clipppy happy
2022-12-07 13:11:40 -08:00
Jonathan Kelley
1b14b309e9
chore: clean up desktop
2022-12-06 16:37:28 -08:00
Evan Almloff
6102902387
work on optimizing web implementation
2022-12-06 14:24:35 -06: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
a61daf220d
feat: context api overhaul
2022-12-02 16:24:49 -08:00
Jonathan Kelley
11a45c8ef0
chore: continue to clean things up
2022-12-01 01:08:49 -05: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
ba26b1001a
chore: clean up web impl
2022-11-30 17:44:00 -05:00
Jonathan Kelley
18d6b1ad6f
feat: get web working properly
2022-11-30 17:21:10 -05:00
Demonthos
f21c8423eb
optimizations for wasm size ( #582 )
...
* optimize for size
* fix tests
* revert log feature
* make backtrace not optional
* remove dev feature from web dev-deps
2022-11-16 22:22:13 -08:00
Demonthos
3b7b503333
Refactor Mutations and simplify Templates ( #578 )
...
* update mutations to be path based rather than renderer integrated
2022-10-18 14:42:45 -07:00
Demonthos
daeffd4149
pass clippy ( #575 )
2022-10-02 14:12:24 -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
Jon Kelley
540e785d8b
Less clumsy configuration for desktop and mobile ( #553 )
...
* chore: dont use prebuilt builder pattern for configuring desktop
* chore: use regular config pattern for web
* Chore: update docs too
* chore: clean up some warnings
2022-09-13 16:22:27 -07:00
Evan Almloff
61b4bb2f19
handle bubbling events
2022-06-22 13:57:05 -05:00
Reinis Mazeiks
f792ed7a17
Update virtual_event_from_websys_event based on make_synthetic_event in the desktop crate
2022-05-23 10:12:12 +03:00
Reinis Mazeiks
60e74b2ec0
Add missing event types to web (copied from desktop)
...
Related: #416
2022-05-23 10:12:11 +03:00
Jonathan Kelley
356f37e9ee
feat: arbitrary attributes
2022-05-05 16:50:33 -04:00
Jon Kelley
c4a19f71af
Merge branch 'master' into master
2022-04-23 23:08:58 -04:00
Jonathan Kelley
dfc69c0905
fix: compile fail for web
2022-04-04 12:29:00 -04:00
Jon Kelley
6c72ed5dd3
Merge pull request #333 from naturalethic/fix-incorrect-form-element-pointer
...
Fix form value collecting from form element instead of input element
2022-03-28 11:04:37 -04:00
Joshua Kifer
213f54c4d8
Convert all logs to trace
2022-03-27 09:23:44 -06:00
Joshua Kifer
2acacdd5a4
Fix form value collecting from form element instead of input element
2022-03-26 19:42:05 -06:00
Joshua Kifer
ab4e37fbf2
Capture correct radio button value in a form input event
2022-03-19 12:24:29 -06:00
Shuanghui Yan
4eeb3da8c9
fix: add ns param for removeAttribute
2022-02-22 23:14:11 +08:00
Jonathan Kelley
e43a8a9b6a
feat: remove old async channel for new channel in ric raf web code
2022-02-15 11:03:13 -05:00
Aster
8d42191d7a
Add From trait to convert web_sys Events to html Data
2022-02-12 20:57:13 +08:00
t1m0t
eb39f360e3
fix some uncaught error during runtime test
2022-02-11 17:59:59 +01:00
Jonathan Kelley
4f46089fce
feat: use serde-wasm-bindgen crate for speedup
2022-02-07 10:17:16 -05:00
Jonathan Kelley
169f1dac11
Merge branch 'master' into jk/form-ma
2022-02-04 18:10:26 -05:00
Jonathan Kelley
d758dc6065
feat: form works in web
2022-02-04 02:13:35 -05:00
Jonathan Kelley
ca0d7dc268
fix: remove code generation
2022-02-04 01:56:54 -05:00
Jonathan Kelley
8f9d15db4a
feat: enable form elements in web
2022-02-02 02:00:53 -05:00
Jonathan Kelley
7c06b3a9a2
Merge branch 'master' into jk/form-ma
2022-02-01 15:24:19 -05:00
Jonathan Kelley
8badf90a03
fix: dioxus web prevents default on in nested targets
...
this commit fixes an issue where we used the event target to
prevent default even if the target element wasn't an event
handler.
2022-01-31 15:53:06 -05:00
Jonathan Kelley
f66d17ca84
wip: pass form data between web and desktop
2022-01-22 14:53:59 -05:00
Jonathan Kelley
95e93ed0bc
feat: remove dioxus id on non-event elements
2022-01-21 15:06:57 -05:00
Jonathan Kelley
824defa2db
Merge branch 'master' into jk/unify
2022-01-21 00:16:45 -05:00
Jonathan Kelley
c1a5d4e11f
fix: ssr + hydration event listeners
2022-01-20 04:01:38 -05:00
Jonathan Kelley
05331ddd80
feat: wire up both desktop and web
2022-01-13 22:51:01 -05:00
Jonathan Kelley
10db6ad65b
wip: web now links against the js interprter code
2022-01-12 08:57:42 -05:00
YuKun Liu
92561612c7
fix: format code
2022-01-09 02:25:11 +08:00
YuKun Liu
8f4aa84f1a
feat: bool attr white list
2022-01-09 02:02:23 +08:00
Jonathan Kelley
21232285d9
fix: add exclusion list
2022-01-08 02:14:05 -05:00
Jonathan Kelley
8d685f40b7
feat: handle bool attrs properly
2022-01-08 02:09:02 -05:00