This repository has been archived on 2025-03-16. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
boilerplate/internal/dialogs/dialogs.go
2025-01-07 22:57:39 +07:00

45 lines
1.1 KiB
Go

package dialogs
import (
"github.com/wailsapp/wails/v3/pkg/application"
)
var currentWindow *application.WebviewWindow
func Init(window *application.WebviewWindow) {
if window == nil {
panic("currentWindow is nil")
}
currentWindow = window
}
func checkInit() {
if currentWindow == nil {
panic("Initialize dialogs package before use")
}
}
func InfoDialog(title string, message string) {
checkInit()
application.InfoDialog().AttachToWindow(currentWindow).SetTitle(title).SetMessage(message).Show()
}
func WarningDialog(title string, message string) {
checkInit()
application.WarningDialog().AttachToWindow(currentWindow).SetTitle(title).SetMessage(message).Show()
}
func ErrorDialog(title string, message string) {
checkInit()
application.ErrorDialog().AttachToWindow(currentWindow).SetTitle(title).SetMessage(message).Show()
}
func SaveFileDialog(title string, filename string) (string, error) {
checkInit()
selection, err := application.SaveFileDialog().AttachToWindow(currentWindow).SetFilename(filename).PromptForSingleSelection()
if err != nil {
return "", err
}
return selection, nil
}