Commit graph

84 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
Evan Almloff
c55c17cb81 switch to tracing for logging 2023-09-06 17:47:33 -05:00
ealmloff
c8127e164b
Url decode routes (#1407)
* fix a few new clippy lints

* url decode routes

* fix catch all segments

* fix clippy
2023-09-06 12:56:43 -05:00
Jonathan Kelley
39e89c1fac
Bump crate versions, fix any publish errors 2023-07-31 18:49:54 -07:00
Evan Almloff
3eab363e51 Add authors to all crates 2023-07-31 17:30:18 -07:00
Jonathan Kelley
5e3451a6f2
Quiet cargo warnings 2023-07-26 21:02:39 -07:00
Jonathan Kelley
a49fd81523
fix merge conflict 2023-07-20 10:55:52 -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
niedzwiedzw
f159779af4 make thiserror a workspace dependency everywhere else 2023-07-11 22:54:24 +02:00
ealmloff
39ec5f498c
Merge branch 'master' into router-typesafe 2023-07-10 19:16:39 -05:00
Marc Espín
32d4472bfd
fix: Remove duplicated doc links and improved some descriptions (#1167) 2023-07-08 11:04:27 -05:00
Evan Almloff
7b1f0c9412 Merge branch 'master' into router-typesafe 2023-06-28 08:56:07 -07:00
Evan Almloff
c238c22eb5 add required features to fix tests 2023-06-24 14:07:48 -07:00
Evan Almloff
e83866b986 fix router examples 2023-06-24 13:44:22 -07:00
Evan Almloff
a165e13564 add cache headers 2023-06-24 13:21:12 -07:00
Evan Almloff
1704ee0068 router/fullstack/ssr intigration 2023-06-22 16:51:48 -07:00
Evan Almloff
28f875857e add timestamps to incremental rendering 2023-06-22 12:13:51 -07:00
Evan Almloff
3a690877d1 basic incremental renderer 2023-06-21 18:36:32 -07:00
Evan Almloff
5f873511c5 use workspace dependancies 2023-06-19 14:29:11 -05:00
Evan Almloff
2f473f7c97 make serde optional 2023-06-01 11:03:44 -05:00
Evan Almloff
7ae8403af7 update web history 2023-05-23 11:22:57 -05:00
Evan Almloff
e4b8fbfafe Intigrate macro with router hooks and components 2023-05-22 16:42:32 -05:00
Adrian Wannenmacher
00174d4f46
switch router to async-lock 2023-04-11 19:58:07 +02:00
Adrian Wannenmacher
231e32d76e
merge upstream changes 2023-04-11 19:21:48 +02:00
Arniu Tseng
ec8b77ab32 Remove unused simple-logger 2023-03-25 18:20:01 +08:00
Jonathan Kelley
7f01f61138 feat: publish 0.3 versions of many crates 2023-01-04 14:31:07 -05:00
Adrian Wannenmacher
7d0c098a61
try fix CI test 2022-12-16 12:55:50 +01:00
Adrian Wannenmacher
38915b1f96
try fix CI test 2022-12-16 12:33:46 +01:00
Adrian Wannenmacher
53d97755fd
add web history integration 2022-12-15 14:46:40 +01:00
Jonathan Kelley
79e786aca5 chore: convert to logs 2022-12-13 12:38:27 -08:00
Adrian Wannenmacher
7d2466ff28
make hooks return a result instead of an option 2022-12-13 11:09:24 +01:00
Adrian Wannenmacher
64399794c0
document hooks 2022-12-13 10:46:30 +01:00
Jonathan Kelley
d4b6bb8a7b feat: fix the scope rollover bug 2022-12-12 18:31:30 -08:00
Adrian Wannenmacher
ef76453422
fix release build 2022-12-09 01:42:30 +01:00
Adrian Wannenmacher
a170aa76e0
add simple example 2022-12-09 01:15:04 +01:00
Adrian Wannenmacher
26543a1876
add Outlet component 2022-12-06 12:02:51 +01:00
Adrian Wannenmacher
3b088be9a6
add use_router hook 2022-12-06 11:03:01 +01:00
Adrian Wannenmacher
998f9b9ec9
clean out router 2022-12-06 10:11:22 +01:00
Jonathan Kelley
90982e0ccb wip: start to refactor out hot reloading from packages
Also implement alternative simpler template system
2022-10-20 09:56:09 -07: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
Evan Almloff
041f474329 Merge remote-tracking branch 'upstream/master' into clean_up_rsx_imports 2022-06-26 07:22:55 -05:00
Evan Almloff
fbf8e13b8d clean up imports 2022-06-25 08:27:10 -05: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
Jonathan Kelley
ed07e914d3 fix: compile router on web 2022-03-09 21:14:22 -05:00
Jonathan Kelley
1c2e5e2aea publish: update dioxus with router fix 2022-03-09 17:53:02 -05:00
Jonathan Kelley
e7505188d6 release: make a new 0.2.0 release of Dioxus 2022-03-09 14:24:05 -05:00
Jonathan Kelley
57bd8b7ce2 fix: enable wasmtest feature 2022-03-04 13:16:37 -05:00
Jonathan Kelley
82f69a9ca6 fix: feature flagging 2022-03-04 13:16:37 -05:00
Jonathan Kelley
c7627f0b93 fix: tests pass 2022-03-04 13:16:37 -05:00