Jonathan Kelley
2c4e7beae8
wip: update interpreter
2022-02-02 11:32:00 -05:00
Jonathan Kelley
8f9d15db4a
feat: enable form elements in web
2022-02-02 02:00:53 -05:00
Jonathan Kelley
c4556d050e
Merge branch 'master' into jk/form-ma
2022-02-02 01:50:43 -05:00
Jonathan Kelley
84959a7826
feat: it works everywhere
2022-02-02 01:08:59 -05:00
Jonathan Kelley
b4923b2b81
ci: move gen folder out of src
2022-02-01 16:07:50 -05:00
t1m0t
12cfd79d51
commented out failing example
2022-02-01 22:04:21 +01:00
Jonathan Kelley
86bac80040
fmt: make bindings obey formatting
2022-02-01 15:57:07 -05:00
Jonathan Kelley
71656adc89
publish: generate our bindings.rs file from an inlinejs snippet
2022-02-01 15:54:32 -05:00
Jonathan Kelley
5b69f9b686
release: make interpreter crate publishable
2022-02-01 15:45:03 -05:00
Jonathan Kelley
527434b9f9
feat: make the interpreter as its own crate
2022-02-01 15:44:08 -05:00
Jonathan Kelley
ee67a041d2
feat: turn interpreter into crate
2022-02-01 15:38:48 -05:00
Jonathan Kelley
7c06b3a9a2
Merge branch 'master' into jk/form-ma
2022-02-01 15:24:19 -05:00
t1m0t
8ad3f85872
fix ordering to match original one
2022-02-01 21:13:18 +01:00
Jonathan Kelley
80d792910f
Merge pull request #182 from DioxusLabs/jk/debugging-diff
...
fix: nodes being unmounted when used in highly nested contexts
2022-02-01 15:08:43 -05:00
Jonathan Kelley
94c1da8264
chore: clean up documentation in diffing algorithm
2022-02-01 15:00:36 -05:00
t1m0t
d7968c987f
wip: Makefile setup
2022-02-01 20:40:29 +01:00
Jonathan Kelley
e02dfc3324
fix: change use_state to be clone
2022-02-01 02:05:54 -05:00
Jonathan Kelley
fa020c53e4
tweak: use 2018 rust syntax instead of 2022 for formatting
2022-02-01 01:57:21 -05:00
Jonathan Kelley
0c0f638c47
Merge pull request #180 from mrxiaozhuox/borderless-frame
...
Add support for desktop context, borderless frames, minimize, maximize, and other window-related goodies through the imperative `use_window` hook.
2022-01-31 19:53:27 -05:00
mrxiaozhuox
bead035969
feat: export use_window
2022-02-01 08:43:54 +08:00
Jonathan Kelley
6905bf98d7
chore: clean up examples and fix link opening code
2022-01-31 19:40:48 -05:00
mrxiaozhuox
f1fe8f1d2a
fix: change hooks name
2022-02-01 08:39:31 +08:00
Jonathan Kelley
1978f195b3
Merge branch 'master' into jk/debugging-diff
2022-01-31 16:19:48 -05:00
Jonathan Kelley
8badf90a03
fix: dioxus web prevents default on in nested targets
...
this commit fixes an issue where we used the event target to
prevent default even if the target element wasn't an event
handler.
2022-01-31 15:53:06 -05:00
Jonathan Kelley
fb75948363
fix: usestate modify panic
2022-01-31 14:33:25 -05:00
Jonathan Kelley
c4e6496d9d
chore: enable a pedantic clippy on the diffing algorithm
2022-01-31 12:49:21 -05:00
Jonathan Kelley
06418f73db
fix: element stack not being updated properly
2022-01-31 12:29:11 -05:00
mrxiaozhuox
7ca92be015
feat: add focus
api
2022-01-31 19:44:40 +08:00
mrxiaozhuox
366cf75887
feat: add use_desktop_context
hook
2022-01-31 19:39:44 +08:00
Jonathan Kelley
923fb0701d
fix: clippy
2022-01-31 03:34:52 -05:00
Jonathan Kelley
b4697fc9f9
chore: clean up some more of the scopes file
2022-01-31 03:27:43 -05:00
Jonathan Kelley
268b1b0c66
Merge branch 'master' into jk/debugging-diff
2022-01-31 03:23:35 -05:00
Jonathan Kelley
120ee18368
chore: improve debugability of fcptrs and vcomponents
...
this commit changes the fc slot type from a thin pointer to a c pointer.
this lets us provide frame inspection of components using backtrace.
2022-01-31 03:22:34 -05:00
Jonathan Kelley
9dda7b168b
chore: clean up scopes
2022-01-31 03:04:47 -05:00
Jonathan Kelley
a4ea0ba4fe
chore: undo dirty_scopes rename
2022-01-31 02:52:40 -05:00
Jonathan Kelley
236ef9a8c4
Merge branch 'master' into jk/debugging-diff
2022-01-31 02:51:59 -05:00
Jonathan Kelley
0820e18d3d
feat: make component name accessible
2022-01-31 02:49:37 -05:00
Jonathan Kelley
4ae11b5756
fmt: make tests easier to visually parse with fmt rules
2022-01-31 02:46:26 -05:00
Jonathan Kelley
00aa0e5e86
fmt: apply formatting just to tests
2022-01-31 02:44:16 -05:00
Jonathan Kelley
5bffbba682
fmt: apply cargofmt with new rules for lit structs
2022-01-31 02:40:12 -05:00
Jonathan Kelley
11f6b93889
fix: remove nodes is in a happier state
2022-01-31 02:33:16 -05:00
Jonathan Kelley
cbd471fa46
debugging: add some more debug tooling
2022-01-31 01:24:11 -05:00
mrxiaozhuox
e4eb982a36
fix: format code
2022-01-31 10:11:58 +08:00
mrxiaozhuox
a0ffe66a37
feat: add borderless
example
2022-01-31 09:47:09 +08:00
Jonathan Kelley
1ea42799c0
wip: clean up the core crate after switching to recursive diff engine
2022-01-30 18:34:24 -05:00
Jonathan Kelley
3bb5c8142c
fix: switch to future based diffing
...
this commit removes the old manual fiber implementation in favor of a
traditional recursion based approach. This should make the diffing
algorithm easier to work on and eliminate various stack-based bugs in.
2022-01-30 17:47:58 -05:00
Jonathan Kelley
3edf3e367f
wip: debugging
2022-01-30 14:08:03 -05:00
Jonathan Kelley
13cf95a9ea
Merge pull request #178 from autarch/autarch/spelling-fix
...
Fix misspelled variable name in usestate.rs
2022-01-30 13:13:04 -05:00
mrxiaozhuox
31a2f8f63a
feat: add DesktopContext
2022-01-31 01:06:43 +08:00
mrxiaozhuox
169028705d
feat: add DesktopContext
2022-01-31 00:33:14 +08:00
Dave Rolsky
00ff54bb3b
Fix typo in comment in use_shared_state.rs
2022-01-29 10:43:10 -06:00
Dave Rolsky
3d3d18554d
Fix misspelled variable name in usestate.rs
2022-01-29 10:36:44 -06:00
Jonathan Kelley
9b3192323e
Release dioxus-desktop v0.1.6
2022-01-29 10:43:43 -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
578c1dc069
fix: enable default for any eventhandler
2022-01-29 10:42:06 -05:00
Jonathan Kelley
d570bb6c42
Release dioxus-router v0.1.1
2022-01-29 10:40:03 -05:00
Jonathan Kelley
189ddd8c51
fix: move bindings into package
2022-01-29 10:39:21 -05:00
Jonathan Kelley
2c51a090e3
Release dioxus-web v0.0.5
2022-01-29 10:37:50 -05:00
Jonathan Kelley
3c2d5985da
Release dioxus-ssr v0.1.3
2022-01-29 10:37:34 -05:00
Jonathan Kelley
539ca2d655
Release dioxus-hooks v0.1.7
2022-01-29 10:37: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
8056138f86
fix: explicit default for event handler
...
rust derives default of T: Default, even when that's not a necessary requirement
This fixes that
2022-01-29 10:27:40 -05:00
Jonathan Kelley
06723ad63f
fix: add interpreter to desktop package so it publishes
2022-01-29 10:23:41 -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
Jonathan Kelley
88997019c5
Merge branch 'master' of github.com:DioxusLabs/dioxus
2022-01-28 21:44:10 -05:00
Jonathan Kelley
e9792e9b95
tests: add miri stress test
2022-01-28 21:43:01 -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
c092bd43ed
fix: use_state
2022-01-28 16:12:06 -05: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
ccbb955b7b
Merge pull request #166 from DioxusLabs/jk/default-assets-desktop
...
Default asset server
2022-01-27 22:10:20 -05:00
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
22308eb26a
fix: custom protocol receiver type
2022-01-27 17:00:40 -05:00
Jonathan Kelley
430cde7068
feat: default asset server
2022-01-27 16:36:17 -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
Jonathan Kelley
f66d17ca84
wip: pass form data between web and desktop
2022-01-22 14:53:59 -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
Jonathan Kelley
174d287062
wip: extract to rsx module
2022-01-17 23:02:36 -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
abfac0d59b
wip: move macro lib out of proc macro crate
2022-01-17 16:37:44 -05: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
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
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
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
d2372717bd
feat: flatten props attrs
2022-01-10 02:57:03 -05:00
Jonathan Kelley
255f58af63
fix: ssr respects bool attrs
2022-01-10 01:32:32 -05:00
Jonathan Kelley
f4132d1874
Merge pull request #108 from DioxusLabs/jk/fstring-component-fields
...
Fix: string formatting detection in component fields
2022-01-10 01:20:58 -05:00
Jonathan Kelley
90abd9c9a0
fix: detection of f-string formatting in components
2022-01-10 01:20:03 -05:00
Jonathan Kelley
29bf424b09
Merge pull request #101 from alexkirsz/ci
...
CI: Enable clippy
2022-01-08 20:28:10 -05:00