Evan Almloff
d64d92e4b4
disable rif raf
2022-12-07 07:24:51 -06:00
Jonathan Kelley
1b14b309e9
chore: clean up desktop
2022-12-06 16:37:28 -08:00
Evan Almloff
6102902387
work on optimizing web implementation
2022-12-06 14:24:35 -06:00
Jonathan Kelley
b182a6ee75
chore: clean up interpreter and bindings
2022-12-05 16:47:04 -08:00
Jonathan Kelley
7b1cdb7d85
feat: get desktop working with new template strategy
2022-12-05 16:08:41 -08:00
Jonathan Kelley
a61daf220d
feat: context api overhaul
2022-12-02 16:24:49 -08:00
Jonathan Kelley
11a45c8ef0
chore: continue to clean things up
2022-12-01 01:08:49 -05:00
Jonathan Kelley
85657d3906
feat: rip out mutations for templates
2022-12-01 00:46:15 -05:00
Jonathan Kelley
3b166c9edd
wip: clean up some things
2022-11-30 23:54:30 -05:00
Jonathan Kelley
ba26b1001a
chore: clean up web impl
2022-11-30 17:44:00 -05:00
Jonathan Kelley
18d6b1ad6f
feat: get web working properly
2022-11-30 17:21:10 -05:00
Jonathan Kelley
073fea9ed3
Merge branch 'master' into jk/templates-v3
2022-11-16 22:24:21 -08:00
Demonthos
f21c8423eb
optimizations for wasm size ( #582 )
...
* optimize for size
* fix tests
* revert log feature
* make backtrace not optional
* remove dev feature from web dev-deps
2022-11-16 22:22:13 -08: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
Demonthos
3b7b503333
Refactor Mutations and simplify Templates ( #578 )
...
* update mutations to be path based rather than renderer integrated
2022-10-18 14:42:45 -07:00
saicu
e8c48d46cf
replace fxhash crate with rustc-hash ( #588 )
2022-10-12 18:27:26 -07:00
Demonthos
daeffd4149
pass clippy ( #575 )
2022-10-02 14:12:24 -07:00
Demonthos
047ed1e553
Subtree memorization / reactive templates ( #488 )
...
This commit adds subtree memoization to Dioxus.
Subtree memoization is basically a compile-time step that drastically
reduces the amount of work the diffing engine needs to do at runtime by
extracting non-changing nodes out into a static "template." Templates
are then understood by the various renderers in the ecosystem as a
faster way of rendering the same items.
For example, in the web, templates are simply a set of DOM Nodes created
once and then cloned later. This is the same pattern frameworks like Lithtml
and SolidJS use to achieve near-perfect performance.
Subtree memoization adds an additional level of complexity to Dioxus. The RSX
macro needs to be much smarter to identify changing/nonchanging nodes and
generate a mapping between the Template and its runtime counterparts.
This commit represents a working starter point for this work, adding support
for templates for the web, desktop, liveview, ssr, and native-core renderers.
In the future we will try to shrink code generation, generally improve
performance, and simplify our implementation.
2022-09-30 12:03:06 -07:00
Jon Kelley
28fba42e7e
feat: add an unhygenic render macro ( #556 )
...
* feat: add an unhygenic render macro
* chore: use render instead of rsx!(cx,
2022-09-25 01:05:16 -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
Jon Kelley
38e8745db9
Remove lower case components that use the paran syntax ( #551 )
...
* chore: remove lowercase components
* chore: add docs are lowercase components
* docs: also add docs around lowercase components in current scope
2022-09-12 20:01:03 -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
Demonthos
3a5d1a2ff8
fix web imports and extract hot reload handlers into seperate files ( #484 )
2022-07-04 13:18:11 -05:00
Evan Almloff
f0655a11ad
panic on errors in hot-reload if no error handler socket is connected
2022-07-01 09:01:15 -05: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
f3fcec2bdf
Merge branch 'master' of https://github.com/DioxusLabs/dioxus into rusty-events
...
Conflicts:
packages/html/src/events.rs
packages/tui/src/hooks.rs
2022-06-28 21:09:20 +03:00
Evan Almloff
041f474329
Merge remote-tracking branch 'upstream/master' into clean_up_rsx_imports
2022-06-26 07:22:55 -05:00
YuKun Liu
0af69f83f2
Rename hot_reload
to hot-reload
2022-06-26 14:23:19 +08:00
Evan Almloff
ef4ece42b3
Merge remote-tracking branch 'upstream/master' into clean_up_rsx_imports
2022-06-25 08:27:32 -05:00
Evan Almloff
fbf8e13b8d
clean up imports
2022-06-25 08:27:10 -05:00
Evan Almloff
11d9a7d013
Merge remote-tracking branch 'upstream/master' into fix_nonbubbling_web_events
2022-06-22 13:59:10 -05:00
Evan Almloff
61b4bb2f19
handle bubbling events
2022-06-22 13:57:05 -05:00
Evan Almloff
75e13749ea
set multiple rsx calls at once to prevent duplicated errors
2022-06-16 09:11:56 -05:00
Demonthos
df4ea20bb8
create serde compatible parse error
2022-06-15 12:58:08 -05:00
Evan Almloff
586983291a
log parse errors
2022-06-13 17:02:43 -05:00
Evan Almloff
71d31556e5
Merge https://github.com/DioxusLabs/dioxus into jk/rsx-refactor
2022-06-10 18:16:05 -05:00
Jon Kelley
ea4eb218ab
Merge pull request #422 from rMazeiks/fix-web-missing-event-types
...
Fix web missing event types
2022-06-10 11:44:38 -04:00
Evan Almloff
017d269ca8
fix websocket error reporting
2022-06-09 09:36:28 -05:00
Evan Almloff
e7cf382784
create websocket for hot reloading
2022-06-06 13:30:32 -05:00
Reinis Mazeiks
f792ed7a17
Update virtual_event_from_websys_event based on make_synthetic_event
in the desktop
crate
2022-05-23 10:12:12 +03:00
Reinis Mazeiks
60e74b2ec0
Add missing event types to web (copied from desktop)
...
Related: #416
2022-05-23 10:12:11 +03:00
Evan Almloff
db1866090a
fix broken doc links
2022-05-22 20:44:32 -05:00
duanzhou
328bab0f5b
Fix: enable dioxus-core
serialize
feature in dioxuse-web
2022-05-18 00:30:36 +08:00
Reinis Mazeiks
45980f9a1e
Update examples to avoid deprecated API
2022-05-12 15:00:43 +03:00
Jonathan Kelley
356f37e9ee
feat: arbitrary attributes
2022-05-05 16:50:33 -04: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
Aster
329b182e2d
Add feature gate
2022-04-24 11:48:15 +08:00
Jon Kelley
c4a19f71af
Merge branch 'master' into master
2022-04-23 23:08:58 -04:00
Jon Kelley
56ea9e42fa
Merge pull request #318 from overlisted/eval-stuff
...
Eval stuff
2022-04-04 13:01:35 -04:00
Jonathan Kelley
dfc69c0905
fix: compile fail for web
2022-04-04 12:29:00 -04:00
Jon Kelley
6c72ed5dd3
Merge pull request #333 from naturalethic/fix-incorrect-form-element-pointer
...
Fix form value collecting from form element instead of input element
2022-03-28 11:04:37 -04:00
Joshua Kifer
213f54c4d8
Convert all logs to trace
2022-03-27 09:23:44 -06:00
Joshua Kifer
2acacdd5a4
Fix form value collecting from form element instead of input element
2022-03-26 19:42:05 -06:00
Ilya Maximov
d31edfa7d7
rustfmt when the
2022-03-21 22:02:04 +01:00
Ilya Maximov
ee22881e08
Merge branch 'master' into eval-stuff
2022-03-21 22:00:17 +01:00
Ilya Maximov
6e8fdc1e4d
make the closure dyn
2022-03-21 21:57:29 +01:00
Jon Kelley
5c6ff70dd4
Merge pull request #316 from DioxusLabs/jk/fix-hydration
...
fix: setnode method for rehydration code
2022-03-20 20:11:55 -04:00
Joshua Kifer
ab4e37fbf2
Capture correct radio button value in a form input event
2022-03-19 12:24:29 -06:00
Ilya Maximov
b4a5fe9845
use ToString
2022-03-19 02:57:39 +01:00
Ilya Maximov
5cbf2698fd
add use_eval()
to desktop and web
2022-03-17 23:47:11 +01:00
Jonathan Kelley
f26f704b6b
fix: setnode method for rehydration code
2022-03-17 10:51:23 -04:00
Joshua Kifer
1b736f1001
Remove release_max_level features from several Cargo.toml log dependencies
2022-03-15 17:59:30 -06:00
Jonathan Kelley
e7505188d6
release: make a new 0.2.0 release of Dioxus
2022-03-09 14:24:05 -05:00
Jonathan Kelley
77631bff1f
Merge branch 'master' into jk/documet-everything
2022-02-26 17:33:06 -05:00
Shuanghui Yan
4eeb3da8c9
fix: add ns param for removeAttribute
2022-02-22 23:14:11 +08:00
Jonathan Kelley
b2a4d387c7
docs: document all of desktop crate
2022-02-20 23:52:36 -05:00
Jonathan Kelley
3873cd1a60
fix: remove unused depds
2022-02-16 14:40:45 -05:00
Jonathan Kelley
e43a8a9b6a
feat: remove old async channel for new channel in ric raf web code
2022-02-15 11:03:13 -05:00
Aster
8d42191d7a
Add From
trait to convert web_sys Events to html Data
2022-02-12 20:57:13 +08:00
t1m0t
eb39f360e3
fix some uncaught error during runtime test
2022-02-11 17:59:59 +01:00
Jonathan Kelley
4a3680ee1b
chore: remove all warnings
2022-02-10 21:00:15 -05:00
Jonathan Kelley
4f46089fce
feat: use serde-wasm-bindgen crate for speedup
2022-02-07 10:17:16 -05:00
Jonathan Kelley
169f1dac11
Merge branch 'master' into jk/form-ma
2022-02-04 18:10:26 -05:00
Jonathan Kelley
d758dc6065
feat: form works in web
2022-02-04 02:13:35 -05:00
Jonathan Kelley
ca0d7dc268
fix: remove code generation
2022-02-04 01:56:54 -05:00
Jonathan Kelley
add21d5f9d
feat: update bindings and interpreter with new tsc code
2022-02-03 12:52:05 -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
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
527434b9f9
feat: make the interpreter as its own crate
2022-02-01 15:44:08 -05:00
Jonathan Kelley
7c06b3a9a2
Merge branch 'master' into jk/form-ma
2022-02-01 15:24:19 -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
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
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
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
56f3002aed
feat: add changelogs
2022-01-29 10:17:14 -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
1406c9020b
feat: add panic hook by default
2022-01-24 02:57:56 -05:00
Jonathan Kelley
f66d17ca84
wip: pass form data between web and desktop
2022-01-22 14:53:59 -05:00
Jonathan Kelley
95e93ed0bc
feat: remove dioxus id on non-event elements
2022-01-21 15:06:57 -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
05331ddd80
feat: wire up both desktop and web
2022-01-13 22:51:01 -05:00
Jonathan Kelley
10db6ad65b
wip: web now links against the js interprter code
2022-01-12 08:57:42 -05:00
Sven Assmann
007d06d602
feat(events:focus): add missing onfocusin
event
2022-01-10 18:08:29 +01: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
YuKun Liu
92561612c7
fix: format code
2022-01-09 02:25:11 +08:00
YuKun Liu
8f4aa84f1a
feat: bool attr white list
2022-01-09 02:02:23 +08: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
21232285d9
fix: add exclusion list
2022-01-08 02:14:05 -05:00
Jonathan Kelley
8d685f40b7
feat: handle bool attrs properly
2022-01-08 02:09:02 -05:00
Jonathan Kelley
bbb6ee10de
feat: make hydration more robust
2022-01-07 00:33:09 -05:00
Jonathan Kelley
e2a6454527
chore: switch to log tracing
2022-01-05 16:36:42 -05:00
Jonathan Kelley
cb2782b4bb
wip: memoize dom in the prescence of identical components
2022-01-05 00:27:22 -05:00
Jonathan Kelley
4ea5c990d7
publish: new versions of everything
2022-01-03 19:44:04 -05:00
Jonathan Kelley
4f92ba4160
wip: bump all versions
2022-01-03 19:32:27 -05:00
Jonathan Kelley
3de776c42a
docs: fix the reference code
2022-01-03 13:26:15 -05:00
Jonathan Kelley
7abb3cc79c
publish: dioxus web
2022-01-03 02:15:39 -05:00
Jonathan Kelley
c0cd50b1d3
publish: dioxus web
2022-01-03 02:15:34 -05:00
Jonathan Kelley
75fa7b4aa6
fix: make tests pass
2022-01-03 01:12:39 -05:00
Jonathan Kelley
420a30e5d4
feat: overhaul examples and clean things up
2022-01-03 00:42:17 -05:00
Jonathan Kelley
2d58d380be
publish: get web ready gto publish
2021-12-29 13:37:25 -05:00
Jonathan Kelley
3dc0e59876
fix: readme and examples syntax
2021-12-28 23:48:25 -05:00
Jonathan Kelley
a4f280d163
feat: more API updates
2021-12-28 23:20:01 -05:00
Jonathan Kelley
c7d001cbb4
wip: rip out unsafe task engine
2021-12-26 14:22:30 -05:00
Jonathan Kelley
cda759c659
examples: upgrade to new version of dioxus core.
...
also add the inline_props macro
2021-12-25 17:18:05 -05:00
Jonathan Kelley
fa106be1f5
wip: clean it up a bit
2021-12-21 00:58:14 -05:00
Jonathan Kelley
2b928372fb
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.1
2021-12-15 16:07:09 -05:00
Jonathan Kelley
0d480a4c43
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:06:15 -05:00
Jonathan Kelley
868f6739d2
fix: keyword length
2021-12-15 16:06:13 -05:00
Jonathan Kelley
b32665d721
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:05:20 -05:00
Jonathan Kelley
a33f7701fc
fix: tags
2021-12-15 16:05:18 -05:00
Jonathan Kelley
3a706ac416
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:04:30 -05:00
Jonathan Kelley
e4c06ce8e8
docs: update cargo tomls
2021-12-15 16:04:27 -05:00
Jonathan Kelley
270dfc9590
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 15:59:11 -05:00
Jonathan Kelley
4de16c4779
docs: update local examples and docs to support new syntaxes
2021-12-15 15:56:53 -05:00
Jonathan Kelley
8daf7a6ed8
wip: go back to noisy lifetime solution
2021-12-14 02:27:59 -05:00
Jonathan Kelley
e6c6bbdc1e
polish: clean up the core crate
2021-12-12 19:47:13 -05:00
Jonathan Kelley
1e4a599d14
wip: rename fc to component
2021-12-09 21:19:31 -05:00
Jonathan Kelley
93d4b8ca7c
wip: some docs and suspense
2021-11-23 15:53:57 -05:00
Jonathan Kelley
a5f05d73ac
wip: docs and router
2021-11-19 00:49:04 -05:00
Jonathan Kelley
19df1bda10
feat: bubbling
2021-11-15 09:49:01 -05:00
Jonathan Kelley
f2234068ba
feat: events bubble now
2021-11-11 22:07:38 -05:00
Jonathan Kelley
fd93ee89c1
feat: upgrade syntax
2021-11-10 17:09:52 -05:00
Jonathan Kelley
1e6e5e611b
wip: move examples around
2021-11-03 15:13:50 -04:00
Jonathan Kelley
0e9d5fc530
wip: move everything over to a stack dst
2021-10-29 17:12:30 -04:00
Jonathan Kelley
cfc24f5451
feat: support innerhtml
2021-10-18 18:07:19 -04:00
Jonathan Kelley
9726a065b0
feat: massage lifetimes
2021-10-16 17:37:28 -04:00
Jonathan Kelley
460783ad54
docs: lnks to projects
2021-10-14 12:46:50 -04:00
Jonathan Kelley
478255f40d
fix: all the bugs!
2021-10-11 18:40:00 -04:00
Jonathan Kelley
4a4c7afca7
feat: shared state mechanisms
2021-10-11 15:35:20 -04:00
Jonathan Kelley
da4423c141
bugs: fix web list issue
2021-10-10 22:27:08 -04:00
Jonathan Kelley
1f22a06a36
wip: event system
2021-10-07 16:18:54 -04:00
Jonathan Kelley
efd0e9b564
feat: support desktop more completely
2021-10-05 03:37:15 -04:00
Jonathan Kelley
a2b0c50a34
feat: add update functionality to useref
2021-10-04 10:22:20 -04:00
Jonathan Kelley
7a03c1d2b4
wip: overhaul event system
2021-10-04 01:28:04 -04:00
Jonathan Kelley
82953f2ac3
wip: threadsafe
2021-10-01 02:07:12 -04:00
Jonathan Kelley
71f0df6374
publish: ssr
2021-09-24 22:15:50 -04:00
Jonathan Kelley
7bdad1e2e6
publish: move macro crate out of core
2021-09-24 21:46:23 -04:00
Jonathan Kelley
b43a964f98
polish: clean up to web
2021-09-24 20:47:59 -04:00
Jonathan Kelley
823adc0834
polish: clean up the web module
2021-09-24 20:11:30 -04:00
Jonathan Kelley
f07e345eb2
examples: slightly simplify crm
2021-09-24 01:26:16 -04:00
Jonathan Kelley
718fa14b45
feat: a cute crm
2021-09-24 01:24:03 -04:00
Jonathan Kelley
1a2f91ed91
polish: examples
2021-09-24 00:05:56 -04:00
Jonathan Kelley
4b6ca05f2c
wip: performance looks good, needs more testing
2021-09-22 04:11:27 -04:00
Jonathan Kelley
84b5ddded5
feat: select figured out
2021-09-22 03:22:15 -04:00
Jonathan Kelley
d7940aa2ac
feat: proper handling of events
2021-09-22 02:44:01 -04:00
Jonathan Kelley
f15e1fa892
wip: broken diff
2021-09-22 01:29:14 -04:00
Jonathan Kelley
098d3821ed
wip: changes to scheduler
2021-09-22 01:25:28 -04:00
Jonathan Kelley
a2c7d17b05
feat: mvoe away from compound context
2021-09-21 13:42:52 -04:00
Jonathan Kelley
34c3107418
wip: more docs
2021-09-20 16:49:36 -04:00
Jonathan Kelley
9971ff215d
polish: change in cx to cx
2021-09-16 13:20:04 -04:00
Jonathan Kelley
8b3ac0b57c
perf: remove global allocation for props
2021-09-13 00:59:08 -04:00
Jonathan Kelley
da8159190b
polish: tests and documentation
2021-09-09 20:58:48 -04:00
Jonathan Kelley
725b4a1d7f
wip: fix some event stuff for web and core
2021-09-02 00:37:57 -04:00
Jonathan Kelley
a652090dc5
wip: add test_dom
2021-09-01 23:57:34 -04:00
Jonathan Kelley
acad9ca622
wip: web stuff
2021-08-31 12:28:57 -04:00
Jonathan Kelley
8b0eb87c72
wip: refactor
2021-08-26 22:05:09 -04:00
Jonathan Kelley
41cc42919d
wip: more overhaul on virtualevents
2021-08-25 16:40:18 -04:00
Jonathan Kelley
3bf19d8106
wip: more work on web
...
this commit adds complete event support for web-sys but with a few hole
2021-08-25 10:49:18 -04:00
Jonathan Kelley
59219b9ef2
wip: ricraf polyfill
2021-08-24 16:36:00 -04:00
Jonathan Kelley
8b0d04ce58
wip: ric_raf wired up
2021-08-24 16:29:10 -04:00
Jonathan Kelley
f457b71131
feat: rebuild doesn't return errors
2021-08-24 15:12:20 -04:00
Jonathan Kelley
df8aa77198
fix: append isnt backwards
2021-08-24 12:51:53 -04:00
Jonathan Kelley
cdcd8611e8
wip: it works but the page is backwards
2021-08-24 12:43:46 -04:00
Jonathan Kelley
f41cff571f
wip: working on async diff
2021-08-17 22:25:09 -04:00
Jonathan Kelley
c1afeba1ef
wip: groundwork for noderefs
2021-08-09 17:09:33 -04:00
Jonathan Kelley
1a323835c8
wip: on collaborative scheduling
2021-08-09 02:37:11 -04:00
Jonathan Kelley
fac42339c2
feat: mutations
2021-08-08 15:15:16 -04:00
Jonathan Kelley
f2334c17be
wip: bottom up dropping
2021-08-05 22:23:41 -04:00
Jonathan Kelley
687cda1b6d
feat: re-enable suspense
2021-07-30 22:14:06 -04:00
Jonathan Kelley
cfa0247cbb
wip: websys dom working properly
2021-07-30 17:04:04 -04:00
Jonathan Kelley
49856ccd68
wip: making progress on diffing and hydration
2021-07-28 21:46:53 -04:00
Jonathan Kelley
e5c88fe3a4
feat: make hooks free-functions
2021-07-27 11:28:05 -04:00
Jonathan Kelley
f782e14211
feat: omg what a dumb mistake
2021-07-27 00:27:07 -04:00
Jonathan Kelley
4a0068f099
feat: bless up, no more segfaults
2021-07-26 12:14:48 -04:00
Jonathan Kelley
dfaf5adee1
Feat: solve some issues regarding listeners
2021-07-24 00:29:23 -04:00
Jonathan Kelley
6084fbcd11
wip: move to slab
2021-07-23 17:03:51 -04:00
Jonathan Kelley
f644d7c441
wip: move things into a "shared" object
2021-07-23 10:27:43 -04:00
Jonathan Kelley
1745a44d94
wip: cleanup
2021-07-21 17:05:48 -04:00
Jonathan Kelley
6051b0ec86
wip: fill out the snippets
2021-07-20 19:03:49 -04:00
Jonathan Kelley
4a72b3140b
feat: amazingly awesome error handling
2021-07-18 12:39:32 -04:00
Jonathan Kelley
05c909f320
wip: some ideas
2021-07-18 03:54:42 -04:00
Jonathan Kelley
583fdfa561
docs: big updates to the reference
2021-07-16 16:11:25 -04:00
Jonathan Kelley
8f0bb5dc5b
chore: cleanup workspace
2021-07-15 18:40:12 -04:00
Jonathan Kelley
37ed4bed8c
wip: more work on suspense and documentation
2021-07-15 03:38:09 -04:00
Jonathan Kelley
4837d8e741
feat: suspense!
2021-07-15 00:40:37 -04:00
Jonathan Kelley
de9f61bcf4
feat: more suspended nodes!
2021-07-14 23:18:02 -04:00
Jonathan Kelley
c52af221f7
wip: basic support for scheduled rendering
2021-07-14 18:19:51 -04:00
Jonathan Kelley
80e6c25698
feat: move over to push based mechanism
2021-07-14 17:39:26 -04:00
Jonathan Kelley
e7238762ae
feat: architecture document and edit list
2021-07-14 17:04:58 -04:00
Jonathan Kelley
abf47596bc
feat: it loads the doggos
2021-07-14 02:30:41 -04:00
Jonathan Kelley
3a57b94262
feat: task system works
...
but I broke the other things :(
2021-07-14 02:04:19 -04:00
Jonathan Kelley
68ed1c04e7
wip: ....sigh..... so the diffing algorithm is robust
...
but it's still not finished.
We need to re-enable the fancier keyed diffing versions some point (soon!).
2021-07-12 03:58:46 -04:00
Jonathan Kelley
56e7eb83a9
wip: more examples
2021-07-11 19:31:07 -04:00
Jonathan Kelley
9abb0470b7
feat: static node infrastructure and ssr changes
2021-07-11 14:49:52 -04:00
Jonathan Kelley
975fa566f9
wip: more refactor for async
2021-07-09 12:47:41 -04:00
Jonathan Kelley
7aec40d57e
feat: enable arbitrary body in rsx! macro
2021-07-07 18:17:00 -04:00
Jonathan Kelley
98a09339fd
wip: move some examples around
2021-07-07 16:19:10 -04:00
Jonathan Kelley
a38a81e129
wip: fix issues with lifetimes
...
this commit fixes some lifetime issues regarding having to "move" data into the IntoVNode closure.
2021-07-07 13:51:55 -04:00
Jonathan Kelley
11f89e5d33
wip: more examples
2021-07-06 12:13:00 -04:00
Jonathan Kelley
904b26f711
feat: add edits back! and more webview support!
...
This commit adds a new type - the DomEdit - for serializing the changes made by the diffing machine. The architecture of how DomEdits fit into the cooperative scheduling is still TBD but it will allow us to build change lists without applying them immediately. This is more performant and allows us to only render parts of the page at a time.
This commit also adds more infrastructure around webview. Dioxus can now run on the web, generate static pages, run in the desktop, and run on mobile, with a large part of thanks to webview.
2021-07-05 18:37:15 -04:00
Jonathan Kelley
e8f29a8f8a
wip: enable more diffing
2021-07-05 01:11:49 -04:00
Jonathan Kelley
eb39b000d7
wip: example
2021-07-01 16:03:27 -04:00
Jonathan Kelley
952a91d540
wip
2021-07-01 14:14:59 -04:00
Jonathan Kelley
93900aac44
concept: integrate signals
2021-06-30 14:08:12 -04:00
Jonathan Kelley
7665f2c6cf
feat: move to slotmap
2021-06-29 22:44:21 -04:00
Jonathan Kelley
f4fb5bb454
feat: integrate serialization and string borrowing
...
This commit adds lifetimes to the diff and realdom methods so consumers may borrow the contents of the DOM for serialization or asynchronous modifications.
2021-06-28 12:05:17 -04:00
Jonathan Kelley
9813f23cdf
wip: more work on diffing machine
2021-06-26 22:13:57 -04:00
Jonathan Kelley
81382e7044
chore: rename ctx to cx
2021-06-25 21:15:33 -04:00
Jonathan Kelley
7fbaf69cab
Docs: more examples and docs
2021-06-24 11:09:38 -04:00
Jonathan Kelley
f5683a2346
wip: docs
...
Worked a bit on adding more examples. Trying out a new "antipattern" example to show how *not* to use Dioxus.
2021-06-23 22:32:54 -04:00
Jonathan Kelley
9d7ee79826
feat: events work again!
2021-06-23 01:44:48 -04:00
Jonathan Kelley
73047fe956
feat: props memoization is more powerful
...
This commit solves the memoization , properly memoizing properties that don't have any generic parameters. This is a rough heuristic to prevent non-static lifetimes from creeping into props and breaking our minual lifetime management.
Props that have a generic parameter are opted-out of the `partialeq` requirement and props *without* lifetimes must implement partialeq. We're going to leave manual disabling of memoization for future work.
2021-06-22 17:20:54 -04:00
Jonathan Kelley
79127ea6cd
wip: moving to IDs
2021-06-20 02:16:42 -04:00
Jonathan Kelley
70cd46dbb2
docs: move around examples
2021-06-17 18:00:32 -04:00
Jonathan Kelley
b9ff95fa12
wip: start moving events to rc<event>
2021-06-16 23:37:55 -04:00
Jonathan Kelley
36ea39ae30
Feat: rename recoil to atoms
2021-06-16 11:19:37 -04:00
Jonathan Kelley
47e896038e
wip: more work on updating syntad
2021-06-15 10:02:46 -04:00
Jonathan Kelley
517d7f1495
Chore: some cleanup and documentation
2021-06-10 01:01:53 -04:00
Jonathan Kelley
fe6938ceb3
wip: pre vnodes instead of vnode
2021-06-08 14:00:29 -04:00
Jonathan Kelley
508c560320
Feat: massive changes to definition of components
...
This change switches back to the original `ctx<props>` syntax for
commponents. This lets lifetime elision to remove the need to match
exactly which lifetime (props or ctx) gets carried to the output. As
such, `Props` is currently required to be static. It *is* possible to
loosen this restriction, and will be done in the future, though only
through adding metadata about the props through the Props derive
macro. Implementing the IS_STATIC trait is unsafe, so the derive macro
will do it through some heuristics.
For now, this unlocks sharing vnodes from parents to children, enabling
pass-thru components, fragments, portals, etc.
2021-06-01 18:33:15 -04:00
Jonathan Kelley
c1fd848f89
WIP: move to static props
2021-05-31 18:55:56 -04:00
Jonathan Kelley
fe67ff9fa4
wip: doesnt share on thread
2021-05-27 17:57:59 -04:00
Jonathan Kelley
ba975410f9
wip: parity document
2021-05-26 11:22:44 -04:00
Jonathan Kelley
ee67654f58
wip: recoil
2021-05-26 01:40:30 -04:00
Jonathan Kelley
3cfa1fe125
Feat: buff the readme and docs
2021-05-19 20:57:19 -04:00
Jonathan Kelley
b843dbd367
WIP: Todomvc in progress
2021-05-19 10:14:02 -04:00
Jonathan Kelley
0d44f009b0
Feat: introduce children for walking down the tree
2021-05-18 10:36:17 -04:00
Jonathan Kelley
a99147c85b
Feat: Clean up repo a bit
2021-05-16 02:55:16 -04:00
Jonathan Kelley
c28697e1fe
Feat: some code health
2021-05-16 02:06:02 -04:00
Jonathan Kelley
9810feebf5
Feat: major overhaul to diffing
2021-05-15 12:03:08 -04:00
Jonathan Kelley
c809095124
Wip
2021-04-09 12:04:04 -04:00
Jonathan Kelley
2eeb8f2386
wip: refactor a bit
2021-04-04 21:47:53 -04:00
Jonathan Kelley
8c541f66d5
wip: todos
2021-04-01 21:44:18 -04:00
Jonathan Kelley
cfa0927cdd
feat: todomvc
2021-04-01 00:01:42 -04:00
Jonathan Kelley
ce33031519
wip: todomvc
2021-03-29 12:31:47 -04:00
Jonathan Kelley
0bcff1f88e
Feat: more ergonomics, more examples
2021-03-26 15:50:28 -04:00
Jonathan Kelley
9f7f43b661
Feat: building large apps, revamp macro
2021-03-22 23:52:54 -04:00
Jonathan Kelley
9b560dfedb
wip: more liveview and webview custom client
2021-03-16 14:28:54 -04:00
Jonathan Kelley
7856f2b153
wip: livehost bones
2021-03-16 11:03:59 -04:00
Jonathan Kelley
5b7887d76c
Fix: some stuff related to event listeners. POC for lifecyel
2021-03-15 02:16:03 -04:00
Jonathan Kelley
4e48e0514e
wip: diffing approach slightly broken
2021-03-14 20:33:37 -04:00
Jonathan Kelley
9d0727edab
Feat: remove old macro
2021-03-13 19:11:06 -05:00
Jonathan Kelley
e66827ec92
wip: add deeply neste example
2021-03-13 10:02:57 -05:00
Jonathan Kelley
39bd1856f4
Feat: update examples
2021-03-12 17:21:06 -05:00
Jonathan Kelley
305ff919ef
Feat: ensure mutabality is okay when not double-using the components
2021-03-12 16:58:30 -05:00
Jonathan Kelley
d4f1ceaffb
feat: somewhat working with rc and weak
2021-03-12 14:27:32 -05:00
Jonathan Kelley
ec801eab16
wip: foregin eq from comparapable comp type.
...
This commit adds the framework for "comparable components". This allows
complete sealing of bump-allocated properties types, and a comparison method
that performs a "safe" cast without transmute. This lets us completely erase types
but still be able to perform partialeq over render frames
2021-03-12 13:03:37 -05:00
Jonathan Kelley
5ad81885e4
wip: staticify?
2021-03-11 12:27:01 -05:00
Jonathan Kelley
92d9521a73
WIP: remove FC
2021-03-07 21:28:20 -05:00
Jonathan Kelley
8dc26195e2
Feat: it's awersome
2021-03-04 19:20:55 -05:00
Jonathan Kelley
d9598066c2
Feat: yeet, synthetic somewhat wired up
2021-03-04 18:40:05 -05:00
Jonathan Kelley
5a9155b059
Feat: more cleanup
2021-03-04 12:03:22 -05:00
Jonathan Kelley
cf16090838
Feat: add context to builder
2021-03-03 23:06:11 -05:00
Jonathan Kelley
fcd68e61d2
Feat: listeners now have scope information
2021-03-03 11:13:46 -05:00
Jonathan Kelley
cb74d70f83
wip: broken, but solved
2021-03-03 02:27:26 -05:00
Jonathan Kelley
f225030506
Feat: accept closures directly in handler
2021-03-02 01:24:53 -05:00
Jonathan Kelley
07f671c8e1
Fix: bug that phantom triggered events
2021-03-02 00:21:11 -05:00
Jonathan Kelley
4b8e9f4a12
Feat: wowza got it all working
2021-03-02 00:14:28 -05:00
Jonathan Kelley
ffaf687896
Feat: update readme and examples
2021-03-01 00:16:48 -05:00
Jonathan Kelley
c8bb392cad
Feat: view -> render
2021-02-28 21:21:17 -05:00
Jonathan Kelley
6fabd8ccc8
bump core version
2021-02-28 17:38:48 -05:00
Jonathan Kelley
ab655eac97
Feat: update and prep for dioxusweb
2021-02-28 17:22:23 -05:00
Jonathan Kelley
3b30fa61b8
Feat: a few bugs, but the event system works!
2021-02-28 03:08:08 -05:00
Jonathan Kelley
e840f472fa
WIP: moving to CbIdx as serializable event system
2021-02-27 11:43:28 -05:00
Jonathan Kelley
e4b1f6ea0d
Feat: custom format_args for inlining variables into html templates
2021-02-26 20:42:55 -05:00
Jonathan Kelley
a8b1225c48
Feat: begin WIP on html macro
2021-02-26 12:58:03 -05:00
Jonathan Kelley
32b45e5ba1
Feat: move webview logic into library
2021-02-25 18:44:00 -05:00
Jonathan Kelley
18a7a1f9c4
Chore: comments
2021-02-24 10:12:26 -05:00
Jonathan Kelley
8d3e2ade7a
Feat: buff up examples and docs
2021-02-24 04:03:52 -05:00
Jonathan Kelley
06ae4fc178
Feat: wire up rebuild
2021-02-24 03:51:26 -05:00
Jonathan Kelley
4d01455729
Feat: update websys with lifecycle
2021-02-24 02:22:05 -05:00
Jonathan Kelley
5204862bc2
Feat: fix internal lifecycle
2021-02-24 01:31:19 -05:00
Jonathan Kelley
edf09c1892
Feat: add css example
2021-02-23 15:08:23 -05:00
Jonathan Kelley
7a6aabe4f3
Feat: WIP ctx
2021-02-20 21:59:16 -05:00
Jonathan Kelley
b3e6886351
Feat: desktop app wired up
2021-02-18 20:04:25 -05:00
Jonathan Kelley
e3ede7fcbf
Feat: re-enable stack machine approach
2021-02-17 10:53:55 -05:00
Jonathan Kelley
f22ff83190
Feat: WIP on deserialize
2021-02-15 14:14:28 -05:00
Jonathan Kelley
8439994859
Feat: web example + cli writes to browser screen!
2021-02-15 00:17:40 -05:00
Jonathan Kelley
c4e8d8bb31
Feat: wire up a very basic dom updater
2021-02-14 23:39:46 -05:00