Commit graph

286 commits

Author SHA1 Message Date
Jonathan Kelley
7f01f61138 feat: publish 0.3 versions of many crates 2023-01-04 14:31:07 -05:00
Jonathan Kelley
4fdbce9a70 chore: clean up readmes 2022-12-29 16:17:03 -05:00
Jonathan Kelley
366e46eddf chore: add some fixes to hot reload 2022-12-25 23:22:43 -05:00
Jonathan Kelley
9b0244ee5c fix: use ready nodes in more places 2022-12-25 01:37:00 -05:00
Jonathan Kelley
85f6ea0545 feat: expand error boundary concept 2022-12-23 23:59:10 -05:00
Adrian Wannenmacher
f1e32f6358
rustfmt 2022-12-23 18:56:24 +01:00
Adrian Wannenmacher
f1cbfe0874
change router to use option again 2022-12-23 18:55:03 +01:00
Jonathan Kelley
5a70c6ecf9 chore: swap over router none 2022-12-22 14:45:48 -05:00
Jonathan Kelley
d3be971f4e chore: rollback to option instead of anyhow 2022-12-19 18:06:13 -08:00
Adrian Wannenmacher
7d0c098a61
try fix CI test 2022-12-16 12:55:50 +01:00
Adrian Wannenmacher
83d428b853
try fix CI test 2022-12-16 12:44:05 +01:00
Adrian Wannenmacher
38915b1f96
try fix CI test 2022-12-16 12:33:46 +01:00
Adrian Wannenmacher
75357e974d
rustfmt 2022-12-16 12:10:49 +01:00
Adrian Wannenmacher
da1862507e
update router readme 2022-12-16 12:03:59 +01:00
Adrian Wannenmacher
96bd8b5565
fix outlet depth override 2022-12-15 21:59:18 +01:00
Adrian Wannenmacher
10c2abf0d8
implement scroll restoration 2022-12-15 20:09:53 +01:00
Adrian Wannenmacher
53d97755fd
add web history integration 2022-12-15 14:46:40 +01:00
Adrian Wannenmacher
e26e44fbc5
fix router example indentation 2022-12-14 18:10:36 +01:00
Adrian Wannenmacher
41bcc1e1f8
remove unneeded code from simple router example 2022-12-14 18:09:37 +01:00
Adrian Wannenmacher
d866f6782e
add a bit more content to the router example 2022-12-14 18:07:04 +01:00
Jonathan Kelley
7e45f2aa04 feat: add scroll to 0 for web router 2022-12-13 15:00:54 -08:00
Jonathan Kelley
5c20e651da fix: get rollover working 2022-12-13 14:44:47 -08:00
Jonathan Kelley
79e786aca5 chore: convert to logs 2022-12-13 12:38:27 -08:00
Adrian Wannenmacher
9fcdacbeb8
add a few outlet tests 2022-12-13 18:28:36 +01:00
Adrian Wannenmacher
4677a00adc
apply clippy suggestions 2022-12-13 16:19:40 +01:00
Adrian Wannenmacher
83f6984b0a
change empty outlet to placeholder instead of div 2022-12-13 16:01:53 +01:00
Adrian Wannenmacher
af6362ce3e
deny missing docs in router 2022-12-13 12:42:18 +01:00
Adrian Wannenmacher
8d52a6d208
document components 2022-12-13 12:18:54 +01:00
Adrian Wannenmacher
4e1c746f25
document the prelude 2022-12-13 11:22:44 +01:00
Adrian Wannenmacher
7d2466ff28
make hooks return a result instead of an option 2022-12-13 11:09:24 +01:00
Adrian Wannenmacher
3e86c0e364
make nested use_router calls behave correctly 2022-12-13 10:59:25 +01:00
Adrian Wannenmacher
64399794c0
document hooks 2022-12-13 10:46:30 +01:00
Adrian Wannenmacher
398043eba0
add history buttons 2022-12-13 09:10:51 +01:00
Jonathan Kelley
d4b6bb8a7b feat: fix the scope rollover bug 2022-12-12 18:31:30 -08:00
Adrian Wannenmacher
0cc0cba482
add navigator and use_navigate hook 2022-12-13 00:09:32 +01:00
Adrian Wannenmacher
85ac35c198
update default external navigation failure component 2022-12-12 23:39:52 +01:00
Adrian Wannenmacher
8df588046d
add use_route hook 2022-12-12 23:39:34 +01:00
Adrian Wannenmacher
3d752e31ec
add a fixed route to example 2022-12-09 04:11:31 +01:00
Adrian Wannenmacher
780786c520
fix outlet panic 2022-12-09 03:33:12 +01: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
9f48cab9ad
add comp() and default failure components 2022-12-09 01:14:54 +01:00
Adrian Wannenmacher
89ac4d51ab
fix breaks from previous merge 2022-12-08 23:56:41 +01:00
Adrian Wannenmacher
ea43192267
add link component 2022-12-08 22:56:57 +01:00
Jonathan Kelley
e6920e9b34 chore: fix web 2022-12-07 16:02:35 -08:00
Jonathan Kelley
1c3f4b2bc4 fix: use weak instead of sync 2022-12-07 15:42:39 -08:00
Jonathan Kelley
0bf4725639 fix: namespacing of dynamic attributes 2022-12-07 15:11:51 -08:00
Jonathan Kelley
a252774226 chore: clean up docs with changes to templates 2022-12-07 13:39:22 -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
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
df4a1b6c7a chore: finish tweaking context api 2022-12-05 15:30:49 -08:00
Jonathan Kelley
3c19def550 chore: get create working and simplify dynamic nodes 2022-11-30 11:24:13 -05: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
540e785d8b
Less clumsy configuration for desktop and mobile (#553)
* chore: dont use prebuilt builder pattern for configuring desktop

* chore: use regular config pattern for web

* Chore: update docs too

* chore: clean up some warnings
2022-09-13 16:22:27 -07:00
Norman Paniagua
6e66d6fe36
Added initial_url to the router component (#510)
* added active_url

* renamed active_url to initial_url

* updated docs
2022-09-13 13:09:00 -07: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
92a8b7c75f fmt: fix formatting 2022-07-07 02:52:37 -04:00
Jonathan Kelley
3d47cb48fa fix: autofmt on single line rsx calls 2022-07-07 02:06:50 -04:00
Reinis Mazeiks
0777437243 Merge branch 'master' of https://github.com/DioxusLabs/dioxus into rusty-events
 Conflicts:
	packages/tui/tests/events.rs
2022-06-29 02:18:57 +03:00
Reinis Mazeiks
ca60b01c49 Fix remaining warnings (unrelated) 2022-06-29 02:17:00 +03:00
Reinis Mazeiks
cae0c1409d Fix some warnings: avoid deprecated fields 2022-06-29 02:13:01 +03: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
9a963bba0a update router test imports 2022-06-25 11:17:26 -05:00
Evan Almloff
fbf8e13b8d clean up imports 2022-06-25 08:27:10 -05:00
YuKun Liu
8346525db5
Update README.md 2022-05-21 23:33:17 +08:00
YuKun Liu
b964f7c802
Update README.md 2022-05-21 10:11:07 +08: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
Michael Mroz
078287301d Fix query parsing: the router was silently throwing away queries not prefixed with an extra '?' 2022-04-17 01:51:02 -07:00
Joshua Kifer
213f54c4d8 Convert all logs to trace 2022-03-27 09:23:44 -06:00
Jonathan Kelley
dc028df0dd clippy: make it happier 2022-03-20 21:50:43 -04:00
Maccesch
a2825fb13c updated examples with the new optional props 2022-03-16 06:36:39 +00:00
Maccesch
9a23ee4612 active_class prop for Router 2022-03-13 16:35:28 +00:00
Maccesch
1080ffe52d use_route hook can be used outside of Route components 2022-03-13 16:31:33 +00:00
Jon Kelley
0fdd6d268f
Merge pull request #294 from Synphonyte/master 2022-03-12 11:56:25 -05:00
Jonathan Kelley
ed07e914d3 fix: compile router on web 2022-03-09 21:14:22 -05:00
Maccesch
1a2624952a fixed cargo fmt 2022-03-09 23:06:14 +00:00
Jonathan Kelley
1c2e5e2aea publish: update dioxus with router fix 2022-03-09 17:53:02 -05:00
Jonathan Kelley
cc4b073f0d fix: use ordering of routes for router 2022-03-09 17:50:39 -05:00
Jonathan Kelley
0ce326566e wip: fix router slashing 2022-03-09 16:26:13 -05:00
Jonathan Kelley
e7505188d6 release: make a new 0.2.0 release of Dioxus 2022-03-09 14:24:05 -05:00
Maccesch
82fc9739bb updated to new way of checking path of route 2022-03-09 03:25:40 +00:00
Maccesch
ef82ffd217 added active class to router link 2022-03-06 23:17:24 +00:00
Jonathan Kelley
f47d2900fb feat: add a redirect 2022-03-05 14:06:54 -05:00
Jonathan Kelley
cdbc37711f fix: wasm test 2022-03-04 13:16:37 -05:00
Jonathan Kelley
57bd8b7ce2 fix: enable wasmtest feature 2022-03-04 13:16:37 -05:00
Jonathan Kelley
9edc3459d5 fix: remove latent test 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
Jonathan Kelley
06d4a5640b docs: fix doc comment 2022-03-04 13:16:37 -05:00
Jonathan Kelley
cc83900334 feat: router crate is polished up 2022-03-04 13:16:37 -05:00
Jonathan Kelley
60b11081f2 chore: remove idna feature from url 2022-03-04 13:16:37 -05:00
Jonathan Kelley
f2979cb12a feat: apply local router changes 2022-03-04 13:16:37 -05:00
Jonathan Kelley
e04a6d63a5 chore: move tests out of core and into the top level crate
This commit moves the tests out of core so rust analyzer
is happier with the workspace.
2022-03-02 22:48:22 -05:00
Jonathan Kelley
46a42c5ef9 Docs: update readme and usage doc for router 2022-03-02 17:57:00 -05:00
Jonathan Kelley
0e12915dc8 fix: remove old vscode folder 2022-03-02 17:54: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
3873cd1a60 fix: remove unused depds 2022-02-16 14:40:45 -05:00
Jonathan Kelley
babe862739 fix: login example to use proper methods 2022-02-16 14:11:31 -05:00
Denis Richartz
b71cf6ed4a cargo fmt 2022-02-16 16:11:57 +01:00
Denis Richartz
ee2e986a30 fix unnecessary div 2022-02-16 15:34:43 +01:00
Jonathan Kelley
8ca505b65b feat: better link 2022-02-14 09:30:08 -05:00
Jonathan Kelley
4a3680ee1b chore: remove all warnings 2022-02-10 21:00:15 -05:00
t1m0t
bd565bb65f improve Makefile tests 2022-02-04 17:18:31 +01:00
t1m0t
ee49fc27ff fix some newlines 2022-02-03 09:28:06 +01:00
t1m0t
f1865faef7 setup done, local tests work, check workflow 2022-02-03 00:11:38 +01:00
Timothée
9e804036d4
Merge branch 'DioxusLabs:master' into tb/makefile_test_setup 2022-02-02 20:35:36 +01:00
t1m0t
8ad3f85872 fix ordering to match original one 2022-02-01 21:13:18 +01:00
t1m0t
d7968c987f wip: Makefile setup 2022-02-01 20:40:29 +01:00
Jonathan Kelley
06418f73db fix: element stack not being updated properly 2022-01-31 12:29:11 -05:00
Jonathan Kelley
3edf3e367f wip: debugging 2022-01-30 14:08:03 -05:00
Jonathan Kelley
6339fa8188 Release dioxus-html v0.1.6, dioxus-router v0.1.1 2022-01-29 10:42:52 -05:00
Jonathan Kelley
f6c6134d67 Release dioxus-core v0.1.9 2022-01-29 10:42:38 -05:00
Jonathan Kelley
d570bb6c42 Release dioxus-router v0.1.1 2022-01-29 10:40:03 -05:00
Jonathan Kelley
11ba189eab Release dioxus-html v0.1.5 2022-01-29 10:36:24 -05:00
Jonathan Kelley
f965030b80 Release dioxus-core v0.1.8 2022-01-29 10:36:10 -05:00
Jonathan Kelley
1b2a0053ef Release dioxus-core-macro v0.1.7 2022-01-29 10:35:54 -05:00
Jonathan Kelley
56f3002aed feat: add changelogs 2022-01-29 10:17:14 -05:00
Jonathan Kelley
3509602c0b
Merge pull request #169 from DioxusLabs/jk/router-userouter
feat: enable use_router
2022-01-29 10:15:00 -05:00
Dave Rolsky
72c6bb3d0b Make log message in Link component trace level, not debug
All the other routing-related messages are at the trace level. Leaving this at
debug was an oversight on my part.
2022-01-28 15:31:43 -06:00
Jonathan Kelley
e24957fc19 feat: enable use_router 2022-01-28 14:38:17 -05:00
Jonathan Kelley
79e09934aa chore: add docs to router UseRouteListener 2022-01-28 12:14:40 -05:00
Jonathan Kelley
9da46eb7bc chore: rustfmt 2022-01-28 12:07:10 -05:00
Jonathan Kelley
5ee9d6c434 fix: attach router listener to subscriber list 2022-01-28 12:04:16 -05:00
Jonathan Kelley
a21e7d4dd1 fix: use_route should subscribe to changes to the route 2022-01-28 12:00:13 -05:00
Jonathan Kelley
29ed7ebece feat: connect an onchange listener 2022-01-25 15:06:37 -05:00
Dave Rolsky
9e4ec43b1e Fix various typos and grammar nits
I also removed all trailing whitespace from lines since I have Emacs
configured to highlight this.
2022-01-21 21:43:43 -06:00
Dave Rolsky
64080588d0 Add a warning when Link it called outside of a Router context 2022-01-17 15:52:01 -06:00
Dave Rolsky
81c094ed29 Fix handling of re-renders in the Router
Previously the router just stored a `root_found` boolean after it picked a
route. But on re-render it would just always return false from `should_render`
if this was true. This just aborted routing after a future resolved (or
anything else that triggered a re-render).

Now we store the matching ScopeId and check that against our routes in a
re-render so we actually do re-render the matching route.
2022-01-14 14:55:12 -06:00
Dave Rolsky
e06eac1ce5 More WIP router implementation 2022-01-13 12:26:49 -06:00
Dave Rolsky
c9408da731 Implement UseRoute segment method
This relies on the RouterService to capture path params when it does path
matching.
2022-01-13 12:21:06 -06:00
Dave Rolsky
f8a7e1cd82 Implement router matching for path parameters
We don't want to have the router just always match paths as exact strings. If
a path contains a parameter like "/thing/:id" then the ":id" portion of the
route should match _any_ string, not a literal ":id".
2022-01-13 12:21:06 -06:00
Dave Rolsky
3c6142fb9d Commit WIP on router
There are a few different changes in here that probably need to be picked
apart. I'm sure much of this is wrong.

* Fix missing `dyn` that compiler complained about in router.rs

* Make UseRoute store a `Rc<RouterService>` rather than a string so we can get
information out of the router like current location.

* Implement `UseRoute`'s nth_segment and last_segment methods. I changed the
return type to a String because of the above.

* Remove some unused imports in platform/mod.rs and service.rs

* Implement the `use_route` fn. It panics if called outside a Router { } (I
think). I think that makes sense.

* Add a `current_location` method to `RouterService` that returns the current
location. I needed this both for the `UseRoute` implementation and _also_ so I
could get at this in my webapp code. I think having some way to get this will
be useful for others, whether or not this exact API is used. In my case, I
want to compare the current path to the `to` path of a `Link` so I can use a
different class for that `Link` if it is the currently active page.
2022-01-13 12:21:06 -06:00
Dave Rolsky
3a5b417ad1 Add more trace messages to the RouterService code
I was trying to debug some issues with my routes and this additional tracing
was quite helpful.
2022-01-13 12:21:06 -06:00
Dave Rolsky
d367e0f89f Fix typo in RouterService struct's "registered_routes" field name
This was "registerd_routes", missing an "e".
2022-01-13 12:21:06 -06:00
Dave Rolsky
e22ba5b1e5 Add title prop to Link
Every element can have a title, but it's particularly useful on links, so I
think making it an explicit option is worthwhile.
2022-01-13 12:21:06 -06:00
Jonathan Kelley
d2372717bd feat: flatten props attrs 2022-01-10 02:57:03 -05:00
Alexandre Kirszenberg
b6903bf558 Enable clippy 2022-01-08 16:35:26 +01:00
Jonathan Kelley
b804c691d5 Release dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:30:37 -05:00
Jonathan Kelley
a36dab7f45 Release dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:28:25 -05:00
Jonathan Kelley
40d1f85d0c Release dioxus-core v0.1.7, dioxus-core-macro v0.1.6, dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:25:03 -05:00
Jonathan Kelley
bd341f5571 fix: tests 2022-01-05 17:30:12 -05:00
Jonathan Kelley
e2a6454527 chore: switch to log tracing 2022-01-05 16:36:42 -05:00
Jonathan Kelley
427b126bc1 feat: add prevent default attribute and upgrade router 2022-01-05 16:34:24 -05:00
Jonathan Kelley
cb2782b4bb wip: memoize dom in the prescence of identical components 2022-01-05 00:27:22 -05:00
Jonathan Kelley
4f92ba4160 wip: bump all versions 2022-01-03 19:32:27 -05:00