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
Demonthos
b32fd2d2cd
fix scroll data ( #569 )
2022-09-30 10:48:52 -07:00
Jon Kelley
0c48cb3601
feat: use infer instead of outdated mime-guess, bump wry ( #548 )
...
* feat: use infer instead of outdated mime
* chore: remove unused file
* fix: remove unused file
2022-09-24 23:48:05 -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
Demonthos
a9e71cb001
expose desktopconfig in public interface ( #529 )
2022-08-17 11:16:05 -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
Jonathan Kelley
2b9888627b
Merge branch 'master' of github.com:DioxusLabs/dioxus
2022-07-07 01:46:48 -04:00
Jonathan Kelley
7ff4d616d3
chore: remove outdated docs
2022-07-07 01:42:03 -04:00
Adia Robbie
c271fc132e
dioxus-desktop(Update-dep): tauri 0.19.x ( #489 )
...
* Update(dep): tauri 0.19.x
2022-07-06 12:05:31 -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
YuKun Liu
0af69f83f2
Rename hot_reload
to hot-reload
2022-06-26 14:23:19 +08: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
CGQAQ
030f6d58fb
conditional devtools
2022-06-10 06:04:54 +08:00
Jason
09b1d379d7
fix(desktop): makes release build working
2022-06-09 16:55:53 +08: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
Evan Almloff
51b87dafcc
derive serde for Errors and Location, and add error handler
2022-05-31 12:03:04 -05:00
YuKun Liu
77a92a1cf6
feat: use_window add print
& devtool
2022-05-11 14:56:37 +08:00
YuKun Liu
4f55fcb84a
feat: use_window add set_zoom_level
2022-05-11 14:49:46 +08:00
YuKun Liu
8aadeff9d2
fix: add eval script failed log
2022-05-11 14:29:31 +08:00
YuKun Liu
b7e9dca87c
fix: add eval script failed log
2022-05-11 14:09:31 +08:00
Jonathan Kelley
8ab1c4d0de
feat: upgrade wry
2022-05-05 16:29:24 -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
Benjamin Lemelin
0105218db9
Removed alerts when right click on release.
2022-04-21 15:44:43 -04:00
Jonathan Kelley
fd2a5f5a6b
fmt
2022-04-16 17:02:57 -04:00
Jonathan Kelley
049976d23a
feat: allow customizing the index and head
2022-04-16 16:53:47 -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
d50e86492e
fix: instantly resolving futures should not use popping
2022-03-24 11:15:07 -04:00
Ilya Maximov
d31edfa7d7
rustfmt when the
2022-03-21 22:02:04 +01:00
Ilya Maximov
6e8fdc1e4d
make the closure dyn
2022-03-21 21:57:29 +01:00
Ilya Maximov
c194fa8372
remove panics from desktop docs
...
`WebView::evaluate_script()` always returns `Ok()`
2022-03-19 03:13:34 +01: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
Ilya Maximov
08fa2382b0
add eval to DesktopContext
2022-03-17 22:55:26 +01: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
Jonathan Kelley
0f87ebb277
docs: even more docs
2022-03-06 20:37:57 -05:00
Jonathan Kelley
dbcd91e32f
chore: switch to mutex
2022-03-04 14:28:21 -05:00