Commit graph

4421 commits

Author SHA1 Message Date
Evan Almloff
b965fc23e9 use a temp directory for the hot reloading pipe on desktop, fullstack and liveview 2023-12-06 17:01:51 -06:00
JMS55
8530f53692
Fix typo (#1695)
* Fix typo

* Fix typo again
2023-12-06 06:55:07 -06:00
Jonathan Kelley
6088483fb2
fix signals import 2023-12-05 23:01:10 -08:00
Jonathan Kelley
0c92486883
publish generational box 2023-12-05 22:57:20 -08:00
Ben Sully
04fd2487b3
feat(fullstack): add render_handler_with_state (#1687)
* feat(fullstack): add `render_handler_with_state`

When using server functions, the current pattern to access state such as
database connections is to use `register_server_fns_with_handler` on an
Axum router and 'inject' the state into the context provided to the
server function. However, this only affects function calls which go via
the Axum router; SSR renders bypass this, and therefore don't have
access to any state.

This commit adds an alternative `render_handler` which accepts some
additional state. That state is injected into the context in a
similar manner to `register_server_fns_with_handler`. SSR renders can
then proceed to run in the same way as HTTP calls.

* Change state object to 'inject_state' callback

Also add a compiling doctest example.

* remove the explicit for<'a> lifetime

* remove unused assets_path from render_handler_with_context example

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-12-05 14:10:18 -06:00
Raul Cesar Teixeira
8149868ebc
Fixed conflict of "--verbose" and "--quiet" flags (#1686)
Co-authored-by: Raul Cesar <raul@zideco.dev>
2023-12-04 18:11:02 -06:00
dependabot[bot]
e69a4a7cd8
Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0 (#1685)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.4.3...v4.5.0)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 07:07:35 -06:00
Felix F Xu
d404ddfccf
fix false notification/rebuild for dx hot-reload (#1684)
* fix false notification/rebuild for dx hot-reload

* Make sure we have permissions and the changed file exists before reading the metadata

---------

Co-authored-by: ealmloff <evanalmloff@gmail.com>
2023-12-03 20:02:30 -06:00
Felix F Xu
a2ca1760c9
Set local_socket_stream to blocking (default) (#1682) 2023-12-02 19:25:27 -06:00
zhangzhonglai
c8a9a7b1d5
docs(desktop): fix wrong example code (#1678)
* docs(desktop): fix wrong example code

* stop ignoring doctests in dioxus desktop

---------

Co-authored-by: ealmloff <evanalmloff@gmail.com>
2023-12-01 07:52:20 -06:00
Exotik850
e0fbed7eea
Switch outdated tui crate for ratatui (#1671)
* Switch outdated tui crate for ratatui

* fix query docs whoops
2023-11-28 16:54:17 -06:00
Exotik850
b4fe3829d1
Add cargo make tidy/miri (#1670)
* Add cargo make tidy/miri

* fmt

* seperate tidy and tests
2023-11-28 16:41:14 -06: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
8e4debb226
remove #[doc(hidden)] from EventHandler (#1665)
* remove #[doc(hidden)] from EventHandler

* Make UseFuture Clone, factor out dependencies field

* Revert "Make UseFuture Clone, factor out dependencies field"

This reverts commit 9ca09e595d.

* fix formatting

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-11-27 15:45:29 -06:00
Exotik850
18fa1e4831
Make UseFuture Clone, factor out dependencies field (#1666) 2023-11-27 15:42:48 -06:00
tigerros
d9220d4e42
Add it (#1660) 2023-11-23 16:44:39 -06:00
Exotik850
f8ce72c605
Fix outdated lazynode documentation (#1648)
* Fix outdated lazynode documentation

* Use expanded rsx! instead of just rsx macro
2023-11-20 09:49:18 -06:00
XiaoZhang
aa284d7e93
Fix grammar typo in comment (#1652) 2023-11-20 08:24:16 -06:00
HJin.me
ff6c7efb41
fix: tailwind.css use absolute path (#1649) 2023-11-19 11:22:54 -06:00
Raman Hafiyatulin
098689083d
Related to #1547: use dioxus-cli within a workspace (wildcard-members, real package names) (#1642)
* Related to #1547: use `dioxus-cli` within a workspace

Although the `dx` CLI allows to specify a package name to chose from workspace members,
it does not support workspace members specified as glob-wildcards.
Neither it respects the effective package name, specified in the crate's `Cargo.toml`.

This PR addresses that issue:
- upon `dx build ...`, if the `--bin` CLI-argument is provided, treat the current dir as a workspace;
- search through the workspace's `members`: resolve each of them with `glob`;
- assume that any workspace member has a `Cargo.toml` in it (cargo does it, so it's okay);
- read said manifest, and check the package name in it;
- if found — there we have our sought package.

* Use cargo-metadata to find out the workspace structure

* glob is unused
2023-11-15 15:14:16 -06:00
Alexander
62719c309a
fix keyboard input on calc example (#1639) 2023-11-14 10:39:37 -06:00
tigerros
d4b0451d09
Allow warning in necessary functions (#1626) 2023-11-09 12:31:59 -06:00
Joshua Wolfe
8ea7f076e5
Updated server_fn to 0.5.2 (#1620) 2023-11-08 08:33:41 -06:00
Jonathan Kelley
42faecf942
Merge pull request #1581 from ealmloff/drop-any-attribute-later
Drop any attribute after rendering
2023-11-06 16:52:30 -05:00
xTeKc
ca556ea9cb
update readme (#1615)
* Fix wasm-bindgen version mismatch

* fixes #1613
2023-11-06 13:32:42 -06:00
Marc Espín
c18f911429
Update atom_root.rs (#1611) 2023-11-04 14:04:14 -05:00
Lee TaeWoo
be1decf9f2
fix syntax error at derive Props using const generics (#1607) 2023-11-04 13:53:50 -05:00
Marc Espín
bb5738a0ba
fix: Read value from root when calling AtomState::current() (#1609) 2023-11-04 13:22:47 -05:00
Jonathan Kelley
a3e6d0adca
Merge pull request #1602 from ealmloff/fix-scroll-web 2023-11-02 22:35:16 -04:00
Evan Almloff
7590cf822d fix the scroll event on the web renderer 2023-11-02 21:00:43 -05:00
tigerros
bf36fc6def
Fix #[component] expansion Clippy warning (#1599)
Adds a `#[allow(clippy::inline_always)]` attribute to the generated `__dx_inner_comp` function.
2023-11-01 08:14:07 -05:00
Evan Almloff
51f342417a add examples to the default watch path 2023-10-30 14:41:41 -05:00
dependabot[bot]
78120ca0e2
Bump actions/setup-node from 3 to 4 (#1592)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-30 08:44:28 -05:00
HKalbasi
720bfdf231
Make window invisible until the first render (#1588) 2023-10-29 13:09:07 -05:00
Falco Hirschenberger
d4e6876ff6
Silence desktop build outputs from cargo (#1584)
Silence additional disturbing output from cargo in desktop builds
2023-10-27 08:29:43 -05:00
Emil Boman
f5bc1a9856
Implement LiveView Router Integration (#1505)
* Fix GoForwardButton calling can_go_back instead of can_go_forward

* Add first draft of LiveviewHistory

* Add external URL redirect

* Lock evaluator channel outside loop

* Add liveview to router examples

* fixup! Add liveview to router examples

* Communicate with liveview server on page load

* Add PopState event to Liveview routing

* Call updater callback from liveview history

* Add rudimentary PopState functionality to liveview router.

* Fix linter errors

* Refactor

* Fix navigator external redirection not working.

* Add go back and go forward buttons to router examples

* Finish functionality for timeline stack in liveview router

* Add docs to LiveviewHistory

* Replace Liveview history context attachment with constructor that takes context

* Fix go forward/backward history/future shuffle

* Support history across entire liveview session, if contiguous page jumps.

* Remove unnecessary bounds

* Add query and hash to location string

* Run rustfmt

* fix: Update server function docs link (#1489)

* liveview: Add `interpreter_glue_relative_uri (#1481)

* liveview: Add `interpreter_glue_relative_uri`

By utilizing `window.location.host` in the client-side JavaScript, we can easily derive the WebSocket URI from a relative path URI. This approach obviates the need for host address retrieval on the server side, unlike the method of serving glue code in liveview using `interpreter_glue`.

* liveview: Merge `.._relative_url` functionality

- Merged `.._relative_url` to current API `interpreter_glue`.
- Edit axum example to work with new feature.

* liveview: Fix clippy warning

* Rename modules to use snake_case (#1498)

* Change Scope into &ScopeState

* Move synchronization of state into router and make it opt-in

---------

Co-authored-by: Marc Espín <mespinsanz@gmail.com>
Co-authored-by: Seungwoo Kang <ki6080@gmail.com>
Co-authored-by: Leonard <tigerros.gh@gmail.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-10-26 14:19:51 -05:00
Evan Almloff
370c6cb9d2 fix clippy 2023-10-25 16:47:04 -05:00
Evan Almloff
b99f081c08 drop any attribute after rendering 2023-10-25 16:37:04 -05:00
Jonathan Kelley
035f26d4bf
Merge pull request #1573 from tigerros/fix-props-docs-line-breaks
Fix prop docs line breaks
2023-10-25 17:03:46 -04:00
Stephen Andary
b25fada776
Add Newtype so that Rust-url can be IntoRoutable (#1579)
* add newtype so that rust-url can IntoRoutable

* add doc line

* implement From<Url> directly

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-10-25 15:36:38 -05:00
Leonard
613f2f9aca Revert "Fix random clippy warning"
This reverts commit 85839abe56.
2023-10-24 01:41:46 +02:00
Leonard
85839abe56 Fix random clippy warning 2023-10-24 01:35:59 +02:00
Leonard
33d4721fbe Fix 2023-10-24 00:10:56 +02:00
Jonathan Kelley
647815fa6f
Merge pull request #1558 from ealmloff/link-key-props
Add an readable error when you name a prop key
2023-10-23 16:58:53 -04:00
Jonathan Kelley
716130d025
Merge pull request #1570 from ealmloff/clarify-web-gaurd-fullstack
Add error message when overlapping fullstack features are enabled
2023-10-23 16:32:34 -04:00
Jonathan Kelley
ea8c5e290d
Merge pull request #1551 from ealmloff/fix-signals-outside-of-runtime
Fix using signals outside of a scope
2023-10-23 15:32:12 -04:00
Evan Almloff
d9b32afd64 add error message when overlapping fullstack features are enabled 2023-10-23 12:45:10 -05:00
Leonard
cea9563e25
Improve prop docs (#1565)
* Do the stuff

* More sanitizing + fix warnings and format
2023-10-23 08:41:26 -05:00
Leonard
74952179db
Append prop documentation to function when using #[inline_props] or #[component] (#1563)
* Do the stuff

* Add deprecated warning and attribute list

Also move out methods that didn't take self as a parameter from `InlinePropsDeserializer`
2023-10-22 09:28:17 -05:00
Leonard
e41278af45
Add link to website section on contributing to root README (#1559) 2023-10-20 16:10:06 -05:00