Commit Graph
100 Commits
Author SHA1 Message Date
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 b6cdcb4e7f fix routers without an index route (#2477) 2024-06-06 17:03:59 -07:00
Evan Almloff 5e57779435 fix memo and resource caller information (#2443) 2024-06-06 17:01:42 -07:00
Evan Almloff 489758d5ba remove value attribute in addition to resetting it (#2480) 2024-06-06 17:00:54 -07:00
Evan Almloff e1044a2fa8 fix clippy 2024-06-06 15:34:52 -05:00
Evan Almloff b3cd4fac10 set up example scaping for docs.rs (#2450) 2024-05-28 13:05:55 -07:00
Evan Almloff afc1c7f31a enable the web renderer in the PWA example 2024-05-28 14:06:27 -05:00
Evan Almloff 1eb90bf43a fix static site generation with child routers 2024-05-23 12:32:39 -05:00
Evan AlmloffandJonathan Kelley 2523581cf4 Autocomplete rsx (#2421)
* autocomplete rsx

* hide the completions module

* fix autocomplete for identifiers that start with a raw identifier

* add field completion hints for props

* remove extra import

* Revert "add field completion hints for props"

This reverts commit 194899c73783e0f9b5d601d53365746d838f2048.

* fix autocomplete inside raw expressions

* fix autofmt

* feat: just use regular ifmt if it's compatible

reuses the tokens for ifmt so RA provides its HIR lowering on simple formatted strings

* fix merging ifmt strings

* add a better error message for components called like functions

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-05-22 07:24:50 -05:00
Evan Almloff 245003a5d4 Create a Static Site Generation platform; Deduplicate hot reloading code (#2226)
* create static site generation helpers in the router crate

* work on integrating static site generation into fullstack

* move ssg into a separate crate

* integrate ssg with the launch builder

* simplify ssg example

* fix static_routes for child routes

* move CLI hot reloading websocket code into dioxus-hot-reload

* fix some unused imports

* use the same hot reloading websocket code for fullstack

* fix fullstack hot reloading

* move cli hot reloading logic into the hot reload crate

* ssg example working with dx serve

* add more examples

* fix clippy

* fix formatting

* fix hot reload doctest imports

* fix axum imports

* don't run server doc tests

* Fix hot reload websocket doc examples
2024-05-22 07:24:15 -05:00
Evan Almloff e2002d6ea4 fix clippy 2024-05-20 13:01:04 -05:00
Evan Almloff 40df088b7d Make use_server_future accept FnMut (#2387) 2024-05-04 15:30:25 +01: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 472031d1f5 Fix link to file_upload example 2024-05-02 05:16:16 -05:00
Evan Almloff 74352f2f61 Fix desktop effect race condition (#2313)
* don't poll desktop before the render has been applied

* fix desktop headless tests

* move edit queued code into the edit channel and add more comments
2024-04-26 12:52:33 -04:00
Evan AlmloffandJonathan Kelley cbeda0af76 Refactor and fix eval channels (#2302)
* wip

* pull out eval into the interpreter

* fix web eval

* fix DioxusChannel name

* properly drop dioxus channel

* use typescript dioxus chanel in desktop

* add more comments to native eval

* add desktop headless eval tests

* expand web playwright eval tests

* fix web headless tests

* fix default hasher path

* run eval tests on windows

* restore desktop query drop code

* remove data from drop desktop query message

* catch syntax errors in desktop eval

* catch js runtime errors in desktop

* fix typo interprerter -> interpreter

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-04-26 11:55:48 -04:00
Evan Almloff 1d72ef16c4 Restore set compare hook (#2287)
* restore set compare hook

* fix use_set_compare doc example

* add a hook to compare a value with a set

* implement partialeq for SetCompare

* export the new hook

* fix the use_set_compare hook
2024-04-26 11:55:11 -04: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 a27d4e71ed Only compress web assets in the CLI (#2329)
* only compress web assets in the CLI

* precompressed -> pre-compressed

* only enable pre-compression in release builds
2024-04-26 00:47:04 -04:00
Evan AlmloffandJonathan Kelley 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 dd8e69635b Fix calling server functions on desktop (#2357) 2024-04-25 14:24:46 -04:00
Evan Almloff b30b363460 remove unused once-cell in memo (#2311) 2024-04-25 13:58:42 -04:00
Evan Almloff cf6998b5ba Warnings for signal writes that may cause infinite loops (#2277)
* warnings for signal writes that may cause infinite loops

* improve debugging output for reactive contexts on scopes

* expand help message
2024-04-25 13:58:25 -04:00
Evan Almloff 61360ea05f extend the subscriber list instead of overriding it; fixes subscribers added in mark_dirty (#2319) 2024-04-25 13:57:46 -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 39cef8fe42 fix out of order fields in route definitions (#2356) 2024-04-25 13:36:04 -04:00
Evan Almloff 6234f60b0e Fix desktop drag events that don't have associated files (#2358) 2024-04-25 13:34:21 -04:00
Evan Almloff 72ef58b95e Create use_muda_event_handler hook (#2367)
* create use_muda_event_handler hook

* fix use_muda_event_handler re-export
2024-04-25 13:32:34 -04:00
Evan Almloff 5ce91e1bfc Fix flakey windows tests (#2332) 2024-04-17 15:08:38 -07:00
Evan Almloff af524d979b Fix empty for loop, if statements and children (#2275)
* fix empty for loop, if statements and children

* fix clippy
2024-04-08 19:23:55 -07:00
Evan Almloff 40b576894f fix the assets head path (#2267) 2024-04-08 19:23:11 -07: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
Evan Almloff c43bbe6aa5 fix the relative paths issue in the fullstack crates.io build (#2248) 2024-04-04 18:30:14 -07:00
Evan Almloff 4d25e3f6a2 fix hydration for non-bubbling events (#2234) 2024-04-04 11:46:22 -07:00
Evan Almloff 11bf5ae34f fix firefox refreshing loop in debug mode (#2214) 2024-04-02 10:52:40 -07:00
Evan Almloff 4c209e39fe re-export generational box error types from the signals crate (#2212) 2024-04-02 10:52:27 -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
Evan Almloff 947b23bda5 fix rendering aborted nodes in SSR (#2218) 2024-04-02 10:51:48 -07:00
Evan AlmloffandJonathan Kelley 9f280a8d84 Fix child fields with the web history (#2172)
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-03-29 18:23:28 -07:00
Evan Almloff 6a781af693 Fix hydration for static text nodes at the root of the template (#2184)
* Fix hydration for static text nodes at the root of the template

* fix clippy
2024-03-29 18:22:55 -07:00
Evan Almloff 4a622348f2 Fix the mobile feature on the dioxus crate (#2185) 2024-03-29 18:22:41 -07:00
Evan Almloff a07e9aade4 Use simpler string formatting in the Leptos comparison 2024-03-29 09:57:29 -05:00
Evan Almloff 36f67bd5e2 update 0.4 doc links to 0.5 2024-03-27 20:42:07 -05:00
Evan Almloff e8491d5cf4 Require every field in router variants to be present in the route in the web history (#2159)
* require every field to be present in the URL in the web history

* remove desktop only extra field from the simple routes example
2024-03-27 18:12:35 -07:00
Evan AlmloffandJonathan Kelley 86d1dba699 Check type of launch config (#2125)
* Check type of launch config

* fix cargo check

* compile when using an explicit platform with other platforms enabled

* fix formatting

* fix overlapping TryIntoConfig implementations

* fix desktop headless tests

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-03-27 12:08:05 -07:00
Evan Almloff dadbab5d72 make some enums non-exhaustive (#2140) 2024-03-26 19:14:48 -07:00
Evan AlmloffandJonathan Kelley 460a685fa3 Warn if cli-config is not available at compile time (#2135)
* warn if a package relies on the CLI config, but it is not built with the CLI

* fix default features

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-03-26 19:10:26 -07:00
Evan Almloff 1b03bed20a Provide a better error message for wasm bindgen version mismatches (#2136)
* provide a better error message for wasm bindgen version mismatches

* fix clippy

* only rerun wasm bindgen if the first run fails

* remove old logs
2024-03-26 19:08:12 -07:00
Evan Almloff e464294c66 fix hot reload on windows (#2142) 2024-03-26 00:36:11 -07:00
Evan Almloff 9942c8bfd1 Fix asset bundling in the CLI (#2145)
* Fix asset bundling in the CLI

* fix clippy
2024-03-26 00:36:03 -07:00
Evan Almloff 2ac4bdb673 Switch to tracing for the cli (#2137)
* switch to tracing in the dioxus-cli

* bump manganis

* fix manganis features

* only print processing assets if skip assets is disabled

* switch all logs to tracing

* switch to published version of manganis

* undo all changes to cargo.toml

* remove reference to log
2024-03-25 15:21:51 -05:00
Evan Almloff da3b066934 Revert "switch to tracing"
This reverts commit 6608f73a2e.
2024-03-25 10:09:53 -05:00
Evan Almloff 6608f73a2e switch to tracing 2024-03-25 10:07:31 -05:00
Evan Almloff b19a546c0a Don't move over event handler fields when diffing props (#2129)
* don't move over event handler fields when diffing props

* Expand values_memoize_in_place test to cover the new bug case
2024-03-22 15:18:38 -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
Evan Almloff e012d816eb fix streaming server functions, and precompress assets in release mode (#2121) 2024-03-20 23:05:50 -07:00
Evan Almloff a5714e342c fix bounds on owner props (#2122) 2024-03-20 16:37:08 -07:00
Evan Almloff 9f283f571f fix signal error message and add tests (#2118) 2024-03-20 08:45:27 -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
Evan AlmloffandJonathan Kelley d442dac168 Add a menu bar option to the desktop config (#2107)
* add an option to set a custom menu in the desktop config

* Fix rename issue

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-03-18 22:36:47 -07:00
Evan Almloff df41df75d0 switch to use_reactive 2024-03-15 11:54:09 -05:00
Evan Almloff b8c41efb54 Merge branch 'DioxusLabs:main' into resource-dependancies 2024-03-15 08:46:17 -05:00
Evan Almloff 92416253e0 fix typo in signal docs 2024-03-14 15:07:16 -05:00
Evan Almloff eeab3658d4 bump sledgehammer bindgen to stable 2024-03-13 19:05:42 -05:00
Evan Almloff 2e7b8cb178 unwind panics into error boundaries 2024-03-13 18:55:57 -05:00
Evan Almloff 72940cc14f Remove NASM from CI 2024-03-13 14:05:42 -05:00
Evan Almloff a428c61457 fix the liveview launch function 2024-03-13 13:42:22 -05:00
Evan Almloff 81182f99ff fix and improve signal dependencies example 2024-03-13 12:00:18 -05:00
Evan Almloff 80aeba30c7 Merge branch 'main' into resource-dependancies 2024-03-13 10:03:44 -05:00
Evan Almloff 3866aa2977 simplify use_dependencies docs 2024-03-13 10:03:00 -05:00
Evan Almloff 0951a389f7 add a way to add manual dependency tuple to memos and effects 2024-03-13 09:54:48 -05:00
Evan Almloff 4985cfdfd0 restore write_silent as a deprecated function with updated recommendations 2024-03-13 09:34:49 -05:00
Evan Almloff 2bbc609082 add a way to subscribe to a dependency tuple for the use_resource hook 2024-03-12 16:50:03 -05:00
Evan Almloff 82ab212414 don't quit serving early if builds fail 2024-03-12 16:37:20 -05:00
Evan Almloff b2607a5b35 Fix temporary reads within rsx 2024-03-12 15:15:36 -05:00
Evan Almloff 81e0469cc2 implement copy for Resource 2024-03-12 15:15:24 -05:00
Evan Almloff 88e2dc127a Never remove queued tasks without polling during suspense 2024-03-11 17:43:08 -05:00
Evan Almloff 6b84f284c9 fix manganis assets overlapping between examples 2024-03-11 17:11:52 -05:00
Evan Almloff 29b9375fbd fix readme translation links 2024-03-11 16:29:12 -05:00
Evan Almloff 3e9a360b55 Merge branch 'main' into isomorphic-spawn 2024-03-11 15:42:47 -05:00
Evan Almloff f51b5617e1 add a test for the memo hook 2024-03-11 15:33:46 -05:00
Evan Almloff d575b3e4e4 fix the visibility of the read only signal helper struct 2024-03-11 14:46:51 -05:00
Evan Almloff bbc81b8f9c fix memos in children; introduce isomorphic spawn 2024-03-08 16:40:31 -06:00
Evan Almloff f8a8ee3e29 fix clippy 2024-03-08 12:45:23 -06:00
Evan Almloff ffc49530f6 implement readable and callable for all structs in the hooks crate 2024-03-08 11:17:28 -06:00
Evan Almloff 98158bdc6f fix headless tests 2024-03-08 10:54:02 -06:00
Evan Almloff 4bc2f4a713 add more docs around lifetime downcasting 2024-03-08 10:46:34 -06:00
Evan Almloff 5f9e5f607b rename take to manually drop 2024-03-08 10:35:27 -06:00
Evan Almloff 60a84956d1 restore lifetime checking for signals 2024-03-08 10:32:57 -06: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
Evan Almloff 3d7f419636 fix memos during suspense 2024-03-07 11:49:51 -06:00
Evan Almloff da4d9c70e8 fix memo chain example 2024-03-06 11:42:31 -06:00
Evan Almloff 492f0329bf remove flume, implement lazier memos 2024-03-06 11:38:28 -06:00