Commit graph

286 commits

Author SHA1 Message Date
Evan Almloff
e7cf382784 create websocket for hot reloading 2022-06-06 13:30:32 -05:00
Reinis Mazeiks
f792ed7a17 Update virtual_event_from_websys_event based on make_synthetic_event in the desktop crate 2022-05-23 10:12:12 +03:00
Reinis Mazeiks
60e74b2ec0 Add missing event types to web (copied from desktop)
Related: #416
2022-05-23 10:12:11 +03:00
Evan Almloff
db1866090a fix broken doc links 2022-05-22 20:44:32 -05:00
Reinis Mazeiks
45980f9a1e Update examples to avoid deprecated API 2022-05-12 15:00:43 +03:00
Jonathan Kelley
356f37e9ee feat: arbitrary attributes 2022-05-05 16:50:33 -04:00
Jon Kelley
c4a19f71af
Merge branch 'master' into master 2022-04-23 23:08:58 -04:00
Jon Kelley
56ea9e42fa
Merge pull request #318 from overlisted/eval-stuff
Eval stuff
2022-04-04 13:01:35 -04:00
Jonathan Kelley
dfc69c0905 fix: compile fail for web 2022-04-04 12:29:00 -04:00
Jon Kelley
6c72ed5dd3
Merge pull request #333 from naturalethic/fix-incorrect-form-element-pointer
Fix form value collecting from form element instead of input element
2022-03-28 11:04:37 -04:00
Joshua Kifer
213f54c4d8 Convert all logs to trace 2022-03-27 09:23:44 -06:00
Joshua Kifer
2acacdd5a4 Fix form value collecting from form element instead of input element 2022-03-26 19:42:05 -06:00
Ilya Maximov
d31edfa7d7
rustfmt when the 2022-03-21 22:02:04 +01:00
Ilya Maximov
ee22881e08
Merge branch 'master' into eval-stuff 2022-03-21 22:00:17 +01:00
Ilya Maximov
6e8fdc1e4d
make the closure dyn 2022-03-21 21:57:29 +01:00
Jon Kelley
5c6ff70dd4
Merge pull request #316 from DioxusLabs/jk/fix-hydration
fix: setnode method for rehydration code
2022-03-20 20:11:55 -04:00
Joshua Kifer
ab4e37fbf2 Capture correct radio button value in a form input event 2022-03-19 12:24:29 -06:00
Ilya Maximov
b4a5fe9845
use ToString 2022-03-19 02:57:39 +01:00
Ilya Maximov
5cbf2698fd
add use_eval()to desktop and web 2022-03-17 23:47:11 +01:00
Jonathan Kelley
f26f704b6b fix: setnode method for rehydration code 2022-03-17 10:51:23 -04:00
Jonathan Kelley
77631bff1f Merge branch 'master' into jk/documet-everything 2022-02-26 17:33:06 -05:00
Shuanghui Yan
4eeb3da8c9 fix: add ns param for removeAttribute 2022-02-22 23:14:11 +08:00
Jonathan Kelley
b2a4d387c7 docs: document all of desktop crate 2022-02-20 23:52:36 -05:00
Jonathan Kelley
e43a8a9b6a feat: remove old async channel for new channel in ric raf web code 2022-02-15 11:03:13 -05:00
Aster
8d42191d7a Add From trait to convert web_sys Events to html Data 2022-02-12 20:57:13 +08:00
t1m0t
eb39f360e3 fix some uncaught error during runtime test 2022-02-11 17:59:59 +01:00
Jonathan Kelley
4f46089fce feat: use serde-wasm-bindgen crate for speedup 2022-02-07 10:17:16 -05:00
Jonathan Kelley
169f1dac11 Merge branch 'master' into jk/form-ma 2022-02-04 18:10:26 -05:00
Jonathan Kelley
d758dc6065 feat: form works in web 2022-02-04 02:13:35 -05:00
Jonathan Kelley
ca0d7dc268 fix: remove code generation 2022-02-04 01:56:54 -05:00
Jonathan Kelley
add21d5f9d feat: update bindings and interpreter with new tsc code 2022-02-03 12:52:05 -05:00
Jonathan Kelley
8f9d15db4a feat: enable form elements in web 2022-02-02 02:00:53 -05:00
Jonathan Kelley
c4556d050e Merge branch 'master' into jk/form-ma 2022-02-02 01:50:43 -05:00
Jonathan Kelley
84959a7826 feat: it works everywhere 2022-02-02 01:08:59 -05:00
Jonathan Kelley
86bac80040 fmt: make bindings obey formatting 2022-02-01 15:57:07 -05:00
Jonathan Kelley
71656adc89 publish: generate our bindings.rs file from an inlinejs snippet 2022-02-01 15:54:32 -05:00
Jonathan Kelley
527434b9f9 feat: make the interpreter as its own crate 2022-02-01 15:44:08 -05:00
Jonathan Kelley
7c06b3a9a2 Merge branch 'master' into jk/form-ma 2022-02-01 15:24:19 -05:00
Jonathan Kelley
8badf90a03 fix: dioxus web prevents default on in nested targets
this commit fixes an issue where we used the event target to
prevent default even if the target element wasn't an event
handler.
2022-01-31 15:53:06 -05:00
Jonathan Kelley
189ddd8c51 fix: move bindings into package 2022-01-29 10:39:21 -05:00
Jonathan Kelley
ae676d9d81 fix: webconfig should take &mut self 2022-01-24 20:25:32 -05:00
Jonathan Kelley
a239d2ba6a docs: fix web doc example and use &mut for builders everywhere 2022-01-24 20:24:50 -05:00
Jonathan Kelley
1406c9020b feat: add panic hook by default 2022-01-24 02:57:56 -05:00
Jonathan Kelley
f66d17ca84 wip: pass form data between web and desktop 2022-01-22 14:53:59 -05:00
Jonathan Kelley
95e93ed0bc feat: remove dioxus id on non-event elements 2022-01-21 15:06:57 -05:00
Jonathan Kelley
824defa2db Merge branch 'master' into jk/unify 2022-01-21 00:16:45 -05:00
Jonathan Kelley
c1a5d4e11f fix: ssr + hydration event listeners 2022-01-20 04:01:38 -05:00
Jonathan Kelley
05331ddd80 feat: wire up both desktop and web 2022-01-13 22:51:01 -05:00
Jonathan Kelley
10db6ad65b wip: web now links against the js interprter code 2022-01-12 08:57:42 -05: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
YuKun Liu
92561612c7 fix: format code 2022-01-09 02:25:11 +08:00
YuKun Liu
8f4aa84f1a feat: bool attr white list 2022-01-09 02:02:23 +08:00
Jonathan Kelley
21232285d9 fix: add exclusion list 2022-01-08 02:14:05 -05:00
Jonathan Kelley
8d685f40b7 feat: handle bool attrs properly 2022-01-08 02:09:02 -05:00
Jonathan Kelley
bbb6ee10de feat: make hydration more robust 2022-01-07 00:33:09 -05:00
Jonathan Kelley
e2a6454527 chore: switch to log tracing 2022-01-05 16:36:42 -05:00
Jonathan Kelley
cb2782b4bb wip: memoize dom in the prescence of identical components 2022-01-05 00:27:22 -05:00
Jonathan Kelley
4ea5c990d7 publish: new versions of everything 2022-01-03 19:44:04 -05:00
Jonathan Kelley
3de776c42a docs: fix the reference code 2022-01-03 13:26:15 -05:00
Jonathan Kelley
7abb3cc79c publish: dioxus web 2022-01-03 02:15:39 -05:00
Jonathan Kelley
75fa7b4aa6 fix: make tests pass 2022-01-03 01:12:39 -05:00
Jonathan Kelley
420a30e5d4 feat: overhaul examples and clean things up 2022-01-03 00:42:17 -05:00
Jonathan Kelley
3dc0e59876 fix: readme and examples syntax 2021-12-28 23:48:25 -05:00
Jonathan Kelley
a4f280d163 feat: more API updates 2021-12-28 23:20:01 -05:00
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