5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-04 07:29:56 +08:00
wails/v3/pkg/application/messageprocessor_events.go
Lea Anthony db61f9f263
Event cancellation for standard listeners.
Major doc updates.
Runtime build tidy up.
Removed redundant default event mappings.
2025-01-27 09:29:22 +11:00

41 lines
892 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 CustomEvent
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.customEventProcessor.Emit(&event)
m.ok(rw)
default:
m.httpError(rw, "Unknown event method: %d", method)
return
}
m.Info("Runtime Call:", "method", "Events."+eventsMethodNames[method], "name", event.Name, "sender", event.Sender, "data", event.Data, "cancelled", event.IsCancelled())
}