Commit graph

432 commits

Author SHA1 Message Date
Jonathan Kelley
d56fabfe9a Merge branch 'master' into feat/window_close_behaviour 2023-07-06 10:50:27 -07:00
Jonathan Kelley
b5ccb56038 Fix clippy 2023-07-05 15:33:25 -07:00
Jonathan Kelley
ea3b199eb2 Android build working too 2023-07-05 14:35:08 -07:00
Jonathan Kelley
5506c568c0 move to newer wry 2023-07-05 13:44:24 -07:00
Jonathan Kelley
2ce8ded74d FIx desktop for android 2023-07-05 12:49:41 -07:00
Jonathan Kelley
2ad85c9b28 Add a custom index.html for the viewport stuff 2023-07-05 12:06:24 -07:00
Benedikt Terhechte
6a705b6a0e add functionality 2023-07-04 14:47:45 +02:00
Jonathan Kelley
3658698064 put webview in rc 2023-06-30 14:39:38 -07:00
Jonathan Kelley
4f22fe3ca8 Stub out files and RFD on ios 2023-06-30 13:59:48 -07:00
Jonathan Kelley
6512c153dd Fix merge errors 2023-06-30 12:48:25 -07:00
Jon Kelley
a0b89de4ca
Merge pull request #1057 from ndarilek/master
Add richer API for describing global shortcut accelerators.
2023-06-30 12:27:00 -07:00
Jon Kelley
014bdef744
Merge pull request #945 from ProfXwing/return-context
make new_window return desktop context instead of webview
2023-06-30 12:10:03 -07:00
Nolan Darilek
c84e028bd6 Add richer API for describing global shortcut accelerators. 2023-06-30 08:10:48 -05:00
Evan Almloff
1e5c220736 expose wry background color option 2023-06-24 10:25:24 -07:00
James Fletcher
6e5fbcff63
Increase the number of tokio channels for the query engine from 8 to 1000. (#1095) 2023-06-19 09:26:02 -05:00
Kaid
277436f673 Changed underlying directory attribute to webkitdirectory, fixed attribute parsing to properly toggle it. 2023-06-06 08:06:27 +08:00
Kaid
37a8fb5391 Add directory support for file input. 2023-06-05 16:47:04 +08:00
Miles Murgaw
d09c92beda
Add initial_value attribute & fix static special attribute handling (#1063)
* feat & fix: initial_value attribute, special attribute handling

* revision: rename js file

* fix: rustfmt

* fix: clippy

* fix: desktop not finding common.js

* fix: desktop failing to render

Missed a single ``this.SetAttributeInner`` as it was now ``setAttributeInner``
Javascript didn't even throw any errors about this smh

* revision: no need for match statement
2023-06-04 11:29:34 -05:00
Jon Kelley
b963452e4a
Merge pull request #1050 from DioxusLabs/remove-ctrl-r-shortcut
Revert Control R Shortcut
2023-05-29 15:00:20 +02:00
Jon Kelley
9e4d32a9c2
Merge pull request #1039 from Demonthos/fix-url-encoded-assets
Fix URL encoded desktop assets
2023-05-29 14:56:35 +02:00
Evan Almloff
0684f738b4 revert control r shortcut 2023-05-28 20:54:00 -05:00
Evan Almloff
553205dc74 Merge branch 'master' into fix-links-liveview 2023-05-24 07:38:04 -05:00
Evan Almloff
77275d40c1 Merge branch 'master' into fix-links-liveview 2023-05-24 07:36:16 -05:00
Evan Almloff
e03e0647ee fix url encoded desktop assets 2023-05-23 09:09:05 -05:00
Evan Almloff
19436e210f Merge branch 'upstream' into query-system 2023-05-05 11:09:25 -05:00
Evan Almloff
f044bb2128 fix onclick event 2023-04-27 15:19:10 -05:00
Evan Almloff
e1f02f8135 Merge branch 'upstream' into query-system 2023-04-26 18:00:39 -05:00
Evan Almloff
7e292cc2fa Merge branch 'upstream' into fix-links-liveview 2023-04-26 17:56:13 -05:00
Evan Almloff
d749fff11b fix double diologs on desktop renderer 2023-04-25 14:29:35 -05:00
Evan Almloff
9cfb655478 implement the file engine for liveview 2023-04-25 14:26:12 -05:00
Evan Almloff
c1e2592299 implement file events on desktop 2023-04-25 09:26:56 -05:00
Evan Almloff
28ef3f8968 fix liveview links 2023-04-23 12:07:38 -05:00
Evan Almloff
d7eae79509 prevent default file input behavior on desktop 2023-04-20 10:10:52 -05:00
Evan Almloff
223c7efce2 Merge branch 'upstream' into query-system 2023-04-18 10:33:40 -05:00
ealmloff
894246a04a
Merge branch 'master' into return-context 2023-04-18 08:53:01 -05:00
Marc Espín
c113d96bbe
fix: Update logos and custom assets example (#960)
* fix: Update logo and custom assets example

* update old logos
2023-04-15 08:02:04 -05:00
Jon Kelley
89efa60389
Merge pull request #939 from Demonthos/disable-browser-shortcuts
Disable browser shortcut keys on windows
2023-04-12 15:20:57 -07:00
Evan Almloff
bc014f7107 Merge branch 'upstream' into disable-browser-shortcuts 2023-04-12 09:09:36 -05:00
Andrew Collins
d6b9d8f5b6 remove rc around webview and add type for desktopcontext 2023-04-11 16:45:00 -04:00
Evan Almloff
6653d48614 fix clippy lint in desktop 2023-04-11 11:34:33 -05:00
Andrew Collins
64575eaee2 forgot one 2023-04-11 11:06:16 -04:00
Andrew Collins
0e1f015b78 turn desktop context into Rc<DesktopContext> 2023-04-11 11:03:46 -04:00
Andrew Collins
a5c46b0e5c new window returns desktop context 2023-04-08 11:23:48 -04:00
Evan Almloff
37dcbbf758 disable browser shortcut keys on windows 2023-04-06 11:29:53 -05:00
Andrew Collins
073c4140d9 added web context back and updated wry to latest 2023-04-05 22:09:17 -04:00
Jonathan Kelley
44c1e2e033 clippy 2023-04-05 13:06:25 -07:00
Jonathan Kelley
dc0df321b1 Fix wry segfaulting by commenting out webcontext 2023-04-05 13:00:27 -07:00
Evan Almloff
2ca5ff96df Merge branch 'upstream' into query-system 2023-04-04 17:36:27 -05:00
Evan Almloff
a551c0fcb8 add examples for onmounted 2023-03-24 11:32:42 -05:00
Evan Almloff
8243dfe00d implement a query engine for liveview 2023-03-23 16:52:29 -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
c8880fac36 expose data directory in desktop config 2023-03-22 13:53:20 -05:00
Evan Almloff
7636c046fa implement on mounted for desktop 2023-03-20 16:10:34 -05:00
Nolan Darilek
8657b47401 Add function to remove all global shortcuts. 2023-03-09 11:05:41 -06:00
Evan Almloff
2d21f7ade1 add a shortcut for ctrl-r to prevent it breaking the application 2023-03-01 13:32:13 -06:00
Evan Almloff
ef9731eb74 update docs about dioxus desktop 2023-03-01 13:28:04 -06:00
Evan Almloff
cf2a79c173 create global shortcut handler for dioxus desktop 2023-03-01 13:23:15 -06:00
Evan Almloff
abcb3f57f0 create global shortcut handler for dioxus desktop 2023-03-01 13:15:58 -06:00
Evan Almloff
a51f67c2ec add version to docs links in readmes 2023-02-18 18:38:30 -06:00
Jon Kelley
4f0f2484fd
Merge pull request #774 from Demonthos/update-doc-links
Update guide doc links
2023-02-17 11:53:15 -08: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
3f3db39c28 update doc links 2023-01-15 15:18:12 -06:00
Evan Almloff
70590c6af0 pass clippy 2023-01-14 16:07:13 -06: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
Evan Almloff
dc8fcf254b Merge branch 'upstream' into desktop-hot-reload 2023-01-12 10:59:01 -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
Evan Almloff
52d5c8d4e7 update READMEs and tags for the 0.3 release 2023-01-10 10:16:11 -06:00
Jonathan Kelley
22e71a71bd feat: return window 2022-12-31 12:19:21 -05:00
Jonathan Kelley
ed899a580e make clippy happy 2022-12-31 02:30:15 -05:00
Jonathan Kelley
341ccf6de6 fix: properly canonicalize assets 2022-12-31 02:24:18 -05:00
Jonathan Kelley
d3ab397ad3 chore: add transparency and overlay 2022-12-30 22:30:04 -05:00
Jonathan Kelley
4955cfc940 fix: no type 2022-12-30 22:14:28 -05:00
Jonathan Kelley
e3a8e44a69 feat: use dom to allow context injection 2022-12-30 22:10:06 -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
7f418bbfee fix: window zoom 2022-12-30 02:09:02 -05:00
Jonathan Kelley
d160a5c8ff chore: remove unnecessary parse method 2022-12-30 01:54:12 -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
555b192436 Merge branch 'upstream' into fix-hot-reloading 2022-12-23 18:06:47 -06:00
Stuart Woodbury
fe9c482afb fix(clippy) 2022-12-23 11:40:51 -05:00
Jon Kelley
8802747214
Merge branch 'master' into feat/resize-window 2022-12-23 11:11:11 -05:00
Stuart Woodbury
f99991b23b feat(DesktopContext): expose set_inner_size 2022-12-23 09:52:12 -05:00
Evan Almloff
db7a1ec0b0 fix lints 2022-12-21 13:04:57 -06:00
Evan Almloff
e5a5850354 merge master 2022-12-20 20:48:28 -06:00
Evan Almloff
67921cacc3 post merge fixes 2022-12-19 21:20:46 -06:00
Evan Almloff
493ee1cb3f Merge branch 'upstream' into fix-hot-reloading 2022-12-19 21:17:22 -06:00
Jonathan Kelley
58b0519c2f feat: get interpreter working on desktop 2022-12-19 15:02:36 -08:00
Jonathan Kelley
c86cbd69da feat: move interpreter code into desktop 2022-12-19 14:53:23 -08:00
Jonathan Kelley
50faa7dd08 feat: add proper event type 2022-12-19 14:14:01 -08:00
Evan Almloff
f84166fb11 allow configering the root name in the desktop renderer 2022-12-18 22:28:40 -06:00
Jon Kelley
5ac9b595ea
Revert "fix: liveview interpreter using new templates" 2022-12-16 14:20:05 -08:00
=
b6ade84ea6 fix some lints 2022-12-16 10:19:26 -06:00
=
894e3bf6b5 make it compile after merge 2022-12-16 10:18:23 -06: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
Jonathan Kelley
afeb308a1f chore: remove dbgs 2022-12-09 16:38:05 -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
4eefc3f854 chore: rename all &cx to cx, make clipppy happy 2022-12-07 13:11:40 -08:00
Jonathan Kelley
e8133e9449 fix: ios buillds 2022-12-07 12:50:43 -08: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
0cfbfc88e2 feat: more tests working 2022-11-24 06:47:14 -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
c1c5821dcf Merge branch 'master' into jk/templates-v3 2022-11-16 22:12:16 -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
David Craven
5c996f21fb
Update wry to 0.22.0 (#604) 2022-11-06 01:49:25 -07:00
David Craven
7e3a6fb4a4
Some fixes for wayland and ios. (#602) 2022-10-23 19:40:41 -07: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
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
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