Commit graph

1186 commits

Author SHA1 Message Date
Jonathan Kelley
e84126ad16
Merge pull request #131 from mrxiaozhuox/patch-3
Update ZH_CN.md
2022-01-17 11:26:54 -05:00
YuKun Liu
27bdef3040
Update ZH_CN.md 2022-01-17 23:47:38 +08:00
YuKun Liu
5badcd830c
Update ZH_CN.md 2022-01-17 23:44:16 +08: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
c08d04449f
Merge pull request #128 from DioxusLabs/jk/optional-tag
feat: add "optional" flag for props
2022-01-16 20:28:14 -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
Jonathan Kelley
baf722de11 docs: add a roadmap 2022-01-15 20:14:51 -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
Jonathan Kelley
8e842231e4
Merge pull request #124 from mrxiaozhuox/patch-2 2022-01-13 21:15:48 -05:00
YuKun Liu
7dd7944487
Update ZH_CN.md 2022-01-14 09:56:46 +08: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
6bd7e983c4
Update README.md 2022-01-13 11:25:18 -05:00
Jonathan Kelley
2736e649ca
Merge pull request #122 from mrxiaozhuox/master
Add `Chinese` Language `Readme` and add some info into README.md
2022-01-13 10:27:30 -05:00
YuKun Liu
75032da885
Update README.md 2022-01-13 22:30:18 +08:00
Jonathan Kelley
6e649d0401
Merge pull request #123 from mrxiaozhuox/patch-1
fix: edit `git-repository-url`
2022-01-13 09:25:29 -05:00
YuKun Liu
5d85eb6438
fix: edit git-repository-url 2022-01-13 18:16:55 +08:00
YuKun Liu
55b84fd9bd docs: commit docs 2022-01-13 12:30:05 +08:00
YuKun Liu
aa15d00b1e docs: add zh-cn readme 2022-01-13 12:16:17 +08:00
Jonathan Kelley
10db6ad65b wip: web now links against the js interprter code 2022-01-12 08:57:42 -05:00
Jonathan Kelley
5bf6c96f9f feat: setup a typescript build 2022-01-12 07:34:37 -05:00
Jonathan Kelley
6771ead13e
Merge pull request #118 from b12f/patch-1 2022-01-11 14:37:14 -05:00
Jonathan Kelley
8b75c811a2
Merge pull request #119 from yuniruyuni/docs/add-lifetime-for-children-example 2022-01-11 14:36:28 -05:00
yuniruyuni
388acf3277 docs: allow build core_reference/children example
It needs lifetime parameters.
2022-01-12 03:12:10 +09:00
Benjamin Bädorf
79c39c164d
Fix typo in docs 2022-01-11 17:43:23 +00:00
Jonathan Kelley
1560e2daca docs: add more docs 2022-01-11 01:11:47 -05:00
Jonathan Kelley
ca0dd4aa71
Merge pull request #95 from DioxusLabs/jk/filedragindrop
File Drag and Drop support
2022-01-10 23:19:36 -05:00
Jonathan Kelley
0369fe72fb
Merge pull request #111 from DioxusLabs/jk/props-attrs
Flatten optional prop attributes
2022-01-10 17:11:08 -05:00
Jonathan Kelley
6bc45b1c50 fix: clippy 2022-01-10 13:00:23 -05:00
Jonathan Kelley
bad36162af fix: wry pathing 2022-01-10 12:57:43 -05:00
Jonathan Kelley
9ae981a1af wip: drag and drop support 2022-01-10 12:57:39 -05:00
Jonathan Kelley
20a29409b2
Merge pull request #113 from DioxusLabs/jk/desktop-cursor-jump
fix: cursor jumping in desktop inputs
2022-01-10 12:20:13 -05:00
Jonathan Kelley
06205e425f
Merge pull request #112 from sassman/master
feat(example:todomvc): add editing support
2022-01-10 12:16:27 -05:00
Sven Assmann
007d06d602 feat(events:focus): add missing onfocusin event 2022-01-10 18:08:29 +01:00
Jonathan Kelley
eb138848ec feat: also hide placeholder node 2022-01-10 12:06:55 -05:00
Jonathan Kelley
be614e6535 fix: cursor jumping and use set instead of lsit 2022-01-10 12:04:54 -05:00
Sven Assmann
9849f68f25 feat(example:todomvc): add editing support
- implement "onfocusout" handler
- set autofocus
- handle enter, escape and tab on a todo item
- make the `<pre>` element between todo list items of margin 0 to be unnoticable
2022-01-10 14:46:23 +01:00
Jonathan Kelley
c8535fb184 fix: example bugged out 2022-01-10 03:05:49 -05:00
Jonathan Kelley
d2372717bd feat: flatten props attrs 2022-01-10 02:57:03 -05:00
Jonathan Kelley
02d995e3f7
Merge pull request #109 from DioxusLabs/jk/ssr-bool-attrs
fix: ssr respects bool attrs
2022-01-10 02:37:46 -05:00