Commit Graph
137 Commits
Author SHA1 Message Date
Evan Almloff e1f02f8135 Merge branch 'upstream' into query-system 2023-04-26 18:00:39 -05:00
Evan Almloff d749fff11b fix double diologs on desktop renderer 2023-04-25 14:29:35 -05:00
Evan Almloff c1e2592299 implement file events on desktop 2023-04-25 09:26:56 -05:00
Evan Almloff 223c7efce2 Merge branch 'upstream' into query-system 2023-04-18 10:33:40 -05:00
Evan Almloff 6653d48614 fix clippy lint in desktop 2023-04-11 11:34:33 -05:00
Andrew Collins 073c4140d9 added web context back and updated wry to latest 2023-04-05 22:09:17 -04:00
Evan Almloff a551c0fcb8 add examples for onmounted 2023-03-24 11:32:42 -05:00
Evan Almloff fa9f0d0f6c Generalize Query system for use in use_eval and node querys 2023-03-23 15:19:00 -05:00
Evan Almloff 7636c046fa implement on mounted for desktop 2023-03-20 16:10:34 -05:00
Evan Almloff cf2a79c173 create global shortcut handler for dioxus desktop 2023-03-01 13:23:15 -06:00
Evan Almloff 773a87d701 fix conditional compilation for hot reloading 2023-02-07 08:57:29 -06:00
Evan Almloff b6c7d44a27 fix clippy 2023-01-27 20:35:46 -06:00
Jon Kelley 1b597f43d1 Merge pull request #754 from Demonthos/desktop-hot-reload
Implement hot reloading for Desktop, TUI, and Liveview
2023-01-23 09:48:54 -10:00
Evan Almloff b3d119b815 Provide option to do full rebuilds when nessisary 2023-01-13 16:13:07 -06:00
Evan Almloff cd17f515d4 change to hook api 2023-01-12 18:48:23 -06:00
= 042b67b61b factor out a hot reloading connect function 2023-01-11 16:43:41 -06:00
Evan Almloff 1073574896 implement hot reloading for desktop 2023-01-11 13:40:02 -06:00
Evan Almloff 2772b86629 create with event handler 2023-01-10 21:35:11 -06:00
Jonathan Kelley 22e71a71bd feat: return window 2022-12-31 12:19:21 -05:00
Jonathan Kelley 880aa737a6 feat: multiwindow support 2022-12-30 22:05:15 -05:00
Jonathan Kelley 819bd3fc24 chore: use broadcast instead of receiver 2022-12-30 02:56:10 -05:00
Jonathan Kelley 531f7c6d3f chore: clean up msg in desktop even more 2022-12-30 01:52:54 -05:00
Jonathan Kelley 633bf1f834 aggressively clean up desktop with new inline poll 2022-12-30 01:08:25 -05:00
Jonathan Kelley 7bc8150da7 fix desktop to poll without budget 2022-12-29 20:39:22 -05:00
Jonathan Kelley bd720e2268 fix: use futuresunordered instead of bespoke waker system 2022-12-29 19:53:43 -05:00
Jonathan Kelley ff697d41e3 wip: move desktop to main thread and use tokio main 2022-12-29 17:11:29 -05:00
Lixou bfdd7945aa Fix copy paste error in docs (#685) 2022-12-27 13:04:23 -06:00
Evan Almloff e5a5850354 merge master 2022-12-20 20:48:28 -06:00
Evan Almloff 493ee1cb3f Merge branch 'upstream' into fix-hot-reloading 2022-12-19 21:17:22 -06:00
Jon Kelley 5ac9b595ea Revert "fix: liveview interpreter using new templates" 2022-12-16 14:20:05 -08:00
= 14dd568987 Merge branch 'upstream-master' into fix-hot-reloading 2022-12-16 10:07:11 -06:00
= 0d9c350d5e implement for web and desktop 2022-12-15 21:16:37 -06:00
Jonathan Kelley 06e8e096bb feat: more fixes to liveview 2022-12-15 14:25:23 -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 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 18d6b1ad6f feat: get web working properly 2022-11-30 17:21:10 -05: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 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
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
Demonthos a9e71cb001 expose desktopconfig in public interface (#529) 2022-08-17 11:16:05 -07: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
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
Jonathan Kelley 8ab1c4d0de feat: upgrade wry 2022-05-05 16:29:24 -04:00