Commit graph

42 commits

Author SHA1 Message Date
Jonathan Kelley
9a6d745339
Refactor desktop into App type 2024-01-04 16:12:37 -08:00
Jonathan Kelley
22e71a71bd feat: return window 2022-12-31 12:19:21 -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
58b0519c2f feat: get interpreter working on desktop 2022-12-19 15:02:36 -08:00
Jon Kelley
5ac9b595ea
Revert "fix: liveview interpreter using new templates" 2022-12-16 14:20:05 -08:00
Jonathan Kelley
e256fe1079 wip: add html event type 2022-12-14 19:07:33 -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
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
47d0f51e00 wip: overhaul event system 2022-11-15 16:05:22 -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
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
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
Evan Almloff
61b4bb2f19 handle bubbling events 2022-06-22 13:57:05 -05:00
Jonathan Kelley
841ad91fe1 fix: dblclick instead of doubleclick 2022-03-11 10:49:38 -05:00
Jonathan Kelley
5a6d1c2a31 fix: compile for rust 1.57 2022-02-18 23:30:09 -05:00
Jonathan Kelley
a6cbe233b7 fix: empty values on desktop 2022-02-15 13:38:06 -05:00
Christoph Grabo
594a794f05
Switch from RPC to IPC 2022-02-13 20:34:26 +01: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
Jonathan Kelley
d84fc05386 feat: plug in bubbling 2022-01-03 02:06:42 -05:00
Jonathan Kelley
52c7154897 fix: really big bug around hooks 2021-11-29 11:10:40 -05:00
Jonathan Kelley
19df1bda10 feat: bubbling 2021-11-15 09:49:01 -05:00
Jonathan Kelley
9d8c5ca5ab feat: it properly bubbles 2021-11-11 23:55:57 -05:00
Jonathan Kelley
11757ddf61 feat: fake bubbling 2021-11-11 22:18:16 -05:00
Jonathan Kelley
059294ab55 wip: more changes to scheduler 2021-11-06 23:23:56 -04:00
Jonathan Kelley
2933e4bc11 wip: major cleanups to scheduler 2021-11-06 23:11:17 -04:00
Jonathan Kelley
601078f9cf fix: desktop and mobile 2021-10-22 01:16:39 -04:00
Jonathan Kelley
16dbf4a6f8 wip: book documentation 2021-10-16 17:04:28 -04:00
Jonathan Kelley
460783ad54 docs: lnks to projects 2021-10-14 12:46:50 -04:00
Jonathan Kelley
5502429626 feat: desktop functioning well 2021-10-04 02:54:20 -04:00
Jonathan Kelley
7a03c1d2b4 wip: overhaul event system 2021-10-04 01:28:04 -04:00
Jonathan Kelley
82953f2ac3 wip: threadsafe 2021-10-01 02:07:12 -04:00
Jonathan Kelley
725b4a1d7f wip: fix some event stuff for web and core 2021-09-02 00:37:57 -04:00
Jonathan Kelley
a652090dc5 wip: add test_dom 2021-09-01 23:57:34 -04:00
Jonathan Kelley
acad9ca622 wip: web stuff 2021-08-31 12:28:57 -04:00
Jonathan Kelley
8b0eb87c72 wip: refactor 2021-08-26 22:05:09 -04:00
Jonathan Kelley
41cc42919d wip: more overhaul on virtualevents 2021-08-25 16:40:18 -04:00
Jonathan Kelley
7dfe89c958 feat: wire up event delegator for webview 2021-07-24 02:52:05 -04:00