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
saicu
e8c48d46cf
replace fxhash crate with rustc-hash ( #588 )
2022-10-12 18:27:26 -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
28fba42e7e
feat: add an unhygenic render macro ( #556 )
...
* feat: add an unhygenic render macro
* chore: use render instead of rsx!(cx,
2022-09-25 01:05:16 -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
Jon Kelley
38e8745db9
Remove lower case components that use the paran syntax ( #551 )
...
* chore: remove lowercase components
* chore: add docs are lowercase components
* docs: also add docs around lowercase components in current scope
2022-09-12 20:01:03 -07:00
Reinis Mazeiks
d734dc5b46
Remove argument from use_hook
closure ( #496 )
...
Also; update docs for said function
2022-07-11 15:50:56 -04: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
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
Reinis Mazeiks
0777437243
Merge branch 'master' of https://github.com/DioxusLabs/dioxus into rusty-events
...
Conflicts:
packages/tui/tests/events.rs
2022-06-29 02:18:57 +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
041f474329
Merge remote-tracking branch 'upstream/master' into clean_up_rsx_imports
2022-06-26 07:22:55 -05:00
YuKun Liu
0af69f83f2
Rename hot_reload
to hot-reload
2022-06-26 14:23:19 +08:00
Evan Almloff
ef4ece42b3
Merge remote-tracking branch 'upstream/master' into clean_up_rsx_imports
2022-06-25 08:27:32 -05:00
Evan Almloff
fbf8e13b8d
clean up imports
2022-06-25 08:27:10 -05: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
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
71d31556e5
Merge https://github.com/DioxusLabs/dioxus into jk/rsx-refactor
2022-06-10 18:16:05 -05:00
Jon Kelley
ea4eb218ab
Merge pull request #422 from rMazeiks/fix-web-missing-event-types
...
Fix web missing event types
2022-06-10 11:44:38 -04:00
Evan Almloff
017d269ca8
fix websocket error reporting
2022-06-09 09:36:28 -05:00
Evan Almloff
e7cf382784
create websocket for hot reloading
2022-06-06 13:30:32 -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
Evan Almloff
db1866090a
fix broken doc links
2022-05-22 20:44:32 -05:00
duanzhou
328bab0f5b
Fix: enable dioxus-core
serialize
feature in dioxuse-web
2022-05-18 00:30:36 +08:00
Reinis Mazeiks
45980f9a1e
Update examples to avoid deprecated API
2022-05-12 15:00:43 +03:00
Jonathan Kelley
356f37e9ee
feat: arbitrary attributes
2022-05-05 16:50:33 -04: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
Aster
329b182e2d
Add feature gate
2022-04-24 11:48:15 +08:00
Jon Kelley
c4a19f71af
Merge branch 'master' into master
2022-04-23 23:08:58 -04:00
Jon Kelley
56ea9e42fa
Merge pull request #318 from overlisted/eval-stuff
...
Eval stuff
2022-04-04 13:01:35 -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
Ilya Maximov
d31edfa7d7
rustfmt when the
2022-03-21 22:02:04 +01:00
Ilya Maximov
ee22881e08
Merge branch 'master' into eval-stuff
2022-03-21 22:00:17 +01:00
Ilya Maximov
6e8fdc1e4d
make the closure dyn
2022-03-21 21:57:29 +01:00
Jon Kelley
5c6ff70dd4
Merge pull request #316 from DioxusLabs/jk/fix-hydration
...
fix: setnode method for rehydration code
2022-03-20 20:11:55 -04:00
Joshua Kifer
ab4e37fbf2
Capture correct radio button value in a form input event
2022-03-19 12:24:29 -06:00
Ilya Maximov
b4a5fe9845
use ToString
2022-03-19 02:57:39 +01:00
Ilya Maximov
5cbf2698fd
add use_eval()
to desktop and web
2022-03-17 23:47:11 +01:00
Jonathan Kelley
f26f704b6b
fix: setnode method for rehydration code
2022-03-17 10:51:23 -04:00
Joshua Kifer
1b736f1001
Remove release_max_level features from several Cargo.toml log dependencies
2022-03-15 17:59:30 -06:00
Jonathan Kelley
e7505188d6
release: make a new 0.2.0 release of Dioxus
2022-03-09 14:24:05 -05:00
Jonathan Kelley
77631bff1f
Merge branch 'master' into jk/documet-everything
2022-02-26 17:33:06 -05:00
Shuanghui Yan
4eeb3da8c9
fix: add ns param for removeAttribute
2022-02-22 23:14:11 +08:00
Jonathan Kelley
b2a4d387c7
docs: document all of desktop crate
2022-02-20 23:52:36 -05:00
Jonathan Kelley
3873cd1a60
fix: remove unused depds
2022-02-16 14:40:45 -05: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
4a3680ee1b
chore: remove all warnings
2022-02-10 21:00:15 -05: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
add21d5f9d
feat: update bindings and interpreter with new tsc code
2022-02-03 12:52:05 -05:00
Jonathan Kelley
8f9d15db4a
feat: enable form elements in web
2022-02-02 02:00:53 -05:00
Jonathan Kelley
c4556d050e
Merge branch 'master' into jk/form-ma
2022-02-02 01:50:43 -05:00
Jonathan Kelley
84959a7826
feat: it works everywhere
2022-02-02 01:08:59 -05:00
Jonathan Kelley
86bac80040
fmt: make bindings obey formatting
2022-02-01 15:57:07 -05:00
Jonathan Kelley
71656adc89
publish: generate our bindings.rs file from an inlinejs snippet
2022-02-01 15:54:32 -05:00
Jonathan Kelley
527434b9f9
feat: make the interpreter as its own crate
2022-02-01 15:44:08 -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
6339fa8188
Release dioxus-html v0.1.6, dioxus-router v0.1.1
2022-01-29 10:42:52 -05:00
Jonathan Kelley
f6c6134d67
Release dioxus-core v0.1.9
2022-01-29 10:42:38 -05:00
Jonathan Kelley
189ddd8c51
fix: move bindings into package
2022-01-29 10:39:21 -05:00
Jonathan Kelley
2c51a090e3
Release dioxus-web v0.0.5
2022-01-29 10:37:50 -05:00
Jonathan Kelley
11ba189eab
Release dioxus-html v0.1.5
2022-01-29 10:36:24 -05:00
Jonathan Kelley
f965030b80
Release dioxus-core v0.1.8
2022-01-29 10:36:10 -05:00
Jonathan Kelley
56f3002aed
feat: add changelogs
2022-01-29 10:17:14 -05:00
Jonathan Kelley
ae676d9d81
fix: webconfig should take &mut self
2022-01-24 20:25:32 -05:00
Jonathan Kelley
a239d2ba6a
docs: fix web doc example and use &mut for builders everywhere
2022-01-24 20:24:50 -05:00
Jonathan Kelley
1406c9020b
feat: add panic hook by default
2022-01-24 02:57:56 -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
Sven Assmann
007d06d602
feat(events:focus): add missing onfocusin
event
2022-01-10 18:08:29 +01:00
Sven Assmann
9849f68f25
feat(example:todomvc): add editing support
...
- implement "onfocusout" handler
- set autofocus
- handle enter, escape and tab on a todo item
- make the `<pre>` element between todo list items of margin 0 to be unnoticable
2022-01-10 14:46:23 +01: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
b804c691d5
Release dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7
2022-01-08 02:30:37 -05:00
Jonathan Kelley
a36dab7f45
Release dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7
2022-01-08 02:28:25 -05:00
Jonathan Kelley
40d1f85d0c
Release dioxus-core v0.1.7, dioxus-core-macro v0.1.6, dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7
2022-01-08 02:25:03 -05: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
Jonathan Kelley
bbb6ee10de
feat: make hydration more robust
2022-01-07 00:33:09 -05:00
Jonathan Kelley
e2a6454527
chore: switch to log tracing
2022-01-05 16:36:42 -05:00
Jonathan Kelley
cb2782b4bb
wip: memoize dom in the prescence of identical components
2022-01-05 00:27:22 -05:00
Jonathan Kelley
4ea5c990d7
publish: new versions of everything
2022-01-03 19:44:04 -05:00