Files
GitHub Actions c1a0fe2949 Switch remote deploy to vendored source builds
Move remote deployment to a vendored source bundle built on the target host via Docker so redeploys no longer require local cross-compilation or host Go installation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 12:19:18 +08:00

38 lines
1.0 KiB
Go

package runtime
import (
"context"
"fmt"
)
// OnFileDrop returns a slice of file path strings when a drop is finished.
func OnFileDrop(ctx context.Context, callback func(x, y int, paths []string)) {
if callback == nil {
LogError(ctx, "OnFileDrop called with a nil callback")
return
}
EventsOn(ctx, "wails:file-drop", func(optionalData ...interface{}) {
if len(optionalData) != 3 {
callback(0, 0, nil)
}
x, ok := optionalData[0].(int)
if !ok {
LogError(ctx, fmt.Sprintf("invalid x coordinate in drag and drop: %v", optionalData[0]))
}
y, ok := optionalData[1].(int)
if !ok {
LogError(ctx, fmt.Sprintf("invalid y coordinate in drag and drop: %v", optionalData[1]))
}
paths, ok := optionalData[2].([]string)
if !ok {
LogError(ctx, fmt.Sprintf("invalid path data in drag and drop: %v", optionalData[2]))
}
callback(x, y, paths)
})
}
// OnFileDropOff removes the drag and drop listeners and handlers.
func OnFileDropOff(ctx context.Context) {
EventsOff(ctx, "wails:file-drop")
}