5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-05 20:31:19 +08:00
wails/v3/pkg/application/messageprocessor_events.go
Lea Anthony 3d88bf8795
Fix context menu issues.
Fix WindowID for requests on windows.
Add `Windows.ApplicationStarted` event
2023-10-10 21:48:47 +11:00

41 lines
868 B
Go

package application
import (
"net/http"
)
const (
EventsEmit = 0
)
var eventsMethodNames = map[int]string{
EventsEmit: "Emit",
}
func (m *MessageProcessor) processEventsMethod(method int, rw http.ResponseWriter, _ *http.Request, window Window, params QueryParams) {
var event WailsEvent
switch method {
case EventsEmit:
err := params.ToStruct(&event)
if err != nil {
m.httpError(rw, "Error parsing event: %s", err.Error())
return
}
if event.Name == "" {
m.httpError(rw, "Event name must be specified")
return
}
event.Sender = window.Name()
globalApplication.Events.Emit(&event)
m.ok(rw)
default:
m.httpError(rw, "Unknown event method: %d", method)
return
}
m.Info("Runtime:", "method", "Events."+eventsMethodNames[method], "name", event.Name, "sender", event.Sender, "data", event.Data, "cancelled", event.Cancelled)
}