Commit graph

348 commits

Author SHA1 Message Date
Evan Almloff
3c01593703 document HtmlEventConverter 2023-08-31 16:38:14 -05:00
Evan Almloff
097eb2099c add extension to downcast web events 2023-08-28 17:16:56 -05:00
Evan Almloff
8ba1c05a93 fix desktop events 2023-08-28 16:37:19 -05:00
Evan Almloff
bd387d601c fix formatting 2023-08-28 15:49:46 -05:00
Evan Almloff
93cbfd0dbc derive more traits for serialized types 2023-08-28 12:35:43 -05:00
Evan Almloff
f7dff22552 expose all serialized events as public 2023-08-28 11:49:16 -05:00
Evan Almloff
b4ebf34595 forward data PointInteraction data in the PointerData debug and partial implementation 2023-08-28 11:39:55 -05:00
Evan Almloff
b54f7dd5d2 fix no default features on the web renderer 2023-08-25 21:28:44 -05:00
Evan Almloff
ca1a502714 use an event converter for bundle splitting 2023-08-25 21:03:03 -05:00
Evan Almloff
299b123446 trait based event system 2023-08-25 17:02:48 -05:00
Evan Simkowitz
bad30786e2
address comments 2023-08-23 22:09:39 -04:00
Evan Simkowitz
56095116e2
Fix tests 2023-08-23 17:58:43 -04:00
Evan Simkowitz
af9875f9b1
revert change to cargo 2023-08-23 14:10:18 -04:00
Evan Simkowitz
e0f42f8173
Fix rink 2023-08-23 13:31:42 -04:00
Evan Simkowitz
0e5600f2f4
add impl for pointer 2023-08-23 12:47:37 -04:00
Evan Simkowitz
cc3f60dd2f
Adding PointInteraction trait, etc. 2023-08-22 23:29:24 -04:00
Bruce Mitchener
d8704a0447
deps: Update keyboard-types to 0.7. (#1378) 2023-08-21 09:28:32 -05:00
wooden-worm
f652474a6e
FileEngine: expose native file types on different platforms (#1258)
* Get native file

* Correct visibility
2023-08-17 08:03:56 -05:00
Koji AGAWA
d573f5dfd5 feat: props spread 2023-08-13 16:45:17 +09:00
Evan Almloff
24c626b306 fix clippy 2023-08-08 13:43:57 -07:00
Brian Donovan
e98e773186
doc: fix typo (#1287) 2023-08-03 16:32:14 -05:00
Christian Albrecht
c9790860a5
fixed "http_equiv" in meta to generate "http-equiv" instead of "http_equiv" (#1277) 2023-08-02 11:25:41 -05:00
Jonathan Kelley
39e89c1fac
Bump crate versions, fix any publish errors 2023-07-31 18:49:54 -07:00
Evan Almloff
45d386810b create features for large web-sys events/types 2023-07-28 15:38:07 -07:00
Evan Almloff
2d51a1c4f2 make more of core private 2023-07-26 16:17:48 -07:00
Miles Murgaw
6210c6fefe
Convert use_eval to use send/recv system (#1080)
* progress: reworked

don't run this, it'll kill your web browser

* feat: use_eval but with comms

* revision: async recv & recv_sync

* revision: use_eval

* revision: standard eval interface

* revision: use serde_json::Value instead of JsValue

* revision: docs

* revision: error message

* create: desktop eval (wip)

* fix: desktop eval

* revision: wrap use_eval in Rc<RefCell<_>>

* fix: fmt, clippy

* fix: desktop tests

* revision: change to channel system

- fixes clippy errors
- fixes playwright tests

* fix: tests

* fix: eval example

* fix: fmt

* fix: tests, desktop stuff

* fix: tests

* feat: drop handler

* fix: tests

* fix: rustfmt

* revision: web promise/callback system

* fix: recv error

* revision: IntoFuture, functionation

* fix: ci

* revision: playwright web

* remove: unescessary code

* remove dioxus-html from public examples

* prototype-patch

* fix web eval

* fix: rustfmt

* fix: CI

* make use_eval more efficient

* implement eval for liveview as well

* fix playwright tests

* fix clippy

* more clippy fixes

* fix clippy

* fix stack overflow

* fix desktop mock

* fix clippy

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-07-21 17:36:25 -05:00
Jonathan Kelley
f0289068a2
Merge pull request #1219 from Demonthos/improve-build-times
Halve Build Times
2023-07-20 10:50:15 -07:00
Andrea Frigido
dccad58f1d Update license field following SPDX 2.1 license expression standard 2023-07-20 18:00:07 +01:00
ealmloff
8a3d1e47b3
Merge branch 'master' into add-file-data-drag-event 2023-07-19 18:12:57 -07:00
Evan Almloff
3d8d8a1b6f half-build-times 2023-07-19 10:19:23 -07:00
Jonathan Kelley
41c4b57984
Merge pull request #1074 from kaid/directory-selection-dialog
Add directory support for file input.
2023-07-18 18:23:23 -07:00
Evan Almloff
7453486448 fix formatting 2023-07-17 15:12:57 -07:00
Evan Almloff
26f6561de5 fix html cargo.toml 2023-07-11 17:55:55 -05:00
Evan Almloff
7577019946 Merge branch 'master' into add-file-data-drag-event 2023-07-11 17:53:09 -05:00
Kaid
e39d8708fa Changed directory to webkitdirectory in bool_attrs definitions. 2023-07-10 17:19:11 +08:00
Marc Espín
32d4472bfd
fix: Remove duplicated doc links and improved some descriptions (#1167) 2023-07-08 11:04:27 -05:00
Jonathan Kelley
e77a14dbf7 Remove RFD from input crate 2023-06-30 13:59:59 -07:00
Jon Kelley
abccc7463f
Merge pull request #1010 from Demonthos/fix-onload-event
Fix the onload event
2023-06-30 12:14:35 -07:00
Evan Almloff
5f873511c5 use workspace dependancies 2023-06-19 14:29:11 -05:00
ealmloff
cf9ed74303
Merge branch 'master' into fix-onload-event 2023-06-19 08:16:40 -05:00
Kaid
277436f673 Changed underlying directory attribute to webkitdirectory, fixed attribute parsing to properly toggle it. 2023-06-06 08:06:27 +08:00
Kaid
37a8fb5391 Add directory support for file input. 2023-06-05 16:47:04 +08:00
Miles Murgaw
d09c92beda
Add initial_value attribute & fix static special attribute handling (#1063)
* feat & fix: initial_value attribute, special attribute handling

* revision: rename js file

* fix: rustfmt

* fix: clippy

* fix: desktop not finding common.js

* fix: desktop failing to render

Missed a single ``this.SetAttributeInner`` as it was now ``setAttributeInner``
Javascript didn't even throw any errors about this smh

* revision: no need for match statement
2023-06-04 11:29:34 -05:00
Jon Kelley
379ea09b12
Merge pull request #894 from Demonthos/query-system
Create onmounted Event
2023-05-18 13:17:15 +02:00
Evan Almloff
633eae2d5c add use element to html 2023-05-15 14:39:32 -05:00
Alexander Keliris
35cb6616af
Add hgroup html tag (#1016)
The [<hgroup>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hgroup) HTML element represents a heading and related content. It groups a single <h1>–<h6> element with one or more <p>.
2023-05-10 08:21:05 -05:00
Evan Almloff
d1afd99b10 fix clippy 2023-05-08 17:58:56 -05:00
Evan Almloff
043aae1689 fix the onload event 2023-05-08 17:49:28 -05:00
Evan Almloff
19436e210f Merge branch 'upstream' into query-system 2023-05-05 11:09:25 -05:00
Evan Almloff
ada246c12e add file property to drag data 2023-04-27 10:21:05 -05:00
Evan Almloff
cfe94950c6 make files optional when deserializing form data 2023-04-26 18:05:13 -05:00
Evan Almloff
e1f02f8135 Merge branch 'upstream' into query-system 2023-04-26 18:00:39 -05:00
Evan Almloff
9cfb655478 implement the file engine for liveview 2023-04-25 14:26:12 -05:00
Evan Almloff
6d3d927d5c Merge branch 'fix-select-form-events' into implement-file-engine 2023-04-25 13:18:25 -05:00
Evan Almloff
9fa912bb59 create native file engine bindings for TUI/Blitz 2023-04-20 10:12:11 -05:00
Evan Almloff
223c7efce2 Merge branch 'upstream' into query-system 2023-04-18 10:33:40 -05:00
Evan Almloff
f1f7517b88 Fix form events with select multiple 2023-04-06 11:11:08 -05:00
Evan Almloff
1cc4260f70 more resilient keyboard event deserialization 2023-04-01 20:15:10 -05:00
Evan Almloff
fa9f0d0f6c Generalize Query system for use in use_eval and node querys 2023-03-23 15:19:00 -05:00
Evan Almloff
7636c046fa implement on mounted for desktop 2023-03-20 16:10:34 -05:00
Evan Almloff
1aad285853 provide nicer error types 2023-03-19 17:02:12 -05:00
Evan Almloff
920fcf728c create onmounted event 2023-03-19 16:34:57 -05:00
Jonathan Kelley
f664ce8fe0 Merge branch 'master' of github.com:DioxusLabs/dioxus 2023-02-22 13:06:41 -08:00
Jonathan Kelley
018a6e7578 bump dioxus, html, and hot-reload 2023-02-22 13:06:33 -08:00
Jonathan Kelley
ab0023129d bump rsx 2023-02-22 12:22:45 -08:00
Evan Almloff
a51f67c2ec add version to docs links in readmes 2023-02-18 18:38:30 -06:00
Jon Kelley
4f0f2484fd
Merge pull request #774 from Demonthos/update-doc-links
Update guide doc links
2023-02-17 11:53:15 -08:00
Jonathan Kelley
a6c13c8ad0 Move event return to HTML crate 2023-02-08 15:51:28 -08:00
Jonathan Kelley
9ebafc46bb feat: allow 'static futures to be spawned from handlers 2023-02-06 00:54:08 -08:00
Evan Almloff
b6c7d44a27 fix clippy 2023-01-27 20:35:46 -06:00
Evan Almloff
3f3db39c28 update doc links 2023-01-15 15:18:12 -06:00
Evan Almloff
d8d483a8b4 apply the same fixes to element specific attributes 2023-01-12 11:31:21 -06:00
Evan Almloff
232b49a3be change some upper camel case to snake case and fix some incorrect attributes 2023-01-12 11:21:34 -06:00
Jon Kelley
e5b39bb61f
Merge pull request #744 from Demonthos/update-readmes
Update READMEs and tags for the 0.3 release
2023-01-10 18:21:55 -08:00
Evan Almloff
8a1f54f573 fix drag* events 2023-01-10 12:53:40 -06:00
Evan Almloff
52d5c8d4e7 update READMEs and tags for the 0.3 release 2023-01-10 10:16:11 -06:00
Jonathan Kelley
7f01f61138 feat: publish 0.3 versions of many crates 2023-01-04 14:31:07 -05:00
Maurice Kayser
dde4fb31b2
Fix typo (#709) 2023-01-03 10:09:03 -06:00
Jonathan Kelley
e22f4ad6cf fix: resolve clippy warnings 2022-12-29 16:21:24 -05:00
Jonathan Kelley
4fdbce9a70 chore: clean up readmes 2022-12-29 16:17:03 -05:00
Evan Almloff
33c08b3d74 Merge branch 'upstream' into fix-hot-reloading 2022-12-23 18:59:57 -06:00
Jonathan Kelley
2409d499e0 chore: adjust attribute macro 2022-12-23 19:46:09 -05:00
Evan Almloff
8fcccfa294 intigrate upstream changes 2022-12-23 17:59:51 -06:00
Jonathan Kelley
fd8015e943 fix: hovers 2022-12-23 17:39:07 -05:00
Jonathan Kelley
4e49d71efe chore: tweak global attributes 2022-12-23 17:11:00 -05:00
Evan Almloff
a42ed7d445 create hot-reload-context flag 2022-12-23 15:08:44 -06:00
Evan Almloff
776c5e8839 fix hot reloading with global and svg attibutes 2022-12-22 13:52:41 -06:00
Evan Almloff
e5a5850354 merge master 2022-12-20 20:48:28 -06:00
Evan Almloff
67921cacc3 post merge fixes 2022-12-19 21:20:46 -06:00
Evan Almloff
493ee1cb3f Merge branch 'upstream' into fix-hot-reloading 2022-12-19 21:17:22 -06:00
Evan Almloff
4364a4b511 handle updating templates better 2022-12-19 19:28:44 -06:00
Jonathan Kelley
ca4d4ae8e1 chore: dont get rid of form data 2022-12-19 15:10:50 -08:00
Jonathan Kelley
50faa7dd08 feat: add proper event type 2022-12-19 14:14:01 -08:00
Jon Kelley
5ac9b595ea
Revert "fix: liveview interpreter using new templates" 2022-12-16 14:20:05 -08:00
=
b6ade84ea6 fix some lints 2022-12-16 10:19:26 -06:00
=
14dd568987 Merge branch 'upstream-master' into fix-hot-reloading 2022-12-16 10:07:11 -06:00
Jonathan Kelley
01fa68645f fix: liveview test 2022-12-15 20:42:01 -08:00
Jonathan Kelley
7790d2c065 chore: simplify liveview abstraction 2022-12-15 18:46:59 -08:00
Jonathan Kelley
06e8e096bb feat: more fixes to liveview 2022-12-15 14:25:23 -08:00
=
ab743e01b7 make html hot reloding context work 2022-12-14 21:38:50 -06:00
Jonathan Kelley
e256fe1079 wip: add html event type 2022-12-14 19:07:33 -08:00
=
6d2e510200 WIP implement hot reloading context for html 2022-12-12 21:46:49 -06:00
=
c961bf0779 improve and unify element macro 2022-12-11 10:26:21 -06:00
Jonathan Kelley
a252774226 chore: clean up docs with changes to templates 2022-12-07 13:39:22 -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
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
18d6b1ad6f feat: get web working properly 2022-11-30 17:21:10 -05:00
Jonathan Kelley
0027cdd938 chore: get event test working 2022-11-27 09:38:40 -05:00
Jonathan Kelley
08ca068d1c chore: iron out all events 2022-11-21 17:15:17 -08:00
Jonathan Kelley
30ef225812 feat: event handling on desktop 2022-11-17 20:00:39 -08:00
Jonathan Kelley
e8ae830cf2 feat: get desktop working with just creation 2022-11-15 18:32:48 -08:00
Jonathan Kelley
8caabb97d8 wip: more work on html 2022-11-15 16:51:22 -08:00
Jonathan Kelley
0dad91bc08 wip: pass more events 2022-11-15 16:37:23 -08:00
Jonathan Kelley
47d0f51e00 wip: overhaul event system 2022-11-15 16:05:22 -08:00
Jonathan Kelley
c096057dd3 chore: tweak attributes to only set ID once 2022-11-08 20:06:39 -08:00
Jonathan Kelley
c6a6c3d0f8 feat: components pass thru children 2022-11-02 17:29:18 -07:00
Jonathan Kelley
4a31b29703 feat: simple tests passing 2022-11-01 18:42:29 -07:00
Jonathan Kelley
22d4bf7346 feat: use walking pattern 2022-10-26 18:04:47 -07: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
Daniel Olano
b51abd1a9c
Add datetime attribute to time element (#590) 2022-10-14 10:16:52 -05: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
Demonthos
b32fd2d2cd
fix scroll data (#569) 2022-09-30 10:48:52 -07:00
Demonthos
d4d5d2733e
add missing global attributes (#546) 2022-09-08 12:06:25 -07:00
Eric Hulburd
02a21bc193
fix: set false for media event bubbling (#542) 2022-09-08 07:55:07 -05:00
Norman Paniagua
8347de5956
Added dialog tag (#533)
* added dialog tag

* updated attribute type
2022-08-24 08:01:40 -05: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
4a5ae758ee
Allow Multiple dependencies for states in the RealDom (native core) (#412)
* WIP multable deps

* WIP: refactor and genralize state macro

* add traversable trait

* update tui to use elementid to index dom
2022-07-07 00:50:22 -04:00
Reinis Mazeiks
f30387597a Add wheel events to event example; make interface prettier 2022-06-29 01:18:09 +03:00
Reinis Mazeiks
a46ff93600 Improve keyboard event debug formatting 2022-06-29 01:09:17 +03:00
Reinis Mazeiks
c090741c60 Improve event formatting 2022-06-28 23:46:24 +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
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
Jonathan Kelley
8be66bd34d fix: apply some clippy lints and rename the liveview methods to not intersect 2022-06-20 02:24:39 -04:00
Evan Almloff
db1866090a fix broken doc links 2022-05-22 20:44:32 -05:00
Reinis Mazeiks
fcf776e60f Update web_sys to avoid deprecated API 2022-05-12 18:24:13 +03:00
Reinis Mazeiks
45980f9a1e Update examples to avoid deprecated API 2022-05-12 15:00:43 +03:00
Reinis Mazeiks
aaf9d4665f Update interpreter and example 2022-05-12 14:36:52 +03:00
Reinis Mazeiks
ed34e339fc Tui: construct keyboard data with new api 2022-05-12 14:10:25 +03:00
Reinis Mazeiks
7ee02bc0d8 Enable euclid/serde when needed 2022-05-12 11:38:27 +03:00
Reinis Mazeiks
addb0703b1 Write docs for wheel events 2022-05-12 11:12:34 +03:00
Reinis Mazeiks
1bb8b04d87 Update examples to avoid deprecated fields 2022-05-12 11:03:51 +03:00
Reinis Mazeiks
d7e4fcda80 Implement idiomatic accessors for WheelData 2022-05-12 10:55:04 +03:00
Reinis Mazeiks
765baf6e48 Rename module input to avoid naming conflict with element of the same name
Not sure if this was supposed to be allowed, but it was causing https://github.com/rust-lang/rust/issues/96934
2022-05-11 13:47:58 +03:00
Reinis Mazeiks
5bddafb943 Update tui_keys example and web_sys to use new accessor methods 2022-05-07 18:28:15 +03:00
Reinis Mazeiks
81d3c990bf Simplify mouse button tracking
delete the shitcodes
2022-05-07 16:11:48 +03:00
Reinis Mazeiks
9c6cd42ca2 TUI: use constructor instead of deprecated fields 2022-05-07 10:49:49 +03:00
Reinis Mazeiks
c35dddc203 Create constructor for MouseData 2022-05-07 10:31:05 +03:00