node build fixed
This commit is contained in:
71
seanime-2.9.10/internal/plugin/ui/toast.go
Normal file
71
seanime-2.9.10/internal/plugin/ui/toast.go
Normal file
@@ -0,0 +1,71 @@
|
||||
package plugin_ui
|
||||
|
||||
import (
|
||||
"seanime/internal/events"
|
||||
|
||||
"github.com/dop251/goja"
|
||||
)
|
||||
|
||||
type ToastManager struct {
|
||||
ctx *Context
|
||||
}
|
||||
|
||||
func NewToastManager(ctx *Context) *ToastManager {
|
||||
return &ToastManager{
|
||||
ctx: ctx,
|
||||
}
|
||||
}
|
||||
|
||||
func (t *ToastManager) bind(contextObj *goja.Object) {
|
||||
toastObj := t.ctx.vm.NewObject()
|
||||
_ = toastObj.Set("success", t.jsToastSuccess)
|
||||
_ = toastObj.Set("error", t.jsToastError)
|
||||
_ = toastObj.Set("info", t.jsToastInfo)
|
||||
_ = toastObj.Set("warning", t.jsToastWarning)
|
||||
|
||||
_ = contextObj.Set("toast", toastObj)
|
||||
}
|
||||
|
||||
func (t *ToastManager) jsToastSuccess(call goja.FunctionCall) goja.Value {
|
||||
message, ok := call.Argument(0).Export().(string)
|
||||
if !ok {
|
||||
t.ctx.handleTypeError("toast: success requires a string message")
|
||||
return goja.Undefined()
|
||||
}
|
||||
|
||||
t.ctx.wsEventManager.SendEvent(events.SuccessToast, message)
|
||||
return goja.Undefined()
|
||||
}
|
||||
|
||||
func (t *ToastManager) jsToastError(call goja.FunctionCall) goja.Value {
|
||||
message, ok := call.Argument(0).Export().(string)
|
||||
if !ok {
|
||||
t.ctx.handleTypeError("toast: error requires a string message")
|
||||
return goja.Undefined()
|
||||
}
|
||||
|
||||
t.ctx.wsEventManager.SendEvent(events.ErrorToast, message)
|
||||
return goja.Undefined()
|
||||
}
|
||||
|
||||
func (t *ToastManager) jsToastInfo(call goja.FunctionCall) goja.Value {
|
||||
message, ok := call.Argument(0).Export().(string)
|
||||
if !ok {
|
||||
t.ctx.handleTypeError("toast: info requires a string message")
|
||||
return goja.Undefined()
|
||||
}
|
||||
|
||||
t.ctx.wsEventManager.SendEvent(events.InfoToast, message)
|
||||
return goja.Undefined()
|
||||
}
|
||||
|
||||
func (t *ToastManager) jsToastWarning(call goja.FunctionCall) goja.Value {
|
||||
message, ok := call.Argument(0).Export().(string)
|
||||
if !ok {
|
||||
t.ctx.handleTypeError("toast: warning requires a string message")
|
||||
return goja.Undefined()
|
||||
}
|
||||
|
||||
t.ctx.wsEventManager.SendEvent(events.WarningToast, message)
|
||||
return goja.Undefined()
|
||||
}
|
||||
Reference in New Issue
Block a user