Commit Graph
629 Commits
Author SHA1 Message Date
Jonathan Kelley 08988e1bfe Merge pull request #158 from DioxusLabs/jk/router-onchange
Connect the onchange listener for the Router
2022-01-27 17:01:32 -05:00
Jonathan Kelley a8952a9ee8 fix: exampels 2022-01-25 21:41:40 -05:00
Jonathan Kelley 5c4bd0881b Merge branch 'master' into jk/update-hooks 2022-01-25 16:19:12 -05:00
Jonathan Kelley 29ed7ebece feat: connect an onchange listener 2022-01-25 15:06:37 -05:00
Jonathan Kelley ae676d9d81 fix: webconfig should take &mut self 2022-01-24 20:25:32 -05:00
Jonathan Kelley a239d2ba6a docs: fix web doc example and use &mut for builders everywhere 2022-01-24 20:24:50 -05:00
Jonathan Kelley bad4b773b7 feat: add "spawn" method 2022-01-24 15:21:56 -05:00
Jonathan Kelley 2e4f765932 tweak: drop hooks before resetting bump arena 2022-01-24 12:21:24 -05:00
Jonathan Kelley 1406c9020b feat: add panic hook by default 2022-01-24 02:57:56 -05:00
Jonathan Kelley d9a07ddddb fix: provide_root_context on root scopes 2022-01-24 02:34:16 -05:00
Jonathan Kelley 43e78d56f7 fix: rustfmt 2022-01-22 14:55:19 -05:00
Rasmus Lövegren 5f4a72446e Add gap and row_gap to style_trait_methods 2022-01-22 19:57:46 +02: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
Jonathan Kelley 95e93ed0bc feat: remove dioxus id on non-event elements 2022-01-21 15:06:57 -05:00
Jonathan Kelley 997684a390 fix: update desktop intrepreter with browser open 2022-01-21 09:53:25 -05:00
Jonathan Kelley b287a4cab3 Merge pull request #121 from DioxusLabs/jk/unify
feat: unify web and desktop interpreter with the same typescript codebase
2022-01-21 09:31:55 -05:00
Jonathan Kelley c8d528b3b1 fix: proprogation of root context 2022-01-21 09:29:41 -05:00
Jonathan Kelley 70f2ef43db Merge pull request #139 from DioxusLabs/jk/provide-context-any
feat: allow context providers to provide for any scope
2022-01-21 00:52:49 -05:00
Jonathan Kelley d2bd175143 feat: allow providing context to the root component 2022-01-21 00:37:52 -05:00
Jonathan Kelley 50f90d889a fix: bump to readd desktop click handling code 2022-01-21 00:21:23 -05:00
Jonathan Kelley 824defa2db Merge branch 'master' into jk/unify 2022-01-21 00:16:45 -05:00
Jonathan Kelley c1a5d4e11f fix: ssr + hydration event listeners 2022-01-20 04:01:38 -05:00
Jonathan Kelley 887f69d5b4 Merge pull request #133 from mrxiaozhuox/master
The desktop app will default open link in browser
2022-01-18 23:09:40 -05:00
YuKun Liu 2073b400df fix: check href null 2022-01-18 23:25:45 +08:00
YuKun Liu 327f901548 fix: check href null 2022-01-18 23:15:39 +08:00
YuKun Liu 8089023a6c fix: prevent submit default 2022-01-18 15:00:49 +08:00
YuKun Liu 46fd6ac345 feat: link open in browser 2022-01-18 14:57:41 +08:00
YuKun Liu 62b637f8b0 fix: error pattern 2022-01-18 14:54:48 +08:00
YuKun Liu f006f50317 feat: move rpc to handler 2022-01-18 14:52:14 +08:00
Jonathan Kelley 8d3ac3ff14 Merge pull request #107 from autarch/autarch/half-assed-router
A partial implementation of the router and associated bits
2022-01-18 00:01:34 -05:00
YuKun Liu 9e04ce5342 feat: open_browser bool attribute 2022-01-18 09:32:27 +08:00
YuKun Liu 5233ee97d9 fix: format code 2022-01-18 09:20:36 +08:00
YuKun Liu c737c424b0 feat: link open in browser 2022-01-18 09:19:58 +08:00
YuKun Liu a0f60152bc feat: link open in browser 2022-01-18 09:19:12 +08:00
Dave Rolsky 64080588d0 Add a warning when Link it called outside of a Router context 2022-01-17 15:52:01 -06:00
Jonathan Kelley 5bce294a86 Merge pull request #127 from DioxusLabs/jk/handler-tweak
fix: allow eventhandler to derive default
2022-01-16 21:30:34 -05:00
Jonathan Kelley 58839f47ba update: modify usestate to be borrowed 2022-01-16 15:56:48 -05:00
Jonathan Kelley 47bc4e4a44 feat: add "optional" flag for props 2022-01-16 15:27:41 -05:00
Jonathan Kelley 036a0ff49a docs: add comments for the Handler 2022-01-16 15:13:31 -05:00
Jonathan Kelley e47ead5347 fix: allow eventhandler to derive default 2022-01-15 20:17:48 -05:00
Dave Rolsky 9b282d877b Don't expect all components to have a scope in ScopeArena.ensure_drop_safety
Not all components will be mounted when using a Router, so we cannot assume
all components have a scope.
2022-01-14 15:40: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
Jonathan Kelley 05331ddd80 feat: wire up both desktop and web 2022-01-13 22:51:01 -05: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