Commit Graph
110 Commits
Author SHA1 Message Date
Travis McLane 0e0db50dea ensure event listener is activated (hooks)
The OS X delegate listener for an event is only activated if the
`on` call is made for the event id.
This is an optimization to prevent flooding the application with
events that the application does not actually care about.
The `impl.on` call is what activates the response handler for the
event in question.  This logic was missing in the RegisterHooks()
function but is present in the `On()` function.  In the case of using
`On()` first followed by `RegisterHooks()` things work correctly.
2024-04-26 13:47:08 -05:00
021efab84d allow for non-Window WailsEvent listeners (#3406)
* allow for non-Window WailsEvent listeners

- adds a RegisterListener function on the App struct such
  that code can listen for WailsEvent(s) even if it isn't a Window
- rename dispatchEventToWindows -> dispatchEventToListeners
- add all windows and WailsEventListeners to slice before emitting

* Update v3/pkg/application/application.go

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-04-20 09:39:57 +10:00
Lea Anthony 85b1f909a7 Plugin updates 2024-03-26 20:56:58 +11:00
2b9891da2c [v3] Update and fix runtime JS API (#3295)
* Cleanup bundled runtime entry point

* Fix JS representation of Screen struct

* Expose IsFocused method in Window interface

* Update JS window API

* Fix cleanup of WML listeners

* Bundle runtime as ES module

* Update runtime dependencies

* Update runtime types and events

* Update bundled runtime

* Update changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-03-20 20:30:14 +11:00
Lea Anthony aba82cc527 Update system.Environment 2024-03-19 20:37:03 +11:00
Lea Anthony bc0a9b2e52 Add BundledAssetFileServer for bundled /wails/runtime.js. Update examples. 2024-03-17 15:08:30 +11:00
stffabi 723dd976b4 [v3, assetServer] Use middlewares for runtime, caps and falgs instead of having the implementation in the assetserver 2024-02-16 07:38:28 +01:00
stffabi 65251cdafa [v3, assetServer] Remove fs.FS from options and always use a http.Handler 2024-02-16 07:38:27 +01:00
Lea Anthony 6522657893 Refactor menu functions and streamline devtools toggle across systems
This update adds implementation to several menu item functions, replacing their previous 'not implemented' state. This includes actions for close, reload, forcing reload, toggling of fullscreen, reset zoom, and others. The update also includes modifications for the handling of developer tools toggle under different build configurations. This refactoring is aimed to standardize devtools configuration across different operating systems.
2024-01-21 20:52:32 +11:00
Lea Anthony e5c14d24ae Initial implementation of dev mode.
Huge thanks to @atterpac!
2024-01-19 21:34:49 +11:00
Lea Anthony 861ddea1b2 Add option to prevent application shutdown
This update allows the application shutdown to be cancelled. It implements the shouldQuit function, which can prevent the application from quitting if it returns false. Additional checks have been added to ensure cleanup and quit processes are performed only if required. The darwin delegate and linux and windows applications were modified to include this new functionality.
2024-01-17 20:45:30 +11:00
Lea Anthony a6757c352f Add shutdown tasks functionality to application
A new method OnShutdown was introduced to allow adding tasks to be run when the application shuts down. The shutdown tasks are run on the main thread and in the order they were added, with the application option `OnShutdown` being run first. This allows more controlled and managed shutdown of the application.
2024-01-14 08:17:17 +11:00
ALMASandGitHub 3cd26a2220 [v3] Improve OnShutdown (#3190)
* [v3] Improve OnShutdown

* add change log
2024-01-10 23:28:15 +11:00
Lea Anthony 6c3bd124ce Added option to disable AssetServer logging.
An option to disable AssetServer logging has been introduced in the application options. This will suppress every request log from the AssetServer if set to true. This adjustment is useful for preventing log saturation in certain scenarios or environments.
2024-01-09 22:15:42 +11:00
Lea Anthony 68b12d4fff Refactored application shutdown process to streamline app termination.
The application shutdown process has been significantly reworked to be more efficient and robust. The refactored code removes the event listener for the 'ApplicationTerminate' event. Instead, an in-process flag is added to the 'Quit' method to prevent recursive calls. Additionally, an optional 'OnShutdown' function variable is introduced to allow custom cleanup operations upon app termination.
2024-01-09 18:19:09 +11:00
Lea Anthony 1195464acb Improve window teardown on termination
This commit adds a robust teardown process for windows on application shutdown. It introduces a field to track the destruction state of each window and checks such before performing window operations. Also, it enhances the destroy functions within application for thorough clean up. Finally, redundant event handlers related to application termination were removed while fixing file generating challenge in go tasks.
2024-01-09 07:45:56 +11:00
Lea Anthony 68e779d64e [darwin] add support for quitting app 2024-01-08 21:22:33 +11:00
stffabi 2f3eb70a4d [windows] Use msWebView2BrowserHitTransparent for non working NC area clicks on unfocused window
Without this patch there's a really strange behaviour if there are
multiple windows.
Having two windows with a webview open with an input field.
Focusing the input field on one window, then focusing the input
field on the second one. Then clicking directly on the non client
area of the first one, e.g. to trigger a minimze, the minimize is
not executed until the mouse is getting moved. As long as the
mouse is not moved the event for the click is blocked and not
executed.

Using this new mode fixes that problem, but we need to handle
‘alt+f4’ on our own.
2023-12-30 23:34:54 +01:00
Lea Anthony 9f567fe2bc Application: increase message buffer sizes, process all messages in goroutine, Add IsDebug to environment info. 2023-12-29 12:48:26 +11:00
Lea Anthony b08126d745 Radical JS runtime overhaul. New @wailsio/runtime package 2023-12-28 19:18:26 +11:00
ALMASandGitHub e0b8da86ed [v3] export SetIcon method (#3147)
* export `SetIcon` method

* add change log
2023-12-19 23:43:28 +11:00
Lea Anthony 8242834fbd [windows] improvements to dev 2023-11-27 21:24:58 +11:00
Lea Anthony 814e1ec059 [windows] initial wails dev support 2023-11-27 20:38:42 +11:00
Travis McLane 46a0030387 [v3] noop: gofmt changes 2023-11-06 10:41:14 -06:00
Lea Anthony 8463c01123 [windows] Drag-n-drop support 2023-10-21 11:21:10 +11:00