Commit Graph
29 Commits
Author SHA1 Message Date
Florian de Gaulejac 83cd04fd17 Fix name for SVG attribute "type" 2024-02-21 15:31:10 +01:00
Evan Almloff e5df83ceec Merge branch 'master' into pr/atty303/1349 2024-01-06 08:52:37 -06:00
Evan Almloff afb258b658 Fix elements and attributes mapping for dx translate 2024-01-03 15:18:27 -06:00
tigerros d9220d4e42 Add it (#1660) 2023-11-23 16:44:39 -06:00
Evan Almloff ee25c03e74 fix some clippy lints 2023-09-27 10:13:45 -05:00
Evan Almloff dc446b5e5b fix extending an element 2023-09-19 16:38:27 -05:00
Koji AGAWA d573f5dfd5 feat: props spread 2023-08-13 16:45:17 +09:00
Evan Almloff 232b49a3be change some upper camel case to snake case and fix some incorrect attributes 2023-01-12 11:21:34 -06:00
Evan Almloff 33c08b3d74 Merge branch 'upstream' into fix-hot-reloading 2022-12-23 18:59:57 -06:00
Jonathan Kelley 2409d499e0 chore: adjust attribute macro 2022-12-23 19:46:09 -05:00
Evan Almloff 8fcccfa294 intigrate upstream changes 2022-12-23 17:59:51 -06:00
Jonathan Kelley fd8015e943 fix: hovers 2022-12-23 17:39:07 -05:00
Jonathan Kelley 4e49d71efe chore: tweak global attributes 2022-12-23 17:11:00 -05:00
Evan Almloff a42ed7d445 create hot-reload-context flag 2022-12-23 15:08:44 -06:00
Evan Almloff 776c5e8839 fix hot reloading with global and svg attibutes 2022-12-22 13:52:41 -06:00
Jonathan Kelley 22d4bf7346 feat: use walking pattern 2022-10-26 18:04:47 -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 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 d4d5d2733e add missing global attributes (#546) 2022-09-08 12:06:25 -07:00
Jonathan Kelley dde4ed2946 fix: merge css together 2022-02-26 18:15:04 -05:00
Jonathan Kelley 9f60dfa8b0 feat: add all the css 2022-02-11 15:50:07 -05:00
Jonathan Kelley a9ac0568e2 fix: allow prevent_default on svg 2022-02-03 13:19:41 -05:00
Jonathan Kelley 43e78d56f7 fix: rustfmt 2022-01-22 14:55:19 -05:00
Rasmus Lövegren 5f4a72446e Add gap and row_gap to style_trait_methods 2022-01-22 19:57:46 +02:00
Jonathan Kelley 9dff700c22 feat: enable prevent_default everywhere 2022-01-07 21:56:12 -05:00
Jonathan Kelley d1560450ba wip: remove runner on hook and then update docs 2022-01-02 02:15:04 -05:00
Jonathan Kelley b3ac2ee3f7 wip: upgrade hooks 2021-12-27 15:03:43 -05:00
Jonathan Kelley 2933e4bc11 wip: major cleanups to scheduler 2021-11-06 23:11:17 -04:00
Jonathan Kelley 95bd17e38f wip: more raw ptrs 2021-11-05 18:02:44 -04:00