wails/v3/pkg/application/messageprocessor_contextmenu.go
Andrey Pshenkin 561473d992
[V3] Refactor binding transport layer (#4702)
* custom transport initial

* transport codecs

* runtime set transport

* events transport

* clauded example

* bundled runtime

* wip: transport

* rework transports

* rework dialog responses

* cleanup

* cleanup

* improve error handling in HTTPTransport

* cleanup

* cleanup

* cleanup

* cleanup

* review changes

* review changes

* review changes

* review changes

* review changes

* review changes

* review changes

* move documentation to website docs

* update doc

* update changelog

* introduce JSClient method for transport for embedding JS part in transport

---------

Co-authored-by: Atterpac <Capretta.Michael@gmail.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2025-12-07 22:19:12 +11:00

46 lines
922 B
Go

package application
import (
"github.com/wailsapp/wails/v3/pkg/errs"
)
type ContextMenuData struct {
Id string `json:"id"`
X int `json:"x"`
Y int `json:"y"`
Data string `json:"data"`
}
func (d ContextMenuData) clone() *ContextMenuData {
return &ContextMenuData{
Id: d.Id,
X: d.X,
Y: d.Y,
Data: d.Data,
}
}
const (
ContextMenuOpen = 0
)
var contextmenuMethodNames = map[int]string{
ContextMenuOpen: "Open",
}
func (m *MessageProcessor) processContextMenuMethod(req *RuntimeRequest, window Window) (any, error) {
switch req.Method {
case ContextMenuOpen:
var data ContextMenuData
err := req.Args.ToStruct(&data)
if err != nil {
return nil, errs.WrapInvalidContextMenuCallErrorf(err, "error parsing parameters")
}
window.OpenContextMenu(&data)
return unit, err
default:
return nil, errs.NewInvalidContextMenuCallErrorf("unknown method: %d", req.Method)
}
}