Commit graph

40 commits

Author SHA1 Message Date
Jonathan Kelley
e8f29a8f8a wip: enable more diffing 2021-07-05 01:11:49 -04:00
Jonathan Kelley
81382e7044 chore: rename ctx to cx 2021-06-25 21:15:33 -04:00
Jonathan Kelley
9d7ee79826 feat: events work again! 2021-06-23 01:44:48 -04:00
Jonathan Kelley
73047fe956 feat: props memoization is more powerful
This commit solves the memoization , properly memoizing properties that don't have any generic parameters. This is a rough heuristic to prevent non-static lifetimes from creeping into props and breaking our minual lifetime management.

Props that have a generic parameter are opted-out of the `partialeq` requirement and props *without* lifetimes must implement partialeq. We're going to leave manual disabling of memoization for future work.
2021-06-22 17:20:54 -04:00
Jonathan Kelley
79127ea6cd wip: moving to IDs 2021-06-20 02:16:42 -04:00
Jonathan Kelley
508c560320 Feat: massive changes to definition of components
This change switches back to the original `ctx<props>` syntax for
commponents. This lets lifetime elision to remove the need to match
exactly which lifetime (props or ctx) gets  carried to the output. As
such, `Props` is currently required to be static. It *is* possible to
loosen this restriction, and will be done in the future, though only
through adding metadata about the props through the Props derive
macro. Implementing the IS_STATIC trait is unsafe, so the derive macro
will do it through some heuristics.

For now, this unlocks sharing vnodes from parents to children, enabling
pass-thru components, fragments, portals, etc.
2021-06-01 18:33:15 -04:00
Jonathan Kelley
fe67ff9fa4 wip: doesnt share on thread 2021-05-27 17:57:59 -04:00
Jonathan Kelley
b843dbd367 WIP: Todomvc in progress 2021-05-19 10:14:02 -04:00
Jonathan Kelley
9810feebf5 Feat: major overhaul to diffing 2021-05-15 12:03:08 -04:00
Jonathan Kelley
8c541f66d5 wip: todos 2021-04-01 21:44:18 -04:00
Jonathan Kelley
cfa0927cdd feat: todomvc 2021-04-01 00:01:42 -04:00
Jonathan Kelley
5b7887d76c Fix: some stuff related to event listeners. POC for lifecyel 2021-03-15 02:16:03 -04:00
Jonathan Kelley
4e48e0514e wip: diffing approach slightly broken 2021-03-14 20:33:37 -04:00
Jonathan Kelley
9d0727edab Feat: remove old macro 2021-03-13 19:11:06 -05:00
Jonathan Kelley
305ff919ef Feat: ensure mutabality is okay when not double-using the components 2021-03-12 16:58:30 -05:00
Jonathan Kelley
5ad81885e4 wip: staticify? 2021-03-11 12:27:01 -05:00
Jonathan Kelley
5a9155b059 Feat: more cleanup 2021-03-04 12:03:22 -05:00
Jonathan Kelley
c8bb392cad Feat: view -> render 2021-02-28 21:21:17 -05:00
Jonathan Kelley
ab655eac97 Feat: update and prep for dioxusweb 2021-02-28 17:22:23 -05:00
Jonathan Kelley
3b30fa61b8 Feat: a few bugs, but the event system works! 2021-02-28 03:08:08 -05:00
Jonathan Kelley
e4b1f6ea0d Feat: custom format_args for inlining variables into html templates 2021-02-26 20:42:55 -05:00
Jonathan Kelley
a8b1225c48 Feat: begin WIP on html macro 2021-02-26 12:58:03 -05:00
Jonathan Kelley
32b45e5ba1 Feat: move webview logic into library 2021-02-25 18:44:00 -05:00
Jonathan Kelley
18a7a1f9c4 Chore: comments 2021-02-24 10:12:26 -05:00
Jonathan Kelley
8d3e2ade7a Feat: buff up examples and docs 2021-02-24 04:03:52 -05:00
Jonathan Kelley
06ae4fc178 Feat: wire up rebuild 2021-02-24 03:51:26 -05:00
Jonathan Kelley
4d01455729 Feat: update websys with lifecycle 2021-02-24 02:22:05 -05:00
Jonathan Kelley
5204862bc2 Feat: fix internal lifecycle 2021-02-24 01:31:19 -05:00
Jonathan Kelley
edf09c1892 Feat: add css example 2021-02-23 15:08:23 -05:00
Jonathan Kelley
7a6aabe4f3 Feat: WIP ctx 2021-02-20 21:59:16 -05:00
Jonathan Kelley
e3ede7fcbf Feat: re-enable stack machine approach 2021-02-17 10:53:55 -05:00
Jonathan Kelley
f22ff83190 Feat: WIP on deserialize 2021-02-15 14:14:28 -05:00
Jonathan Kelley
8439994859 Feat: web example + cli writes to browser screen! 2021-02-15 00:17:40 -05:00
Jonathan Kelley
c4e8d8bb31 Feat: wire up a very basic dom updater 2021-02-14 23:39:46 -05:00
Jonathan Kelley
4dfdf91236 Feat: major overhaul to diffing, using a "diffing machine" now 2021-02-14 18:03:16 -05:00
Jonathan Kelley
4c291a0efd Feat: remove generic paramter on VDOM
This makes storage of VDoms easier, and removes static dispatch on any function that relies on VDOMs.
2021-02-13 03:19:35 -05:00
Jonathan Kelley
d063a19939 Feat: wire up some of the changelist for diff 2021-02-13 02:49:10 -05:00
Jonathan Kelley
ea2aa4b0c9 Feat: event loop 2021-02-12 16:11:33 -05:00
Jonathan Kelley
9c616ea5c0 Feat: more docs, dissolve vnode crate into dioxus-core 2021-01-16 01:30:48 -05:00
Jonathan Kelley
ce34d0dfcd Feat: WIP 2021-01-14 20:56:28 -05:00