Commit graph

354 commits

Author SHA1 Message Date
Evan Almloff
3865f44081 make desktop compile 2024-01-05 14:39:45 -06:00
Exotik850
493b0693c5 Put channels back in hook 2023-12-12 13:15:41 -06:00
Exotik850
fdce7bbe5a Return to just TaskId, still polling 2023-12-12 13:02:35 -06:00
kidkool850@gmail.com
69ca1fd8a7 Make cx.spawn() return an Option<TaskId>, returns None if finished immediately 2023-12-11 16:01:40 -06:00
Jonathan Kelley
ad885ec47a
Merge pull request #1650 from ealmloff/effect-cleanup
Add an optional cleanup closure to the use effect hook
2023-12-06 22:13:08 -08:00
Jonathan Kelley
4444ba0b97
Merge pull request #1576 from ealmloff/fix-lints-release-web
Fix use shared state lint in release mode
2023-12-06 21:39:36 -08:00
Exotik850
694989e826
Add use_const hook (#1667)
* Add use_const hook

* cargo fmt

* clippy allow

* pub fn on get_rc
2023-11-28 09:51:09 -06:00
Exotik850
18fa1e4831
Make UseFuture Clone, factor out dependencies field (#1666) 2023-11-27 15:42:48 -06:00
ealmloff
7a459e15d8
Update packages/hooks/src/use_effect.rs
Co-authored-by: Marc Espín <mespinsanz@gmail.com>
2023-11-21 16:28:06 -06:00
Evan Almloff
83f7ef9a44 add an optional cleanup closure to the use effect hook 2023-11-19 09:58:00 -06:00
Evan Almloff
6e85ecea12 fix use shared state lint in release mode 2023-10-25 10:23:23 -05:00
Evan Almloff
9f729dd6de fix clippy 2023-10-14 14:32:08 -05:00
Evan Almloff
3bf6d2d7cf add must use to several hooks 2023-10-14 12:08:54 -05:00
Leonard
2d1234c3d1
Include README and Dioxus logo in package docs (#1536)
* Include README in docs.rs and add Dioxus logo

* Update README.md
2023-10-10 10:52:48 -05:00
Leonard
30a3283438
Add use_on_mount and fix some typos (#1497)
* Add `use_on_mount` and fix some typos

* Optimize away UseOnMount struct

* `use_on_mount`, `use_on_unmount` -> `use_on_create`, `use_on_destroy`

* Make `use_on_unmount` deprecated

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-10-04 08:23:21 -05:00
Leonard
a2dd926f7f
Rename modules to use snake_case (#1498) 2023-09-26 17:20:29 -05:00
Calastrophe
98babe1096
partial ord impl (#1473) 2023-09-18 19:50:57 -05:00
Jonathan Kelley
1a093b895e
Merge pull request #1464 from marc2332/fix/update-doc-links-v3-to-v4
fix: Update doc links from v0.3 to v0.4
2023-09-16 11:53:17 -07:00
Jonathan Kelley
f2b05bcfb4
Merge pull request #1440 from ealmloff/fix-use-future-docs
Fix use_future docs
2023-09-16 11:52:54 -07:00
marc2332
7f8c963cd9
fix: Update doc links from v3 to v4 2023-09-16 19:03:27 +02:00
Leonard
c866ae602b
Add system for creating component attributes + new #[component] attribute (#1448)
* Add `#[component]` attribute + system for creating component attributes + other stuff

* Delete inlineprops.rs

* Update inline_props.rs

* Cargo fmt

* Fix clippy warnings and paths in props/mods.rs

* Include where clause in `#[inline_props]` output

* Allow Clippy type complexity in `LinkProps`

* Allow the type complexity lint for the entire link.rs file

* Remove snake_case -> PascalCase converter, but rather enforce PascalCase

Also:
- Put the second function inside the main one instead of besides it.
- Simplify

* Simplify type check lints so they don't return false positives

They will not always work, but they won't return any false positives, like for aliases. This is likely going to be replaced by a more polished Clippy-backed linting system.

* Fix #583

* Cargo fmt

* Add docs for `deserialize()` and remove useless comment

* Add `#[component]` to prelude

* Merge branch 'master' of https://github.com/tigerros/dioxus

* #[inline_props] is no more. Except in the docs folder, but that's going to be removed

* Remove docs folder

* Remove docs from workspace

* Resolve `DeserializerOutput` conversation
2023-09-15 09:13:36 -05:00
Jonathan Kelley
b68a1f57e0
Merge pull request #1436 from ealmloff/tracing 2023-09-13 10:41:23 -07:00
Daniel Albl
18dca07e4b
Use a gen in PartialEq for UseSharedState (#1389)
* Special case UseFutureDep for UseSharedState

* Add 'gen' to UseSharedState for use in 'PartialEq'

* Update 'gen' in 'UseSharedState::new'

* Don't require PartialEq for T in UseSharedState

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-09-13 12:10:03 -05:00
Evan Almloff
da627cdf3a fix use_future docs 2023-09-08 09:44:09 -05:00
Evan Almloff
c55c17cb81 switch to tracing for logging 2023-09-06 17:47:33 -05:00
Marc Espín
a0d1e5de3a
fix: Typo on use_on_unmount (#1421) 2023-09-02 17:51:34 -05:00
Daniel Albl
555f4d5834
Add 'with' and 'with_mut' to 'use_shared_state' (#1353) 2023-08-15 13:27:19 -05:00
Evan Almloff
24c626b306 fix clippy 2023-08-08 13:43:57 -07:00
Evan Almloff
4ee4cf23d3 restore a few unneeded breaking changes 2023-08-08 13:37:29 -07:00
Evan Almloff
cfd68bf7d9 document signals crate 2023-08-07 16:56:49 -07:00
Jonathan Kelley
39e89c1fac
Bump crate versions, fix any publish errors 2023-07-31 18:49:54 -07:00
Jonathan Kelley
456b553c93
Merge pull request #1230 from Demonthos/add-computed
Add computed hook
2023-07-31 17:37:47 -07:00
Evan Almloff
d7f7116ce3 clean up the API a bit 2023-07-28 14:17:52 -07:00
Marc Espín
fad3272afb
fix: Update use_coroutine example (#1237) 2023-07-24 11:32:32 -05:00
Miles Murgaw
6210c6fefe
Convert use_eval to use send/recv system (#1080)
* progress: reworked

don't run this, it'll kill your web browser

* feat: use_eval but with comms

* revision: async recv & recv_sync

* revision: use_eval

* revision: standard eval interface

* revision: use serde_json::Value instead of JsValue

* revision: docs

* revision: error message

* create: desktop eval (wip)

* fix: desktop eval

* revision: wrap use_eval in Rc<RefCell<_>>

* fix: fmt, clippy

* fix: desktop tests

* revision: change to channel system

- fixes clippy errors
- fixes playwright tests

* fix: tests

* fix: eval example

* fix: fmt

* fix: tests, desktop stuff

* fix: tests

* feat: drop handler

* fix: tests

* fix: rustfmt

* revision: web promise/callback system

* fix: recv error

* revision: IntoFuture, functionation

* fix: ci

* revision: playwright web

* remove: unescessary code

* remove dioxus-html from public examples

* prototype-patch

* fix web eval

* fix: rustfmt

* fix: CI

* make use_eval more efficient

* implement eval for liveview as well

* fix playwright tests

* fix clippy

* more clippy fixes

* fix clippy

* fix stack overflow

* fix desktop mock

* fix clippy

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-07-21 17:36:25 -05:00
Evan Almloff
8af0f0a76a Fix future value never updating 2023-07-21 12:47:51 -07:00
Evan Almloff
bfc8240438 Fix use_future always spawning a new task 2023-07-21 11:52:41 -07:00
Evan Almloff
33ee0636d6 add computed hook 2023-07-20 11:07:55 -07:00
Jonathan Kelley
91d4207fa7
Merge branch 'master' into feature/use-shared-state-better-diagnostics 2023-07-20 10:51:10 -07:00
Andrea Frigido
dccad58f1d Update license field following SPDX 2.1 license expression standard 2023-07-20 18:00:07 +01:00
Jonathan Kelley
c954a116eb
Fix race condition in use_future 2023-07-19 14:23:34 -07:00
Marc Espín
9cbc086aa1
fix: Update use_ref docs (#1201) 2023-07-17 11:02:02 -05:00
Jonathan Kelley
78d383bf1f
Merge pull request #1128 from marc2332/feat/improved-docs
feat(docs): Improved shared state, use_effect and use_memo docs
2023-07-14 15:20:40 -07:00
Jonathan Kelley
9d2b44aa0f
Merge branch 'master' into feature/use-shared-state-better-diagnostics 2023-07-14 15:07:53 -07:00
Jonathan Kelley
2d8841cf70
Add lazy contexts to signals 2023-07-14 12:52:49 -07:00
niedzwiedzw
337697a886 test with forked version of debug-cell 2023-07-13 20:12:28 +02:00
Jonathan Kelley
b25501af48
Merge pull request #1139 from Demonthos/add-onunmount-hook
Add on unmount hook
2023-07-12 14:26:56 -07:00
niedzwiedzw
60d6137f39 better display for locations in panic messages 2023-07-12 16:36:17 +02:00
niedzwiedzw
9154b0f8ea pass the information on previous caller on clone 2023-07-12 16:24:39 +02:00
niedzwiedzw
af091c5bf8 turns out Result combinators are not marked with #[trace_caller], so it must be written without function nesting in order to work 2023-07-12 16:20:19 +02:00
niedzwiedzw
3fa519563e prevent inlining 2023-07-12 12:27:17 +02:00
niedzwiedzw
760d93716f also track previous caller in the in debug mode to show the conflicting borrow 2023-07-12 02:53:48 +02:00
niedzwiedzw
9da32d5465 oh yeah, tracking itself should also be debug-only 2023-07-12 01:53:00 +02:00
niedzwiedzw
b8c14ce35c make location diagnostics optional (only available in debug mode) 2023-07-12 01:38:50 +02:00
niedzwiedzw
43e3304eaf track caller for easier debugging 2023-07-12 01:19:20 +02:00
niedzwiedzw
f159779af4 make thiserror a workspace dependency everywhere else 2023-07-11 22:54:24 +02:00
niedzwiedzw
469a7ac0af better diagnostics for use_shared_state 2023-07-11 21:41:52 +02:00
Marc Espín
32d4472bfd
fix: Remove duplicated doc links and improved some descriptions (#1167) 2023-07-08 11:04:27 -05:00
traxys
f2c1c05792 Add a helper macro for properties & async
The to_owned macro is helpful to handle hooks with async components, but
when using properties it can be problematic because `cx` will be moved
in the async block, and will result in a compilation error. This adds a
new helper that allows to make either hooks or properties owned.
2023-07-06 15:18:19 +02:00
ealmloff
d1cd4851aa
Merge branch 'DioxusLabs:master' into add-onunmount-hook 2023-07-03 12:09:13 -07:00
marc2332
052ae145bf
updated docs 2023-07-02 23:00:26 +02:00
Evan Almloff
a6e87cf340 fix tests 2023-06-30 12:56:22 -07:00
Jon Kelley
3985bd664b
Merge pull request #1084 from marc2332/patch-6
fix: Properly drop UseFuture's values to avoid leaking memory
2023-06-30 12:12:09 -07:00
Evan Almloff
60b25e9c2f add on unmount hook 2023-06-30 08:54:08 -07:00
Marc Espín
f4e1d78d7a
fix(docs): Fix dioxus-hooks crate description (#1134) 2023-06-29 10:27:54 -05:00
marc2332
8a2f9f3fcb
feat(docs): Improved shared state, use_effect and use_memo docs 2023-06-28 00:15:00 +02:00
Jon Kelley
dfa4d8d989
Merge pull request #1105 from Demonthos/workspace-dependancies
Workspace Dependancies
2023-06-27 10:17:12 -07:00
Marc Espín
a3654fd0b8
Update use_shared_state.rs 2023-06-20 19:13:34 +02:00
Evan Almloff
5f873511c5 use workspace dependancies 2023-06-19 14:29:11 -05:00
Marc Espín
1546fce485
fix: Properly drop UseFuture's values to avoid leaking memory 2023-06-10 18:26:02 +02:00
Jonathan Kelley
c97f43146d bump hooks and web crates 2023-05-18 13:42:15 +02:00
Miles Murgaw
06233ac550 fix: rustfmt 2023-05-13 12:41:00 -04:00
Miles Murgaw
d059b2bc05 doc: mention futures-util in use_coroutine hook 2023-05-13 11:50:24 -04:00
Evan Almloff
2dd40ec202 add docs to remaining items 2023-03-02 12:02:12 -06:00
Evan Almloff
88198fc47c remove static bound on owner 2023-03-02 11:59:25 -06:00
Evan Almloff
d238481936 reduce indirection and remove some unnecessary methods 2023-03-02 11:54:21 -06:00
Evan Almloff
f5c058a2eb make use_shared_state usable in static futures 2023-03-02 11:42:02 -06:00
Yin Jifeng
62d30bc254 chore: reimplement usefuture::state 2023-02-23 16:39:50 +08:00
Jan-Mirko Otter
9ac8210196 PartialEq for UseState/UseCoroutine 2023-02-22 20:26:21 +01:00
Evan Almloff
a51f67c2ec add version to docs links in readmes 2023-02-18 18:38:30 -06:00
Jon Kelley
4f0f2484fd
Merge pull request #774 from Demonthos/update-doc-links
Update guide doc links
2023-02-17 11:53:15 -08:00
Evan Almloff
c7e957d6f9 add use_memo 2023-01-29 15:57:40 -06:00
Evan Almloff
b6c7d44a27 fix clippy 2023-01-27 20:35:46 -06:00
Evan Almloff
3f3db39c28 update doc links 2023-01-15 15:18:12 -06:00
Evan Almloff
52d5c8d4e7 update READMEs and tags for the 0.3 release 2023-01-10 10:16:11 -06:00
Jonathan Kelley
7f01f61138 feat: publish 0.3 versions of many crates 2023-01-04 14:31:07 -05:00
Maurice Kayser
c8f88b6428
Fix typo (#702) 2023-01-01 14:41:18 -06:00
Jonathan Kelley
4fdbce9a70 chore: clean up readmes 2022-12-29 16:17:03 -05:00
Jonathan Kelley
0bf4725639 fix: namespacing of dynamic attributes 2022-12-07 15:11:51 -08:00
Jonathan Kelley
db5b65b6cb chore: make cargo check happy with new apis 2022-12-07 14:51:14 -08:00
Jonathan Kelley
4eefc3f854 chore: rename all &cx to cx, make clipppy happy 2022-12-07 13:11:40 -08:00
Jonathan Kelley
5673017def chore: clean up the repo some 2022-12-06 17:50:25 -08:00
Jonathan Kelley
1b14b309e9 chore: clean up desktop 2022-12-06 16:37:28 -08:00
Jonathan Kelley
b182a6ee75 chore: clean up interpreter and bindings 2022-12-05 16:47:04 -08:00
Jonathan Kelley
df4a1b6c7a chore: finish tweaking context api 2022-12-05 15:30:49 -08:00
Jonathan Kelley
99a818996e chore: make warnings go away 2022-12-05 14:18:28 -08:00
Jonathan Kelley
e22923eb2d feat: core tests passing 2022-12-05 14:16:54 -08:00
Jonathan Kelley
a61daf220d feat: context api overhaul 2022-12-02 16:24:49 -08:00
Jonathan Kelley
3b166c9edd wip: clean up some things 2022-11-30 23:54:30 -05:00
Jonathan Kelley
5253ce6b65 wip: usecallback 2022-11-19 13:43:19 -08:00
Jonathan Kelley
57c10174ec wip: add use_callback hook 2022-11-19 13:21:02 -08:00
Jonathan Kelley
30ef225812 feat: event handling on desktop 2022-11-17 20:00:39 -08:00
Jonathan Kelley
073fea9ed3 Merge branch 'master' into jk/templates-v3 2022-11-16 22:24:21 -08:00
Demonthos
f21c8423eb
optimizations for wasm size (#582)
* optimize for size

* fix tests

* revert log feature

* make backtrace not optional

* remove dev feature from web dev-deps
2022-11-16 22:22:13 -08:00
Jonathan Kelley
642b21f125 suspense works in desktop 2022-11-16 11:48:47 -08:00
Jonathan Kelley
fc9fe6e560 feat: split apart template mutations 2022-11-08 19:39:37 -08:00
zohnannor
15e9aa1958
Fix weird docs typo/copy-paste error (#507)
- introduced in a8952a9ee8 and 4518b6bc8c
2022-07-24 17:21:11 -05:00
Reinis Mazeiks
d734dc5b46
Remove argument from use_hook closure (#496)
Also; update docs for said function
2022-07-11 15:50:56 -04:00
Jon Kelley
d9546d9504
Renderers are now packages, not features. (#387)
* feat: use synchronous router design

* feat: function to get router out of dom

* chore: restructure workspace to use renderers as packages, not features
2022-07-09 15:15:20 -04:00
Jonathan Kelley
cd7ee47e40 fix: make clippy happier with rust 1.63 2022-06-30 16:35:33 -04:00
Rowin Hernández
95573d1f54
Update useref.rs defualt -> default 2022-05-09 18:48:50 +01:00
Jonathan Kelley
3febd42588 Release dioxus-core v0.2.1, dioxus-core-macro v0.2.1, dioxus-html v0.2.1, dioxus-interpreter-js v0.2.1, dioxus-desktop v0.2.3, dioxus-hooks v0.2.1, dioxus-liveview v0.1.0, dioxus-native-core v0.2.0, dioxus-native-core-macro v0.2.0, dioxus-router v0.2.3, dioxus-ssr v0.2.1, dioxus-tui v0.2.2, dioxus-web v0.2.1, fermi v0.2.1, dioxus v0.2.4 2022-05-02 23:57:20 -04:00
Koptan
04cb82b31a fix: export useeffect in hooks module 2022-04-26 19:19:13 +02:00
YuKun Liu
fe3577faaf fix: usestate docs 2022-03-28 10:42:09 +08:00
Joshua Kifer
1b736f1001 Remove release_max_level features from several Cargo.toml log dependencies 2022-03-15 17:59:30 -06:00
Jonathan Kelley
e7505188d6 release: make a new 0.2.0 release of Dioxus 2022-03-09 14:24:05 -05:00
Jonathan Kelley
50d509688d feat: update examples for tui 2022-03-09 13:36:30 -05:00
Jonathan Kelley
3e9023b131 docs: finish async 2022-03-09 10:22:12 -05:00
Jonathan Kelley
9846e0947b
Merge pull request #297 from DioxusLabs/jk/use-ref-memo
feat: memoize useref by tracking mutations
2022-03-08 01:00:23 -05:00
Jonathan Kelley
124c5def45 feat: memoize useref by tracking mutations 2022-03-07 16:02:44 -05:00
Jonathan Kelley
0f87ebb277 docs: even more docs 2022-03-06 20:37:57 -05:00
Jonathan Kelley
a4ab2d9de0 feat: enable addassign for usestate 2022-03-05 17:07:34 -05:00
Jonathan Kelley
bec2f4129b
Merge pull request #203 from DioxusLabs/jk/local-router
Feat: abstract the router on a per-platform basis and add docs
2022-03-05 14:16:18 -05:00
Jonathan Kelley
156e3c21ba feat: add split method to use_state 2022-03-04 14:31:04 -05:00
Jonathan Kelley
6c3f5195f4 feat: re-unify set_state 2022-03-04 14:29:45 -05:00
Jonathan Kelley
f2979cb12a feat: apply local router changes 2022-03-04 13:16:37 -05:00
Jonathan Kelley
e932ed202a fix: macro export 2022-03-02 18:13:57 -05:00
Jonathan Kelley
62f3d1b38e fix: macro export 2022-03-02 18:02:14 -05:00
Jonathan Kelley
e51b47d1fb chore: move macros around 2022-03-02 17:56:12 -05:00
Jonathan Kelley
d512a6758f Merge branch 'master' into jk/coroutine-coroutineoverhaul 2022-02-26 17:50:38 -05:00
Jonathan Kelley
d07e145df6 clippy: update for recent update 2022-02-26 17:39:25 -05:00
Jonathan Kelley
74f40da997 clippy: remove unused module 2022-02-26 17:36:33 -05:00
Jonathan Kelley
77631bff1f Merge branch 'master' into jk/documet-everything 2022-02-26 17:33:06 -05:00
Jonathan Kelley
2b17717323 Merge branch 'master' into jk/coroutine-coroutineoverhaul 2022-02-26 17:32:11 -05:00
Jonathan Kelley
4ad4b18e4b feat: useeffect 2022-02-26 17:31:35 -05:00
Jonathan Kelley
64edc6e1b1 feat: useeffect implemented 2022-02-26 03:12:22 -05:00
Ilya Maximov
916dc64402
style: format againkjdfakbjfbkasjd 2022-02-23 20:00:01 +01:00
Ilya Maximov
bda4a71a72
feat: change schedule_update's Rc to an Arc
BREAKING CHANGE
2022-02-23 19:47:17 +01:00
Jonathan Kelley
7a5c403e38 wip: add use_callback 2022-02-23 09:47:53 -05:00
Jonathan Kelley
3837899a7e fix: remove clutter 2022-02-21 23:35:12 -05:00
Jonathan Kelley
fbaf25dc6b feat: pair down usecoroutine and make it much happier 2022-02-21 23:34:18 -05:00
Jonathan Kelley
9211e1fc78 feat: use future fully figured out 2022-02-21 15:39:47 -05:00
Jonathan Kelley
86729d929d wip: coroutine works basically 2022-02-21 00:37:46 -05:00
Jonathan Kelley
f1af18c60b Merge branch 'master' into jk/coroutine-coroutineoverhaul 2022-02-20 23:53:55 -05:00
Jonathan Kelley
fb661e5519 wip: disable hook documentation 2022-02-20 23:52:54 -05:00
Jonathan Kelley
b2a4d387c7 docs: document all of desktop crate 2022-02-20 23:52:36 -05:00
Jonathan Kelley
e7022dfccf docs: more use_ref docs 2022-02-19 21:51:26 -05:00
Jonathan Kelley
45473ece8c feat: add some helpers to use_ref 2022-02-19 18:00:03 -05:00
Jonathan Kelley
e02dfc3324 fix: change use_state to be clone 2022-02-01 02:05:54 -05:00
Jonathan Kelley
fb75948363 fix: usestate modify panic 2022-01-31 14:33:25 -05:00