Commit Graph
586 Commits
Author SHA1 Message Date
Evan Almloff aa0ea444cf Fix ordering issues when with_menu(None) is called before setting the window builder (#2903) 2024-08-29 15:51:31 -05:00
Evan Almloff effc0a3b94 Make use_callback and Callback bring the runtime with them (#2852)
* Move the runtime along with Callback
2024-08-20 14:58:53 -07:00
ASR-ASUandEvan Almloff 2f49a89638 Add the onresize event handler to Element (#2479)
* Add the capability to handle resize event for web target

* Add the capability to handle resize event for desktop target

* Return all the sizes, not just the first one

* Fix conversion from platform to generic ResizedData for liveview

* Update the generated interpreter js code base

* Fix clippy warnings

* Fix inconsistent use of block_size and inline_size

* Rename `onresized` event to `onresize`

* Remove the the special-casing logic from the binding logic

* Propagating the resize events using CustomEvent

* Fix case convention in core ts

* revert changes to unified bindings

* Cleanup as suggested

* add a resize example

* Fix desktop resize events

* remove tracing from resize example

* use the raw resize entry so we can downcast on web

* remove unused ResizeEventDetail

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-08-15 01:23:49 +00:00
Evan Almloff cab573eefd Synchronous prevent default (#2792)
* add prevent default methods to the event

* sync prevent default almost working

* sync prevent default working

* Move event handling into the runtime

* update core tests

* restore desktop file dialog

* implement prevent default on web

* add a hint about the new prevent default method

* fix web prevent default

* Fix CTRL+click on links

* fix values memorize in place test

* Fix a few more tests

* Add a playwright test for sync prevent default

* Fix core doc tests

* create a deprecated VirtualDom::handle_event

* fix macos imports in desktop

* Fix onmounted event

* Fix liveview support

* switch to RefCell for metadata

* Remove println

* remove prevent default attribute

* remove web specific link behavior

* Fix liveview links

* more liveview fixes for link

* Fix merge conflicts

* Fix clippy

* use the new prevent default in the file upload example
2024-08-13 11:57:54 -07:00
Sylvain Tertois a2180b92e9 adding the Access-Control-Allow-Origin header to files served from filesystem in dioxus-desktop (#2818) 2024-08-12 12:52:51 -07:00
Matt Hunzinger 205d8e9070 Add argument to use_callback (#2774) 2024-08-02 16:15:59 -07:00
Jonathan Kelley 0cbcef735f Pre-release 0.6.0-alpha.0 (#2755)
* CI: add docsrs to ci

* add env vars

* no need for tokio things

* whoops, wrong rust nightly

* add swc

* bump crate versions to 0.6.0-alpha.0

* hoist up warnings and shuffle cargo.toml

* update cargos and disable warnings from ci

* attempt fix of aws

* attempt disabling aws_lc_sys globally

* pull in lc-sys

* add fips feature to fix docs

* turn on features for aws-lc-sys on cargo-doc-all

* pass along more args

* fix cfg docs

* fix: flakey gen box test

* fix: doc_cfg in static gen

* dont include readme

* fix error on static gen

* remove random line

* temporarily disable warnings

* simplify axum desktop so it doesnt count as a lib

* fix binstall link

* bump locks

* lock fixes

* revert axum desktop

* dont publish some crates
2024-07-31 22:37:39 -05:00
Evan Almloff df8c7e1872 don't print the asset path on desktop (#2748) 2024-07-30 20:31:03 +00:00
Adam Kundrát 23dfe39bdf desktop app saves window position fix (#2730)
* desktop app saves window position fix

* debug cfg

* cargo fmt
2024-07-29 12:25:34 -07:00
Miles Murgaw 810f8bbfb8 Feat: always_on_top CLI Setting (#2715)
* feat: always_on_top cli setting

* revision: add user message for configuring settings
2024-07-26 16:27:56 -07:00
Miles Murgaw bd58a92441 CLI: Toasts & Tweaks (#2702)
* progress: cli toasts

* forgot the html

* progress: toasts

* revision: don't open splash on desktop

* fix: fmt, spellcheck
2024-07-25 14:38:45 -07:00
Evan Almloff bd484842bd Fix playwright tests (#2695) 2024-07-24 12:48:30 -07:00
Tristan F.andJonathan Kelley 9167cd9dec fix most typos, add crate-ci/typos to CI (#2653)
* fix most typos, add crate-ci/typos to CI

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 17:49:33 -07:00
Evan Almloff 1dcfc44c23 prevent the reload shortcut on windows (#2654) 2024-07-23 10:58:17 -07:00
Miles Murgaw 672f4dfefc Re-Export Manganis & Update Examples (#2625)
* feat: export manganis

* revision: use manganis in examples

* fix: manganis dep

* fix: workspace root finder

* fix: manganis dep

* fix: ci
2024-07-23 10:29:37 -07:00
88af3e7eff Hotreloading of for/if/body, formatted strings, literals, component props, nested rsx, light CLI rewrite, cli TUI (#2258)
Hotreload the contents of for loops, if chains, component bodies, props, attributes, and any literals discovered in rsx!
Add a TUI renderer to the CLI.
Improve the CLI build system to be async and parallel.
Refactor RSX to allow partial expansion of expressions.
Merge autofmt implementations for consistency.
Merge the representation of elements and components under the hood.
Add a diagnostics system for rsx for improved error messages.
Drop interprocess and move to websockets for communication between the CLI and the server.
Assign IDs to nodes and attributes in a stable way to be used in non compiler contexts.
Add hotreloading to any body of component/for loop/if chain/etc.

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Liam Mitchell <liamkarlmitchell@gmail.com>
2024-07-17 19:11:18 -07:00
Evan Almloff 176e67e5b7 switch to a Document trait and introduce Script/Head/Style/Meta components (#2635)
* switch to a Document trait and introduce Script/Head/Style/Meta components

* Fix desktop title

* Insert special elements into the head during the inital SSR render

* Make all head component attributes optional

* hydrate head elements

* improve the server streaming head warning

* Document fullstack head hydration approach

* deduplicate head elements by href

* move Link into head::Link

* document head components

* add meta and title examples

* Fix a few doc examples

* fix formatting

* Add title to playwright tests

* serde is optional on web, but it is enabled by hydrate

* remove leftover console log
2024-07-17 20:54:03 -05:00
Andrew Scott 69d7098d0e feat (desktop): upgrade from wry 37 to 41 (#2618) 2024-07-10 12:50:04 -07:00
Andrew Scott 156144e8f5 fix (desktop): hide menu when window decorations are disabled (#2613)
* fix: hide menu when window decorations are disabled

* chore: clearer doc description
2024-07-09 12:37:58 -07:00
Andrew Scott bb52280a51 fix (regression): hide desktop window until initial render (#2614) 2024-07-09 12:32:05 -07:00
Evan Almloff a09548d80e Remove implicit optional dependency features (#2512)
* remove implicit optional dependency features

* switch to new features in desktop, router and signals crates
2024-06-18 18:39:15 -05:00
Evan Almloff f4a62fad6b Assert that launch never returns for better compiler errors (#2517)
* assert that launch never returns for better compiler errors

* fix static generation launch function

* fix web renderer
2024-06-18 16:04:36 -07:00
Huddy Buddy 5e3bb4f549 add asynchronous custom protocol support (#2535)
Added asynchronous custom protocol handling
2024-06-18 15:53:39 -07:00
Evan Almloff 487570d897 Add CI step to test packages with debug assertions off (#2507)
* test packages in release mode

* run release tests in a separate job

* fix release generation box tests
2024-06-12 13:07:52 -07:00
Evan Almloff 79e18c2d62 fix hooks release build 2024-06-10 07:41:15 -05:00
Evan Almloff 7efe4d0e49 Fix recursive copy while bundling (#2419) 2024-06-07 12:43:17 -07:00
ASR-ASU 460b70e0f0 Add access to the Element attributes related to scrolling (#2338)
* Add access to the Element attributes related to scrolling

* Fix clippy warnings

* Restore interpreter/src/js/hash.txt content

* Update generated interpreter files

* Use euclid types as return types

* Remove redundant functions

* It's not necessary for PixelsSize to be in 3D

* Rename PixelsVector to PixelsVector3D and add a PixelsVector2D type

* Remove unused PixelsLength type
2024-05-21 12:56:49 -05:00
Evan Almloff 05eaca320f fix empty docs clippy warning 2024-05-03 13:41:48 -05:00
Evan Almloff 74352f2f61 Fix desktop effect race condition (#2313)
* don't poll desktop before the render has been applied

* fix desktop headless tests

* move edit queued code into the edit channel and add more comments
2024-04-26 12:52:33 -04:00
Evan AlmloffandJonathan Kelley cbeda0af76 Refactor and fix eval channels (#2302)
* wip

* pull out eval into the interpreter

* fix web eval

* fix DioxusChannel name

* properly drop dioxus channel

* use typescript dioxus chanel in desktop

* add more comments to native eval

* add desktop headless eval tests

* expand web playwright eval tests

* fix web headless tests

* fix default hasher path

* run eval tests on windows

* restore desktop query drop code

* remove data from drop desktop query message

* catch syntax errors in desktop eval

* catch js runtime errors in desktop

* fix typo interprerter -> interpreter

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-04-26 11:55:48 -04:00
Evan Almloff 72ef58b95e Create use_muda_event_handler hook (#2367)
* create use_muda_event_handler hook

* fix use_muda_event_handler re-export
2024-04-25 13:32:34 -04:00
Evan Almloff 40b576894f fix the assets head path (#2267) 2024-04-08 19:23:11 -07:00
Zan PanandEvan Almloff fcbebbbf14 Use tracing::warn! instead of error! when assets not being preloaded (#2251)
* Use `tracing::warn!` instead of `error!` when assets not being preloaded

Currently, it emits a `tracing::error` when assets not being preloaded if the dioxus CLI was not used to build the application. It should be a warning since `cargo` can also build the application successfully.

* add more details to desktop preload warning

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-04-05 08:33:02 -05:00
Jonathan Kelley 0a3291084f Use a VecDequeue instead of a vec for bytes (#2246)
* Fix: add both the rAF queue and vecdequeue

* Fix: Take before recycle
2024-04-04 16:29:28 -07:00
Russell Mull 46b0eeb12c Implement the "Toggle Developer Tools" menu item in desktop (#2198) 2024-04-02 10:53:26 -07:00
Evan Almloff 36f67bd5e2 update 0.4 doc links to 0.5 2024-03-27 20:42:07 -05:00
Jonathan Kelley 329c323b35 Doc fixes, running examples instructions, change menubar behavior for desktop 2024-03-27 17:57:05 -07:00
Evan Almloff dadbab5d72 make some enums non-exhaustive (#2140) 2024-03-26 19:14:48 -07:00
Evan Almloff e464294c66 fix hot reload on windows (#2142) 2024-03-26 00:36:11 -07:00
Evan Almloff 9942c8bfd1 Fix asset bundling in the CLI (#2145)
* Fix asset bundling in the CLI

* fix clippy
2024-03-26 00:36:03 -07:00
Jonathan Kelley e923c6462c Resume window position/size, watch cargo/dioxus tomls, fix css reverting during hotreloading, allow menubar events to be captured from within dioxus (#2116)
* Fix: css hotreloading being invalidated, watcher not watching cargo/dioxus tomls, add feature to restore window state

* Make clappy hippier

* remove console log

* use simpler css invalidator

* Less flash, remove log on web hotreload

* Fix floating window managed behavior on mac

* clippy...
2024-03-20 09:16:18 -07:00
Jonathan Kelley 4bb807a3ce Reduce churn in window behavior 2024-03-18 22:38:33 -07:00
Evan AlmloffandJonathan Kelley d442dac168 Add a menu bar option to the desktop config (#2107)
* add an option to set a custom menu in the desktop config

* Fix rename issue

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-03-18 22:36:47 -07:00
Jonathan Kelley f9f902732b Fix: update wry, tao, to fix android issues 2024-03-15 20:12:13 -07:00
Jonathan Kelley 7d11984a0e Chore: bump wry + tao 2024-03-14 23:11:25 -07:00
Jonathan Kelley bb8b4dc2fb FIx:
- asset hotreloading for desktop,
- asset dir for dxserve on desktop,
- extend features with platform
2024-03-13 17:15:49 -07:00
Jonathan Kelley 3d699e7a75 Match on more places for asset reloading 2024-03-13 15:10:44 -07:00
Evan Almloff 6b84f284c9 fix manganis assets overlapping between examples 2024-03-11 17:11:52 -05:00
Evan Almloff f8a8ee3e29 fix clippy 2024-03-08 12:45:23 -06:00
Jonathan Kelley 81f38a0bc5 cfg out globalhotkey 2024-03-06 16:42:45 -08:00