Commit graph

1224 commits

Author SHA1 Message Date
Evan Almloff
6320e00056
Convert closures into Option<Callback> automatcially (#2538)
* convert from a closure to Option<Callback> in props

* add a test for optional callback conversion
2024-06-18 16:39:35 -07:00
Evan Almloff
a09548d80e
Remove implicit optional dependency features (#2512)
* remove implicit optional dependency features

* switch to new features in desktop, router and signals crates
2024-06-18 18:39:15 -05:00
Evan Almloff
b0ae9be9c8
Simplify dioxus-config-macro (#2514)
* refactor config macro code

* fix clippy
2024-06-18 16:10:23 -07:00
Evan Almloff
3a4860add4
Document props and component macro (#2522)
* document prop attributes

* document children props

* fix children doc test
2024-06-18 16:06:54 -07:00
Evan Almloff
d795995e20
Create closure type; allow async event handlers in props; allow short hand event handlers (#2437)
* create closure type; allow async event handlers in props; allow shorthand event handlers

* test forwarding event handlers with the shorthand syntax

* fix clippy

* fix imports in spawn async doctest
2024-06-10 18:47:07 -07:00
Evan Almloff
e4764f2bba
switch from slab to slotmap for tasks to fix that ABA problem (#2488) 2024-06-07 14:36:08 -07:00
Evan Almloff
5024139e01
Detect components called as functions (#2461)
* detect components called as functions
* use the existing component name information instead of a thread local
2024-06-07 13:55:10 -07:00
Evan Almloff
0127501dbf
Improve inline docs (#2460)
Improve inline docs

* improve incorrect event handler return error message

* Improve event handler docs

* document the eval functions

* document spawn and common spawn errors

* fix event handler docs

* add notes about how you use attributes and elements in rsx

* add doc aliases for attributes and events we rename

* add some more aliases for common search terms

* don't doc ignore any public examples in core

* don't ignore public doc examples in ssr

* don't ignore examples in the dioxus package readme

* add a warning when you launch without a renderer enabled

* fix some outdated element docs

* add a bunch of examples to resource

* add notes about desktop events

* add more docs for use_resource

* add on_unimplemented hint to Dependency

* fix some unresolved links

* add examples to each of the router traits

* add not implemented errors for router traits

* add an example to the routable trait

* expand rsx macro docs

* improve memo docs

* update the dioxus readme

* mention dioxus crate features in the docs

* fix a bunch of doc tests

* fix html doc tests

* fix router doc tests

* fix dioxus signals doc tests

* fix dioxus ssr doc tests

* fix use_future example in the hooks cheat sheet

* add a javascript alias for eval

* fix hook explanation values

* remove unused embed-doc-image dependency
2024-06-06 18:15:17 -07:00
Evan Almloff
5494e38cf8
Fix event bubbling inside templates after a hot template reload (#2484) 2024-06-06 17:10:38 -07:00
Evan Almloff
b3cd4fac10
set up example scaping for docs.rs (#2450) 2024-05-28 13:05:55 -07:00
Evan Almloff
5290b658fd
Fix effects triggered from async tasks; improve work scheduling docs (#2370)
* outline work scheduling

* move scheduling code from dirty_scope to scheduler

* introduce queue_effect

* Run effects after all tasks are polled if there are no components rerendered

* add a new test for async effects
2024-05-04 15:30:13 +01:00
Evan Almloff
05eaca320f fix empty docs clippy warning 2024-05-03 13:41:48 -05:00
Evan Almloff
fc2b441ee1
Fix memorization for the fragment component (#2360) 2024-04-26 00:48:06 -04:00
Evan Almloff
47c87568e1
Fix event handler memory leak (#2298)
* fix event handler memory leak and double drops

* Prevent double dropping generational boxes

* recycle instead of dropping
2024-04-26 00:47:22 -04:00
Evan Almloff
08da9a1253
Implement hash fragments in the router (#2320)
* implement hash fragments in the router

* clean up query and search example

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-04-25 14:30:25 -04:00
Evan Almloff
88f3558419
Fix reclaim element when hot reloading (#2361)
* Fix reclaim element when hot reloading

* Just disable headless tests on windows
2024-04-25 13:36:43 -04:00
Evan Almloff
5ce91e1bfc
Fix flakey windows tests (#2332) 2024-04-17 15:08:38 -07:00
Marc Espin
29f69fa145
fix: Update use_hook docs (#2296)
* fix: Update `use_hook` docs

* rust

* fixes
2024-04-11 15:43:58 -05:00
Evan Almloff
a012fb57ab
poll tasks in the same order they are queued (#2273) 2024-04-08 18:44:43 -07:00
Evan Almloff
26c109f661
fix volatile attributes (#2278) 2024-04-08 18:42:48 -07:00
Ahmet Kaan GÜMÜŞ
e03593cff7
docs: ✏️ unnecessary need to in global_context.rs (#2268) 2024-04-08 08:51:14 -05:00
Jonathan Kelley
702509cb7e
Fix recycling on component callbacks (#2247) 2024-04-04 16:48:06 -07:00
Jonathan Kelley
633e2a70a4
Fix memory leak in owner (#2245)
* Fix: memory leak on listeners for elements

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-04-04 15:32:23 -07:00
Jonathan Kelley
44fe2defc2
Fix: memory leak on listeners for elements (#2244)
* Fix: memory leak on listeners for elements
* Recycle in manuallydrop

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-04-04 14:25:17 -07:00
Jonathan Kelley
6f3c5518ca
Feat: provide root context as method on virtualdom (#2243) 2024-04-04 12:00:06 -07:00
Jonathan Kelley
821a650f77
Fix: requeue events, process events (#2236)
* Fix: requeue events, process events

* Fix test: wait_for_work shouldn't wait 3 times when one update happens while rendering
2024-04-04 11:46:31 -07:00
Evan Almloff
c8140c78b3
reuse placeholder and empty nodes on each thread to reduce allocation (#2217) 2024-04-02 10:52:16 -07:00
Evan Almloff
5df333fca2
fix and test spawn_forever (#2216) 2024-04-02 10:52:00 -07:00
Marko Lazić
cec6b92e42
Move dioxus_core::diff::node logs from info to trace #2165 (#2182)
Co-authored-by: Lazić <markolazic@protonmail.com>
2024-03-29 12:17:00 -05:00
Jonathan Kelley
537f064001
Remove some old docs, cleanup some readmes 2024-03-27 17:28:30 -07:00
Miles Murgaw
3cbe6ff96e
Fix Outdated README.md (#2147)
* fix: outdated readme

* Fix missing readme

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-03-26 19:17:02 -07:00
Evan Almloff
0662033c84
Fix early drop of eventhandlers (#2126)
* fix early drop of eventhandlers

* add a test for stale props that are memorized in place

* fix clippy
2024-03-22 14:37:02 -07:00
Jonathan Kelley
44e997f7df
Fix eventhandler optional (#2119) 2024-03-20 09:04:37 -07:00
Evan Almloff
58f7efafea
Make EventHandler copy (#2112)
* implement Copy for EventHandler
* implement from closure for event handler and remove special on prefix
* fix props implementation of EventHandler
2024-03-19 19:48:53 -07:00
Jonathan Kelley
2dc6cecf2e
Fix #2043: use formvalue instead of String for forms (#2103)
Fix #2043: use formvalue instead of String for forms
2024-03-18 18:21:08 -07:00
Jonathan Kelley
9c64fc4769
Fix #1938, allow explicit props 2024-03-18 15:34:46 -07:00
Jonathan Kelley
6ab6e56de9
Make clippy happy 2024-03-17 21:39:29 -07:00
Jonathan Kelley
834d490beb
Fix: #2095, #1990
- Don't merge dynamic attributes together unnecessarily
- Walk the workspace until we find a target dir with the dioxusin handle
2024-03-17 21:14:26 -07:00
Jonathan Kelley
1b8f7023f9
Merge branch 'main' into unwind-into-error-boundary 2024-03-15 12:15:55 -07:00
Jonathan Kelley
9474ad54cc
Make clippy happy 2024-03-14 22:40:23 -07:00
Evan Almloff
2e7b8cb178 unwind panics into error boundaries 2024-03-13 18:55:57 -05:00
Jonathan Kelley
e4f65b7260
Tests: add tests for hotreload and recurse into children 2024-03-13 14:15:34 -07:00
Jonathan Kelley
bca5335f31
fix: hotreloading files with multiple templates, asset hotreloading 2024-03-13 02:13:37 -07:00
Evan Almloff
88e2dc127a Never remove queued tasks without polling during suspense 2024-03-11 17:43:08 -05:00
Evan Almloff
bbc81b8f9c fix memos in children; introduce isomorphic spawn 2024-03-08 16:40:31 -06:00
Jonathan Kelley
7461a14cb4
fix 2020: return None if the root nodes are empty in rsx (#2026) 2024-03-08 15:57:46 -06:00
Jonathan Kelley
295c29db5d
Merge pull request #2005 from ealmloff/fix-suspense
Only poll suspended futures, lazy memos
2024-03-07 23:43:52 -08:00
Evan Almloff
9bad802beb clean up dirty scopes module 2024-03-07 21:04:48 -06:00
Evan Almloff
cca92b9fed remove extra logging 2024-03-07 20:51:19 -06:00
Evan Almloff
e72bf5820f reuse remove_task in handle_task_wakeup 2024-03-07 20:47:43 -06:00