Jonathan Kelley
6587224deb
polish: remove warnings on core macero
2021-09-24 20:51:48 -04:00
Jonathan Kelley
098d3821ed
wip: changes to scheduler
2021-09-22 01:25:28 -04:00
Jonathan Kelley
b32e2611e3
polish: clean up warnings
2021-09-21 18:13:09 -04:00
Jonathan Kelley
a2c7d17b05
feat: mvoe away from compound context
2021-09-21 13:42:52 -04:00
Jonathan Kelley
9971ff215d
polish: change in cx to cx
2021-09-16 13:20:04 -04:00
Jonathan Kelley
c1afeba1ef
wip: groundwork for noderefs
2021-08-09 17:09:33 -04:00
Jonathan Kelley
fac42339c2
feat: mutations
2021-08-08 15:15:16 -04:00
Jonathan Kelley
f2334c17be
wip: bottom up dropping
2021-08-05 22:23:41 -04:00
Jonathan Kelley
0a0be95c3e
wip: get keyed diffing compiling
2021-07-30 10:35:47 -04:00
Jonathan Kelley
7dfe89c958
feat: wire up event delegator for webview
2021-07-24 02:52:05 -04:00
Jonathan Kelley
dfaf5adee1
Feat: solve some issues regarding listeners
2021-07-24 00:29:23 -04:00
Jonathan Kelley
f644d7c441
wip: move things into a "shared" object
2021-07-23 10:27:43 -04:00
Jonathan Kelley
22f894e6b9
wip: more upgades to html parser
2021-07-22 02:06:49 -04:00
Jonathan Kelley
160d86abbe
wip: serious refactor with const generics
2021-07-21 22:55:04 -04:00
Jonathan Kelley
6051b0ec86
wip: fill out the snippets
2021-07-20 19:03:49 -04:00
Jonathan Kelley
4a72b3140b
feat: amazingly awesome error handling
2021-07-18 12:39:32 -04:00
Jonathan Kelley
583fdfa561
docs: big updates to the reference
2021-07-16 16:11:25 -04:00
Jonathan Kelley
caf772cf24
wip: docs, html! macro, more
2021-07-16 00:27:06 -04:00
Jonathan Kelley
c52af221f7
wip: basic support for scheduled rendering
2021-07-14 18:19:51 -04:00
Jonathan Kelley
4091846934
feat: add aria
2021-07-13 00:56:39 -04:00
Jonathan Kelley
a85b8c4b6b
wip: apply formatting
2021-07-12 13:03:24 -04:00
Jonathan Kelley
68ed1c04e7
wip: ....sigh..... so the diffing algorithm is robust
...
but it's still not finished.
We need to re-enable the fancier keyed diffing versions some point (soon!).
2021-07-12 03:58:46 -04:00
Jonathan Kelley
304259d818
wip: move examples around
2021-07-11 18:39:45 -04:00
Jonathan Kelley
e4cdb645aa
feat: beaf up the use_state hook
2021-07-08 09:29:12 -04:00
Jonathan Kelley
7aec40d57e
feat: enable arbitrary body in rsx! macro
2021-07-07 18:17:00 -04:00
Jonathan Kelley
98a09339fd
wip: move some examples around
2021-07-07 16:19:10 -04:00
Jonathan Kelley
a38a81e129
wip: fix issues with lifetimes
...
this commit fixes some lifetime issues regarding having to "move" data into the IntoVNode closure.
2021-07-07 13:51:55 -04:00
Jonathan Kelley
22e659c2bd
feat: namespaced attributes
...
this commit adds namespaced attributes. This lets us support attribute groups, and thus, inline styles.
This namespaced attribute stuff is only available for styles at the moment, though it theoretically could be enabled for any other attributes.
2021-07-06 23:04:33 -04:00
Jonathan Kelley
904b26f711
feat: add edits back! and more webview support!
...
This commit adds a new type - the DomEdit - for serializing the changes made by the diffing machine. The architecture of how DomEdits fit into the cooperative scheduling is still TBD but it will allow us to build change lists without applying them immediately. This is more performant and allows us to only render parts of the page at a time.
This commit also adds more infrastructure around webview. Dioxus can now run on the web, generate static pages, run in the desktop, and run on mobile, with a large part of thanks to webview.
2021-07-05 18:37:15 -04:00
Jonathan Kelley
e8f29a8f8a
wip: enable more diffing
2021-07-05 01:11:49 -04:00
Jonathan Kelley
b5e5ef171a
feat: two calculator examples
2021-07-02 15:48:19 -04:00
Jonathan Kelley
d9e6d0925b
docs: examples
2021-07-02 01:30:52 -04:00
Jonathan Kelley
952a91d540
wip
2021-07-01 14:14:59 -04:00
Jonathan Kelley
81382e7044
chore: rename ctx to cx
2021-06-25 21:15:33 -04:00
Jonathan Kelley
daa9bd82c3
docs: more work on docs
2021-06-25 09:31:13 -04:00
Jonathan Kelley
f5683a2346
wip: docs
...
Worked a bit on adding more examples. Trying out a new "antipattern" example to show how *not* to use Dioxus.
2021-06-23 22:32:54 -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
62ae5d3bb9
wip: rethinking stack machine
2021-06-19 20:31:25 -04:00
Jonathan Kelley
517d7f1495
Chore: some cleanup and documentation
2021-06-10 01:01:53 -04:00
Jonathan Kelley
fe6938ceb3
wip: pre vnodes instead of vnode
2021-06-08 14:00:29 -04:00
Jonathan Kelley
7790750349
wip: merge in some code from the other branch
2021-06-05 23:47:54 -04:00
Jonathan Kelley
50c8b93aad
Feat: move the rsx macro around
2021-06-03 10:42:28 -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
c1fd848f89
WIP: move to static props
2021-05-31 18:55:56 -04:00
Jonathan Kelley
c5089ba3c5
wip: more progress on parity docs.
...
Placeholders in the rsx macro for future features.
2021-05-28 12:56:21 -04:00
Jonathan Kelley
3cfa1fe125
Feat: buff the readme and docs
2021-05-19 20:57:19 -04:00
Jonathan Kelley
b843dbd367
WIP: Todomvc in progress
2021-05-19 10:14:02 -04:00
Jonathan Kelley
3de54d0b52
Feat: remove old code
2021-05-16 03:01:36 -04:00
Jonathan Kelley
c28697e1fe
Feat: some code health
2021-05-16 02:06: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
ce33031519
wip: todomvc
2021-03-29 12:31:47 -04:00
Jonathan Kelley
0bcff1f88e
Feat: more ergonomics, more examples
2021-03-26 15:50:28 -04:00
Jonathan Kelley
44aad2746c
Feat: use rsx! inline!
2021-03-26 00:47:15 -04:00
Jonathan Kelley
9f7f43b661
Feat: building large apps, revamp macro
2021-03-22 23:52:54 -04:00
Jonathan Kelley
742f150eb3
wip: begint to accept iterator types
2021-03-18 18:54:26 -04:00
Jonathan Kelley
b3c96a5996
Feat: props now autoderives its own trait
2021-03-12 15:41:36 -05:00
Jonathan Kelley
5ad81885e4
wip: staticify?
2021-03-11 12:27:01 -05:00
Jonathan Kelley
78d093a945
FIx: cargo fix to clean up things
2021-03-10 19:42:31 -05:00
Jonathan Kelley
37f5a7ad33
Feat: wire up props macro
2021-03-09 14:45:52 -05:00
Jonathan Kelley
7158bc3575
Feat: revert FC changes (like the old style).
...
This commit reverts to the old style of props + FC. The old style is desirable
because people comfortable with react can automatically be comfortable with
dioxus. It's also nice in that the same props can be used to drive two different
components - something the trait version couldn't do. Now, our trait bound forces
implementations to have the #[derive(Props)] flag. This will need to implement the
Properties trait as well as PartialEq (using ptr::equal for closure fields).
2021-03-09 00:58:20 -05:00
Jonathan Kelley
92d9521a73
WIP: remove FC
2021-03-07 21:28:20 -05:00
Jonathan Kelley
d9598066c2
Feat: yeet, synthetic somewhat wired up
2021-03-04 18:40:05 -05:00
Jonathan Kelley
5a9155b059
Feat: more cleanup
2021-03-04 12:03:22 -05:00
Jonathan Kelley
cf16090838
Feat: add context to builder
2021-03-03 23:06:11 -05:00
Jonathan Kelley
fcd68e61d2
Feat: listeners now have scope information
2021-03-03 11:13:46 -05:00
Jonathan Kelley
cb74d70f83
wip: broken, but solved
2021-03-03 02:27:26 -05:00
Jonathan Kelley
f225030506
Feat: accept closures directly in handler
2021-03-02 01:24:53 -05:00
Jonathan Kelley
4b8e9f4a12
Feat: wowza got it all working
2021-03-02 00:14:28 -05:00
Jonathan Kelley
da00df6688
Feat: parse custom rsx syntax
2021-03-01 22:55:20 -05:00
Jonathan Kelley
ffaf687896
Feat: update readme and examples
2021-03-01 00:16:48 -05:00
Jonathan Kelley
6a7bf3f964
add core macro crate
2021-02-28 17:37:17 -05:00
Jonathan Kelley
c09b71f473
Chore: add in style crate, and abort any styligng
2021-02-28 17:36:48 -05:00
Jonathan Kelley
9dcee01b33
Chore: remove html crate
2021-02-28 17:30:10 -05:00
Jonathan Kelley
9f49ecbd95
add core macro crate
2021-02-28 17:24:57 -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
62d4ad5878
wip: comment out examples and move lifetime in FC type
2021-02-03 14:07:07 -05:00
Jonathan Kelley
07341d2c65
Feat: include the helper
2021-02-03 02:26:04 -05:00
Jonathan Kelley
9c01736895
WIP: Dioxus-webview
2021-01-21 03:22:08 -05:00
Jonathan Kelley
28ac37a8b2
Feat: update fc_macro
2021-01-21 02:25:44 -05:00
Jonathan Kelley
4d7ac5bb5d
Feat: dioxus frontend crate
2021-01-20 12:04:27 -05:00