Commit graph

271 commits

Author SHA1 Message Date
Jonathan Kelley
cda759c659 examples: upgrade to new version of dioxus core.
also add the inline_props macro
2021-12-25 17:18:05 -05:00
Jonathan Kelley
fa106be1f5 wip: clean it up a bit 2021-12-21 00:58:14 -05:00
Jonathan Kelley
4de16c4779 docs: update local examples and docs to support new syntaxes 2021-12-15 15:56:53 -05:00
Jonathan Kelley
e6c6bbdc1e polish: clean up the core crate 2021-12-12 19:47:13 -05:00
Jonathan Kelley
1e4a599d14 wip: rename fc to component 2021-12-09 21:19:31 -05:00
Jonathan Kelley
a5f05d73ac wip: docs and router 2021-11-19 00:49:04 -05:00
Jonathan Kelley
19df1bda10 feat: bubbling 2021-11-15 09:49:01 -05:00
Jonathan Kelley
f2234068ba feat: events bubble now 2021-11-11 22:07:38 -05:00
Jonathan Kelley
fd93ee89c1 feat: upgrade syntax 2021-11-10 17:09:52 -05:00
Jonathan Kelley
cfc24f5451 feat: support innerhtml 2021-10-18 18:07:19 -04:00
Jonathan Kelley
9726a065b0 feat: massage lifetimes 2021-10-16 17:37:28 -04:00
Jonathan Kelley
460783ad54 docs: lnks to projects 2021-10-14 12:46:50 -04:00
Jonathan Kelley
478255f40d fix: all the bugs! 2021-10-11 18:40:00 -04:00
Jonathan Kelley
4a4c7afca7 feat: shared state mechanisms 2021-10-11 15:35:20 -04:00
Jonathan Kelley
da4423c141 bugs: fix web list issue 2021-10-10 22:27:08 -04:00
Jonathan Kelley
1f22a06a36 wip: event system 2021-10-07 16:18:54 -04:00
Jonathan Kelley
efd0e9b564 feat: support desktop more completely 2021-10-05 03:37:15 -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
b43a964f98 polish: clean up to web 2021-09-24 20:47:59 -04:00
Jonathan Kelley
823adc0834 polish: clean up the web module 2021-09-24 20:11:30 -04:00
Jonathan Kelley
718fa14b45 feat: a cute crm 2021-09-24 01:24:03 -04:00
Jonathan Kelley
1a2f91ed91 polish: examples 2021-09-24 00:05:56 -04:00
Jonathan Kelley
4b6ca05f2c wip: performance looks good, needs more testing 2021-09-22 04:11:27 -04:00
Jonathan Kelley
84b5ddded5 feat: select figured out 2021-09-22 03:22:15 -04:00
Jonathan Kelley
d7940aa2ac feat: proper handling of events 2021-09-22 02:44:01 -04:00
Jonathan Kelley
f15e1fa892 wip: broken diff 2021-09-22 01:29:14 -04:00
Jonathan Kelley
098d3821ed wip: changes to scheduler 2021-09-22 01:25:28 -04:00
Jonathan Kelley
9971ff215d polish: change in cx to cx 2021-09-16 13:20:04 -04:00
Jonathan Kelley
8b3ac0b57c perf: remove global allocation for props 2021-09-13 00:59:08 -04:00
Jonathan Kelley
da8159190b polish: tests and documentation 2021-09-09 20:58:48 -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
3bf19d8106 wip: more work on web
this commit adds complete event support for web-sys but with a few hole
2021-08-25 10:49:18 -04:00
Jonathan Kelley
59219b9ef2 wip: ricraf polyfill 2021-08-24 16:36:00 -04:00
Jonathan Kelley
8b0d04ce58 wip: ric_raf wired up 2021-08-24 16:29:10 -04:00
Jonathan Kelley
f457b71131 feat: rebuild doesn't return errors 2021-08-24 15:12:20 -04:00
Jonathan Kelley
df8aa77198 fix: append isnt backwards 2021-08-24 12:51:53 -04:00
Jonathan Kelley
cdcd8611e8 wip: it works but the page is backwards 2021-08-24 12:43:46 -04:00
Jonathan Kelley
f41cff571f wip: working on async diff 2021-08-17 22:25:09 -04:00
Jonathan Kelley
c1afeba1ef wip: groundwork for noderefs 2021-08-09 17:09:33 -04:00
Jonathan Kelley
1a323835c8 wip: on collaborative scheduling 2021-08-09 02:37:11 -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
687cda1b6d feat: re-enable suspense 2021-07-30 22:14:06 -04:00
Jonathan Kelley
cfa0247cbb wip: websys dom working properly 2021-07-30 17:04:04 -04:00
Jonathan Kelley
49856ccd68 wip: making progress on diffing and hydration 2021-07-28 21:46:53 -04:00
Jonathan Kelley
dfaf5adee1 Feat: solve some issues regarding listeners 2021-07-24 00:29:23 -04:00
Jonathan Kelley
6084fbcd11 wip: move to slab 2021-07-23 17:03:51 -04:00
Jonathan Kelley
f644d7c441 wip: move things into a "shared" object 2021-07-23 10:27:43 -04:00
Jonathan Kelley
1745a44d94 wip: cleanup 2021-07-21 17:05:48 -04:00
Jonathan Kelley
4a72b3140b feat: amazingly awesome error handling 2021-07-18 12:39:32 -04:00
Jonathan Kelley
05c909f320 wip: some ideas 2021-07-18 03:54:42 -04:00
Jonathan Kelley
37ed4bed8c wip: more work on suspense and documentation 2021-07-15 03:38:09 -04:00
Jonathan Kelley
de9f61bcf4 feat: more suspended nodes! 2021-07-14 23:18:02 -04:00
Jonathan Kelley
c52af221f7 wip: basic support for scheduled rendering 2021-07-14 18:19:51 -04:00
Jonathan Kelley
80e6c25698 feat: move over to push based mechanism 2021-07-14 17:39:26 -04:00
Jonathan Kelley
e7238762ae feat: architecture document and edit list 2021-07-14 17:04:58 -04:00
Jonathan Kelley
3a57b94262 feat: task system works
but I broke the other things :(
2021-07-14 02:04:19 -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
56e7eb83a9 wip: more examples 2021-07-11 19:31:07 -04:00
Jonathan Kelley
9abb0470b7 feat: static node infrastructure and ssr changes 2021-07-11 14:49:52 -04:00
Jonathan Kelley
975fa566f9 wip: more refactor for async 2021-07-09 12:47:41 -04:00
Jonathan Kelley
e8f29a8f8a wip: enable more diffing 2021-07-05 01:11:49 -04:00
Jonathan Kelley
93900aac44 concept: integrate signals 2021-06-30 14:08:12 -04:00
Jonathan Kelley
7665f2c6cf feat: move to slotmap 2021-06-29 22:44:21 -04:00
Jonathan Kelley
9813f23cdf wip: more work on diffing machine 2021-06-26 22:13:57 -04:00
Jonathan Kelley
81382e7044 chore: rename ctx to cx 2021-06-25 21:15:33 -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
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
70cd46dbb2 docs: move around examples 2021-06-17 18:00:32 -04:00
Jonathan Kelley
b9ff95fa12 wip: start moving events to rc<event> 2021-06-16 23:37:55 -04:00
Jonathan Kelley
36ea39ae30 Feat: rename recoil to atoms 2021-06-16 11:19:37 -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
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
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
07f671c8e1 Fix: bug that phantom triggered events 2021-03-02 00:21:11 -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
e840f472fa WIP: moving to CbIdx as serializable event system 2021-02-27 11:43:28 -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
b3e6886351 Feat: desktop app wired up 2021-02-18 20:04:25 -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