mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 14:45:49 +01:00
[V3] Drag-n-Drop Zones and improvements (#4318)
* new events
* macOS dnd improvements
* wailsio adds for dropzone
* update example
* sorta working
the top 300px of the window are not dropabble for some reason i suspect it has to do with the drag enter/drag leave xy as the performOperation needed to use the ContentView for appropriate X/Y
* implement attribute detection for data-wails-dropzone
* docs
* pass x/y dnd linux
* cleanup exmample
* changelog
* pass all attributes to golang on dragdrop
* filetree example
* fix dnd build windows
* Fix windows dnd
* update docs
* remove debug log
* appease the security bot
* Fix changelog
* Fix changelog
* Revert "Fix event generation issues."
This reverts commit ae4ed4fe
* Fix events
* Fix merge conflicts. Fix events generation formatting
* Update docs
* Fix duplicate bundledassets import causing build failures
Remove duplicate import of bundledassets package that was causing
compilation errors in PR #4318. The import was declared twice in
the same import block, causing "bundledassets redeclared" errors.
Fixes build issues in GitHub Actions for drag-and-drop zones feature.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Replace fmt.Printf debug statements with globalApplication.debug
Replace all fmt.Printf debug logging statements in drag-and-drop
functionality with proper globalApplication.debug calls. This provides:
- Consistent logging with the rest of the application
- Proper key-value structured logging
- Better integration with the application's logging system
- Cleaner debug output format
Changes:
- application_darwin.go: Replace 2 fmt.Printf calls
- webview_window.go: Replace 6 fmt.Printf calls
- webview_window_windows.go: Replace 13 fmt.Printf calls
- Remove unused fmt import from application_darwin.go
All debug messages maintain the same information but now use
structured logging with key-value pairs instead of printf formatting.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add nil checks to WindowEventContext methods
Ensure all WindowEventContext methods properly handle nil c.data
by initializing the map when it's nil. This prevents panics when
methods are called on contexts that haven't been properly initialized.
Changes:
- DroppedFiles(): Add nil check and map initialization
- setCoordinates(): Add nil check and map initialization
- setDropZoneDetails(): Add nil check and map initialization
- DropZoneDetails(): Add nil check and map initialization
All methods now follow the same pattern as setDroppedFiles()
where a nil data map is automatically initialized to prevent
runtime panics during drag-and-drop operations.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update v3/pkg/application/webview_window_darwin.m
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* reinstate events docs.
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
parent
ca449a7706
commit
10447e6fcd
65 changed files with 2469 additions and 981 deletions
|
|
@ -71,8 +71,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
## v3.0.0-alpha.11 - 2025-07-12
|
||||
|
||||
## Added
|
||||
- Add distribution-specific build dependencies for Linux by @leaanthony in [PR](https://github.com/wailsapp/wails/pull/4345)
|
||||
- Added bindings guide by @atterpac in [PR](https://github.com/wailsapp/wails/pull/4404)
|
||||
- Add distribution-specific build dependencies for Linux by @leaanthony in [PR](https://github.com/wailsapp/wails/pull/4345)
|
||||
- Added bindings guide by @atterpac in [PR](https://github.com/wailsapp/wails/pull/4404)
|
||||
|
||||
## v3.0.0-alpha.10 - 2025-07-06
|
||||
|
||||
|
|
|
|||
|
|
@ -200,6 +200,137 @@ INF I always run after hooks!
|
|||
| WindowZoomOut | Window zoomed out |
|
||||
| WindowZoomReset | Window zoom reset |
|
||||
|
||||
### Enhanced Drag and Drop with Targeted Dropzones
|
||||
|
||||
Wails v3 introduces an enhanced drag-and-drop system that allows you to define specific "dropzones" within your application's HTML. This provides finer control over where files can be dropped and offers automatic visual feedback managed by the Wails runtime.
|
||||
|
||||
#### 1. Defining Dropzones in HTML
|
||||
|
||||
To designate an HTML element as a dropzone, add the `data-wails-dropzone` attribute to it. Any element with this attribute will become a valid target for file drops.
|
||||
|
||||
**Example:**
|
||||
```html
|
||||
<div id="myDropArea" class="my-styles" data-wails-dropzone>
|
||||
<p>Drop files here!</p>
|
||||
</div>
|
||||
|
||||
<div id="anotherZone" data-wails-dropzone style="width: 300px; height: 100px; border: 1px solid grey;">
|
||||
Another drop target
|
||||
</div>
|
||||
|
||||
<!-- Advanced example with custom data attributes -->
|
||||
<div class="tree-node folder folder-dropzone"
|
||||
data-wails-dropzone
|
||||
data-folder-id="documents"
|
||||
data-folder-name="Documents"
|
||||
data-path="/home/user/Documents">
|
||||
<span>📁 Documents</span>
|
||||
</div>
|
||||
```
|
||||
|
||||
#### 2. Visual Feedback
|
||||
|
||||
When files are dragged over an element marked with `data-wails-dropzone`, the Wails JavaScript runtime automatically adds the `wails-dropzone-hover` CSS class to that element. You can define styles for this class to provide visual feedback:
|
||||
|
||||
**Example CSS:**
|
||||
```css
|
||||
/* Base style for all dropzones (resting state) */
|
||||
.dropzone {
|
||||
border: 2px dashed #888;
|
||||
background-color: #303030;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Default hover effect applied by the runtime */
|
||||
.dropzone.wails-dropzone-hover {
|
||||
background-color: #3c3c3e;
|
||||
border-style: dotted;
|
||||
border-color: #007bff;
|
||||
box-shadow: 0 0 8px rgba(0, 123, 255, 0.4);
|
||||
}
|
||||
|
||||
/* Example: Customizing hover for a specific dropzone to override the default */
|
||||
#myDropArea.wails-dropzone-hover {
|
||||
background-color: lightgreen;
|
||||
outline: 2px solid green;
|
||||
}
|
||||
```
|
||||
The runtime handles adding and removing the `wails-dropzone-hover` class as files are dragged in and out of the dropzone or the window.
|
||||
|
||||
#### 3. Handling Drops in Go
|
||||
|
||||
On the Go side, listen for the `events.Common.WindowDropZoneFilesDropped` event. This event will be emitted when files are dropped onto an element that has the `data-wails-dropzone` attribute.
|
||||
|
||||
**Example Go Handler:**
|
||||
```go
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
"github.com/wailsapp/wails/v3/pkg/events"
|
||||
)
|
||||
|
||||
// Assuming 'win' is your *application.WebviewWindow instance
|
||||
win.OnWindowEvent(events.Common.WindowDropZoneFilesDropped, func(event *application.WindowEvent) {
|
||||
droppedFiles := event.Context().DroppedFiles()
|
||||
log.Printf("Files dropped: %v", droppedFiles)
|
||||
|
||||
details := event.Context().DropZoneDetails()
|
||||
if details != nil {
|
||||
log.Printf("Dropped on Element ID: '%s'", details.ElementID)
|
||||
log.Printf("Element Classes: %v", details.ClassList)
|
||||
log.Printf("Drop Coordinates (relative to window): X=%d, Y=%d", details.X, details.Y)
|
||||
|
||||
// Access custom data attributes from the HTML element
|
||||
if folderName, exists := details.Attributes["data-folder-name"]; exists {
|
||||
log.Printf("Folder name: %s", folderName)
|
||||
}
|
||||
if folderPath, exists := details.Attributes["data-path"]; exists {
|
||||
log.Printf("Target path: %s", folderPath)
|
||||
}
|
||||
|
||||
// Example: Handle different dropzone types based on ElementID
|
||||
switch details.ElementID {
|
||||
case "documents":
|
||||
log.Printf("Files dropped on Documents folder")
|
||||
// Handle document uploads
|
||||
case "downloads":
|
||||
log.Printf("Files dropped on Downloads folder")
|
||||
// Handle download folder drops
|
||||
case "trash":
|
||||
log.Printf("Files dropped on Trash")
|
||||
// Handle file deletion
|
||||
default:
|
||||
log.Printf("Files dropped on unknown target: %s", details.ElementID)
|
||||
}
|
||||
|
||||
payload := map[string]interface{}{
|
||||
"files": droppedFiles,
|
||||
"targetID": details.ElementID,
|
||||
"targetClasses": details.ClassList,
|
||||
"dropX": details.X,
|
||||
"dropY": details.Y,
|
||||
"attributes": details.Attributes,
|
||||
}
|
||||
application.Get().EmitEvent("frontend:FileDropInfo", payload) // Emits globally
|
||||
// or win.EmitEvent("frontend:FileDropInfoForWindow", payload) // Emits to this specific window
|
||||
} else {
|
||||
log.Println("Drop occurred, but DropZoneDetails were nil.")
|
||||
}
|
||||
})
|
||||
```
|
||||
The `event.Context().DropZoneDetails()` method returns a pointer to an `application.DropZoneDetails` struct (or `nil` if details aren't available), containing:
|
||||
- `ElementID string`: The id of the element dropped onto
|
||||
- `ClassList []string`: The list of CSS classes of the HTML element that received the drop.
|
||||
- `X int`: The X-coordinate of the drop, relative to the window's content area.
|
||||
- `Y int`: The Y-coordinate of the drop, relative to the window's content area.
|
||||
- `Attributes map[string]string`: A map containing all HTML attributes of the target element, allowing access to custom data attributes like `data-path`, `data-folder-name`, etc.
|
||||
|
||||
The `event.Context().DroppedFiles()` method returns a `[]string` of file paths.
|
||||
|
||||
For a fully runnable demonstration of these features, including multiple styled dropzones, please refer to the example located in the `v3/examples/drag-n-drop` directory within the Wails repository.
|
||||
|
||||
### Platform-Specific Window Events
|
||||
|
||||
<Tabs>
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ tasks:
|
|||
dir: tasks/events
|
||||
cmds:
|
||||
- go run generate.go
|
||||
- go fmt ../../pkg/events/events.go
|
||||
|
||||
precommit:
|
||||
cmds:
|
||||
|
|
|
|||
|
|
@ -17,6 +17,10 @@ After processing, the content will be moved to the main changelog and this file
|
|||
|
||||
## Added
|
||||
<!-- New features, capabilities, or enhancements -->
|
||||
- Support for dropzones with event sourcing dropped element data [@atterpac](https://github.com/atterpac) in [#4318](https://github.com/wailsapp/wails/pull/4318)
|
||||
- Added `AdditionalLaunchArgs` to `WindowsWindow` options to allow for additional command line arguments to be passed to the WebView2 browser. in [PR](https://github.com/wailsapp/wails/pull/4467)
|
||||
- Added Run go mod tidy automatically after wails init [@triadmoko](https://github.com/triadmoko) in [PR](https://github.com/wailsapp/wails/pull/4286)
|
||||
- Windows Snapassist feature by @leaanthony in [PR](https://github.dev/wailsapp/wails/pull/4463)
|
||||
|
||||
## Changed
|
||||
<!-- Changes in existing functionality -->
|
||||
|
|
|
|||
|
|
@ -2,37 +2,423 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<style>body{ text-align: center; color: white; background-color: #191919; user-select: none; -ms-user-select: none; -webkit-user-select: none; }</style>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>File Tree Drag-and-Drop Example</title>
|
||||
<!-- Material Icons -->
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<!-- Material UI lite CSS -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
|
||||
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.indigo-pink.min.css">
|
||||
<script defer src="https://code.getmdl.io/1.3.0/material.min.js" integrity="sha384-7/3UJ+C4EZRMEh+yDUhEZJ5YH9Ul3XW1U6AlTjHlyMowgIkG7svPJf0BN3b2CEm1" crossorigin="anonymous"></script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
background-color: #1e1e1e;
|
||||
color: #f0f0f0;
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
height: 100vh;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
height: calc(100vh - 140px);
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.file-tree {
|
||||
flex: 1;
|
||||
background-color: #2a2a2a;
|
||||
border-radius: 4px;
|
||||
padding: 16px;
|
||||
overflow: auto;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.info-panel {
|
||||
flex: 1;
|
||||
background-color: #2a2a2a;
|
||||
border-radius: 4px;
|
||||
padding: 16px;
|
||||
overflow: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.tree-node {
|
||||
padding: 4px;
|
||||
margin: 2px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tree-node:hover {
|
||||
background-color: #3a3a3a;
|
||||
}
|
||||
|
||||
.folder {
|
||||
color: #ffca28; /* Amber for folders */
|
||||
}
|
||||
|
||||
.file {
|
||||
color: #81c784; /* Light green for files */
|
||||
}
|
||||
|
||||
.node-icon {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.tree-children {
|
||||
padding-left: 24px;
|
||||
}
|
||||
|
||||
.dropzone {
|
||||
transition: background-color 0.3s, box-shadow 0.3s;
|
||||
}
|
||||
|
||||
/* Wails applied class for active dropzones during drag */
|
||||
.wails-dropzone-hover {
|
||||
background-color: rgba(63, 81, 181, 0.2) !important;
|
||||
box-shadow: 0 0 8px rgba(63, 81, 181, 0.5) !important;
|
||||
}
|
||||
|
||||
/* Custom styles for folder highlight */
|
||||
.folder-dropzone {
|
||||
transition: all 0.2s ease;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
.folder-dropzone.wails-dropzone-hover {
|
||||
border: 1px dashed #7986cb;
|
||||
box-shadow: inset 0 0 5px rgba(121, 134, 203, 0.5) !important;
|
||||
}
|
||||
|
||||
#drop-output {
|
||||
background-color: #3a3a3a;
|
||||
color: #f0f0f0;
|
||||
font-family: monospace;
|
||||
padding: 16px;
|
||||
border-radius: 4px;
|
||||
flex-grow: 1;
|
||||
white-space: pre-wrap;
|
||||
overflow: auto;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.header {
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.info-header {
|
||||
margin-bottom: 16px;
|
||||
color: #7986cb;
|
||||
}
|
||||
|
||||
.material-icons {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
/* Path breadcrumb */
|
||||
.path-display {
|
||||
background-color: #3a3a3a;
|
||||
padding: 8px 16px;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 16px;
|
||||
font-family: monospace;
|
||||
color: #bbdefb;
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Drag-n-drop Demo</h1>
|
||||
<br/>
|
||||
Drop Files onto this window...
|
||||
<div id="results"></div>
|
||||
</body>
|
||||
<div class="header">
|
||||
<h1>File Tree Drag & Drop Example</h1>
|
||||
<p>Drag files onto folders to upload them to that location</p>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="file-tree">
|
||||
<div class="path-display" id="current-path">/home/user</div>
|
||||
|
||||
<!-- Root folder -->
|
||||
<div class="tree-node folder folder-dropzone" data-path="/home/user" data-wails-dropzone data-folder-id="root" data-folder-name="Home">
|
||||
<span class="material-icons node-icon">folder</span>
|
||||
<span>Home</span>
|
||||
</div>
|
||||
|
||||
<div class="tree-children">
|
||||
<!-- Documents folder -->
|
||||
<div class="tree-node folder folder-dropzone" data-path="/home/user/Documents" data-wails-dropzone data-folder-id="docs" data-folder-name="Documents">
|
||||
<span class="material-icons node-icon">folder</span>
|
||||
<span>Documents</span>
|
||||
</div>
|
||||
|
||||
<div class="tree-children">
|
||||
<div class="tree-node file" data-path="/home/user/Documents/report.pdf">
|
||||
<span class="material-icons node-icon">description</span>
|
||||
<span>report.pdf</span>
|
||||
</div>
|
||||
<div class="tree-node file" data-path="/home/user/Documents/notes.txt">
|
||||
<span class="material-icons node-icon">description</span>
|
||||
<span>notes.txt</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Pictures folder -->
|
||||
<div class="tree-node folder folder-dropzone" data-path="/home/user/Pictures" data-wails-dropzone data-folder-id="pics" data-folder-name="Pictures">
|
||||
<span class="material-icons node-icon">folder</span>
|
||||
<span>Pictures</span>
|
||||
</div>
|
||||
|
||||
<div class="tree-children">
|
||||
<div class="tree-node file" data-path="/home/user/Pictures/vacation.jpg">
|
||||
<span class="material-icons node-icon">image</span>
|
||||
<span>vacation.jpg</span>
|
||||
</div>
|
||||
<div class="tree-node file" data-path="/home/user/Pictures/profile.png">
|
||||
<span class="material-icons node-icon">image</span>
|
||||
<span>profile.png</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Downloads folder -->
|
||||
<div class="tree-node folder folder-dropzone" data-path="/home/user/Downloads" data-wails-dropzone data-folder-id="downloads" data-folder-name="Downloads">
|
||||
<span class="material-icons node-icon">folder</span>
|
||||
<span>Downloads</span>
|
||||
</div>
|
||||
|
||||
<div class="tree-children">
|
||||
<div class="tree-node file" data-path="/home/user/Downloads/app.dmg">
|
||||
<span class="material-icons node-icon">archive</span>
|
||||
<span>app.dmg</span>
|
||||
</div>
|
||||
<div class="tree-node file" data-path="/home/user/Downloads/data.zip">
|
||||
<span class="material-icons node-icon">archive</span>
|
||||
<span>data.zip</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Projects folder with nested structure -->
|
||||
<div class="tree-node folder folder-dropzone" data-path="/home/user/Projects" data-wails-dropzone data-folder-id="projects" data-folder-name="Projects">
|
||||
<span class="material-icons node-icon">folder</span>
|
||||
<span>Projects</span>
|
||||
</div>
|
||||
|
||||
<div class="tree-children">
|
||||
<!-- Nested folder with its own dropzone -->
|
||||
<div class="tree-node folder folder-dropzone" data-path="/home/user/Projects/Wails" data-wails-dropzone data-folder-id="wails" data-folder-name="Wails">
|
||||
<span class="material-icons node-icon">folder</span>
|
||||
<span>Wails</span>
|
||||
</div>
|
||||
|
||||
<div class="tree-children">
|
||||
<div class="tree-node file" data-path="/home/user/Projects/Wails/main.go">
|
||||
<span class="material-icons node-icon">code</span>
|
||||
<span>main.go</span>
|
||||
</div>
|
||||
<div class="tree-node file" data-path="/home/user/Projects/Wails/go.mod">
|
||||
<span class="material-icons node-icon">code</span>
|
||||
<span>go.mod</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info-panel">
|
||||
<h2 class="info-header">Drop Information</h2>
|
||||
<div id="drop-output">Drag and drop files onto any folder in the file tree...
|
||||
|
||||
<script type="module">
|
||||
import * as wails from "/wails/runtime.js";
|
||||
|
||||
document.body.addEventListener('drop', function(e) {
|
||||
// Note that postMessageWithAdditionalObjects does not accept a single object,
|
||||
// but only accepts an ArrayLike object.
|
||||
// However, input.files is type FileList, which is already an ArrayLike object so
|
||||
// no conversion to array is needed.
|
||||
const currentFiles = input.files;
|
||||
chrome.webview.postMessageWithAdditionalObjects("FilesDropped", currentFiles);
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
});
|
||||
wails.Events.On("files", function(event) {
|
||||
let resultsHTML = "";
|
||||
event.data.forEach(function(file) {
|
||||
resultsHTML += "<br/>" + file;
|
||||
The folder elements have the following attributes:
|
||||
- data-wails-dropzone: Marks the element as a dropzone
|
||||
- data-path: Contains the full path (used for destination)
|
||||
- data-folder-id: A unique ID for the folder
|
||||
- data-folder-name: The display name of the folder</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module">
|
||||
import * as wails from "/wails/runtime.js";
|
||||
|
||||
const outputDiv = document.getElementById('drop-output');
|
||||
const pathDisplay = document.getElementById('current-path');
|
||||
const folderNodes = document.querySelectorAll('.folder-dropzone');
|
||||
|
||||
// Add debug coordinate overlay
|
||||
let debugOverlay = null;
|
||||
|
||||
function createDebugOverlay() {
|
||||
if (debugOverlay) return;
|
||||
|
||||
debugOverlay = document.createElement('div');
|
||||
debugOverlay.style.cssText = `
|
||||
position: fixed;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
color: white;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
font-family: monospace;
|
||||
font-size: 12px;
|
||||
z-index: 10000;
|
||||
pointer-events: none;
|
||||
white-space: pre-line;
|
||||
`;
|
||||
document.body.appendChild(debugOverlay);
|
||||
}
|
||||
|
||||
function updateDebugOverlay(info) {
|
||||
if (!debugOverlay) createDebugOverlay();
|
||||
debugOverlay.textContent = info;
|
||||
}
|
||||
|
||||
// Track mouse position and other debug info
|
||||
let mouseInfo = { x: 0, y: 0 };
|
||||
let windowInfo = { width: window.innerWidth, height: window.innerHeight };
|
||||
|
||||
document.addEventListener('mousemove', (e) => {
|
||||
mouseInfo.x = e.clientX;
|
||||
mouseInfo.y = e.clientY;
|
||||
|
||||
const debugInfo = `Mouse: ${e.clientX}, ${e.clientY}
|
||||
Page: ${e.pageX}, ${e.pageY}
|
||||
Screen: ${e.screenX}, ${e.screenY}
|
||||
Window: ${windowInfo.width}x${windowInfo.height}
|
||||
Viewport offset: ${window.pageXOffset}, ${window.pageYOffset}`;
|
||||
|
||||
updateDebugOverlay(debugInfo);
|
||||
});
|
||||
document.getElementById("results").innerHTML = resultsHTML;
|
||||
})
|
||||
</script>
|
||||
|
||||
</html>
|
||||
|
||||
// Add drag event listeners to show coordinates during drag
|
||||
document.addEventListener('dragover', (e) => {
|
||||
e.preventDefault();
|
||||
const debugInfo = `[DRAGOVER]
|
||||
Mouse: ${e.clientX}, ${e.clientY}
|
||||
Page: ${e.pageX}, ${e.pageY}
|
||||
Screen: ${e.screenX}, ${e.screenY}
|
||||
Window: ${windowInfo.width}x${windowInfo.height}
|
||||
Target: ${e.target.tagName} ${e.target.className}`;
|
||||
|
||||
updateDebugOverlay(debugInfo);
|
||||
});
|
||||
|
||||
document.addEventListener('drop', (e) => {
|
||||
e.preventDefault();
|
||||
const rect = e.target.getBoundingClientRect();
|
||||
const debugInfo = `[DROP EVENT]
|
||||
Client: ${e.clientX}, ${e.clientY}
|
||||
Page: ${e.pageX}, ${e.pageY}
|
||||
Screen: ${e.screenX}, ${e.screenY}
|
||||
Target rect: ${rect.left}, ${rect.top}, ${rect.width}x${rect.height}
|
||||
Relative to target: ${e.clientX - rect.left}, ${e.clientY - rect.top}
|
||||
Window: ${windowInfo.width}x${windowInfo.height}`;
|
||||
|
||||
updateDebugOverlay(debugInfo);
|
||||
console.log('Drop event debug info:', {
|
||||
clientX: e.clientX,
|
||||
clientY: e.clientY,
|
||||
pageX: e.pageX,
|
||||
pageY: e.pageY,
|
||||
screenX: e.screenX,
|
||||
screenY: e.screenY,
|
||||
targetRect: rect,
|
||||
relativeX: e.clientX - rect.left,
|
||||
relativeY: e.clientY - rect.top
|
||||
});
|
||||
});
|
||||
|
||||
window.addEventListener('resize', () => {
|
||||
windowInfo.width = window.innerWidth;
|
||||
windowInfo.height = window.innerHeight;
|
||||
});
|
||||
|
||||
// Update path display when clicking folders
|
||||
folderNodes.forEach(folder => {
|
||||
folder.addEventListener('click', (e) => {
|
||||
e.stopPropagation(); // Prevent event bubbling
|
||||
const path = folder.getAttribute('data-path');
|
||||
if (path) {
|
||||
pathDisplay.textContent = path;
|
||||
outputDiv.textContent = `Selected folder: ${path}\nReady to receive files...`;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Listen for the file drop event from Wails
|
||||
wails.Events.On("frontend:FileDropInfo", (eventData) => {
|
||||
console.log("=============== Frontend: File Drop Debug Info ===============");
|
||||
console.log("Full event data:", eventData);
|
||||
|
||||
const { files, targetID, targetClasses, dropX, dropY, attributes } = eventData.data[0];
|
||||
|
||||
console.log("Extracted data:", {
|
||||
files,
|
||||
targetID,
|
||||
targetClasses,
|
||||
dropX,
|
||||
dropY,
|
||||
attributes
|
||||
});
|
||||
|
||||
// Get additional folder information from the attributes
|
||||
const folderPath = attributes ? attributes['data-path'] : 'Unknown path';
|
||||
const folderName = attributes ? attributes['data-folder-name'] : 'Unknown folder';
|
||||
|
||||
let message = `=============== FILE DROP DEBUG REPORT ===============\n`;
|
||||
message += `Files dropped on folder: ${folderName}\n`;
|
||||
message += `Target path: ${folderPath}\n`;
|
||||
message += `Element ID: ${targetID || 'N/A'}\n`;
|
||||
message += `Element Classes: ${targetClasses && targetClasses.length > 0 ? targetClasses.join(', ') : 'N/A'}\n`;
|
||||
message += `\n=== COORDINATE DEBUG INFO ===\n`;
|
||||
message += `Drop Coordinates from Wails: X=${dropX.toFixed(2)}, Y=${dropY.toFixed(2)}\n`;
|
||||
message += `Current Mouse Position: X=${mouseInfo.x}, Y=${mouseInfo.y}\n`;
|
||||
message += `Window Size: ${windowInfo.width}x${windowInfo.height}\n`;
|
||||
|
||||
// Get the target element to show its position
|
||||
const targetElement = document.querySelector(`[data-folder-id="${targetID}"]`);
|
||||
if (targetElement) {
|
||||
const rect = targetElement.getBoundingClientRect();
|
||||
message += `Target Element Position:\n`;
|
||||
message += ` - Bounding rect: left=${rect.left}, top=${rect.top}, right=${rect.right}, bottom=${rect.bottom}\n`;
|
||||
message += ` - Size: ${rect.width}x${rect.height}\n`;
|
||||
message += ` - Center: ${rect.left + rect.width/2}, ${rect.top + rect.height/2}\n`;
|
||||
message += ` - Drop relative to element: X=${dropX - rect.left}, Y=${dropY - rect.top}\n`;
|
||||
}
|
||||
|
||||
message += `\n=== ELEMENT ATTRIBUTES ===\n`;
|
||||
if (attributes && Object.keys(attributes).length > 0) {
|
||||
Object.entries(attributes).forEach(([key, value]) => {
|
||||
message += ` ${key}: "${value}"\n`;
|
||||
});
|
||||
} else {
|
||||
message += " No attributes found\n";
|
||||
}
|
||||
|
||||
message += `\n=== DROPPED FILES ===\n`;
|
||||
files.forEach((file, index) => {
|
||||
message += ` ${index + 1}. ${file}\n`;
|
||||
});
|
||||
|
||||
message += `\n=== SIMULATION ===\n`;
|
||||
message += `Simulating upload to ${folderPath}...\n`;
|
||||
message += `===========================================`;
|
||||
|
||||
outputDiv.textContent = message;
|
||||
|
||||
console.log("=============== End Frontend Debug ===============");
|
||||
});
|
||||
|
||||
console.log("File Tree Drag-and-Drop example initialized with enhanced debugging.");
|
||||
createDebugOverlay();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"embed"
|
||||
_ "embed"
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
|
|
@ -12,7 +14,73 @@ import (
|
|||
//go:embed assets
|
||||
var assets embed.FS
|
||||
|
||||
// App struct
|
||||
type App struct {
|
||||
ctx context.Context
|
||||
app *application.App
|
||||
}
|
||||
|
||||
// NewApp creates a new App application struct
|
||||
func NewApp() *App {
|
||||
return &App{}
|
||||
}
|
||||
|
||||
// Startup is called when the app starts. The context is saved
|
||||
// so we can call the runtime methods
|
||||
func (a *App) Startup(ctx context.Context) {
|
||||
a.ctx = ctx
|
||||
a.app = application.Get()
|
||||
}
|
||||
|
||||
// FileDropInfo defines the payload for the file drop event sent to the frontend.
|
||||
type FileDropInfo struct {
|
||||
Files []string `json:"files"`
|
||||
TargetID string `json:"targetID"`
|
||||
TargetClasses []string `json:"targetClasses"`
|
||||
DropX float64 `json:"dropX"`
|
||||
DropY float64 `json:"dropY"`
|
||||
Attributes map[string]string `json:"attributes,omitempty"`
|
||||
}
|
||||
|
||||
// FilesDroppedOnTarget is called when files are dropped onto a registered drop target
|
||||
// or the window if no specific target is hit.
|
||||
func FilesDroppedOnTarget(
|
||||
files []string,
|
||||
targetID string,
|
||||
targetClasses []string,
|
||||
dropX float64,
|
||||
dropY float64,
|
||||
isTargetDropzone bool, // This parameter is kept for logging but not sent to frontend in this event
|
||||
attributes map[string]string,
|
||||
) {
|
||||
log.Println("=============== Go: FilesDroppedOnTarget Debug Info ===============")
|
||||
log.Println(fmt.Sprintf(" Files: %v", files))
|
||||
log.Println(fmt.Sprintf(" Target ID: '%s'", targetID))
|
||||
log.Println(fmt.Sprintf(" Target Classes: %v", targetClasses))
|
||||
log.Println(fmt.Sprintf(" Drop X: %f, Drop Y: %f", dropX, dropY))
|
||||
log.Println(
|
||||
fmt.Sprintf(
|
||||
" Drop occurred on a designated dropzone (runtime validated before this Go event): %t",
|
||||
isTargetDropzone,
|
||||
),
|
||||
)
|
||||
log.Println(fmt.Sprintf(" Element Attributes: %v", attributes))
|
||||
log.Println("================================================================")
|
||||
|
||||
payload := FileDropInfo{
|
||||
Files: files,
|
||||
TargetID: targetID,
|
||||
TargetClasses: targetClasses,
|
||||
DropX: dropX,
|
||||
DropY: dropY,
|
||||
Attributes: attributes,
|
||||
}
|
||||
|
||||
log.Println("Go: Emitted 'frontend:FileDropInfo' event with payload:", payload)
|
||||
}
|
||||
|
||||
func main() {
|
||||
appInstance := NewApp()
|
||||
|
||||
app := application.New(application.Options{
|
||||
Name: "Drag-n-drop Demo",
|
||||
|
|
@ -23,9 +91,12 @@ func main() {
|
|||
Mac: application.MacOptions{
|
||||
ApplicationShouldTerminateAfterLastWindowClosed: true,
|
||||
},
|
||||
Services: []application.Service{
|
||||
application.NewService(appInstance),
|
||||
},
|
||||
})
|
||||
|
||||
window := app.Window.NewWithOptions(application.WebviewWindowOptions{
|
||||
win := app.Window.NewWithOptions(application.WebviewWindowOptions{
|
||||
Title: "Drag-n-drop Demo",
|
||||
Mac: application.MacWindow{
|
||||
Backdrop: application.MacBackdropTranslucent,
|
||||
|
|
@ -35,11 +106,57 @@ func main() {
|
|||
EnableDragAndDrop: true,
|
||||
})
|
||||
|
||||
window.OnWindowEvent(events.Common.WindowFilesDropped, func(event *application.WindowEvent) {
|
||||
files := event.Context().DroppedFiles()
|
||||
app.Event.Emit("files", files)
|
||||
app.Logger.Info("Files Dropped!", "files", files)
|
||||
})
|
||||
log.Println("Setting up event listener for 'WindowDropZoneFilesDropped'...")
|
||||
win.OnWindowEvent(
|
||||
events.Common.WindowDropZoneFilesDropped,
|
||||
func(event *application.WindowEvent) {
|
||||
|
||||
droppedFiles := event.Context().DroppedFiles()
|
||||
details := event.Context().DropZoneDetails()
|
||||
|
||||
log.Printf("Dropped files count: %d", len(droppedFiles))
|
||||
log.Printf("Event context: %+v", event.Context())
|
||||
|
||||
if details != nil {
|
||||
log.Printf("DropZone details found:")
|
||||
log.Printf(" ElementID: '%s'", details.ElementID)
|
||||
log.Printf(" ClassList: %v", details.ClassList)
|
||||
log.Printf(" X: %d, Y: %d", details.X, details.Y)
|
||||
log.Printf(" Attributes: %+v", details.Attributes)
|
||||
|
||||
// Call the App method with the extracted data
|
||||
FilesDroppedOnTarget(
|
||||
droppedFiles,
|
||||
details.ElementID,
|
||||
details.ClassList,
|
||||
float64(details.X),
|
||||
float64(details.Y),
|
||||
details.ElementID != "", // isTargetDropzone based on whether an ID was found
|
||||
details.Attributes,
|
||||
)
|
||||
} else {
|
||||
log.Println("DropZone details are nil - drop was not on a specific registered zone")
|
||||
// This case might occur if DropZoneDetails are nil, meaning the drop was not on a specific registered zone
|
||||
// or if the context itself was problematic.
|
||||
FilesDroppedOnTarget(droppedFiles, "", nil, 0, 0, false, nil)
|
||||
}
|
||||
|
||||
payload := FileDropInfo{
|
||||
Files: droppedFiles,
|
||||
TargetID: details.ElementID,
|
||||
TargetClasses: details.ClassList,
|
||||
DropX: float64(details.X),
|
||||
DropY: float64(details.Y),
|
||||
Attributes: details.Attributes, // Add the attributes
|
||||
}
|
||||
|
||||
log.Printf("Emitting event payload: %+v", payload)
|
||||
application.Get().Event.Emit("frontend:FileDropInfo", payload)
|
||||
log.Println(
|
||||
"=============== End WindowDropZoneFilesDropped Event Debug ===============",
|
||||
)
|
||||
},
|
||||
)
|
||||
|
||||
err := app.Run()
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -54,3 +54,4 @@ tasks:
|
|||
dir: ../../tasks/events
|
||||
cmds:
|
||||
- go run generate.go
|
||||
- go fmt ../../pkg/events/events.go
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
window.hierarchyData = "eJylk1FPwjAUhf/LfS64dnSMvYkaXzAY8cUYQup2Jw1dZ7riC9l/N4VIimGmg6c2bc6937mn3YGpa9tA9s7ZmFAWUUIjzkkaU0LjNF4SMFgqzK2sdQPZDjgbu0WLCiGDO6FzVEp8KHw2dSUbnMkNAoGN1AVkjCcEtkZBBlJbNKXIsbk5LxqubaWAQK5E00AGtikGrsrgqHSXa6kKg9oB82jZEuA8+pfnyEJZ+suyb3EWpBPicNASSGPq9Qs3vdrvtVCr4fWmJyzxIJ6wkGJRb03eA8ITBUC0BNy78Jo+fKO2r8J8og1v6on6Op+whFBKubPvVg/l4GK6LUs04Sy+KnACdOK3vS2KvZ+ZbCxqNPOvwycJJugoEAjDIvo3jotJLsQ4CchNZx8OG/lTekFRuA+2sAZFNX2bT91Jn6C6KoTOKWGdOPdYiq2y1xGdFAmEitO4E+rRhSDz66BOivSOko04cYNbtm37AzBNEV4="
|
||||
window.hierarchyData = "eJylk1FPwjAUhf/LfS7I2m3A3kSNLxiM+GIMIXW7k4auM13nC9l/Nx2RdIaZDp66tLnnfuee3QPosjQVJO8RYySgASXBJI7JLKQkYPNwQ0BjLjE1olQVJAeIGLOH4gVCAndcpSgl/5D4rMtCVLgUewQCe6EySGgUE6i1hASEMqhznmJ1c75ovDOFBAKp5FUFCZgqG1mV0anSPu6EzDQqCxzFm4ZAFMX/8pxYAjr7ZWlbnAXphTheNARmIXX6+Zvett+Ky+34etNzNnUgnjATfF3WOh0A4RR5QDQE7H/hNH34RmVeuf5E49/UKRrqfM6mJAhoa9+eDsrRxaLOc9T+LG6V5wToxG17m2Wtn6WoDCrUq6/jkngT9Aj4wgT0bxwXk1yI0QnITqcNh3Y28gV5ZhdsbTTyYvG2WtibIUH1KfjOacp6ce4x57U01xF1RDyh2DzshXq0IYj0OqiOyPAoo5jYwW2apvkBsfcRfA=="
|
||||
|
|
@ -1 +1 @@
|
|||
window.navigationData = "eJytW9tu2zYYfhdfp9uadt0WDAPinBbAXjI7rTEURUFLtMOFpjyKSuINffeBomiREvWTonSV1vxO4lEipc//TQR+FZOzya+ECcwZor9NTiZ7JB4nZ5NdlhYU599/1WVfv3sUOzo5mTwRlk7OTk8mySOhKcdscvb5KLUiLM1eapmEojy3ZRTEVnt7+vO3k6PIeZpePWMmZiQXmGF+txckY3mtWoptUGILd9AauX/8cKJSTc4mIk/fkPwNflUSEzMD5+gwLTYbzD8R/OL1tuFxnlOarX1GEhOvfs+zPebiMEXbECMDHud5xXkW2nwmNtJNtr7XRoIG6N8yEuYhgQN8dC8O8tLgEfzu1n/jJOwKbcoY3oE9ZbRRXio9IL7FYVesoHFetwJztKbYZ6RxcS5znBK0zAqeeI0M6GCvsnbmaN/DU1PivO+znMiG9xlqXMvF1OLZjuT4uqAbQilOFzgvqLdDuFmRV6O0ZuTJ22oGdJDXAstB2/NibdIg/xURjwucZ/QZc++Id3Hi3P8scEHYdik4Enh78Bk34KN4Lsm/3lZ2UOK8FxilcjaZHgReCo7R7iJjgmeU+pcWiDssjVIL9VfoMRynf91N5S/h197kjZfinwLn3nHXSRwjxyXeoIKK/h2igz5ipphGsqhjZLmR9xckicliUcfJUl1Y4D0SzB4jkfzfZcZw2AICccdK8wnRIjqOQR6WZ8WJkH/vEQnuNCYnzj1kUXGuIqZGeV+mnmK9WgY2MrGhEHr76OJEupcNf0/2OHBAtQhxvg9khxeIbbHXsEbGOX1kKeb0QNi2XL+DHglcnKHu1bTcN4BFG5phSdhTuLVEj+F4vs64uECUrlHS096ijpHlgmY5jstiUcfIshQotl4s6hhZ5MwbWS8WdXCWnsNjpHFRqlwglmAaUQkO9jiJ7gsancfkjpMmtr+2yZF5FjOv62IWp63vPMKeyGz0GI69n0E89BEzleM7Lo+iRp487PeYpfMsNWYDcdg3zhuOoIbJD7/89PbH075HHPbGU9vNRg6wfEFE4BSyUoh4i/LcAnEBeGjIAJOyLppzdtvIgMWbqQmWls8Hah+s+sXsnC1vgOWMAhpeveKkEFk/P03qb6e2GXvaaVKMndpS7GmnSD67K5YStn047KGOUoPiu8kVS+82ahYqj9JgOws6wNQ6iuHgSVI7hpccH0yOb4Io4F4hBliojrDEQjgODdp+Dni8ub2B4Vo+WwG6KGOFaO6TeQI498YGmXuboIsyLETG6MFjKiHDTA5LgQQ0hdSgIUZJxqHVWQGGLc61/DPiRDZHa3F+89a2eNdjMvLIl5gh+s3T4m4XhYz0cp7jOr0MZKRX2BmR0xyiDkzTfCIB/RV4FEfXGVGAd00bMUXjjCg4RskbJQfwfBaQpsUeM1NEI1nMyCzuXXKnuQmNdHPtFzu9amCkk7XL4LT4uJhFanftMjhtbPAojn17sYc9ZqbmLkN4HsXsleWLvc9ASYLsl2j0a59GoS3/3v3e5+/E3K7YFCwpz0gsHYmxxT68t96SMF+sc0tIDCCxfDTfPXVLSExLwqyXKc9ecrNFdJ1UBUH1cbfHzBpQdRgtU0HALHLfsB1E/hqUYlEwQXa48Tio38ktZUwI9E6uBLdOytT9YaljlPueiKeH20tXxZQ6shBo4enhD7Rz9rSKLYsBvl2hDXa7XpvNQcl+nSHzFvnYJrooqGGWWDzIf7mSHIUqEHA1fg2ngHlJlwTRbJu3L6gqCLqcaSFEx6t4WkZBoNPna0LxNaFdW65aqIZBYnOc52iLFQk64dWyLgJkIEevjBLu4GSAx/HoGfezcDIgi8bMUPcgreiYF6weeMs2GcSX5QBd1wkkoTHg0oFzex1ry2gMtHxU1QfJaAwgs0KcEbaFVCoIODLLZ0jHwFS/B43LFSI0bzwV69m/kqkhvtnfPvxSU38l0nG81Zr55Qan8z620inLm7czZpXs3LcIFV0WQ51tswHId5sNzD13rxw1/dyxehgKzt6p2VC3vGOJs0seuc3DhQZ7XlBB9u5ufdTQILBLXlPkWirKn4M65A0WEuxKokQqAJhimXCMmSNHVRB2a9T1kYMWWbg+aWilACXUX1Ck662to4Tnla0bLDr6pVZQCKCD3GBxUXBuTRJOmQoFS91zskP84JGqUHAzH3KBd45WLn8PauQr9kx4xnbl1zjmQmXWtJJrQMGlf+kTUwhI4wLt0ZpQIog5IRp1pYRMGFDvRnhAzEABWoQ9Z0/OuaKSUQDoniA/n19+eA9IVAhYYzGHFRZzH9+XQSJAjUvEn+yDeIeMBsFKeF04p71aRiJAjRlhxSuoUSJAjTlKQIU5SkC++ngT6rJHDDi4V/NZe2Sv5rPAYW1/R1VnkAqqFLiKBaYZSrvoqtTzVC4Pgzufqo+F8B1V80C5S8rEBCjKo0V5dEoyBiZsAful7fxUyQ2F58Imw/9tkIcD2TU/Ua7vQl1fJr87/fblf8cMM3U="
|
||||
window.navigationData = "eJytW21z2yYc/y56nW5rmnZbbre7OE/Nnb14dlrfrtfrYQk7LBh5CCXxdv3uO4RkgYT+IKRXac3vSYAAgfTlv0jgVxGdR78RJjBniP4enUR7JB6j82iXJjnF2Y/fqrJvPzyKHY1OoifCkuj89CSKHwlNOGbR+Zej1IqwJH2pZWKKssyUURBT7e3pL99PjiIXSXL9jJmYkkxghvn9XpCUZbVqIbZBsSncQWvkfv/hRKWKziORJW9I9ga/KolIz8A5OkzyzQbzzwS/OL1NeJjnhKZrl5HEhKvPebrHXBwmaOtjpMHDPK85T32bT8cGusnWd9pI0AD9O0b8PCRwgE/Vi728KvAIfvfrv3Hsd4UmZQxvz54y2l1eKD0gvsV+V6ygYV53AnO0pthlVOHCXGY4IWiZ5jx2GmnQwV5F7czQvodnRQnznqcZkQ3vMqxwLRddi6c7kuGbnG4IpThZ4Cynzg5hZwVejdKakidnq2nQQV4LLG/anhdrkgb5r4h4XOAspc+YO+94GyfM/c8c54Rtl4IjgbcHl3EDPornkvzrbGULJcx7gVEiR5PJQeCl4BjtLlMmeEqpe2qBuMPSKDVff4Uew3Hy1/1E/uJ/7U3eeCn+yXHmvO86iWPkuMIblFPRv0N00EfMFNJIBnWMLLdyfUHikCwGdZws5YV5rpFg9hiJ5P+uUob9JhCIO1aaz4jmwXE08rA8K06E/DtHxLvT6Jwwd59JxTqL6BrFukw9xTq1NGxgYk3Bd/lo4wS6Fw0/J3vseUO1CGG+D2SHF4htsdOwRoY5fWIJ5vRA2LaYv70eCWycoe7lsNw3gEEbmmFJ2JO/tUSP4XixTrm4RJSuUdzT3qCOkeWSphkOy2JQx8iyFCi0XgzqGFnkyBtYLwZ1cJaet8dI90WhcolYjGlAJVjY4ySa5zQ4j84dJ01of22TA/Mspk7XxTRMu1p5+D2RmegxHHs/gzjoI2Yq7u+wPIoaePKw32OWzNJEGw3EYd84bziCGiY//frz2/enfY84zI2ntpuJHGD5gojACWSlEOEWxbkF4gLwqCADTIq6aI7ZbSMNFm6mBlhaPB+ofbDyF71ztrwBljUKaHj9iuNcpP38KlJ/O7XN2NOuIoXYqS3FnnaK5LK7Zglh24fDHuooNSi8m1yz5H6jRqHiKA22M6ADTI2jGA6eJLVjOMnhweT9TRAF3EvEAAvVEZZYCMuhQdvPAg83NzcwbNNnK0AXZawQzX0yRwDr3tggc2cTdFGGhUgZPThMJWSYyWEpkICGkBo0xChOOTQ7K8CwybmWf0acyOZoTc5v3poW73oMRg75AjNEv3la3O2ikIFe1nNcq5eGDPTyOyOymkPUgWmaTySgvwKP4mg7I/LwrmkjpmicEXnHKHij5ACezzzStNhjZgpoJIMZmMW+S24116GBbrb9YqtXDQx0MnYZrBafFtNA7a5dBquNCR7FsW8vdrDHzNTcZfDPo5i9snw19xkoiZH5Ek312qdWaMqf2d/7/Ej07YpNzuLijMTQkRhT7MOZ8ZaE/mKdXUJiAInlo/7uqV1CYloSer1MePqS6S1S1UlZ4FUf93vMjBuqDlPJlBAwi9w3bAeRv3qlWORMkB1uPA5W7+QWMjoEeidXglsnZWp9WOho5a4n4snh7spWMYWOLARaeHL4A+2sPa1ky2KAb1Zog92u12ZzULJfp0hfIh/bpCryapglFg/yX7YkR6ESBFyNW8MqoF/SFUE03WbtCyoLvC5nkgvR8SpeJaMg0OnzDaH4htCuLddKqIZBYjOcZWiLFQk64a1kbQTIQN69Moq/g5UBHsejZ9zPwsqALBojQ92DKkXLuGD0wDu2SSG+LAfoVZ1AEhUGnDpwZs5jbZkKA00fZfVBMhUGkFkhzgjbQiolBLwzi2dIy42pfve6L1eI0KzxVFyN/qVMDXGN/ubhlxr6S5GO463WyC83OK3r2FKnKG8uZ/Qq2dmXCCVdFkOdbbMByPebDcy9sM8cNf3CMntoCtbeWbGhbnnPYmuXPHKbhwsN9iynguzt3fqoUYHALnlDkW2qKH726pC3WEiwLYkSKQFgimXMMWaWHGWB39Ko6yOHSmRh+6ShlQKUUH9Bka63to4Sjle2brHo6JeVgkIAHeQWi8ucc2OQsMqUKFhqzskO8YNDqkTBzXzIBN5ZWrn43auRr9kz4SnbFV/j6BOVXtNKrgEFp/6lS0whII1LtEdrQokg+oCo1ZUS0mFAvWvhATENBWh9RCyheE6R2KR8V6wmeLoHZO0EwIGw5/TJOhqVigoArTqyi9nVhzNAokTAGosZrLCYufiuDBIBalwh/mQe9VtkKhCshNe5dWCtZSQC1JgSlr+CGgUC1JihGFSYoRjkq89DoZviiAGHj9Vs2h47VrOp58BhfqlVZ5AKqhS4igWmKUq66KrU8dwvj5s7n9uPhfCarXlk3SWlYzwU5eGlPJwlKQMTtoD90nZ+DGWHwqNtk+H++sjBgeyaH0HX61zbt8/vTr9//R/5AFZf"
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -2,7 +2,7 @@
|
|||
in case a <a href="CancellablePromise.html" class="tsd-kind-class">CancellablePromise</a> is cancelled successfully.</p>
|
||||
<p>The value of the <a href="CancelError.html#name" class="tsd-kind-property">name</a> property is the string <code>"CancelError"</code>.
|
||||
The value of the <a href="Call.RuntimeError.html#cause" class="tsd-kind-property">cause</a> property is the cause passed to the cancel method, if any.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-hierarchy" data-refl="507"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error" class="tsd-signature-type external" target="_blank">Error</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">CancelError</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/cancellable.ts#L20">src/cancellable.ts:20</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="CancelError.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-hierarchy" data-refl="513"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error" class="tsd-signature-type external" target="_blank">Error</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">CancelError</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/cancellable.ts#L20">src/cancellable.ts:20</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="CancelError.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="CancelError.html#cause" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>cause?</span></a>
|
||||
<a href="CancelError.html#message" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>message</span></a>
|
||||
<a href="CancelError.html#name" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>name</span></a>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ This might be reconsidered in case the proposal is retired.</p>
|
|||
and is compliant with the <a href="https://promisesaplus.com/">Promises/A+ specification</a>
|
||||
(it passes the <a href="https://github.com/promises-aplus/promises-tests">compliance suite</a>)
|
||||
if so is the underlying implementation.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section> <section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="t" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span></span></li></ul></section> <section class="tsd-panel tsd-hierarchy" data-refl="550"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="CancellablePromise.html#constructorcancellablepromiset">T</a><span class="tsd-signature-symbol">></span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">CancellablePromise</span></li></ul></li></ul></section><section class="tsd-panel"><h4>Implements</h4><ul class="tsd-hierarchy"><li><a href="../interfaces/_internal_.PromiseLike.html" class="tsd-signature-type tsd-kind-interface">PromiseLike</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="CancellablePromise.html#constructorcancellablepromiset">T</a><span class="tsd-signature-symbol">></span></li><li><a href="../interfaces/CancellablePromiseLike.html" class="tsd-signature-type tsd-kind-interface">CancellablePromiseLike</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="CancellablePromise.html#constructorcancellablepromiset">T</a><span class="tsd-signature-symbol">></span></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/cancellable.ts#L147">src/cancellable.ts:147</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="CancellablePromise.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section> <section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="t" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span></span></li></ul></section> <section class="tsd-panel tsd-hierarchy" data-refl="556"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="CancellablePromise.html#constructorcancellablepromiset">T</a><span class="tsd-signature-symbol">></span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">CancellablePromise</span></li></ul></li></ul></section><section class="tsd-panel"><h4>Implements</h4><ul class="tsd-hierarchy"><li><a href="../interfaces/_internal_.PromiseLike.html" class="tsd-signature-type tsd-kind-interface">PromiseLike</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="CancellablePromise.html#constructorcancellablepromiset">T</a><span class="tsd-signature-symbol">></span></li><li><a href="../interfaces/CancellablePromiseLike.html" class="tsd-signature-type tsd-kind-interface">CancellablePromiseLike</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="CancellablePromise.html#constructorcancellablepromiset">T</a><span class="tsd-signature-symbol">></span></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/cancellable.ts#L147">src/cancellable.ts:147</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="CancellablePromise.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="CancellablePromise.html#tostringtag" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>[to<wbr/>String<wbr/>Tag]</span></a>
|
||||
<a href="CancellablePromise.html#species" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>[species]</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="CancellablePromise.html#cancel" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>cancel</span></a>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ The value of the <a href="Call.RuntimeError.html#cause" class="tsd-kind-property
|
|||
<p>Because the original promise was cancelled,
|
||||
a wrapper promise will be passed to the unhandled rejection listener instead.
|
||||
The <a href="CancelledRejectionError.html#promise" class="tsd-kind-property">promise</a> property holds a reference to the original promise.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-hierarchy" data-refl="516"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error" class="tsd-signature-type external" target="_blank">Error</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">CancelledRejectionError</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/cancellable.ts#L44">src/cancellable.ts:44</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="CancelledRejectionError.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-hierarchy" data-refl="522"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error" class="tsd-signature-type external" target="_blank">Error</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">CancelledRejectionError</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/cancellable.ts#L44">src/cancellable.ts:44</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="CancelledRejectionError.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="CancelledRejectionError.html#cause" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>cause?</span></a>
|
||||
<a href="CancelledRejectionError.html#message" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>message</span></a>
|
||||
<a href="CancelledRejectionError.html#name" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>name</span></a>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Capabilities | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.Capabilities.html">Capabilities</a></li></ul><h1>Function Capabilities</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="capabilities" class="tsd-anchor"></a><span class="tsd-kind-call-signature">Capabilities</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="../types/_internal_.Record.html" class="tsd-signature-type tsd-kind-type-alias">Record</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><a href="#capabilities" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Fetches the capabilities of the application from the server.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="../types/_internal_.Record.html" class="tsd-signature-type tsd-kind-type-alias">Record</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></h4><p>A promise that resolves to an object containing the capabilities.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L52">src/system.ts:52</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L53">src/system.ts:53</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Environment | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.Environment.html">Environment</a></li></ul><h1>Function Environment</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="environment" class="tsd-anchor"></a><span class="tsd-kind-call-signature">Environment</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/System.EnvironmentInfo.html" class="tsd-signature-type tsd-kind-interface">EnvironmentInfo</a><span class="tsd-signature-symbol">></span><a href="#environment" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Retrieves environment details.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/System.EnvironmentInfo.html" class="tsd-signature-type tsd-kind-interface">EnvironmentInfo</a><span class="tsd-signature-symbol">></span></h4><p>A promise that resolves to an object containing OS and system architecture.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L90">src/system.ts:90</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L91">src/system.ts:91</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>HandlePlatformFileDrop | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.HandlePlatformFileDrop.html">HandlePlatformFileDrop</a></li></ul><h1>Function HandlePlatformFileDrop</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="handleplatformfiledrop" class="tsd-anchor"></a><span class="tsd-kind-call-signature">HandlePlatformFileDrop</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filenames</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">x</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">y</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#handleplatformfiledrop" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Handles file drops originating from platform-specific code (e.g., macOS native drag-and-drop).
|
||||
Gathers information about the drop target element and sends it back to the Go backend.</p>
|
||||
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filenames</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>An array of file paths (strings) that were dropped.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">x</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>The x-coordinate of the drop event.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">y</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>The y-coordinate of the drop event.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L166">src/system.ts:166</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IsAMD64 | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.IsAMD64.html">IsAMD64</a></li></ul><h1>Function IsAMD64</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="isamd64" class="tsd-anchor"></a><span class="tsd-kind-call-signature">IsAMD64</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#isamd64" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Checks if the current environment architecture is AMD64.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>True if the current environment architecture is AMD64, false otherwise.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L126">src/system.ts:126</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L127">src/system.ts:127</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IsARM | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.IsARM.html">IsARM</a></li></ul><h1>Function IsARM</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="isarm" class="tsd-anchor"></a><span class="tsd-kind-call-signature">IsARM</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#isarm" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Checks if the current architecture is ARM.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>True if the current architecture is ARM, false otherwise.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L135">src/system.ts:135</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L136">src/system.ts:136</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IsARM64 | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.IsARM64.html">IsARM64</a></li></ul><h1>Function IsARM64</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="isarm64" class="tsd-anchor"></a><span class="tsd-kind-call-signature">IsARM64</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#isarm64" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Checks if the current environment is ARM64 architecture.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Returns true if the environment is ARM64 architecture, otherwise returns false.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L144">src/system.ts:144</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L145">src/system.ts:145</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IsDarkMode | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.IsDarkMode.html">IsDarkMode</a></li></ul><h1>Function IsDarkMode</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="isdarkmode" class="tsd-anchor"></a><span class="tsd-kind-call-signature">IsDarkMode</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span><a href="#isdarkmode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Retrieves the system dark mode status.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span></h4><p>A promise that resolves to a boolean value indicating if the system is in dark mode.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L43">src/system.ts:43</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L44">src/system.ts:44</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IsDebug | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.IsDebug.html">IsDebug</a></li></ul><h1>Function IsDebug</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="isdebug" class="tsd-anchor"></a><span class="tsd-kind-call-signature">IsDebug</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#isdebug" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Reports whether the app is being run in debug mode.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>True if the app is being run in debug mode.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L153">src/system.ts:153</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L154">src/system.ts:154</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IsLinux | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.IsLinux.html">IsLinux</a></li></ul><h1>Function IsLinux</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="islinux" class="tsd-anchor"></a><span class="tsd-kind-call-signature">IsLinux</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#islinux" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Checks if the current operating system is Linux.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Returns true if the current operating system is Linux, false otherwise.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L108">src/system.ts:108</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L109">src/system.ts:109</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IsMac | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.IsMac.html">IsMac</a></li></ul><h1>Function IsMac</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="ismac" class="tsd-anchor"></a><span class="tsd-kind-call-signature">IsMac</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#ismac" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Checks if the current environment is a macOS operating system.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>True if the environment is macOS, false otherwise.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L117">src/system.ts:117</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L118">src/system.ts:118</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IsWindows | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.IsWindows.html">IsWindows</a></li></ul><h1>Function IsWindows</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="iswindows" class="tsd-anchor"></a><span class="tsd-kind-call-signature">IsWindows</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#iswindows" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Checks if the current operating system is Windows.</p>
|
||||
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>True if the operating system is Windows, otherwise false.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L99">src/system.ts:99</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L100">src/system.ts:100</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,9 +1,9 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>OSInfo | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.OSInfo.html">OSInfo</a></li></ul><h1>Interface OSInfo</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">OSInfo</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="System.OSInfo.html#branding">Branding</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="System.OSInfo.html#id">ID</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="System.OSInfo.html#name">Name</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="System.OSInfo.html#version">Version</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L61">src/system.ts:61</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="System.OSInfo.html#branding" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Branding</span></a>
|
||||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>OSInfo | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/System.html">System</a></li><li><a href="System.OSInfo.html">OSInfo</a></li></ul><h1>Interface OSInfo</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">OSInfo</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="System.OSInfo.html#branding">Branding</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="System.OSInfo.html#id">ID</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="System.OSInfo.html#name">Name</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="System.OSInfo.html#version">Version</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L62">src/system.ts:62</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="System.OSInfo.html#branding" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Branding</span></a>
|
||||
<a href="System.OSInfo.html#id" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>ID</span></a>
|
||||
<a href="System.OSInfo.html#name" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Name</span></a>
|
||||
<a href="System.OSInfo.html#version" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Version</span></a>
|
||||
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="branding" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>Branding</span><a href="#branding" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">Branding</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>The branding of the OS.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L63">src/system.ts:63</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="id" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>ID</span><a href="#id" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">ID</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>The ID of the OS.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L65">src/system.ts:65</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="name" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>Name</span><a href="#name" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">Name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>The name of the OS.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L67">src/system.ts:67</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="version" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>Version</span><a href="#version" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">Version</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>The version of the OS.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L69">src/system.ts:69</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#branding" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Branding</span></a><a href="#id" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>ID</span></a><a href="#name" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Name</span></a><a href="#version" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Version</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L64">src/system.ts:64</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="id" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>ID</span><a href="#id" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">ID</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>The ID of the OS.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L66">src/system.ts:66</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="name" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>Name</span><a href="#name" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">Name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>The name of the OS.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L68">src/system.ts:68</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="version" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>Version</span><a href="#version" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">Version</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>The version of the OS.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/system.ts#L70">src/system.ts:70</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#branding" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Branding</span></a><a href="#id" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>ID</span></a><a href="#name" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Name</span></a><a href="#version" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Version</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,2 +1,2 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>EventListenerOptions | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.EventListenerOptions.html">EventListenerOptions</a></li></ul><h1>Interface EventListenerOptions</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">EventListenerOptions</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="_internal_.EventListenerOptions.html#capture">capture</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="1201"><h4>Hierarchy (<a href="../hierarchy.html#<internal>.EventListenerOptions">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">EventListenerOptions</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="_internal_.AddEventListenerOptions.html" class="tsd-signature-type tsd-kind-interface">AddEventListenerOptions</a></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in node_modules/typescript/lib/lib.dom.d.ts:598</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_internal_.EventListenerOptions.html#capture" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>capture?</span></a>
|
||||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>EventListenerOptions | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.EventListenerOptions.html">EventListenerOptions</a></li></ul><h1>Interface EventListenerOptions</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">EventListenerOptions</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="_internal_.EventListenerOptions.html#capture">capture</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="1212"><h4>Hierarchy (<a href="../hierarchy.html#<internal>.EventListenerOptions">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">EventListenerOptions</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="_internal_.AddEventListenerOptions.html" class="tsd-signature-type tsd-kind-interface">AddEventListenerOptions</a></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in node_modules/typescript/lib/lib.dom.d.ts:598</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_internal_.EventListenerOptions.html#capture" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>capture?</span></a>
|
||||
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member tsd-is-external"><a id="capture" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>capture</span><a href="#capture" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">capture</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/typescript/lib/lib.dom.d.ts:599</li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#capture" class="tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>capture</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Position | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.Position.html">Position</a></li></ul><h1>Interface Position</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>A record describing the position of a window.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">Position</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="_internal_.Position.html#x">x</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="_internal_.Position.html#y">y</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L67">src/window.ts:67</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_internal_.Position.html#x" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>x</span></a>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">Position</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="_internal_.Position.html#x">x</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="_internal_.Position.html#y">y</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L81">src/window.ts:81</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_internal_.Position.html#x" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>x</span></a>
|
||||
<a href="_internal_.Position.html#y" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>y</span></a>
|
||||
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="x" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>x</span><a href="#x" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">x</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>The horizontal position of the window.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L69">src/window.ts:69</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="y" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>y</span><a href="#y" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">y</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>The vertical position of the window.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L71">src/window.ts:71</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#x" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>x</span></a><a href="#y" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>y</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L83">src/window.ts:83</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="y" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>y</span><a href="#y" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">y</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>The vertical position of the window.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L85">src/window.ts:85</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#x" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>x</span></a><a href="#y" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>y</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ReadableStreamDefaultReader | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.ReadableStreamDefaultReader.html">ReadableStreamDefaultReader</a></li></ul><h1>Interface ReadableStreamDefaultReader<R></h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p><a href="https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader">MDN Reference</a></p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">ReadableStreamDefaultReader</span><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_internal_.ReadableStreamDefaultReader.html#r">R</a> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="_internal_.ReadableStreamDefaultReader.html#closed">closed</a><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="_internal_.ReadableStreamDefaultReader.html#cancel-1">cancel</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">reason</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="_internal_.ReadableStreamDefaultReader.html#read-1">read</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="../types/_internal_.ReadableStreamReadResult.html" class="tsd-signature-type tsd-kind-type-alias">ReadableStreamReadResult</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_internal_.ReadableStreamDefaultReader.html#r">R</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="_internal_.ReadableStreamDefaultReader.html#releaselock-1">releaseLock</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div> <section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="r" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">R</span> = <span class="tsd-signature-type">any</span></span></li></ul></section> <section class="tsd-panel tsd-hierarchy" data-refl="1262"><h4>Hierarchy (<a href="../hierarchy.html#<internal>.ReadableStreamDefaultReader">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="_internal_.ReadableStreamGenericReader.html" class="tsd-signature-type tsd-kind-interface">ReadableStreamGenericReader</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">ReadableStreamDefaultReader</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in node_modules/typescript/lib/lib.dom.d.ts:19174</li><li>Defined in node_modules/typescript/lib/lib.dom.d.ts:19181</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_internal_.ReadableStreamDefaultReader.html#closed" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>closed</span></a>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">ReadableStreamDefaultReader</span><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_internal_.ReadableStreamDefaultReader.html#r">R</a> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="_internal_.ReadableStreamDefaultReader.html#closed">closed</a><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="_internal_.ReadableStreamDefaultReader.html#cancel-1">cancel</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">reason</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="_internal_.ReadableStreamDefaultReader.html#read-1">read</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="../types/_internal_.ReadableStreamReadResult.html" class="tsd-signature-type tsd-kind-type-alias">ReadableStreamReadResult</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_internal_.ReadableStreamDefaultReader.html#r">R</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="_internal_.ReadableStreamDefaultReader.html#releaselock-1">releaseLock</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div> <section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="r" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">R</span> = <span class="tsd-signature-type">any</span></span></li></ul></section> <section class="tsd-panel tsd-hierarchy" data-refl="1273"><h4>Hierarchy (<a href="../hierarchy.html#<internal>.ReadableStreamDefaultReader">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="_internal_.ReadableStreamGenericReader.html" class="tsd-signature-type tsd-kind-interface">ReadableStreamGenericReader</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">ReadableStreamDefaultReader</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in node_modules/typescript/lib/lib.dom.d.ts:19174</li><li>Defined in node_modules/typescript/lib/lib.dom.d.ts:19181</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_internal_.ReadableStreamDefaultReader.html#closed" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>closed</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="_internal_.ReadableStreamDefaultReader.html#cancel" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>cancel</span></a>
|
||||
<a href="_internal_.ReadableStreamDefaultReader.html#read" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>read</span></a>
|
||||
<a href="_internal_.ReadableStreamDefaultReader.html#releaselock" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>release<wbr/>Lock</span></a>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Size | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.Size.html">Size</a></li></ul><h1>Interface Size</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>A record describing the size of a window.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">Size</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="_internal_.Size.html#height">height</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="_internal_.Size.html#width">width</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L77">src/window.ts:77</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_internal_.Size.html#height" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>height</span></a>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">Size</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="_internal_.Size.html#height">height</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="_internal_.Size.html#width">width</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L91">src/window.ts:91</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_internal_.Size.html#height" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>height</span></a>
|
||||
<a href="_internal_.Size.html#width" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>width</span></a>
|
||||
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="height" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>height</span><a href="#height" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">height</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>The height of the window.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L81">src/window.ts:81</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="width" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>width</span><a href="#width" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">width</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>The width of the window.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L79">src/window.ts:79</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#height" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>height</span></a><a href="#width" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>width</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L95">src/window.ts:95</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="width" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>width</span><a href="#width" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">width</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>The width of the window.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L93">src/window.ts:93</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#height" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>height</span></a><a href="#width" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>width</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,2 +1,2 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Window | @wailsio/runtime</title><meta name="description" content="Documentation for @wailsio/runtime"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@wailsio/runtime</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@wailsio/runtime</a></li><li><a href="Window.html">Window</a></li></ul><h1>Variable Window<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">Window</span><span class="tsd-signature-symbol">:</span> <a href="../classes/_internal_.Window.html" class="tsd-signature-type tsd-kind-class">Window</a><span class="tsd-signature-symbol"> = ...</span></div><div class="tsd-comment tsd-typography"><p>The window within which the script is running.</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L526">src/window.ts:526</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/wailsapp/wails/blob/v3-alpha/v3/internal/runtime/desktop/@wailsio/runtime/src/window.ts#L581">src/window.ts:581</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@wailsio/runtime</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
|
|
|||
|
|
@ -229,5 +229,6 @@ export const Types = Object.freeze({
|
|||
WindowZoomIn: "common:WindowZoomIn",
|
||||
WindowZoomOut: "common:WindowZoomOut",
|
||||
WindowZoomReset: "common:WindowZoomReset",
|
||||
WindowDropZoneFilesDropped: "common:WindowDropZoneFilesDropped",
|
||||
}),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ const call = newRuntimeCaller(objectNames.System);
|
|||
|
||||
const SystemIsDarkMode = 0;
|
||||
const SystemEnvironment = 1;
|
||||
const ApplicationFilesDroppedWithContext = 100; // New method ID for enriched drop event
|
||||
|
||||
const _invoke = (function () {
|
||||
try {
|
||||
|
|
@ -154,3 +155,35 @@ export function IsDebug(): boolean {
|
|||
return Boolean(window._wails.environment.Debug);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles file drops originating from platform-specific code (e.g., macOS native drag-and-drop).
|
||||
* Gathers information about the drop target element and sends it back to the Go backend.
|
||||
*
|
||||
* @param filenames - An array of file paths (strings) that were dropped.
|
||||
* @param x - The x-coordinate of the drop event.
|
||||
* @param y - The y-coordinate of the drop event.
|
||||
*/
|
||||
export function HandlePlatformFileDrop(filenames: string[], x: number, y: number): void {
|
||||
const element = document.elementFromPoint(x, y);
|
||||
const elementId = element ? element.id : '';
|
||||
const classList = element ? Array.from(element.classList) : [];
|
||||
|
||||
const payload = {
|
||||
filenames,
|
||||
x,
|
||||
y,
|
||||
elementId,
|
||||
classList,
|
||||
};
|
||||
|
||||
call(ApplicationFilesDroppedWithContext, payload)
|
||||
.then(() => {
|
||||
// Optional: Log success or handle if needed
|
||||
console.log("Platform file drop processed and sent to Go.");
|
||||
})
|
||||
.catch(err => {
|
||||
// Optional: Log error
|
||||
console.error("Error sending platform file drop to Go:", err);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,11 @@ The electron alternative for Go
|
|||
import {newRuntimeCaller, objectNames} from "./runtime.js";
|
||||
import type { Screen } from "./screens.js";
|
||||
|
||||
// NEW: Dropzone constants
|
||||
const DROPZONE_ATTRIBUTE = 'data-wails-dropzone';
|
||||
const DROPZONE_HOVER_CLASS = 'wails-dropzone-hover'; // User can style this class
|
||||
let currentHoveredDropzone: Element | null = null;
|
||||
|
||||
const PositionMethod = 0;
|
||||
const CenterMethod = 1;
|
||||
const CloseMethod = 2;
|
||||
|
|
@ -61,6 +66,15 @@ const ZoomInMethod = 46;
|
|||
const ZoomOutMethod = 47;
|
||||
const ZoomResetMethod = 48;
|
||||
const SnapAssistMethod = 49;
|
||||
const WindowDropZoneDropped = 50;
|
||||
|
||||
function getDropzoneElement(element: Element | null): Element | null {
|
||||
if (!element) {
|
||||
return null;
|
||||
}
|
||||
// Allow dropzone attribute to be on the element itself or any parent
|
||||
return element.closest(`[${DROPZONE_ATTRIBUTE}]`);
|
||||
}
|
||||
|
||||
/**
|
||||
* A record describing the position of a window.
|
||||
|
|
@ -521,7 +535,47 @@ class Window {
|
|||
}
|
||||
|
||||
/**
|
||||
* Triggers Windows 11 Snap Assist feature (Windows only).
|
||||
* Handles file drops originating from platform-specific code (e.g., macOS native drag-and-drop).
|
||||
* Gathers information about the drop target element and sends it back to the Go backend.
|
||||
*
|
||||
* @param filenames - An array of file paths (strings) that were dropped.
|
||||
* @param x - The x-coordinate of the drop event.
|
||||
* @param y - The y-coordinate of the drop event.
|
||||
*/
|
||||
HandlePlatformFileDrop(filenames: string[], x: number, y: number): void {
|
||||
const element = document.elementFromPoint(x, y);
|
||||
|
||||
// NEW: Check if the drop target is a valid dropzone
|
||||
const dropzoneTarget = getDropzoneElement(element);
|
||||
|
||||
if (!dropzoneTarget) {
|
||||
console.log(`Wails Runtime: Drop on element (or no element) at ${x},${y} which is not a designated dropzone. Ignoring. Element:`, element);
|
||||
// No need to call backend if not a valid dropzone target
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`Wails Runtime: Drop on designated dropzone. Element at (${x}, ${y}):`, element, 'Effective dropzone:', dropzoneTarget);
|
||||
const elementDetails = {
|
||||
id: dropzoneTarget.id,
|
||||
classList: Array.from(dropzoneTarget.classList),
|
||||
attributes: {} as { [key: string]: string },
|
||||
};
|
||||
for (let i = 0; i < dropzoneTarget.attributes.length; i++) {
|
||||
const attr = dropzoneTarget.attributes[i];
|
||||
elementDetails.attributes[attr.name] = attr.value;
|
||||
}
|
||||
|
||||
const payload = {
|
||||
filenames,
|
||||
x,
|
||||
y,
|
||||
elementDetails,
|
||||
};
|
||||
|
||||
this[callerSym](WindowDropZoneDropped, payload);
|
||||
}
|
||||
|
||||
/* Triggers Windows 11 Snap Assist feature (Windows only).
|
||||
* This is equivalent to pressing Win+Z and shows snap layout options.
|
||||
*/
|
||||
SnapAssist(): Promise<void> {
|
||||
|
|
@ -534,4 +588,81 @@ class Window {
|
|||
*/
|
||||
const thisWindow = new Window('');
|
||||
|
||||
// NEW: Global Drag Event Listeners
|
||||
function setupGlobalDropzoneListeners() {
|
||||
const docElement = document.documentElement;
|
||||
let dragEnterCounter = 0; // To handle dragenter/dragleave on child elements
|
||||
|
||||
docElement.addEventListener('dragenter', (event) => {
|
||||
event.preventDefault();
|
||||
if (event.dataTransfer && event.dataTransfer.types.includes('Files')) {
|
||||
dragEnterCounter++;
|
||||
const targetElement = document.elementFromPoint(event.clientX, event.clientY);
|
||||
const dropzone = getDropzoneElement(targetElement);
|
||||
|
||||
// Clear previous hover regardless, then apply new if valid
|
||||
if (currentHoveredDropzone && currentHoveredDropzone !== dropzone) {
|
||||
currentHoveredDropzone.classList.remove(DROPZONE_HOVER_CLASS);
|
||||
}
|
||||
|
||||
if (dropzone) {
|
||||
dropzone.classList.add(DROPZONE_HOVER_CLASS);
|
||||
event.dataTransfer.dropEffect = 'copy';
|
||||
currentHoveredDropzone = dropzone;
|
||||
} else {
|
||||
event.dataTransfer.dropEffect = 'none';
|
||||
currentHoveredDropzone = null; // Ensure it's cleared if no dropzone found
|
||||
}
|
||||
}
|
||||
}, false);
|
||||
|
||||
docElement.addEventListener('dragover', (event) => {
|
||||
event.preventDefault(); // Necessary to allow drop
|
||||
if (event.dataTransfer && event.dataTransfer.types.includes('Files')) {
|
||||
// No need to query elementFromPoint again if already handled by dragenter correctly
|
||||
// Just ensure dropEffect is continuously set based on currentHoveredDropzone
|
||||
if (currentHoveredDropzone) {
|
||||
// Re-apply class just in case it was removed by some other JS
|
||||
if(!currentHoveredDropzone.classList.contains(DROPZONE_HOVER_CLASS)) {
|
||||
currentHoveredDropzone.classList.add(DROPZONE_HOVER_CLASS);
|
||||
}
|
||||
event.dataTransfer.dropEffect = 'copy';
|
||||
} else {
|
||||
event.dataTransfer.dropEffect = 'none';
|
||||
}
|
||||
}
|
||||
}, false);
|
||||
|
||||
docElement.addEventListener('dragleave', (event) => {
|
||||
event.preventDefault();
|
||||
if (event.dataTransfer && event.dataTransfer.types.includes('Files')) {
|
||||
dragEnterCounter--;
|
||||
// Only remove hover if drag truly left the window or the last dropzone
|
||||
if (dragEnterCounter === 0 || event.relatedTarget === null || (currentHoveredDropzone && !currentHoveredDropzone.contains(event.relatedTarget as Node))) {
|
||||
if (currentHoveredDropzone) {
|
||||
currentHoveredDropzone.classList.remove(DROPZONE_HOVER_CLASS);
|
||||
currentHoveredDropzone = null;
|
||||
}
|
||||
dragEnterCounter = 0; // Reset counter if it went negative or left window
|
||||
}
|
||||
}
|
||||
}, false);
|
||||
|
||||
docElement.addEventListener('drop', (event) => {
|
||||
event.preventDefault(); // Prevent default browser file handling
|
||||
dragEnterCounter = 0; // Reset counter
|
||||
if (currentHoveredDropzone) {
|
||||
currentHoveredDropzone.classList.remove(DROPZONE_HOVER_CLASS);
|
||||
currentHoveredDropzone = null;
|
||||
}
|
||||
// The actual drop processing is initiated by the native side calling HandlePlatformFileDrop
|
||||
// HandlePlatformFileDrop will then check if the drop was on a valid zone.
|
||||
}, false);
|
||||
}
|
||||
|
||||
// Initialize listeners when the script loads
|
||||
if (typeof window !== "undefined" && typeof document !== "undefined") {
|
||||
setupGlobalDropzoneListeners();
|
||||
}
|
||||
|
||||
export default thisWindow;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import Window from "./window.js";
|
|||
* @param [data=null] - - Optional data to send along with the event.
|
||||
*/
|
||||
function sendEvent(eventName: string, data: any = null): void {
|
||||
void Emit(eventName, data);
|
||||
Emit(eventName, data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,11 +16,10 @@ import (
|
|||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/wailsapp/wails/v3/internal/assetserver/bundledassets"
|
||||
|
||||
"github.com/wailsapp/wails/v3/internal/signal"
|
||||
|
||||
"github.com/wailsapp/wails/v3/internal/assetserver"
|
||||
"github.com/wailsapp/wails/v3/internal/assetserver/bundledassets"
|
||||
"github.com/wailsapp/wails/v3/internal/assetserver/webview"
|
||||
"github.com/wailsapp/wails/v3/internal/capabilities"
|
||||
)
|
||||
|
|
@ -101,7 +100,11 @@ func New(appOptions Options) *App {
|
|||
case "/wails/runtime":
|
||||
messageProc.ServeHTTP(rw, req)
|
||||
case "/wails/capabilities":
|
||||
err := assetserver.ServeFile(rw, path, globalApplication.capabilities.AsBytes())
|
||||
err := assetserver.ServeFile(
|
||||
rw,
|
||||
path,
|
||||
globalApplication.capabilities.AsBytes(),
|
||||
)
|
||||
if err != nil {
|
||||
result.fatal("unable to serve capabilities: %w", err)
|
||||
}
|
||||
|
|
@ -214,17 +217,31 @@ type windowMessage struct {
|
|||
|
||||
var windowMessageBuffer = make(chan *windowMessage, 5)
|
||||
|
||||
// DropZoneDetails contains information about the HTML element
|
||||
// at the location of a file drop.
|
||||
type DropZoneDetails struct {
|
||||
X int `json:"x"`
|
||||
Y int `json:"y"`
|
||||
ElementID string `json:"id"`
|
||||
ClassList []string `json:"classList"`
|
||||
Attributes map[string]string `json:"attributes,omitempty"`
|
||||
}
|
||||
|
||||
type dragAndDropMessage struct {
|
||||
windowId uint
|
||||
filenames []string
|
||||
X int
|
||||
Y int
|
||||
DropZone *DropZoneDetails
|
||||
}
|
||||
|
||||
var windowDragAndDropBuffer = make(chan *dragAndDropMessage, 5)
|
||||
|
||||
func addDragAndDropMessage(windowId uint, filenames []string) {
|
||||
func addDragAndDropMessage(windowId uint, filenames []string, dropZone *DropZoneDetails) {
|
||||
windowDragAndDropBuffer <- &dragAndDropMessage{
|
||||
windowId: windowId,
|
||||
filenames: filenames,
|
||||
DropZone: dropZone,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -394,7 +411,10 @@ func (a *App) RegisterService(service Service) {
|
|||
defer a.runLock.Unlock()
|
||||
|
||||
if a.starting || a.running {
|
||||
a.error("services must be registered before running the application. Service '%s' will not be registered.", getServiceName(service))
|
||||
a.error(
|
||||
"services must be registered before running the application. Service '%s' will not be registered.",
|
||||
getServiceName(service),
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -556,6 +576,11 @@ func (a *App) Run() error {
|
|||
go func() {
|
||||
for {
|
||||
dragAndDropMessage := <-windowDragAndDropBuffer
|
||||
a.Logger.Debug(
|
||||
"[DragDropDebug] App.Run: Received message from windowDragAndDropBuffer",
|
||||
"message",
|
||||
fmt.Sprintf("%+v", dragAndDropMessage),
|
||||
)
|
||||
go a.handleDragAndDropMessage(dragAndDropMessage)
|
||||
}
|
||||
}()
|
||||
|
|
@ -605,7 +630,10 @@ func (a *App) startupService(service Service) error {
|
|||
handler = http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
||||
http.Error(
|
||||
rw,
|
||||
fmt.Sprintf("Service '%s' does not handle HTTP requests", getServiceName(service)),
|
||||
fmt.Sprintf(
|
||||
"Service '%s' does not handle HTTP requests",
|
||||
getServiceName(service),
|
||||
),
|
||||
http.StatusServiceUnavailable,
|
||||
)
|
||||
})
|
||||
|
|
@ -644,6 +672,11 @@ func (a *App) shutdownServices() {
|
|||
}
|
||||
|
||||
func (a *App) handleDragAndDropMessage(event *dragAndDropMessage) {
|
||||
a.Logger.Debug(
|
||||
"[DragDropDebug] App.handleDragAndDropMessage: Called with event",
|
||||
"event",
|
||||
fmt.Sprintf("%+v", event),
|
||||
)
|
||||
defer handlePanic()
|
||||
// Get window from window map
|
||||
a.windowsLock.Lock()
|
||||
|
|
@ -654,7 +687,12 @@ func (a *App) handleDragAndDropMessage(event *dragAndDropMessage) {
|
|||
return
|
||||
}
|
||||
// Get callback from window
|
||||
window.HandleDragAndDropMessage(event.filenames)
|
||||
a.Logger.Debug(
|
||||
"[DragDropDebug] App.handleDragAndDropMessage: Calling window.HandleDragAndDropMessage",
|
||||
"windowID",
|
||||
event.windowId,
|
||||
)
|
||||
window.HandleDragAndDropMessage(event.filenames, event.DropZone)
|
||||
}
|
||||
|
||||
func (a *App) handleWindowMessage(event *windowMessage) {
|
||||
|
|
|
|||
|
|
@ -269,11 +269,16 @@ func (m *macosApp) run() error {
|
|||
C.startSingleInstanceListener(cUniqueID)
|
||||
}
|
||||
// Add a hook to the ApplicationDidFinishLaunching event
|
||||
m.parent.Event.OnApplicationEvent(events.Mac.ApplicationDidFinishLaunching, func(*ApplicationEvent) {
|
||||
C.setApplicationShouldTerminateAfterLastWindowClosed(C.bool(m.parent.options.Mac.ApplicationShouldTerminateAfterLastWindowClosed))
|
||||
C.setActivationPolicy(C.int(m.parent.options.Mac.ActivationPolicy))
|
||||
C.activateIgnoringOtherApps()
|
||||
})
|
||||
m.parent.Event.OnApplicationEvent(
|
||||
events.Mac.ApplicationDidFinishLaunching,
|
||||
func(*ApplicationEvent) {
|
||||
C.setApplicationShouldTerminateAfterLastWindowClosed(
|
||||
C.bool(m.parent.options.Mac.ApplicationShouldTerminateAfterLastWindowClosed),
|
||||
)
|
||||
C.setActivationPolicy(C.int(m.parent.options.Mac.ActivationPolicy))
|
||||
C.activateIgnoringOtherApps()
|
||||
},
|
||||
)
|
||||
m.setupCommonEvents()
|
||||
// setup event listeners
|
||||
for eventID := range m.parent.applicationEventListeners {
|
||||
|
|
@ -370,17 +375,35 @@ func processWindowKeyDownEvent(windowID C.uint, acceleratorString *C.char) {
|
|||
}
|
||||
|
||||
//export processDragItems
|
||||
func processDragItems(windowID C.uint, arr **C.char, length C.int) {
|
||||
func processDragItems(windowID C.uint, arr **C.char, length C.int, x C.int, y C.int) {
|
||||
var filenames []string
|
||||
// Convert the C array to a Go slice
|
||||
goSlice := (*[1 << 30]*C.char)(unsafe.Pointer(arr))[:length:length]
|
||||
for _, str := range goSlice {
|
||||
filenames = append(filenames, C.GoString(str))
|
||||
}
|
||||
windowDragAndDropBuffer <- &dragAndDropMessage{
|
||||
windowId: uint(windowID),
|
||||
filenames: filenames,
|
||||
|
||||
globalApplication.debug(
|
||||
"[DragDropDebug] processDragItems called",
|
||||
"windowID",
|
||||
windowID,
|
||||
"fileCount",
|
||||
len(filenames),
|
||||
"x",
|
||||
x,
|
||||
"y",
|
||||
y,
|
||||
)
|
||||
targetWindow, ok := globalApplication.Window.GetByID(uint(windowID))
|
||||
if !ok || targetWindow == nil {
|
||||
println("Error: processDragItems could not find window with ID:", uint(windowID))
|
||||
return
|
||||
}
|
||||
|
||||
globalApplication.debug(
|
||||
"[DragDropDebug] processDragItems: Calling targetWindow.InitiateFrontendDropProcessing",
|
||||
)
|
||||
targetWindow.InitiateFrontendDropProcessing(filenames, int(x), int(y))
|
||||
}
|
||||
|
||||
//export processMenuItemClick
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ package application
|
|||
var blankWindowEventContext = &WindowEventContext{}
|
||||
|
||||
const (
|
||||
droppedFiles = "droppedFiles"
|
||||
droppedFiles = "droppedFiles"
|
||||
dropZoneDetailsKey = "dropZoneDetails"
|
||||
)
|
||||
|
||||
type WindowEventContext struct {
|
||||
|
|
@ -12,6 +13,9 @@ type WindowEventContext struct {
|
|||
}
|
||||
|
||||
func (c WindowEventContext) DroppedFiles() []string {
|
||||
if c.data == nil {
|
||||
c.data = make(map[string]any)
|
||||
}
|
||||
files, ok := c.data[droppedFiles]
|
||||
if !ok {
|
||||
return nil
|
||||
|
|
@ -24,9 +28,52 @@ func (c WindowEventContext) DroppedFiles() []string {
|
|||
}
|
||||
|
||||
func (c WindowEventContext) setDroppedFiles(files []string) {
|
||||
if c.data == nil {
|
||||
c.data = make(map[string]any)
|
||||
}
|
||||
c.data[droppedFiles] = files
|
||||
}
|
||||
|
||||
func (c WindowEventContext) setCoordinates(x, y int) {
|
||||
if c.data == nil {
|
||||
c.data = make(map[string]any)
|
||||
}
|
||||
c.data["x"] = x
|
||||
c.data["y"] = y
|
||||
}
|
||||
|
||||
func (c WindowEventContext) setDropZoneDetails(details *DropZoneDetails) {
|
||||
if c.data == nil {
|
||||
c.data = make(map[string]any)
|
||||
}
|
||||
if details == nil {
|
||||
c.data[dropZoneDetailsKey] = nil
|
||||
return
|
||||
}
|
||||
c.data[dropZoneDetailsKey] = details
|
||||
}
|
||||
|
||||
// DropZoneDetails retrieves the detailed drop zone information, if available.
|
||||
func (c WindowEventContext) DropZoneDetails() *DropZoneDetails {
|
||||
if c.data == nil {
|
||||
c.data = make(map[string]any)
|
||||
}
|
||||
details, ok := c.data[dropZoneDetailsKey]
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
// Explicitly type assert, handle if it's nil (though setDropZoneDetails should handle it)
|
||||
if details == nil {
|
||||
return nil
|
||||
}
|
||||
result, ok := details.(*DropZoneDetails)
|
||||
if !ok {
|
||||
// This case indicates a programming error if data was set incorrectly
|
||||
return nil
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func newWindowEventContext() *WindowEventContext {
|
||||
return &WindowEventContext{
|
||||
data: make(map[string]any),
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ extern void handleLoadChanged(WebKitWebView*, WebKitLoadEvent, uintptr_t);
|
|||
void handleClick(void*);
|
||||
extern gboolean onButtonEvent(GtkWidget *widget, GdkEventButton *event, uintptr_t user_data);
|
||||
extern gboolean onMenuButtonEvent(GtkWidget *widget, GdkEventButton *event, uintptr_t user_data);
|
||||
extern void onUriList(char **extracted, gpointer data);
|
||||
extern void onUriList(char **extracted, gint x, gint y, gpointer data);
|
||||
extern gboolean onKeyPressEvent (GtkWidget *widget, GdkEventKey *event, uintptr_t user_data);
|
||||
extern void onProcessRequest(WebKitURISchemeRequest *request, uintptr_t user_data);
|
||||
extern void sendMessageToBackend(WebKitUserContentManager *contentManager, WebKitJavascriptResult *result, void *data);
|
||||
|
|
@ -230,7 +230,7 @@ static void on_data_received(GtkWidget *widget, GdkDragContext *context, gint x,
|
|||
gchar *uri_data = (gchar *)gtk_selection_data_get_data(selection_data);
|
||||
gchar **uri_list = g_uri_list_extract_uris(uri_data);
|
||||
|
||||
onUriList(uri_list, data);
|
||||
onUriList(uri_list, x, y, data);
|
||||
|
||||
g_strfreev(uri_list);
|
||||
gtk_drag_finish(context, TRUE, TRUE, time);
|
||||
|
|
@ -1513,7 +1513,7 @@ func onMenuButtonEvent(_ *C.GtkWidget, event *C.GdkEventButton, data C.uintptr_t
|
|||
}
|
||||
|
||||
//export onUriList
|
||||
func onUriList(extracted **C.char, data unsafe.Pointer) {
|
||||
func onUriList(extracted **C.char, x C.gint, y C.gint, data unsafe.Pointer) {
|
||||
// Credit: https://groups.google.com/g/golang-nuts/c/bI17Bpck8K4/m/DVDa7EMtDAAJ
|
||||
offset := unsafe.Sizeof(uintptr(0))
|
||||
filenames := []string{}
|
||||
|
|
@ -1525,6 +1525,8 @@ func onUriList(extracted **C.char, data unsafe.Pointer) {
|
|||
windowDragAndDropBuffer <- &dragAndDropMessage{
|
||||
windowId: uint(*((*C.uint)(data))),
|
||||
filenames: filenames,
|
||||
X: int(x),
|
||||
Y: int(y),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,13 @@ var applicationMethodNames = map[int]string{
|
|||
ApplicationShow: "Show",
|
||||
}
|
||||
|
||||
func (m *MessageProcessor) processApplicationMethod(method int, rw http.ResponseWriter, r *http.Request, window Window, params QueryParams) {
|
||||
func (m *MessageProcessor) processApplicationMethod(
|
||||
method int,
|
||||
rw http.ResponseWriter,
|
||||
r *http.Request,
|
||||
window Window,
|
||||
params QueryParams,
|
||||
) {
|
||||
switch method {
|
||||
case ApplicationQuit:
|
||||
globalApplication.Quit()
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
package application
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
|
@ -57,6 +59,7 @@ const (
|
|||
WindowZoomOut = 47
|
||||
WindowZoomReset = 48
|
||||
WindowSnapAssist = 49
|
||||
WindowDropZoneDropped = 50
|
||||
)
|
||||
|
||||
var windowMethodNames = map[int]string{
|
||||
|
|
@ -109,13 +112,14 @@ var windowMethodNames = map[int]string{
|
|||
WindowZoomIn: "ZoomIn",
|
||||
WindowZoomOut: "ZoomOut",
|
||||
WindowZoomReset: "ZoomReset",
|
||||
WindowDropZoneDropped: "DropZoneDropped",
|
||||
WindowSnapAssist: "SnapAssist",
|
||||
}
|
||||
|
||||
func (m *MessageProcessor) processWindowMethod(
|
||||
method int,
|
||||
rw http.ResponseWriter,
|
||||
_ *http.Request,
|
||||
req *http.Request,
|
||||
window Window,
|
||||
params QueryParams,
|
||||
) {
|
||||
|
|
@ -423,6 +427,62 @@ func (m *MessageProcessor) processWindowMethod(
|
|||
case WindowZoomReset:
|
||||
window.ZoomReset()
|
||||
m.ok(rw)
|
||||
case WindowDropZoneDropped:
|
||||
m.Info(
|
||||
"[DragDropDebug] processWindowMethod: Entered WindowDropZoneDropped case",
|
||||
)
|
||||
|
||||
jsonArgs := params.String("args") // 'params' is the QueryParams from processWindowMethod
|
||||
if jsonArgs == nil {
|
||||
m.httpError(rw, "Error processing WindowDropZoneDropped: missing 'args' parameter", nil)
|
||||
return
|
||||
}
|
||||
|
||||
slog.Info("[DragDropDebug] Raw 'args' payload string:", "data", *jsonArgs)
|
||||
|
||||
var payload fileDropPayload
|
||||
err := json.Unmarshal([]byte(*jsonArgs), &payload)
|
||||
if err != nil {
|
||||
m.httpError(rw, "Error decoding file drop payload from 'args' parameter:", err)
|
||||
return
|
||||
}
|
||||
m.Info(
|
||||
"[DragDropDebug] processWindowMethod: Decoded payload from 'args'",
|
||||
"payload",
|
||||
fmt.Sprintf("%+v", payload),
|
||||
)
|
||||
|
||||
dropDetails := &DropZoneDetails{
|
||||
X: payload.X,
|
||||
Y: payload.Y,
|
||||
ElementID: payload.ElementDetails.ID,
|
||||
ClassList: payload.ElementDetails.ClassList,
|
||||
Attributes: payload.ElementDetails.Attributes, // Assumes DropZoneDetails struct is updated to include this field
|
||||
}
|
||||
|
||||
wvWindow, ok := window.(*WebviewWindow)
|
||||
if !ok {
|
||||
m.httpError(
|
||||
rw,
|
||||
"Error: Target window is not a WebviewWindow for FilesDroppedWithContext",
|
||||
nil,
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
msg := &dragAndDropMessage{
|
||||
windowId: wvWindow.id,
|
||||
filenames: payload.Filenames,
|
||||
DropZone: dropDetails,
|
||||
}
|
||||
|
||||
m.Info(
|
||||
"[DragDropDebug] processApplicationMethod: Sending message to windowDragAndDropBuffer",
|
||||
"message",
|
||||
fmt.Sprintf("%+v", msg),
|
||||
)
|
||||
windowDragAndDropBuffer <- msg
|
||||
m.ok(rw)
|
||||
case WindowSnapAssist:
|
||||
window.SnapAssist()
|
||||
m.ok(rw)
|
||||
|
|
@ -433,3 +493,18 @@ func (m *MessageProcessor) processWindowMethod(
|
|||
|
||||
m.Info("Runtime call:", "method", "Window."+windowMethodNames[method])
|
||||
}
|
||||
|
||||
// ElementDetailsPayload holds detailed information about the drop target element.
|
||||
type ElementDetailsPayload struct {
|
||||
ID string `json:"id"`
|
||||
ClassList []string `json:"classList"`
|
||||
Attributes map[string]string `json:"attributes"`
|
||||
}
|
||||
|
||||
// Define a struct for the JSON payload from HandlePlatformFileDrop
|
||||
type fileDropPayload struct {
|
||||
Filenames []string `json:"filenames"`
|
||||
X int `json:"x"`
|
||||
Y int `json:"y"`
|
||||
ElementDetails ElementDetailsPayload `json:"elementDetails"`
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package application
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"runtime"
|
||||
|
|
@ -209,7 +210,10 @@ func getWindowID() uint {
|
|||
// FIXME: This should like be an interface method (TDM)
|
||||
// Use onApplicationEvent to register a callback for an application event from a window.
|
||||
// This will handle tidying up the callback when the window is destroyed
|
||||
func (w *WebviewWindow) onApplicationEvent(eventType events.ApplicationEventType, callback func(*ApplicationEvent)) {
|
||||
func (w *WebviewWindow) onApplicationEvent(
|
||||
eventType events.ApplicationEventType,
|
||||
callback func(*ApplicationEvent),
|
||||
) {
|
||||
cancelFn := globalApplication.Event.OnApplicationEvent(eventType, callback)
|
||||
w.addCancellationFunction(cancelFn)
|
||||
}
|
||||
|
|
@ -1216,12 +1220,42 @@ func (w *WebviewWindow) Error(message string, args ...any) {
|
|||
globalApplication.error("in window '%s': "+message, args...)
|
||||
}
|
||||
|
||||
func (w *WebviewWindow) HandleDragAndDropMessage(filenames []string) {
|
||||
func (w *WebviewWindow) HandleDragAndDropMessage(filenames []string, dropZone *DropZoneDetails) {
|
||||
globalApplication.debug(
|
||||
"[DragDropDebug] HandleDragAndDropMessage called",
|
||||
"files", filenames,
|
||||
"dropZone", dropZone,
|
||||
)
|
||||
thisEvent := NewWindowEvent()
|
||||
globalApplication.debug(
|
||||
"[DragDropDebug] HandleDragAndDropMessage: thisEvent created",
|
||||
"ctx", thisEvent.ctx,
|
||||
)
|
||||
ctx := newWindowEventContext()
|
||||
ctx.setDroppedFiles(filenames)
|
||||
if dropZone != nil { // Check if dropZone details are available
|
||||
ctx.setDropZoneDetails(dropZone)
|
||||
}
|
||||
thisEvent.ctx = ctx
|
||||
for _, listener := range w.eventListeners[uint(events.Common.WindowFilesDropped)] {
|
||||
globalApplication.debug(
|
||||
"[DragDropDebug] HandleDragAndDropMessage: thisEvent.ctx assigned",
|
||||
"thisEvent.ctx", thisEvent.ctx,
|
||||
"ctx", ctx,
|
||||
)
|
||||
listeners := w.eventListeners[uint(events.Common.WindowDropZoneFilesDropped)]
|
||||
globalApplication.debug(
|
||||
"[DragDropDebug] HandleDragAndDropMessage: Found listeners for WindowDropZoneFilesDropped",
|
||||
"count", len(listeners),
|
||||
)
|
||||
globalApplication.debug(
|
||||
"[DragDropDebug] HandleDragAndDropMessage: Before calling listeners",
|
||||
"thisEvent.ctx", thisEvent.ctx,
|
||||
)
|
||||
for _, listener := range listeners {
|
||||
if listener == nil {
|
||||
fmt.Println("[DragDropDebug] HandleDragAndDropMessage: Skipping nil listener")
|
||||
continue
|
||||
}
|
||||
listener.callback(thisEvent)
|
||||
}
|
||||
}
|
||||
|
|
@ -1430,6 +1464,40 @@ func (w *WebviewWindow) ToggleMenuBar() {
|
|||
InvokeSync(w.impl.toggleMenuBar)
|
||||
}
|
||||
|
||||
func (w *WebviewWindow) InitiateFrontendDropProcessing(filenames []string, x int, y int) {
|
||||
globalApplication.debug(
|
||||
"[DragDropDebug] InitiateFrontendDropProcessing called",
|
||||
"x", x,
|
||||
"y", y,
|
||||
)
|
||||
if w.impl == nil || w.isDestroyed() {
|
||||
return
|
||||
}
|
||||
|
||||
filenamesJSON, err := json.Marshal(filenames)
|
||||
if err != nil {
|
||||
w.Error("Error marshalling filenames for drop processing: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
jsCall := fmt.Sprintf(
|
||||
"window.wails.Window.HandlePlatformFileDrop(%s, %d, %d);",
|
||||
string(filenamesJSON),
|
||||
x,
|
||||
y,
|
||||
)
|
||||
|
||||
// Ensure JS is executed after runtime is loaded
|
||||
if !w.runtimeLoaded {
|
||||
w.pendingJS = append(w.pendingJS, jsCall)
|
||||
return
|
||||
}
|
||||
|
||||
InvokeSync(func() {
|
||||
w.impl.execJS(jsCall)
|
||||
})
|
||||
}
|
||||
|
||||
// SnapAssist triggers the Windows Snap Assist feature by simulating Win+Z key combination.
|
||||
// On Windows, this opens the snap layout options. On Linux and macOS, this is a no-op.
|
||||
func (w *WebviewWindow) SnapAssist() {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
#import "../events/events_darwin.h"
|
||||
extern void processMessage(unsigned int, const char*);
|
||||
extern void processURLRequest(unsigned int, void *);
|
||||
extern void processDragItems(unsigned int windowId, char** arr, int length, int x, int y);
|
||||
extern void processWindowKeyDownEvent(unsigned int, const char*);
|
||||
extern bool hasListeners(unsigned int);
|
||||
extern bool windowShouldUnconditionallyClose(unsigned int);
|
||||
|
|
@ -184,6 +185,12 @@ extern bool windowShouldUnconditionallyClose(unsigned int);
|
|||
- (void) setDelegate:(id<NSWindowDelegate>) delegate {
|
||||
[delegate retain];
|
||||
[super setDelegate: delegate];
|
||||
|
||||
// If the delegate is our WebviewWindowDelegate (which handles NSDraggingDestination)
|
||||
if ([delegate isKindOfClass:[WebviewWindowDelegate class]]) {
|
||||
NSLog(@"WebviewWindow: setDelegate - Registering window for dragged types (NSFilenamesPboardType) because WebviewWindowDelegate is being set.");
|
||||
[self registerForDraggedTypes:@[NSFilenamesPboardType]]; // 'self' is the WebviewWindow instance
|
||||
}
|
||||
}
|
||||
- (void) dealloc {
|
||||
// Remove the script handler, otherwise WebviewWindowDelegate won't get deallocated
|
||||
|
|
@ -230,6 +237,88 @@ extern bool windowShouldUnconditionallyClose(unsigned int);
|
|||
}
|
||||
@end
|
||||
@implementation WebviewWindowDelegate
|
||||
|
||||
- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender {
|
||||
NSLog(@"WebviewWindowDelegate: draggingEntered called. WindowID: %u", self.windowId);
|
||||
NSPasteboard *pasteboard = [sender draggingPasteboard];
|
||||
if ([[pasteboard types] containsObject:NSFilenamesPboardType]) {
|
||||
NSLog(@"WebviewWindowDelegate: draggingEntered - Found NSFilenamesPboardType. Firing EventWindowFileDraggingEntered.");
|
||||
// We need to ensure processWindowEvent is available or adapt this part
|
||||
// For now, let's assume it's available globally or via an import
|
||||
if (hasListeners(EventWindowFileDraggingEntered)) {
|
||||
processWindowEvent(self.windowId, EventWindowFileDraggingEntered);
|
||||
}
|
||||
return NSDragOperationCopy;
|
||||
}
|
||||
NSLog(@"WebviewWindowDelegate: draggingEntered - NSFilenamesPboardType NOT found.");
|
||||
return NSDragOperationNone;
|
||||
}
|
||||
|
||||
- (void)draggingExited:(id<NSDraggingInfo>)sender {
|
||||
NSLog(@"WebviewWindowDelegate: draggingExited called. WindowID: %u", self.windowId);
|
||||
if (hasListeners(EventWindowFileDraggingExited)) {
|
||||
processWindowEvent(self.windowId, EventWindowFileDraggingExited);
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL)prepareForDragOperation:(id<NSDraggingInfo>)sender {
|
||||
NSLog(@"WebviewWindowDelegate: prepareForDragOperation called. WindowID: %u", self.windowId);
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)performDragOperation:(id<NSDraggingInfo>)sender {
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation called. WindowID: %u", self.windowId);
|
||||
NSPasteboard *pasteboard = [sender draggingPasteboard];
|
||||
|
||||
if (hasListeners(EventWindowFileDraggingPerformed)) {
|
||||
processWindowEvent(self.windowId, EventWindowFileDraggingPerformed);
|
||||
}
|
||||
|
||||
if ([[pasteboard types] containsObject:NSFilenamesPboardType]) {
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - Found NSFilenamesPboardType.");
|
||||
NSArray *files = [pasteboard propertyListForType:NSFilenamesPboardType];
|
||||
NSUInteger count = [files count];
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - File count: %lu", (unsigned long)count);
|
||||
if (count == 0) {
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - No files found in pasteboard, though type was present.");
|
||||
return NO;
|
||||
}
|
||||
|
||||
char** cArray = (char**)malloc(count * sizeof(char*));
|
||||
if (cArray == NULL) {
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - Failed to allocate memory for file array.");
|
||||
return NO;
|
||||
}
|
||||
for (NSUInteger i = 0; i < count; i++) {
|
||||
NSString* str = files[i];
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - File %lu: %@", (unsigned long)i, str);
|
||||
cArray[i] = (char*)[str UTF8String];
|
||||
}
|
||||
|
||||
// Get the WebviewWindow instance, which is the dragging destination
|
||||
WebviewWindow *window = (WebviewWindow *)[sender draggingDestinationWindow];
|
||||
WKWebView *webView = window.webView; // Get the webView from the window
|
||||
|
||||
NSPoint dropPointInWindow = [sender draggingLocation];
|
||||
NSPoint dropPointInView = [webView convertPoint:dropPointInWindow fromView:nil]; // Convert to webView's coordinate system
|
||||
|
||||
CGFloat viewHeight = webView.frame.size.height;
|
||||
int x = (int)dropPointInView.x;
|
||||
int y = (int)(viewHeight - dropPointInView.y); // Flip Y for web coordinate system
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - Coords: x=%d, y=%d. ViewHeight: %f", x, y, viewHeight);
|
||||
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - Calling processDragItems for windowId %u.", self.windowId);
|
||||
processDragItems(self.windowId, cArray, (int)count, x, y); // self.windowId is from the delegate
|
||||
free(cArray);
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - Returned from processDragItems.");
|
||||
return NO;
|
||||
}
|
||||
NSLog(@"WebviewWindowDelegate: performDragOperation - NSFilenamesPboardType NOT found. Returning NO.");
|
||||
return NO;
|
||||
}
|
||||
|
||||
// Original WebviewWindowDelegate methods continue here...
|
||||
|
||||
- (BOOL)windowShouldClose:(NSWindow *)sender {
|
||||
WebviewWindowDelegate* delegate = (WebviewWindowDelegate*)[sender delegate];
|
||||
NSLog(@"[DEBUG] windowShouldClose called for window %d", delegate.windowId);
|
||||
|
|
|
|||
|
|
@ -6,55 +6,86 @@
|
|||
|
||||
#import "../events/events_darwin.h"
|
||||
|
||||
extern void processDragItems(unsigned int windowId, char** arr, int length);
|
||||
extern void processDragItems(unsigned int windowId, char** arr, int length, int x, int y);
|
||||
|
||||
@implementation WebviewDrag
|
||||
|
||||
// initWithFrame:
|
||||
- (instancetype)initWithFrame:(NSRect)frameRect {
|
||||
self = [super initWithFrame:frameRect];
|
||||
if (self) {
|
||||
NSLog(@"WebviewDrag: initWithFrame - Registering for dragged types. WindowID (at init if available, might be set later): %u", self.windowId); // self.windowId might not be set here yet.
|
||||
[self registerForDraggedTypes:@[NSFilenamesPboardType]];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
// draggingEntered:
|
||||
- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender {
|
||||
NSLog(@"WebviewDrag: draggingEntered called. WindowID: %u", self.windowId);
|
||||
NSPasteboard *pasteboard = [sender draggingPasteboard];
|
||||
if ([[pasteboard types] containsObject:NSFilenamesPboardType]) {
|
||||
NSLog(@"WebviewDrag: draggingEntered - Found NSFilenamesPboardType. Firing EventWindowFileDraggingEntered.");
|
||||
processWindowEvent(self.windowId, EventWindowFileDraggingEntered);
|
||||
return NSDragOperationCopy;
|
||||
}
|
||||
NSLog(@"WebviewDrag: draggingEntered - NSFilenamesPboardType NOT found.");
|
||||
return NSDragOperationNone;
|
||||
}
|
||||
|
||||
|
||||
// draggingExited:
|
||||
- (void)draggingExited:(id<NSDraggingInfo>)sender {
|
||||
NSLog(@"WebviewDrag: draggingExited called. WindowID: %u", self.windowId); // Added log
|
||||
processWindowEvent(self.windowId, EventWindowFileDraggingExited);
|
||||
}
|
||||
|
||||
// prepareForDragOperation:
|
||||
- (BOOL)prepareForDragOperation:(id<NSDraggingInfo>)sender {
|
||||
NSLog(@"WebviewDrag: prepareForDragOperation called. WindowID: %u", self.windowId); // Added log
|
||||
return YES;
|
||||
}
|
||||
|
||||
// performDragOperation:
|
||||
- (BOOL)performDragOperation:(id<NSDraggingInfo>)sender {
|
||||
NSLog(@"WebviewDrag: performDragOperation called. WindowID: %u", self.windowId);
|
||||
NSPasteboard *pasteboard = [sender draggingPasteboard];
|
||||
processWindowEvent(self.windowId, EventWindowFileDraggingPerformed);
|
||||
if ([[pasteboard types] containsObject:NSFilenamesPboardType]) {
|
||||
NSArray *files = [pasteboard propertyListForType:NSFilenamesPboardType];
|
||||
NSUInteger count = [files count];
|
||||
char** cArray = (char**)malloc(count * sizeof(char*));
|
||||
for (NSUInteger i = 0; i < count; i++) {
|
||||
NSString* str = files[i];
|
||||
cArray[i] = (char*)[str UTF8String];
|
||||
}
|
||||
processDragItems(self.windowId, cArray, (int)count);
|
||||
free(cArray);
|
||||
NSUInteger count = [files count];
|
||||
NSLog(@"WebviewDrag: performDragOperation - File count: %lu", (unsigned long)count);
|
||||
if (count == 0) {
|
||||
NSLog(@"WebviewDrag: performDragOperation - No files found in pasteboard, though type was present.");
|
||||
return NO;
|
||||
}
|
||||
|
||||
char** cArray = (char**)malloc(count * sizeof(char*));
|
||||
for (NSUInteger i = 0; i < count; i++) {
|
||||
NSString* str = files[i];
|
||||
NSLog(@"WebviewDrag: performDragOperation - File %lu: %@", (unsigned long)i, str);
|
||||
cArray[i] = (char*)[str UTF8String];
|
||||
}
|
||||
|
||||
NSPoint dropPointInWindow = [sender draggingLocation];
|
||||
NSPoint dropPointInView = [self convertPoint:dropPointInWindow fromView:nil];
|
||||
|
||||
// Get the window's content view height
|
||||
NSView *contentView = [self.window contentView];
|
||||
CGFloat contentHeight = contentView.frame.size.height;
|
||||
|
||||
NSLog(@"WebviewDrag: Self height: %.2f, Content view height: %.2f", self.frame.size.height, contentHeight);
|
||||
|
||||
int x = (int)dropPointInView.x;
|
||||
// Use the content view height for conversion
|
||||
int y = (int)(contentHeight - dropPointInView.y);
|
||||
|
||||
processDragItems(self.windowId, cArray, (int)count, x, y);
|
||||
free(cArray);
|
||||
NSLog(@"WebviewDrag: performDragOperation - Returned from processDragItems.");
|
||||
return YES;
|
||||
}
|
||||
NSLog(@"WebviewDrag: performDragOperation - NSFilenamesPboardType NOT found. Returning NO.");
|
||||
return NO;
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
|||
|
|
@ -305,7 +305,8 @@ func (w *windowsWebviewWindow) run() {
|
|||
|
||||
exStyle := w32.WS_EX_CONTROLPARENT
|
||||
if options.BackgroundType != BackgroundTypeSolid {
|
||||
if (options.Frameless && options.BackgroundType == BackgroundTypeTransparent) || w.parent.options.IgnoreMouseEvents {
|
||||
if (options.Frameless && options.BackgroundType == BackgroundTypeTransparent) ||
|
||||
w.parent.options.IgnoreMouseEvents {
|
||||
// Always if transparent and frameless
|
||||
exStyle |= w32.WS_EX_TRANSPARENT | w32.WS_EX_LAYERED
|
||||
} else {
|
||||
|
|
@ -391,10 +392,14 @@ func (w *windowsWebviewWindow) run() {
|
|||
if options.Windows.WindowDidMoveDebounceMS == 0 {
|
||||
options.Windows.WindowDidMoveDebounceMS = 50
|
||||
}
|
||||
w.moveDebouncer = debounce.New(time.Duration(options.Windows.WindowDidMoveDebounceMS) * time.Millisecond)
|
||||
w.moveDebouncer = debounce.New(
|
||||
time.Duration(options.Windows.WindowDidMoveDebounceMS) * time.Millisecond,
|
||||
)
|
||||
|
||||
if options.Windows.ResizeDebounceMS > 0 {
|
||||
w.resizeDebouncer = debounce.New(time.Duration(options.Windows.ResizeDebounceMS) * time.Millisecond)
|
||||
w.resizeDebouncer = debounce.New(
|
||||
time.Duration(options.Windows.ResizeDebounceMS) * time.Millisecond,
|
||||
)
|
||||
}
|
||||
|
||||
// Initialise the window buttons
|
||||
|
|
@ -535,7 +540,12 @@ func (w *windowsWebviewWindow) update() {
|
|||
func (w *windowsWebviewWindow) getBorderSizes() *LRTB {
|
||||
var result LRTB
|
||||
var frame w32.RECT
|
||||
w32.DwmGetWindowAttribute(w.hwnd, w32.DWMWA_EXTENDED_FRAME_BOUNDS, unsafe.Pointer(&frame), unsafe.Sizeof(frame))
|
||||
w32.DwmGetWindowAttribute(
|
||||
w.hwnd,
|
||||
w32.DWMWA_EXTENDED_FRAME_BOUNDS,
|
||||
unsafe.Pointer(&frame),
|
||||
unsafe.Sizeof(frame),
|
||||
)
|
||||
rect := w32.GetWindowRect(w.hwnd)
|
||||
result.Left = int(frame.Left - rect.Left)
|
||||
result.Top = int(frame.Top - rect.Top)
|
||||
|
|
@ -544,6 +554,59 @@ func (w *windowsWebviewWindow) getBorderSizes() *LRTB {
|
|||
return &result
|
||||
}
|
||||
|
||||
// convertWindowToWebviewCoordinates converts window-relative coordinates to webview-relative coordinates
|
||||
func (w *windowsWebviewWindow) convertWindowToWebviewCoordinates(windowX, windowY int) (int, int) {
|
||||
// Get the client area of the window (this excludes borders, title bar, etc.)
|
||||
clientRect := w32.GetClientRect(w.hwnd)
|
||||
if clientRect == nil {
|
||||
// Fallback: return coordinates as-is if we can't get client rect
|
||||
globalApplication.debug("[DragDropDebug] convertWindowToWebviewCoordinates: Failed to get client rect, returning original coordinates", "windowX", windowX, "windowY", windowY)
|
||||
return windowX, windowY
|
||||
}
|
||||
|
||||
// Get the window rect to calculate the offset
|
||||
windowRect := w32.GetWindowRect(w.hwnd)
|
||||
|
||||
globalApplication.debug("[DragDropDebug] convertWindowToWebviewCoordinates: Input window coordinates", "windowX", windowX, "windowY", windowY)
|
||||
globalApplication.debug("[DragDropDebug] convertWindowToWebviewCoordinates: Window rect",
|
||||
"left", windowRect.Left, "top", windowRect.Top, "right", windowRect.Right, "bottom", windowRect.Bottom,
|
||||
"width", windowRect.Right-windowRect.Left, "height", windowRect.Bottom-windowRect.Top)
|
||||
globalApplication.debug("[DragDropDebug] convertWindowToWebviewCoordinates: Client rect",
|
||||
"left", clientRect.Left, "top", clientRect.Top, "right", clientRect.Right, "bottom", clientRect.Bottom,
|
||||
"width", clientRect.Right-clientRect.Left, "height", clientRect.Bottom-clientRect.Top)
|
||||
|
||||
// Convert client (0,0) to screen coordinates to find where the client area starts
|
||||
var point w32.POINT
|
||||
point.X = 0
|
||||
point.Y = 0
|
||||
|
||||
// Convert client (0,0) to screen coordinates
|
||||
clientX, clientY := w32.ClientToScreen(w.hwnd, int(point.X), int(point.Y))
|
||||
|
||||
// The window coordinates from drag drop are relative to the window's top-left
|
||||
// But we need them relative to the client area's top-left
|
||||
// So we need to subtract the difference between window origin and client origin
|
||||
windowOriginX := int(windowRect.Left)
|
||||
windowOriginY := int(windowRect.Top)
|
||||
|
||||
globalApplication.debug("[DragDropDebug] convertWindowToWebviewCoordinates: Client (0,0) in screen coordinates", "clientX", clientX, "clientY", clientY)
|
||||
globalApplication.debug("[DragDropDebug] convertWindowToWebviewCoordinates: Window origin in screen coordinates", "windowOriginX", windowOriginX, "windowOriginY", windowOriginY)
|
||||
|
||||
// Calculate the offset from window origin to client origin
|
||||
offsetX := clientX - windowOriginX
|
||||
offsetY := clientY - windowOriginY
|
||||
|
||||
globalApplication.debug("[DragDropDebug] convertWindowToWebviewCoordinates: Calculated offset", "offsetX", offsetX, "offsetY", offsetY)
|
||||
|
||||
// Convert window-relative coordinates to webview-relative coordinates
|
||||
webviewX := windowX - offsetX
|
||||
webviewY := windowY - offsetY
|
||||
|
||||
globalApplication.debug("[DragDropDebug] convertWindowToWebviewCoordinates: Final webview coordinates", "webviewX", webviewX, "webviewY", webviewY)
|
||||
|
||||
return webviewX, webviewY
|
||||
}
|
||||
|
||||
func (w *windowsWebviewWindow) physicalBounds() Rect {
|
||||
// var rect w32.RECT
|
||||
// // Get the extended frame bounds instead of the window rect to offset the invisible borders in Windows 10
|
||||
|
|
@ -569,7 +632,15 @@ func (w *windowsWebviewWindow) setPhysicalBounds(physicalBounds Rect) {
|
|||
// for the target position, this prevents double resizing issue when the window is moved between screens
|
||||
previousFlag := w.ignoreDPIChangeResizing
|
||||
w.ignoreDPIChangeResizing = true
|
||||
w32.SetWindowPos(w.hwnd, 0, physicalBounds.X, physicalBounds.Y, physicalBounds.Width, physicalBounds.Height, w32.SWP_NOZORDER|w32.SWP_NOACTIVATE)
|
||||
w32.SetWindowPos(
|
||||
w.hwnd,
|
||||
0,
|
||||
physicalBounds.X,
|
||||
physicalBounds.Y,
|
||||
physicalBounds.Width,
|
||||
physicalBounds.Height,
|
||||
w32.SWP_NOZORDER|w32.SWP_NOACTIVATE,
|
||||
)
|
||||
w.ignoreDPIChangeResizing = previousFlag
|
||||
}
|
||||
|
||||
|
|
@ -761,8 +832,16 @@ func (w *windowsWebviewWindow) fullscreen() {
|
|||
return
|
||||
}
|
||||
// According to https://devblogs.microsoft.com/oldnewthing/20050505-04/?p=35703 one should use w32.WS_POPUP | w32.WS_VISIBLE
|
||||
w32.SetWindowLong(w.hwnd, w32.GWL_STYLE, w.previousWindowStyle & ^uint32(w32.WS_OVERLAPPEDWINDOW) | (w32.WS_POPUP|w32.WS_VISIBLE))
|
||||
w32.SetWindowLong(w.hwnd, w32.GWL_EXSTYLE, w.previousWindowExStyle & ^uint32(w32.WS_EX_DLGMODALFRAME))
|
||||
w32.SetWindowLong(
|
||||
w.hwnd,
|
||||
w32.GWL_STYLE,
|
||||
w.previousWindowStyle & ^uint32(w32.WS_OVERLAPPEDWINDOW) | (w32.WS_POPUP|w32.WS_VISIBLE),
|
||||
)
|
||||
w32.SetWindowLong(
|
||||
w.hwnd,
|
||||
w32.GWL_EXSTYLE,
|
||||
w.previousWindowExStyle & ^uint32(w32.WS_EX_DLGMODALFRAME),
|
||||
)
|
||||
w.isCurrentlyFullscreen = true
|
||||
w32.SetWindowPos(w.hwnd, w32.HWND_TOP,
|
||||
int(monitorInfo.RcMonitor.Left),
|
||||
|
|
@ -1060,7 +1139,15 @@ func (w *windowsWebviewWindow) setFrameless(b bool) {
|
|||
} else {
|
||||
w32.SetWindowLong(w.hwnd, w32.GWL_STYLE, w32.WS_VISIBLE|w32.WS_OVERLAPPEDWINDOW)
|
||||
}
|
||||
w32.SetWindowPos(w.hwnd, 0, 0, 0, 0, 0, w32.SWP_NOMOVE|w32.SWP_NOSIZE|w32.SWP_NOZORDER|w32.SWP_FRAMECHANGED)
|
||||
w32.SetWindowPos(
|
||||
w.hwnd,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
w32.SWP_NOMOVE|w32.SWP_NOSIZE|w32.SWP_NOZORDER|w32.SWP_FRAMECHANGED,
|
||||
)
|
||||
}
|
||||
|
||||
func newWindowImpl(parent *WebviewWindow) *windowsWebviewWindow {
|
||||
|
|
@ -1710,7 +1797,10 @@ func (w *windowsWebviewWindow) processMessage(message string) {
|
|||
}
|
||||
}
|
||||
|
||||
func (w *windowsWebviewWindow) processRequest(req *edge.ICoreWebView2WebResourceRequest, args *edge.ICoreWebView2WebResourceRequestedEventArgs) {
|
||||
func (w *windowsWebviewWindow) processRequest(
|
||||
req *edge.ICoreWebView2WebResourceRequest,
|
||||
args *edge.ICoreWebView2WebResourceRequestedEventArgs,
|
||||
) {
|
||||
|
||||
// Setting the UserAgent on the CoreWebView2Settings clears the whole default UserAgent of the Edge browser, but
|
||||
// we want to just append our ApplicationIdentifier. So we adjust the UserAgent for every request.
|
||||
|
|
@ -1721,7 +1811,10 @@ func (w *windowsWebviewWindow) processRequest(req *edge.ICoreWebView2WebResource
|
|||
if err != nil {
|
||||
globalApplication.fatal("error setting UserAgent header: %w", err)
|
||||
}
|
||||
err = reqHeaders.SetHeader(webViewRequestHeaderWindowId, strconv.FormatUint(uint64(w.parent.id), 10))
|
||||
err = reqHeaders.SetHeader(
|
||||
webViewRequestHeaderWindowId,
|
||||
strconv.FormatUint(uint64(w.parent.id), 10),
|
||||
)
|
||||
if err != nil {
|
||||
globalApplication.fatal("error setting WindowId header: %w", err)
|
||||
}
|
||||
|
|
@ -1776,7 +1869,9 @@ func (w *windowsWebviewWindow) setupChromium() {
|
|||
|
||||
opts := w.parent.options.Windows
|
||||
|
||||
webview2version, err := webviewloader.GetAvailableCoreWebView2BrowserVersionString(globalApplication.options.Windows.WebviewBrowserPath)
|
||||
webview2version, err := webviewloader.GetAvailableCoreWebView2BrowserVersionString(
|
||||
globalApplication.options.Windows.WebviewBrowserPath,
|
||||
)
|
||||
if err != nil {
|
||||
globalApplication.error("error getting WebView2 version: %w", err)
|
||||
return
|
||||
|
|
@ -1845,12 +1940,22 @@ func (w *windowsWebviewWindow) setupChromium() {
|
|||
}
|
||||
}
|
||||
w.dropTarget = w32.NewDropTarget()
|
||||
w.dropTarget.OnDrop = func(files []string) {
|
||||
w.dropTarget.OnDrop = func(files []string, x int, y int) {
|
||||
w.parent.emit(events.Windows.WindowDragDrop)
|
||||
windowDragAndDropBuffer <- &dragAndDropMessage{
|
||||
windowId: windowID,
|
||||
filenames: files,
|
||||
}
|
||||
globalApplication.debug("[DragDropDebug] Windows DropTarget OnDrop: Raw screen coordinates", "x", x, "y", y)
|
||||
|
||||
// Convert screen coordinates to window-relative coordinates first
|
||||
// Windows DropTarget gives us screen coordinates, but we need window-relative coordinates
|
||||
windowRect := w32.GetWindowRect(w.hwnd)
|
||||
windowRelativeX := x - int(windowRect.Left)
|
||||
windowRelativeY := y - int(windowRect.Top)
|
||||
|
||||
globalApplication.debug("[DragDropDebug] Windows DropTarget OnDrop: After screen-to-window conversion", "windowRelativeX", windowRelativeX, "windowRelativeY", windowRelativeY)
|
||||
|
||||
// Convert window-relative coordinates to webview-relative coordinates
|
||||
webviewX, webviewY := w.convertWindowToWebviewCoordinates(windowRelativeX, windowRelativeY)
|
||||
globalApplication.debug("[DragDropDebug] Windows DropTarget OnDrop: Final webview coordinates", "webviewX", webviewX, "webviewY", webviewY)
|
||||
w.parent.InitiateFrontendDropProcessing(files, webviewX, webviewY)
|
||||
}
|
||||
if opts.OnEnterEffect != 0 {
|
||||
w.dropTarget.OnEnterEffect = convertEffect(opts.OnEnterEffect)
|
||||
|
|
@ -1910,7 +2015,9 @@ func (w *windowsWebviewWindow) setupChromium() {
|
|||
if settings == nil {
|
||||
globalApplication.fatal("error getting settings")
|
||||
}
|
||||
err = settings.PutAreDefaultContextMenusEnabled(debugMode || !w.parent.options.DefaultContextMenuDisabled)
|
||||
err = settings.PutAreDefaultContextMenusEnabled(
|
||||
debugMode || !w.parent.options.DefaultContextMenuDisabled,
|
||||
)
|
||||
if err != nil {
|
||||
globalApplication.handleFatalError(err)
|
||||
}
|
||||
|
|
@ -1944,7 +2051,12 @@ func (w *windowsWebviewWindow) setupChromium() {
|
|||
|
||||
// Set background colour
|
||||
w.setBackgroundColour(w.parent.options.BackgroundColour)
|
||||
chromium.SetBackgroundColour(w.parent.options.BackgroundColour.Red, w.parent.options.BackgroundColour.Green, w.parent.options.BackgroundColour.Blue, w.parent.options.BackgroundColour.Alpha)
|
||||
chromium.SetBackgroundColour(
|
||||
w.parent.options.BackgroundColour.Red,
|
||||
w.parent.options.BackgroundColour.Green,
|
||||
w.parent.options.BackgroundColour.Blue,
|
||||
w.parent.options.BackgroundColour.Alpha,
|
||||
)
|
||||
|
||||
chromium.SetGlobalPermission(edge.CoreWebView2PermissionStateAllow)
|
||||
chromium.AddWebResourceRequestedFilter("*", edge.COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL)
|
||||
|
|
@ -1955,7 +2067,10 @@ func (w *windowsWebviewWindow) setupChromium() {
|
|||
script = w.parent.options.JS
|
||||
}
|
||||
if w.parent.options.CSS != "" {
|
||||
script += fmt.Sprintf("; addEventListener(\"DOMContentLoaded\", (event) => { document.head.appendChild(document.createElement('style')).innerHTML=\"%s\"; });", strings.ReplaceAll(w.parent.options.CSS, `"`, `\"`))
|
||||
script += fmt.Sprintf(
|
||||
"; addEventListener(\"DOMContentLoaded\", (event) => { document.head.appendChild(document.createElement('style')).innerHTML=\"%s\"; });",
|
||||
strings.ReplaceAll(w.parent.options.CSS, `"`, `\"`),
|
||||
)
|
||||
}
|
||||
if script != "" {
|
||||
chromium.Init(script)
|
||||
|
|
@ -1972,7 +2087,10 @@ func (w *windowsWebviewWindow) setupChromium() {
|
|||
|
||||
}
|
||||
|
||||
func (w *windowsWebviewWindow) fullscreenChanged(sender *edge.ICoreWebView2, _ *edge.ICoreWebView2ContainsFullScreenElementChangedEventArgs) {
|
||||
func (w *windowsWebviewWindow) fullscreenChanged(
|
||||
sender *edge.ICoreWebView2,
|
||||
_ *edge.ICoreWebView2ContainsFullScreenElementChangedEventArgs,
|
||||
) {
|
||||
isFullscreen, err := sender.GetContainsFullScreenElement()
|
||||
if err != nil {
|
||||
globalApplication.fatal("fatal error in callback fullscreenChanged: %w", err)
|
||||
|
|
@ -2001,7 +2119,10 @@ func (w *windowsWebviewWindow) flash(enabled bool) {
|
|||
w32.FlashWindow(w.hwnd, enabled)
|
||||
}
|
||||
|
||||
func (w *windowsWebviewWindow) navigationCompleted(sender *edge.ICoreWebView2, args *edge.ICoreWebView2NavigationCompletedEventArgs) {
|
||||
func (w *windowsWebviewWindow) navigationCompleted(
|
||||
sender *edge.ICoreWebView2,
|
||||
args *edge.ICoreWebView2NavigationCompletedEventArgs,
|
||||
) {
|
||||
|
||||
// Install the runtime core
|
||||
w.execJS(runtime.Core())
|
||||
|
|
@ -2075,7 +2196,9 @@ func (w *windowsWebviewWindow) processKeyBinding(vkey uint) bool {
|
|||
acc.Modifiers = append(acc.Modifiers, SuperKey)
|
||||
}
|
||||
|
||||
if vkey != w32.VK_CONTROL && vkey != w32.VK_MENU && vkey != w32.VK_SHIFT && vkey != w32.VK_LWIN && vkey != w32.VK_RWIN {
|
||||
if vkey != w32.VK_CONTROL && vkey != w32.VK_MENU && vkey != w32.VK_SHIFT &&
|
||||
vkey != w32.VK_LWIN &&
|
||||
vkey != w32.VK_RWIN {
|
||||
// Convert the vkey to a string
|
||||
accKey, ok := VirtualKeyCodes[vkey]
|
||||
if !ok {
|
||||
|
|
@ -2100,7 +2223,11 @@ func (w *windowsWebviewWindow) processKeyBinding(vkey uint) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
func (w *windowsWebviewWindow) processMessageWithAdditionalObjects(message string, sender *edge.ICoreWebView2, args *edge.ICoreWebView2WebMessageReceivedEventArgs) {
|
||||
func (w *windowsWebviewWindow) processMessageWithAdditionalObjects(
|
||||
message string,
|
||||
sender *edge.ICoreWebView2,
|
||||
args *edge.ICoreWebView2WebMessageReceivedEventArgs,
|
||||
) {
|
||||
if strings.HasPrefix(message, "FilesDropped") {
|
||||
objs, err := args.GetAdditionalObjects()
|
||||
if err != nil {
|
||||
|
|
@ -2143,7 +2270,27 @@ func (w *windowsWebviewWindow) processMessageWithAdditionalObjects(message strin
|
|||
filenames = append(filenames, filepath)
|
||||
}
|
||||
|
||||
addDragAndDropMessage(w.parent.id, filenames)
|
||||
// Extract X/Y coordinates from message - format should be "FilesDropped:x:y"
|
||||
var x, y int
|
||||
parts := strings.Split(message, ":")
|
||||
if len(parts) >= 3 {
|
||||
if parsedX, err := strconv.Atoi(parts[1]); err == nil {
|
||||
x = parsedX
|
||||
}
|
||||
if parsedY, err := strconv.Atoi(parts[2]); err == nil {
|
||||
y = parsedY
|
||||
}
|
||||
}
|
||||
|
||||
globalApplication.debug("[DragDropDebug] processMessageWithAdditionalObjects: Raw WebView2 coordinates", "x", x, "y", y)
|
||||
|
||||
// Convert webview-relative coordinates to window-relative coordinates, then to webview-relative coordinates
|
||||
// Note: The coordinates from WebView2 are already webview-relative, but let's log them for debugging
|
||||
webviewX, webviewY := x, y
|
||||
|
||||
globalApplication.debug("[DragDropDebug] processMessageWithAdditionalObjects: Using coordinates as-is (already webview-relative)", "webviewX", webviewX, "webviewY", webviewY)
|
||||
|
||||
w.parent.InitiateFrontendDropProcessing(filenames, webviewX, webviewY)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
@ -2179,7 +2326,12 @@ func (w *windowsWebviewWindow) toggleMenuBar() {
|
|||
|
||||
func (w *windowsWebviewWindow) enableRedraw() {
|
||||
w32.SendMessage(w.hwnd, w32.WM_SETREDRAW, 1, 0)
|
||||
w32.RedrawWindow(w.hwnd, nil, 0, w32.RDW_ERASE|w32.RDW_FRAME|w32.RDW_INVALIDATE|w32.RDW_ALLCHILDREN)
|
||||
w32.RedrawWindow(
|
||||
w.hwnd,
|
||||
nil,
|
||||
0,
|
||||
w32.RDW_ERASE|w32.RDW_FRAME|w32.RDW_INVALIDATE|w32.RDW_ALLCHILDREN,
|
||||
)
|
||||
}
|
||||
|
||||
func (w *windowsWebviewWindow) disableRedraw() {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,8 @@ type Window interface {
|
|||
GetBorderSizes() *LRTB
|
||||
GetScreen() (*Screen, error)
|
||||
GetZoom() float64
|
||||
HandleDragAndDropMessage(filenames []string)
|
||||
HandleDragAndDropMessage(filenames []string, dropZone *DropZoneDetails)
|
||||
InitiateFrontendDropProcessing(filenames []string, x int, y int)
|
||||
HandleMessage(message string)
|
||||
HandleWindowEvent(id uint)
|
||||
Height() int
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -24,6 +24,7 @@ common:WindowZoom
|
|||
common:WindowZoomIn
|
||||
common:WindowZoomOut
|
||||
common:WindowZoomReset
|
||||
common:WindowDropZoneFilesDropped
|
||||
linux:ApplicationStartup
|
||||
linux:SystemThemeChanged
|
||||
linux:WindowDeleteEvent
|
||||
|
|
|
|||
|
|
@ -6,140 +6,140 @@
|
|||
extern void processApplicationEvent(unsigned int, void* data);
|
||||
extern void processWindowEvent(unsigned int, unsigned int);
|
||||
|
||||
#define EventApplicationDidBecomeActive 1057
|
||||
#define EventApplicationDidChangeBackingProperties 1058
|
||||
#define EventApplicationDidChangeEffectiveAppearance 1059
|
||||
#define EventApplicationDidChangeIcon 1060
|
||||
#define EventApplicationDidChangeOcclusionState 1061
|
||||
#define EventApplicationDidChangeScreenParameters 1062
|
||||
#define EventApplicationDidChangeStatusBarFrame 1063
|
||||
#define EventApplicationDidChangeStatusBarOrientation 1064
|
||||
#define EventApplicationDidChangeTheme 1065
|
||||
#define EventApplicationDidFinishLaunching 1066
|
||||
#define EventApplicationDidHide 1067
|
||||
#define EventApplicationDidResignActive 1068
|
||||
#define EventApplicationDidUnhide 1069
|
||||
#define EventApplicationDidUpdate 1070
|
||||
#define EventApplicationShouldHandleReopen 1071
|
||||
#define EventApplicationWillBecomeActive 1072
|
||||
#define EventApplicationWillFinishLaunching 1073
|
||||
#define EventApplicationWillHide 1074
|
||||
#define EventApplicationWillResignActive 1075
|
||||
#define EventApplicationWillTerminate 1076
|
||||
#define EventApplicationWillUnhide 1077
|
||||
#define EventApplicationWillUpdate 1078
|
||||
#define EventMenuDidAddItem 1079
|
||||
#define EventMenuDidBeginTracking 1080
|
||||
#define EventMenuDidClose 1081
|
||||
#define EventMenuDidDisplayItem 1082
|
||||
#define EventMenuDidEndTracking 1083
|
||||
#define EventMenuDidHighlightItem 1084
|
||||
#define EventMenuDidOpen 1085
|
||||
#define EventMenuDidPopUp 1086
|
||||
#define EventMenuDidRemoveItem 1087
|
||||
#define EventMenuDidSendAction 1088
|
||||
#define EventMenuDidSendActionToItem 1089
|
||||
#define EventMenuDidUpdate 1090
|
||||
#define EventMenuWillAddItem 1091
|
||||
#define EventMenuWillBeginTracking 1092
|
||||
#define EventMenuWillDisplayItem 1093
|
||||
#define EventMenuWillEndTracking 1094
|
||||
#define EventMenuWillHighlightItem 1095
|
||||
#define EventMenuWillOpen 1096
|
||||
#define EventMenuWillPopUp 1097
|
||||
#define EventMenuWillRemoveItem 1098
|
||||
#define EventMenuWillSendAction 1099
|
||||
#define EventMenuWillSendActionToItem 1100
|
||||
#define EventMenuWillUpdate 1101
|
||||
#define EventWebViewDidCommitNavigation 1102
|
||||
#define EventWebViewDidFinishNavigation 1103
|
||||
#define EventWebViewDidReceiveServerRedirectForProvisionalNavigation 1104
|
||||
#define EventWebViewDidStartProvisionalNavigation 1105
|
||||
#define EventWindowDidBecomeKey 1106
|
||||
#define EventWindowDidBecomeMain 1107
|
||||
#define EventWindowDidBeginSheet 1108
|
||||
#define EventWindowDidChangeAlpha 1109
|
||||
#define EventWindowDidChangeBackingLocation 1110
|
||||
#define EventWindowDidChangeBackingProperties 1111
|
||||
#define EventWindowDidChangeCollectionBehavior 1112
|
||||
#define EventWindowDidChangeEffectiveAppearance 1113
|
||||
#define EventWindowDidChangeOcclusionState 1114
|
||||
#define EventWindowDidChangeOrderingMode 1115
|
||||
#define EventWindowDidChangeScreen 1116
|
||||
#define EventWindowDidChangeScreenParameters 1117
|
||||
#define EventWindowDidChangeScreenProfile 1118
|
||||
#define EventWindowDidChangeScreenSpace 1119
|
||||
#define EventWindowDidChangeScreenSpaceProperties 1120
|
||||
#define EventWindowDidChangeSharingType 1121
|
||||
#define EventWindowDidChangeSpace 1122
|
||||
#define EventWindowDidChangeSpaceOrderingMode 1123
|
||||
#define EventWindowDidChangeTitle 1124
|
||||
#define EventWindowDidChangeToolbar 1125
|
||||
#define EventWindowDidDeminiaturize 1126
|
||||
#define EventWindowDidEndSheet 1127
|
||||
#define EventWindowDidEnterFullScreen 1128
|
||||
#define EventWindowDidEnterVersionBrowser 1129
|
||||
#define EventWindowDidExitFullScreen 1130
|
||||
#define EventWindowDidExitVersionBrowser 1131
|
||||
#define EventWindowDidExpose 1132
|
||||
#define EventWindowDidFocus 1133
|
||||
#define EventWindowDidMiniaturize 1134
|
||||
#define EventWindowDidMove 1135
|
||||
#define EventWindowDidOrderOffScreen 1136
|
||||
#define EventWindowDidOrderOnScreen 1137
|
||||
#define EventWindowDidResignKey 1138
|
||||
#define EventWindowDidResignMain 1139
|
||||
#define EventWindowDidResize 1140
|
||||
#define EventWindowDidUpdate 1141
|
||||
#define EventWindowDidUpdateAlpha 1142
|
||||
#define EventWindowDidUpdateCollectionBehavior 1143
|
||||
#define EventWindowDidUpdateCollectionProperties 1144
|
||||
#define EventWindowDidUpdateShadow 1145
|
||||
#define EventWindowDidUpdateTitle 1146
|
||||
#define EventWindowDidUpdateToolbar 1147
|
||||
#define EventWindowDidZoom 1148
|
||||
#define EventWindowFileDraggingEntered 1149
|
||||
#define EventWindowFileDraggingExited 1150
|
||||
#define EventWindowFileDraggingPerformed 1151
|
||||
#define EventWindowHide 1152
|
||||
#define EventWindowMaximise 1153
|
||||
#define EventWindowUnMaximise 1154
|
||||
#define EventWindowMinimise 1155
|
||||
#define EventWindowUnMinimise 1156
|
||||
#define EventWindowShouldClose 1157
|
||||
#define EventWindowShow 1158
|
||||
#define EventWindowWillBecomeKey 1159
|
||||
#define EventWindowWillBecomeMain 1160
|
||||
#define EventWindowWillBeginSheet 1161
|
||||
#define EventWindowWillChangeOrderingMode 1162
|
||||
#define EventWindowWillClose 1163
|
||||
#define EventWindowWillDeminiaturize 1164
|
||||
#define EventWindowWillEnterFullScreen 1165
|
||||
#define EventWindowWillEnterVersionBrowser 1166
|
||||
#define EventWindowWillExitFullScreen 1167
|
||||
#define EventWindowWillExitVersionBrowser 1168
|
||||
#define EventWindowWillFocus 1169
|
||||
#define EventWindowWillMiniaturize 1170
|
||||
#define EventWindowWillMove 1171
|
||||
#define EventWindowWillOrderOffScreen 1172
|
||||
#define EventWindowWillOrderOnScreen 1173
|
||||
#define EventWindowWillResignMain 1174
|
||||
#define EventWindowWillResize 1175
|
||||
#define EventWindowWillUnfocus 1176
|
||||
#define EventWindowWillUpdate 1177
|
||||
#define EventWindowWillUpdateAlpha 1178
|
||||
#define EventWindowWillUpdateCollectionBehavior 1179
|
||||
#define EventWindowWillUpdateCollectionProperties 1180
|
||||
#define EventWindowWillUpdateShadow 1181
|
||||
#define EventWindowWillUpdateTitle 1182
|
||||
#define EventWindowWillUpdateToolbar 1183
|
||||
#define EventWindowWillUpdateVisibility 1184
|
||||
#define EventWindowWillUseStandardFrame 1185
|
||||
#define EventWindowZoomIn 1186
|
||||
#define EventWindowZoomOut 1187
|
||||
#define EventWindowZoomReset 1188
|
||||
#define EventApplicationDidBecomeActive 1059
|
||||
#define EventApplicationDidChangeBackingProperties 1060
|
||||
#define EventApplicationDidChangeEffectiveAppearance 1061
|
||||
#define EventApplicationDidChangeIcon 1062
|
||||
#define EventApplicationDidChangeOcclusionState 1063
|
||||
#define EventApplicationDidChangeScreenParameters 1064
|
||||
#define EventApplicationDidChangeStatusBarFrame 1065
|
||||
#define EventApplicationDidChangeStatusBarOrientation 1066
|
||||
#define EventApplicationDidChangeTheme 1067
|
||||
#define EventApplicationDidFinishLaunching 1068
|
||||
#define EventApplicationDidHide 1069
|
||||
#define EventApplicationDidResignActive 1070
|
||||
#define EventApplicationDidUnhide 1071
|
||||
#define EventApplicationDidUpdate 1072
|
||||
#define EventApplicationShouldHandleReopen 1073
|
||||
#define EventApplicationWillBecomeActive 1074
|
||||
#define EventApplicationWillFinishLaunching 1075
|
||||
#define EventApplicationWillHide 1076
|
||||
#define EventApplicationWillResignActive 1077
|
||||
#define EventApplicationWillTerminate 1078
|
||||
#define EventApplicationWillUnhide 1079
|
||||
#define EventApplicationWillUpdate 1080
|
||||
#define EventMenuDidAddItem 1081
|
||||
#define EventMenuDidBeginTracking 1082
|
||||
#define EventMenuDidClose 1083
|
||||
#define EventMenuDidDisplayItem 1084
|
||||
#define EventMenuDidEndTracking 1085
|
||||
#define EventMenuDidHighlightItem 1086
|
||||
#define EventMenuDidOpen 1087
|
||||
#define EventMenuDidPopUp 1088
|
||||
#define EventMenuDidRemoveItem 1089
|
||||
#define EventMenuDidSendAction 1090
|
||||
#define EventMenuDidSendActionToItem 1091
|
||||
#define EventMenuDidUpdate 1092
|
||||
#define EventMenuWillAddItem 1093
|
||||
#define EventMenuWillBeginTracking 1094
|
||||
#define EventMenuWillDisplayItem 1095
|
||||
#define EventMenuWillEndTracking 1096
|
||||
#define EventMenuWillHighlightItem 1097
|
||||
#define EventMenuWillOpen 1098
|
||||
#define EventMenuWillPopUp 1099
|
||||
#define EventMenuWillRemoveItem 1100
|
||||
#define EventMenuWillSendAction 1101
|
||||
#define EventMenuWillSendActionToItem 1102
|
||||
#define EventMenuWillUpdate 1103
|
||||
#define EventWebViewDidCommitNavigation 1104
|
||||
#define EventWebViewDidFinishNavigation 1105
|
||||
#define EventWebViewDidReceiveServerRedirectForProvisionalNavigation 1106
|
||||
#define EventWebViewDidStartProvisionalNavigation 1107
|
||||
#define EventWindowDidBecomeKey 1108
|
||||
#define EventWindowDidBecomeMain 1109
|
||||
#define EventWindowDidBeginSheet 1110
|
||||
#define EventWindowDidChangeAlpha 1111
|
||||
#define EventWindowDidChangeBackingLocation 1112
|
||||
#define EventWindowDidChangeBackingProperties 1113
|
||||
#define EventWindowDidChangeCollectionBehavior 1114
|
||||
#define EventWindowDidChangeEffectiveAppearance 1115
|
||||
#define EventWindowDidChangeOcclusionState 1116
|
||||
#define EventWindowDidChangeOrderingMode 1117
|
||||
#define EventWindowDidChangeScreen 1118
|
||||
#define EventWindowDidChangeScreenParameters 1119
|
||||
#define EventWindowDidChangeScreenProfile 1120
|
||||
#define EventWindowDidChangeScreenSpace 1121
|
||||
#define EventWindowDidChangeScreenSpaceProperties 1122
|
||||
#define EventWindowDidChangeSharingType 1123
|
||||
#define EventWindowDidChangeSpace 1124
|
||||
#define EventWindowDidChangeSpaceOrderingMode 1125
|
||||
#define EventWindowDidChangeTitle 1126
|
||||
#define EventWindowDidChangeToolbar 1127
|
||||
#define EventWindowDidDeminiaturize 1128
|
||||
#define EventWindowDidEndSheet 1129
|
||||
#define EventWindowDidEnterFullScreen 1130
|
||||
#define EventWindowDidEnterVersionBrowser 1131
|
||||
#define EventWindowDidExitFullScreen 1132
|
||||
#define EventWindowDidExitVersionBrowser 1133
|
||||
#define EventWindowDidExpose 1134
|
||||
#define EventWindowDidFocus 1135
|
||||
#define EventWindowDidMiniaturize 1136
|
||||
#define EventWindowDidMove 1137
|
||||
#define EventWindowDidOrderOffScreen 1138
|
||||
#define EventWindowDidOrderOnScreen 1139
|
||||
#define EventWindowDidResignKey 1140
|
||||
#define EventWindowDidResignMain 1141
|
||||
#define EventWindowDidResize 1142
|
||||
#define EventWindowDidUpdate 1143
|
||||
#define EventWindowDidUpdateAlpha 1144
|
||||
#define EventWindowDidUpdateCollectionBehavior 1145
|
||||
#define EventWindowDidUpdateCollectionProperties 1146
|
||||
#define EventWindowDidUpdateShadow 1147
|
||||
#define EventWindowDidUpdateTitle 1148
|
||||
#define EventWindowDidUpdateToolbar 1149
|
||||
#define EventWindowDidZoom 1150
|
||||
#define EventWindowFileDraggingEntered 1151
|
||||
#define EventWindowFileDraggingExited 1152
|
||||
#define EventWindowFileDraggingPerformed 1153
|
||||
#define EventWindowHide 1154
|
||||
#define EventWindowMaximise 1155
|
||||
#define EventWindowUnMaximise 1156
|
||||
#define EventWindowMinimise 1157
|
||||
#define EventWindowUnMinimise 1158
|
||||
#define EventWindowShouldClose 1159
|
||||
#define EventWindowShow 1160
|
||||
#define EventWindowWillBecomeKey 1161
|
||||
#define EventWindowWillBecomeMain 1162
|
||||
#define EventWindowWillBeginSheet 1163
|
||||
#define EventWindowWillChangeOrderingMode 1164
|
||||
#define EventWindowWillClose 1165
|
||||
#define EventWindowWillDeminiaturize 1166
|
||||
#define EventWindowWillEnterFullScreen 1167
|
||||
#define EventWindowWillEnterVersionBrowser 1168
|
||||
#define EventWindowWillExitFullScreen 1169
|
||||
#define EventWindowWillExitVersionBrowser 1170
|
||||
#define EventWindowWillFocus 1171
|
||||
#define EventWindowWillMiniaturize 1172
|
||||
#define EventWindowWillMove 1173
|
||||
#define EventWindowWillOrderOffScreen 1174
|
||||
#define EventWindowWillOrderOnScreen 1175
|
||||
#define EventWindowWillResignMain 1176
|
||||
#define EventWindowWillResize 1177
|
||||
#define EventWindowWillUnfocus 1178
|
||||
#define EventWindowWillUpdate 1179
|
||||
#define EventWindowWillUpdateAlpha 1180
|
||||
#define EventWindowWillUpdateCollectionBehavior 1181
|
||||
#define EventWindowWillUpdateCollectionProperties 1182
|
||||
#define EventWindowWillUpdateShadow 1183
|
||||
#define EventWindowWillUpdateTitle 1184
|
||||
#define EventWindowWillUpdateToolbar 1185
|
||||
#define EventWindowWillUpdateVisibility 1186
|
||||
#define EventWindowWillUseStandardFrame 1187
|
||||
#define EventWindowZoomIn 1188
|
||||
#define EventWindowZoomOut 1189
|
||||
#define EventWindowZoomReset 1190
|
||||
|
||||
#define MAX_EVENTS 1189
|
||||
#define MAX_EVENTS 1191
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -6,16 +6,16 @@
|
|||
extern void processApplicationEvent(unsigned int, void* data);
|
||||
extern void processWindowEvent(unsigned int, unsigned int);
|
||||
|
||||
#define EventApplicationStartup 1049
|
||||
#define EventSystemThemeChanged 1050
|
||||
#define EventWindowDeleteEvent 1051
|
||||
#define EventWindowDidMove 1052
|
||||
#define EventWindowDidResize 1053
|
||||
#define EventWindowFocusIn 1054
|
||||
#define EventWindowFocusOut 1055
|
||||
#define EventWindowLoadChanged 1056
|
||||
#define EventApplicationStartup 1051
|
||||
#define EventSystemThemeChanged 1052
|
||||
#define EventWindowDeleteEvent 1053
|
||||
#define EventWindowDidMove 1054
|
||||
#define EventWindowDidResize 1055
|
||||
#define EventWindowFocusIn 1056
|
||||
#define EventWindowFocusOut 1057
|
||||
#define EventWindowLoadChanged 1058
|
||||
|
||||
#define MAX_EVENTS 1057
|
||||
#define MAX_EVENTS 1059
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -33,7 +33,13 @@ func init() {
|
|||
)
|
||||
}
|
||||
|
||||
func _iDropTargetDragEnter(this uintptr, dataObject *IDataObject, grfKeyState DWORD, point POINT, pdfEffect *DWORD) uintptr {
|
||||
func _iDropTargetDragEnter(
|
||||
this uintptr,
|
||||
dataObject *IDataObject,
|
||||
grfKeyState DWORD,
|
||||
point POINT,
|
||||
pdfEffect *DWORD,
|
||||
) uintptr {
|
||||
return combridge.Resolve[iDropTarget](this).DragEnter(dataObject, grfKeyState, point, pdfEffect)
|
||||
}
|
||||
|
||||
|
|
@ -67,7 +73,7 @@ type DropTarget struct {
|
|||
OnEnter func()
|
||||
OnLeave func()
|
||||
OnOver func()
|
||||
OnDrop func(filenames []string)
|
||||
OnDrop func(filenames []string, x int, y int)
|
||||
}
|
||||
|
||||
func NewDropTarget() *DropTarget {
|
||||
|
|
@ -128,7 +134,7 @@ func (d *DropTarget) Drop(dataObject *IDataObject, grfKeyState DWORD, point POIN
|
|||
filenames = append(filenames, filename)
|
||||
}
|
||||
|
||||
d.OnDrop(filenames)
|
||||
d.OnDrop(filenames, int(point.X), int(point.Y))
|
||||
|
||||
return uintptr(windows.S_OK)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ func main() {
|
|||
linuxEventsDecl.WriteString("\t" + eventTitle + " " + eventType + "\n")
|
||||
linuxEventsValues.WriteString("\t\t" + event + ": " + strconv.Itoa(id) + ",\n")
|
||||
linuxTSEvents.WriteString("\t\t" + event + ": \"linux:" + event + "\",\n")
|
||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"" + event + "\",\n")
|
||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"linux:" + event + "\",\n")
|
||||
maxLinuxEvents = id
|
||||
linuxCHeaderEvents.WriteString("#define Event" + eventTitle + " " + strconv.Itoa(id) + "\n")
|
||||
case "mac":
|
||||
|
|
@ -203,7 +203,7 @@ func main() {
|
|||
macEventsValues.WriteString("\t\t" + event + ": " + strconv.Itoa(id) + ",\n")
|
||||
macTSEvents.WriteString("\t\t" + event + ": \"mac:" + event + "\",\n")
|
||||
macCHeaderEvents.WriteString("#define Event" + eventTitle + " " + strconv.Itoa(id) + "\n")
|
||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"" + event + "\",\n")
|
||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"mac:" + event + "\",\n")
|
||||
maxMacEvents = id
|
||||
if ignoreEvent {
|
||||
continue
|
||||
|
|
@ -250,7 +250,7 @@ func main() {
|
|||
commonEventsDecl.WriteString("\t" + eventTitle + " " + eventType + "\n")
|
||||
commonEventsValues.WriteString("\t\t" + event + ": " + strconv.Itoa(id) + ",\n")
|
||||
commonTSEvents.WriteString("\t\t" + event + ": \"common:" + event + "\",\n")
|
||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"" + event + "\",\n")
|
||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"common:" + event + "\",\n")
|
||||
case "windows":
|
||||
eventType := "ApplicationEventType"
|
||||
if strings.HasPrefix(event, "Window") {
|
||||
|
|
@ -262,7 +262,7 @@ func main() {
|
|||
windowsEventsDecl.WriteString("\t" + eventTitle + " " + eventType + "\n")
|
||||
windowsEventsValues.WriteString("\t\t" + event + ": " + strconv.Itoa(id) + ",\n")
|
||||
windowsTSEvents.WriteString("\t\t" + event + ": \"windows:" + event + "\",\n")
|
||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"" + event + "\",\n")
|
||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"windows:" + event + "\",\n")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue