Commit graph

18 commits

Author SHA1 Message Date
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
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
Evan Almloff
947a153347 make navigator non-generic 2023-07-26 11:08:45 -07:00
Evan Almloff
5f0dd3af3e it almost lives? 2023-07-25 18:14:48 -07:00
Evan Almloff
61dc549ba1 Make new enum router less breaking 2023-07-24 11:57:56 -07:00
Evan Almloff
d19a33d59c fix reversed nests 2023-07-14 11:40:38 -07:00
Evan Almloff
bc99d9b01a fix formatting 2023-06-01 17:48:43 -05:00
Evan Almloff
67992f7da9 create cfg factory 2023-06-01 13:13:50 -05:00
Evan Almloff
2f473f7c97 make serde optional 2023-06-01 11:03:44 -05:00
Evan Almloff
fe601e2a48 restore navigator 2023-06-01 09:45:31 -05:00
Evan Almloff
ece8f0fb22 general cleanup 2023-05-31 17:12:52 -05:00
Evan Almloff
35befa1784 update tests 2023-05-31 13:57:33 -05:00
Evan Almloff
58b74c1155 create redirects 2023-05-31 12:11:11 -05:00
Evan Almloff
ecc99cd013 format example 2023-05-23 19:39:18 -05:00
Evan Almloff
d3b21879fb create non generic wrappers for each route 2023-05-23 19:31:30 -05:00
Evan Almloff
3678fa1d3f create example 2023-05-23 19:09:24 -05:00
Evan Almloff
b91fb39142 Merge branch 'upstream' into router-typesafe 2023-05-23 11:24:31 -05:00
Evan Almloff
ed4709101c fix duplicate example names 2023-05-02 09:38:58 -05:00
Renamed from packages/router/examples/simple.rs (Browse further)